From 56837d8fd74dc64954a1d80a54a37aecba222712 Mon Sep 17 00:00:00 2001 From: caoyizhong <1270296080@qq.com> Date: Fri, 25 Aug 2023 15:31:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A4=87=E8=B4=A7=E6=89=AB?= =?UTF-8?q?=E6=8F=8F=E9=83=A8=E5=88=86=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...istributionReservationStocklistEntity.java | 5 + .../DistributionStockupAppController.java | 159 +++++++++++------- .../mapper/DistributionStockupMapper.java | 2 + .../mapper/DistributionStockupMapper.xml | 12 ++ .../DistributionErrorQueueHandler.java | 4 +- .../service/IDistributionStockupService.java | 7 + .../DistributionReservationServiceImpl.java | 3 + .../impl/DistributionStockupServiceImpl.java | 152 +++++++++++++---- .../WarehouseWarehousingEntryServiceImpl.java | 2 +- 9 files changed, 252 insertions(+), 94 deletions(-) diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationStocklistEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationStocklistEntity.java index acc2bd579..78f18ddd6 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationStocklistEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationStocklistEntity.java @@ -51,6 +51,11 @@ public class DistributionReservationStocklistEntity extends TenantEntity { */ @ApiModelProperty(value = "预约数量") private Integer reservationNum; + /** + * 实际数量 + */ + @ApiModelProperty(value = "实际数量") + private Integer realityNum; /** * 库存品单位 diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java index f8b69c243..403ffe664 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java @@ -317,10 +317,7 @@ public class DistributionStockupAppController extends BladeController { //包件扫描 String orderCode = stockupDTO.getOrderCode();//订单自编号 String packetBarCode = stockupDTO.getPacketBarCode();//包件码 -// String stockupArea = stockupDTO.getStockupArea();//备货区 Long stockupId = stockupDTO.getStockupId();//备货任务ID -// Long stockupId = Long.parseLong("1694647730430791682");//备货任务ID -// Long reservationId = Long.parseLong("1694649954590613505");//预约单id Long reservationId = stockupDTO.getReservationId();//预约单id if(StringUtil.isBlank(orderCode)){ log.warn("##################stockupScan: 包件扫码,订单自编号为空"); @@ -338,40 +335,55 @@ public class DistributionStockupAppController extends BladeController { log.warn("##################stockupScan: 包件扫码,预约单id为空"); return R.fail("包件扫码:预约单id不能为空"); } - - //先保存扫码包件信息,后续由队列来出来余下补充信息 - DistributionStockEntity entity = new DistributionStockEntity(); - entity.setOrderSelfNumbering(orderCode); - entity.setCoding(packetBarCode); + Integer integer = distributionStockupService.selectPackage(stockupDTO); + switch (integer){ + case 1: + //正常 + //先保存扫码包件信息,后续由队列来出来余下补充信息 + DistributionStockEntity entity = new DistributionStockEntity(); + entity.setOrderSelfNumbering(orderCode); + entity.setCoding(packetBarCode); // entity.setStockupArea(stockupArea); - entity.setStockupId(stockupId); - entity.setReservationId(reservationId); - entity.setConditions("0"); - entity.setType(2); - distributionStockService.save(entity); - - Map map = new HashMap<>(); - map.put("messageId", CommonUtil.getUUID()); - map.put("scanType", scanType); - map.put("logId", entity.getId()); - map.put("messageData", entity); - map.put("createTime", new Date().getTime()); -// Integer scanType = (Integer) map.get("scanType"); - DistributionStockEntity distributionStockEntity = (DistributionStockEntity) map.get("messageData"); - //根据扫码类型处理不同的数据 - if(scanType == 1){ - distributionStockService.repairPackageScanInfo(distributionStockEntity); - }else if(scanType == 2){ - distributionStockService.repairStockListScanInfo(distributionStockEntity); - }else{ - log.warn("################stockupScanHandler: 未知的扫码类型 scanType={}",scanType); + entity.setStockupId(stockupId); + entity.setReservationId(reservationId); + entity.setConditions("0"); + entity.setType(2); + distributionStockService.save(entity); + + Map map = new HashMap<>(); + map.put("messageId", CommonUtil.getUUID()); + map.put("scanType", scanType); + map.put("logId", entity.getId()); + map.put("messageData", entity); + map.put("createTime", new Date().getTime()); + //将消息携带绑定键值 + rabbitTemplate.convertAndSend(RabbitConstant.STOCKUP_SCAN_EXCHANGE, RabbitConstant.STOCKUP_SCAN_ROUTING, map); + + String audioValue = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "1"); + + return Resp.scanSuccess("扫描成功!",audioValue); + case 2: + //扫码失败 + String audioValue2 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "2"); + return Resp.scanFail("重复扫描!",audioValue2); + case 3: + //重复扫码 + String audioValue3 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "3"); + return Resp.scanFail("包件不存在!",audioValue3); + + case 4: + //重复扫码 + String audioValue4 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "4"); + return Resp.scanFail("操作失败!",audioValue4); + case 5: + //重复扫码 + String audioValue5 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "5"); + return Resp.scanFail("窜货!",audioValue5); + default: + log.warn("###备货扫描:未知错误"); + return Resp.scanFail("未知错误!","未知错误"); } - //将消息携带绑定键值 - rabbitTemplate.convertAndSend(RabbitConstant.STOCKUP_SCAN_EXCHANGE, RabbitConstant.STOCKUP_SCAN_ROUTING, map); - String audioValue = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "1"); - - return Resp.scanSuccess("success",audioValue); }else if(scanType == 2){ //库存品扫描 Long reservationId = stockupDTO.getReservationId(); @@ -395,40 +407,61 @@ public class DistributionStockupAppController extends BladeController { log.warn("##################stockupScan: 库存品扫码,预约单id为空"); return R.fail("库存品扫码:预约单id不能为空"); } - - //先保存扫码包件信息,后续由队列来出来余下补充信息 - DistributionStockEntity entity = new DistributionStockEntity(); - entity.setCoding(packetBarCode); + Integer integer = distributionStockupService.selectPackage(stockupDTO); + switch (integer){ + case 1: + //先保存扫码包件信息,后续由队列来出来余下补充信息 + DistributionStockEntity entity = new DistributionStockEntity(); + entity.setCoding(packetBarCode); // entity.setStockupArea(stockupArea); - entity.setStockupId(stockupId); - entity.setReservationId(reservationId); - entity.setStockListId(stockListId); - //添加物料信息 - DistributionStockListEntity byId = iDistributionStockListService.getById(stockListId); - if(ObjectUtils.isNotNull(byId.getMarketId())){ - entity.setMarketId(byId.getMarketId()); - entity.setMaterialId(byId.getMaterialId()); + entity.setStockupId(stockupId); + entity.setReservationId(reservationId); + entity.setStockListId(stockListId); + //添加物料信息 + DistributionStockListEntity byId = iDistributionStockListService.getById(stockListId); + if(ObjectUtils.isNotNull(byId.getMarketId())){ + entity.setMarketId(byId.getMarketId()); + entity.setMaterialId(byId.getMaterialId()); + } + entity.setConditions("0"); + entity.setType(2); + distributionStockService.save(entity); + + Map map = new HashMap<>(); + map.put("messageId", CommonUtil.getUUID()); + map.put("scanType", scanType); + map.put("logId", entity.getId()); + map.put("messageData", entity); + map.put("createTime", new Date().getTime()); + //将消息携带绑定键值 + rabbitTemplate.convertAndSend(RabbitConstant.STOCKUP_SCAN_EXCHANGE, RabbitConstant.STOCKUP_SCAN_ROUTING, map); + String audioValue = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "1"); + return Resp.scanSuccess("扫描成功!",audioValue); + case 2: + //扫码失败 + String audioValue2 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "2"); + return Resp.scanFail("重复扫描!",audioValue2); + case 3: + //重复扫码 + String audioValue3 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "3"); + return Resp.scanFail("包件不存在!",audioValue3); + + case 4: + //重复扫码 + String audioValue4 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "4"); + return Resp.scanFail("操作失败!",audioValue4); + case 5: + //重复扫码 + String audioValue5 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "5"); + return Resp.scanFail("窜货!",audioValue5); + default: + log.warn("###备货扫描:未知错误"); + return Resp.scanFail("未知错误!","未知错误"); } - entity.setConditions("0"); - entity.setType(2); - distributionStockService.save(entity); - - Map map = new HashMap<>(); - map.put("messageId", CommonUtil.getUUID()); - map.put("scanType", scanType); - map.put("logId", entity.getId()); - map.put("messageData", entity); - map.put("createTime", new Date().getTime()); - //将消息携带绑定键值 - rabbitTemplate.convertAndSend(RabbitConstant.STOCKUP_SCAN_EXCHANGE, RabbitConstant.STOCKUP_SCAN_ROUTING, map); - - return R.success("扫码成功"); - }else{ + } log.warn("###################stockupScan: 未知的扫码类型 scanType={}",scanType); return R.fail("未知的扫码类型"); } - } - } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.java index 037b3cbd2..4e44b15a7 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.java @@ -126,4 +126,6 @@ public interface DistributionStockupMapper extends BaseMapper + +