提交 48671acf authored 作者: 刘海泉's avatar 刘海泉

Merge remote-tracking branch 'origin/v26.2-jdk17springboot3-20240912' into test_jdk17

# Conflicts: # performance-web/src/main/java/com/clx/performance/controller/temp/TempFeignController.java Former-commit-id: f3f188ac
...@@ -133,6 +133,10 @@ public class CarrierOrderChildDetailVO { ...@@ -133,6 +133,10 @@ public class CarrierOrderChildDetailVO {
@Schema(description = "目的地详细地址") @Schema(description = "目的地详细地址")
private String receiveDetailAddress; private String receiveDetailAddress;
@Schema(description = "贸易商名称")
private String cooperativeCompaniesName;
@Schema(description = "订单来源") @Schema(description = "订单来源")
private Integer orderSource; private Integer orderSource;
private String orderSourceMsg; private String orderSourceMsg;
......
...@@ -241,4 +241,8 @@ public class OrderGoodsVO { ...@@ -241,4 +241,8 @@ public class OrderGoodsVO {
@Schema(description="已拉运车数") @Schema(description="已拉运车数")
private Integer alreadyTransportTruckAmount; private Integer alreadyTransportTruckAmount;
@Schema(description= "贸易商名称")
private String cooperativeCompaniesName;
} }
\ No newline at end of file
...@@ -95,6 +95,9 @@ public class PerformanceProgressVO{ ...@@ -95,6 +95,9 @@ public class PerformanceProgressVO{
@Schema(description="挂单吨数") @Schema(description="挂单吨数")
private BigDecimal pendingWeight; private BigDecimal pendingWeight;
@Schema(description = "挂单车数")
private Integer pendingTruck;
@Schema(description="接单车数") @Schema(description="接单车数")
private Integer orderedTruckNum; private Integer orderedTruckNum;
......
...@@ -4,6 +4,7 @@ import com.clx.open.sdk.callback.message.OrderChildSyncMessage; ...@@ -4,6 +4,7 @@ import com.clx.open.sdk.callback.message.OrderChildSyncMessage;
import com.clx.performance.dto.OrderChildExpectDTO; import com.clx.performance.dto.OrderChildExpectDTO;
import com.clx.performance.extranal.transport.TransportService; import com.clx.performance.extranal.transport.TransportService;
import com.clx.performance.feign.TransportFeignService; import com.clx.performance.feign.TransportFeignService;
import com.clx.performance.job.TruckTraceJob;
import com.clx.performance.listener.OrderChildDtsListener; import com.clx.performance.listener.OrderChildDtsListener;
import com.clx.performance.service.OrderChildService; import com.clx.performance.service.OrderChildService;
import com.clx.performance.service.TempService; import com.clx.performance.service.TempService;
...@@ -164,4 +165,17 @@ public class TempController { ...@@ -164,4 +165,17 @@ public class TempController {
// return Result.ok(); // return Result.ok();
// } // }
@Autowired
private TruckTraceJob truckTraceJob;
@ApiOperation(value = "测试生产真实调用中交兴路", notes = "<br>By:刘海泉")
@RequestMapping(value = "/testRealTrace", method = RequestMethod.GET)
public Result<Void> testRealTrace() {
truckTraceJob.testRealTrace();
return Result.ok();
}
} }
...@@ -23,6 +23,7 @@ public class TempFeignController { ...@@ -23,6 +23,7 @@ public class TempFeignController {
private OrderFeign orderFeign; private OrderFeign orderFeign;
@Operation(summary = "测试feign", description = "<br>By:刘海泉") @Operation(summary = "测试feign", description = "<br>By:刘海泉")
@GetMapping("/replaceFeignHttp") @GetMapping("/replaceFeignHttp")
public Result<Object> replaceFeignHttp() { public Result<Object> replaceFeignHttp() {
......
...@@ -221,4 +221,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int ...@@ -221,4 +221,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
List<OrderChild> findListByChildNoList(List<String> childNoList); List<OrderChild> findListByChildNoList(List<String> childNoList);
Long countNotCancelOrderChild(List<String> cancelOrderGoodsNo);
} }
...@@ -109,6 +109,8 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int ...@@ -109,6 +109,8 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
List<OrderGoods> listAfterCreatedByOrderNo(String orderNo); List<OrderGoods> listAfterCreatedByOrderNo(String orderNo);
List<OrderGoods> listAllByOrderNo(String orderNo);
void batchUpdateOrderGoodsPaying(List<OrderGoods> updateOrderGoods); void batchUpdateOrderGoodsPaying(List<OrderGoods> updateOrderGoods);
void batchCancelOrderGoodsWeight(List<OrderGoodsCancelWeightDTO> cancelOrderGoodsList); void batchCancelOrderGoodsWeight(List<OrderGoodsCancelWeightDTO> cancelOrderGoodsList);
......
...@@ -727,4 +727,12 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -727,4 +727,12 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
public int countLoadByOrderGoodsNo(String orderGoodsNo) { public int countLoadByOrderGoodsNo(String orderGoodsNo) {
return baseMapper.countLoadByOrderGoodsNo(orderGoodsNo); return baseMapper.countLoadByOrderGoodsNo(orderGoodsNo);
} }
@Override
public Long countNotCancelOrderChild(List<String> cancelOrderGoodsNo) {
LambdaQueryWrapper<OrderChild> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(OrderChild :: getOrderGoodsNo,cancelOrderGoodsNo);
queryWrapper.le(OrderChild :: getStatus,OrderChildEnum.Status.COMPLETE.getCode());
return baseMapper.selectCount(queryWrapper);
}
} }
...@@ -296,6 +296,15 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods, ...@@ -296,6 +296,15 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
); );
} }
@Override
public List<OrderGoods> listAllByOrderNo(String orderNo) {
return baseMapper.selectList(lQrWrapper().eq(OrderGoods::getOrderNo, orderNo)
.ne(OrderGoods::getOrderGoodsStatus,OrderGoodsStatusEnum.Status.CREATED.getCode())
.orderByDesc(OrderGoods :: getPendingOrderTime)
);
}
@Override @Override
public void batchUpdateOrderGoodsPaying(List<OrderGoods> updateOrderGoods) { public void batchUpdateOrderGoodsPaying(List<OrderGoods> updateOrderGoods) {
baseMapper.batchUpdateOrderGoodsPaying(updateOrderGoods); baseMapper.batchUpdateOrderGoodsPaying(updateOrderGoods);
......
...@@ -103,4 +103,26 @@ public class TruckTraceJob { ...@@ -103,4 +103,26 @@ public class TruckTraceJob {
} }
} }
public void testRealTrace(){
List<String> truckNos = new ArrayList<>();
for(int i = 0 ; i <= 812; i ++ ){
truckNos.add("陕KM8887");
}
LocalDateTime now = LocalDateTime.now();
LocalDateTime beginTime = now.minusMinutes(5);
for(String truckNo : truckNos){
List<TruckTraceDTO> truckTrace = zjxlGpsService.getTruckTrace(truckNo,
LocalDateTimeUtils.formatTime(beginTime), LocalDateTimeUtils.formatTime(now));
if(CollectionUtils.isNotEmpty(truckTrace)){
TruckTraceDTO truckTraceDTO = truckTrace.get(truckTrace.size()-1);
truckTraceDTO.setTruckNo(truckNo);
log.info("车牌号:{},查询到的数据结果:{}",truckNo,JSON.toJSONString(truckTraceDTO));
}else{
log.info("车牌号:{},未查询到轨迹信息",truckNo);
}
}
}
} }
...@@ -67,25 +67,24 @@ public class OrderGoodsDtsListener { ...@@ -67,25 +67,24 @@ public class OrderGoodsDtsListener {
public void syncPerformanceProgress(OrderGoods before,OrderGoods after, Integer updateType) { public void syncPerformanceProgress(OrderGoods before,OrderGoods after, Integer updateType) {
boolean isSend = false; boolean isSend = false;
if(after.getOrderGoodsStatus() >= OrderGoodsStatusEnum.Status.PAYING.getCode()){ if(Objects.equals(updateType,DtsOperationTypeEnum.INSERT.getCode())){
if(Objects.equals(updateType,DtsOperationTypeEnum.INSERT.getCode())){ isSend = true;
isSend = true; }
} if(Objects.equals(updateType,DtsOperationTypeEnum.UPDATE.getCode())
if(Objects.equals(updateType,DtsOperationTypeEnum.UPDATE.getCode()) && (!Objects.equals(before.getOrderGoodsStatus(),after.getOrderGoodsStatus())
&& (!Objects.equals(before.getOrderGoodsStatus(),after.getOrderGoodsStatus())
|| !Objects.equals(before.getSeniorLogisticsManagerId(),after.getSeniorLogisticsManagerId()) || !Objects.equals(before.getSeniorLogisticsManagerId(),after.getSeniorLogisticsManagerId())
|| !Objects.equals(before.getExtractWeight(),after.getExtractWeight()) || !Objects.equals(before.getExtractWeight(),after.getExtractWeight())
|| !Objects.equals(before.getPendingOrderFreight(),after.getPendingOrderFreight()) || !Objects.equals(before.getPendingOrderFreight(),after.getPendingOrderFreight())
)){ || !Objects.equals(before.getNeedTruckNum(),after.getNeedTruckNum())
isSend = true; )){
} isSend = true;
if(isSend){ }
log.info("开始发送同步履约进度表消息,订单号:{},货单号:{}", after.getOrderNo(),after.getOrderGoodsNo()); if(isSend){
Message body = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(after)).getBytes()).build(); log.info("开始发送同步履约进度表消息,订单号:{},货单号:{}", after.getOrderNo(),after.getOrderGoodsNo());
rabbitTemplate.send(SYNC_PERFORMANCE_PROGRESS_FOR_ORDER_GOODS_EXCHANGE, Message body = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(after)).getBytes()).build();
SYNC_PERFORMANCE_PROGRESS_FOR_ORDER_GOODS_ROUTING_KEY, body); rabbitTemplate.send(SYNC_PERFORMANCE_PROGRESS_FOR_ORDER_GOODS_EXCHANGE,
log.info("结束发送同步履约进度表消息,订单号:{},货单号:{}", after.getOrderNo(),after.getOrderGoodsNo()); SYNC_PERFORMANCE_PROGRESS_FOR_ORDER_GOODS_ROUTING_KEY, body);
} log.info("结束发送同步履约进度表消息,订单号:{},货单号:{}", after.getOrderNo(),after.getOrderGoodsNo());
} }
} }
......
...@@ -97,6 +97,12 @@ public class PerformanceProgress implements HasKey<Integer> { ...@@ -97,6 +97,12 @@ public class PerformanceProgress implements HasKey<Integer> {
@Schema(description="挂单吨数") @Schema(description="挂单吨数")
private BigDecimal pendingWeight; private BigDecimal pendingWeight;
@TableField("pending_truck")
@Schema(description="挂单车数")
private Integer pendingTruck;
@TableField("ordered_truck_num") @TableField("ordered_truck_num")
@Schema(description="接单车数") @Schema(description="接单车数")
private Integer orderedTruckNum; private Integer orderedTruckNum;
......
...@@ -2599,29 +2599,31 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -2599,29 +2599,31 @@ public class OrderChildServiceImpl implements OrderChildService {
// 组装表头 // 组装表头
List<ExcelField> fieldList = new ArrayList<>(); List<ExcelField> fieldList = new ArrayList<>();
fieldList.add(new ExcelField(0, "序号", "index", 2000)); fieldList.add(new ExcelField(0, "序号", "index", 2000));
fieldList.add(new ExcelField(1, "运单编号", "childNo", 5000)); fieldList.add(new ExcelField(1, "发货地址", "sendAddress", 10000));
fieldList.add(new ExcelField(2, "车牌号", "truckNo", 5000)); fieldList.add(new ExcelField(2, "收货地址", "receiveAddress", 10000));
fieldList.add(new ExcelField(3, "运单状态", "status", 5000));
fieldList.add(new ExcelField(4, "货单编号", "goodsOrderNo", 5000)); fieldList.add(new ExcelField(3, "运单编号", "childNo", 5000));
fieldList.add(new ExcelField(4, "车牌号", "truckNo", 5000));
fieldList.add(new ExcelField(5, "货物名称", "goodsName", 5000)); fieldList.add(new ExcelField(5, "运单状态", "status", 5000));
fieldList.add(new ExcelField(6, "司机姓名", "driverName", 5000)); fieldList.add(new ExcelField(6, "货单编号", "goodsOrderNo", 5000));
fieldList.add(new ExcelField(7, "手机号", "phone", 5000));
fieldList.add(new ExcelField(8, "运费单价", "frightPrice", 5000)); fieldList.add(new ExcelField(7, "货物名称", "goodsName", 5000));
fieldList.add(new ExcelField(8, "司机姓名", "driverName", 5000));
fieldList.add(new ExcelField(9, "装车毛重", "loadRough", 5000)); fieldList.add(new ExcelField(9, "手机号", "phone", 5000));
fieldList.add(new ExcelField(10, "装车皮重", "loadTare", 5000)); fieldList.add(new ExcelField(10, "运费单价", "frightPrice", 5000));
fieldList.add(new ExcelField(11, "装车净重", "loadNet", 5000));
fieldList.add(new ExcelField(12, "卸车毛重", "loadRough", 5000)); fieldList.add(new ExcelField(11, "装车毛重", "loadRough", 5000));
fieldList.add(new ExcelField(13, "卸车皮重", "loadTare", 5000)); fieldList.add(new ExcelField(12, "装车皮重", "loadTare", 5000));
fieldList.add(new ExcelField(14, "卸车净重", "unloadNet", 5000)); fieldList.add(new ExcelField(13, "装车净重", "loadNet", 5000));
fieldList.add(new ExcelField(14, "卸车毛重", "loadRough", 5000));
fieldList.add(new ExcelField(15, "卸车皮重", "loadTare", 5000));
fieldList.add(new ExcelField(15, "接单时间", "payTime", 5000)); fieldList.add(new ExcelField(16, "卸车净重", "unloadNet", 5000));
fieldList.add(new ExcelField(16, "完成时间", "finishTime", 5000));
fieldList.add(new ExcelField(17, "磅单审核通过时间", "poundAuditTime", 5000));
fieldList.add(new ExcelField(18, "发货地址", "sendAddress", 10000)); fieldList.add(new ExcelField(17, "接单时间", "payTime", 5000));
fieldList.add(new ExcelField(19, "收货地址", "receiveAddress", 10000)); fieldList.add(new ExcelField(18, "完成时间", "finishTime", 5000));
fieldList.add(new ExcelField(19, "磅单审核通过时间", "poundAuditTime", 5000));
fieldList.add(new ExcelField(20, "订单编号", "orderNo", 10000)); fieldList.add(new ExcelField(20, "订单编号", "orderNo", 10000));
fieldList.add(new ExcelField(21, "订单来源", "orderSourceMsg", 10000)); fieldList.add(new ExcelField(21, "订单来源", "orderSourceMsg", 10000));
...@@ -2634,6 +2636,8 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -2634,6 +2636,8 @@ public class OrderChildServiceImpl implements OrderChildService {
List<ExcelData> rowData = new ArrayList<>(); List<ExcelData> rowData = new ArrayList<>();
rowData.add(new ExcelData(i+1)); rowData.add(new ExcelData(i+1));
rowData.add(new ExcelData(dto.getSendAddress()));
rowData.add(new ExcelData(dto.getReceiveAddress()));
rowData.add(new ExcelData(dto.getChildNo())); rowData.add(new ExcelData(dto.getChildNo()));
rowData.add(new ExcelData(dto.getTruckNo())); rowData.add(new ExcelData(dto.getTruckNo()));
if(Objects.isNull(dto.getStatus())){ if(Objects.isNull(dto.getStatus())){
...@@ -2658,8 +2662,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -2658,8 +2662,7 @@ public class OrderChildServiceImpl implements OrderChildService {
rowData.add(new ExcelData(dto.getPayTime())); rowData.add(new ExcelData(dto.getPayTime()));
rowData.add(new ExcelData(dto.getFinishTime())); rowData.add(new ExcelData(dto.getFinishTime()));
rowData.add(new ExcelData(dto.getPoundAuditTime())); rowData.add(new ExcelData(dto.getPoundAuditTime()));
rowData.add(new ExcelData(dto.getSendAddress()));
rowData.add(new ExcelData(dto.getReceiveAddress()));
rowData.add(new ExcelData(dto.getOrderNo())); rowData.add(new ExcelData(dto.getOrderNo()));
rowData.add(new ExcelData(dto.getOrderSourceMsg(), "-")); rowData.add(new ExcelData(dto.getOrderSourceMsg(), "-"));
...@@ -2744,6 +2747,8 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -2744,6 +2747,8 @@ public class OrderChildServiceImpl implements OrderChildService {
carrierOrderChildDetailVO.setSendDetailAddress(sendAddress.getAddress()); carrierOrderChildDetailVO.setSendDetailAddress(sendAddress.getAddress());
carrierOrderChildDetailVO.setReceiveDetailAddress(receiveAddress.getAddress()); carrierOrderChildDetailVO.setReceiveDetailAddress(receiveAddress.getAddress());
Result<FeignOrderInfoVO> result = orderFeign.getOrderInfo(orderChild.getOrderNo());
carrierOrderChildDetailVO.setCooperativeCompaniesName(result.getData().getCooperativeCompaniesName());
return carrierOrderChildDetailVO; return carrierOrderChildDetailVO;
} }
......
...@@ -158,6 +158,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea ...@@ -158,6 +158,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
orderGoodsVO.setReveiveAddressAll(orderInfoFeign.getReveiveAddressAll()); orderGoodsVO.setReveiveAddressAll(orderInfoFeign.getReveiveAddressAll());
orderGoodsVO.setSendAddressAll(orderInfoFeign.getSendAddressAll()); orderGoodsVO.setSendAddressAll(orderInfoFeign.getSendAddressAll());
orderGoodsVO.setDispatchedOrders(truckList.size()); orderGoodsVO.setDispatchedOrders(truckList.size());
orderGoodsVO.setCooperativeCompaniesName(orderInfoFeign.getCooperativeCompaniesName());
return orderGoodsVO; return orderGoodsVO;
} }
......
...@@ -461,7 +461,7 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi ...@@ -461,7 +461,7 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
throw new ServiceSystemException(ResultEnum.DATA_NOT_FIND); throw new ServiceSystemException(ResultEnum.DATA_NOT_FIND);
} }
//根据挂单时间倒序排序 //根据挂单时间倒序排序
List<OrderGoods> orderGoods = orderGoodsDao.listAfterCreatedByOrderNo(data.getOrderNo()); List<OrderGoods> orderGoods = orderGoodsDao.listAllByOrderNo(data.getOrderNo());
if(CollectionUtils.isEmpty(orderGoods)){ if(CollectionUtils.isEmpty(orderGoods)){
return; return;
} }
...@@ -469,7 +469,13 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi ...@@ -469,7 +469,13 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
BigDecimal pendingOrderFreight = null; //最新的货单的司机运费,取消的也算 BigDecimal pendingOrderFreight = null; //最新的货单的司机运费,取消的也算
LocalDateTime firstPendingTime = null; //挂单时间,取消的也算 LocalDateTime firstPendingTime = null; //挂单时间,取消的也算
BigDecimal pendingWeight = BigDecimal.ZERO; BigDecimal pendingWeight = BigDecimal.ZERO;
Integer pendingTruck = calcPendingTruck(orderGoods);
for(OrderGoods item : orderGoods){ for(OrderGoods item : orderGoods){
//只有挂单车数统计所有货单的
if(Objects.equals(item.getOrderGoodsStatus(),OrderGoodsStatusEnum.Status.CREATED.getCode())){
continue;
}
seniorLogisticsManagerNameSet.add(item.getSeniorLogisticsManagerName()); seniorLogisticsManagerNameSet.add(item.getSeniorLogisticsManagerName());
if(Objects.isNull(pendingOrderFreight)){ if(Objects.isNull(pendingOrderFreight)){
pendingOrderFreight = item.getPendingOrderFreight(); pendingOrderFreight = item.getPendingOrderFreight();
...@@ -486,9 +492,30 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi ...@@ -486,9 +492,30 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
update.setDriverFreightPrice(pendingOrderFreight); update.setDriverFreightPrice(pendingOrderFreight);
update.setPendingTime(firstPendingTime); update.setPendingTime(firstPendingTime);
update.setPendingWeight(pendingWeight); update.setPendingWeight(pendingWeight);
update.setPendingTruck(pendingTruck);
performanceProgressDao.updateEntityByKey(update); performanceProgressDao.updateEntityByKey(update);
} }
//统计挂单车数
public Integer calcPendingTruck(List<OrderGoods> orderGoods){
int totalNeedTruck = 0;
List<String> cancelOrderGoodsNo = new ArrayList<>();
for (OrderGoods item : orderGoods) {
if(Objects.equals(item.getOrderGoodsStatus(),OrderGoodsStatusEnum.Status.CANCEL.getCode())){
cancelOrderGoodsNo.add(item.getOrderGoodsNo());
}else{
totalNeedTruck = totalNeedTruck + item.getNeedTruckNum();
}
}
if(CollectionUtils.isNotEmpty(cancelOrderGoodsNo)){
Long count = orderChildDao.countNotCancelOrderChild(cancelOrderGoodsNo);
totalNeedTruck = totalNeedTruck + count.intValue();
}
return totalNeedTruck;
}
//计算履约进度表货单的挂单吨数 //计算履约进度表货单的挂单吨数
@Override @Override
public BigDecimal calcPendingWeight(OrderGoods item){ public BigDecimal calcPendingWeight(OrderGoods item){
...@@ -627,6 +654,8 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi ...@@ -627,6 +654,8 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
rowData.add(new ExcelData(vo.getTaskWeight())); rowData.add(new ExcelData(vo.getTaskWeight()));
} else if (item.getCode().equals("pendingWeight")) { } else if (item.getCode().equals("pendingWeight")) {
rowData.add(new ExcelData(vo.getPendingWeight())); rowData.add(new ExcelData(vo.getPendingWeight()));
}else if (item.getCode().equals("pendingTruck")) {
rowData.add(new ExcelData(vo.getPendingTruck()));
} }
else if (item.getCode().equals("orderedTruckNum")) { else if (item.getCode().equals("orderedTruckNum")) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论