提交 fa5f0a49 authored 作者: liuhaiquan's avatar liuhaiquan

Merge remote-tracking branch 'origin/v6.9_bug_20231117' into release

...@@ -155,8 +155,9 @@ public enum OrderChildEnum { ...@@ -155,8 +155,9 @@ public enum OrderChildEnum {
// 完成 // 完成
public static final List<Integer> FINISH_lIST = Arrays.asList( public static final List<Integer> FINISH_lIST = Arrays.asList(
Status.UNSETTLE.getCode() Status.UNLOAD.getCode(),
Status.UNSETTLE.getCode(),
Status.COMPLETE.getCode()
); );
// 运单数据同步一部状态 // 运单数据同步一部状态
......
...@@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.RequestParam; ...@@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
@FeignClient(name = "msl-document") @FeignClient(name = "msl-document",configuration = PerformanceClientConfiguration.class)
public interface DocumentFeign { public interface DocumentFeign {
/** /**
......
...@@ -8,7 +8,7 @@ import org.springframework.validation.annotation.Validated; ...@@ -8,7 +8,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@FeignClient(name = "clx-performance") @FeignClient(name = "clx-performance",configuration = PerformanceClientConfiguration.class)
public interface IntegralTruckFeign { public interface IntegralTruckFeign {
@ApiOperation(value = "新增车辆") @ApiOperation(value = "新增车辆")
......
...@@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.RequestParam; ...@@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
@FeignClient(name = "clx-performance") @FeignClient(name = "clx-performance",configuration = PerformanceClientConfiguration.class)
public interface OrderChildFeign { public interface OrderChildFeign {
......
package com.clx.performance.feign;
import feign.Request;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class PerformanceClientConfiguration {
@Bean
public Request.Options requestOptions() {
return new Request.Options(5000, 5000);
}
}
\ No newline at end of file
...@@ -24,7 +24,7 @@ import javax.validation.constraints.NotNull; ...@@ -24,7 +24,7 @@ import javax.validation.constraints.NotNull;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@FeignClient(name = "clx-performance") @FeignClient(name = "clx-performance",configuration = PerformanceClientConfiguration.class)
public interface PerformanceFeign { public interface PerformanceFeign {
/** /**
......
...@@ -25,4 +25,6 @@ public class OrderChildReportParam { ...@@ -25,4 +25,6 @@ public class OrderChildReportParam {
@ApiModelProperty(value = "开始时间 必填") @ApiModelProperty(value = "开始时间 必填")
@NotNull(message = "开始时间") @NotNull(message = "开始时间")
private String beginTime; private String beginTime;
@ApiModelProperty(value = "订单编号")
private String orderNo;
} }
...@@ -155,4 +155,5 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int ...@@ -155,4 +155,5 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
OrderChild getOrderCompleteLastTruck(String orderNo); OrderChild getOrderCompleteLastTruck(String orderNo);
Long haveArriveReceiveChild(String orderNo); Long haveArriveReceiveChild(String orderNo);
} }
...@@ -91,7 +91,7 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int ...@@ -91,7 +91,7 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
BigDecimal sumAlreadyTransportWeightByOrderNo(String orderNo); BigDecimal sumAlreadyTransportWeightByOrderNo(String orderNo);
List<Double> getFreightPrice( Integer sendAddressId,Integer receiveAddressId); List<Double> getFreightPrice( Integer sendAddressId,Integer receiveAddressId,String orderNo);
} }
...@@ -463,7 +463,7 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -463,7 +463,7 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
query.last("limit 1"); query.last("limit 1");
OrderChild child = baseMapper.selectOne(query); OrderChild child = baseMapper.selectOne(query);
if(Objects.nonNull(child)){ if(Objects.nonNull(child)){
return child.getFreight(); return child.getFreightPrice();
} }
return BigDecimal.ZERO; return BigDecimal.ZERO;
} }
...@@ -486,4 +486,5 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -486,4 +486,5 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
query.lt(OrderChild :: getStatus,OrderChildEnum.Status.ARRIVE_RECEIVE.getCode()); query.lt(OrderChild :: getStatus,OrderChildEnum.Status.ARRIVE_RECEIVE.getCode());
return baseMapper.selectCount(query); return baseMapper.selectCount(query);
} }
} }
...@@ -251,7 +251,7 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods, ...@@ -251,7 +251,7 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
@Override @Override
public List<Double> getFreightPrice( Integer sendAddressId,Integer receiveAddressId) { public List<Double> getFreightPrice( Integer sendAddressId,Integer receiveAddressId,String orderNo) {
return baseMapper.getFreightPrice(sendAddressId,receiveAddressId); return baseMapper.getFreightPrice(orderNo,sendAddressId,receiveAddressId);
} }
} }
...@@ -104,10 +104,11 @@ public class OrderChildDtsListener { ...@@ -104,10 +104,11 @@ public class OrderChildDtsListener {
public void syncLastTruck(FeignOrderVO orderInfoFeign,OrderChildMessage after){ public void syncLastTruck(FeignOrderVO orderInfoFeign,OrderChildMessage after){
//当运单状态为到达目的地之后的状态时候,需要判断最后一车的逻辑 //当运单状态为到达目的地之后的状态时候,需要判断最后一车的逻辑
if(after.getStatus() >= OrderChildEnum.Status.ARRIVE_RECEIVE.getCode() && after.getStatus() <= OrderChildEnum.Status.COMPLETE.getCode()){ if(Objects.equals(com.clx.open.sdk.enums.OrderChildEnum.Status.COMMON_CANCEL.getCode(),after.getStatus()) ||
(after.getStatus() >= OrderChildEnum.Status.ARRIVE_RECEIVE.getCode() && after.getStatus() <= OrderChildEnum.Status.COMPLETE.getCode())){
OrderChild child; OrderChild child;
if(Objects.equals(orderInfoFeign.getOrderStatus(), OrderEnum.Status.COMPLETED.getCode()) || if(Objects.equals(orderInfoFeign.getOrderStatus(), OrderEnum.Status.COMPLETED.getCode()) ||
Objects.equals(orderInfoFeign.getOrderStatus(), OrderEnum.Status.SUCCESS.getCode())) { //订单变成已完成 || 已完结 (不存在司机可以取消的运单) Objects.equals(orderInfoFeign.getOrderStatus(), OrderEnum.Status.SUCCESS.getCode())) { //订单变成已完成 || 已完结
OrderEnum.Status byCode = OrderEnum.Status.getByCode(orderInfoFeign.getOrderStatus()); OrderEnum.Status byCode = OrderEnum.Status.getByCode(orderInfoFeign.getOrderStatus());
log.info("订单号:{},运单号:{},订单状态:{},开始查询最后一车运单===========" ,orderInfoFeign.getOrderNo(),after.getChildNo(), log.info("订单号:{},运单号:{},订单状态:{},开始查询最后一车运单===========" ,orderInfoFeign.getOrderNo(),after.getChildNo(),
Objects.nonNull(byCode)?byCode.getName():"未知状态"); Objects.nonNull(byCode)?byCode.getName():"未知状态");
......
...@@ -87,8 +87,9 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> { ...@@ -87,8 +87,9 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
@Select("select pending_order_freight from order_goods where " + @Select("select pending_order_freight from order_goods where " +
" send_address_id = #{sendAddressId} and" + " send_address_id = #{sendAddressId} and" +
" receive_address_id = #{receiveAddressId} order by id desc limit 10 ") " receive_address_id = #{receiveAddressId} and order_no != #{orderNo} order by id desc limit 10 ")
List<Double> getFreightPrice(@Param("sendAddressId") Integer sendAddressId, List<Double> getFreightPrice(@Param("orderNo") String orderNo,
@Param("sendAddressId") Integer sendAddressId,
@Param("receiveAddressId") Integer receiveAddressId); @Param("receiveAddressId") Integer receiveAddressId);
} }
package com.clx.performance.service; package com.clx.performance.service;
import cn.hutool.json.JSON;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.param.app.*; import com.clx.performance.param.app.*;
...@@ -9,8 +11,10 @@ import com.clx.performance.param.pc.PageMonitorOrderChildQCParam; ...@@ -9,8 +11,10 @@ import com.clx.performance.param.pc.PageMonitorOrderChildQCParam;
import com.clx.performance.param.pc.PagePoundAuditParam; import com.clx.performance.param.pc.PagePoundAuditParam;
import com.clx.performance.vo.app.*; import com.clx.performance.vo.app.*;
import com.clx.performance.vo.pc.*; import com.clx.performance.vo.pc.*;
import com.clx.user.vo.pc.driver.truck.DriverTruckVo;
import java.util.List; import java.util.List;
import java.util.Objects;
/** /**
......
package com.clx.performance.service.impl; package com.clx.performance.service.impl;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.order.enums.OrderEnum; import com.clx.order.enums.OrderEnum;
import com.clx.order.enums.ResultEnum;
import com.clx.order.feign.OrderFeign; import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignAddressVO; import com.clx.order.vo.feign.FeignAddressVO;
import com.clx.order.vo.feign.FeignOrderInfoVO; import com.clx.order.vo.feign.FeignOrderInfoVO;
...@@ -38,11 +40,13 @@ import com.clx.performance.service.settle.SettlementOwnerDetailService; ...@@ -38,11 +40,13 @@ import com.clx.performance.service.settle.SettlementOwnerDetailService;
import com.clx.performance.struct.*; import com.clx.performance.struct.*;
import com.clx.performance.utils.gd.GdService; import com.clx.performance.utils.gd.GdService;
import com.clx.performance.utils.spring.ApplicationContextUtils; import com.clx.performance.utils.spring.ApplicationContextUtils;
import com.clx.performance.utils.zjxl.ZjxlGpsService;
import com.clx.performance.vo.app.*; import com.clx.performance.vo.app.*;
import com.clx.performance.vo.pc.*; import com.clx.performance.vo.pc.*;
import com.clx.user.enums.driver.DriverInfoEnum; import com.clx.user.enums.driver.DriverInfoEnum;
import com.clx.user.vo.feign.DriverTruckInfoFeignVo; import com.clx.user.vo.feign.DriverTruckInfoFeignVo;
import com.clx.user.vo.feign.OwnerInfoFeignVO; import com.clx.user.vo.feign.OwnerInfoFeignVO;
import com.clx.user.vo.pc.driver.truck.DriverTruckVo;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
import com.msl.common.enums.ResultCodeEnum; import com.msl.common.enums.ResultCodeEnum;
import com.msl.common.exception.ServiceSystemException; import com.msl.common.exception.ServiceSystemException;
...@@ -66,6 +70,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -66,6 +70,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.time.Duration;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
...@@ -154,6 +159,12 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -154,6 +159,12 @@ public class OrderChildServiceImpl implements OrderChildService {
@Autowired @Autowired
private FeignPaymentService feignPaymentService; private FeignPaymentService feignPaymentService;
@Autowired
private TruckService truckService;
@Autowired
private ZjxlGpsService zjxlGpsService;
@Override @Override
public SaveOrderChildVO saveOrderChild(OrderChildSaveParam param) { public SaveOrderChildVO saveOrderChild(OrderChildSaveParam param) {
......
...@@ -743,7 +743,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { ...@@ -743,7 +743,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
@Override @Override
public FreightEstimateVO listFreightEstimate(OrderChildReportParam param) { public FreightEstimateVO listFreightEstimate(OrderChildReportParam param) {
List<Double> lossNet = orderChildDao.getLossNet(param); List<Double> lossNet = orderChildDao.getLossNet(param);
List<Double> freightPrice = orderGoodsDao.getFreightPrice(param.getSendAddressId(), param.getReceiveAddressId()); List<Double> freightPrice = orderGoodsDao.getFreightPrice(param.getSendAddressId(), param.getReceiveAddressId(),param.getOrderNo());
FreightEstimateVO freightEstimateVO= new FreightEstimateVO(); FreightEstimateVO freightEstimateVO= new FreightEstimateVO();
freightEstimateVO.setLossNet(lossNet); freightEstimateVO.setLossNet(lossNet);
freightEstimateVO.setFreightPriceList(freightPrice); freightEstimateVO.setFreightPriceList(freightPrice);
......
...@@ -27,6 +27,7 @@ import com.msl.common.base.PageData; ...@@ -27,6 +27,7 @@ import com.msl.common.base.PageData;
import com.msl.common.enums.ResultCodeEnum; import com.msl.common.enums.ResultCodeEnum;
import com.msl.common.exception.ServiceSystemException; import com.msl.common.exception.ServiceSystemException;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import com.msl.common.utils.DateUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
...@@ -41,6 +42,8 @@ import org.springframework.stereotype.Service; ...@@ -41,6 +42,8 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.Duration;
import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -367,6 +370,20 @@ public class TruckServiceImpl implements TruckService { ...@@ -367,6 +370,20 @@ public class TruckServiceImpl implements TruckService {
@Override @Override
public List<TruckTraceVO> getTruckTrace(TruckTraceParam param) { public List<TruckTraceVO> getTruckTrace(TruckTraceParam param) {
LocalDateTime now = LocalDateTime.now();
LocalDateTime endTime = DateUtils.parseDateTime(param.getEndTime()).get();
if(endTime.isAfter(now)){
throw new ServiceSystemException(ResultEnum.PARAM_ERROR,"结束时间不能晚于当前时间");
}
LocalDateTime beginTime = DateUtils.parseDateTime(param.getBeginTime()).get();
if(beginTime.isAfter(endTime)){
throw new ServiceSystemException(ResultEnum.PARAM_ERROR,"开始时间不能早于结束时间");
}
long seconds = Duration.between(beginTime, endTime).getSeconds();
if(seconds > 129600){
throw new ServiceSystemException(ResultEnum.PARAM_ERROR,"开始时间和结束时间不能相差超于3天");
}
List<TruckTraceDTO> truckTrace = zjxlGpsService.getTruckTrace(param.getTruckNo(), param.getBeginTime(), List<TruckTraceDTO> truckTrace = zjxlGpsService.getTruckTrace(param.getTruckNo(), param.getBeginTime(),
param.getEndTime()); param.getEndTime());
List<TruckTraceVO> result = new ArrayList<>(); List<TruckTraceVO> result = new ArrayList<>();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论