Browse Source

1.干线bug修复

fix-sign
zhenghaoyu 4 months ago
parent
commit
46f0174d01
  1. 98
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java

98
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java

@ -1152,10 +1152,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
}
String loadStatus = carsLoadEntity.getLoadStatus();
if ("80".equals(loadStatus)) {
log.warn("#############unloadByLoadId: 配载计划已终点卸车确认 loadStatus={}", loadStatus);
throw new CustomerException(400, "配载计划已终点卸车确认");
}
// if (!"20".equals(loadStatus) && !"40".equals(loadStatus)) {
// log.warn("#############unloadByLoadId: 配载计划暂未到车 loadStatus={}", loadStatus);
@ -1206,6 +1203,13 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
} else if (unloadType == 2) {
node = WorkNodeEnums.END_WAREHOUSE_UNLOADING;
if ("80".equals(loadStatus)) {
log.warn("#############unloadByLoadId: 配载计划已终点卸车确认 loadStatus={}", loadStatus);
throw new CustomerException(400, "配载计划已终点卸车确认");
}
//终点卸车确认
if (!"10".equals(nodeStatus)) {
log.warn("#############unloadByLoadId: 当前节点未到车 nowWarehouseId={} nodeStatus={}", nowWarehouseId, nodeStatus);
@ -4773,45 +4777,53 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
}else if(NumberUtil.equals(type,2)){
trunklineCarsLoadScanVOS.forEach(trunklineCarsLoadScanVO -> {
String scanCode = trunklineCarsLoadScanVO.getScanCode();
Integer num = trunklineCarsLoadScanVO.getNum();
Integer unloadNum1 = trunklineCarsLoadScanVO.getUnloadNum();
if(Objects.isNull(unloadNum1)){
unloadNum1 = 0;
}
String price = priceMap.get(scanCode);
if(StrUtil.isBlank(price)){
price = "0";
}
String oneVolume = volumeMap.get(scanCode);
if(StrUtil.isBlank(oneVolume)){
oneVolume = "0";
}
String oneWeight = weightMap.get(scanCode);
if(StrUtil.isBlank(oneWeight)){
oneWeight = "0";
}
totalIncomingParice.set(totalIncomingParice.get().add(new BigDecimal(price).multiply(new BigDecimal(unloadNum1))));
totalVolume.set(totalVolume.get().add(new BigDecimal(oneVolume).multiply(new BigDecimal(unloadNum1))));
totalWeight.set(totalWeight.get().add(new BigDecimal(oneWeight).multiply(new BigDecimal(unloadNum1))));
Integer n = goodsByNum.get(scanCode);
if(Objects.isNull(n)){
goodsByNum.put(scanCode,num);
}else{
goodsByNum.put(scanCode,n+num);
}
BigDecimal v = goodsByVolume.get(scanCode);
if(Objects.isNull(v)){
goodsByVolume.put(scanCode,new BigDecimal(oneVolume).multiply(new BigDecimal(unloadNum1)));
}else{
goodsByVolume.put(scanCode,v.add(new BigDecimal(oneVolume).multiply(new BigDecimal(unloadNum1))));
}
BigDecimal w = goodsByWeight.get(scanCode);
if(Objects.isNull(w)){
goodsByWeight.put(scanCode,new BigDecimal(oneWeight).multiply(new BigDecimal(unloadNum1)));
}else{
goodsByWeight.put(scanCode,w.add(new BigDecimal(oneWeight).multiply(new BigDecimal(unloadNum1))));
}
// String scanCode = trunklineCarsLoadScanVO.getScanCode();
// Integer num = trunklineCarsLoadScanVO.getNum();
// Integer unloadNum1 = trunklineCarsLoadScanVO.getUnloadNum();
Long scanId = trunklineCarsLoadScanVO.getId();
List<TrunklineScanZeroDetailVO> zeroDetailVOList = scanZeroDetailService.findListByCarsLoadScanId(scanId);
zeroDetailVOList.forEach(zeroDetailVO -> {
Integer unloadNum1 = zeroDetailVO.getUnloadNum();
String goodsName1 = zeroDetailVO.getGoodsName();
if(Objects.isNull(unloadNum1)){
unloadNum1 = 0;
}
String price = priceMap.get(goodsName1);
if(StrUtil.isBlank(price)){
price = "0";
}
String oneVolume = volumeMap.get(goodsName1);
if(StrUtil.isBlank(oneVolume)){
oneVolume = "0";
}
String oneWeight = weightMap.get(goodsName1);
if(StrUtil.isBlank(oneWeight)){
oneWeight = "0";
}
totalIncomingParice.set(totalIncomingParice.get().add(new BigDecimal(price).multiply(new BigDecimal(unloadNum1))));
totalVolume.set(totalVolume.get().add(new BigDecimal(oneVolume).multiply(new BigDecimal(unloadNum1))));
totalWeight.set(totalWeight.get().add(new BigDecimal(oneWeight).multiply(new BigDecimal(unloadNum1))));
Integer n = goodsByNum.get(goodsName1);
if(Objects.isNull(n)){
goodsByNum.put(goodsName1,unloadNum1);
}else{
goodsByNum.put(goodsName1,n+unloadNum1);
}
BigDecimal v = goodsByVolume.get(goodsName1);
if(Objects.isNull(v)){
goodsByVolume.put(goodsName1,new BigDecimal(oneVolume).multiply(new BigDecimal(unloadNum1)));
}else{
goodsByVolume.put(goodsName1,v.add(new BigDecimal(oneVolume).multiply(new BigDecimal(unloadNum1))));
}
BigDecimal w = goodsByWeight.get(goodsName1);
if(Objects.isNull(w)){
goodsByWeight.put(goodsName1,new BigDecimal(oneWeight).multiply(new BigDecimal(unloadNum1)));
}else{
goodsByWeight.put(goodsName1,w.add(new BigDecimal(oneWeight).multiply(new BigDecimal(unloadNum1))));
}
});
});
}
});

Loading…
Cancel
Save