diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml index efd905924..74363958b 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml @@ -62,10 +62,9 @@ diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java index c77040f3a..b67e3494b 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java @@ -1102,7 +1102,8 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl carsLoadScanEntityList = trunklineCarsLoadScanService.list(queryWrapper); if(CollUtil.isNotEmpty(carsLoadScanEntityList)){ @@ -8487,6 +8488,179 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("waybill_no", waybillNo) + .eq("load_id", loadId) + .eq("final_node_id", warehouseId) + .eq("order_code", orderCode); + TrunklineCarsLoadScanEntity carsLoadScanEntity = trunklineCarsLoadScanService.getOne(queryWrapper); + if (Objects.isNull(carsLoadScanEntity)) { + log.warn("#############unloadZero: 零担信息不存在 waybillNo={} order_code={} loadId={} finalNodeId={}", waybillNo, orderCode, loadId, warehouseId); + return R.fail(405, "零担信息不存在"); + } + + Integer isAbnormal = 0; + Integer num = carsLoadScanEntity.getNum(); + Long fromWarehouseId = carsLoadScanEntity.getFromWarehouseId(); + Long waybillId = carsLoadScanEntity.getWaybillId(); + String scanCode = carsLoadScanEntity.getScanCode(); + Long loadScanId = carsLoadScanEntity.getId(); + if (enterNun > num) { + log.warn("#############unloadZero: 零担信息卸车数量大于装车件数 enterNun={} num={}", enterNun, num); + return R.fail(405, "零担信息卸车数量大于装车件数"); + } + + carsLoadScanEntity.setUnloadNum(enterNun); + carsLoadScanEntity.setUnloadNodeId(warehouseId); + carsLoadScanEntity.setUnloadNodeName(warehouseName); + carsLoadScanEntity.setUnloadAbnormal(0); + carsLoadScanEntity.setScanStatus("2"); + carsLoadScanEntity.setLoadingUserName(AuthUtil.getNickName()); + carsLoadScanEntity.setUnloadUserName(AuthUtil.getNickName()); + carsLoadScanEntity.setUnloadTime(new Date()); + carsLoadScanEntity.setUnloadTrayName(unloadTrayName); + carsLoadScanEntity.setUnloadTrayCode(unloadTrayCode); + trunklineCarsLoadScanService.updateById(carsLoadScanEntity); + + trunklineCarsUnloadLogService.savaUnloadLog(warehouseId, warehouseName, loadId, loadCode, waybillId, waybillNo, orderCode, + scanCode, enterNun, 2, 1, isAbnormal, trayId, trayCode, trayName, fromWarehouseId, loadScanId, remark); + + if (unbindTray == 1) { + if (!StringUtil.isBlank(trayCode)) { + trayTypeClient.deleteZeroOrderByTrayCode(orderCode, trayCode, fromWarehouseId, "干线卸车零担解托"); + } + } + + DistributionStockArticleEntity newStockArticleEntity = distributionStockArticleClient.findStockArticleByOrderCodeAndWarehouseId(orderCode, warehouseId); + if (Objects.isNull(newStockArticleEntity)) { + DistributionStockArticleEntity stockArticleEntity = distributionStockArticleClient.findStockArticleByOrderCodeAndWarehouseId(orderCode, fromWarehouseId); + newStockArticleEntity = new DistributionStockArticleEntity(); + BeanUtil.copy(stockArticleEntity, newStockArticleEntity); + newStockArticleEntity.setId(null); + newStockArticleEntity.setOrderReceiveStatus("20"); + newStockArticleEntity.setOrderStatus("10"); + newStockArticleEntity.setHandQuantity(enterNun); + newStockArticleEntity.setIncomingNum(enterNun); + newStockArticleEntity.setWarehouse(basicdataWarehouseEntity.getName()); + newStockArticleEntity.setWarehouseId(basicdataWarehouseEntity.getId()); + newStockArticleEntity.setCarsLoadNum(0); + Long orderId = distributionStockArticleClient.addData(newStockArticleEntity); + if (orderId != 0) { + List parcelListEntityList = distributionParcelListClient.findEntityListByOrderCode(orderCode, fromWarehouseId); + List ls = new ArrayList<>(); + for (DistributionParcelListEntity parcelListEntity : parcelListEntityList) { + DistributionParcelListEntity newParcelListEntity = new DistributionParcelListEntity(); + BeanUtil.copy(parcelListEntity, newParcelListEntity); + newParcelListEntity.setId(null); + newParcelListEntity.setWarehouseId(warehouseId); + newParcelListEntity.setWarehouse(warehouseName); + newParcelListEntity.setStockArticleId(orderId); + Long acceptWarehouseId = parcelListEntity.getAcceptWarehouseId(); + if(warehouseId.equals(acceptWarehouseId)){ + newParcelListEntity.setIsTransfer(0); + }else{ + newParcelListEntity.setIsTransfer(1); + } + Long orderPackageId = distributionParcelListClient.addReturnId(newParcelListEntity); + + DistributionParcelNumberEntity parcelNumberEntity = new DistributionParcelNumberEntity(); + parcelNumberEntity.setStockArticleId(orderId); + parcelNumberEntity.setParcelListId(orderPackageId); + parcelNumberEntity.setQuantity(newParcelListEntity.getQuantity()); + parcelNumberEntity.setHandQuantity(0); + parcelNumberEntity.setDeliveryQuantity(0); + parcelNumberEntity.setSigninQuantity(0); + parcelNumberEntity.setOutboundQuantity(0); + parcelNumberEntity.setWarehouseId(warehouseId); + ls.add(parcelNumberEntity); + } + distributionParcelNumberClient.addBatch(ls); + } + } else { + Integer handQuantity = newStockArticleEntity.getHandQuantity() + enterNun; + Integer incomingNum = newStockArticleEntity.getIncomingNum() + enterNun; + Integer totalNumber = newStockArticleEntity.getTotalNumber(); + + if (incomingNum.equals(totalNumber)) { + if (handQuantity.equals(totalNumber)) { + newStockArticleEntity.setOrderStatus("20"); + } else { + newStockArticleEntity.setOrderStatus("30"); + } + newStockArticleEntity.setOrderReceiveStatus("30"); + } else { + if (incomingNum.equals(handQuantity)) { + newStockArticleEntity.setOrderStatus("10"); + } else { + newStockArticleEntity.setOrderStatus("30"); + } + newStockArticleEntity.setOrderReceiveStatus("20"); + } + newStockArticleEntity.setHandQuantity(handQuantity); + newStockArticleEntity.setIncomingNum(incomingNum); + + distributionStockArticleClient.saveOrUpdate(newStockArticleEntity); + } + + updateNumByLoadId(loadId); + +// JSONObject jsonObject = trunklineCarsLoadScanService.findUnloadNumAudio(loadId,warehouseId); +// Integer totalUnloadNum = jsonObject.getInteger("totalUnloadNum"); +// Integer abnormalUnloadNum = jsonObject.getInteger("abnormalUnloadNum"); +// StringBuilder audio = new StringBuilder(); +// audio.append("卸车").append(totalUnloadNum).append("件"); +// if(!Objects.isNull(abnormalUnloadNum) && !abnormalUnloadNum.equals(0)){ +// audio.append("异常卸车").append(abnormalUnloadNum).append("件"); +// } + return R.success("卸车成功"); + } + + public R unloadZeroNoXz(Long loadId, String waybillNo, Integer enterNun, Long warehouseId, Integer unbindTray, String trayCode, String orderCode, String remark) { log.info("#############unloadZero: 卸车零担"); @@ -8761,7 +8935,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl