Browse Source

fix: 维护卸车明细上的数据

2.增加入库的时候对于异常数据的判定
visual
pref_mail@163.com 4 months ago
parent
commit
73447a8952
  1. 7
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml
  2. 2
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsOrderMapper.xml
  3. 6
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadScanService.java
  4. 57
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java

7
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml

@ -842,12 +842,11 @@
<select id="findAbnormalData" resultType="com.logpm.trunkline.vo.CarsLoadScanAbnormalVO">
select IFNULL(ltcls.waybill_no,'--') waybillNo,
ltcls.order_code orderCode,
IFNULL(sum(ltcls.num),0) loadingNum,
IFNULL(sum(ltcls.unload_num),0) unloadNum
sum(IF(ltcls.scan_status='1', ltcls.num,0 )) loadingNum,
sum(IF(ltcls.scan_status='2', ltcls.unload_num,0 )) unloadNum
from logpm_trunkline_cars_load_scan ltcls
left join logpm_trunkline_cars_order ltco on ltco.waybill_no = ltcls.waybill_no and ltco.order_code = ltcls.order_code
where ltcls.load_id = #{loadId}
and ltco.id is null
and (ltcls.loading_abnormal=1 or ltcls.unload_abnormal=1)
GROUP BY IFNULL(ltcls.waybill_no,'--'),
ltcls.order_code
order by IFNULL(ltcls.waybill_no,'--') desc, ltcls.order_code desc

2
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsOrderMapper.xml

@ -175,7 +175,7 @@
select ltco.order_code orderCode,
ltco.waybill_no waybillNo,
ltco.plan_num planNum,
IFNULL(sum(ltcls.num),0) loadingNum,
sum(IF(ltcls.loading_abnormal is null or ltcls.loading_abnormal = '1',0,ltcls.num)) as loadingNum,
lww.check_user_name checkUserName,
IFNULL(sum(ltcls.unload_num),0) unloadNum,
IFNULL(lww.total_freight/lww.total_count*ltwo.total_number,0) orderFreight,

6
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadScanService.java

@ -148,6 +148,12 @@ public interface ITrunklineCarsLoadScanService extends BaseService<TrunklineCars
List<Long> findCarsLoadScanIdsByWaybillIds(List<Long> waybillIds);
/**
* 查询某个车次节点下的异常
* 包含装车异常 合卸车异常
* @param loadId
* @return
*/
List<CarsLoadScanAbnormalVO> findAbnormalData(Long loadId);
List<UnloadZeroVO> findUnloadZeroList(Long loadId, Long warehouseId);

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

