From 699e5dccff102508149fabae8b997288bb72107b Mon Sep 17 00:00:00 2001 From: zhaoqiaobo Date: Mon, 13 May 2024 19:29:05 +0800 Subject: [PATCH 01/18] =?UTF-8?q?feat(all):=20=E4=BC=98=E5=8C=96=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../report/mapper/ReportDeliverMapper.xml | 368 +++++++++--------- 1 file changed, 182 insertions(+), 186 deletions(-) diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml index df9dc5c3b..a13e2174d 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml @@ -27,198 +27,194 @@ ss_num, unloading_team_name from (select - d.train_number train_number, - d.task_time task_time, - d.warehouse_name warehouse_name, - CASE - WHEN d.type = 1 THEN - '商配' - WHEN d.type = 2 THEN - '市配' - ELSE '' - END type, - CASE - WHEN d.kind = 1 THEN - '自主配送' - WHEN d.kind = 2 THEN - '自主配送' - ELSE '' - END kind, - d.vehicle_name vehicle_name, - d.driver_name driver_name, - d.distribution_company distribution_company, - CASE - WHEN d.delivery_status = 1 THEN - '待配送' - WHEN d.delivery_status = 2 THEN - '配送中' - WHEN d.delivery_status = 3 THEN - '已完成' - ELSE '' - END delivery_status, - d.customers_number customers_number, - d.price, - d.order_number order_number, - rn.num reservation_num, - rn.stnum reservation_stock_listNum, - IFNULL(loadScan.loadedNum, 0) loaded_num, - IFNULL(loadscaninvn.loadedNum, 0) invn_loaded_num, - IFNULL(loadScan.exLoadedNum, 0) ex_loaded_num, - IFNULL(loadScan.reNum, 0) re_num, - IFNULL(loadscaninvn.reNum, 0) invn_re_num, - IFNULL(loadScan.exReNum, 0) ex_reNum, - ifnull(rn.dsNum, 0) ds_num, - ifnull(rn.ssNum, 0) ss_num, - ifnull(d.unloading_team_name, '') unloading_team_name - from - logpm_distribution_delivery_list d - LEFT JOIN ( - SELECT lds.delivery_id, - COALESCE(sum(ldr1.reservation_num), 0) num, - COALESCE(sum(ldr1.reservation_stock_list_num), 0) stnum, - SUM(CASE - WHEN lds.driver_signing = 2 THEN - 1 - ELSE - 0 - END) dsNum, - SUM(CASE - WHEN lds.signing_status = 2 THEN - 1 - ELSE - 0 - END) ssNum - FROM logpm_distribution_signfor lds - JOIN logpm_distribution_reservation ldr1 ON lds.reservation_id = ldr1.id - WHERE ldr1.reservation_status != '40' - GROUP BY lds.delivery_id order by null - ) rn ON rn.delivery_id = d.id - left join (select t.delivery_id, - SUM(t.loaded_nub) loadedNum, - sum(t.received_quantity) reNum, - sum(if(t.is_abnormal_loading = 1, 0, 1)) exLoadedNum, - sum(if(t.is_abnormal_signing = 1, 0, 1)) exReNum - from logpm_distribution_loadscan t - where t.scan_status != 1 - group by t.delivery_id order by null) loadScan on loadScan.delivery_id = d.id - left join (select t.delivery_id, - SUM(t.loaded_nub) loadedNum, - sum(t.received_quantity) reNum - from logpm_distribution_loadscaninvn t - where t.scan_status != 1 - group by t.delivery_id order by null) loadscaninvn on loadscaninvn.delivery_id = d.id - where d.customers_number != 0) t + d.train_number train_number, + d.task_time task_time, + d.warehouse_name warehouse_name, + CASE + WHEN d.type = 1 THEN + '商配' + WHEN d.type = 2 THEN + '市配' + ELSE '' + END type, + CASE + WHEN d.kind = 1 THEN + '自主配送' + WHEN d.kind = 2 THEN + '自主配送' + ELSE '' + END kind, + d.vehicle_name vehicle_name, + d.driver_name driver_name, + d.distribution_company distribution_company, + CASE + WHEN d.delivery_status = 1 THEN + '待配送' + WHEN d.delivery_status = 2 THEN + '配送中' + WHEN d.delivery_status = 3 THEN + '已完成' + ELSE '' + END delivery_status, + d.customers_number customers_number, + d.price, + d.order_number order_number, + rn.num reservation_num, + rn.stnum reservation_stock_listNum, + IFNULL(loadScan.loadedNum, 0) loaded_num, + IFNULL(loadscaninvn.loadedNum, 0) invn_loaded_num, + IFNULL(loadScan.exLoadedNum, 0) ex_loaded_num, + IFNULL(loadScan.reNum, 0) re_num, + IFNULL(loadscaninvn.reNum, 0) invn_re_num, + IFNULL(loadScan.exReNum, 0) ex_reNum, + ifnull(rn.dsNum, 0) ds_num, + ifnull(rn.ssNum, 0) ss_num, + ifnull(d.unloading_team_name, '') unloading_team_name + from logpm_distribution_delivery_list d + LEFT JOIN (SELECT lds.delivery_id, + COALESCE(sum(ldr1.reservation_num), 0) num, + COALESCE(sum(ldr1.reservation_stock_list_num), 0) stnum, + SUM(CASE + WHEN lds.driver_signing = 2 THEN + 1 + ELSE + 0 + END) dsNum, + SUM(CASE + WHEN lds.signing_status = 2 THEN + 1 + ELSE + 0 + END) ssNum + FROM logpm_distribution_signfor lds + left JOIN logpm_distribution_reservation ldr1 ON lds.reservation_id = ldr1.id + WHERE ldr1.reservation_status '40' + GROUP BY lds.delivery_id + order by null) rn ON rn.delivery_id = d.id + left join (select t.delivery_id, + SUM(t.loaded_nub) loadedNum, + sum(t.received_quantity) reNum, + sum(if(t.is_abnormal_loading = 1, 0, 1)) exLoadedNum, + sum(if(t.is_abnormal_signing = 1, 0, 1)) exReNum + from logpm_distribution_loadscan t + where t.scan_status != 1 + group by t.delivery_id + order by null) loadScan on loadScan.delivery_id = d.id + left join (select t.delivery_id, + SUM(t.loaded_nub) loadedNum, + sum(t.received_quantity) reNum + from logpm_distribution_loadscaninvn t + where t.scan_status != 1 + group by t.delivery_id + order by null) loadscaninvn on loadscaninvn.delivery_id = d.id + where + d.customers_number > 0 + and rn.num > 0) t ${ew.customSqlSegment} From fbc2acfc92d068940e69b605b3571ff4ea5ea5b7 Mon Sep 17 00:00:00 2001 From: zhaoqiaobo Date: Tue, 14 May 2024 09:54:09 +0800 Subject: [PATCH 03/18] =?UTF-8?q?feat(all):=20=E4=BB=B7=E6=A0=BC=E4=BD=93?= =?UTF-8?q?=E7=B3=BB=E4=BB=93=E5=82=A8=E5=A2=9E=E5=8A=A0=E5=AD=97=E6=AE=B5?= =?UTF-8?q?90=E5=A4=A9=E4=BB=A5=E4=B8=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/BasicdataPriceCategoryWarehouseEntity.java | 4 +++- .../java/com/logpm/basicdata/vo/PriceWarehouseBasicVO.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataPriceCategoryWarehouseEntity.java b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataPriceCategoryWarehouseEntity.java index d4002783b..eb171e3ef 100644 --- a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataPriceCategoryWarehouseEntity.java +++ b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataPriceCategoryWarehouseEntity.java @@ -60,8 +60,10 @@ public class BasicdataPriceCategoryWarehouseEntity extends TenantEntity { private Double withinThirtyPrice; @ApiModelProperty(value = "30-60天") private Double betweenThirtySixtyPrice; - @ApiModelProperty(value = "60天外") + @ApiModelProperty(value = "60-90天外") private Double beyondSixtyPrice; + @ApiModelProperty(value = "90天外") + private Double beyondNinetyPrice; @ApiModelProperty(value = "上限价格") private Double maximumPrice; @ApiModelProperty(value = "操作/装卸费") diff --git a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/vo/PriceWarehouseBasicVO.java b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/vo/PriceWarehouseBasicVO.java index baccf6292..a360b415e 100644 --- a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/vo/PriceWarehouseBasicVO.java +++ b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/vo/PriceWarehouseBasicVO.java @@ -38,8 +38,10 @@ public class PriceWarehouseBasicVO implements Serializable { private Double withinThirtyPrice; @ApiModelProperty(value = "30-60天") private Double betweenThirtySixtyPrice; - @ApiModelProperty(value = "60天外") + @ApiModelProperty(value = "60-90天") private Double beyondSixtyPrice; + @ApiModelProperty(value = "90天外") + private Double beyondNinetyPrice; @ApiModelProperty(value = "上限价格") private Double maximumPrice; From 3e252b73b9cda2b8f1046ae757e2717bdf260306 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Tue, 14 May 2024 11:27:51 +0800 Subject: [PATCH 04/18] =?UTF-8?q?=E8=87=AA=E6=8F=90=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E8=80=81=E7=B3=BB=E7=BB=9FBUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/DistrilbutionBillLadingMapper.xml | 2 +- .../DistributionDeliveryListServiceImpl.java | 29 ++++++------ .../impl/DistributionSignforServiceImpl.java | 46 ++++++++----------- 3 files changed, 36 insertions(+), 41 deletions(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml index 8d5ec4e8d..54299a035 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml @@ -832,7 +832,7 @@ IFNULL(SUM(ldbls.quantity),0) AS actual_plan, IFNULL(SUM(ldbls.quantity),0) AS delivery, IFNULL(SUM(ldbls.quantity),0) AS sign, - (SELECT GROUP_CONCAT(site) FROM logpm_distribution_print WHERE bill_lading_id = ldbl.id GROUP BY bill_lading_id) + (SELECT GROUP_CONCAT(site) FROM logpm_distribution_print WHERE bill_lading_id = ldbl.id GROUP BY bill_lading_id) AS image FROM logpm_distrilbution_bill_lading AS ldbl LEFT JOIN logpm_distribution_bill_lading_scan AS ldbls ON ldbls.bill_lading_id = ldbl.id AND ldbls.is_deleted = 0 diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java index 9c704d1c3..a0c329244 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java @@ -595,20 +595,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl abnormalEntities = distributionLoadscanAbnormalService.list(Wrappers.query().lambda() - .eq(DistributionLoadscanAbnormalEntity::getPackageCode, distrilbutionloadingscanDTO.getBarcode()) - ); - if (!abnormalEntities.isEmpty()) { - //判断异常是否属于自身 - boolean flag = abnormalEntities.stream().allMatch(a -> !distributionDeliveryListEntity.getId().equals(a.getDeliveryListId()) || !distrilbutionloadingscanDTO.getReservationId().equals(a.getReservationId())); - if (flag){ - //该异常属于其他车次 - String collect = abnormalEntities.stream().map(DistributionLoadscanAbnormalEntity::getTrainNumber).collect(Collectors.joining(",")); - log.info("包件已在其他车次存在异常 >>>>当前车次:{},其他车次:{}",distributionDeliveryListEntity.getTrainNumber(),collect); - return Resp.scanFail("包件已在其他车次存在异常", "包件已在其他车次存在异常"); - } - } //异步确认包条扫描信息 // distributionAsyncService.changeOrderSignforStatus(distrilbutionloadingscanDTO.getBarcode()); List packageLockIds = new ArrayList<>(); @@ -657,6 +644,22 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl abnormalEntities = distributionLoadscanAbnormalService.list(Wrappers.query().lambda() + .eq(DistributionLoadscanAbnormalEntity::getPackageCode, distrilbutionloadingscanDTO.getBarcode()) + .eq(DistributionLoadscanAbnormalEntity::getPackageId, parcelList.getId()) + ); + + if (!abnormalEntities.isEmpty()) { + //判断异常是否属于自身 + boolean flag = abnormalEntities.stream().allMatch(a -> !distributionDeliveryListEntity.getId().equals(a.getDeliveryListId()) || !distrilbutionloadingscanDTO.getReservationId().equals(a.getReservationId())); + if (flag){ + //该异常属于其他车次 + String collect = abnormalEntities.stream().map(DistributionLoadscanAbnormalEntity::getTrainNumber).collect(Collectors.joining(",")); + log.info("包件已在其他车次存在异常 >>>>当前车次:{},其他车次:{}",distributionDeliveryListEntity.getTrainNumber(),collect); + return Resp.scanFail("包件已在其他车次存在异常", "包件已在其他车次存在异常"); + } + } + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java index ce8506380..bdd45f70d 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java @@ -2424,34 +2424,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl abnormalEntities = distributionLoadscanAbnormalService.list(Wrappers.query().lambda() - .eq(DistributionLoadscanAbnormalEntity::getPackageCode, distrilbutionloadingscanDTO.getBarcode()) -// .eq(DistributionLoadscanAbnormalEntity::getAuditingStatus, 1) - //修改 状态 - ); - if (!abnormalEntities.isEmpty()) { - //判断此包件的异常是否是当前扫描车次和客户 - //首先判断存在异常是否不属于当前车次和客户 - boolean flag = abnormalEntities.stream().allMatch(a -> !deliveryListEntity.getId().equals(a.getDeliveryListId()) || !distrilbutionloadingscanDTO.getReservationId().equals(a.getReservationId())); - if (flag){ - //该异常属于其他车次 - String collect = abnormalEntities.stream().map(DistributionLoadscanAbnormalEntity::getTrainNumber).collect(Collectors.joining(",")); - log.info("包件已在其他车次存在异常 >>>>当前车次:{},其他车次:{}",deliveryListEntity.getTrainNumber(),collect); - return Resp.scanFail("包件已在其他车次存在异常", "包件已在其他车次存在异常"); - } - //判断具体的装车信息 - - -// boolean flag = abnormalEntities.stream().filter(f->f.getAuditingStatus() == 1).allMatch(a -> deliveryListEntity.getId().equals(a.getDeliveryListId()) && distrilbutionloadingscanDTO.getReservationId().equals(a.getReservationId())); -// if (flag){ -// //存在异常 进行异常签收还是异常装车区分 -// return Resp.scanFail("包件已存在异常", "包件已存在异常"); -// } -// String collect = abnormalEntities.stream().map(DistributionLoadscanAbnormalEntity::getTrainNumber).collect(Collectors.joining(",")); -// log.info("包件已在其他车次存在异常 >>>>当前车次:{},其他车次:{}",deliveryListEntity.getTrainNumber(),collect); -// return Resp.scanFail("包件已在其他车次存在异常", "包件已在其他车次存在异常"); - } if (Func.isNotEmpty(list)) { //满足条件此码必定为库存品 //判断该库存品是否属于当前客户 @@ -2466,6 +2439,25 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl collect = parcelListEntityList.stream().filter(p -> p.getOrderPackageCode().equals(distrilbutionloadingscanDTO.getBarcode())).collect(Collectors.toList()); if (Func.isNotEmpty(collect) && collect.size() == 1) { + List abnormalEntities = distributionLoadscanAbnormalService.list(Wrappers.query().lambda() + .eq(DistributionLoadscanAbnormalEntity::getPackageCode, distrilbutionloadingscanDTO.getBarcode()) + .eq(DistributionLoadscanAbnormalEntity::getPackageId, collect.get(0).getId()) + //修改 状态 + ); + if (!abnormalEntities.isEmpty()) { + //判断此包件的异常是否是当前扫描车次和客户 + //首先判断存在异常是否不属于当前车次和客户 + boolean flag = abnormalEntities.stream().allMatch(a -> !deliveryListEntity.getId().equals(a.getDeliveryListId()) || !distrilbutionloadingscanDTO.getReservationId().equals(a.getReservationId())); + if (flag){ + //该异常属于其他车次 + String info = abnormalEntities.stream().map(DistributionLoadscanAbnormalEntity::getTrainNumber).collect(Collectors.joining(",")); + log.info("包件已在其他车次存在异常 >>>>当前车次:{},其他车次:{}",deliveryListEntity.getTrainNumber(),info); + return Resp.scanFail("包件已在其他车次存在异常", "包件已在其他车次存在异常"); + } + //判断具体的装车信息 + } + + //存在则查询该包件是否进行装车 DistributionLoadscanEntity loadscanEntity = distributionLoadscanMapper.selectOne(Wrappers.query().lambda() .ne(DistributionLoadscanEntity::getScanStatus, 1) From 57b32b2bc8476d5615c5c5d0639156ee204f27c3 Mon Sep 17 00:00:00 2001 From: zhaoqiaobo Date: Tue, 14 May 2024 14:08:58 +0800 Subject: [PATCH 05/18] =?UTF-8?q?feat(all):=20=E4=BF=AE=E6=94=B9=E9=85=8D?= =?UTF-8?q?=E9=80=81=E6=8A=A5=E8=A1=A8=E5=B7=B2=E5=8F=96=E6=B6=88=E7=9A=84?= =?UTF-8?q?=E9=A2=84=E7=BA=A6=E5=8D=95=E4=B8=8D=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/logpm/report/mapper/ReportDeliverMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml index a13e2174d..2b4200dac 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml @@ -213,7 +213,7 @@ sum(t.received_quantity) reNum from logpm_distribution_loadscaninvn t group by t.reservation_id) loadscaninvn on loadscaninvn.reservation_id = obj.id - where obj.reservation_status '40' + where obj.reservation_status '40' and lddl.customers_number > 0 ) t ${ew.customSqlSegment} From fd5047f3ad95266858d26c11fed15105d90121c3 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Tue, 14 May 2024 15:19:36 +0800 Subject: [PATCH 06/18] =?UTF-8?q?=E8=87=AA=E6=8F=90=E5=A4=87=E8=B4=A7?= =?UTF-8?q?=E5=BA=93=E4=BD=8D=E9=9B=B6=E6=8B=85=E4=B8=8A=E6=9E=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DistributionStockupAppController.java | 14 +++++++------- .../com/logpm/distribution/dto/app/StockupDTO.java | 4 ++-- .../impl/DistributionStockupServiceImpl.java | 4 ++-- .../WarehouseUpdownStockupAreaServiceImpl.java | 6 +++--- 4 files changed, 14 insertions(+), 14 deletions(-) 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 901c0ed20..d82ee6aa3 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 @@ -1468,7 +1468,7 @@ public class DistributionStockupAppController extends BladeController { jsonObject.put("type", 2); jsonObject.put("num", 1); //TODO -// warehouseUpdownStockUpAreaClient.upStockUpShelf(jsonObject); + warehouseUpdownStockUpAreaClient.upStockUpShelf(jsonObject); //扫码成功 return Resp.scanSuccess(PdaAudioLingoStatus.saomiaochenggong.getName(), audioValue); case 2: @@ -1534,7 +1534,7 @@ public class DistributionStockupAppController extends BladeController { String packetBarCode = stockupDTO.getPacketBarCode();//包件码 Long stockupId = stockupDTO.getStockupId();//备货任务ID Long reservationId = stockupDTO.getReservationId();//预约单id -// Long stockUpAllocationId = stockupDTO.getStockupAllocationId();//备货库位ID + Long stockUpAllocationId = stockupDTO.getStockupAllocationId();//备货库位ID if (Objects.isNull(myCurrentWarehouse)) { log.warn("##################stockupScan: 未选择仓库,订单自编号为空"); return R.fail(403,"未授权!!"); @@ -1555,10 +1555,10 @@ public class DistributionStockupAppController extends BladeController { log.warn("##################stockupScan: 包件扫码,预约单id为空"); return R.fail("包件扫码:预约单id不能为空"); } -// if (Objects.isNull(stockUpAllocationId)) { -// log.warn("##################stockupScan: 备货库位不存在,stockUpAllocationId:{}",stockUpAllocationId); -// return Resp.scanFail("请扫描备货库位","请扫描备货库位"); -// } + if (Objects.isNull(stockUpAllocationId)) { + log.warn("##################stockupScan: 备货库位不存在,stockUpAllocationId:{}",stockUpAllocationId); + return Resp.scanFail("请扫描备货库位","请扫描备货库位"); + } Integer integer = distributionStockupService.selectPackage(stockupDTO); switch (integer) { @@ -1662,7 +1662,7 @@ public class DistributionStockupAppController extends BladeController { jsonObject.put("num", 1); //进行了备货库位的选择才进行备货库位的上架 //TODO -// warehouseUpdownStockUpAreaClient.upStockUpShelf(jsonObject); + warehouseUpdownStockUpAreaClient.upStockUpShelf(jsonObject); //修改包件备货状态 DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity(); parcelListEntity.setId(entity.getParcelListId()); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupDTO.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupDTO.java index 6d3de9076..4c9d87751 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupDTO.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupDTO.java @@ -13,8 +13,8 @@ public class StockupDTO implements Serializable { private String stockupDateEnd;//备货日期 private Integer status;//0未完成 1已完成 -// private Long stockupAllocationId;//0未完成 1已完成 -// private String stockupAllocationName;//0未完成 1已完成 + private Long stockupAllocationId;//0未完成 1已完成 + private String stockupAllocationName;//0未完成 1已完成 /** * 客户名城 diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java index f0ec92aa5..5ea0ac7ad 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java @@ -2004,7 +2004,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl Date: Tue, 14 May 2024 16:57:28 +0800 Subject: [PATCH 07/18] =?UTF-8?q?=E5=A4=87=E8=B4=A7=E5=BA=93=E4=BD=8D?= =?UTF-8?q?=E4=B8=8B=E6=9E=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DistributionDeliveryListServiceImpl.java | 23 +++--- .../impl/DistributionSignforServiceImpl.java | 77 ++++++++++--------- ...WarehouseUpdownStockupAreaServiceImpl.java | 1 - 3 files changed, 56 insertions(+), 45 deletions(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java index a0c329244..84c3cb600 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java @@ -915,7 +915,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl>>>>>>>>>>>>>>>>>>>>>jsonObjects:{}",jsonObjects); //TODO -// warehouseUpdownStockUpAreaClient.downStockUpShelf(jsonObjects); + warehouseUpdownStockUpAreaClient.downStockUpShelf(jsonObjects); //查询已装车件数 // String str = getLoadingMsg(distrilbutionloadingscanDTO); @@ -2135,8 +2135,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl jsonObjects = new ArrayList<>(); for (DistributionParcelNumberDTO parcelNumberDTO : parcelNumberDTOS) { List zeroPackageEntities = reservationMap.get(parcelNumberDTO.getParcelListId()); DistributionParcelNumberEntity distributionParcelNumberEntity = distributionParcelNumberService.getOne(Wrappers.query().lambda() @@ -5812,10 +5812,12 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl distributionReservationZeroPackageEntity.getQuantity()) { log.info("#############零担签收超过计划数量ParcelListId:{},计划:{}录入,:{}", parcelNumberDTO.getParcelListId(), distributionReservationZeroPackageEntity.getQuantity(), parcelNumberDTO.getSigningNum()); } + int a = 0; if (distributionLoadscanEntity.getLoadedNub() < parcelNumberDTO.getSigningNum()) { //将装车和签收进行统一数量 distributionLoadscanEntity.setLoadedNub(parcelNumberDTO.getSigningNum()); distributionLoadscanEntity.setPackageNub(parcelNumberDTO.getSigningNum()); + a = parcelNumberDTO.getSigningNum() - distributionLoadscanEntity.getLoadedNub(); } deliveryNumber = distributionParcelNumberEntity.getDeliveryQuantity() + distributionLoadscanEntity.getReceivedQuantity() - parcelNumberDTO.getSigningNum(); @@ -5835,6 +5837,14 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl jsonObjects = new ArrayList<>(); JSONObject jsonObject = new JSONObject(); jsonObject.put("code",parcelListEntity.getOrderCode()); jsonObject.put("warehouseId",myCurrentWarehouse.getId()); jsonObject.put("taskId",loadscanEntity.getReservationId()); jsonObject.put("type",3); - jsonObject.put("num",1); + jsonObject.put("num",loadscanEntity.getLoadedNub()); jsonObject.put("remark","签收下架"); jsonObjects.add(jsonObject); - //TODO -// warehouseUpdownStockUpAreaClient.downStockUpShelf(jsonObjects); + warehouseUpdownStockUpAreaClient.downStockUpShelf(jsonObjects); } //维护订单 if (outboundQuantity.equals(distributionParcelNumberEntity.getQuantity())) { @@ -5906,7 +5914,6 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl Date: Tue, 14 May 2024 17:22:05 +0800 Subject: [PATCH 08/18] =?UTF-8?q?=E8=AE=A2=E5=88=B6=E5=93=81=E4=B8=8A?= =?UTF-8?q?=E6=9E=B6=E5=A4=87=E8=B4=A7=E5=BA=93=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../appcontroller/DistributionStockupAppController.java | 5 ++--- .../service/impl/WarehouseUpdownStockupAreaServiceImpl.java | 1 + 2 files changed, 3 insertions(+), 3 deletions(-) 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 d82ee6aa3..2f075907a 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 @@ -1657,11 +1657,10 @@ public class DistributionStockupAppController extends BladeController { JSONObject jsonObject = new JSONObject(); jsonObject.put("warehouseId", myCurrentWarehouse.getId()); jsonObject.put("code",packetBarCode); -// jsonObject.put("stockUpAllocationId", stockupDTO.getStockupAllocationId()); - jsonObject.put("type", 2); + jsonObject.put("stockUpAllocationId", stockupDTO.getStockupAllocationId()); + jsonObject.put("type", 1); jsonObject.put("num", 1); //进行了备货库位的选择才进行备货库位的上架 - //TODO warehouseUpdownStockUpAreaClient.upStockUpShelf(jsonObject); //修改包件备货状态 DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity(); diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownStockupAreaServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownStockupAreaServiceImpl.java index fca9ed844..4ce20a389 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownStockupAreaServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownStockupAreaServiceImpl.java @@ -149,6 +149,7 @@ public class WarehouseUpdownStockupAreaServiceImpl extends BaseServiceImpl Date: Tue, 14 May 2024 17:23:52 +0800 Subject: [PATCH 09/18] =?UTF-8?q?1.=E6=A8=A1=E6=8B=9F=E7=99=BB=E5=BD=95?= =?UTF-8?q?=EF=BC=8C=E6=B7=BB=E5=8A=A0=E5=88=86=E5=B8=83=E5=BC=8F=E9=94=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../aspect/JobAnnotationAspect.java | 45 ++++++++++------- .../basicdata/aspect/JobAnnotationAspect.java | 41 ++++++++++------ .../jinpai/aspect/JobAnnotationAspect.java | 41 ++++++++++------ .../factory/aspect/JobAnnotationAspect.java | 41 ++++++++++------ .../config/InterceptorAdapterConfig.java | 6 ++- .../LocalServerLoginAccountsInterceptor.java | 42 ++++++++++------ .../patch/aspect/JobAnnotationAspect.java | 41 ++++++++++------ .../config/InterceptorAdapterConfig.java | 5 +- .../warehouse/config/RedissonConfig.java | 49 ++++++++----------- .../LocalServerLoginAccountsInterceptor.java | 39 +++++++++------ 10 files changed, 210 insertions(+), 140 deletions(-) diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/aspect/JobAnnotationAspect.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/aspect/JobAnnotationAspect.java index 609decb6e..4a49f3c0f 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/aspect/JobAnnotationAspect.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/aspect/JobAnnotationAspect.java @@ -8,12 +8,11 @@ import lombok.AllArgsConstructor; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; -import org.aspectj.lang.reflect.MethodSignature; -import org.springblade.common.annotations.LogpmAsync; import org.springblade.common.cache.CacheNames; import org.springblade.common.constant.LauncherConstant; import org.springblade.core.redis.cache.BladeRedis; -import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.core.redis.lock.LockType; +import org.springblade.core.redis.lock.RedisLockClient; import org.springblade.core.tool.utils.ThreadLocalUtil; import org.springframework.core.env.Environment; import org.springframework.http.HttpHeaders; @@ -22,10 +21,10 @@ import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; -import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.concurrent.TimeUnit; @Aspect @Component @@ -33,6 +32,7 @@ import java.util.Objects; public class JobAnnotationAspect { private final BladeRedis bladeRedis; private final Environment environment; + private final RedisLockClient redisLockClient; @Around("@annotation(com.xxl.job.core.handler.annotation.XxlJob)") public Object xxlJobAnnotationMethods(ProceedingJoinPoint joinPoint) throws Throwable { @@ -59,25 +59,32 @@ public class JobAnnotationAspect { } - private JSONObject mockLogin(){ + private JSONObject mockLogin() throws InterruptedException { String account ="shujutongbu"; JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); if(Objects.isNull(data)){ - String url = "http://"+ LauncherConstant.loginAddr(Objects.requireNonNull(environment.getActiveProfiles()[0]))+"/blade-auth/oauth/token"; - HttpRequest urlRequest = HttpRequest.post(url); - urlRequest.header("Authorization", "Basic c2FiZXI6c2FiZXJfc2VjcmV0"); - urlRequest.header("Tenant-Id", "627683"); - - Map params = new HashMap<>(); - params.put("grant_type", "local_server"); - params.put("scope", "all"); - params.put("username", account); - params.put("tenantId", "627683"); - HttpResponse execute = urlRequest.form(params).execute(); - String body = execute.body(); - data = JSONObject.parseObject(body); - bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,3200L); + boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); + if(flag){ + data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); + if(Objects.isNull(data)){ + String url = "http://"+ LauncherConstant.loginAddr(Objects.requireNonNull(environment.getActiveProfiles()[0]))+"/blade-auth/oauth/token"; + HttpRequest urlRequest = HttpRequest.post(url); + urlRequest.header("Authorization", "Basic c2FiZXI6c2FiZXJfc2VjcmV0"); + urlRequest.header("Tenant-Id", "627683"); + + Map params = new HashMap<>(); + params.put("grant_type", "local_server"); + params.put("scope", "all"); + params.put("username", account); + params.put("tenantId", "627683"); + HttpResponse execute = urlRequest.form(params).execute(); + String body = execute.body(); + data = JSONObject.parseObject(body); + bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,20L); + redisLockClient.unLock("local_server_user", LockType.FAIR); + } + } } return data; } diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/aspect/JobAnnotationAspect.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/aspect/JobAnnotationAspect.java index 9409e560c..64825908c 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/aspect/JobAnnotationAspect.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/aspect/JobAnnotationAspect.java @@ -11,6 +11,8 @@ import org.aspectj.lang.annotation.Aspect; import org.springblade.common.cache.CacheNames; import org.springblade.common.constant.LauncherConstant; import org.springblade.core.redis.cache.BladeRedis; +import org.springblade.core.redis.lock.LockType; +import org.springblade.core.redis.lock.RedisLockClient; import org.springblade.core.tool.utils.ThreadLocalUtil; import org.springframework.core.env.Environment; import org.springframework.http.HttpHeaders; @@ -22,6 +24,7 @@ import org.springframework.web.context.request.ServletRequestAttributes; import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.concurrent.TimeUnit; @Aspect @Component @@ -29,6 +32,7 @@ import java.util.Objects; public class JobAnnotationAspect { private final BladeRedis bladeRedis; private final Environment environment; + private final RedisLockClient redisLockClient; @Around("@annotation(com.xxl.job.core.handler.annotation.XxlJob)") public Object xxlJobAnnotationMethods(ProceedingJoinPoint joinPoint) throws Throwable { @@ -55,25 +59,32 @@ public class JobAnnotationAspect { } - private JSONObject mockLogin(){ + private JSONObject mockLogin() throws InterruptedException { String account ="shujutongbu"; JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); if(Objects.isNull(data)){ - String url = "http://"+ LauncherConstant.loginAddr(Objects.requireNonNull(environment.getActiveProfiles()[0]))+"/blade-auth/oauth/token"; - HttpRequest urlRequest = HttpRequest.post(url); - urlRequest.header("Authorization", "Basic c2FiZXI6c2FiZXJfc2VjcmV0"); - urlRequest.header("Tenant-Id", "627683"); - - Map params = new HashMap<>(); - params.put("grant_type", "local_server"); - params.put("scope", "all"); - params.put("username", account); - params.put("tenantId", "627683"); - HttpResponse execute = urlRequest.form(params).execute(); - String body = execute.body(); - data = JSONObject.parseObject(body); - bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,3200L); + boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); + if(flag){ + data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); + if(Objects.isNull(data)){ + String url = "http://"+ LauncherConstant.loginAddr(Objects.requireNonNull(environment.getActiveProfiles()[0]))+"/blade-auth/oauth/token"; + HttpRequest urlRequest = HttpRequest.post(url); + urlRequest.header("Authorization", "Basic c2FiZXI6c2FiZXJfc2VjcmV0"); + urlRequest.header("Tenant-Id", "627683"); + + Map params = new HashMap<>(); + params.put("grant_type", "local_server"); + params.put("scope", "all"); + params.put("username", account); + params.put("tenantId", "627683"); + HttpResponse execute = urlRequest.form(params).execute(); + String body = execute.body(); + data = JSONObject.parseObject(body); + bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,20L); + redisLockClient.unLock("local_server_user", LockType.FAIR); + } + } } return data; } diff --git a/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/aspect/JobAnnotationAspect.java b/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/aspect/JobAnnotationAspect.java index 250c4d8d6..6e8ed4cf6 100644 --- a/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/aspect/JobAnnotationAspect.java +++ b/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/aspect/JobAnnotationAspect.java @@ -11,6 +11,8 @@ import org.aspectj.lang.annotation.Aspect; import org.springblade.common.cache.CacheNames; import org.springblade.common.constant.LauncherConstant; import org.springblade.core.redis.cache.BladeRedis; +import org.springblade.core.redis.lock.LockType; +import org.springblade.core.redis.lock.RedisLockClient; import org.springblade.core.tool.utils.ThreadLocalUtil; import org.springframework.core.env.Environment; import org.springframework.http.HttpHeaders; @@ -22,6 +24,7 @@ import org.springframework.web.context.request.ServletRequestAttributes; import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.concurrent.TimeUnit; @Aspect @Component @@ -29,6 +32,7 @@ import java.util.Objects; public class JobAnnotationAspect { private final BladeRedis bladeRedis; private final Environment environment; + private final RedisLockClient redisLockClient; @Around("@annotation(com.xxl.job.core.handler.annotation.XxlJob)") public Object xxlJobAnnotationMethods(ProceedingJoinPoint joinPoint) throws Throwable { @@ -55,25 +59,32 @@ public class JobAnnotationAspect { } - private JSONObject mockLogin(){ + private JSONObject mockLogin() throws InterruptedException { String account ="shujutongbu"; JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); if(Objects.isNull(data)){ - String url = "http://"+ LauncherConstant.loginAddr(Objects.requireNonNull(environment.getActiveProfiles()[0]))+"/blade-auth/oauth/token"; - HttpRequest urlRequest = HttpRequest.post(url); - urlRequest.header("Authorization", "Basic c2FiZXI6c2FiZXJfc2VjcmV0"); - urlRequest.header("Tenant-Id", "627683"); - - Map params = new HashMap<>(); - params.put("grant_type", "local_server"); - params.put("scope", "all"); - params.put("username", account); - params.put("tenantId", "627683"); - HttpResponse execute = urlRequest.form(params).execute(); - String body = execute.body(); - data = JSONObject.parseObject(body); - bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,3200L); + boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); + if(flag){ + data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); + if(Objects.isNull(data)){ + String url = "http://"+ LauncherConstant.loginAddr(Objects.requireNonNull(environment.getActiveProfiles()[0]))+"/blade-auth/oauth/token"; + HttpRequest urlRequest = HttpRequest.post(url); + urlRequest.header("Authorization", "Basic c2FiZXI6c2FiZXJfc2VjcmV0"); + urlRequest.header("Tenant-Id", "627683"); + + Map params = new HashMap<>(); + params.put("grant_type", "local_server"); + params.put("scope", "all"); + params.put("username", account); + params.put("tenantId", "627683"); + HttpResponse execute = urlRequest.form(params).execute(); + String body = execute.body(); + data = JSONObject.parseObject(body); + bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,20L); + redisLockClient.unLock("local_server_user", LockType.FAIR); + } + } } return data; } diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/aspect/JobAnnotationAspect.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/aspect/JobAnnotationAspect.java index e90fe3e7e..731bdc02e 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/aspect/JobAnnotationAspect.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/aspect/JobAnnotationAspect.java @@ -11,6 +11,8 @@ import org.aspectj.lang.annotation.Aspect; import org.springblade.common.cache.CacheNames; import org.springblade.common.constant.LauncherConstant; import org.springblade.core.redis.cache.BladeRedis; +import org.springblade.core.redis.lock.LockType; +import org.springblade.core.redis.lock.RedisLockClient; import org.springblade.core.tool.utils.ThreadLocalUtil; import org.springframework.core.env.Environment; import org.springframework.http.HttpHeaders; @@ -22,6 +24,7 @@ import org.springframework.web.context.request.ServletRequestAttributes; import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.concurrent.TimeUnit; @Aspect @Component @@ -29,6 +32,7 @@ import java.util.Objects; public class JobAnnotationAspect { private final BladeRedis bladeRedis; private final Environment environment; + private final RedisLockClient redisLockClient; @Around("@annotation(com.xxl.job.core.handler.annotation.XxlJob)") public Object xxlJobAnnotationMethods(ProceedingJoinPoint joinPoint) throws Throwable { @@ -55,25 +59,32 @@ public class JobAnnotationAspect { } - private JSONObject mockLogin(){ + private JSONObject mockLogin() throws InterruptedException { String account ="shujutongbu"; JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); if(Objects.isNull(data)){ - String url = "http://"+ LauncherConstant.loginAddr(Objects.requireNonNull(environment.getActiveProfiles()[0]))+"/blade-auth/oauth/token"; - HttpRequest urlRequest = HttpRequest.post(url); - urlRequest.header("Authorization", "Basic c2FiZXI6c2FiZXJfc2VjcmV0"); - urlRequest.header("Tenant-Id", "627683"); - - Map params = new HashMap<>(); - params.put("grant_type", "local_server"); - params.put("scope", "all"); - params.put("username", account); - params.put("tenantId", "627683"); - HttpResponse execute = urlRequest.form(params).execute(); - String body = execute.body(); - data = JSONObject.parseObject(body); - bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,3200L); + boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); + if(flag){ + data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); + if(Objects.isNull(data)){ + String url = "http://"+ LauncherConstant.loginAddr(Objects.requireNonNull(environment.getActiveProfiles()[0]))+"/blade-auth/oauth/token"; + HttpRequest urlRequest = HttpRequest.post(url); + urlRequest.header("Authorization", "Basic c2FiZXI6c2FiZXJfc2VjcmV0"); + urlRequest.header("Tenant-Id", "627683"); + + Map params = new HashMap<>(); + params.put("grant_type", "local_server"); + params.put("scope", "all"); + params.put("username", account); + params.put("tenantId", "627683"); + HttpResponse execute = urlRequest.form(params).execute(); + String body = execute.body(); + data = JSONObject.parseObject(body); + bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,20L); + redisLockClient.unLock("local_server_user", LockType.FAIR); + } + } } return data; } diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/config/InterceptorAdapterConfig.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/config/InterceptorAdapterConfig.java index d16d65a3b..190350ed0 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/config/InterceptorAdapterConfig.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/config/InterceptorAdapterConfig.java @@ -7,9 +7,9 @@ import com.logpm.factory.interceptor.ZbFactoryAccountsInterceptor; import com.logpm.factory.props.ZbFactoryProperties; import lombok.AllArgsConstructor; import org.springblade.core.redis.cache.BladeRedis; +import org.springblade.core.redis.lock.RedisLockClient; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; -import org.springframework.web.servlet.config.annotation.InterceptorRegistration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @@ -25,6 +25,8 @@ public class InterceptorAdapterConfig implements WebMvcConfigurer { private final Environment environment; + private final RedisLockClient redisLockClient; + @Override public void addInterceptors(InterceptorRegistry interceptorRegistry) { @@ -36,7 +38,7 @@ public class InterceptorAdapterConfig implements WebMvcConfigurer { .excludePathPatterns("/factory/common/**").order(2); interceptorRegistry.addInterceptor(new ZbFactoryAccountsInterceptor(zbFactoryProperties)) .addPathPatterns("/factory/zb/**").order(3); - interceptorRegistry.addInterceptor(new LocalServerLoginAccountsInterceptor(redis,environment)).addPathPatterns("/**").order(1); + interceptorRegistry.addInterceptor(new LocalServerLoginAccountsInterceptor(redis,environment,redisLockClient)).addPathPatterns("/**").order(1); } } diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/interceptor/LocalServerLoginAccountsInterceptor.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/interceptor/LocalServerLoginAccountsInterceptor.java index a33a25e80..9fdfd6a3e 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/interceptor/LocalServerLoginAccountsInterceptor.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/interceptor/LocalServerLoginAccountsInterceptor.java @@ -3,13 +3,15 @@ package com.logpm.factory.interceptor; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; -import org.springblade.common.wrapper.CustomHttpServletRequestWrapper; import lombok.AllArgsConstructor; import lombok.extern.log4j.Log4j2; import org.springblade.common.cache.CacheNames; import org.springblade.common.constant.LauncherConstant; import org.springblade.common.exception.CustomerException; +import org.springblade.common.wrapper.CustomHttpServletRequestWrapper; import org.springblade.core.redis.cache.BladeRedis; +import org.springblade.core.redis.lock.LockType; +import org.springblade.core.redis.lock.RedisLockClient; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.ThreadLocalUtil; import org.springframework.core.env.Environment; @@ -25,6 +27,7 @@ import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.concurrent.TimeUnit; @Log4j2 @AllArgsConstructor @@ -32,6 +35,8 @@ public class LocalServerLoginAccountsInterceptor extends HandlerInterceptorAdapt private final BladeRedis bladeRedis; private final Environment environment; + private final RedisLockClient redisLockClient; + @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws CustomerException { @@ -41,20 +46,27 @@ public class LocalServerLoginAccountsInterceptor extends HandlerInterceptorAdapt String account ="shujutongbu"; JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); if(Objects.isNull(data)){ - String url = "http://"+ LauncherConstant.loginAddr(Objects.requireNonNull(environment.getActiveProfiles()[0]))+"/blade-auth/oauth/token"; - cn.hutool.http.HttpRequest urlRequest = HttpRequest.post(url); - urlRequest.header("Authorization", "Basic c2FiZXI6c2FiZXJfc2VjcmV0"); - urlRequest.header("Tenant-Id", "627683"); - - Map params = new HashMap<>(); - params.put("grant_type", "local_server"); - params.put("scope", "all"); - params.put("username", account); - params.put("tenantId", "627683"); - HttpResponse execute = urlRequest.form(params).execute(); - String body = execute.body(); - data = JSONObject.parseObject(body); - bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,3200L); + boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); + if(flag){ + data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); + if(Objects.isNull(data)){ + String url = "http://"+ LauncherConstant.loginAddr(Objects.requireNonNull(environment.getActiveProfiles()[0]))+"/blade-auth/oauth/token"; + HttpRequest urlRequest = HttpRequest.post(url); + urlRequest.header("Authorization", "Basic c2FiZXI6c2FiZXJfc2VjcmV0"); + urlRequest.header("Tenant-Id", "627683"); + + Map params = new HashMap<>(); + params.put("grant_type", "local_server"); + params.put("scope", "all"); + params.put("username", account); + params.put("tenantId", "627683"); + HttpResponse execute = urlRequest.form(params).execute(); + String body = execute.body(); + data = JSONObject.parseObject(body); + bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,20L); + redisLockClient.unLock("local_server_user", LockType.FAIR); + } + } } // 修改或添加header diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/aspect/JobAnnotationAspect.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/aspect/JobAnnotationAspect.java index 0e315907c..8005a9479 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/aspect/JobAnnotationAspect.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/aspect/JobAnnotationAspect.java @@ -11,6 +11,8 @@ import org.aspectj.lang.annotation.Aspect; import org.springblade.common.cache.CacheNames; import org.springblade.common.constant.LauncherConstant; import org.springblade.core.redis.cache.BladeRedis; +import org.springblade.core.redis.lock.LockType; +import org.springblade.core.redis.lock.RedisLockClient; import org.springblade.core.tool.utils.ThreadLocalUtil; import org.springframework.core.env.Environment; import org.springframework.http.HttpHeaders; @@ -22,6 +24,7 @@ import org.springframework.web.context.request.ServletRequestAttributes; import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.concurrent.TimeUnit; @Aspect @Component @@ -29,6 +32,7 @@ import java.util.Objects; public class JobAnnotationAspect { private final BladeRedis bladeRedis; private final Environment environment; + private final RedisLockClient redisLockClient; @Around("@annotation(com.xxl.job.core.handler.annotation.XxlJob)") public Object xxlJobAnnotationMethods(ProceedingJoinPoint joinPoint) throws Throwable { @@ -55,25 +59,32 @@ public class JobAnnotationAspect { } - private JSONObject mockLogin(){ + private JSONObject mockLogin() throws InterruptedException { String account ="shujutongbu"; JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); if(Objects.isNull(data)){ - String url = "http://"+ LauncherConstant.loginAddr(Objects.requireNonNull(environment.getActiveProfiles()[0]))+"/blade-auth/oauth/token"; - HttpRequest urlRequest = HttpRequest.post(url); - urlRequest.header("Authorization", "Basic c2FiZXI6c2FiZXJfc2VjcmV0"); - urlRequest.header("Tenant-Id", "627683"); - - Map params = new HashMap<>(); - params.put("grant_type", "local_server"); - params.put("scope", "all"); - params.put("username", account); - params.put("tenantId", "627683"); - HttpResponse execute = urlRequest.form(params).execute(); - String body = execute.body(); - data = JSONObject.parseObject(body); - bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,3200L); + boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); + if(flag){ + data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); + if(Objects.isNull(data)){ + String url = "http://"+ LauncherConstant.loginAddr(Objects.requireNonNull(environment.getActiveProfiles()[0]))+"/blade-auth/oauth/token"; + HttpRequest urlRequest = HttpRequest.post(url); + urlRequest.header("Authorization", "Basic c2FiZXI6c2FiZXJfc2VjcmV0"); + urlRequest.header("Tenant-Id", "627683"); + + Map params = new HashMap<>(); + params.put("grant_type", "local_server"); + params.put("scope", "all"); + params.put("username", account); + params.put("tenantId", "627683"); + HttpResponse execute = urlRequest.form(params).execute(); + String body = execute.body(); + data = JSONObject.parseObject(body); + bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,20L); + redisLockClient.unLock("local_server_user", LockType.FAIR); + } + } } return data; } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/InterceptorAdapterConfig.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/InterceptorAdapterConfig.java index edebf374b..2325d0ac1 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/InterceptorAdapterConfig.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/InterceptorAdapterConfig.java @@ -3,6 +3,7 @@ package com.logpm.warehouse.config; import com.logpm.warehouse.config.interceptor.LocalServerLoginAccountsInterceptor; import lombok.AllArgsConstructor; import org.springblade.core.redis.cache.BladeRedis; +import org.springblade.core.redis.lock.RedisLockClient; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; @@ -16,9 +17,11 @@ public class InterceptorAdapterConfig implements WebMvcConfigurer { private final Environment environment; + private final RedisLockClient redisLockClient; + @Override public void addInterceptors(InterceptorRegistry interceptorRegistry) { - interceptorRegistry.addInterceptor(new LocalServerLoginAccountsInterceptor(redis,environment)).addPathPatterns("/oldpush/**").order(1); + interceptorRegistry.addInterceptor(new LocalServerLoginAccountsInterceptor(redis,environment,redisLockClient)).addPathPatterns("/oldpush/**").order(1); } } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/RedissonConfig.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/RedissonConfig.java index e40cd71fe..3c93a4097 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/RedissonConfig.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/RedissonConfig.java @@ -1,35 +1,26 @@ package com.logpm.warehouse.config; -import org.redisson.Redisson; -import org.redisson.config.Config; -import org.springblade.core.redis.cache.BladeRedis; -import org.springblade.core.tool.utils.SpringUtil; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.data.redis.connection.RedisConnectionFactory; -import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; - -@Configuration +//@Configuration public class RedissonConfig { - @Bean - public Redisson redisson() { - // 单机模式 - Config config = new Config(); - - BladeRedis bean = SpringUtil.getBean(BladeRedis.class); - - RedisConnectionFactory connectionFactory = bean.getRedisTemplate().getConnectionFactory(); - - LettuceConnectionFactory factory = (LettuceConnectionFactory) connectionFactory; - - String hostName = factory.getHostName(); - int port = factory.getPort(); - String password = factory.getPassword(); - - config.useSingleServer().setAddress("redis://"+hostName+":"+port).setDatabase(2); - config.useSingleServer().setPassword(password); - return (Redisson) Redisson.create(config); - } +// @Bean +// public Redisson redisson() { +// // 单机模式 +// Config config = new Config(); +// +// BladeRedis bean = SpringUtil.getBean(BladeRedis.class); +// +// RedisConnectionFactory connectionFactory = bean.getRedisTemplate().getConnectionFactory(); +// +// LettuceConnectionFactory factory = (LettuceConnectionFactory) connectionFactory; +// +// String hostName = factory.getHostName(); +// int port = factory.getPort(); +// String password = factory.getPassword(); +// +// config.useSingleServer().setAddress("redis://"+hostName+":"+port).setDatabase(2); +// config.useSingleServer().setPassword(password); +// return (Redisson) Redisson.create(config); +// } } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/interceptor/LocalServerLoginAccountsInterceptor.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/interceptor/LocalServerLoginAccountsInterceptor.java index 223c1c2ec..ecffd08ab 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/interceptor/LocalServerLoginAccountsInterceptor.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/interceptor/LocalServerLoginAccountsInterceptor.java @@ -10,6 +10,8 @@ import org.springblade.common.constant.LauncherConstant; import org.springblade.common.exception.CustomerException; import org.springblade.common.wrapper.CustomHttpServletRequestWrapper; import org.springblade.core.redis.cache.BladeRedis; +import org.springblade.core.redis.lock.LockType; +import org.springblade.core.redis.lock.RedisLockClient; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.ThreadLocalUtil; import org.springframework.core.env.Environment; @@ -25,6 +27,7 @@ import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.concurrent.TimeUnit; @Log4j2 @AllArgsConstructor @@ -32,6 +35,7 @@ public class LocalServerLoginAccountsInterceptor extends HandlerInterceptorAdapt private final BladeRedis bladeRedis; private final Environment environment; + private final RedisLockClient redisLockClient; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws CustomerException { @@ -41,20 +45,27 @@ public class LocalServerLoginAccountsInterceptor extends HandlerInterceptorAdapt String account ="shujutongbu"; JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); if(Objects.isNull(data)){ - String url = "http://"+ LauncherConstant.loginAddr(Objects.requireNonNull(environment.getActiveProfiles()[0]))+"/blade-auth/oauth/token"; - HttpRequest urlRequest = HttpRequest.post(url); - urlRequest.header("Authorization", "Basic c2FiZXI6c2FiZXJfc2VjcmV0"); - urlRequest.header("Tenant-Id", "627683"); - - Map params = new HashMap<>(); - params.put("grant_type", "local_server"); - params.put("scope", "all"); - params.put("username", account); - params.put("tenantId", "627683"); - HttpResponse execute = urlRequest.form(params).execute(); - String body = execute.body(); - data = JSONObject.parseObject(body); - bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,3200L); + boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); + if(flag){ + data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); + if(Objects.isNull(data)){ + String url = "http://"+ LauncherConstant.loginAddr(Objects.requireNonNull(environment.getActiveProfiles()[0]))+"/blade-auth/oauth/token"; + HttpRequest urlRequest = HttpRequest.post(url); + urlRequest.header("Authorization", "Basic c2FiZXI6c2FiZXJfc2VjcmV0"); + urlRequest.header("Tenant-Id", "627683"); + + Map params = new HashMap<>(); + params.put("grant_type", "local_server"); + params.put("scope", "all"); + params.put("username", account); + params.put("tenantId", "627683"); + HttpResponse execute = urlRequest.form(params).execute(); + String body = execute.body(); + data = JSONObject.parseObject(body); + bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,20L); + redisLockClient.unLock("local_server_user", LockType.FAIR); + } + } } // 修改或添加header From 8730d2ad45c4e2ca0fcf298c7b92f58497777ebe Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Tue, 14 May 2024 17:41:06 +0800 Subject: [PATCH 10/18] =?UTF-8?q?=E5=A4=87=E8=B4=A7=E5=BA=93=E4=BD=8D?= =?UTF-8?q?=E4=B8=8A=E6=9E=B6=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DistributionStockupAppController.java | 46 ++++++++++--------- .../impl/DistributionStockupServiceImpl.java | 19 ++++---- 2 files changed, 35 insertions(+), 30 deletions(-) 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 2f075907a..8310af7b6 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 @@ -1461,14 +1461,16 @@ public class DistributionStockupAppController extends BladeController { String audioValue = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.saomiaochenggong.getValue()); //进行备货库位上架 - JSONObject jsonObject = new JSONObject(); - jsonObject.put("warehouseId", myCurrentWarehouse.getId()); - jsonObject.put("code",packetBarCode); -// jsonObject.put("stockUpAllocationId", stockupDTO.getStockupAllocationId()); - jsonObject.put("type", 2); - jsonObject.put("num", 1); - //TODO - warehouseUpdownStockUpAreaClient.upStockUpShelf(jsonObject); + if (!Func.isEmpty(stockupDTO.getStockupAllocationId())){ + JSONObject jsonObject = new JSONObject(); + jsonObject.put("warehouseId", myCurrentWarehouse.getId()); + jsonObject.put("code",packetBarCode); + jsonObject.put("stockUpAllocationId", stockupDTO.getStockupAllocationId()); + jsonObject.put("type", 2); + jsonObject.put("num", 1); + warehouseUpdownStockUpAreaClient.upStockUpShelf(jsonObject); + } + //扫码成功 return Resp.scanSuccess(PdaAudioLingoStatus.saomiaochenggong.getName(), audioValue); case 2: @@ -1534,7 +1536,7 @@ public class DistributionStockupAppController extends BladeController { String packetBarCode = stockupDTO.getPacketBarCode();//包件码 Long stockupId = stockupDTO.getStockupId();//备货任务ID Long reservationId = stockupDTO.getReservationId();//预约单id - Long stockUpAllocationId = stockupDTO.getStockupAllocationId();//备货库位ID +// Long stockUpAllocationId = stockupDTO.getStockupAllocationId();//备货库位ID if (Objects.isNull(myCurrentWarehouse)) { log.warn("##################stockupScan: 未选择仓库,订单自编号为空"); return R.fail(403,"未授权!!"); @@ -1555,10 +1557,10 @@ public class DistributionStockupAppController extends BladeController { log.warn("##################stockupScan: 包件扫码,预约单id为空"); return R.fail("包件扫码:预约单id不能为空"); } - if (Objects.isNull(stockUpAllocationId)) { - log.warn("##################stockupScan: 备货库位不存在,stockUpAllocationId:{}",stockUpAllocationId); - return Resp.scanFail("请扫描备货库位","请扫描备货库位"); - } +// if (Objects.isNull(stockUpAllocationId)) { +// log.warn("##################stockupScan: 备货库位不存在,stockUpAllocationId:{}",stockUpAllocationId); +// return Resp.scanFail("请扫描备货库位","请扫描备货库位"); +// } Integer integer = distributionStockupService.selectPackage(stockupDTO); switch (integer) { @@ -1654,14 +1656,16 @@ public class DistributionStockupAppController extends BladeController { }); //查询是否货位数据是否该下架 - JSONObject jsonObject = new JSONObject(); - jsonObject.put("warehouseId", myCurrentWarehouse.getId()); - jsonObject.put("code",packetBarCode); - jsonObject.put("stockUpAllocationId", stockupDTO.getStockupAllocationId()); - jsonObject.put("type", 1); - jsonObject.put("num", 1); - //进行了备货库位的选择才进行备货库位的上架 - warehouseUpdownStockUpAreaClient.upStockUpShelf(jsonObject); + if (!Func.isEmpty(stockupDTO.getStockupAllocationId())){ + JSONObject jsonObject = new JSONObject(); + jsonObject.put("warehouseId", myCurrentWarehouse.getId()); + jsonObject.put("code",packetBarCode); + jsonObject.put("stockUpAllocationId", stockupDTO.getStockupAllocationId()); + jsonObject.put("type", 1); + jsonObject.put("num", 1); + //进行了备货库位的选择才进行备货库位的上架 + warehouseUpdownStockUpAreaClient.upStockUpShelf(jsonObject); + } //修改包件备货状态 DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity(); parcelListEntity.setId(entity.getParcelListId()); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java index 5ea0ac7ad..8cd285367 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java @@ -2692,15 +2692,16 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl Date: Tue, 14 May 2024 17:59:49 +0800 Subject: [PATCH 11/18] =?UTF-8?q?1.=E5=B9=B2=E7=BA=BF-bug=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/TrunklineAdvanceDetailMapper.xml | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceDetailMapper.xml b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceDetailMapper.xml index a64eb3e5f..e37b7acf9 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceDetailMapper.xml +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceDetailMapper.xml @@ -350,18 +350,10 @@ From 3daf0be1a3299086b7938d7bc9c43bf27d81250f Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Tue, 14 May 2024 18:21:19 +0800 Subject: [PATCH 12/18] =?UTF-8?q?=E5=A4=87=E8=B4=A7=E5=BA=93=E4=BD=8D?= =?UTF-8?q?=E4=B8=8A=E6=9E=B6=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../appcontroller/DistributionStockupAppController.java | 6 ------ 1 file changed, 6 deletions(-) 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 8310af7b6..ee6958b70 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 @@ -1591,12 +1591,6 @@ public class DistributionStockupAppController extends BladeController { entity.setBillLadingId(reservationId); DistributionStockupEntity byId = distributionStockupService.getById(stockupId); entity.setStockupArea(byId.getStockupArea()); - - //修改包件备货状态 -// one.setOrderPackageStockupStatus(StockupStatusConstant.yibeihuo.getValue()); - //todo 待下架操作 -// warehouseUpdownTypeClient.downPackage(stockupDTO.getPacketBarCode()); -// distributionParcelListService.updateById(one); } else { entity.setReservationId(reservationId); } From 22bba8cb4aadd0c3ddaa67e234cf0c44330c4bcb Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Tue, 14 May 2024 18:29:04 +0800 Subject: [PATCH 13/18] =?UTF-8?q?=E5=A4=87=E8=B4=A7=E5=BA=93=E4=BD=8D?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DistributionStockupAppController.java | 38 +++++++-------- .../distribution/dto/app/StockupDTO.java | 2 +- .../distribution/dto/app/StockupZeroDTO.java | 2 +- .../impl/DistributionStockupServiceImpl.java | 47 ++++++++++--------- 4 files changed, 45 insertions(+), 44 deletions(-) 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 ee6958b70..1c92c0d2d 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 @@ -1461,15 +1461,15 @@ public class DistributionStockupAppController extends BladeController { String audioValue = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.saomiaochenggong.getValue()); //进行备货库位上架 - if (!Func.isEmpty(stockupDTO.getStockupAllocationId())){ - JSONObject jsonObject = new JSONObject(); - jsonObject.put("warehouseId", myCurrentWarehouse.getId()); - jsonObject.put("code",packetBarCode); - jsonObject.put("stockUpAllocationId", stockupDTO.getStockupAllocationId()); - jsonObject.put("type", 2); - jsonObject.put("num", 1); - warehouseUpdownStockUpAreaClient.upStockUpShelf(jsonObject); - } +// if (!Func.isEmpty(stockupDTO.getStockupAllocationId())){ +// JSONObject jsonObject = new JSONObject(); +// jsonObject.put("warehouseId", myCurrentWarehouse.getId()); +// jsonObject.put("code",packetBarCode); +// jsonObject.put("stockUpAllocationId", stockupDTO.getStockupAllocationId()); +// jsonObject.put("type", 2); +// jsonObject.put("num", 1); +// warehouseUpdownStockUpAreaClient.upStockUpShelf(jsonObject); +// } //扫码成功 return Resp.scanSuccess(PdaAudioLingoStatus.saomiaochenggong.getName(), audioValue); @@ -1650,16 +1650,16 @@ public class DistributionStockupAppController extends BladeController { }); //查询是否货位数据是否该下架 - if (!Func.isEmpty(stockupDTO.getStockupAllocationId())){ - JSONObject jsonObject = new JSONObject(); - jsonObject.put("warehouseId", myCurrentWarehouse.getId()); - jsonObject.put("code",packetBarCode); - jsonObject.put("stockUpAllocationId", stockupDTO.getStockupAllocationId()); - jsonObject.put("type", 1); - jsonObject.put("num", 1); - //进行了备货库位的选择才进行备货库位的上架 - warehouseUpdownStockUpAreaClient.upStockUpShelf(jsonObject); - } +// if (!Func.isEmpty(stockupDTO.getStockupAllocationId())){ +// JSONObject jsonObject = new JSONObject(); +// jsonObject.put("warehouseId", myCurrentWarehouse.getId()); +// jsonObject.put("code",packetBarCode); +// jsonObject.put("stockUpAllocationId", stockupDTO.getStockupAllocationId()); +// jsonObject.put("type", 1); +// jsonObject.put("num", 1); +// //进行了备货库位的选择才进行备货库位的上架 +// warehouseUpdownStockUpAreaClient.upStockUpShelf(jsonObject); +// } //修改包件备货状态 DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity(); parcelListEntity.setId(entity.getParcelListId()); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupDTO.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupDTO.java index 4c9d87751..47659be92 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupDTO.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupDTO.java @@ -13,7 +13,7 @@ public class StockupDTO implements Serializable { private String stockupDateEnd;//备货日期 private Integer status;//0未完成 1已完成 - private Long stockupAllocationId;//0未完成 1已完成 +// private Long stockupAllocationId;//0未完成 1已完成 private String stockupAllocationName;//0未完成 1已完成 /** diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupZeroDTO.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupZeroDTO.java index cc4dbfc37..836306525 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupZeroDTO.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupZeroDTO.java @@ -22,7 +22,7 @@ public class StockupZeroDTO implements Serializable { private String typeService;//备货类型 3 自提 private Long reservationId;//预约单id private Integer num;//预约单id - private Long stockupAllocationId;//备货库位Id +// private Long stockupAllocationId;//备货库位Id private String stockupAllocationName;//备货库位Id } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java index 8cd285367..bb1a3a515 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java @@ -1997,14 +1997,15 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl Date: Tue, 14 May 2024 18:54:36 +0800 Subject: [PATCH 14/18] =?UTF-8?q?1.=E5=B9=B2=E7=BA=BF-bug=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/TrunklineAdvanceServiceImpl.java | 122 +++++++++++------- .../impl/TrunklineCarsLoadServiceImpl.java | 26 ++-- 2 files changed, 86 insertions(+), 62 deletions(-) diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceServiceImpl.java index ea028ac24..226cfe139 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceServiceImpl.java @@ -456,8 +456,12 @@ public class TrunklineAdvanceServiceImpl extends BaseServiceImpl Date: Tue, 14 May 2024 20:08:24 +0800 Subject: [PATCH 15/18] =?UTF-8?q?1.=E5=B9=B2=E7=BA=BF-bug=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trunkline/mq/OpenOrderToLoadListener.java | 28 ++++++++++++++----- .../service/impl/InComingServiceImpl.java | 2 +- .../TrunklineAdvanceDetailServiceImpl.java | 2 +- .../impl/TrunklineCarsLoadServiceImpl.java | 10 +++---- 4 files changed, 27 insertions(+), 15 deletions(-) diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mq/OpenOrderToLoadListener.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mq/OpenOrderToLoadListener.java index 0e0da40b5..5b106c18b 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mq/OpenOrderToLoadListener.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mq/OpenOrderToLoadListener.java @@ -3,10 +3,8 @@ package com.logpm.trunkline.mq; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; -import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity; -import com.logpm.trunkline.entity.TrunklineCarsLoadLineEntity; -import com.logpm.trunkline.entity.TrunklineCarsLoadScanEntity; -import com.logpm.trunkline.entity.TrunklineCarsOrderEntity; +import com.logpm.trunkline.dto.InComingDTO; +import com.logpm.trunkline.entity.*; import com.logpm.trunkline.service.*; import com.rabbitmq.client.Channel; import lombok.AllArgsConstructor; @@ -27,13 +25,14 @@ import java.util.*; @RabbitListener(queues = RabbitConstant.OPEN_ORDER_LOAD_SCAN_QUEUE) public class OpenOrderToLoadListener { + private final ITrunklineAdvanceService advanceService; private final ITrunklineAdvanceDetailService advanceDetailService; private final ITrunklineCarsLoadScanService carsLoadScanService; private final ITrunklineCarsLoadService carsLoadService; private final ITrunklineCarsOrderService carsOrderService; private final ITrunklineCarsLoadLineService carsLoadLineService; private final ITrunklineWaybillOrderService waybillOrderService; - + private final IInComingService inComingService; @RabbitHandler @Transactional(rollbackFor = Exception.class) @@ -48,6 +47,7 @@ public class OpenOrderToLoadListener { Set loadIds = new HashSet<>(); for (Object object : advanceIds) { Long advanceId = (Long) object; + TrunklineAdvanceEntity advanceEntity = advanceService.getById(advanceId); List advanceDetailEntityList = advanceDetailService.findListByAdvanceId(advanceId); for (TrunklineAdvanceDetailEntity advanceDetailEntity : advanceDetailEntityList) { String orderPackageCode = advanceDetailEntity.getOrderPackageCode(); @@ -61,7 +61,21 @@ public class OpenOrderToLoadListener { carsLoadScanEntity.setIsSupple(1); carsLoadScanEntity.setLoadingAbnormal(0); carsLoadScanEntity.setUnloadAbnormal(0); + String packageStatus = advanceDetailEntity.getPackageStatus(); + if("0".equals(packageStatus)){ + //未入库,强制入库 + Long warehouseId = advanceDetailEntity.getWarehouseId(); + InComingDTO inComingDTO = new InComingDTO(); + inComingDTO.setOrderPackageCode(orderPackageCode); + inComingDTO.setIncomingType(10); + inComingDTO.setWarehouseId(warehouseId); + inComingService.incomingPackage(inComingDTO); + carsLoadScanEntity.setFromWarehouseId(warehouseId); + }else{ + carsLoadScanEntity.setFromWarehouseId(advanceDetailEntity.getIncomingWarehouseId()); + } carsLoadScanService.updateById(carsLoadScanEntity); + Long loadId = carsLoadScanEntity.getLoadId(); Long warehouseId = carsLoadScanEntity.getWarehouseId(); String warehouseName = carsLoadScanEntity.getWarehouseName(); @@ -87,8 +101,8 @@ public class OpenOrderToLoadListener { trunklineCarsOrderEntity.setLoadLineId(carsLoadLineEntity.getId()); trunklineCarsOrderEntity.setOrderCode(orderCode); trunklineCarsOrderEntity.setWaybillNo(waybillNo); - Integer totalNum = waybillOrderService.findTotalNumByWaybillNoAndOrderCode(waybillId,orderCode); - trunklineCarsOrderEntity.setTotalNum(totalNum); +// Integer totalNum = waybillOrderService.findTotalNumByWaybillNoAndOrderCode(waybillId,orderCode); + trunklineCarsOrderEntity.setTotalNum(advanceEntity.getTotalNum()); trunklineCarsOrderEntity.setPlanNum(0); trunklineCarsOrderEntity.setIsCustomer("0"); trunklineCarsOrderEntity.setRealNum(0); diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java index 7be1e44fb..ce34756e0 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java @@ -49,7 +49,7 @@ public class InComingServiceImpl implements IInComingService { Long warehouseId = inComingDTO.getWarehouseId();//仓库id String warehouseName = inComingDTO.getWarehouseName(); Long billladingId = inComingDTO.getBillladingId();//提货单id - Integer incomingType = inComingDTO.getIncomingType();//入库类型 1码板打托 2扫码入库 3直接入库 4 按车次号入库 5按订单入库 6扫描入库 7 批量卸车入库 8卸车托盘 9卸分一体 + Integer incomingType = inComingDTO.getIncomingType();//入库类型 1码板打托 2扫码入库 3直接入库 4 按车次号入库 5按订单入库 6扫描入库 7 批量卸车入库 8卸车托盘 9卸分一体 10补录数据入库 String trayCode = inComingDTO.getTrayCode();//托盘码 String trayType = inComingDTO.getTrayType();//打托方式 diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java index 651f06f54..3dbeafe4d 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java @@ -184,7 +184,7 @@ public class TrunklineAdvanceDetailServiceImpl extends BaseServiceImpl Date: Tue, 14 May 2024 20:24:51 +0800 Subject: [PATCH 16/18] =?UTF-8?q?1.=E5=B9=B2=E7=BA=BF-=E5=8D=B8=E8=BD=A6?= =?UTF-8?q?=E6=8A=A5=E5=91=8A=E6=97=A5=E5=BF=97=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logpm/trunkline/service/impl/CarsLoadAsyncServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/CarsLoadAsyncServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/CarsLoadAsyncServiceImpl.java index d8cf20ae1..b2b248501 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/CarsLoadAsyncServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/CarsLoadAsyncServiceImpl.java @@ -27,7 +27,6 @@ import org.springframework.amqp.rabbit.connection.CorrelationData; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; -import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import java.math.BigDecimal; @@ -418,6 +417,8 @@ public class CarsLoadAsyncServiceImpl implements ICarsLoadAsyncService { @Override public void abnormalListUnloadCheckByLoadIdAndWarehouseId(Long loadId, Long warehouseId, String warehouseName, String tenantId, Long userId, String nickName, Long deptId) { + log.info("################abnormalListUnloadCheckByLoadIdAndWarehouseId: 卸车报告生成开始 loadId={}",loadId); + UnloadReportVO unloadReportVO = trunklineCarsLoadScanService.findUnloadReport(loadId,warehouseId); TrunklineCarsLoadLineEntity carsLoadLineEntity = trunklineCarsLoadLineService.findEntityByLoadIdAndNodeId(loadId, warehouseId); if(!Objects.isNull(carsLoadLineEntity)){ From 0522c56731cba9fd2e17e83b94a0c15848faacc8 Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Tue, 14 May 2024 20:36:43 +0800 Subject: [PATCH 17/18] =?UTF-8?q?1.=E5=B9=B2=E7=BA=BF-=E5=8D=B8=E8=BD=A6?= =?UTF-8?q?=E6=8A=A5=E5=91=8Abug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 abc93ea47..80e714375 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 @@ -705,7 +705,7 @@ sum(IF(ltcls.unload_node_id = #{warehouseId} and ltcls.type = 2 and ltcls.scan_status = '1',ltcls.unload_num,0)) manualNum from logpm_trunkline_cars_load_scan ltcls left join logpm_trunkline_cars_order ltco on ltco.waybill_id = ltcls.waybill_id and ltco.order_code = ltcls.order_code and ltco.load_id = #{loadId} - where ltcls.load_id = + where ltcls.load_id = #{loadId}