@ -4525,6 +4525,8 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
trunklineCarsLoadVO.setCarsLoadLineList(loadLineList);
List<String> orderCodeString = new ArrayList<>();
List<CarsLoadWaybillInfoVO> carsLoadWaybillInfoList = trunklineCarsOrderService.findWaybillOrderByloadId(loadId);
for (CarsLoadWaybillInfoVO carsLoadWaybillInfoVO : carsLoadWaybillInfoList) {
String waybillNo = carsLoadWaybillInfoVO.getWaybillNo();
@ -4555,6 +4557,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
List<CarsLoadOrderInfoVO> carsLoadOrderInfoListPlan = trunklineCarsOrderService.findCarsLoadOrderInfoListPlan(loadId, waybillNo);
carsLoadOrderInfoListPlan.forEach(carsLoadOrderInfoVO -> {
orderCodeString.add(carsLoadOrderInfoVO.getOrderCode());
carsLoadOrderInfoVO.setUnloadIncome(carsLoadOrderInfoVO.getUnloadIncome().setScale(2, BigDecimal.ROUND_HALF_UP));
carsLoadOrderInfoVO.setOrderFreight(carsLoadOrderInfoVO.getOrderFreight().setScale(2, BigDecimal.ROUND_HALF_UP));
});
@ -4575,6 +4578,13 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
//查询异常的数据
List<CarsLoadScanAbnormalVO> carsLoadScanAbnormalList = trunklineCarsLoadScanService.findAbnormalData(loadId);
if(!carsLoadScanAbnormalList.isEmpty()){
// 这里需要 排除掉前面有计划的 且已经加入了当前这个配载信息集合里面的数据
//把carsLoadScanAbnormalList过滤waybillNo等于--的数据后把waybillNo放入一个Set
Set<String> waybillNoSet = carsLoadScanAbnormalList.stream().filter(carsLoadScanAbnormalVO -> !"--".equals(carsLoadScanAbnormalVO.getWaybillNo()))
.map(CarsLoadScanAbnormalVO::getWaybillNo)
@ -4637,26 +4647,30 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
carsLoadScanAbnormalVOS.forEach(carsLoadScanAbnormalVO -> {
CarsLoadOrderInfoVO carsLoadOrderInfoVO = new CarsLoadOrderInfoVO();
carsLoadOrderInfoVO.setOrderCode(carsLoadScanAbnormalVO.getOrderCode());
carsLoadOrderInfoVO.setLoadingNum(carsLoadScanAbnormalVO.getLoadingNum());
carsLoadOrderInfoVO.setUnloadNum(carsLoadScanAbnormalVO.getUnloadNum());
BigDecimal unloadIncome = finalFreightPrice.multiply(BigDecimal.valueOf(carsLoadScanAbnormalVO.getUnloadNum()));
carsLoadOrderInfoVO.setUnloadIncome(unloadIncome.setScale(2,BigDecimal.ROUND_UP));
carsLoadOrderInfoVO.setPlanNum(0);
String orderCode = carsLoadScanAbnormalVO.getOrderCode();
if("--".equals(waybillNo) || "--".equals(orderCode)){
carsLoadOrderInfoVO.setOrderNum(0);
carsLoadOrderInfoVO.setOrderFreight(BigDecimal.ZERO.setScale(2,BigDecimal.ROUND_UP));
}else{
Integer num = trunklineWaybillOrderService.findTotalNumByWaybillAndOrderCode(waybillNo, orderCode);
carsLoadOrderInfoVO.setOrderNum(num);
carsLoadOrderInfoVO.setOrderFreight(finalFreightPrice.multiply(new BigDecimal(num)).setScale(2,BigDecimal.ROUND_UP));
}
TrunklineCostShareRecordEntity orderCostShareRecordEntity = trunklineCostShareRecordService.findTotalUnloadNumByLoadAndWaybillNoAndOrderCode(loadId,waybillNo,orderCode);
carsLoadOrderInfoVO.setCostZhang(orderCostShareRecordEntity.getCostZhang());
carsLoadOrderInfoVO.setCostPiece(orderCostShareRecordEntity.getCostPiece());
if(!orderCodeString.contains(carsLoadScanAbnormalVO.getOrderCode())){
carsLoadOrderInfoVO.setWaybillNo(waybillNo);
carsLoadOrderInfoVO.setLoadingNum(carsLoadScanAbnormalVO.getLoadingNum());
carsLoadOrderInfoVO.setUnloadNum(carsLoadScanAbnormalVO.getUnloadNum());
BigDecimal unloadIncome = finalFreightPrice.multiply(BigDecimal.valueOf(carsLoadScanAbnormalVO.getUnloadNum()));
carsLoadOrderInfoVO.setUnloadIncome(unloadIncome.setScale(2,BigDecimal.ROUND_UP));
carsLoadOrderInfoVO.setPlanNum(0);
String orderCode = carsLoadScanAbnormalVO.getOrderCode();
if("--".equals(waybillNo) || "--".equals(orderCode)){
carsLoadOrderInfoVO.setOrderNum(0);
carsLoadOrderInfoVO.setOrderFreight(BigDecimal.ZERO.setScale(2,BigDecimal.ROUND_UP));
}else{
Integer num = trunklineWaybillOrderService.findTotalNumByWaybillAndOrderCode(waybillNo, orderCode);
carsLoadOrderInfoVO.setOrderNum(num);
carsLoadOrderInfoVO.setOrderFreight(finalFreightPrice.multiply(new BigDecimal(num)).setScale(2,BigDecimal.ROUND_UP));
}
TrunklineCostShareRecordEntity orderCostShareRecordEntity = trunklineCostShareRecordService.findTotalUnloadNumByLoadAndWaybillNoAndOrderCode(loadId,waybillNo,orderCode);
carsLoadOrderInfoVO.setCostZhang(orderCostShareRecordEntity.getCostZhang());
carsLoadOrderInfoVO.setCostPiece(orderCostShareRecordEntity.getCostPiece());
// carsLoadOrderInfoVO.setWeight(BigDecimal.ZERO);
// carsLoadOrderInfoVO.setVolume(BigDecimal.ZERO);
carsLoadOrderInfoList.add(carsLoadOrderInfoVO);
carsLoadOrderInfoList.add(carsLoadOrderInfoVO);
}
});
carsLoadWaybillInfoVO.setCarsLoadOrderInfoList(carsLoadOrderInfoList);
@ -8779,6 +8793,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
}
@Transactional(rollbackFor = Exception.class)
@Override
public R unloadPackage(Long loadId, String orderPackageCode, Long warehouseId, Integer unbindTray, String remark, Integer incomingType,String unloadTrayName,String unloadTrayCode) {
log.info("#############unloadPackage: 卸车包件");
@ -8955,6 +8970,9 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
orderCode = advanceDetailEntity.getOrderCode();
Long waybillId = advanceDetailEntity.getWaybillId();
Long incomingWarehouseId = advanceDetailEntity.getIncomingWarehouseId();
if(Objects.isNull(incomingWarehouseId)){
throw new CustomerException("包件 "+advanceDetailEntity.getOrderPackageCode()+" 数据异常,请联系管理员进行维护!");
}
// DistributionStockArticleEntity nowDistributionStockArticle = distributionStockArticleClient.findStockArticleByOrderCodeAndWarehouseId(orderCode, nowWarehouseId);
// if(Objects.isNull(nowDistributionStockArticle)){
@ -9008,6 +9026,9 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
DistributionParcelListEntity nowParcelListEntity = distributionParcelListClient.findByPacketBarCodeAndWarehouseId(orderPackageCode, incomingWarehouseId);
if (Objects.isNull(distributionParcelListEntity)) {
distributionParcelListEntity = new DistributionParcelListEntity();
BeanUtil.copy(nowParcelListEntity, distributionParcelListEntity);

Loading…
Cancel
Save