From f9cf15592fbb18a59d2a6564ec6543e6ea24f411 Mon Sep 17 00:00:00 2001 From: "0.0" <1092404103.qq.com> Date: Thu, 21 Sep 2023 11:59:40 +0800 Subject: [PATCH 01/38] =?UTF-8?q?1.=E4=BC=98=E5=8C=96=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WarehouseGoodsAllocationController.java | 58 +++++++++---------- .../impl/WarehouseUpdownTypeServiceImpl.java | 8 +++ 2 files changed, 37 insertions(+), 29 deletions(-) diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseGoodsAllocationController.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseGoodsAllocationController.java index e6ac98e19..a35b026d7 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseGoodsAllocationController.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseGoodsAllocationController.java @@ -270,9 +270,9 @@ public class WarehouseGoodsAllocationController extends BladeController { } R r = warehouseUpdownTypeService.upShelfPackage(upShelfPackageList, allocationId,myCurrentWarehouse.getId()); - if (r.getCode() == 200) { - warehouseGoodsAllocationService.updateAllocationCache(allocationId.toString()); - } +// if (r.getCode() == 200) { +// warehouseGoodsAllocationService.updateAllocationCache(allocationId.toString()); +// } return r; } @@ -294,9 +294,9 @@ public class WarehouseGoodsAllocationController extends BladeController { } //上架托盘 R r = warehouseUpdownTypeService.upShelfTray(trayCode, allocationId,myCurrentWarehouse.getId()); - if (r.getCode() == 200) { - warehouseGoodsAllocationService.updateAllocationCache(allocationId.toString()); - } +// if (r.getCode() == 200) { +// warehouseGoodsAllocationService.updateAllocationCache(allocationId.toString()); +// } return r; } @@ -319,9 +319,9 @@ public class WarehouseGoodsAllocationController extends BladeController { //查询该库位的货物信息 R r = warehouseUpdownTypeService.upShelfStockList(upShelfStockList, allocationId,myCurrentWarehouse.getId()); - if (r.getCode() == 200) { - warehouseGoodsAllocationService.updateAllocationCache(allocationId.toString()); - } +// if (r.getCode() == 200) { +// warehouseGoodsAllocationService.updateAllocationCache(allocationId.toString()); +// } return r; } @@ -345,9 +345,9 @@ public class WarehouseGoodsAllocationController extends BladeController { //查询该库位的货物信息 R r = warehouseUpdownTypeService.upShelfZeroOrder(upShelfZeroOrderList, allocationId,myCurrentWarehouse.getId()); - if (r.getCode() == 200) { - warehouseGoodsAllocationService.updateAllocationCache(allocationId.toString()); - } +// if (r.getCode() == 200) { +// warehouseGoodsAllocationService.updateAllocationCache(allocationId.toString()); +// } return r; } @@ -375,12 +375,12 @@ public class WarehouseGoodsAllocationController extends BladeController { @ApiOperationSupport(order = 18) @ApiOperation(value = "货位 统计所有库位数量") public R locationsnub() { -// if (null !=bladeRedis.get(Url+"/locationsnub)")){ -// log.info("缓存取值>>>>>>>>>>"); -// return R.data(bladeRedis.get(Url+"/locationsnub")); -// } + if (null !=bladeRedis.get(Url+"/locationsnub)")){ + log.info("缓存取值>>>>>>>>>>"); + return R.data(bladeRedis.get(Url+"/locationsnub")); + } locationsnubVO locationsnubVO = warehouseGoodsAllocationService.selectlocationsnub(); - //bladeRedis.setEx(Url+"/locationsnub",locationsnubVO,360L); + bladeRedis.setEx(Url+"/locationsnub",locationsnubVO,360L); return R.data(locationsnubVO); } @@ -458,10 +458,10 @@ public class WarehouseGoodsAllocationController extends BladeController { } try { R r = warehouseUpdownTypeService.downPackage(upShelfPackageList); - if (r.getCode() == 200) { - String prefix = Url+"/*"; - bladeRedis.del(bladeRedis.keys(prefix)); - } +// if (r.getCode() == 200) { +// String prefix = Url+"/*"; +// bladeRedis.del(bladeRedis.keys(prefix)); +// } return r; } catch (CustomerException e) { log.warn(e.message); @@ -485,10 +485,10 @@ public class WarehouseGoodsAllocationController extends BladeController { } try { R r = warehouseUpdownTypeService.downZeroOrder(upShelfZeroOrderList); - if (r.getCode() == 200) { - String prefix = Url+"/*"; - bladeRedis.del(bladeRedis.keys(prefix)); - } +// if (r.getCode() == 200) { +// String prefix = Url+"/*"; +// bladeRedis.del(bladeRedis.keys(prefix)); +// } return r; } catch (CustomerException e) { log.warn(e.message); @@ -513,10 +513,10 @@ public class WarehouseGoodsAllocationController extends BladeController { } try { R r = warehouseUpdownTypeService.downStock(upShelfStockList); - if (r.getCode() == 200) { - String prefix = Url+"/*"; - bladeRedis.del(bladeRedis.keys(prefix)); - } +// if (r.getCode() == 200) { +// String prefix = Url+"/*"; +// bladeRedis.del(bladeRedis.keys(prefix)); +// } return r; } catch (CustomerException e) { log.warn(e.message); diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java index 509136b12..b016a85c3 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java @@ -649,6 +649,8 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl0){msg = msg+s+"超出输入数量,或输入数量为0,请输入正确数量再进行操作";} return Resp.scanSuccess(msg,"成功上架"+num+"件"); } @@ -1871,6 +1877,8 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl Date: Thu, 21 Sep 2023 14:08:32 +0800 Subject: [PATCH 02/38] =?UTF-8?q?=E9=9B=B6=E6=8B=85=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=9F1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-prod.yml | 26 +++++++++++++++++++ .../impl/WarehouseWaybillServiceImpl.java | 14 +++++++--- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/blade-service/logpm-distribution/src/main/resources/application-prod.yml b/blade-service/logpm-distribution/src/main/resources/application-prod.yml index 3dd1b224d..94d36fb66 100644 --- a/blade-service/logpm-distribution/src/main/resources/application-prod.yml +++ b/blade-service/logpm-distribution/src/main/resources/application-prod.yml @@ -29,3 +29,29 @@ spring: url: ${blade.datasource.distribution.slave.url} username: ${blade.datasource.distribution.slave.username} password: ${blade.datasource.distribution.slave.password} + #rabbitmq配置 + rabbitmq: + host: 172.16.128.146 + port: 5672 + username: admin + password: Slwk@123654 + #虚拟host 可以不设置,使用server默认host + virtual-host: / + #确认消息已发送到队列(Queue) + publisher-returns: true + publisher-confirm-type: correlated + # 手动提交消息 + listener: + simple: + acknowledge-mode: auto + default-requeue-rejected: false + retry: + enabled: true # 开启消费者失败重试 + initial-interval: 1000 # 初识的失败等待时长为1秒 + multiplier: 1 # 失败的等待时长倍数,下次等待时长 = multiplier * last-interval + max-attempts: 3 # 最大重试次数 + stateless: true # true无状态;false有状态。如果业务中包含事务,这里改为false + direct: + acknowledge-mode: manual + template: + mandatory: true diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java index 3689f571b..659c8a8e9 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java @@ -170,11 +170,11 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl Date: Thu, 21 Sep 2023 14:52:28 +0800 Subject: [PATCH 03/38] =?UTF-8?q?1.=E5=BA=93=E5=86=85=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WarehouseUpdownTypeServiceImpl.java | 11 +++++++++++ .../service/impl/WarehouseWaybillServiceImpl.java | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java index b016a85c3..8f9383b9a 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java @@ -316,6 +316,11 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl Date: Thu, 21 Sep 2023 14:56:32 +0800 Subject: [PATCH 04/38] =?UTF-8?q?=E9=9B=B6=E6=8B=85=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=9F2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../warehouse/service/impl/WarehouseWaybillServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java index ef5afd1dc..83150fe49 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java @@ -93,6 +93,9 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl waybillQueryWrapper = new QueryWrapper<>(); waybillQueryWrapper.eq("waybill_no", waybillNo); From f2bd9e0a80b17138fe235b4eb090869b634ec6e0 Mon Sep 17 00:00:00 2001 From: caoyizhong <1270296080@qq.com> Date: Thu, 21 Sep 2023 17:31:55 +0800 Subject: [PATCH 05/38] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vo/DistributionStockupSelfVO.java | 1 + .../vo/DistributionStockupStockListVO.java | 6 +- .../vo/DistributionStockupTrayVO.java | 4 + .../DistributionStockupAppController.java | 29 ++- .../dto/DistributionStockDTO.java | 2 +- .../distribution/dto/app/StockupDTO.java | 1 + .../mapper/DistributionStockMapper.xml | 8 +- .../mapper/DistributionStockupMapper.java | 16 +- .../mapper/DistributionStockupMapper.xml | 63 ++++-- .../mapper/DistrilbutionBillStockMapper.xml | 2 +- .../service/IDistributionStockupService.java | 14 +- .../DistributionParcelListServiceImpl.java | 2 +- .../impl/DistributionStockServiceImpl.java | 5 +- .../impl/DistributionStockupServiceImpl.java | 46 +++- .../WarehouseWarehousingEntryController.java | 1 + .../dto/WarehouseWarehousingEntryDTO.java | 1 + .../WarehouseWarehousingEntryServiceImpl.java | 199 +++++++++++------- 17 files changed, 278 insertions(+), 122 deletions(-) diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupSelfVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupSelfVO.java index 33a660f71..fa93c1a9e 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupSelfVO.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupSelfVO.java @@ -22,6 +22,7 @@ public class DistributionStockupSelfVO { private Long ldsId; // 扫码ID private Long allocationId; // 货位ID private Long parcelListId; // 包件ID + private Long stockArticleId; // 订单ID } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupStockListVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupStockListVO.java index e9ae58cef..e22c85bb8 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupStockListVO.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupStockListVO.java @@ -7,10 +7,12 @@ import java.io.Serializable; @Data public class DistributionStockupStockListVO implements Serializable { - private Long stockListId; + private Long stockListId;//库存品id - private String allocation;//货位 + private Long deliveryDetailsId; //自提库存品id + private String allocation;//货位 + private boolean completeStact;//货位配货状态 private String materialName;//物品名称 private String sku;//sku diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupTrayVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupTrayVO.java index facffd46d..4bb93619c 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupTrayVO.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupTrayVO.java @@ -14,5 +14,9 @@ import java.io.Serializable; public class DistributionStockupTrayVO implements Serializable { private String associationId; //包件ID private String associationValue; // 包件编码 + private String positionCode; // 包件编码 + private String allocationId; // 包件编码 + private String allocationTitle; // 包件编码 + private String num; // 包件编码 } 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 247ccbaa2..278f23c18 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 @@ -30,6 +30,7 @@ import com.logpm.distribution.service.*; import com.logpm.distribution.vo.*; import com.logpm.warehouse.entity.WarehouseGoodsAllocationEntity; import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity; +import com.logpm.warehouse.entity.WarehouseWarehousingEntryEntity; import com.logpm.warehouse.feign.IWarehouseGoodsAllocationClient; import com.logpm.warehouse.feign.IWarehouseUpdownGoodsClient; import com.logpm.warehouse.feign.IWarehouseUpdownGoodsLogClient; @@ -197,14 +198,18 @@ public class DistributionStockupAppController extends BladeController { Long reservationId = stockupDTO.getReservationId(); if (stockupDTO.getTypeService().equals("3")) { //自提 - //查询备货区信息 - DistributionStockupSelfVO distributionStockupSelfVO = distributionStockupService.selectStockupDetails(reservationId); - map = convertObjectToMap(distributionStockupSelfVO); + if (orderStatus.equals(1)) { + //查询备货区信息 + DistributionStockupSelfVO distributionStockupSelfVO = distributionStockupService.selectStockupDetails(reservationId); + map = convertObjectToMap(distributionStockupSelfVO); //客户订单 List list = distributionStockupService.selectStockupOrderList(stockupDTO); map.put("orderList", list); } else { + //查询备货区信息 + DistributionStockupSelfVO distributionStockupSelfVO = distributionStockupService.selectStockupStockListDetails(reservationId); + map = convertObjectToMap(distributionStockupSelfVO); //库存品 List list = distributionStockupService.selectStockupStockList(stockupDTO); map.put("stockList", list); @@ -276,7 +281,7 @@ public class DistributionStockupAppController extends BladeController { return R.fail(3002, "备货任务Id为空"); } if (ObjectUtils.isNull(status)) { - log.warn("##############status: 货位状态为空 allocation={}", stockupId); + log.warn("##############status: 货位状态为空 status={}", status); return R.fail(3002, "货位状态为空"); } //查询自提还是商 市 @@ -304,6 +309,10 @@ public class DistributionStockupAppController extends BladeController { } else if (orderStatus == 2) { //库存品 Long stockListId = stockupDTO.getStockListId();//库存品id + if (ObjectUtils.isNull(allocationId)) { + log.warn("##############allocationId: 货位状态为空 allocationId={}", allocationId); + return R.fail(3002, "货位id为空"); + } if (Objects.isNull(stockListId)) { return R.fail(3002, "库存品id为空"); @@ -311,7 +320,7 @@ public class DistributionStockupAppController extends BladeController { //查询自提还是商 市 if (byId.getTypeService().equals("3")) { //自 - DistributionStockupStockListInfoVO infoVO = distributionStockupService.selectStockListInfoSelf(reservationId, stockListId); + DistributionStockupStockListInfoVO infoVO = distributionStockupService.selectStockListInfoSelf(reservationId, stockListId,allocationId); return R.data(infoVO); } else { DistributionStockupStockListInfoVO infoVO = distributionStockupService.selectStockListInfo(reservationId, stockListId); @@ -365,6 +374,16 @@ public class DistributionStockupAppController extends BladeController { R b = distributionStockupService.addPackTrayList(stockupDTO); return b; } + @PostMapping("/locationSelection") + @ApiOperation(value = "库存品选择货位展示") + public R> locationSelection(@RequestBody StockupDTO stockupDTO) { + if (ObjectUtils.isNull(stockupDTO.getDeliveryDetailsId())) { + log.warn("############备货库存品ID为空:{}",stockupDTO.getDeliveryDetailsId()); + return R.fail(3002, "备货库存品ID不能为空"); + } + List list = distributionStockupService.getLocationSelection(stockupDTO); + return R.data(list); + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockDTO.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockDTO.java index 53379bb5b..ddd5f1378 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockDTO.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockDTO.java @@ -34,7 +34,7 @@ public class DistributionStockDTO extends DistributionStockEntity { private static final long serialVersionUID = 1L; private List ids; //包件ID private String goodsAreaId; //备货区 -// private String stockupId; //配货id + private Long stockupId; //配货id private String stockupArea; //名称 private String stockupType; //标识 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 a77b79855..a313d4400 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 @@ -43,6 +43,7 @@ public class StockupDTO implements Serializable { private String cargoUnit;//单位 private Long userId;//当前操作人 + private String deliveryDetailsId;//当前操作人 //扫码参数 private Integer scanType;//备货扫码类型 1 包件 2库存品 diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockMapper.xml index 3a8cdaf64..e4954f3c0 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockMapper.xml @@ -97,19 +97,15 @@ ) 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 d1fb051fb..f91c486a3 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 @@ -22,10 +22,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.logpm.distribution.dto.app.StockupDTO; import com.logpm.distribution.entity.DistributionStockupEntity; import com.logpm.distribution.excel.DistributionStockupExcel; -import com.logpm.distribution.vo.DistributionStockupListVO; -import com.logpm.distribution.vo.DistributionStockupSelfVO; -import com.logpm.distribution.vo.DistributionStockupStockListVO; -import com.logpm.distribution.vo.DistributionStockupVO; +import com.logpm.distribution.vo.*; +import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -145,6 +143,9 @@ public interface DistributionStockupMapper extends BaseMapper selectStockupSelf(@Param("reservationId")Long reservationId); /** @@ -184,4 +185,11 @@ public interface DistributionStockupMapper extends BaseMapper stockupOffShelf(@Param("param")StockupDTO stockupDTO); + + /** + * + * @param stockupDTO + * @return + */ + List getLocationSelection(StockupDTO stockupDTO); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml index 0c9ac3a85..bd352e9b1 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml @@ -67,6 +67,15 @@ ldbs.order_status in (1,2) and ldbs.bill_lading_id = #{param.reservationId} + @@ -407,6 +418,30 @@ where ldsi.reservation_id = #{reservationId} + SELECT CASE - WHEN lds.driver_signing = '2' THEN '司机签收' WHEN lds.signing_status = '2' THEN - '文员签收' ELSE '待签收' + '文员审核' ELSE '待签收' END signingStatusAll, CASE - WHEN ldr.is_urgent = '1' THEN '否' WHEN ldr.is_urgent = '2' THEN '是' @@ -511,6 +509,12 @@ lds.delivery_sign_pictures deliverySignPictures, ldr.reservation_date reservationDate, lds.positioning_adr positioningAdr, + lddl.train_number trainNumber, + lddl.vehicle_name vehicleName, + lddl.driver_name driverName, + lddl.driver_name driverName, + lddl.loading_team_name loadingTeamName, + lddl.unloading_team_name unLoadingTeamName, CASE WHEN ldr.delivery_type = '1' THEN '商配' diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java index fc89c988d..6d79177b1 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java @@ -740,8 +740,8 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { @Override @Transactional(isolation = Isolation.READ_UNCOMMITTED, rollbackFor = Exception.class) public void checkStockArticleSignStatus(DistributionParcelListEntity parcelListEntity) { - parcelListEntity.setOrderPackageStatus(OrderPackageStatusConstant.yiqianshou.getValue()); - distributionParcelListService.updateById(parcelListEntity); +// parcelListEntity.setOrderPackageStatus(OrderPackageStatusConstant.yiqianshou.getValue()); +// distributionParcelListService.updateById(parcelListEntity); List parcelListEntityList = distributionParcelListService.getBaseMapper().selectList(Wrappers.query().lambda().eq(DistributionParcelListEntity::getStockArticleId, parcelListEntity.getStockArticleId())); boolean flag = parcelListEntityList.stream().allMatch(p -> p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())); DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(parcelListEntity.getStockArticleId()); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java index 0db34bb5a..c956a2916 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java @@ -35,6 +35,8 @@ import com.logpm.distribution.wrapper.DistributionParcelListWrapper; import com.logpm.distribution.wrapper.DistributionReservationWrapper; import com.logpm.distribution.wrapper.DistributionStockArticleWrapper; import com.logpm.distribution.wrapper.DistributionStockListWrapper; +import com.logpm.oldproject.entity.WayBillEntity; +import com.logpm.oldproject.feign.IWayBillClient; import com.logpm.warehouse.entity.WarehouseWaybillEntity; import com.logpm.warehouse.feign.IWarehouseWaybillClient; import lombok.extern.slf4j.Slf4j; @@ -175,6 +177,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl storeName = new HashSet<>(); HashSet mallName = new HashSet<>(); HashSet receivingUnit = new HashSet<>(); + HashSet waybillNo = new HashSet<>(); + HashSet waybillId = new HashSet<>(); + HashSet marketPhone = new HashSet<>(); AtomicReference initTotal = new AtomicReference<>(BigDecimal.ZERO); //存在订单构建预约订单关联信息 if (!Func.isEmpty(stockArticleList)) { @@ -293,6 +301,17 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl { +// WarehouseWaybillEntity byWaybillNo = warehouseWaybillClient.findByWaybillNo(s.getWaybillNumber()); + WayBillEntity wayBillEntity = wayBillClient.getByWaybillNo(s.getWaybillNumber()); + if (Func.isNotEmpty(wayBillEntity)){ + waybillId.add(wayBillEntity.getId().toString()); + } + if (Func.isNotEmpty(wayBillEntity.getTakePhone())){ + marketPhone.add(wayBillEntity.getTakePhone()); + } + if (Func.isNotEmpty(s.getWaybillNumber())){ + waybillNo.add(s.getWaybillNumber()); + } if (Func.isNotBlank(s.getServiceNumber())) { serviceNumber.add(s.getServiceNumber()); } @@ -458,6 +477,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl waybillNo = new HashSet<>(); //运单ID -------这里运单Id后续可能变更为运单号 HashSet waybillId = new HashSet<>(); + + HashSet waybillNo = new HashSet<>(); //订单服务号 HashSet serviceNumber = new HashSet<>(); //仓库名称 @@ -1449,6 +1473,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl mallName = new HashSet<>(); //门店名称 HashSet storeName = new HashSet<>(); + + //门店名称 + HashSet marketPhone = new HashSet<>(); //包件总数量 AtomicInteger packageTotal = new AtomicInteger(); // ------------------收货信息构建------------------- @@ -1461,6 +1488,25 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl consignee = new HashSet<>(); v.forEach(s->{ +// WarehouseWaybillEntity warehouseWaybillEntity = warehouseWaybillClient.findByWaybillNo(s.getWaybillNumber()); +// if (Func.isNotEmpty(warehouseWaybillEntity.getConsigneeMobile())){ +// marketPhone.add(warehouseWaybillEntity.getConsigneeMobile()); +// } +// if (Func.isNotEmpty(warehouseWaybillEntity.getConsigneeAddress())){ +// consigneeAddress.add(warehouseWaybillEntity.getConsigneeMobile()); +// } + + WayBillEntity wayBillEntity = wayBillClient.getByWaybillNo(s.getWaybillNumber()); + if (Func.isNotEmpty(wayBillEntity)){ + waybillId.add(wayBillEntity.getId().toString()); + if (Func.isNotEmpty(wayBillEntity.getTakePhone())){ + marketPhone.add(wayBillEntity.getTakePhone()); + } + if (Func.isNotEmpty(wayBillEntity.getTakeAddress())){ + consigneeAddress.add(wayBillEntity.getTakeAddress()); + } + } + //预约单数据填充 if (Func.isNotEmpty(s.getMallName())){ mallName.add(s.getMallName()); @@ -1477,8 +1523,11 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl receivingUnit = new HashSet<>(); + HashSet waybillNo = new HashSet<>(); + + HashSet waybillId = new HashSet<>(); + + HashSet marketPhone = new HashSet<>(); + AtomicReference initTotal = new AtomicReference<>(BigDecimal.ZERO); //存在订单构建预约订单关联信息 @@ -2111,6 +2174,17 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl { +// WarehouseWaybillEntity byWaybillNo = warehouseWaybillClient.findByWaybillNo(); +// String consigneeMobile = byWaybillNo.getConsigneeMobile(); + + + WayBillEntity wayBillEntity = wayBillClient.getByWaybillNo(s.getWaybillNumber()); + if (Func.isNotEmpty(wayBillEntity)) { + waybillId.add(wayBillEntity.getId().toString()); + } + if (Func.isNotEmpty(wayBillEntity.getTakePhone())){ + marketPhone.add(wayBillEntity.getTakePhone()); + } // storeName.add(s.getStoreName()); // mallName.add(s.getMallName()); // warehouseNames.add(s.getWarehouse()); @@ -2133,6 +2207,10 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl parcelListEntityList = distributionParcelListService.list(Wrappers.query().lambda().eq(DistributionParcelListEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode())); + if (Func.isNotEmpty(parcelListEntityList) && parcelListEntityList.size() == 1 ){ + DistributionParcelListEntity parcelListEntity = parcelListEntityList.get(0); + if (parcelListEntity.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())){ + return Resp.scanFail("操作失败","包件信息有误"); + } + //确认该包件确实不属于该配送任务 + List parcelListEntities = distributionDeliveryListMapper.selectPackageListByDeliveryListId(distrilbutionloadingscanDTO.getDeliveryId()); + boolean flag = parcelListEntities.stream().anyMatch(p -> p.getOrderPackageStatus().equals(distrilbutionloadingscanDTO.getBarcode())); + if (flag){ + log.error("##############包件存在该配送计划中:{}",distrilbutionloadingscanDTO.getBarcode()); + return Resp.scanFail("操作失败","包件信息有误"); + } + //查询这个包件是否满足该客户的要求 + DistributionReservationEntity reservationEntity = distributionReservationMapper.selectById(distrilbutionloadingscanDTO.getReservationId()); + DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(parcelListEntity.getStockArticleId()); + switch (reservationEntity.getDeliveryType()){ + case "1": + //商配 + if (reservationEntity.getConsignee().equals(stockArticleEntity.getConsigneePerson()) && reservationEntity.getReceivingUnit().equals(stockArticleEntity.getConsigneeAddress())){ + //这里的订单才满足被异常签收 + }else { + return Resp.scanFail("操作失败","不属于该客户"); + } + break; + case "2": + //市配 + if (reservationEntity.getConsignee().equals(stockArticleEntity.getCustomerName()) + && reservationEntity.getDeliveryPhone().equals(stockArticleEntity.getCustomerTelephone()) + && reservationEntity.getDeliveryAddress().equals(stockArticleEntity.getCustomerAddress())){ + //这里的订单才满足被异常签收 + + }else { + return Resp.scanFail("操作失败","不属于该客户"); + } + break; + } + + + }else { + log.error("############出现相同的包件码:{}",distrilbutionloadingscanDTO.getBarcode()); + return Resp.scanFail("操作失败","包件信息有误"); + } + + //获取当前用户司机 DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(distrilbutionloadingscanDTO.getDeliveryId()); DistributionDeliverySelfEntity distributionDeliverySelfEntity = new DistributionDeliverySelfEntity(); @@ -868,8 +923,6 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl().lambda() .eq(DistributionSignforEntity::getDeliveryId, distributionSignfor.getDeliveryId()) @@ -954,7 +1007,12 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl parcelListEntityList = distributionReservationMapper.selectPackageListByReservationId(distributionSignforEntity.getReservationId()); //包件不需要考虑备货、装车直接可进行签收 过滤已装车的包件 List noLoadingPackage = parcelListEntityList.stream().filter(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue())).collect(Collectors.toList()); - - for (DistributionParcelListEntity parcelListEntity : parcelListEntityList) { - if (Func.equals(parcelListEntity.getOrderPackageStockupStatus(), OrderPackageStatusConstant.yiqianshou.getValue())) { + if (Func.equals(parcelListEntity.getOrderPackageStatus(), OrderPackageStatusConstant.yiqianshou.getValue())) { continue; } else if (Func.equals(parcelListEntity.getOrderPackageLoadingStatus(), OrderPackageLoadingStatusConstant.yizhuangche.getValue())) { //修改包件的状态为出库状态 @@ -1030,7 +1090,11 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl().lambda() + LambdaUpdateWrapper set = new UpdateWrapper().lambda() .eq(DistributionSignforEntity::getId, distributionSignforEntity.getId()) .set(StringUtils.isNotBlank(distributionSignfor.getDeliverySignPictures()), DistributionSignforEntity::getDeliverySignPictures, distributionSignfor.getDeliverySignPictures()) .set(StringUtils.isNotBlank(distributionSignfor.getSigningType()), DistributionSignforEntity::getSigningType, distributionSignfor.getSigningType()) - .set(distributionSignfor.getIsClerk(), DistributionSignforEntity::getSigningStatus, 1) - .set(distributionSignfor.getIsClerk(), DistributionSignforEntity::getDriverSigning, 2) + .set(distributionSignfor.getIsClerk(), DistributionSignforEntity::getSigningStatus, 2) + .set(!distributionSignfor.getIsClerk(), DistributionSignforEntity::getDriverSigning, 2) .set(distributionSignfor.getIsClerk(), DistributionSignforEntity::getSigningTime, simpleDateFormat.format(new Date())) + .set(!distributionSignfor.getIsClerk(), DistributionSignforEntity::getSigningTime, simpleDateFormat.format(new Date())) .set(distributionSignfor.getIsClerk() && StringUtils.isNotBlank(distributionSignfor.getClerkSignRemarks()), DistributionSignforEntity::getClerkSignRemarks, distributionSignfor.getClerkSignRemarks()) .set(!distributionSignfor.getIsClerk() && StringUtils.isNotBlank(distributionSignfor.getDriverRemarks()), DistributionSignforEntity::getDriverRemarks, distributionSignfor.getDriverRemarks()) .set(!distributionSignfor.getIsClerk(), DistributionSignforEntity::getDriverSigning, 2) - .set(!distributionSignfor.getIsClerk(), DistributionSignforEntity::getSjsigningTime, simpleDateFormat.format(new Date())) - ); + .set(!distributionSignfor.getIsClerk(), DistributionSignforEntity::getSjsigningTime, simpleDateFormat.format(new Date())); + + + boolean update = this.update(set); return R.status(true); } From 5341de25b79b48ae0a597bdf8e64952aab28ff52 Mon Sep 17 00:00:00 2001 From: caoyizhong <1270296080@qq.com> Date: Thu, 21 Sep 2023 18:47:15 +0800 Subject: [PATCH 09/38] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/logpm/basicdata/feign/BasicdataClientClient.java | 2 +- .../distribution/mapper/DistributionStockListMapper.java | 2 +- .../distribution/mapper/DistributionStockListMapper.xml | 4 +++- .../distribution/service/IDistributionStockListService.java | 4 +++- .../service/impl/DistributionStockListServiceImpl.java | 4 ++-- .../service/impl/DistributionStockupServiceImpl.java | 2 +- .../service/impl/WarehouseWarehousingEntryServiceImpl.java | 5 +++++ 7 files changed, 16 insertions(+), 7 deletions(-) diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataClientClient.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataClientClient.java index def091160..27df74000 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataClientClient.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataClientClient.java @@ -75,7 +75,7 @@ public class BasicdataClientClient implements IBasicdataClientClient { public BasicdataClientEntity getCustomer(String customerName, String customerCode) { return basicdataClientService.getOne(Wrappers.query().lambda() .eq(StringUtils.isNotEmpty(customerName),BasicdataClientEntity::getClientName,customerName) - .eq(StringUtils.isNotEmpty(customerCode),BasicdataClientEntity::getReserve1,customerCode) + .eq(StringUtils.isNotEmpty(customerCode),BasicdataClientEntity::getClientCode,customerCode) ); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.java index 1adf5ae3e..25668ae01 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.java @@ -81,7 +81,7 @@ public interface DistributionStockListMapper extends BaseMapper getEntityByMarketIdAndMaterialName(@Param("marketId") Long marketId, @Param("materialName") String materialName, @Param("warehouseId") Long warehouseId); - DistributionStockupStockListInfoVO selectStockListInfoSelf(@Param("reservationId") Long reservationId,@Param("stockListId") Long stockListId); + DistributionStockupStockListInfoVO selectStockListInfoSelf(@Param("reservationId") Long reservationId,@Param("stockListId") Long stockListId,@Param("allocationId") Long allocationId); List getListByMarketIdAndMaterialName(@Param("marketId") Long marketId, @Param("materialName") String materialName, @Param("warehouseId") Long warehouseId); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml index d0f08714c..3df680d2e 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml @@ -285,7 +285,9 @@ select ldst.id stockListId, - ldst.storage_location allocation, - ldst.description_goods materialName, - ldst.sku sku, - ldst.cargo_norms cargoNorms, - ldrs.reservation_num planNum, - ldst.cargo_unit cargoUnit, - ldst.tray_name trayName, - ldst.unpack unpack, - count(ldss.id) realNum + ldst.description_goods materialName, + ldst.sku sku, + ldst.cargo_norms cargoNorms, + ldrs.reservation_num planNum, + ldst.cargo_unit cargoUnit, + ldst.tray_name trayName, + ldst.unpack unpack, + count(ldss.id) realNum, + GROUP_CONCAT( DISTINCT lwug.position_code) allocation, + ldrs.id deliveryDetailsId from logpm_distribution_reservation_stocklist ldrs - left join logpm_distribution_stock_list ldst on ldst.id = ldrs.stocklist_id and ldst.is_deleted = 0 - left join logpm_distribution_stock ldss on ldss.stock_list_id = ldst.id and ldss.reservation_id = #{reservationId} and ldss.is_deleted = 0 + left join logpm_distribution_stock_list ldst on ldst.id = ldrs.stocklist_id and ldst.is_deleted = 0 + left join logpm_distribution_stock ldss on ldss.stock_list_id = ldst.id and ldss.reservation_id = #{reservationId} and ldss.is_deleted = 0 + LEFT JOIN logpm_warehouse_updown_goods lwug on lwug.association_id = ldst.material_id and lwug.association_type = '4' and ldst.market_id = lwug.market_id and ldst.incoming_batch = lwug.incoming_batch where ldrs.reservation_id = #{reservationId} - and ldrs.is_deleted = 0 - group by ldst.id, - ldst.storage_location, - ldst.description_goods, - ldst.sku, - ldst.cargo_norms, - ldrs.reservation_num, - ldst.cargo_unit, - ldst.tray_name, - ldst.unpack + and ldrs.is_deleted = 0 + group by ldst.id, ldst.storage_location, ldst.description_goods, ldst.sku,ldrs.id, + ldst.cargo_norms, ldrs.reservation_num, ldst.cargo_unit, ldst.tray_name, ldst.unpack + + select * from logpm_distribution_loadscan_abnormal where is_deleted = 0 + + + + + + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionLoadscanAbnormalService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionLoadscanAbnormalService.java new file mode 100644 index 000000000..d9670448c --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionLoadscanAbnormalService.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.distribution.service; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.logpm.distribution.entity.DistributionLoadscanAbnormalEntity; +import com.logpm.distribution.excel.DistributionLoadscanAbnormalExcel; +import com.logpm.distribution.vo.DistributionLoadscanAbnormalVO; +import org.springblade.core.mp.base.BaseService; +import java.util.List; + +/** + * 异常装车扫描表 服务类 + * + * @author BladeX + * @since 2023-09-22 + */ +public interface IDistributionLoadscanAbnormalService extends BaseService { + /** + * 自定义分页 + * + * @param page + * @param distributionLoadscanAbnormal + * @return + */ + IPage selectDistributionLoadscanAbnormalPage(IPage page, DistributionLoadscanAbnormalVO distributionLoadscanAbnormal); + + + /** + * 导出数据 + * + * @param queryWrapper + * @return + */ + List exportDistributionLoadscanAbnormal(Wrapper queryWrapper); + +} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionLoadscanAbnormalServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionLoadscanAbnormalServiceImpl.java new file mode 100644 index 000000000..7d3bd203b --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionLoadscanAbnormalServiceImpl.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.distribution.service.impl; + +import com.logpm.distribution.entity.DistributionLoadscanAbnormalEntity; +import com.logpm.distribution.excel.DistributionLoadscanAbnormalExcel; +import com.logpm.distribution.mapper.DistributionLoadscanAbnormalMapper; +import com.logpm.distribution.service.IDistributionLoadscanAbnormalService; +import com.logpm.distribution.vo.DistributionLoadscanAbnormalVO; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import java.util.List; + +/** + * 异常装车扫描表 服务实现类 + * + * @author BladeX + * @since 2023-09-22 + */ +@Service +public class DistributionLoadscanAbnormalServiceImpl extends BaseServiceImpl implements IDistributionLoadscanAbnormalService { + + @Override + public IPage selectDistributionLoadscanAbnormalPage(IPage page, DistributionLoadscanAbnormalVO distributionLoadscanAbnormal) { + return page.setRecords(baseMapper.selectDistributionLoadscanAbnormalPage(page, distributionLoadscanAbnormal)); + } + + + @Override + public List exportDistributionLoadscanAbnormal(Wrapper queryWrapper) { + List distributionLoadscanAbnormalList = baseMapper.exportDistributionLoadscanAbnormal(queryWrapper); + //distributionLoadscanAbnormalList.forEach(distributionLoadscanAbnormal -> { + // distributionLoadscanAbnormal.setTypeName(DictCache.getValue(DictEnum.YES_NO, DistributionLoadscanAbnormal.getType())); + //}); + return distributionLoadscanAbnormalList; + } + +} From 4785123cdd4af9d9398149d79d38b8518cf1292f Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Fri, 22 Sep 2023 18:07:45 +0800 Subject: [PATCH 17/38] =?UTF-8?q?1.=E5=BA=93=E5=86=85=E4=BD=9C=E4=B8=9Abug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=202.=E5=BA=93=E5=86=85=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E9=9C=80=E6=B1=82=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/logpm/warehouse/vo/ParcelListVO.java | 1 + .../api/WarehouseUpdownTypeApiController.java | 36 +++++ .../logpm/warehouse/dto/UpdownTypeDTO.java | 2 +- .../service/IWarehouseUpdownTypeService.java | 2 + .../impl/WarehouseTrayTypeServiceImpl.java | 30 ++-- .../impl/WarehouseUpdownTypeServiceImpl.java | 147 ++++++++++++++++-- 6 files changed, 194 insertions(+), 24 deletions(-) diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/ParcelListVO.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/ParcelListVO.java index 5137cfb90..02d3d8791 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/ParcelListVO.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/ParcelListVO.java @@ -20,5 +20,6 @@ public class ParcelListVO implements Serializable { private String shelfTitle;//货架 private String allocationTitle;//货位 private Integer isFleeing;//是否窜货 0否 1是 + private Integer deletedStatus;//是否可删除 0否 1是 } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseUpdownTypeApiController.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseUpdownTypeApiController.java index 48312aacf..ef75ab83f 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseUpdownTypeApiController.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseUpdownTypeApiController.java @@ -909,4 +909,40 @@ public class WarehouseUpdownTypeApiController { } + @ResponseBody + @PostMapping("/moveAllocationByAllocation") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "移库库位", notes = "传入trayTypeDTO") + public R moveAllocationByAllocation(@RequestBody UpdownTypeDTO updownTypeDTO) { + String method = "###########moveAllocationByAllocation: "; + log.info(method + "移库库位 updownTypeDTO={}", updownTypeDTO); + Long allocationId = updownTypeDTO.getAllocationId();//目标库位码 + Long targetAllocationId = updownTypeDTO.getTargetAllocationId(); + + try{ + + BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); + if(Objects.isNull(myCurrentWarehouse)){ + log.warn(method+"仓库信息不能为空"); + return R.fail(403,"仓库信息不能为空"); + } + if(Objects.isNull(targetAllocationId)){ + log.warn(method+"目标库位码不能为空 targetAllocationId={}",targetAllocationId); + return R.fail(403,"目标库位码不能为空"); + } + if(Objects.isNull(allocationId)){ + log.warn(method+"库位码不能为空 allocationId={}",allocationId); + return R.fail(403,"库位码不能为空"); + } + //查询该库位的货物信息 + return warehouseUpdownTypeService.moveAllocationByAllocation(allocationId,targetAllocationId,myCurrentWarehouse.getId()); + }catch (CustomerException e){ + log.warn(e.message); + return R.fail(e.code,e.message); + }catch (Exception e){ + log.error(method+"系统异常,联系管理员",e); + return R.fail(500,"系统异常,联系管理员"); + } + } + } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/UpdownTypeDTO.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/UpdownTypeDTO.java index 6f59a499e..04d819b42 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/UpdownTypeDTO.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/UpdownTypeDTO.java @@ -17,7 +17,7 @@ public class UpdownTypeDTO implements Serializable { @ApiModelProperty(name = "来源库位码",notes = "来源库位码") private String sourceAllocation;//来源库位码 @ApiModelProperty(name = "目标库位码",notes = "目标库位码") - private String targetAllocation;//目标库位码 + private Long targetAllocationId;//目标库位码 @ApiModelProperty(name = "移库方式",notes = "移库方式 1货物 2托盘") private Integer moveType;//移库方式 1货物 2托盘 @ApiModelProperty(name = "移库方式",notes = "上架扫描类型 1服务号 2订单自编码 3包条码 4托盘码") diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java index 7d79268b9..6479673b5 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java @@ -62,4 +62,6 @@ public interface IWarehouseUpdownTypeService extends BaseService updownGoodsEntityQueryWrapper = new QueryWrapper<>(); @@ -346,41 +346,41 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl list = warehouseTrayGoodsService.findAllPackageDetailByOrderCode(orderCode); + for (ParcelListVO parcelListVO:list){ + String trayName = parcelListVO.getTrayName(); + if(trayCode.equals(trayName)){ + parcelListVO.setDeletedStatus(1); + }else{ + parcelListVO.setDeletedStatus(0); + } + } orderDetailVO.setParcelList(list); return orderDetailVO; } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java index 8f9383b9a..55a60cab3 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java @@ -924,11 +924,12 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl map = bindingAllocationAndStockAndLog(upShelfStockList, updownTypeEntity); - updateUpdownTypeNum(updownTypeEntity); + num = (Integer)map.get("allNum"); + String s = (String) map.get("s"); - num = updownTypeEntity.getStockNum(); + updateUpdownTypeNum(updownTypeEntity); if(!StringUtil.isBlank(trayCode)){ for (UpShelfStockDTO upShelfStockDTO:upShelfStockList){ @@ -1591,12 +1592,12 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl list = warehouseTrayGoodsService.findAllPackageDetailByOrderCode(orderCode); + for (ParcelListVO parcelListVO:list){ + parcelListVO.setDeletedStatus(0); + } + detailVO.setList(list); + return detailVO; } @Override @@ -1666,6 +1667,123 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl targetUpdownGoodsQueryWapper = new QueryWrapper<>(); + targetUpdownGoodsQueryWapper.eq("allocation_id",targetAllocationId); + List targetList = warehouseUpdownGoodsService.list(targetUpdownGoodsQueryWapper); + if(!targetList.isEmpty()){ + log.warn("#############moveAllocationByAllocation: 目标库位已有数据 targetAllocationId={}",targetAllocationId); + return Resp.scanFail(403,"目标库位已有数据","目标库位已有数据"); + } + //查询需要移库的库位是否有货物 + QueryWrapper updownGoodsQueryWapper = new QueryWrapper<>(); + updownGoodsQueryWapper.eq("allocation_id",allocationId); + List list = warehouseUpdownGoodsService.list(updownGoodsQueryWapper); + if(list.isEmpty()){ + log.warn("#############moveAllocationByAllocation: 来源库位没有数据 allocationId={}",allocationId); + return Resp.scanFail(403,"来源库位没有数据","来源库位没有数据"); + } + + QueryWrapper updownTypeEntityQueryWrapper = new QueryWrapper<>(); + updownTypeEntityQueryWrapper.eq("allocation_id",allocationId) + .eq("is_deleted",0); + WarehouseUpdownTypeEntity updownTypeEntity = getOne(updownTypeEntityQueryWrapper); + + + BasicdataTrayEntity trayEntity = warehouseTaryAllocationService.getTrayByAllocationId(allocationId); + if(Objects.isNull(trayEntity)){ + //没有托盘就直接修改库位数据 + changeUpdownGoodsToNewAllocation(list,targetAllocationId,updownTypeEntity); + + //修改绑定数据的库位信息到新库位 + downAllocation(allocationId); + }else{ + String trayCode = trayEntity.getPalletCode(); + moveAllocationByTrayCode(trayCode,targetAllocationId,warehouseId); + } + return Resp.scanSuccess("整库移库成功","整库移库成功"); + } + + private void changeUpdownGoodsToNewAllocation(List list, Long allocationId,WarehouseUpdownTypeEntity updownTypeEntity) { + BasicdataGoodsAllocationEntity goodsAllocationEntity = basicdataGoodsAllocationClient.getEntityByAllocationId(allocationId); + if(Objects.isNull(goodsAllocationEntity)){ + log.warn("##############changeUpdownGoodsToNewAllocation: 库位不存在 allocationId={}",allocationId); + throw new CustomerException(403,"库位不存在"); + } + String enableStatus = goodsAllocationEntity.getEnableStatus(); + Long goodsShelfId = goodsAllocationEntity.getGoodsShelfId(); + if("2".equals(enableStatus)){ + log.warn("##############changeUpdownGoodsToNewAllocation: 库位已被禁用 allocationId={}",allocationId); + throw new CustomerException(403,"库位已被禁用"); + } + BasicdataGoodsShelfEntity goodsShelfEntity = basicdataGoodsShelfClient.getEntityByGoodsShelfId(goodsShelfId); + if(Objects.isNull(goodsShelfEntity)){ + log.warn("##############changeUpdownGoodsToNewAllocation: 货架不存在 goodsShelfId={}",goodsShelfId); + throw new CustomerException(403,"货架不存在"); + } + Long goodsAreaId = goodsShelfEntity.getGoodsAreaId(); + BasicdataGoodsAreaEntity goodsAreaEntity = basicdataGoodsAreaClient.getEntityByGoodsAreaId(goodsAreaId); + if(Objects.isNull(goodsAreaEntity)){ + log.warn("##############changeUpdownGoodsToNewAllocation: 货区不存在 goodsAreaId={}",goodsAreaId); + throw new CustomerException(403,"货区不存在"); + } + Long wid = goodsAreaEntity.getWarehouseId(); + BasicdataWarehouseEntity warehouseEntity = basicdataWarehouseClient.getEntityWarehouseId(wid); + if(Objects.isNull(warehouseEntity)){ + log.warn("##############changeUpdownGoodsToNewAllocation: 仓库不存在 wid={}",wid); + throw new CustomerException(403,"仓库不存在"); + } + + WarehouseUpdownTypeEntity targetUpdownTypeEntity = new WarehouseUpdownTypeEntity(); + BeanUtil.copy(updownTypeEntity,targetUpdownTypeEntity); + targetUpdownTypeEntity.setId(null); + targetUpdownTypeEntity.setAreaId(goodsAreaId); + targetUpdownTypeEntity.setAreaTitle(goodsAreaEntity.getHeadline()); + targetUpdownTypeEntity.setShelfId(goodsShelfId); + targetUpdownTypeEntity.setShelfTitle(goodsShelfEntity.getGoodsShelfName()); + targetUpdownTypeEntity.setAllocationId(allocationId); + targetUpdownTypeEntity.setAllocationTitle(goodsAllocationEntity.getGoodsAllocationName()); + save(targetUpdownTypeEntity); + + for(WarehouseUpdownGoodsEntity updownGoodsEntity:list){ + + updownGoodsEntity.setAreaId(goodsAreaId); + updownGoodsEntity.setAreaTitle(goodsAreaEntity.getHeadline()); + updownGoodsEntity.setShelfId(goodsShelfId); + updownGoodsEntity.setShelfTitle(goodsShelfEntity.getGoodsShelfName()); + updownGoodsEntity.setAllocationId(allocationId); + updownGoodsEntity.setAllocationTitle(goodsAllocationEntity.getGoodsAllocationName()); + updownGoodsEntity.setPositionCode(goodsAreaEntity.getHeadline()+"-"+goodsShelfEntity.getGoodsShelfName()+"-"+goodsAllocationEntity.getGoodsAllocationName()); + + } + //货物重新绑定 + warehouseUpdownGoodsService.saveOrUpdateBatch(list); + + saveUpdownGoodsLog(list,"1",0,"移库:整库移库",targetUpdownTypeEntity.getWarehouseId()); + } + private void saveUpdownGoodsLogPart(List updownGoodsList, int residue, String bindingType, Integer isAlltrays, String remark,Long warehouseId) { List updownGoodsLogList = new ArrayList<>(); @@ -1682,10 +1800,11 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl upShelfStockList, WarehouseUpdownTypeEntity updownTypeEntity) { + private Map bindingAllocationAndStockAndLog(List upShelfStockList, WarehouseUpdownTypeEntity updownTypeEntity) { List updownGoodsList = new ArrayList<>(); List updownGoodsLogList = new ArrayList<>(); StringBuffer stringBuffer = new StringBuffer(); + Integer allNum = 0; for (UpShelfStockDTO upShelfStockDTO:upShelfStockList){ Long marketId = upShelfStockDTO.getMarketId(); Long allocationId = updownTypeEntity.getAllocationId(); @@ -1745,12 +1864,16 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl map = new HashMap<>(); + map.put("allNum",allNum); + map.put("s",stringBuffer.toString()); + + return map; } private UpdownStockVO stockToUpdownStockVO(DistributionStockListEntity stockListEntity) { From d23ed8a25c51d38a5bcb294d6e8801b19650b3a1 Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Fri, 22 Sep 2023 18:14:42 +0800 Subject: [PATCH 18/38] =?UTF-8?q?1.=E5=BA=93=E5=86=85=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E9=9C=80=E6=B1=82=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WarehouseUpdownTypeServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java index 55a60cab3..7e068b49a 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java @@ -1715,9 +1715,9 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl Date: Sat, 23 Sep 2023 14:31:45 +0800 Subject: [PATCH 19/38] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=AD=A3=E5=BC=8F?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E7=9A=84mq=E7=9A=84=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-prod.yml | 41 +++++++++++++++++-- .../src/main/resources/application-prod.yml | 41 +++++++++++++++++-- .../src/main/resources/application-prod.yml | 2 +- .../src/main/resources/application-prod.yml | 2 +- .../src/main/resources/application-prod.yml | 26 ++++++++++++ 5 files changed, 102 insertions(+), 10 deletions(-) diff --git a/blade-service/logpm-basic/src/main/resources/application-prod.yml b/blade-service/logpm-basic/src/main/resources/application-prod.yml index b84b3b079..3ff547cac 100644 --- a/blade-service/logpm-basic/src/main/resources/application-prod.yml +++ b/blade-service/logpm-basic/src/main/resources/application-prod.yml @@ -3,10 +3,43 @@ server: port: 8300 #数据源配置 +#spring: +# datasource: +# url: ${blade.datasource.dev.url} +# username: ${blade.datasource.dev.username} +# password: ${blade.datasource.dev.password} + spring: + #排除DruidDataSourceAutoConfigure + autoconfigure: + exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure datasource: - url: ${blade.datasource.prod.url} - username: ${blade.datasource.prod.username} - password: ${blade.datasource.prod.password} - + dynamic: + druid: + #通用校验配置 + validation-query: select 1 + #启用sql日志拦截器 + proxy-filters: + - sqlLogInterceptor + #设置默认的数据源或者数据源组,默认值即为master + primary: master + datasource: + master: + druid: + #独立校验配置 + validation-query: select 1 + #oracle校验 + #validation-query: select 1 from dual + url: ${blade.datasource.basic.master.url} + username: ${blade.datasource.basic.master.username} + password: ${blade.datasource.basic.master.password} + slave: + druid: + #独立校验配置 + validation-query: select 1 + #oracle校验 + #validation-query: select 1 from dual + url: ${blade.datasource.basic.slave.url} + username: ${blade.datasource.basic.slave.username} + password: ${blade.datasource.basic.slave.password} diff --git a/blade-service/logpm-basicdata/src/main/resources/application-prod.yml b/blade-service/logpm-basicdata/src/main/resources/application-prod.yml index 22d9f7a21..abb6e8a17 100644 --- a/blade-service/logpm-basicdata/src/main/resources/application-prod.yml +++ b/blade-service/logpm-basicdata/src/main/resources/application-prod.yml @@ -3,10 +3,43 @@ server: port: 8400 #数据源配置 +#spring: +# datasource: +# url: ${blade.datasource.dev.url} +# username: ${blade.datasource.dev.username} +# password: ${blade.datasource.dev.password} + spring: + #排除DruidDataSourceAutoConfigure + autoconfigure: + exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure datasource: - url: ${blade.datasource.prod.url} - username: ${blade.datasource.prod.username} - password: ${blade.datasource.prod.password} - + dynamic: + druid: + #通用校验配置 + validation-query: select 1 + #启用sql日志拦截器 + proxy-filters: + - sqlLogInterceptor + #设置默认的数据源或者数据源组,默认值即为master + primary: master + datasource: + master: + druid: + #独立校验配置 + validation-query: select 1 + #oracle校验 + #validation-query: select 1 from dual + url: ${blade.datasource.basicdata.master.url} + username: ${blade.datasource.basicdata.master.username} + password: ${blade.datasource.basicdata.master.password} + slave: + druid: + #独立校验配置 + validation-query: select 1 + #oracle校验 + #validation-query: select 1 from dual + url: ${blade.datasource.basicdata.slave.url} + username: ${blade.datasource.basicdata.slave.username} + password: ${blade.datasource.basicdata.slave.password} diff --git a/blade-service/logpm-distribution/src/main/resources/application-prod.yml b/blade-service/logpm-distribution/src/main/resources/application-prod.yml index 94d36fb66..1406c5b7a 100644 --- a/blade-service/logpm-distribution/src/main/resources/application-prod.yml +++ b/blade-service/logpm-distribution/src/main/resources/application-prod.yml @@ -31,7 +31,7 @@ spring: password: ${blade.datasource.distribution.slave.password} #rabbitmq配置 rabbitmq: - host: 172.16.128.146 + host: 172.16.128.145 port: 5672 username: admin password: Slwk@123654 diff --git a/blade-service/logpm-factory/src/main/resources/application-prod.yml b/blade-service/logpm-factory/src/main/resources/application-prod.yml index aa4e0d740..195d18c4c 100644 --- a/blade-service/logpm-factory/src/main/resources/application-prod.yml +++ b/blade-service/logpm-factory/src/main/resources/application-prod.yml @@ -31,7 +31,7 @@ spring: password: ${blade.datasource.factory.slave.password} #rabbitmq配置 rabbitmq: - host: 172.16.128.146 + host: 172.16.128.145 port: 5672 username: admin password: Slwk@123654 diff --git a/blade-service/logpm-warehouse/src/main/resources/application-prod.yml b/blade-service/logpm-warehouse/src/main/resources/application-prod.yml index 09733efdf..76e5005e2 100644 --- a/blade-service/logpm-warehouse/src/main/resources/application-prod.yml +++ b/blade-service/logpm-warehouse/src/main/resources/application-prod.yml @@ -29,3 +29,29 @@ spring: url: ${blade.datasource.warehouse.slave.url} username: ${blade.datasource.warehouse.slave.username} password: ${blade.datasource.warehouse.slave.password} + #rabbitmq配置 + rabbitmq: + host: 172.16.128.145 + port: 5672 + username: admin + password: Slwk@123654 + #虚拟host 可以不设置,使用server默认host + virtual-host: / + #确认消息已发送到队列(Queue) + publisher-returns: true + publisher-confirm-type: correlated + # 手动提交消息 + listener: + simple: + acknowledge-mode: auto + default-requeue-rejected: false + retry: + enabled: true # 开启消费者失败重试 + initial-interval: 1000 # 初识的失败等待时长为1秒 + multiplier: 1 # 失败的等待时长倍数,下次等待时长 = multiplier * last-interval + max-attempts: 3 # 最大重试次数 + stateless: true # true无状态;false有状态。如果业务中包含事务,这里改为false + direct: + acknowledge-mode: manual + template: + mandatory: true From 478126214b200ad7ace98f0680f01e1bf04f44b9 Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Sat, 23 Sep 2023 14:51:44 +0800 Subject: [PATCH 20/38] =?UTF-8?q?1.=E6=8C=89=E5=BA=93=E4=BD=8D=E7=A7=BB?= =?UTF-8?q?=E5=BA=93=E5=AE=8C=E6=88=90=202.=E4=B8=8A=E6=9E=B6=E7=9A=84?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E8=AF=A6=E6=83=85=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/WarehouseUpdownTypeApiController.java | 33 +++++ .../service/IWarehouseUpdownTypeService.java | 2 + .../impl/WarehouseUpdownTypeServiceImpl.java | 122 +++++++++++++++++- 3 files changed, 154 insertions(+), 3 deletions(-) diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseUpdownTypeApiController.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseUpdownTypeApiController.java index ef75ab83f..ee1edb535 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseUpdownTypeApiController.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseUpdownTypeApiController.java @@ -908,6 +908,39 @@ public class WarehouseUpdownTypeApiController { } } + @ResponseBody + @PostMapping("/moveAllocationScanSourceAllocation") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "移库扫描来源库位", notes = "传入trayTypeDTO") + public R moveAllocationScanSourceAllocation(@RequestBody UpdownTypeDTO updownTypeDTO) { + String method = "###########moveAllocationScanSourceAllocation: "; + log.info(method + "移库扫描来源库位 updownTypeDTO={}", updownTypeDTO); + Long allocationId = updownTypeDTO.getAllocationId();//目标库位码 + + try{ + + BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); + if(Objects.isNull(myCurrentWarehouse)){ + log.warn(method+"仓库信息不能为空"); + return R.fail(403,"仓库信息不能为空"); + } + + if(Objects.isNull(allocationId)){ + log.warn(method+"库位码不能为空 allocationId={}",allocationId); + return R.fail(403,"库位码不能为空"); + } + //查询该库位的货物信息 + UpShelfAllocationVO upShelfAllocationVO = warehouseUpdownTypeService.moveAllocationScanSourceAllocation(allocationId,myCurrentWarehouse.getId()); + return R.data(upShelfAllocationVO); + }catch (CustomerException e){ + log.warn(e.message); + return R.fail(e.code,e.message); + }catch (Exception e){ + log.error(method+"系统异常,联系管理员",e); + return R.fail(500,"系统异常,联系管理员"); + } + } + @ResponseBody @PostMapping("/moveAllocationByAllocation") diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java index 6479673b5..1b99ffe7b 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java @@ -64,4 +64,6 @@ public interface IWarehouseUpdownTypeService extends BaseService queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("allocation_id",allocationId); + List list = warehouseUpdownGoodsService.list(queryWrapper); + if(list.isEmpty()){ + log.warn("#################upShelfScanAllocation: 库位暂无货物绑定 allocationId={}",allocationId); + throw new CustomerException(403,"库位暂无货物绑定"); + } + + + String warehouseName = basicdataWarehouseEntity.getName();//仓库名称 + + UpShelfAllocationVO upShelfAllocationVO = new UpShelfAllocationVO(); + upShelfAllocationVO.setWarehouseId(warehouseId); + upShelfAllocationVO.setWarehouseName(warehouseName); + upShelfAllocationVO.setAreaId(goodsAreaId); + upShelfAllocationVO.setAreaTitle(goodsAreaName); + upShelfAllocationVO.setShelfId(goodsShelfId); + upShelfAllocationVO.setShelfTitle(goodsShelfName); + upShelfAllocationVO.setAllocationId(allocationId); + upShelfAllocationVO.setAllocationTitle(goodsAllocationName); + //就去查对应的库位绑定数据 + QueryWrapper updownTypeEntityQueryWrapper = new QueryWrapper<>(); + updownTypeEntityQueryWrapper.eq("area_id",goodsAreaId) + .eq("shelf_id",goodsShelfId) + .eq("allocation_id",allocationId) + .eq("is_deleted",0); + WarehouseUpdownTypeEntity updownTypeEntity = baseMapper.selectOne(updownTypeEntityQueryWrapper); + if(Objects.isNull(updownTypeEntity)){ + log.warn("#############upShelfScanAllocation: 库位暂无数据 allocationId={}",allocationId); + return upShelfAllocationVO; + } + upShelfAllocationVO.setTotalNum(updownTypeEntity.getTotalNum()); + upShelfAllocationVO.setOrderTotalnum(updownTypeEntity.getOrderTotalNum()); + upShelfAllocationVO.setStockNum(updownTypeEntity.getStockNum()); + upShelfAllocationVO.setStockTotalNum(updownTypeEntity.getStockTotalNum()); + Long updownTypeId = updownTypeEntity.getId();//库位打包货物方式id + //同一个货位上能存所有类型的货物,所以要分三类来查 association_type 1订单号(零担) 3包件码(订单号) 4库存品 + List packageList = warehouseUpdownGoodsService.findPackageByUpdownTypeId(updownTypeId); + List zeroList = warehouseUpdownGoodsService.findZeroByUpdownTypeId(updownTypeId); + Integer orderNum = packageList.size() + zeroList.size(); + upShelfAllocationVO.setOrderNum(orderNum); + List stockList = warehouseUpdownGoodsService.findStockByUpdownTypeId(updownTypeId); + upShelfAllocationVO.getList().addAll(packageList); + upShelfAllocationVO.getList().addAll(zeroList); + upShelfAllocationVO.getList().addAll(stockList); + + //查询货位上是否有托盘 + BasicdataTrayEntity basicdataTrayEntity = warehouseTaryAllocationService.getTrayByAllocationId(allocationId); + if(!Objects.isNull(basicdataTrayEntity)){ + //有托盘就查询托盘上的数据 + Long trayId = basicdataTrayEntity.getId(); + String trayCode = basicdataTrayEntity.getPalletCode(); + upShelfAllocationVO.setTrayId(trayId); + upShelfAllocationVO.setTrayCode(trayCode); + QueryWrapper trayTypeEntityQueryWrapper = new QueryWrapper<>(); + trayTypeEntityQueryWrapper.eq("tray_id",trayId) + .eq("is_deleted",0); + WarehouseTrayTypeEntity trayTypeEntity = warehouseTrayTypeService.getOne(trayTypeEntityQueryWrapper); + if(Objects.isNull(trayTypeEntity)){ + log.warn("#############upShelfScanAllocation: 托盘未找到打托数据 trayId={}",trayId); + throw new CustomerException(403,"托盘未找到打托数据"); + } + String type = trayTypeEntity.getType();//打托分类 + upShelfAllocationVO.setTotalNum(trayTypeEntity.getTotalNum()); + upShelfAllocationVO.setOrderTotalnum(trayTypeEntity.getOrderTotalNum()); + upShelfAllocationVO.setStockNum(trayTypeEntity.getStockNum()); + upShelfAllocationVO.setStockTotalNum(trayTypeEntity.getStockTotalNum()); + if("1".equals(type) || "2".equals(type)){ + upShelfAllocationVO.setTrayNum(trayTypeEntity.getTotalNum()); + }else if("3".equals(type) || "4".equals(type)){ + upShelfAllocationVO.setTrayNum(trayTypeEntity.getStockNum()); + } + } + + return upShelfAllocationVO; + } + private void changeUpdownGoodsToNewAllocation(List list, Long allocationId,WarehouseUpdownTypeEntity updownTypeEntity) { BasicdataGoodsAllocationEntity goodsAllocationEntity = basicdataGoodsAllocationClient.getEntityByAllocationId(allocationId); if(Objects.isNull(goodsAllocationEntity)){ From 4a69ae2d2a949b0028634578a2561bf580b06357 Mon Sep 17 00:00:00 2001 From: caoyizhong <1270296080@qq.com> Date: Mon, 25 Sep 2023 10:23:05 +0800 Subject: [PATCH 21/38] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A4=87=E8=B4=A7?= =?UTF-8?q?=E5=A4=9A=E4=B8=AA=E8=A7=92=E8=89=B2=E4=B8=8D=E8=83=BD=E9=80=89?= =?UTF-8?q?=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blade-service/logpm-distribution/pom.xml | 8 +++-- .../DistributionStockupAppController.java | 34 ++++++++++++------- .../DistributionStockupController.java | 15 +++----- .../service/IDistributionStockupService.java | 6 ++++ .../impl/DistributionStockupServiceImpl.java | 28 +++++++++++++++ 5 files changed, 66 insertions(+), 25 deletions(-) diff --git a/blade-service/logpm-distribution/pom.xml b/blade-service/logpm-distribution/pom.xml index fddde99cb..983c33a07 100644 --- a/blade-service/logpm-distribution/pom.xml +++ b/blade-service/logpm-distribution/pom.xml @@ -104,8 +104,12 @@ logpm-old-project-api ${bladex.project.version} - - + + org.springblade + blade-system-api + 3.1.0.RELEASE + compile + 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 ef88e4b45..061440c0d 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 @@ -384,14 +384,14 @@ public class DistributionStockupAppController extends BladeController { return R.fail(3002, "备货库存品ID不能为空"); } List list = distributionStockupService.getLocationSelection(stockupDTO); - if(!list.isEmpty()){ + if(!list.isEmpty() && ObjectUtils.isNotNull(list.get(0))){ return R.data(list); } List listMarket = distributionStockupService.getLocationMarketSelection(stockupDTO); - if(!listMarket.isEmpty()){ + if(!listMarket.isEmpty() && ObjectUtils.isNotNull(listMarket.size())){ return R.data(listMarket); } - return R.data(null); + return R.fail(3002,"当前物料未上架,请上架后在继续备货操作!!!"); } @@ -594,7 +594,17 @@ public class DistributionStockupAppController extends BladeController { log.warn("##################allocationId: 货位ID为空!"); return R.fail("货位ID不能为空"); } - + //判断是否可以继续备货 + DistributionStockListEntity byId = iDistributionStockListService.getById(stockListId); + WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity = new WarehouseUpdownGoodsEntity(); + warehouseUpdownGoodsEntity.setAllocationId(stockupDTO.getAllocationId()); + warehouseUpdownGoodsEntity.setIncomingBatch(byId.getIncomingBatch()); + warehouseUpdownGoodsEntity.setMarketId(byId.getMarketId()); + warehouseUpdownGoodsEntity.setAssociationType("4"); + WarehouseUpdownGoodsEntity locationInformation = warehouseUpdownGoodsClient.getLocationStockListInformation(warehouseUpdownGoodsEntity); + if(ObjectUtils.isNull(locationInformation)){ + return Resp.scanFail("当前货位的本物料已为0,请更换货位继续!!", "当前货位的本物料已为0,请更换货位继续!!"); + } Integer i = distributionStockupService.selectPackagePrint(stockupDTO); switch (i) { case 1: @@ -617,16 +627,16 @@ public class DistributionStockupAppController extends BladeController { entity.setReservationId(reservationId); entity.setStockListId(stockListId); //添加物料信息 - DistributionStockListEntity byId = iDistributionStockListService.getById(stockListId); +// DistributionStockListEntity byId = iDistributionStockListService.getById(stockListId); if(ObjectUtils.isNotNull(byId.getMarketId())){ entity.setMarketId(byId.getMarketId()); entity.setMaterialId(byId.getMaterialId()); - WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity = new WarehouseUpdownGoodsEntity(); - warehouseUpdownGoodsEntity.setAllocationId(stockupDTO.getAllocationId()); - warehouseUpdownGoodsEntity.setIncomingBatch(byId.getIncomingBatch()); - warehouseUpdownGoodsEntity.setMarketId(byId.getMarketId()); - warehouseUpdownGoodsEntity.setAssociationType("4"); - WarehouseUpdownGoodsEntity locationInformation = warehouseUpdownGoodsClient.getLocationStockListInformation(warehouseUpdownGoodsEntity); +// WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity = new WarehouseUpdownGoodsEntity(); +// warehouseUpdownGoodsEntity.setAllocationId(stockupDTO.getAllocationId()); +// warehouseUpdownGoodsEntity.setIncomingBatch(byId.getIncomingBatch()); +// warehouseUpdownGoodsEntity.setMarketId(byId.getMarketId()); +// warehouseUpdownGoodsEntity.setAssociationType("4"); +// WarehouseUpdownGoodsEntity locationInformation = warehouseUpdownGoodsClient.getLocationStockListInformation(warehouseUpdownGoodsEntity); if(!ObjectUtils.isNull(locationInformation)){ entity.setAllocationTitle(locationInformation.getPositionCode()); entity.setAllocationId(stockupDTO.getAllocationId()); @@ -645,7 +655,7 @@ public class DistributionStockupAppController extends BladeController { return R.fail(3002,"本货位的物料已为0,请更换货位继续!!"); } }else{ - return R.fail(3002,"物料信息查询失败,请联系TJJ!!"); + return Resp.scanFail("物料信息查询失败,请联系TJJ!!", "物料信息查询失败,请联系TJJ!!"); } entity.setConditions("0"); entity.setType(2); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockupController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockupController.java index 8ddc01cdf..b38bfd06b 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockupController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockupController.java @@ -43,6 +43,7 @@ import org.springblade.core.tool.constant.BladeConstant; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.ObjectUtil; +import org.springblade.system.entity.User; import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; @@ -171,19 +172,11 @@ public class DistributionStockupController extends BladeController { @GetMapping("/listUser") @ApiOperationSupport(order = 2) @ApiOperation(value = "分页", notes = "传入distributionStockup") - public R listUser() { + public R> listUser() { //获取当前登录用户 BladeUser user = AuthUtil.getUser(); - BladeUser u = new BladeUser(); - BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse(); - if(ObjectUtil.isNotEmpty(myCurrentWarehouse)){ - - } - u.setDeptId(user.getDeptId()); - u.setTenantId(user.getTenantId()); - u.setUserId(user.getUserId()); - u.setUserName(user.getUserName()); - return R.data(u); + List cc = distributionStockupService.getRoleList(user.getDeptId(), user.getTenantId(), "叉车"); + return R.data(cc); } /** diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockupService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockupService.java index bd313ce3d..2a42ddfa7 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockupService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockupService.java @@ -24,6 +24,7 @@ import com.logpm.distribution.excel.DistributionStockupExcel; import com.logpm.distribution.vo.*; import org.springblade.core.mp.base.BaseService; import org.springblade.core.tool.api.R; +import org.springblade.system.entity.User; import java.util.List; import java.util.Map; @@ -194,4 +195,9 @@ public interface IDistributionStockupService extends BaseService getLocationMarketSelection(StockupDTO stockupDTO); + + /** + * @return + */ + List getRoleList(String deptId, String tenantId, String roleNames); } 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 a28bec855..9c5f9d0b9 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 @@ -55,6 +55,9 @@ import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.StringUtil; import org.springblade.system.cache.DictBizCache; +import org.springblade.system.entity.User; +import org.springblade.system.feign.ISysClient; +import org.springblade.system.feign.IUserSearchClient; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; @@ -85,6 +88,12 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl getRoleList(String deptId, String tenantId, String roleNames) { + R roleIds = sysClient.getRoleIds(tenantId, roleNames); + R> listR = userSearchClient.listByRole(roleIds.getData()); + BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse(); + if(ObjectUtils.isNotNull(myCurrentWarehouse)){ + List collect = listR.getData().stream().filter(i -> + ObjectUtils.isNotNull(i.getDeptId()) ? i.getDeptId().equals(myCurrentWarehouse.getDepartment().toString()) : false + ).collect(Collectors.toList()); + return collect; + }else{ + return listR.getData(); + } + + } + } From 72132ac9af719142c94854c832aebcec394def51 Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" <123456> Date: Mon, 25 Sep 2023 10:45:19 +0800 Subject: [PATCH 22/38] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=8C=85=E4=BB=B6=20=E5=A4=9A=E6=9D=A1=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/logpm/oldproject/mapper/AdvanceDetailMapper.xml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/AdvanceDetailMapper.xml b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/AdvanceDetailMapper.xml index 51f708892..c976a6437 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/AdvanceDetailMapper.xml +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/AdvanceDetailMapper.xml @@ -93,7 +93,6 @@ c.title cargoTitle, s.title shelfTitle, l.title goodsAllocation, - t.tray_no pallet, ad.firstPackName firsts, ad.secondPackName `second`, ad.thirdPackName thirdProduct, @@ -102,7 +101,7 @@ ad.mscsNum quantity, ad.mctsTruck trainNumber, ( - select create_time from ht_scan_log where unitNo = #{unitNo} and type = 1 or type = 4 and unitNo = #{unitNo} + select create_time from ht_scan_log where unitNo = #{unitNo} and type in (1,4) ORDER BY create_time desc limit 1 ) warehouseEntryTimeEnd @@ -112,8 +111,6 @@ left join ht_location l on od.location_id = l.id left join ht_shelf s on l.shelf_id = s.id left join ht_cargo c on s.cargo_id = c.id - left join ht_tray_scan_des tsd on tsd.unitNo = od.unitNo - left join ht_tray t on t.id = tsd.tray_id left join ht_detail_product hdp on hdp.unit_no = od.unitNo where od.unitNo = #{unitNo} From 7f54ab93b493ea30c6e7bea3c7167bafcc51865c Mon Sep 17 00:00:00 2001 From: "0.0" <1092404103.qq.com> Date: Mon, 25 Sep 2023 11:06:56 +0800 Subject: [PATCH 23/38] =?UTF-8?q?1.=E5=8F=AF=E8=A7=86=E5=8C=96=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logpm/warehouse/vo/WarehouseShelfVO.java | 40 +++++++ .../mapper/DistributionSigndetailMapper.xml | 2 +- .../WarehouseGoodsAllocationController.java | 24 ++-- .../WarehouseGoodsAllocationMapper.java | 2 +- .../mapper/WarehouseGoodsAllocationMapper.xml | 13 +- .../mapper/WarehouseUpdownGoodsMapper.java | 1 + .../mapper/WarehouseUpdownGoodsMapper.xml | 5 +- .../IWarehouseGoodsAllocationService.java | 2 +- .../service/IWarehouseUpdownGoodsService.java | 1 + .../WarehouseGoodsAllocationServiceImpl.java | 113 ++++++++++-------- .../impl/WarehouseUpdownGoodsServiceImpl.java | 5 + 11 files changed, 134 insertions(+), 74 deletions(-) create mode 100644 blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseShelfVO.java diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseShelfVO.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseShelfVO.java new file mode 100644 index 000000000..262c8fd22 --- /dev/null +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseShelfVO.java @@ -0,0 +1,40 @@ +package com.logpm.warehouse.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class WarehouseShelfVO { + /** + * 总货位 + */ + @ApiModelProperty(value = "总货位") + private Integer cargoNub; + /** + * 使用货位 + */ + @ApiModelProperty(value = "使用货位") + private Integer employNub; + /** + * 可用货位 + */ + @ApiModelProperty(value = "可用货位") + private Integer unusedNub; + /** + * 禁用货位 + */ + @ApiModelProperty(value = "禁用货位") + private Integer disableNub; + /** + * 总货数量 + */ + @ApiModelProperty(value = "总货数量") + private Integer goodsNub; + /** + * 货位list + */ + @ApiModelProperty(value = "货位list") + private List list; +} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSigndetailMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSigndetailMapper.xml index 0b30abf80..3e37843aa 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSigndetailMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSigndetailMapper.xml @@ -124,7 +124,7 @@ ldsa.warehouse warehouse, ldsa.brand brand, ldsa.complete_set completeSet, - ldsa.warehouse_entry_time_end warehouseEntryTimeEnd, + ldsa.warehouse_entry_time warehouseEntryTime, ldsa.store_time storeTime, ldr.consignee consignee, ldr.delivery_phone deliveryPhone, diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseGoodsAllocationController.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseGoodsAllocationController.java index 4d9aadd54..94f89984f 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseGoodsAllocationController.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseGoodsAllocationController.java @@ -358,13 +358,13 @@ public class WarehouseGoodsAllocationController extends BladeController { @GetMapping("/Visualization") @ApiOperationSupport(order = 17) @ApiOperation(value = "货位 可视化", notes = "传入warehouseGoodsAllocation") - public R> Visualization(WarehouseGoodsAllocationVO warehouseGoodsAllocation) { + public R Visualization(WarehouseGoodsAllocationVO warehouseGoodsAllocation) { //log.info("传入参数>>>>>>>>>>>>{}", warehouseGoodsAllocation); if (null != bladeRedis.get(Url + "/" + warehouseGoodsAllocation.getGoodsShelfId())) { log.info("缓存取值>>>>>>>>>>"+Url + "/" + warehouseGoodsAllocation.getGoodsShelfId()); return R.data(bladeRedis.get(Url + "/" + warehouseGoodsAllocation.getGoodsShelfId())); } - List pages = warehouseGoodsAllocationService.selectVisualization(warehouseGoodsAllocation); + WarehouseShelfVO pages = warehouseGoodsAllocationService.selectVisualization(warehouseGoodsAllocation); bladeRedis.setEx(Url +"/"+ warehouseGoodsAllocation.getGoodsShelfId(), pages, 600L); return R.data(pages); } @@ -376,12 +376,12 @@ public class WarehouseGoodsAllocationController extends BladeController { @ApiOperationSupport(order = 18) @ApiOperation(value = "货位 统计所有库位数量") public R locationsnub() { - if (null !=bladeRedis.get(Url+"/locationsnub)")){ - log.info("缓存取值>>>>>>>>>>"); - return R.data(bladeRedis.get(Url+"/locationsnub")); - } +// if (null !=bladeRedis.get(Url+"/locationsnub)")){ +// log.info("缓存取值>>>>>>>>>>"); +// return R.data(bladeRedis.get(Url+"/locationsnub")); +// } locationsnubVO locationsnubVO = warehouseGoodsAllocationService.selectlocationsnub(); - bladeRedis.setEx(Url+"/locationsnub",locationsnubVO,360L); +// bladeRedis.setEx(Url+"/locationsnub",locationsnubVO,360L); return R.data(locationsnubVO); } @@ -392,12 +392,12 @@ public class WarehouseGoodsAllocationController extends BladeController { @ApiOperationSupport(order = 19) @ApiOperation(value = "货位 统计每个货区数量") public R cargoNub() { - if (null != bladeRedis.get(Url + "_cargoNub")) { - log.info("缓存取值>>>>>>>>>>"); - return R.data(bladeRedis.get(Url + "_cargoNub")); - } +// if (null != bladeRedis.get(Url + "_cargoNub")) { +// log.info("缓存取值>>>>>>>>>>"); +// return R.data(bladeRedis.get(Url + "_cargoNub")); +// } List list = warehouseGoodsAllocationService.selectcargoNub(); - bladeRedis.setEx(Url + "_cargoNub", list, 600L); +// bladeRedis.setEx(Url + "_cargoNub", list, 600L); return R.data(list); } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseGoodsAllocationMapper.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseGoodsAllocationMapper.java index b9e70717f..4040846e7 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseGoodsAllocationMapper.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseGoodsAllocationMapper.java @@ -161,7 +161,7 @@ public interface WarehouseGoodsAllocationMapper extends BaseMapper selectCargoSumId(); + List selectCargoSumId(); List AllWarehouse(); } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseGoodsAllocationMapper.xml b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseGoodsAllocationMapper.xml index f90cfc2b5..9aea256ca 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseGoodsAllocationMapper.xml +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseGoodsAllocationMapper.xml @@ -306,18 +306,19 @@ - + + diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownGoodsMapper.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownGoodsMapper.java index 14bf9254d..3e3992c7d 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownGoodsMapper.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownGoodsMapper.java @@ -92,6 +92,7 @@ public interface WarehouseUpdownGoodsMapper extends BaseMapper + diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseGoodsAllocationService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseGoodsAllocationService.java index 1796d5760..772579ca9 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseGoodsAllocationService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseGoodsAllocationService.java @@ -54,7 +54,7 @@ public interface IWarehouseGoodsAllocationService extends BaseService selectVisualization(WarehouseGoodsAllocationVO warehouseGoodsAllocation); + WarehouseShelfVO selectVisualization(WarehouseGoodsAllocationVO warehouseGoodsAllocation); /** * 上架 可视化查询 查询仓库 */ diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownGoodsService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownGoodsService.java index 644370b95..d1f36c335 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownGoodsService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownGoodsService.java @@ -127,4 +127,5 @@ public interface IWarehouseUpdownGoodsService extends BaseService selectVisualization(WarehouseGoodsAllocationVO warehouseGoodsAllocation) { + public WarehouseShelfVO selectVisualization(WarehouseGoodsAllocationVO warehouseGoodsAllocation) { //获取当前登录人仓库 //BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseClient.getMyCurrentWarehouse(); + WarehouseShelfVO warehouseShelfVO = new WarehouseShelfVO(); + Long goodsAreaId = warehouseGoodsAllocation.getGoodsAreaId(); + Long goodsShelfId = warehouseGoodsAllocation.getGoodsShelfId(); //查询所有货位 List warehouseGoodsAllocationEntities = baseMapper.selectList(new QueryWrapper().lambda() .eq(WarehouseGoodsAllocationEntity::getIsDeleted, 0) //.eq(null != basicdataWarehouseEntity,WarehouseGoodsAllocationEntity::getWarehouseId,basicdataWarehouseEntity.getId()) - .eq(WarehouseGoodsAllocationEntity::getGoodsAreaId, warehouseGoodsAllocation.getGoodsAreaId()) - .eq(WarehouseGoodsAllocationEntity::getGoodsShelfId, warehouseGoodsAllocation.getGoodsShelfId()) + .eq(WarehouseGoodsAllocationEntity::getGoodsAreaId, goodsAreaId) + .eq(WarehouseGoodsAllocationEntity::getGoodsShelfId,goodsShelfId) .orderByAsc(WarehouseGoodsAllocationEntity::getLayerNum) .orderByAsc(WarehouseGoodsAllocationEntity::getColumnNum) ); - + //获取货架的所有货位 + //查询该货区下的总货位 + locationsnubVO num1 = this.getNum(goodsAreaId, goodsShelfId); + Func.copy(num1,warehouseShelfVO); + //查询所有包件数量 + Integer num = warehouseUpdownGoodsService.selectCountNumByshelf(goodsAreaId,goodsShelfId); + warehouseShelfVO.setGoodsNub(null==num?0:num); //使用HashMap进行二维List分割 ArrayList warehouseGoodsAllocationVOS = new ArrayList<>(); //HashMap> map = new HashMap<>(); @@ -107,13 +116,14 @@ public class WarehouseGoodsAllocationServiceImpl extends BaseServiceImpl()); // } WarehouseGoodsAllocationVO warehouseGoodsAllocationVO = this.convert(warehouseGoodsAllocationEntity); - log.info("List>>>>>>>>>>>>>>>>>{}",warehouseGoodsAllocationVO); // map.get(layerNum).add(warehouseGoodsAllocationVO); warehouseGoodsAllocationVOS.add(warehouseGoodsAllocationVO); } + warehouseShelfVO.setList(warehouseGoodsAllocationVOS); + log.info("list>>>>>>>>>>>>>>>>>>>>{}",warehouseShelfVO); // ArrayList> arrayListTwo = new ArrayList<>(map.values()); //log.info("排序后>>>>>>>>>>>>>>{}",map); - return warehouseGoodsAllocationVOS; + return warehouseShelfVO; } @Override @@ -284,26 +294,54 @@ public class WarehouseGoodsAllocationServiceImpl extends BaseServiceImpl selectcargoNub() { + //查询所有货区id + List ids =baseMapper.selectCargoSumId(); + ArrayList list = new ArrayList<>(); + for (Long id : ids) { + WarehouseCargoSumVO warehouseCargoSumVO = new WarehouseCargoSumVO(); + locationsnubVO locationsnubVO = this.getNum(id, null); + Func.copy(locationsnubVO,warehouseCargoSumVO); + warehouseCargoSumVO.setId(id); + list.add(warehouseCargoSumVO); + } + return list; + } + + public locationsnubVO getNum(Long areaId,Long shelfId){ locationsnubVO locationsnubVO = new locationsnubVO(); - //查询所有货位 + //查询该货区下的总货位 Integer cargoNub = baseMapper.selectCount(new QueryWrapper().lambda() .eq(WarehouseGoodsAllocationEntity::getIsDeleted, 0) + .eq(null != areaId,WarehouseGoodsAllocationEntity::getGoodsAreaId, areaId) + .eq(null != shelfId,WarehouseGoodsAllocationEntity::getGoodsShelfId, shelfId) ).intValue(); //查询所有使用货位 Integer employNub = baseMapper.selectCount(new QueryWrapper().lambda() .eq(WarehouseGoodsAllocationEntity::getIsDeleted, 0) .eq(WarehouseGoodsAllocationEntity::getAllocationStatus, 2) + .eq(null != areaId,WarehouseGoodsAllocationEntity::getGoodsAreaId, areaId) + .eq(null != shelfId,WarehouseGoodsAllocationEntity::getGoodsShelfId, shelfId) ).intValue(); //查询所有禁用 Integer disableNub = baseMapper.selectCount(new QueryWrapper().lambda() .eq(WarehouseGoodsAllocationEntity::getIsDeleted, 0) .eq(WarehouseGoodsAllocationEntity::getEnableStatus, 2) + .eq(null != areaId,WarehouseGoodsAllocationEntity::getGoodsAreaId, areaId) + .eq(null != shelfId,WarehouseGoodsAllocationEntity::getGoodsShelfId, shelfId) ).intValue(); //查询可用货位 Integer unusedNub = baseMapper.selectCount(new QueryWrapper().lambda() .eq(WarehouseGoodsAllocationEntity::getIsDeleted, 0) .eq(WarehouseGoodsAllocationEntity::getEnableStatus, 1) .eq(WarehouseGoodsAllocationEntity::getAllocationStatus,1) + .eq(null != areaId,WarehouseGoodsAllocationEntity::getGoodsAreaId, areaId) + .eq(null != shelfId,WarehouseGoodsAllocationEntity::getGoodsShelfId, shelfId) ).intValue(); locationsnubVO.setCargoNub(cargoNub); locationsnubVO.setEmployNub(employNub); @@ -312,46 +350,6 @@ public class WarehouseGoodsAllocationServiceImpl extends BaseServiceImpl selectcargoNub() { - - //查询所有货区id - List list =baseMapper.selectCargoSumId(); - for (WarehouseCargoSumVO warehouseCargoSumVO : list) { - Long id = warehouseCargoSumVO.getId(); - //查询该货区下的总货位 - Integer cargoNub = baseMapper.selectCount(new QueryWrapper().lambda() - .eq(WarehouseGoodsAllocationEntity::getIsDeleted, 0) - .eq(WarehouseGoodsAllocationEntity::getGoodsAreaId,id) - ).intValue(); - //查询所有使用货位 - Integer employNub = baseMapper.selectCount(new QueryWrapper().lambda() - .eq(WarehouseGoodsAllocationEntity::getIsDeleted, 0) - .eq(WarehouseGoodsAllocationEntity::getAllocationStatus, 2) - .eq(WarehouseGoodsAllocationEntity::getGoodsAreaId,id) - ).intValue(); - //查询所有禁用 - Integer disableNub = baseMapper.selectCount(new QueryWrapper().lambda() - .eq(WarehouseGoodsAllocationEntity::getIsDeleted, 0) - .eq(WarehouseGoodsAllocationEntity::getEnableStatus, 2) - .eq(WarehouseGoodsAllocationEntity::getGoodsAreaId,id) - ).intValue(); - //查询可用货位 - Integer unusedNub = baseMapper.selectCount(new QueryWrapper().lambda() - .eq(WarehouseGoodsAllocationEntity::getIsDeleted, 0) - .eq(WarehouseGoodsAllocationEntity::getEnableStatus, 1) - .eq(WarehouseGoodsAllocationEntity::getAllocationStatus,1) - .eq(WarehouseGoodsAllocationEntity::getGoodsAreaId,id) - ).intValue(); - warehouseCargoSumVO.setCargoNub(cargoNub); - warehouseCargoSumVO.setEmployNub(employNub); - warehouseCargoSumVO.setDisableNub(disableNub); - warehouseCargoSumVO.setUnusedNub(unusedNub); - } - - return list; - } - @Override public Boolean updateAllocationCache(String ids) { //查询货位 @@ -360,16 +358,27 @@ public class WarehouseGoodsAllocationServiceImpl extends BaseServiceImpl warehouseGoodsAllocationVOList = bladeRedis.get(Url + "/" + warehouseGoodsAllocationEntity.getGoodsShelfId()); + WarehouseShelfVO warehouseShelfVO = bladeRedis.get(Url + "/" + warehouseGoodsAllocationEntity.getGoodsShelfId()); + List warehouseGoodsAllocationVOList = warehouseShelfVO.getList(); //替换货位 - warehouseGoodsAllocationVOList = warehouseGoodsAllocationVOList.stream() - .map(obj -> obj.getId().equals(warehouseGoodsAllocationVO.getId()) ? warehouseGoodsAllocationVO : obj) - .collect(Collectors.toList()); + warehouseGoodsAllocationVOList = warehouseGoodsAllocationVOList.stream().map(obj -> obj.getId().equals(warehouseGoodsAllocationVO.getId()) ? warehouseGoodsAllocationVO : obj).collect(Collectors.toList()); + //计算数量 + //查询该货区下的总货位 + locationsnubVO num1 = this.getNum(goodsAreaId, goodsShelfId); + Func.copy(num1,warehouseShelfVO); + Integer num = warehouseUpdownGoodsService.selectCountNumByshelf(goodsAreaId,goodsShelfId); + warehouseShelfVO.setGoodsNub(null==num?0:num); + warehouseShelfVO.setList(warehouseGoodsAllocationVOList); //重新存入缓存 - bladeRedis.setEx(Url +"/"+ warehouseGoodsAllocationEntity.getGoodsShelfId(), warehouseGoodsAllocationVOList, 600L); + bladeRedis.setEx(Url +"/"+ warehouseGoodsAllocationEntity.getGoodsShelfId(), warehouseShelfVO, 600L); + log.info("货位缓存更新成功"); } } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownGoodsServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownGoodsServiceImpl.java index e14773275..690770c6e 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownGoodsServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownGoodsServiceImpl.java @@ -219,4 +219,9 @@ public class WarehouseUpdownGoodsServiceImpl extends BaseServiceImpl Date: Mon, 25 Sep 2023 11:42:55 +0800 Subject: [PATCH 24/38] =?UTF-8?q?1.=E6=A0=B9=E6=8D=AE=E6=89=98=E7=9B=98?= =?UTF-8?q?=E7=A0=81=E6=9F=A5=E8=AF=A2=E6=89=80=E6=9C=89=E8=B4=A7=E7=89=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feign/IWarehouseTrayTypeClient.java | 4 + .../logpm/warehouse/vo/TrayTypeDataVO.java | 3 + .../feign/WarehouseTrayTypeClient.java | 6 ++ .../service/IWarehouseTrayTypeService.java | 2 + .../impl/WarehouseTrayTypeServiceImpl.java | 79 +++++++++++++++++++ 5 files changed, 94 insertions(+) diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTrayTypeClient.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTrayTypeClient.java index 51ee3966c..334043acd 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTrayTypeClient.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTrayTypeClient.java @@ -18,6 +18,7 @@ package com.logpm.warehouse.feign; import org.springblade.common.constant.ModuleNameConstant; +import org.springblade.core.tool.api.R; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -44,4 +45,7 @@ public interface IWarehouseTrayTypeClient { @PostMapping(TOP+"/delEntityByMasterId") Boolean removeByMasterId(@RequestParam Long id); + @PostMapping(API_PREFIX+"/selectListByTrayCode") + R selectListByTrayCode(@RequestParam String trayCode); + } diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/TrayTypeDataVO.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/TrayTypeDataVO.java index 5d7c46d5a..7b004904f 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/TrayTypeDataVO.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/TrayTypeDataVO.java @@ -1,5 +1,6 @@ package com.logpm.warehouse.vo; +import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity; import lombok.Data; import java.io.Serializable; @@ -34,4 +35,6 @@ public class TrayTypeDataVO implements Serializable { private List list = new ArrayList<>(); + private List goodsLsit = new ArrayList<>(); + } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTrayTypeClient.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTrayTypeClient.java index 263e8a844..93d8acf1c 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTrayTypeClient.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTrayTypeClient.java @@ -2,6 +2,7 @@ package com.logpm.warehouse.feign; import com.logpm.warehouse.service.IWarehouseTrayTypeService; import lombok.AllArgsConstructor; +import org.springblade.core.tool.api.R; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; @@ -18,4 +19,9 @@ public class WarehouseTrayTypeClient implements IWarehouseTrayTypeClient { public Boolean removeByMasterId(Long id) { return warehouseTrayTypeService.deleteByMasterId(id); } + + @Override + public R selectListByTrayCode(String trayCode) { + return warehouseTrayTypeService.selectListByTrayCode(trayCode); + } } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java index 5ff92a1cd..974ef1048 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java @@ -85,4 +85,6 @@ public interface IWarehouseTrayTypeService extends BaseService queryTrayTypeWrapper = new QueryWrapper<>(); + queryTrayTypeWrapper.eq("is_deleted",0) + .eq("tray_code",trayCode); + WarehouseTrayTypeEntity trayTypeEntity = baseMapper.selectOne(queryTrayTypeWrapper); + if(Objects.isNull(trayTypeEntity)){ + //没有查询到托盘打托信息 + return null; + } + String type = trayTypeEntity.getType();//类型 1扫码分拣(订制品) 2人工分拣(零担) 3库存品 + Long trayTypeId = trayTypeEntity.getId();//打托方式id + String trayType = trayTypeEntity.getTrayType(); + Long wId = trayTypeEntity.getWarehouseId();//托盘打托仓库 + + TrayTypeDataVO trayTypeDataVO = new TrayTypeDataVO(); + trayTypeDataVO.setTrayTypeId(trayTypeId); + trayTypeDataVO.setType(type); + trayTypeDataVO.setTrayCode(trayTypeEntity.getTrayCode()); + trayTypeDataVO.setTrayNum(trayTypeEntity.getTotalNum()); + trayTypeDataVO.setName(trayTypeEntity.getFilterValue()); + trayTypeDataVO.setOrderTotalNum(trayTypeEntity.getOrderTotalNum()); + trayTypeDataVO.setTrayType(trayType); + trayTypeDataVO.setMarketId(trayTypeEntity.getMarketId()); + trayTypeDataVO.setMarketName(trayTypeEntity.getMarketName()); + trayTypeDataVO.setReamrk(trayTypeEntity.getRemark()); + trayTypeDataVO.setWarehosueId(wId); + + QueryWrapper queryWrapper =new QueryWrapper<>(); + queryWrapper.eq("tray_type_id",trayTypeId); + + List goodsList = warehouseTrayGoodsService.list(queryWrapper); + trayTypeDataVO.setGoodsLsit(goodsList); + +// if(PalletProductTypeConstant.CUSTOMIZED.equals(type)){//订制品打托 +// String trayTypeName = DictBizCache.getValue(DictBizConstant.PALLET_ORDER_TYPE, trayTypeEntity.getTrayType()); +// trayTypeDataVO.setTrayTypeName(trayTypeName); +// List list = warehouseTrayGoodsService.getListByTrayTypeId(trayTypeId); +// trayTypeDataVO.setList(list); +// }else if(PalletProductTypeConstant.ARTIFICIAL.equals(type)){ +// String trayTypeName = DictBizCache.getValue(DictBizConstant.PALLET_ZERO_TYPE, trayTypeEntity.getTrayType()); +// trayTypeDataVO.setTrayTypeName(trayTypeName); +// List list = warehouseTrayGoodsService.getZeroListByTrayTypeId(trayTypeId); +// trayTypeDataVO.setList(list); +// }else if(PalletProductTypeConstant.STOCKDATA.equals(type)){ +// String trayTypeName = DictBizCache.getValue(DictBizConstant.PALLET_STOCK_TYPE, trayTypeEntity.getTrayType()); +// trayTypeDataVO.setTrayTypeName(trayTypeName); +// List list = warehouseTrayGoodsService.getStockListByTrayTypeId(trayTypeId); +// trayTypeDataVO.setList(list); +// }else if(PalletProductTypeConstant.STOCKNODATA.equals(type)){ +// String trayTypeName = DictBizCache.getValue(DictBizConstant.PALLET_STOCKNODATA_TYPE, trayTypeEntity.getTrayType()); +// trayTypeDataVO.setTrayTypeName(trayTypeName); +// List list = warehouseTrayGoodsService.getStockListByTrayTypeId(trayTypeId); +// trayTypeDataVO.setList(list); +// }else { +// log.warn("##################getEntityByTrayCode: 未知的打托类型"); +// } +// return trayTypeDataVO; + return R.data(trayTypeDataVO); + } + private R moveTrayOrderPackageCode(WarehouseTrayTypeEntity trayTypeEntity, String orderPackageCode) { DistributionParcelListEntity parcelListEntity = distributionParcelListClient.findByPacketBarCode(orderPackageCode); From 01fc65486d525774978dfbaa5eab02ef664f2929 Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Mon, 25 Sep 2023 15:08:50 +0800 Subject: [PATCH 25/38] =?UTF-8?q?1.=E5=BA=93=E5=86=85=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=EF=BC=8C=E9=9B=B6=E6=8B=85=E6=89=93=E6=89=98=E4=B8=8A=E6=9E=B6?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/logpm/warehouse/mapper/WarehouseTrayTypeMapper.xml | 2 +- .../warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTrayTypeMapper.xml b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTrayTypeMapper.xml index 661d54859..db51cc139 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTrayTypeMapper.xml +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTrayTypeMapper.xml @@ -61,7 +61,7 @@ + select ldpl.id parcelListId,ldpl.order_package_code packetBarCode,ldbs.stock_article_id stockArticleId,ldbs.bill_lading_id reservationId,ldpl.order_code orderCode + from logpm_distrilbution_bill_stock ldbs + LEFT JOIN logpm_distribution_parcel_list ldpl on ldpl.stock_article_id = ldbs.stock_article_id + where ldbs.bill_lading_id = #{reservationId} + + diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseGoodsAllocationService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseGoodsAllocationService.java index 772579ca9..8f4317db6 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseGoodsAllocationService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseGoodsAllocationService.java @@ -115,4 +115,8 @@ public interface IWarehouseGoodsAllocationService extends BaseService list = baseMapper.selectIsStocking(allocationId); + return null == list && list.isEmpty()?false:true; + } + public List getMyWatchWarehouseIds(){ //获取当前登录人仓库 List myWatchWarehouse = basicdataWarehouseClient.getMyWatchWarehouse(); From 47ba8afc2077d2763c5b20cb9f5f755196802344 Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" <123456> Date: Mon, 25 Sep 2023 21:28:58 +0800 Subject: [PATCH 30/38] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E6=AC=A7=E6=B4=BE?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E6=95=B0=E6=8D=AE=E5=AF=B9=E6=9D=A5=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E7=9A=84=E4=BB=93=E5=BA=93=E5=85=A5=E5=BA=93=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=9A=84=E8=A1=A5=E5=85=85=EF=BC=8C=20=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E6=8C=89=E7=85=A7=E8=80=81=E7=B3=BB=E7=BB=9F=E7=9A=84?= =?UTF-8?q?PDA=E6=8E=A5=E5=8F=A3=E6=9D=A5=E8=BF=9B=E8=A1=8C=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=8E=A8=E9=80=81=E4=BD=9C=E4=B8=9A=20=E7=9B=AE?= =?UTF-8?q?=E5=89=8D=E7=AD=89=E5=BE=85=E8=80=81=E7=B3=BB=E7=BB=9F=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=20=E7=99=BB=E5=BD=95=E5=9C=B0=E5=9D=80=E5=92=8C?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constant/RabbitConstant.java | 13 +- blade-service-api/logpm-basicdata-api/pom.xml | 8 +- .../BasicdataTripartiteWarehouseEntity.java | 47 ++++++ .../IBasicdataTripartiteWarehouseClient.java | 59 ++++++++ .../entity/OpPushPackageSystemEntity.java | 43 ++++++ .../BasicdataTripartiteWarehouseClient.java | 31 ++++ .../BasicdataTripartiteWarehouseMapper.java | 10 ++ .../BasicdataTripartiteWarehouseMapper.xml | 7 + .../IBasicdataTripartiteWarehouseService.java | 40 ++++++ ...sicdataTripartiteWarehouseServiceImpl.java | 13 ++ .../DistributionStockArticleServiceImpl.java | 1 - .../src/main/resources/application-prod.yml | 26 ++++ .../factory/config/RabbitMqConfiguration.java | 23 +++ .../mapper/OpPushPackageSystemMapper.java | 10 ++ .../mapper/OpPushPackageSystemMapper.xml | 8 ++ .../receiver/OpOldReceivingDataHandler.java | 135 ++++++++++++++++++ .../receiver/OpReceivingDataHandler.java | 26 +--- .../service/IOpPushPackageSystemService.java | 8 ++ .../oupai/service/IOuPaiFactoryService.java | 1 + .../impl/OpPushPackageSystemService.java | 11 ++ .../impl/OuPaiFactoryDataServiceImpl.java | 3 + .../service/impl/OuPaiFactoryServiceImpl.java | 61 +++++++- 22 files changed, 553 insertions(+), 31 deletions(-) create mode 100644 blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataTripartiteWarehouseEntity.java create mode 100644 blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataTripartiteWarehouseClient.java create mode 100644 blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/OpPushPackageSystemEntity.java create mode 100644 blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataTripartiteWarehouseClient.java create mode 100644 blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataTripartiteWarehouseMapper.java create mode 100644 blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataTripartiteWarehouseMapper.xml create mode 100644 blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataTripartiteWarehouseService.java create mode 100644 blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataTripartiteWarehouseServiceImpl.java create mode 100644 blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpPushPackageSystemMapper.java create mode 100644 blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpPushPackageSystemMapper.xml create mode 100644 blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpOldReceivingDataHandler.java create mode 100644 blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/IOpPushPackageSystemService.java create mode 100644 blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OpPushPackageSystemService.java diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/RabbitConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/RabbitConstant.java index d147e98f7..752dd14ec 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/RabbitConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/RabbitConstant.java @@ -35,7 +35,7 @@ public interface RabbitConstant { */ String UNLOAD_CAR_COM_INFO_QUEUE = "unload_car_com_info_quere"; String UNLOAD_CAR_COM_INFO_EXCHANGE = "unload_car_com_info_exchange"; - String UNLOAD_CAR_COM_INFO_ROUTING = "unload_car_com_info_routing "; + String UNLOAD_CAR_COM_INFO_ROUTING = "unload_car_com_info_routing "; String WAYBILL_DATA_QUEUE = "waybill_data_queue"; @@ -54,11 +54,18 @@ public interface RabbitConstant { String OUPAI_RECEIVING_QUEUE = "oupai_receiving_queue"; String OUPAI_RECEIVING_EXCHANGE = "oupai_receiving_exchange"; - String OUPAI_RECEIVING_ROUTING = "oupai_receiving_routing"; + String OUPAI_RECEIVING_ROUTING = "oupai_receiving_routing"; + + /****************************收货入库 老系统 start ************************************************/ + String OUPAI_OLD_RECEIVING_QUEUE = "oupai_old_receiving_queue"; + String OUPAI_OLD_RECEIVING_EXCHANGE = "oupai_old_receiving_exchange"; + String OUPAI_OLD_RECEIVING_ROUTING = "oupai_old_receiving_routing"; + + /****************************收货入库 老系统 end ************************************************/ String OUPAI_SIGN_QUEUE = "oupai_sign_queue"; String OUPAI_SIGN_EXCHANGE = "oupai_sign_exchange"; - String OUPAI_SIGN_ROUTING = "oupai_sign_routing"; + String OUPAI_SIGN_ROUTING = "oupai_sign_routing"; String SYNC_OLD_DATA_QUEUE = "sync_old_data_queue"; String SYNC_OLD_DATA_EXCHANGE = "sync_old_data_exchange"; diff --git a/blade-service-api/logpm-basicdata-api/pom.xml b/blade-service-api/logpm-basicdata-api/pom.xml index 826a81507..9ae7563f0 100644 --- a/blade-service-api/logpm-basicdata-api/pom.xml +++ b/blade-service-api/logpm-basicdata-api/pom.xml @@ -13,6 +13,12 @@ org.springblade logpm-basicdata-api 3.1.0.RELEASE + + + cn.hutool + hutool-all + + + - diff --git a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataTripartiteWarehouseEntity.java b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataTripartiteWarehouseEntity.java new file mode 100644 index 000000000..ec896ea05 --- /dev/null +++ b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataTripartiteWarehouseEntity.java @@ -0,0 +1,47 @@ +package com.logpm.basicdata.entity; + +import cn.hutool.db.meta.Table; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.tenant.mp.TenantEntity; +@Data +@TableName("logpm_basicdata_tripartite_warehouse") +@ApiModel(value = "三方仓库", description = "三方仓库") +@EqualsAndHashCode(callSuper = true) +public class BasicdataTripartiteWarehouseEntity extends TenantEntity { + + /** 预留1 */ + @ApiModelProperty(name = "预留1",notes = "") + private String reserve1 ; + /** 预留2 */ + @ApiModelProperty(name = "预留2",notes = "") + private String reserve2 ; + /** 预留3 */ + @ApiModelProperty(name = "预留3",notes = "") + private String reserve3 ; + /** 预留4 */ + @ApiModelProperty(name = "预留4",notes = "") + private String reserve4 ; + /** 预留5 */ + @ApiModelProperty(name = "预留5",notes = "") + private String reserve5 ; + /** 三方仓库编码 */ + @ApiModelProperty(name = "三方仓库编码",notes = "") + private String warehouseCode ; + /** 三方仓库名称 */ + @ApiModelProperty(name = "三方仓库名称",notes = "") + private String warehouseName ; + /** 关联仓库编码 */ + @ApiModelProperty(name = "关联仓库编码",notes = "") + private String associationCode ; + /** 地址 */ + @ApiModelProperty(name = "地址",notes = "") + private String address ; + /** 品牌 */ + @ApiModelProperty(name = "品牌",notes = "") + private String brand ; + +} diff --git a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataTripartiteWarehouseClient.java b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataTripartiteWarehouseClient.java new file mode 100644 index 000000000..f4ed3a22b --- /dev/null +++ b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataTripartiteWarehouseClient.java @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.basicdata.feign; + + +import com.logpm.basicdata.entity.BasicdataTripartiteWarehouseEntity; +import com.logpm.basicdata.entity.BasicdataWarehouseEntity; +import org.springblade.common.constant.ModuleNameConstant; +import org.springblade.core.mp.support.BladePage; +import org.springblade.core.tool.api.R; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; + +/** + * 三方 + * + * @author pref + * @since 2023-09-25 + */ +@FeignClient( + value = ModuleNameConstant.APPLICATION_BASICDATA_NAME +) +public interface IBasicdataTripartiteWarehouseClient { + + String API_PREFIX = "tripartiteWarehouse/client"; + String GETWAREHOUSE = API_PREFIX + "/warehouse"; + + + /** + * 通过三方仓库名称 查询 汇通仓库的编码 + * @param warehouseName 三方仓库名称 + * @param warehouseCode 三方仓库编码 + * @return BasicdataTripartiteWarehouseEntity + */ + @GetMapping(GETWAREHOUSE) + BasicdataTripartiteWarehouseEntity getWarehouse(@RequestParam("warehouseName") String warehouseName, @RequestParam("warehouseCode") String warehouseCode); + + +} + diff --git a/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/OpPushPackageSystemEntity.java b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/OpPushPackageSystemEntity.java new file mode 100644 index 000000000..7a09fa4f1 --- /dev/null +++ b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/OpPushPackageSystemEntity.java @@ -0,0 +1,43 @@ +package com.logpm.factory.oupai.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; +@Data +@TableName("op_push_package_system") +@ApiModel(value = "欧派包件推送老系统", description = "欧派包件推送老系统") +@EqualsAndHashCode(callSuper = true) +public class OpPushPackageSystemEntity extends BaseEntity { + + /** 预留1 */ + @ApiModelProperty(name = "预留1",notes = "") + private String reserve1 ; + /** 预留2 */ + @ApiModelProperty(name = "预留2",notes = "") + private String reserve2 ; + /** 预留3 */ + @ApiModelProperty(name = "预留3",notes = "") + private String reserve3 ; + /** 预留4 */ + @ApiModelProperty(name = "预留4",notes = "") + private String reserve4 ; + /** 预留5 */ + @ApiModelProperty(name = "预留5",notes = "") + private String reserve5 ; + /** 包条码 */ + @ApiModelProperty(name = "包条码",notes = "") + private String code ; + /** 仓库名称 */ + @ApiModelProperty(name = "仓库名称",notes = "") + private String warehouseName ; + /** 仓库编码 */ + @ApiModelProperty(name = "仓库编码",notes = "") + private String warehouseCode ; + /** 推送状态 0 未推送 1 已推送 */ + @ApiModelProperty(name = "推送状态 0 未推送 1 已推送",notes = "") + private Integer pushStatus ; + +} diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataTripartiteWarehouseClient.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataTripartiteWarehouseClient.java new file mode 100644 index 000000000..5d4adebc3 --- /dev/null +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataTripartiteWarehouseClient.java @@ -0,0 +1,31 @@ +package com.logpm.basicdata.feign; + +import com.logpm.basicdata.entity.BasicdataTripartiteWarehouseEntity; +import com.logpm.basicdata.service.IBasicdataTripartiteWarehouseService; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.RestController; +import springfox.documentation.annotations.ApiIgnore; + +import java.util.List; + +/** + * 三方仓库查询 + */ +@ApiIgnore() +@RestController +@AllArgsConstructor +public class BasicdataTripartiteWarehouseClient implements IBasicdataTripartiteWarehouseClient { + + private final IBasicdataTripartiteWarehouseService basicdataTripartiteWarehouseService; + + @Override + public BasicdataTripartiteWarehouseEntity getWarehouse(String warehouseName, String warehouseCode) { + + // 暂时 先用名称进行匹配 + List list = basicdataTripartiteWarehouseService.lambdaQuery().eq(BasicdataTripartiteWarehouseEntity::getWarehouseName, warehouseName).list(); + if (list.isEmpty()) { + return null; + } + return list.get(0); + } +} diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataTripartiteWarehouseMapper.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataTripartiteWarehouseMapper.java new file mode 100644 index 000000000..ccb0268d6 --- /dev/null +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataTripartiteWarehouseMapper.java @@ -0,0 +1,10 @@ +package com.logpm.basicdata.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.logpm.basicdata.entity.BasicdataTripartiteMallEntity; +import com.logpm.basicdata.entity.BasicdataTripartiteWarehouseEntity; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface BasicdataTripartiteWarehouseMapper extends BaseMapper { +} diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataTripartiteWarehouseMapper.xml b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataTripartiteWarehouseMapper.xml new file mode 100644 index 000000000..fdec73410 --- /dev/null +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataTripartiteWarehouseMapper.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataTripartiteWarehouseService.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataTripartiteWarehouseService.java new file mode 100644 index 000000000..d0c573357 --- /dev/null +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataTripartiteWarehouseService.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.basicdata.service; + + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.logpm.basicdata.entity.BasicdataTripartiteWarehouseEntity; +import com.logpm.basicdata.entity.BasicdataWarehouseEntity; +import com.logpm.basicdata.excel.BasicdataWarehouseExcel; +import com.logpm.basicdata.vo.BasicdataWarehouseVO; +import org.springblade.core.mp.base.BaseService; +import org.springblade.core.tool.api.R; + +import java.util.List; + +/** + * 三方仓库服务类 + * + * @author pref + * @since 2023-09-25 + */ +public interface IBasicdataTripartiteWarehouseService extends BaseService { + +} diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataTripartiteWarehouseServiceImpl.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataTripartiteWarehouseServiceImpl.java new file mode 100644 index 000000000..75bbc0416 --- /dev/null +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataTripartiteWarehouseServiceImpl.java @@ -0,0 +1,13 @@ +package com.logpm.basicdata.service.impl; + +import com.logpm.basicdata.entity.BasicdataTripartiteWarehouseEntity; +import com.logpm.basicdata.mapper.BasicdataTripartiteWarehouseMapper; +import com.logpm.basicdata.service.IBasicdataTripartiteWarehouseService; +import lombok.AllArgsConstructor; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springframework.stereotype.Service; + +@Service +@AllArgsConstructor +public class BasicdataTripartiteWarehouseServiceImpl extends BaseServiceImpl implements IBasicdataTripartiteWarehouseService { +} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java index 260afe78e..304d5bc5f 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java @@ -558,7 +558,6 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl handlePackage(IPage pageVO) { pageVO.getRecords().forEach(s->{ - HashSet str = new HashSet<>(); // List parcelListEntityList = distributionParcelListService.getBaseMapper().selectList(Wrappers.query().lambda() // .eq(DistributionParcelListEntity::getStockArticleId, s.getId()) // .ne(DistributionParcelListEntity::getOrderPackageReservationStatus, OrderPackageReservationStatusConstant.yiyueyue.getValue())); diff --git a/blade-service/logpm-distribution/src/main/resources/application-prod.yml b/blade-service/logpm-distribution/src/main/resources/application-prod.yml index 1406c5b7a..3da290a43 100644 --- a/blade-service/logpm-distribution/src/main/resources/application-prod.yml +++ b/blade-service/logpm-distribution/src/main/resources/application-prod.yml @@ -55,3 +55,29 @@ spring: acknowledge-mode: manual template: mandatory: true + #rabbitmq配置 + rabbitmq: + host: 172.16.128.145 + port: 5672 + username: admin + password: Slwk@123654 + #虚拟host 可以不设置,使用server默认host + virtual-host: / + #确认消息已发送到队列(Queue) + publisher-returns: true + publisher-confirm-type: correlated + # 手动提交消息 + listener: + simple: + acknowledge-mode: auto + default-requeue-rejected: false + retry: + enabled: true # 开启消费者失败重试 + initial-interval: 1000 # 初识的失败等待时长为1秒 + multiplier: 1 # 失败的等待时长倍数,下次等待时长 = multiplier * last-interval + max-attempts: 3 # 最大重试次数 + stateless: true # true无状态;false有状态。如果业务中包含事务,这里改为false + direct: + acknowledge-mode: manual + template: + mandatory: true diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/config/RabbitMqConfiguration.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/config/RabbitMqConfiguration.java index cf270a020..def968e3b 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/config/RabbitMqConfiguration.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/config/RabbitMqConfiguration.java @@ -212,6 +212,29 @@ public class RabbitMqConfiguration { return BindingBuilder.bind(oupaiReceivingQueue).to(oupaiReceivingExchange).with(RabbitConstant.OUPAI_RECEIVING_ROUTING).noargs(); } + + @Bean + public Queue oupaiOldReceivingQueue() { + return new Queue(RabbitConstant.OUPAI_OLD_RECEIVING_QUEUE, true); + } + + @Bean + public CustomExchange oupaiOldReceivingExchange() { + Map args = Maps.newHashMap(); + args.put("x-delayed-type", "direct"); + return new CustomExchange(RabbitConstant.OUPAI_OLD_RECEIVING_EXCHANGE, "x-delayed-message", true, false, args); + } + + @Bean + public Binding oupaiOldReceivingBinding(Queue oupaiOldReceivingQueue, CustomExchange oupaiOldReceivingExchange) { + return BindingBuilder.bind(oupaiOldReceivingQueue).to(oupaiOldReceivingExchange).with(RabbitConstant.OUPAI_OLD_RECEIVING_ROUTING).noargs(); + } + + + + + + @Bean public Queue oupaiTestReceivingQueue() { return new Queue(RabbitConstant.TEST_RECEIVE_INFO_QUEUE, true); diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpPushPackageSystemMapper.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpPushPackageSystemMapper.java new file mode 100644 index 000000000..595dfd5de --- /dev/null +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpPushPackageSystemMapper.java @@ -0,0 +1,10 @@ +package com.logpm.factory.oupai.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.logpm.factory.oupai.entity.FactoryLogEntity; +import com.logpm.factory.oupai.entity.OpPushPackageSystemEntity; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface OpPushPackageSystemMapper extends BaseMapper { +} diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpPushPackageSystemMapper.xml b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpPushPackageSystemMapper.xml new file mode 100644 index 000000000..a9e3435fb --- /dev/null +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpPushPackageSystemMapper.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpOldReceivingDataHandler.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpOldReceivingDataHandler.java new file mode 100644 index 000000000..06a9d8a59 --- /dev/null +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpOldReceivingDataHandler.java @@ -0,0 +1,135 @@ +package com.logpm.factory.oupai.receiver; + +import cn.hutool.http.HttpRequest; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.logpm.basicdata.entity.BasicdataTripartiteWarehouseEntity; +import com.logpm.basicdata.feign.IBasicdataTripartiteWarehouseClient; +import com.logpm.factory.oupai.entity.OpPushPackageSystemEntity; +import com.logpm.factory.oupai.service.IOpPushPackageSystemService; +import com.logpm.factory.pan.service.IPanFactoryDataService; +import com.logpm.oldproject.entity.WarehouseEntity; +import com.logpm.oldproject.feign.IWarehouseClient; +import com.rabbitmq.client.Channel; +import jodd.util.StringUtil; +import lombok.extern.slf4j.Slf4j; +import org.springblade.common.constant.RabbitConstant; +import org.springframework.amqp.core.Message; +import org.springframework.amqp.rabbit.annotation.RabbitHandler; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + + +/** + * 推送老系统 + * + * @author pref + */ +@Slf4j +@RabbitListener(queues = RabbitConstant.OUPAI_OLD_RECEIVING_QUEUE) +@Component +public class OpOldReceivingDataHandler { + + @Autowired + private IPanFactoryDataService panFactoryDataService; + + @Autowired + private IBasicdataTripartiteWarehouseClient basicdataTripartiteWarehouseClient; + @Autowired + private IWarehouseClient warehouseClient; + @Autowired + private IOpPushPackageSystemService opPushPackageSystemService; + + @RabbitHandler + public void opOldReceivingDataHandler(Map map, Message message, Channel channel) throws IOException { + // 如果手动ACK,消息会被监听消费,但是消息在队列中依旧存在,如果 未配置 acknowledge-mode 默认是会在消费完毕后自动ACK掉 + log.info("##################opReceivingDataHandler: 处理欧派收货数据到新系统"); + String jsonStr = (String) map.get("messageData"); + JSONObject object = JSONObject.parseObject(jsonStr); + String orderPackageCode = object.getString("orderPackageCode"); + String warehouseName = object.getString("warehouse_name"); + + OpPushPackageSystemEntity opPushPackageSystemEntity = new OpPushPackageSystemEntity(); + opPushPackageSystemEntity.setWarehouseName(warehouseName); + opPushPackageSystemEntity.setCode(orderPackageCode); + opPushPackageSystemEntity.setPushStatus(0); + opPushPackageSystemService.save(opPushPackageSystemEntity); + //真正的处理需要的数据 + try { + // 保存数据 + // 需要查询映射表 如果映射表没有值 这个字段为null + BasicdataTripartiteWarehouseEntity warehouse = basicdataTripartiteWarehouseClient.getWarehouse(warehouseName, null); + if (ObjectUtils.isNotNull(warehouse)) { + WarehouseEntity warehouseEntity = warehouseClient.findByCode(warehouse.getAssociationCode()); + // 请求老系统的登录接口 + + String authCode = oldLogin("账号", "密码", warehouseEntity.getId()); + // 推送数据 + if (StringUtil.isNotBlank(authCode)) { + boolean isSuccess = sendPackageData(authCode, orderPackageCode, warehouseName); + if (isSuccess) { + // 请求成功 修改推送数据的状态 修改未1 + opPushPackageSystemEntity.setPushStatus(1); + } else { + opPushPackageSystemEntity.setPushStatus(2); + } + } + } + + } catch (Exception e) { + log.error("##################opReceivingDataHandler: 处理欧派收货数据到新系统,orderPackageCode:{},warehouseName{}", + orderPackageCode, warehouseName); + log.error(e.getMessage()); + opPushPackageSystemEntity.setPushStatus(2); + + } + + opPushPackageSystemService.updateById(opPushPackageSystemEntity); + } + + private boolean sendPackageData(String authCode, String orderPackageCode, String warehouseName) { + // 构建请求头 + Map map = new HashMap<>(); + map.put("type", "1"); + map.put("unitNo", orderPackageCode); + map.put("mctsTruckNo", ""); + map.put("area", ""); + map.put("user_id", ""); + map.put("pick_up_id", ""); + map.put("origin", "按件入库"); + + + return false; + } + + /** + * 登录老系统 + * + * @param name 账号 + * @param pwd 密码 + * @param warhouseId 仓库ID + * @return 成功token + */ + private String oldLogin(String name, String pwd, Integer warhouseId) { + + + String url = ""; + String body = HttpRequest.post(url).execute().body(); + + + JSONObject authCode = JSON.parseObject(body); + + if ("200".equals(authCode.getString("code"))) { + + return authCode.getJSONObject("data").getString("token"); + + } + return null; + } +} diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpReceivingDataHandler.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpReceivingDataHandler.java index 059e54e4c..3ae23ca1f 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpReceivingDataHandler.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpReceivingDataHandler.java @@ -39,36 +39,12 @@ public class OpReceivingDataHandler { //真正的处理需要的数据 try { panFactoryDataService.handleDataToPlatform(orderPackageCode, receivingTime); + } catch (Exception e) { log.error("##################opReceivingDataHandler: 处理欧派收货数据到新系统,orderPackageCode:{},receivingTime{}", orderPackageCode,receivingTime); log.error(e.getMessage()); } - -// String args = opOrderStatusLogEntity.getResponseBody(); -// JSONObject jsonObject = JSONObject.parseObject(args); -// JSONArray jsonArray = jsonObject.getJSONArray("value"); -// for (int i = 0; i < jsonArray.size(); i++) { -// JSONObject valueObject = jsonArray.getJSONObject(i); -// JSONArray packages = valueObject.getJSONArray("Packages"); -// for (int j = 0; j < packages.size(); j++) { -// JSONObject packageJSON = packages.getJSONObject(j); -// String packageStatus = packageJSON.getString("PackageStatus"); -// String orderPackageCode = packageJSON.getString("Code"); -// String receivingTime=null; -// try{ -// receivingTime = packageJSON.getString("CreateTime"); -// }catch (Exception e){ -// log.error(e.getMessage()); -// } -// log.info("##################opReceivingDataHandler: 处理欧派收货数据到新系统,packageStatus:{},orderPackageCode:{},receivingTime{}", -// packageStatus,orderPackageCode,receivingTime); -// //判断是否是已入库 -// if("已在库".equals(packageStatus)){ -// -// } -// } -// } } } diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/IOpPushPackageSystemService.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/IOpPushPackageSystemService.java new file mode 100644 index 000000000..ae7175ef4 --- /dev/null +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/IOpPushPackageSystemService.java @@ -0,0 +1,8 @@ +package com.logpm.factory.oupai.service; + +import com.logpm.factory.oupai.entity.OpPushPackageSystemEntity; +import com.logpm.factory.oupai.entity.OpSignPackageEntity; +import org.springblade.core.mp.base.BaseService; + +public interface IOpPushPackageSystemService extends BaseService { +} diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/IOuPaiFactoryService.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/IOuPaiFactoryService.java index e7fced789..03fdaa0ae 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/IOuPaiFactoryService.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/IOuPaiFactoryService.java @@ -17,4 +17,5 @@ public interface IOuPaiFactoryService { String savaOuPaiSignBillByCode(String orderCode, Integer event); + String saveOuPaiPackageStatusByCodeByOld(String key, Integer event, String warehouseName); } diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OpPushPackageSystemService.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OpPushPackageSystemService.java new file mode 100644 index 000000000..43453e140 --- /dev/null +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OpPushPackageSystemService.java @@ -0,0 +1,11 @@ +package com.logpm.factory.oupai.service.impl; + +import com.logpm.factory.oupai.entity.OpOrderStatusLogEntity; +import com.logpm.factory.oupai.entity.OpPushPackageSystemEntity; +import com.logpm.factory.oupai.mapper.OpOrderStatusLogMapper; +import com.logpm.factory.oupai.mapper.OpPushPackageSystemMapper; +import com.logpm.factory.oupai.service.IOpPushPackageSystemService; +import org.springblade.core.mp.base.BaseServiceImpl; + +public class OpPushPackageSystemService extends BaseServiceImpl implements IOpPushPackageSystemService { +} diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryDataServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryDataServiceImpl.java index 56cab1033..ed5814c57 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryDataServiceImpl.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryDataServiceImpl.java @@ -26,6 +26,7 @@ public class OuPaiFactoryDataServiceImpl implements IOuPaiFactoryDataService { String typeName = ouPaiDataPushVO.getTypeName(); String orderCode = ouPaiDataPushVO.getOrderCode(); String key = ouPaiDataPushVO.getKey(); + String warehouseName = ouPaiDataPushVO.getWarehouseName(); String code = null; if(StringUtil.isBlank(typeName)){ log.info("#############saveData: 事件类型为空 typeName={}",typeName); @@ -38,6 +39,8 @@ public class OuPaiFactoryDataServiceImpl implements IOuPaiFactoryDataService { }else if(event == 2){ //包件收货 code = ouPaiFactoryService.saveOuPaiPackageStatusByCode(key,event); + // 老系统的 + code = ouPaiFactoryService.saveOuPaiPackageStatusByCodeByOld(key,event,warehouseName); }else if(event == 3){ // 收货单创建 // 获取需要处理的数据并存入数据库 diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java index 31798547c..24a4c999b 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java @@ -5,7 +5,10 @@ import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.logpm.basicdata.entity.BasicdataTripartiteWarehouseEntity; +import com.logpm.basicdata.feign.IBasicdataTripartiteWarehouseClient; import com.logpm.factory.comfac.service.IAsyncDataService; import com.logpm.factory.oupai.entity.*; import com.logpm.factory.oupai.mapper.ReceivingOrderMapper; @@ -69,6 +72,8 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService { @Autowired private IOssClient ossClient; + + @Override public String saveOuPaiFactoryOrderDTOByCarCarNumber(String code) { @@ -119,16 +124,70 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService { map.put("messageData", jo.toJSONString()); map.put("createTime", new Date().getTime()); try { + log.info(">>>############ 处理到新系统"); rabbitTemplate.convertAndSend(RabbitConstant.OUPAI_RECEIVING_EXCHANGE, RabbitConstant.OUPAI_RECEIVING_ROUTING, map); } catch (Exception e) { log.error("############saveOuPaiPackageStatusByCode: {}", e.getMessage()); } log.info("############saveOuPaiPackageStatusByCode: 数据处理结束"); - return orderPackageCode; } + + + @Override + public String saveOuPaiPackageStatusByCodeByOld(String key, Integer event, String warehouseName) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("oid",key); + FactoryPackageEntity packageEntity = factoryPackageService.getOne(queryWrapper); + String code; + if(Objects.isNull(packageEntity)) { + log.error("############oid 查询数据失败: {}",key); + // 查询欧派系统的的数据 + String url =ouPaiProperties.getUri()+"tims_odata_api/api/odata/Package("+key+")?select=Code,PackageStatus,FirstClassCode,FirstClassName,SecondClassCode,SecondClassName,ThirdClassCode,ThirdClassName,BuyIn,CosourcingCode,CosourcingUnit,Length,Width,Height,Weight,IsInventory,SendTime,ReceivingTime,CreateTime,ShipTime,CarNumber,DeliveryMethod&$expand=ReceivingOrders($select=Code,Type,Status,Plate,PackagesCount,ReceivePackageCount,PlateNum,CarNumber,CarrierCode,SendTime,ArrivalTime,ReceiveTime,CreateTime,ReturnNumber)"; + OpOrderStatusLogEntity opOrderStatusLogEntity = sendRequestData(url, event); + + JSONObject jsonObject = JSONObject.parseObject(opOrderStatusLogEntity.getResponseBody()); + + code= jsonObject.getString("Code"); + + }else{ + packageEntity.setPackageStatus(5); + factoryPackageService.updateById(packageEntity); + code =packageEntity.getCode(); + } + + + + + + JSONObject jo = new JSONObject(); + jo.put("orderPackageCode",code); + jo.put("warehouse_name",warehouseName); + + //真正的处理需要的数据 + Map map = new HashMap<>(); + map.put("messageId", CommonUtil.getUUID()); + map.put("type", "Push"); + map.put("messageData", jo.toJSONString()); + map.put("createTime", new Date().getTime()); + try { + log.info(">>>############ 处理到老系统"); + rabbitTemplate.convertAndSend(RabbitConstant.OUPAI_OLD_RECEIVING_EXCHANGE, RabbitConstant.OUPAI_OLD_RECEIVING_ROUTING, map); + } catch (Exception e) { + log.error("############saveOuPaiPackageStatusByCodeByOld: {}", e.getMessage()); + } + + log.info("############saveOuPaiPackageStatusByCodeByOld: 数据处理结束"); + return key; + } + + + + + + @Override public String saveOuPaiOutGoingOrderByCode(String orderCode, Integer event) { // From e4b3e5651cbd193a1daed34fdec5ccb946c32cca Mon Sep 17 00:00:00 2001 From: kilo Date: Mon, 25 Sep 2023 21:30:54 +0800 Subject: [PATCH 31/38] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E8=A3=85=E8=BD=A6?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E8=BF=94=E5=9B=9E=E3=80=81=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E5=92=8C=E8=AE=A1=E5=88=92=E6=95=B4=E6=89=98=E8=A3=85=E8=BD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/DistributionLoadscanEntity.java | 12 + .../vo/app/DistributionAppReservationVO.java | 23 + .../DistributionDeliveryAppController.java | 17 +- .../DistributionDeliveryInfoMapper.java | 10 +- .../mapper/DistributionDeliveryInfoMapper.xml | 57 +- .../IDistributionDeliveryListService.java | 9 +- .../DistributionDeliveryListServiceImpl.java | 863 +++++++++++------- 7 files changed, 668 insertions(+), 323 deletions(-) diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionLoadscanEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionLoadscanEntity.java index c731beb60..ea334bd45 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionLoadscanEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionLoadscanEntity.java @@ -335,4 +335,16 @@ public class DistributionLoadscanEntity extends TenantEntity { */ @ApiModelProperty(value = "签收人Id") private Long signingUserId; + + /** + * 是否异常签收 1-否 2-是 + */ + @ApiModelProperty(value = "是否异常签收 1-否 2-是") + private Long isAbnormalSigning; + + /** + * 是否异常装车 1-否 2-是 + */ + @ApiModelProperty(value = "是否异常装车 1-否 2-是") + private Long isAbnormalLoading; } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistributionAppReservationVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistributionAppReservationVO.java index d4241d298..6ff9f47bc 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistributionAppReservationVO.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistributionAppReservationVO.java @@ -74,6 +74,29 @@ public class DistributionAppReservationVO extends DistributionReservationEntity @ApiModelProperty(value = "备货地址") private String stockupArea; + /** + * 托盘数量 + */ + @ApiModelProperty(value = "托盘数量") + private Integer trayNum; + + /** + * 托盘ID + */ + @ApiModelProperty(value = "托盘ID") + private Long trayId; + /** + * 托盘码 + */ + @ApiModelProperty(value = "托盘码") + private String trayCode; + + /** + * 货物名称 + */ + @ApiModelProperty(value = "货物名称") + private String goodsNames; + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionDeliveryAppController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionDeliveryAppController.java index 9acb4fe5d..1594a06ec 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionDeliveryAppController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionDeliveryAppController.java @@ -69,6 +69,17 @@ public class DistributionDeliveryAppController { return R.data(pages); } + /** + * 配送 查看托盘详情 + */ + @GetMapping("/trays") + @ApiOperationSupport(order = 3) + @ApiOperation(value = "详情", notes = "传入DistributionDeliveryListDTO") + public R> traysDetail(DistributionAppDeliveryListDTO distributionDeliveryList, Query query) { + IPage pages = distributionDeliveryListService.getAppDeliveryreservationTraysPage(Condition.getPage(query),distributionDeliveryList); + return R.data(pages); + } + /** * 配送 查看订单 */ @@ -120,8 +131,8 @@ public class DistributionDeliveryAppController { @PostMapping("/loadingscan") @ApiOperationSupport(order = 6) @ApiOperation(value = "装车扫描", notes = "传入DistrilbutionloadingscanDTO") - public Resp loadingscan(@Valid @RequestBody DistrilbutionloadingscanDTO distrilbutionloadingscanDTO) { - Resp msg = distributionDeliveryListService.loadingscan(distrilbutionloadingscanDTO); + public R loadingscan(@Valid @RequestBody DistrilbutionloadingscanDTO distrilbutionloadingscanDTO) { + R msg = distributionDeliveryListService.loadingscan(distrilbutionloadingscanDTO); return msg; } @@ -218,7 +229,7 @@ public class DistributionDeliveryAppController { /** - * 装车补打二维码 + * 装车补打库存品二维码 */ @PostMapping("/patchworkInventoryCode") @ApiOperationSupport(order = 6) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.java index 314c3ead3..b0816c56e 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.java @@ -130,7 +130,7 @@ public interface DistributionDeliveryInfoMapper extends BaseMapper selectAppcustomListPage(IPage page, Long id); + List selectAppcustomListPage(IPage page,@Param("deliveryListId") Long id); /** * App-通过配送查询客户库存品信息分页 * @@ -151,4 +151,12 @@ public interface DistributionDeliveryInfoMapper extends BaseMapper selectDistributionAppDeliveryOrderCompmletePage(IPage page,@Param("param") DistributionAppDeliveryListDTO distributionAppDeliveryListDTO); List selectDistributionAppDeliveryOrderCompcletePage(IPage page,@Param("param") DistributionAppDeliveryListDTO distributionAppDeliveryListDTO); + + /** + * 查询托盘列表 + * @param page + * @param id + * @return + */ + List selectAppTarysListPage(IPage page,@Param("reservationId") Long id); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml index 637ab3b0d..f224d6078 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml @@ -329,15 +329,37 @@ + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java index 18b4da8ba..5f2f4e53b 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java @@ -87,7 +87,7 @@ public interface IDistributionDeliveryListService extends BaseService printBatchByReservation(String ids); + /** + * 查询托盘详情 + * @param page + * @param distributionDeliveryList + * @return + */ + IPage getAppDeliveryreservationTraysPage(IPage page, DistributionAppDeliveryListDTO distributionDeliveryList); } 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 e370815ba..638a00e91 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 @@ -45,7 +45,11 @@ import com.logpm.distribution.wrapper.DistributionDeliveryListWrapper; import com.logpm.distribution.wrapper.DistributionParcelListWrapper; import com.logpm.distribution.wrapper.DistributionReservationWrapper; import com.logpm.distribution.wrapper.DistributionStockArticleWrapper; +import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity; +import com.logpm.warehouse.entity.WarehouseTrayTypeEntity; +import com.logpm.warehouse.feign.IWarehouseTrayTypeClient; import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient; +import com.logpm.warehouse.vo.TrayTypeDataVO; import lombok.AllArgsConstructor; import lombok.extern.log4j.Log4j2; import org.apache.commons.lang.StringUtils; @@ -90,6 +94,7 @@ import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; +import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -138,6 +143,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl selectDistributionDeliveryListPage(IPage page, DistributionDeliveryListDTO distributionDeliveryList) { @@ -397,8 +403,12 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl distributionLoadscanEntities = baseMapper.selectdeliverywork(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getDeliveryId()); - if (distributionLoadscanEntities.size() <= 0) { - return Resp.scanSuccess("窜货", "窜货"); - } - for (DistributionLoadscanEntity distributionLoadscanEntity : distributionLoadscanEntities) { - //查询是否重复扫码 + if (distrilbutionloadingscanDTO.getType() == 1){ + List distributionParcelListEntities = distributionDeliveryListMapper.selectPackageListByDeliveryListId(distrilbutionloadingscanDTO.getDeliveryId()); + List parcelListEntityList = distributionParcelListEntities.stream().filter(p -> Func.equals(p.getOrderPackageCode(), distrilbutionloadingscanDTO.getBarcode())).collect(Collectors.toList()); + if (parcelListEntityList.size() == 1){ + //在配送任务中存在该包件的计划 List distributionLoadscanEntitiesflag = distributionLoadscanMapper.selectList(new QueryWrapper().lambda() - .eq(DistributionLoadscanEntity::getDeliveryId, distributionLoadscanEntity.getDeliveryId()) - .eq(DistributionLoadscanEntity::getOrderPackageCode, distributionLoadscanEntity.getOrderPackageCode()) - .ne(DistributionLoadscanEntity::getScanStatus, 1) - ); - if (!distributionLoadscanEntitiesflag.isEmpty()) { + .eq(DistributionLoadscanEntity::getDeliveryId, distrilbutionloadingscanDTO.getDeliveryId()) + .eq(DistributionLoadscanEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode()) + .ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())); + + if (Func.isNotEmpty(distributionLoadscanEntitiesflag) && distributionLoadscanEntitiesflag.size() == 1){ return Resp.scanSuccess("重复扫码", "重复扫码"); } - //依次插入该装车记录,设置车辆 - if (null != distributionDeliverySelfEntity.getDriverId()) { - distributionLoadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId()); + DistributionLoadscanEntity loadscanEntity = new DistributionLoadscanEntity(); + if (Func.isNotEmpty(distributionDeliverySelfEntity.getDeliveryId())){ + loadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId()); } - //添加车次号 - distributionLoadscanEntity.setTrainNumber(distributionDeliveryListEntity.getTrainNumber()); - distributionLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName()); - distributionLoadscanEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub()); - distributionLoadscanEntity.setScanStatus(LoadingStatusConstant.saomiao.getValue()); - distributionLoadscanEntity.setScanType("1"); - distributionLoadscanEntity.setScanTime(new Date()); - BladeUser user = AuthUtil.getUser(); - distributionLoadscanEntity.setScanUser(user.getNickName()); - if (null != distributionDeliverySelfEntity.getDriverPhone()) { - distributionLoadscanEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone()); + if (Func.isNotEmpty(distributionDeliverySelfEntity.getDriverName())){ + loadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName()); + } + if (Func.isNotEmpty(distributionDeliverySelfEntity.getVehicleNub())){ + loadscanEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub()); } - if (null != distributionDeliverySelfEntity.getVehicleId()) { - distributionLoadscanEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId()); + if (Func.isNotEmpty(distributionDeliverySelfEntity.getVehicleId())){ + loadscanEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId()); } - distributionLoadscanEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId()); - //distributionLoadscanEntity.setVehicleName(distributionDeliverySelfEntity.); - //依次更新该装车记录,设置车辆 - // distributionLoadscanMapper.updateSumById(distributionLoadscanEntity.getId(), distrilbutionloadingscanDTO); -// distributionLoadscanordMapper.updateSumById(distributionLoadscanEntity.getOrderId(),distrilbutionloadingscanDTO); -// distributionLoadscanresMapper.updateSumById(distributionLoadscanEntity.getReservationId(),distrilbutionloadingscanDTO); + if (Func.isNotEmpty(distributionDeliverySelfEntity.getDriverPhone())){ + loadscanEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone()); + } + DistributionParcelListEntity parcelListEntity = parcelListEntityList.get(0); + //添加车次号 + loadscanEntity.setTrainNumber(distributionDeliveryListEntity.getTrainNumber()); + loadscanEntity.setScanStatus(LoadingStatusConstant.saomiao.getValue()); + loadscanEntity.setScanType("1"); + loadscanEntity.setOneClick(1); + loadscanEntity.setPackageId(parcelListEntity.getId()); + loadscanEntity.setOrderPackageCode(parcelListEntity.getOrderPackageCode()); + loadscanEntity.setPackageNub(parcelListEntity.getQuantity()); + loadscanEntity.setReservationId(distrilbutionloadingscanDTO.getReservationId()); + loadscanEntity.setDeliveryId(distrilbutionloadingscanDTO.getDeliveryId()); + loadscanEntity.setOrderId(parcelListEntity.getStockArticleId()); + loadscanEntity.setScanTime(new Date()); + BladeUser user = AuthUtil.getUser(); + loadscanEntity.setScanUser(user.getUserName()); + loadscanEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId()); + //出库 + warehouseUpdownTypeClient.downPackage(distrilbutionloadingscanDTO.getBarcode()); + distributionLoadscanService.save(loadscanEntity); //查询本车次是否第一次扫码,没有则更新上车时间 Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); //更新签收表的装车数量 - Integer j = distributionSignforMapper.updateloadByReservationId(distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getReservationId(), distributionLoadscanEntity.getPackageNub()); - //判断是商配还是市配 -// DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(distrilbutionloadingscanDTO.getDeliveryId()); -// if (distributionDeliveryListEntity.getType().equals("1")) { -// //判断签收表有无客户信息,没有就加入信息 -// Long c = distributionSignforMapper.selectCount(new QueryWrapper().lambda() -// .eq(DistributionSignforEntity::getDeliveryType,"1") -// .eq(DistributionSignforEntity::getReservationId,distributionLoadscanEntity.getReservationId()) -// ); -// //冗余加入 -// if (c<=0){ -// DistributionReservationEntity distributionReservationEntity = distributionReservationMapper.selectById(distributionLoadscanEntity.getReservationId()); -// DistributionSignforEntity distributionSignforEntity = new DistributionSignforEntity(); -// BeanUtils.copyProperties(distributionReservationEntity,distributionSignforEntity); -// distributionSignforEntity.setReservationId(distributionReservationEntity.getId()); -// //设置车次 -// distributionSignforEntity.setTrainNumber(distributionDeliveryListEntity.getTrainNumber()); -// distributionSignforEntity.setDeliveryType(distributionDeliveryListEntity.getType()); -// distributionSignforEntity.setId(null); -// distributionSignforEntity.setLoadingTime(distributionDeliveryListEntity.getLoadingTime()); -// distributionSignforEntity.setDeliveryDriverName(distributionDeliveryListEntity.getDriverName()); -// distributionSignforEntity.setSigningStatus("1"); -// distributionSignforEntity.setDriverSigning("1"); -// distributionSignforMapper.insert(distributionSignforEntity); -// } - // } + Integer j = distributionSignforMapper.updateloadByReservationId(loadscanEntity.getDeliveryId(), loadscanEntity.getReservationId(), loadscanEntity.getPackageNub()); + + //这里还需要一个维护状态的方法 + + }else if (parcelListEntityList.size() == 0){ + //查找出该包件信息 + DistributionParcelListEntity parcelListEntity = distributionParcelListService.getOne(Wrappers.query().lambda() + .eq(DistributionParcelListEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode())); + List reservationEntityList = distributionDeliveryListMapper.selectReservationByDeliveryListId(distrilbutionloadingscanDTO.getDeliveryId()); + boolean shangpeiFlag = reservationEntityList.stream().allMatch(r -> r.getDeliveryType().equals(DistributionTypeConstant.shipie.getValue())); + DistributionStockArticleEntity stockArticleEntity = distributionStockArticleMapper.selectById(parcelListEntity.getStockArticleId()); + if (shangpeiFlag){ + List reservationEntities = reservationEntityList.stream().filter(r -> Func.isNotEmpty(r.getConsignee()) + && r.getConsignee().equals(stockArticleEntity.getCustomerName()) + && r.getDeliveryAddress().equals(stockArticleEntity.getCustomerAddress()) + && r.getDeliveryPhone().equals(stockArticleEntity.getCustomerTelephone()) + && r.getMallName().equals(stockArticleEntity.getMallName())).collect(Collectors.toList()); + //查看是否存在满足条件的预约单 + if (reservationEntities.size() == 1){ + return R.fail(5000,"异常装车"); +// return Resp.scanFail("装车失败","程序出错,请联系张思雨"); + }else { + return Resp.scanFail("装车失败","窜货"); + } + }else { + shangpeiFlag = reservationEntityList.stream().allMatch(r -> r.getDeliveryType().equals(DistributionTypeConstant.shangpei.getValue())); + if (shangpeiFlag){ + List reservationEntities = reservationEntityList.stream().filter(r -> Func.isNotEmpty(r) && r.getConsignee().equals(stockArticleEntity.getConsigneeUnit()) && r.getMallName().equals(stockArticleEntity.getMallName())).collect(Collectors.toList()); + if (reservationEntities.size() == 1){ + return R.fail(5000,"异常装车"); + }else { + return Resp.scanFail("装车失败","窜货"); + } + }else { + log.error("配送计划预约类型错误:{}",reservationEntityList); + } + } + //不存在配送计划中,这里进行客户的判断 + } + }else if (distrilbutionloadingscanDTO.getType() ==2){ + TrayTypeDataVO trayTypeDataVO = warehouseTrayTypeClient.selectListByTrayCode(distrilbutionloadingscanDTO.getBarcode()); + if (Func.isNotEmpty(trayTypeDataVO)){ + List voGoodsLsit = trayTypeDataVO.getGoodsLsit(); + List trayGoodIds = voGoodsLsit.stream().filter(v -> v.getAssociationType().equals("3")).map(WarehouseTrayGoodsEntity::getAssociationId).collect(Collectors.toList()); + //此时经过过滤后的包件ID和托盘上的所有包件ID数量一致,视为该托盘上的均为包件 + if (voGoodsLsit.size() == trayGoodIds.size()){ + List parcelListEntities = distributionParcelListService.listByIds(trayGoodIds); + boolean trayLoadingStatus = parcelListEntities.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue())); + if (trayLoadingStatus){ + return Resp.scanFail("托盘装车完毕","托盘装车完毕"); + } + if (Func.isEmpty(parcelListEntities) || parcelListEntities.size() <= 0){ + return Resp.scanFail("操作失败","该托盘上无货物信息"); + } + if (Func.isNotEmpty(distrilbutionloadingscanDTO.getReservationId())){ + //存在客户 这里就是针对客户进行的整托装车 + List parcelListEntityList = distributionReservationMapper.selectPackageListByReservationId(distrilbutionloadingscanDTO.getReservationId()); + Map parcelListEntityMap = parcelListEntityList.stream().collect(Collectors.toMap(DistributionParcelListEntity::getId, Function.identity(), (k1, k2) -> k2)); + boolean reservationFlag = parcelListEntities.stream().allMatch(p -> Func.isNotEmpty(parcelListEntityMap.get(p.getId()))); + if (reservationFlag){ + List reservationLoadscanEntities = new ArrayList<>(); + for (DistributionParcelListEntity parcelListEntity : parcelListEntities) { + if (parcelListEntity.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue())){ + parcelListEntity.setOrderPackageLoadingStatus(OrderPackageLoadingStatusConstant.yizhuangche.getValue()); + parcelListEntity.setOrderPackageStatus(OrderPackageStatusConstant.yichuku.getValue()); + distributionParcelListService.updateById(parcelListEntity); + DistributionLoadscanEntity loadscanEntity = new DistributionLoadscanEntity(); + if (Func.isNotEmpty(distributionDeliverySelfEntity.getDeliveryId())){ + loadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId()); + } + if (Func.isNotEmpty(distributionDeliverySelfEntity.getDriverName())){ + loadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName()); + } + if (Func.isNotEmpty(distributionDeliverySelfEntity.getVehicleNub())){ + loadscanEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub()); + } + if (Func.isNotEmpty(distributionDeliverySelfEntity.getVehicleId())){ + loadscanEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId()); + } + if (Func.isNotEmpty(distributionDeliverySelfEntity.getDriverPhone())){ + loadscanEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone()); + } + loadscanEntity.setOrderId(parcelListEntity.getStockArticleId()); + loadscanEntity.setOrderPackageCode(parcelListEntity.getOrderPackageCode()); + loadscanEntity.setReservationId(distrilbutionloadingscanDTO.getReservationId()); + loadscanEntity.setDeliveryId(distrilbutionloadingscanDTO.getDeliveryId()); + loadscanEntity.setTrainNumber(distributionDeliveryListEntity.getTrainNumber()); + loadscanEntity.setPackageNub(parcelListEntity.getQuantity()); + loadscanEntity.setScanTime(new Date()); + BladeUser user = AuthUtil.getUser(); + loadscanEntity.setScanUser(user.getUserName()); + loadscanEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId()); + loadscanEntity.setOneClick(1); + loadscanEntity.setScanType("2"); + loadscanEntity.setScanStatus("2"); + loadscanEntity.setIsInsert(1); + loadscanEntity.setMsg("司机按照预约整托装车"); + loadscanEntity.setTrayNo(trayTypeDataVO.getTrayCode()); + reservationLoadscanEntities.add(loadscanEntity); + Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); + //更新签收表的装车数量 + Integer j = distributionSignforMapper.updateloadByReservationId(loadscanEntity.getDeliveryId(), loadscanEntity.getReservationId(), loadscanEntity.getPackageNub()); + } + //TODO 需要一个维护状态的异步方法 + } + distributionLoadscanService.saveBatch(reservationLoadscanEntities); + //这里则进行整托装车的数据构建 + }else { + return Resp.scanFail("整托装车失败","存在其他客户货物"); + } + }else { + //不存在客户 这里就是针对配送任务进行的整托装车 + List deliveryPackageList = distributionDeliveryListMapper.selectPackageListByDeliveryListId(distrilbutionloadingscanDTO.getDeliveryId()); + Map deliveryPackageMap = deliveryPackageList.stream().collect(Collectors.toMap(DistributionParcelListEntity::getId, Function.identity(), (k1, k2) -> k2)); + boolean delivaryFlag = parcelListEntities.stream().allMatch(p -> Func.isNotEmpty(deliveryPackageMap.get(p.getId()))); + if (delivaryFlag){ + List deliveryLoadscanEntities = new ArrayList<>(); + for (DistributionParcelListEntity parcelListEntity : parcelListEntities) { + if (parcelListEntity.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue())){ + parcelListEntity.setOrderPackageLoadingStatus(OrderPackageLoadingStatusConstant.yizhuangche.getValue()); + parcelListEntity.setOrderPackageStatus(OrderPackageStatusConstant.yichuku.getValue()); + distributionParcelListService.updateById(parcelListEntity); + DistributionLoadscanEntity loadscanEntity = new DistributionLoadscanEntity(); + if (Func.isNotEmpty(distributionDeliverySelfEntity.getDeliveryId())){ + loadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId()); + } + if (Func.isNotEmpty(distributionDeliverySelfEntity.getDriverName())){ + loadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName()); + } + if (Func.isNotEmpty(distributionDeliverySelfEntity.getVehicleNub())){ + loadscanEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub()); + } + if (Func.isNotEmpty(distributionDeliverySelfEntity.getVehicleId())){ + loadscanEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId()); + } + if (Func.isNotEmpty(distributionDeliverySelfEntity.getDriverPhone())){ + loadscanEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone()); + } + loadscanEntity.setOrderId(parcelListEntity.getStockArticleId()); + loadscanEntity.setOrderPackageCode(parcelListEntity.getOrderPackageCode()); + loadscanEntity.setReservationId(distrilbutionloadingscanDTO.getReservationId()); + loadscanEntity.setDeliveryId(distrilbutionloadingscanDTO.getDeliveryId()); + loadscanEntity.setTrainNumber(distributionDeliveryListEntity.getTrainNumber()); + loadscanEntity.setPackageNub(parcelListEntity.getQuantity()); + loadscanEntity.setScanTime(new Date()); + BladeUser user = AuthUtil.getUser(); + loadscanEntity.setScanUser(user.getUserName()); + loadscanEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId()); + loadscanEntity.setOneClick(1); + loadscanEntity.setScanType("2"); + loadscanEntity.setScanStatus("2"); + loadscanEntity.setIsInsert(1); + loadscanEntity.setMsg("司机按照计划整托装车"); + loadscanEntity.setTrayNo(trayTypeDataVO.getTrayCode()); + deliveryLoadscanEntities.add(loadscanEntity); + //更新装车时间 + Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); + //更新签收表的装车数量 + Integer j = distributionSignforMapper.updateloadByReservationId(loadscanEntity.getDeliveryId(), loadscanEntity.getReservationId(), loadscanEntity.getPackageNub()); + } + //TODO 需要一个维护状态的异步方法 + } + distributionLoadscanService.saveBatch(deliveryLoadscanEntities); + //这里则进行整托装车的数据构建 + }else { + return Resp.scanFail("整托装车失败","存在其他客户货物"); + } + } + }else { + log.error("托盘存放货物类型不单一:{}",trayTypeDataVO); + } } - warehouseUpdownTypeClient.downPackage(distrilbutionloadingscanDTO.getBarcode()); - distributionLoadscanService.saveBatch(distributionLoadscanEntities); -// //找出该包条码 -// List distributionParcelListEntities = distributionParcelListMapper.selectList(new QueryWrapper().lambda() -// .eq(DistributionParcelListEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode())); -// for (DistributionParcelListEntity e : distributionParcelListEntities) { -// String trainNumber = distributionLoadscanMapper.selecttrainNumberByPackageId(e.getId()); -// if (!trainNumber.equals(distributionDeliveryListEntities.get(0).getTrainNumber())) { -// return R.fail(3002, "不是当前司机配送车次"); + } + return Resp.scanSuccess("装车成功", "装车成功"); + } + +//------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +// if (distrilbutionloadingscanDTO.getType() == 1) { +// // if (distrilbutionloadingscanDTO.getStockType() == 1) { +// //查询该包条是否属于该配送任务 +// List distributionLoadscanEntities = baseMapper.selectdeliverywork(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getDeliveryId()); +// if (distributionLoadscanEntities.size() <= 0) { +// +// return Resp.scanSuccess("窜货", "窜货"); +// } +// for (DistributionLoadscanEntity distributionLoadscanEntity : distributionLoadscanEntities) { +// //查询是否重复扫码 +// List distributionLoadscanEntitiesflag = distributionLoadscanMapper.selectList(new QueryWrapper().lambda() +// .eq(DistributionLoadscanEntity::getDeliveryId, distributionLoadscanEntity.getDeliveryId()) +// .eq(DistributionLoadscanEntity::getOrderPackageCode, distributionLoadscanEntity.getOrderPackageCode()) +// .ne(DistributionLoadscanEntity::getScanStatus, 1) +// ); +// if (!distributionLoadscanEntitiesflag.isEmpty()) { +// return Resp.scanSuccess("重复扫码", "重复扫码"); // } -// if (Func.notNull(bladeRedis.get("ZC" + user.getUserId()))) { -// if (!(bladeRedis.get("ZC" + user.getUserId().toString()).equals(trainNumber))) { -// return R.fail(3003, "串货"); -// } -// } else { -// //第一次缓存 -// bladeRedis.setEx("ZC" + user.getUserId(), trainNumber, 3600L); -// //TODO 查询本车次是否第一次扫码,没有则更新上车时间 -// Integer i = distributionDeliveryListMapper.updateloadingTimeById(distributionDeliveryListEntities.get(0).getId()); -// //查询该车次包条,加入签收表 +// //依次插入该装车记录,设置车辆 +// if (null != distributionDeliverySelfEntity.getDriverId()) { +// distributionLoadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId()); +// } +// //添加车次号 +// distributionLoadscanEntity.setTrainNumber(distributionDeliveryListEntity.getTrainNumber()); +// distributionLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName()); +// distributionLoadscanEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub()); +// distributionLoadscanEntity.setScanStatus(LoadingStatusConstant.saomiao.getValue()); +// distributionLoadscanEntity.setScanType("1"); +// distributionLoadscanEntity.setScanTime(new Date()); +// BladeUser user = AuthUtil.getUser(); +// distributionLoadscanEntity.setScanUser(user.getNickName()); +// if (null != distributionDeliverySelfEntity.getDriverPhone()) { +// distributionLoadscanEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone()); +// } +// if (null != distributionDeliverySelfEntity.getVehicleId()) { +// distributionLoadscanEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId()); +// } +// distributionLoadscanEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId()); +// //distributionLoadscanEntity.setVehicleName(distributionDeliverySelfEntity.); +// //依次更新该装车记录,设置车辆 +// // distributionLoadscanMapper.updateSumById(distributionLoadscanEntity.getId(), distrilbutionloadingscanDTO); +//// distributionLoadscanordMapper.updateSumById(distributionLoadscanEntity.getOrderId(),distrilbutionloadingscanDTO); +//// distributionLoadscanresMapper.updateSumById(distributionLoadscanEntity.getReservationId(),distrilbutionloadingscanDTO); +// //查询本车次是否第一次扫码,没有则更新上车时间 +// Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); +// //更新签收表的装车数量 +// Integer j = distributionSignforMapper.updateloadByReservationId(distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getReservationId(), distributionLoadscanEntity.getPackageNub()); +// //判断是商配还是市配 +//// DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(distrilbutionloadingscanDTO.getDeliveryId()); +//// if (distributionDeliveryListEntity.getType().equals("1")) { +//// //判断签收表有无客户信息,没有就加入信息 +//// Long c = distributionSignforMapper.selectCount(new QueryWrapper().lambda() +//// .eq(DistributionSignforEntity::getDeliveryType,"1") +//// .eq(DistributionSignforEntity::getReservationId,distributionLoadscanEntity.getReservationId()) +//// ); +//// //冗余加入 +//// if (c<=0){ +//// DistributionReservationEntity distributionReservationEntity = distributionReservationMapper.selectById(distributionLoadscanEntity.getReservationId()); +//// DistributionSignforEntity distributionSignforEntity = new DistributionSignforEntity(); +//// BeanUtils.copyProperties(distributionReservationEntity,distributionSignforEntity); +//// distributionSignforEntity.setReservationId(distributionReservationEntity.getId()); +//// //设置车次 +//// distributionSignforEntity.setTrainNumber(distributionDeliveryListEntity.getTrainNumber()); +//// distributionSignforEntity.setDeliveryType(distributionDeliveryListEntity.getType()); +//// distributionSignforEntity.setId(null); +//// distributionSignforEntity.setLoadingTime(distributionDeliveryListEntity.getLoadingTime()); +//// distributionSignforEntity.setDeliveryDriverName(distributionDeliveryListEntity.getDriverName()); +//// distributionSignforEntity.setSigningStatus("1"); +//// distributionSignforEntity.setDriverSigning("1"); +//// distributionSignforMapper.insert(distributionSignforEntity); +//// } +// // } +// } +// +//// //找出该包条码 +//// List distributionParcelListEntities = distributionParcelListMapper.selectList(new QueryWrapper().lambda() +//// .eq(DistributionParcelListEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode())); +//// for (DistributionParcelListEntity e : distributionParcelListEntities) { +//// String trainNumber = distributionLoadscanMapper.selecttrainNumberByPackageId(e.getId()); +//// if (!trainNumber.equals(distributionDeliveryListEntities.get(0).getTrainNumber())) { +//// return R.fail(3002, "不是当前司机配送车次"); +//// } +//// if (Func.notNull(bladeRedis.get("ZC" + user.getUserId()))) { +//// if (!(bladeRedis.get("ZC" + user.getUserId().toString()).equals(trainNumber))) { +//// return R.fail(3003, "串货"); +//// } +//// } else { +//// //第一次缓存 +//// bladeRedis.setEx("ZC" + user.getUserId(), trainNumber, 3600L); +//// //TODO 查询本车次是否第一次扫码,没有则更新上车时间 +//// Integer i = distributionDeliveryListMapper.updateloadingTimeById(distributionDeliveryListEntities.get(0).getId()); +//// //查询该车次包条,加入签收表 +//// +//// +//// //修改对应的装车表 +//// +//// distributionLoadscanMapper.updateByPackageId(e.getId()); +//// } +//// } +//// } else if (distrilbutionloadingscanDTO.getStockType() == 2) { +//// //库存品 +//// //查询该包条是否属于该配送任务 +//// List distributionLoadscanvnEntities = baseMapper.selectdeliveryworkVn(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getDeliveryId()); +//// if (distributionLoadscanvnEntities.size() <= 0) { +//// return R.fail(3001, "窜货"); +//// } +//// for (DistributionLoadscaninvnEntity distributionLoadscanEntity : distributionLoadscanvnEntities) { +//// //查询是否重复扫码 +//// List distributionLoadscanEntitiesflag = distributionLoadscanMapper.selectList(new QueryWrapper().lambda() +//// .eq(DistributionLoadscanEntity::getDeliveryId, distributionLoadscanEntity.getReservationId()) +//// .eq(DistributionLoadscanEntity::getOrderPackageCode, distributionLoadscanEntity.getOrderPackageCode()) +//// .ne(DistributionLoadscanEntity::getScanStatus, 1) +//// ); +//// if (distributionLoadscanEntitiesflag.size() > 0) { +//// return R.fail(3002, "重复扫码"); +//// } +//// //依次插入该装车记录,设置车辆 +//// if (null != distributionDeliverySelfEntity.getDriverId()) { +//// distributionLoadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId()); +//// } +//// distributionLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName()); +//// distributionLoadscanEntity.setScanStatus(2); +//// distributionLoadscanEntity.setScanType("1"); +//// distributionLoadscanEntity.setScanTime(new Date()); +//// distributionLoadscanEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId()); +//// distributionLoadscanEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub()); +//// if (null != distributionDeliverySelfEntity.getDriverPhone()) { +//// distributionLoadscanEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone()); +//// } +//// if (null != distributionDeliverySelfEntity.getVehicleId()) { +//// distributionLoadscanEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId()); +//// } +//// //distributionLoadscanEntity.setVehicleName(distributionDeliverySelfEntity.); +//// //依次更新该装车记录,设置车辆 +//// // distributionLoadscanMapper.updateSumById(distributionLoadscanEntity.getId(), distrilbutionloadingscanDTO); +////// distributionLoadscanordMapper.updateSumById(distributionLoadscanEntity.getOrderId(),distrilbutionloadingscanDTO); +////// distributionLoadscanresMapper.updateSumById(distributionLoadscanEntity.getReservationId(),distrilbutionloadingscanDTO); +//// //查询本车次是否第一次扫码,没有则更新上车时间 +//// Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); +//// //更新签收表的装车数量 +//// Integer j = distributionSignforMapper.updateloadByReservationId(distributionLoadscanEntity.getReservationId(), 1); +//// +//// } +//// distributionLoadscaninvnService.saveBatch(distributionLoadscanvnEntities); +//// +//// } +// } else if (distrilbutionloadingscanDTO.getType() == 2) { +// //TODO 托盘扫描 +// //查询出该托盘下的所有货物 +// List parcelListEntityList = baseMapper.selectTrayPackageList(distrilbutionloadingscanDTO.getBarcode()); +// //查询出配送任务下的所有包件信息 +// Map> trayPackage = parcelListEntityList.stream().collect(Collectors.groupingBy(DistributionLoadscanEntity::getPackageId)); // // -// //修改对应的装车表 +// //查询该包条是否属于该配送任务 +// List distributionLoadscanEntities = baseMapper.selectdeliverypallet(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getDeliveryId()); +// Map> deliveryPackage = distributionLoadscanEntities.stream().collect(Collectors.groupingBy(DistributionLoadscanEntity::getPackageId)); +// Iterator>> iterator = trayPackage.entrySet().iterator(); +// while (iterator.hasNext()) { +// Map.Entry> entry = iterator.next(); +// Long key = entry.getKey(); +// List loadscanEntities = deliveryPackage.get(key); +// if (Func.isEmpty(deliveryPackage.get(entry.getKey()))) { +// //todo 未完成代码 +// } // -// distributionLoadscanMapper.updateByPackageId(e.getId()); +// } +//// trayPackage.forEach((k,v)->{ +//// //这里就是托盘出现了配送任务中没有的包件 +//// if (Func.isEmpty(deliveryPackage.get(k))){ +//// return Resp.scanSuccess("串货", "串货"); +//// } +//// }); +// +// +// if (distributionLoadscanEntities.size() <= 0) { +// return Resp.scanSuccess("串货", "串货"); +// } +// //库存品 +// +// //查询该包条是否属于该配送任务 +// List distributionLoadscanvnEntities = baseMapper.selectdeliveryworkVn(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getDeliveryId()); +// if (distributionLoadscanvnEntities.size() <= 0) { +// return Resp.scanSuccess("串货", "串货"); +// } +// for (DistributionLoadscanEntity distributionLoadscanEntity : distributionLoadscanEntities) { +// //查询是否重复扫码 +// List distributionLoadscanEntitiesflag = distributionLoadscanMapper.selectList(new QueryWrapper().lambda() +// .eq(DistributionLoadscanEntity::getDeliveryId, distributionLoadscanEntity.getDeliveryId()) +// .eq(DistributionLoadscanEntity::getOrderPackageCode, distributionLoadscanEntity.getOrderPackageCode()) +// .ne(DistributionLoadscanEntity::getScanStatus, 1) +// ); +// if (!distributionLoadscanEntitiesflag.isEmpty()) { +// return Resp.scanSuccess("有扫描过的货物", "有扫描过的货物"); +// } +// if (!Objects.equals(distributionLoadscanEntity.getDeliveryId(), distrilbutionloadingscanDTO.getDeliveryId())) { +// return Resp.scanSuccess("有其他车次货物", "有其他车次货物"); +// } +// //依次插入该装车记录,设置车辆 +// if (null != distributionDeliverySelfEntity.getDriverId()) { +// distributionLoadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId()); +// } +// distributionLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName()); +// distributionLoadscanEntity.setScanStatus(LoadingStatusConstant.saomiao.getValue()); +// distributionLoadscanEntity.setScanType("2"); +// distributionLoadscanEntity.setScanTime(new Date()); +// distributionLoadscanEntity.setTrayNo(distributionLoadscanEntity.getOrderPackageCode()); +// distributionLoadscanEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId()); +// distributionLoadscanEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub()); +// if (null != distributionDeliverySelfEntity.getDriverPhone()) { +// distributionLoadscanEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone()); +// } +// if (null != distributionDeliverySelfEntity.getVehicleId()) { +// distributionLoadscanEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId()); +// } +// //查询本车次是否第一次扫码,没有则更新上车时间 +// Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); +// //更新签收表的装车数量 +// Integer j = distributionSignforMapper.updateloadByReservationId(distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getReservationId(), distributionLoadscanEntity.getPackageNub()); +// } +// distributionLoadscanService.saveBatch(distributionLoadscanEntities); +// +// for (DistributionLoadscaninvnEntity distributionLoadscanEntity : distributionLoadscanvnEntities) { +// //查询是否重复扫码 +// List distributionLoadscanEntitiesflag = distributionLoadscanMapper.selectList(new QueryWrapper().lambda() +// .eq(DistributionLoadscanEntity::getDeliveryId, distributionLoadscanEntity.getDeliveryId()) +// .eq(DistributionLoadscanEntity::getOrderPackageCode, distributionLoadscanEntity.getOrderPackageCode()) +// .ne(DistributionLoadscanEntity::getScanStatus, 1) +// ); +// if (!distributionLoadscanEntitiesflag.isEmpty()) { +// return Resp.scanSuccess("重复扫描", "重复扫描"); +// } +// //依次插入该装车记录,设置车辆 +// if (null != distributionDeliverySelfEntity.getDriverId()) { +// distributionLoadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId()); +// } +// distributionLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName()); +// distributionLoadscanEntity.setScanStatus(LoadingStatusConstant.saomiao.getValue()); +// distributionLoadscanEntity.setScanType("1"); +// distributionLoadscanEntity.setScanTime(new Date()); +// distributionLoadscanEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId()); +// distributionLoadscanEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub()); +// if (null != distributionDeliverySelfEntity.getDriverPhone()) { +// distributionLoadscanEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone()); // } +// if (null != distributionDeliverySelfEntity.getVehicleId()) { +// distributionLoadscanEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId()); +// } +// //查询本车次是否第一次扫码,没有则更新上车时间 +// Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); +// //更新签收表的装车数量 +// Integer j = distributionSignforMapper.updateloadByReservationId(distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getReservationId(), 1); // } -// } else if (distrilbutionloadingscanDTO.getStockType() == 2) { -// //库存品 -// //查询该包条是否属于该配送任务 -// List distributionLoadscanvnEntities = baseMapper.selectdeliveryworkVn(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getDeliveryId()); -// if (distributionLoadscanvnEntities.size() <= 0) { -// return R.fail(3001, "窜货"); +// distributionLoadscaninvnService.saveBatch(distributionLoadscanvnEntities); +// } else if (distrilbutionloadingscanDTO.getType() == 3) { +// //订单扫描,查询该订单是否有数据 +// DistributionReservationStockarticleEntity distributionReservationStockarticleEntity = distributionReservationStockarticleMapper.selectOne( +// new QueryWrapper().lambda() +// .eq(DistributionReservationStockarticleEntity::getStockArticleId, distrilbutionloadingscanDTO.getBarcode())); +// if (distributionReservationStockarticleEntity.getIsHaveData() == 1) { +// //查询订单是否属于该配送任务 +// List distributionLoadscanEntities = baseMapper.selectOrderpallet(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getDeliveryId()); +// for (DistributionLoadscanEntity distributionLoadscanEntity : distributionLoadscanEntities) { +// //查询是否重复扫码 +// List distributionLoadscanEntitiesflag = distributionLoadscanMapper.selectList(new QueryWrapper().lambda() +// .eq(DistributionLoadscanEntity::getDeliveryId, distributionLoadscanEntity.getDeliveryId()) +// .eq(DistributionLoadscanEntity::getOrderPackageCode, distributionLoadscanEntity.getOrderPackageCode()) +// .ne(DistributionLoadscanEntity::getScanStatus, 1) +// ); +// if (!distributionLoadscanEntitiesflag.isEmpty()) { +// return Resp.scanSuccess("重复扫描", "重复扫描"); +// } +// //依次插入该装车记录,设置车辆 +// if (null != distributionDeliverySelfEntity.getDriverId()) { +// distributionLoadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId()); +// } +// distributionLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName()); +// distributionLoadscanEntity.setScanStatus(LoadingStatusConstant.saomiao.getValue()); +// distributionLoadscanEntity.setScanType("3"); +// distributionLoadscanEntity.setScanTime(new Date()); +// distributionLoadscanEntity.setScanState(1); +// distributionLoadscanEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId()); +// distributionLoadscanEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub()); +// if (null != distributionDeliverySelfEntity.getDriverPhone()) { +// distributionLoadscanEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone()); +// } +// if (null != distributionDeliverySelfEntity.getVehicleId()) { +// distributionLoadscanEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId()); +// } +// //查询本车次是否第一次扫码,没有则更新上车时间 +// Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); +// //更新签收表的装车数量 +// Integer j = distributionSignforMapper.updateloadByReservationId(distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getReservationId(), distributionLoadscanEntity.getPackageNub()); // } -// for (DistributionLoadscaninvnEntity distributionLoadscanEntity : distributionLoadscanvnEntities) { +// distributionLoadscanService.saveBatch(distributionLoadscanEntities); +// } else { +// //查询订单是否属于该配送任务 +// List distributionLoadscanEntities = baseMapper.selectOrderStrip(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getDeliveryId()); +// for (DistributionLoadscanEntity distributionLoadscanEntity : distributionLoadscanEntities) { // //查询是否重复扫码 // List distributionLoadscanEntitiesflag = distributionLoadscanMapper.selectList(new QueryWrapper().lambda() -// .eq(DistributionLoadscanEntity::getDeliveryId, distributionLoadscanEntity.getReservationId()) +// .eq(DistributionLoadscanEntity::getDeliveryId, distributionLoadscanEntity.getDeliveryId()) // .eq(DistributionLoadscanEntity::getOrderPackageCode, distributionLoadscanEntity.getOrderPackageCode()) // .ne(DistributionLoadscanEntity::getScanStatus, 1) // ); -// if (distributionLoadscanEntitiesflag.size() > 0) { -// return R.fail(3002, "重复扫码"); +// if (!distributionLoadscanEntitiesflag.isEmpty()) { +// return Resp.scanSuccess("重复扫描", "重复扫描"); // } // //依次插入该装车记录,设置车辆 // if (null != distributionDeliverySelfEntity.getDriverId()) { // distributionLoadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId()); // } +// distributionLoadscanEntity.setDriverId(distrilbutionloadingscanDTO.getLoadingId()); // distributionLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName()); -// distributionLoadscanEntity.setScanStatus(2); -// distributionLoadscanEntity.setScanType("1"); +// distributionLoadscanEntity.setScanStatus(LoadingStatusConstant.saomiao.getValue()); // distributionLoadscanEntity.setScanTime(new Date()); +// distributionLoadscanEntity.setScanType("3"); // distributionLoadscanEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId()); // distributionLoadscanEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub()); // if (null != distributionDeliverySelfEntity.getDriverPhone()) { @@ -544,225 +975,32 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl parcelListEntityList = baseMapper.selectTrayPackageList(distrilbutionloadingscanDTO.getBarcode()); - //查询出配送任务下的所有包件信息 - Map> trayPackage = parcelListEntityList.stream().collect(Collectors.groupingBy(DistributionLoadscanEntity::getPackageId)); - - - //查询该包条是否属于该配送任务 - List distributionLoadscanEntities = baseMapper.selectdeliverypallet(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getDeliveryId()); - Map> deliveryPackage = distributionLoadscanEntities.stream().collect(Collectors.groupingBy(DistributionLoadscanEntity::getPackageId)); - Iterator>> iterator = trayPackage.entrySet().iterator(); - while (iterator.hasNext()) { - Map.Entry> entry = iterator.next(); - Long key = entry.getKey(); - List loadscanEntities = deliveryPackage.get(key); - if (Func.isEmpty(deliveryPackage.get(entry.getKey()))) { - //todo 未完成代码 - } - - } -// trayPackage.forEach((k,v)->{ -// //这里就是托盘出现了配送任务中没有的包件 -// if (Func.isEmpty(deliveryPackage.get(k))){ -// return Resp.scanSuccess("串货", "串货"); -// } -// }); - - - if (distributionLoadscanEntities.size() <= 0) { - return Resp.scanSuccess("串货", "串货"); - } - //库存品 - - //查询该包条是否属于该配送任务 - List distributionLoadscanvnEntities = baseMapper.selectdeliveryworkVn(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getDeliveryId()); - if (distributionLoadscanvnEntities.size() <= 0) { - return Resp.scanSuccess("串货", "串货"); - } - for (DistributionLoadscanEntity distributionLoadscanEntity : distributionLoadscanEntities) { - //查询是否重复扫码 - List distributionLoadscanEntitiesflag = distributionLoadscanMapper.selectList(new QueryWrapper().lambda() - .eq(DistributionLoadscanEntity::getDeliveryId, distributionLoadscanEntity.getDeliveryId()) - .eq(DistributionLoadscanEntity::getOrderPackageCode, distributionLoadscanEntity.getOrderPackageCode()) - .ne(DistributionLoadscanEntity::getScanStatus, 1) - ); - if (!distributionLoadscanEntitiesflag.isEmpty()) { - return Resp.scanSuccess("有扫描过的货物", "有扫描过的货物"); - } - if (!Objects.equals(distributionLoadscanEntity.getDeliveryId(), distrilbutionloadingscanDTO.getDeliveryId())) { - return Resp.scanSuccess("有其他车次货物", "有其他车次货物"); - } - //依次插入该装车记录,设置车辆 - if (null != distributionDeliverySelfEntity.getDriverId()) { - distributionLoadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId()); - } - distributionLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName()); - distributionLoadscanEntity.setScanStatus(LoadingStatusConstant.saomiao.getValue()); - distributionLoadscanEntity.setScanType("2"); - distributionLoadscanEntity.setScanTime(new Date()); - distributionLoadscanEntity.setTrayNo(distributionLoadscanEntity.getOrderPackageCode()); - distributionLoadscanEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId()); - distributionLoadscanEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub()); - if (null != distributionDeliverySelfEntity.getDriverPhone()) { - distributionLoadscanEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone()); - } - if (null != distributionDeliverySelfEntity.getVehicleId()) { - distributionLoadscanEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId()); - } - //查询本车次是否第一次扫码,没有则更新上车时间 - Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); - //更新签收表的装车数量 - Integer j = distributionSignforMapper.updateloadByReservationId(distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getReservationId(), distributionLoadscanEntity.getPackageNub()); - } - distributionLoadscanService.saveBatch(distributionLoadscanEntities); - - for (DistributionLoadscaninvnEntity distributionLoadscanEntity : distributionLoadscanvnEntities) { - //查询是否重复扫码 - List distributionLoadscanEntitiesflag = distributionLoadscanMapper.selectList(new QueryWrapper().lambda() - .eq(DistributionLoadscanEntity::getDeliveryId, distributionLoadscanEntity.getDeliveryId()) - .eq(DistributionLoadscanEntity::getOrderPackageCode, distributionLoadscanEntity.getOrderPackageCode()) - .ne(DistributionLoadscanEntity::getScanStatus, 1) - ); - if (!distributionLoadscanEntitiesflag.isEmpty()) { - return Resp.scanSuccess("重复扫描", "重复扫描"); - } - //依次插入该装车记录,设置车辆 - if (null != distributionDeliverySelfEntity.getDriverId()) { - distributionLoadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId()); - } - distributionLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName()); - distributionLoadscanEntity.setScanStatus(LoadingStatusConstant.saomiao.getValue()); - distributionLoadscanEntity.setScanType("1"); - distributionLoadscanEntity.setScanTime(new Date()); - distributionLoadscanEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId()); - distributionLoadscanEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub()); - if (null != distributionDeliverySelfEntity.getDriverPhone()) { - distributionLoadscanEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone()); - } - if (null != distributionDeliverySelfEntity.getVehicleId()) { - distributionLoadscanEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId()); - } - //查询本车次是否第一次扫码,没有则更新上车时间 - Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); - //更新签收表的装车数量 - Integer j = distributionSignforMapper.updateloadByReservationId(distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getReservationId(), 1); - } - distributionLoadscaninvnService.saveBatch(distributionLoadscanvnEntities); - } else if (distrilbutionloadingscanDTO.getType() == 3) { - //订单扫描,查询该订单是否有数据 - DistributionReservationStockarticleEntity distributionReservationStockarticleEntity = distributionReservationStockarticleMapper.selectOne( - new QueryWrapper().lambda() - .eq(DistributionReservationStockarticleEntity::getStockArticleId, distrilbutionloadingscanDTO.getBarcode())); - if (distributionReservationStockarticleEntity.getIsHaveData() == 1) { - //查询订单是否属于该配送任务 - List distributionLoadscanEntities = baseMapper.selectOrderpallet(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getDeliveryId()); - for (DistributionLoadscanEntity distributionLoadscanEntity : distributionLoadscanEntities) { - //查询是否重复扫码 - List distributionLoadscanEntitiesflag = distributionLoadscanMapper.selectList(new QueryWrapper().lambda() - .eq(DistributionLoadscanEntity::getDeliveryId, distributionLoadscanEntity.getDeliveryId()) - .eq(DistributionLoadscanEntity::getOrderPackageCode, distributionLoadscanEntity.getOrderPackageCode()) - .ne(DistributionLoadscanEntity::getScanStatus, 1) - ); - if (!distributionLoadscanEntitiesflag.isEmpty()) { - return Resp.scanSuccess("重复扫描", "重复扫描"); - } - //依次插入该装车记录,设置车辆 - if (null != distributionDeliverySelfEntity.getDriverId()) { - distributionLoadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId()); - } - distributionLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName()); - distributionLoadscanEntity.setScanStatus(LoadingStatusConstant.saomiao.getValue()); - distributionLoadscanEntity.setScanType("3"); - distributionLoadscanEntity.setScanTime(new Date()); - distributionLoadscanEntity.setScanState(1); - distributionLoadscanEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId()); - distributionLoadscanEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub()); - if (null != distributionDeliverySelfEntity.getDriverPhone()) { - distributionLoadscanEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone()); - } - if (null != distributionDeliverySelfEntity.getVehicleId()) { - distributionLoadscanEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId()); - } - //查询本车次是否第一次扫码,没有则更新上车时间 - Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); - //更新签收表的装车数量 - Integer j = distributionSignforMapper.updateloadByReservationId(distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getReservationId(), distributionLoadscanEntity.getPackageNub()); - } - distributionLoadscanService.saveBatch(distributionLoadscanEntities); - } else { - //查询订单是否属于该配送任务 - List distributionLoadscanEntities = baseMapper.selectOrderStrip(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getDeliveryId()); - for (DistributionLoadscanEntity distributionLoadscanEntity : distributionLoadscanEntities) { - //查询是否重复扫码 - List distributionLoadscanEntitiesflag = distributionLoadscanMapper.selectList(new QueryWrapper().lambda() - .eq(DistributionLoadscanEntity::getDeliveryId, distributionLoadscanEntity.getDeliveryId()) - .eq(DistributionLoadscanEntity::getOrderPackageCode, distributionLoadscanEntity.getOrderPackageCode()) - .ne(DistributionLoadscanEntity::getScanStatus, 1) - ); - if (!distributionLoadscanEntitiesflag.isEmpty()) { - return Resp.scanSuccess("重复扫描", "重复扫描"); - } - //依次插入该装车记录,设置车辆 - if (null != distributionDeliverySelfEntity.getDriverId()) { - distributionLoadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId()); - } - distributionLoadscanEntity.setDriverId(distrilbutionloadingscanDTO.getLoadingId()); - distributionLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName()); - distributionLoadscanEntity.setScanStatus(LoadingStatusConstant.saomiao.getValue()); - distributionLoadscanEntity.setScanTime(new Date()); - distributionLoadscanEntity.setScanType("3"); - distributionLoadscanEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId()); - distributionLoadscanEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub()); - if (null != distributionDeliverySelfEntity.getDriverPhone()) { - distributionLoadscanEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone()); - } - if (null != distributionDeliverySelfEntity.getVehicleId()) { - distributionLoadscanEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId()); - } - //查询本车次是否第一次扫码,没有则更新上车时间 - Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); - //更新签收表的装车数量 - Integer j = distributionSignforMapper.updateloadByReservationId(distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getReservationId(), distributionLoadscanEntity.getPackageNub()); - } - distributionLoadscanService.saveBatch(distributionLoadscanEntities); - } - } - Long deliveryId = distrilbutionloadingscanDTO.getDeliveryId(); -// distributionAsyncService.changeOrderStatus(distrilbutionloadingscanDTO.getBarcode(),deliveryId); - //修改配送任务状态 - String barcode = distrilbutionloadingscanDTO.getBarcode(); - DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListMapper.selectOne(Wrappers.query().lambda().eq(DistributionDeliveryListEntity::getId, deliveryId)); - //判断配送计划是否需要进行库存品状态的变更 - if (deliveryListEntity.getType().equals(DistributionTypeConstant.shangpei.getValue())) { - distributionAsyncService.changeDiscussDeliveryListStatus(barcode, deliveryId); - } else if (deliveryListEntity.getType().equals(DistributionTypeConstant.shipie.getValue())) { - //需要判断是否依据库存品进行变更 - distributionAsyncService.changeMarketDeliveryListStatus(barcode, deliveryId); - - - } +// } +// Long deliveryId = distrilbutionloadingscanDTO.getDeliveryId(); +//// distributionAsyncService.changeOrderStatus(distrilbutionloadingscanDTO.getBarcode(),deliveryId); +// //修改配送任务状态 +// String barcode = distrilbutionloadingscanDTO.getBarcode(); +// DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListMapper.selectOne(Wrappers.query().lambda().eq(DistributionDeliveryListEntity::getId, deliveryId)); +// //判断配送计划是否需要进行库存品状态的变更 +// if (deliveryListEntity.getType().equals(DistributionTypeConstant.shangpei.getValue())) { +// distributionAsyncService.changeDiscussDeliveryListStatus(barcode, deliveryId); +// } else if (deliveryListEntity.getType().equals(DistributionTypeConstant.shipie.getValue())) { +// //需要判断是否依据库存品进行变更 +// distributionAsyncService.changeMarketDeliveryListStatus(barcode, deliveryId); +// +// +// } // this.changeDeliveryListStatuss(distrilbutionloadingscanDTO.getBarcode(), deliveryId); - return Resp.scanSuccess("成功", "成功"); - } +// return Resp.scanSuccess("成功", "成功"); +// } @Transactional(isolation = Isolation.READ_UNCOMMITTED, rollbackFor = Exception.class) public void changeDeliveryListStatuss(String barcode, Long deliveryId) { @@ -3305,6 +3543,13 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl getAppDeliveryreservationTraysPage(IPage page, DistributionAppDeliveryListDTO distributionDeliveryList) { +// ---------------------------------2023-09-25 新增托盘详情--------------------------------------------------------------------------------------- + List customList = distributionDeliveryInfoMapper.selectAppTarysListPage(page, Long.parseLong(distributionDeliveryList.getReservationId())); + return page.setRecords(customList); + } + public Map getDriverCar(String kind, Long deliveryListEntityId) { Map map = new HashMap<>(); String dirverName = null; From 318e6f9de2a419e5d42568eafba0ee0132739c94 Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Tue, 26 Sep 2023 09:13:00 +0800 Subject: [PATCH 32/38] =?UTF-8?q?1.=E5=BA=93=E5=86=85=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=EF=BC=8Cbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/DistributionParcelListMapper.java | 2 +- .../impl/WarehouseUpdownTypeServiceImpl.java | 28 +++++++++++-------- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java index dd4850544..f5149bada 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java @@ -96,7 +96,7 @@ public interface DistributionParcelListMapper extends BaseMapper selectOrderInfoAllocationList(@Param("param") StockupDTO stockupDTO); - List findALLNoUpShelfPackageByOrderCode(@Param("orderCode") String orderCode,@Param("orderCode") Long warehouseId); + List findALLNoUpShelfPackageByOrderCode(@Param("orderCode") String orderCode,@Param("warehouseId") Long warehouseId); IPage pageOweList(IPage page,@Param("param") DistributionParcelListDTO parcelListEntity); diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java index 8cb5d1d6f..445def0c3 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java @@ -1881,23 +1881,29 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl newList = new ArrayList<>(); + for(WarehouseUpdownGoodsEntity updownGoodsEntity:list){ + WarehouseUpdownGoodsEntity newUpdownGoods = new WarehouseUpdownGoodsEntity(); + BeanUtil.copy(updownGoodsEntity,newUpdownGoods); + newUpdownGoods.setId(null); + newUpdownGoods.setUpdownTypeId(targetUpdownTypeEntity.getId()); + newUpdownGoods.setAreaId(goodsAreaId); + newUpdownGoods.setAreaTitle(goodsAreaEntity.getHeadline()); + newUpdownGoods.setShelfId(goodsShelfId); + newUpdownGoods.setShelfTitle(goodsShelfEntity.getGoodsShelfName()); + newUpdownGoods.setAllocationId(allocationId); + newUpdownGoods.setAllocationTitle(goodsAllocationEntity.getGoodsAllocationName()); + newUpdownGoods.setPositionCode(goodsAreaEntity.getHeadline()+"-"+goodsShelfEntity.getGoodsShelfName()+"-"+goodsAllocationEntity.getGoodsAllocationName()); + newList.add(newUpdownGoods); } //货物重新绑定 - warehouseUpdownGoodsService.saveOrUpdateBatch(list); + warehouseUpdownGoodsService.saveOrUpdateBatch(newList); - saveUpdownGoodsLog(list,"1",0,"移库:整库移库",targetUpdownTypeEntity.getWarehouseId()); + saveUpdownGoodsLog(newList,"1",0,"移库:整库移库上架",targetUpdownTypeEntity.getWarehouseId()); } From c4007fd2c385a0e9ef2fcbc16f8606654350490c Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" <123456> Date: Tue, 26 Sep 2023 10:57:40 +0800 Subject: [PATCH 33/38] =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=EF=BC=8C=E5=88=A0=E9=99=A4=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E7=9A=84=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oupai/entity/FactoryPackageEntity.java | 2 + .../entity/OpPushPackageSystemEntity.java | 43 --------------- .../mapper/OpPushPackageSystemMapper.java | 10 ---- .../mapper/OpPushPackageSystemMapper.xml | 8 --- .../receiver/OpOldReceivingDataHandler.java | 53 ++++++++++++------- .../receiver/OpReceivingDataHandler.java | 4 +- .../service/IOpPushPackageSystemService.java | 8 --- .../impl/OpPushPackageSystemService.java | 11 ---- .../service/impl/OuPaiFactoryServiceImpl.java | 3 -- .../factory/props/OldSystemProperties.java | 33 ++++++++++++ .../java/com/logpm/factory/TestService.java | 46 ++++++++++++++++ 11 files changed, 117 insertions(+), 104 deletions(-) delete mode 100644 blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/OpPushPackageSystemEntity.java delete mode 100644 blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpPushPackageSystemMapper.java delete mode 100644 blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpPushPackageSystemMapper.xml delete mode 100644 blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/IOpPushPackageSystemService.java delete mode 100644 blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OpPushPackageSystemService.java create mode 100644 blade-service/logpm-factory/src/main/java/com/logpm/factory/props/OldSystemProperties.java diff --git a/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/FactoryPackageEntity.java b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/FactoryPackageEntity.java index 3f157ce7e..bb7d27140 100644 --- a/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/FactoryPackageEntity.java +++ b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/FactoryPackageEntity.java @@ -98,6 +98,8 @@ public class FactoryPackageEntity extends BaseEntity { /** 推送状态 1推送 0未推送 */ @ApiModelProperty(name = "推送状态 1推送 0未推送",notes = "") private Integer pushStatus ; + @ApiModelProperty(name = "老系统推送状态 1推送 0未推送 2 推送失败",notes = "") + private Integer oldPushStatus; /** 转发状态 1转送 0未转送 */ @ApiModelProperty(name = "转发状态 1转送 0未转送 2 转送失败",notes = "") private Integer turnStatus ; diff --git a/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/OpPushPackageSystemEntity.java b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/OpPushPackageSystemEntity.java deleted file mode 100644 index 7a09fa4f1..000000000 --- a/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/OpPushPackageSystemEntity.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.logpm.factory.oupai.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.springblade.core.mp.base.BaseEntity; -@Data -@TableName("op_push_package_system") -@ApiModel(value = "欧派包件推送老系统", description = "欧派包件推送老系统") -@EqualsAndHashCode(callSuper = true) -public class OpPushPackageSystemEntity extends BaseEntity { - - /** 预留1 */ - @ApiModelProperty(name = "预留1",notes = "") - private String reserve1 ; - /** 预留2 */ - @ApiModelProperty(name = "预留2",notes = "") - private String reserve2 ; - /** 预留3 */ - @ApiModelProperty(name = "预留3",notes = "") - private String reserve3 ; - /** 预留4 */ - @ApiModelProperty(name = "预留4",notes = "") - private String reserve4 ; - /** 预留5 */ - @ApiModelProperty(name = "预留5",notes = "") - private String reserve5 ; - /** 包条码 */ - @ApiModelProperty(name = "包条码",notes = "") - private String code ; - /** 仓库名称 */ - @ApiModelProperty(name = "仓库名称",notes = "") - private String warehouseName ; - /** 仓库编码 */ - @ApiModelProperty(name = "仓库编码",notes = "") - private String warehouseCode ; - /** 推送状态 0 未推送 1 已推送 */ - @ApiModelProperty(name = "推送状态 0 未推送 1 已推送",notes = "") - private Integer pushStatus ; - -} diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpPushPackageSystemMapper.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpPushPackageSystemMapper.java deleted file mode 100644 index 595dfd5de..000000000 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpPushPackageSystemMapper.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.logpm.factory.oupai.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.logpm.factory.oupai.entity.FactoryLogEntity; -import com.logpm.factory.oupai.entity.OpPushPackageSystemEntity; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface OpPushPackageSystemMapper extends BaseMapper { -} diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpPushPackageSystemMapper.xml b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpPushPackageSystemMapper.xml deleted file mode 100644 index a9e3435fb..000000000 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpPushPackageSystemMapper.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpOldReceivingDataHandler.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpOldReceivingDataHandler.java index 06a9d8a59..273e8da32 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpOldReceivingDataHandler.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpOldReceivingDataHandler.java @@ -3,12 +3,14 @@ package com.logpm.factory.oupai.receiver; import cn.hutool.http.HttpRequest; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.logpm.basicdata.entity.BasicdataTripartiteWarehouseEntity; import com.logpm.basicdata.feign.IBasicdataTripartiteWarehouseClient; -import com.logpm.factory.oupai.entity.OpPushPackageSystemEntity; -import com.logpm.factory.oupai.service.IOpPushPackageSystemService; +import com.logpm.factory.oupai.entity.FactoryPackageEntity; +import com.logpm.factory.oupai.service.IFactoryPackageService; import com.logpm.factory.pan.service.IPanFactoryDataService; +import com.logpm.factory.props.OldSystemProperties; import com.logpm.oldproject.entity.WarehouseEntity; import com.logpm.oldproject.feign.IWarehouseClient; import com.rabbitmq.client.Channel; @@ -44,7 +46,10 @@ public class OpOldReceivingDataHandler { @Autowired private IWarehouseClient warehouseClient; @Autowired - private IOpPushPackageSystemService opPushPackageSystemService; + private OldSystemProperties oldSystemProperties; + + @Autowired + private IFactoryPackageService factoryPackageService; @RabbitHandler public void opOldReceivingDataHandler(Map map, Message message, Channel channel) throws IOException { @@ -55,11 +60,16 @@ public class OpOldReceivingDataHandler { String orderPackageCode = object.getString("orderPackageCode"); String warehouseName = object.getString("warehouse_name"); - OpPushPackageSystemEntity opPushPackageSystemEntity = new OpPushPackageSystemEntity(); - opPushPackageSystemEntity.setWarehouseName(warehouseName); - opPushPackageSystemEntity.setCode(orderPackageCode); - opPushPackageSystemEntity.setPushStatus(0); - opPushPackageSystemService.save(opPushPackageSystemEntity); + + QueryWrapper warehouseQueryWrapper = new QueryWrapper(); + warehouseQueryWrapper.eq("code", orderPackageCode); + + log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 查询包件数据 start >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); + FactoryPackageEntity packageEntity = factoryPackageService.getOne(warehouseQueryWrapper); + + log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 查询包件数据 end >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> packageEntity {}", packageEntity); + + //真正的处理需要的数据 try { // 保存数据 @@ -69,15 +79,15 @@ public class OpOldReceivingDataHandler { WarehouseEntity warehouseEntity = warehouseClient.findByCode(warehouse.getAssociationCode()); // 请求老系统的登录接口 - String authCode = oldLogin("账号", "密码", warehouseEntity.getId()); + String authCode = oldLogin(warehouseEntity.getId()); // 推送数据 if (StringUtil.isNotBlank(authCode)) { boolean isSuccess = sendPackageData(authCode, orderPackageCode, warehouseName); if (isSuccess) { // 请求成功 修改推送数据的状态 修改未1 - opPushPackageSystemEntity.setPushStatus(1); + packageEntity.setOldPushStatus(1); } else { - opPushPackageSystemEntity.setPushStatus(2); + packageEntity.setOldPushStatus(2); } } } @@ -86,11 +96,12 @@ public class OpOldReceivingDataHandler { log.error("##################opReceivingDataHandler: 处理欧派收货数据到新系统,orderPackageCode:{},warehouseName{}", orderPackageCode, warehouseName); log.error(e.getMessage()); - opPushPackageSystemEntity.setPushStatus(2); + packageEntity.setOldPushStatus(2); +// opPushPackageSystemEntity.setPushStatus(2); } + factoryPackageService.updateById(packageEntity); - opPushPackageSystemService.updateById(opPushPackageSystemEntity); } private boolean sendPackageData(String authCode, String orderPackageCode, String warehouseName) { @@ -105,29 +116,33 @@ public class OpOldReceivingDataHandler { map.put("origin", "按件入库"); + + return false; } /** * 登录老系统 * - * @param name 账号 - * @param pwd 密码 * @param warhouseId 仓库ID * @return 成功token */ - private String oldLogin(String name, String pwd, Integer warhouseId) { + private String oldLogin(Integer warhouseId) { - String url = ""; - String body = HttpRequest.post(url).execute().body(); + String url = oldSystemProperties.getUrl() + "api/fakeLogin"; + Map map = new HashMap<>(); + map.put("pwd", oldSystemProperties.getPwd()); + map.put("user_id", oldSystemProperties.getUserId()); + map.put("warehouse_id", warhouseId); + String body = HttpRequest.post(url).form(map).execute().body(); JSONObject authCode = JSON.parseObject(body); if ("200".equals(authCode.getString("code"))) { - return authCode.getJSONObject("data").getString("token"); + return authCode.getJSONObject("data").getJSONObject("token").getString("token"); } return null; diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpReceivingDataHandler.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpReceivingDataHandler.java index 3ae23ca1f..e010f268d 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpReceivingDataHandler.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpReceivingDataHandler.java @@ -29,14 +29,14 @@ public class OpReceivingDataHandler { private IPanFactoryDataService panFactoryDataService; @RabbitHandler - public void opReceivingDataHandler(Map map, Message message, Channel channel) throws IOException { + public void opReceivingDataHandler(Map map, Message message, Channel channel) { // 如果手动ACK,消息会被监听消费,但是消息在队列中依旧存在,如果 未配置 acknowledge-mode 默认是会在消费完毕后自动ACK掉 log.info("##################opReceivingDataHandler: 处理欧派收货数据到新系统"); String jsonStr = (String) map.get("messageData"); JSONObject object = JSONObject.parseObject(jsonStr); String orderPackageCode = object.getString("orderPackageCode"); String receivingTime = object.getString("receivingTime"); - //真正的处理需要的数据 + //真正处理需要的数据 try { panFactoryDataService.handleDataToPlatform(orderPackageCode, receivingTime); diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/IOpPushPackageSystemService.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/IOpPushPackageSystemService.java deleted file mode 100644 index ae7175ef4..000000000 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/IOpPushPackageSystemService.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.logpm.factory.oupai.service; - -import com.logpm.factory.oupai.entity.OpPushPackageSystemEntity; -import com.logpm.factory.oupai.entity.OpSignPackageEntity; -import org.springblade.core.mp.base.BaseService; - -public interface IOpPushPackageSystemService extends BaseService { -} diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OpPushPackageSystemService.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OpPushPackageSystemService.java deleted file mode 100644 index 43453e140..000000000 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OpPushPackageSystemService.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.logpm.factory.oupai.service.impl; - -import com.logpm.factory.oupai.entity.OpOrderStatusLogEntity; -import com.logpm.factory.oupai.entity.OpPushPackageSystemEntity; -import com.logpm.factory.oupai.mapper.OpOrderStatusLogMapper; -import com.logpm.factory.oupai.mapper.OpPushPackageSystemMapper; -import com.logpm.factory.oupai.service.IOpPushPackageSystemService; -import org.springblade.core.mp.base.BaseServiceImpl; - -public class OpPushPackageSystemService extends BaseServiceImpl implements IOpPushPackageSystemService { -} diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java index 24a4c999b..5d094f426 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java @@ -159,9 +159,6 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService { } - - - JSONObject jo = new JSONObject(); jo.put("orderPackageCode",code); jo.put("warehouse_name",warehouseName); diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/props/OldSystemProperties.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/props/OldSystemProperties.java new file mode 100644 index 000000000..f95298858 --- /dev/null +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/props/OldSystemProperties.java @@ -0,0 +1,33 @@ +package com.logpm.factory.props; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +/** + * FactoryProperties + * + * @author pref + */ +@Data +@ConfigurationProperties(prefix = "old") +@Component +public class OldSystemProperties { + /** + * 请求地址 + */ + private String url; + + /** + * 默认账号 + */ + private String pwd; + + /** + * 默认用户 + */ + private String userId; + + + +} diff --git a/blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java b/blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java index 3285647ba..f5b5516b4 100644 --- a/blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java +++ b/blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java @@ -1,5 +1,6 @@ package com.logpm.factory; +import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import cn.hutool.http.HttpUtil; import com.alibaba.excel.EasyExcel; @@ -24,7 +25,9 @@ import com.logpm.factory.mt.service.IMtFactoryDataService; import com.logpm.factory.mt.service.IMtFactoryOrderMainService; import com.logpm.factory.mt.service.IMtPushDataService; import com.logpm.factory.mt.service.impl.MtFactoryDataServiceImpl; +import com.logpm.factory.oupai.entity.FactoryPackageEntity; import com.logpm.factory.oupai.entity.OpOrderStatusLogEntity; +import com.logpm.factory.oupai.service.IFactoryPackageService; import com.logpm.factory.oupai.service.IOuPaiFactoryService; import com.logpm.factory.pan.service.IPanFactoryDataService; import com.logpm.factory.snm.vo.MTOrderPackageRelationVO; @@ -70,6 +73,9 @@ public class TestService { @Autowired private IPanFactoryDataService panFactoryDataService; + @Autowired + private IFactoryPackageService factoryPackageService; + @Autowired private IOssClient ossClient; @@ -205,6 +211,46 @@ public class TestService { } + + @Test + public void test5(){ + +// String s = oldLogin("", 30); +// System.out.println(s); + + QueryWrapper warehouseQueryWrapper = new QueryWrapper(); + warehouseQueryWrapper.eq("code","P00842309083496137"); + + FactoryPackageEntity packageEntity = factoryPackageService.getOne(warehouseQueryWrapper); + + System.out.println(packageEntity); + + } + + private String oldLogin(String name, Integer warhouseId) { + Map map = new HashMap<>(); + map.put("pwd", "huitongys-2022"); + map.put("user_id", 1080); + map.put("warehouse_id", warhouseId); + + + String url = "http://twms.version1.huitongys.com/api/fakeLogin"; + String body = HttpRequest.post(url).form(map). + + execute().body(); + + + JSONObject authCode = JSON.parseObject(body); + + if ("200".equals(authCode.getString("code"))) { + + return authCode.getJSONObject("data").getJSONObject("token").getString("token"); + + } + return null; + } + + @NotNull private MultipartFile getMultipartFile(String logPath) throws FileNotFoundException { File file = new File(logPath); From e37b6477a82c7184be7e0c79065d89d7edaf9100 Mon Sep 17 00:00:00 2001 From: caoyizhong <1270296080@qq.com> Date: Tue, 26 Sep 2023 11:03:07 +0800 Subject: [PATCH 34/38] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A4=87=E8=B4=A7?= =?UTF-8?q?=E5=8F=AF=E9=87=8D=E5=A4=8D=E6=89=AB=E6=8F=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DistributionStockupAppController.java | 26 ++++++---- .../distribution/config/RedissonConfig.java | 19 +++++++ .../mapper/DistributionParcelListMapper.xml | 15 +++--- .../DistributionReservationPackageMapper.xml | 2 +- .../mapper/DistrilbutionBillStockMapper.xml | 28 ++--------- .../impl/DistributionStockupServiceImpl.java | 50 +++++++++++-------- .../DistrilbutionBillLadingServiceImpl.java | 18 +++++++ 7 files changed, 95 insertions(+), 63 deletions(-) create mode 100644 blade-service/logpm-distribution/src/main/java/com/logpm/distribution/config/RedissonConfig.java 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 dab35a38d..f9c08694d 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 @@ -24,14 +24,12 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.logpm.basicdata.feign.IBasicdataGoodsAreaClient; import com.logpm.distribution.bean.Resp; +import com.logpm.distribution.config.RedissonConfig; import com.logpm.distribution.dto.app.StockupDTO; import com.logpm.distribution.entity.*; -import com.logpm.distribution.mapper.DistributionStockListMapper; import com.logpm.distribution.service.*; import com.logpm.distribution.vo.*; -import com.logpm.warehouse.entity.WarehouseGoodsAllocationEntity; import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity; -import com.logpm.warehouse.entity.WarehouseWarehousingEntryEntity; import com.logpm.warehouse.feign.IWarehouseGoodsAllocationClient; import com.logpm.warehouse.feign.IWarehouseUpdownGoodsClient; import com.logpm.warehouse.feign.IWarehouseUpdownGoodsLogClient; @@ -40,6 +38,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.log4j.Log4j2; +import org.redisson.api.RLock; import org.springblade.common.constant.DictBizConstant; import org.springblade.common.constant.RabbitConstant; import org.springblade.common.constant.stockup.StockupStatusConstant; @@ -51,16 +50,13 @@ import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.StringUtil; import org.springblade.system.cache.DictBizCache; import org.springframework.amqp.rabbit.core.RabbitTemplate; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.transaction.TransactionDefinition; -import org.springframework.transaction.TransactionException; -import org.springframework.transaction.TransactionStatus; import org.springframework.web.bind.annotation.*; import java.lang.reflect.Field; import java.util.*; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** @@ -150,7 +146,6 @@ public class DistributionStockupAppController extends BladeController { log.info("#################pageList: 查询备货ID不能为空"); return R.fail(401, "查询备货ID不能为空"); } - Map map = distributionStockupService.selectHomeStockupPage(stockupDTO); return R.data(map); } @@ -240,8 +235,11 @@ public class DistributionStockupAppController extends BladeController { planNum = planNum + vo.getPlanNum(); scanNum = scanNum + vo.getScanNum(); // Boolean aBoolean = distributionStockupService.getClientStockupTray(reservationId, vo.getAllocationId()); -// Boolean aBoolean = distributionReservationPackageService.selectClientStockupState(reservationId, vo.getStockArticleId()); +// Boolean aBoolean = distributionReservationPackageService.selectClientStockupState(reservationId, vo.getStockArticleId()); // vo.setTrayLean(aBoolean); + if (ObjectUtils.isNotNull(vo.getTrayId()) && !vo.getPallet().contains(",") && !vo.isCompleteStact() && ObjectUtils.isNotNull( vo.getAllocationId()) ) { + vo.setTrayLean(true); + } } map.put("planNum", planNum); map.put("scanNum", scanNum); @@ -283,7 +281,7 @@ public class DistributionStockupAppController extends BladeController { Integer orderStatus = stockupDTO.getOrderStatus();//1 客户订单 2库存品 Integer status = stockupDTO.getStatus();//0未完成 1已完成 Long allocationId = stockupDTO.getAllocationId(); //货位 - Long trayId = Long.valueOf(stockupDTO.getTrayId()); //托盘Id +// Long trayId = Long.valueOf(stockupDTO.getTrayId()); //托盘Id if (ObjectUtils.isNull(stockupId)) { log.warn("##############orderInfo: 备货任务ID为空 allocation={}", stockupId); @@ -451,6 +449,14 @@ public class DistributionStockupAppController extends BladeController { //手动 // TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition); // try{ + //设置lockey + String lockKey = stockupDTO.getPacketBarCode()+stockupDTO.getStockupId(); + RLock lock = new RedissonConfig().redisson().getLock(lockKey); + if(lock.isLocked()){ + String audioValue2 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "2"); + return Resp.scanFail("重复扫描!", audioValue2); + } + lock.lock(5, TimeUnit.SECONDS); if (scanType == 1) { //包件扫描 String orderCode = stockupDTO.getOrderCode();//订单自编号 diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/config/RedissonConfig.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/config/RedissonConfig.java new file mode 100644 index 000000000..57f037c36 --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/config/RedissonConfig.java @@ -0,0 +1,19 @@ +package com.logpm.distribution.config; + +import org.redisson.Redisson; +import org.redisson.config.Config; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class RedissonConfig { + @Bean + public Redisson redisson() { + // 单机模式 + Config config = new Config(); + config.useSingleServer().setAddress("redis://192.168.10.100:6379").setDatabase(0); + config.useSingleServer().setPassword("A0c415"); + return (Redisson) Redisson.create(config); + } + +} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml index 211bd4408..050a05300 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml @@ -160,13 +160,13 @@ select GROUP_CONCAT( DISTINCT position_code) from logpm_warehouse_updown_goods where association_id = ldpl.id - ) positionCode,lwug.allocation_id allocationId + ) positionCode,lds.allocation_id allocationId from logpm_distribution_parcel_list ldpl LEFT JOIN logpm_distribution_stock lds on lds.parcel_list_id = ldpl.id - LEFT JOIN logpm_warehouse_updown_goods lwug on lwug.association_id = ldpl.id + - and lwug.allocation_id = #{param.allocationId} + and lds.allocation_id = #{param.allocationId} and ldpl.stock_article_id = #{param.stockArticleId} and ldpl.stock_article_id in @@ -182,13 +182,13 @@ select GROUP_CONCAT( DISTINCT position_code) from logpm_warehouse_updown_goods where association_id = ldpl.id - ) positionCode,lwug.allocation_id allocationId + ) positionCode,lds.allocation_id allocationId from logpm_distribution_parcel_list ldpl LEFT JOIN logpm_distribution_stock lds on lds.parcel_list_id = ldpl.id - LEFT JOIN logpm_warehouse_updown_goods_log lwug on lwug.association_id = ldpl.id and lwug.create_time >= DATE_SUB(NOW(), INTERVAL 10 MINUTE) + - and lwug.allocation_id = #{param.allocationId} + and lds.allocation_id = #{param.allocationId} and ldpl.stock_article_id = #{param.stockArticleId} and lds.stockup_id = #{param.stockupId} @@ -303,11 +303,12 @@ lds.id =#{id} --> select DISTINCT ldsi.stockup_id , ldpl.id id,ldpl.order_package_code orderPackageCode,lds.type stockupStatus,ldpl.firsts,ldpl.second,ldpl.third_product thirdProduct, - ldpl.material_name materialName,lds.create_time stockupDate,lds.stockup_area stockupArea,ldpl.goods_allocation goodsAllocation,ldpl.pallet + ldpl.material_name materialName,lds.create_time stockupDate,lds.stockup_area stockupArea,ldpl.goods_allocation goodsAllocation,lwtg.tray_code pallet from logpm_distribution_stockup_info ldsi LEFT JOIN logpm_distribution_reservation_package ldrp on ldrp.reservation_id = ldsi.reservation_id LEFT JOIN logpm_distribution_parcel_list ldpl on ldpl.id = ldrp.parce_list_id LEFT JOIN logpm_distribution_stock lds on ldpl.id = lds.parcel_list_id and lds.stockup_id = ldsi.stockup_id + LEFT JOIN logpm_warehouse_tray_goods lwtg on lwtg.association_id = ldpl.id and lwtg.association_type = '3' ldsi.stockup_id =#{id} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationPackageMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationPackageMapper.xml index c4a6a912c..7d67fc422 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationPackageMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationPackageMapper.xml @@ -326,7 +326,7 @@ WHERE where tray_id = #{trayId} - SELECT * FROM logpm_warehouse_warehousing_entry ${ew.customSqlSegment} + SELECT * FROM logpm_warehouse_warehousing_entry ${ew.customSqlSegment} limit 1 diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWarehousingEntryService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWarehousingEntryService.java index f7024fefb..93f71fe0d 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWarehousingEntryService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWarehousingEntryService.java @@ -17,8 +17,10 @@ package com.logpm.warehouse.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.logpm.warehouse.dto.WarehouseWarehousingEntryDTO; +import com.logpm.warehouse.entity.WarehouseWarehouseEntity; import com.logpm.warehouse.entity.WarehouseWarehousingEntryEntity; import com.logpm.warehouse.excel.WarehousingEntryDetailExcel; import com.logpm.warehouse.vo.WarehouseWarehousingEntryVO; diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java index 7ce1026fb..2863feb68 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java @@ -19,6 +19,7 @@ package com.logpm.warehouse.service.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; @@ -37,6 +38,7 @@ import com.logpm.distribution.feign.IDistributionStockListClient; import com.logpm.distribution.feign.IDistributionStockListInfoClient; import com.logpm.distribution.vo.DistributionStockListVO; import com.logpm.warehouse.dto.WarehouseWarehousingEntryDTO; +import com.logpm.warehouse.entity.WarehouseWarehouseEntity; import com.logpm.warehouse.entity.WarehouseWarehousingDetailEntity; import com.logpm.warehouse.entity.WarehouseWarehousingEntryEntity; import com.logpm.warehouse.excel.WarehousingEntryDetailExcel; @@ -108,6 +110,12 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl list = warehouseWarehousingEntryDTO.getList(); WarehouseWarehousingEntryEntity warehouseWarehousingEntry = new WarehouseWarehousingEntryEntity(); BeanUtil.copyProperties(warehouseWarehousingEntryDTO,warehouseWarehousingEntry); + //入库批次号 + if(ObjectUtils.isNull( warehouseWarehousingEntry.getReceiptBatch() )){ + long time = new Date().getTime(); + BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse(); + warehouseWarehousingEntry.setReceiptBatch("RK"+myCurrentWarehouse.getWarehouseCode()+time); + } WarehouseWarehousingEntryEntity entryEntity = new WarehouseWarehousingEntryEntity(); entryEntity.setId(warehouseWarehousingEntryDTO.getId()); //添加 @@ -118,6 +126,7 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl> collect = data.stream().map(x -> { return x; }).collect(Collectors.groupingBy(o ->{ -// System.out.println("====<<<<<<<<"+o); - WarehouseWarehousingEntryEntity entryEntity = new WarehouseWarehousingEntryEntity(); - entryEntity.setReceiptBatch(o.getReceiptBatch()); - entryEntity.setReceiptDate(o.getReceiptDate()); - entryEntity.setConditions("1"); - BasicdataClientEntity customer = basicdataClientClient.getCustomer(o.getCustomerName(), o.getCustomerCode()); - if(Func.isNotEmpty(customer)){ - if(StringUtils.isNotBlank(o.getStoreName())){ - BasicdataClientEntity customer1 = basicdataClientClient.findByName(o.getStoreName()); - if(Func.isNotEmpty(customer1)){ - entryEntity.setStoreId(customer1.getId()); - entryEntity.setStoreName(o.getStoreName()); - }else{ - throw new ServiceException(o.getCustomerName()+o.getCustomerCode()+"门店信息不存在!!请维护门店数据!!!"); + System.out.println("====<<<<<<<<"+o); + if(ObjectUtils.isEmpty(o) && ObjectUtils.isEmpty(o.getCustomerName())){ + return ""; + }else{ + WarehouseWarehousingEntryEntity entryEntity = new WarehouseWarehousingEntryEntity(); + if(ObjectUtils.isNull(o.getReceiptBatch())){ + long time = new Date().getTime(); + BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse(); + entryEntity.setReceiptBatch("RK"+myCurrentWarehouse.getWarehouseCode()+time); + }else{ + entryEntity.setReceiptBatch(o.getReceiptBatch()); + } + entryEntity.setReceiptDate(o.getReceiptDate()); + + entryEntity.setConditions("1"); + BasicdataClientEntity customer = basicdataClientClient.getCustomer(o.getCustomerName(), o.getCustomerCode()); + if(ObjectUtils.isNotEmpty(customer) ){ + if(StringUtils.isNotBlank(o.getStoreName())){ + BasicdataClientEntity customer1 = basicdataClientClient.findByName(o.getStoreName()); + if(Func.isNotEmpty(customer1)){ + entryEntity.setStoreId(customer1.getId()); + entryEntity.setStoreName(o.getStoreName()); + }else{ + throw new ServiceException(o.getCustomerName()+o.getCustomerCode()+"门店信息不存在!!请维护门店数据!!!"); + } } + entryEntity.setClientId(customer.getId());//客户id + entryEntity.setCustomerName(o.getCustomerName()); + entryEntity.setCustomerCode(o.getCustomerCode()); + }else{ + throw new ServiceException(o.getCustomerName()+o.getCustomerCode()+"客户信息不存在!!请维护客户数据!!!"); } - entryEntity.setClientId(customer.getId());//客户id - entryEntity.setCustomerName(o.getCustomerName()); - entryEntity.setCustomerCode(o.getCustomerCode()); - }else{ - throw new ServiceException(o.getCustomerName()+o.getCustomerCode()+"客户信息不存在!!请维护客户数据!!!"); - } - BasicdataWarehouseEntity warehouse = basicdataWarehouseClient.getWarehouse(o.getWarehouse(), o.getWarehouseCode()); - if(Func.isNotEmpty(warehouse)){ - entryEntity.setWarehouseId(warehouse.getId());//仓库id - entryEntity.setWarehouse(o.getWarehouse());//仓库名称 - }else{ - throw new ServiceException(o.getCustomerName()+o.getCustomerCode()+"仓库信息不存在!!请维护仓库数据!!!"); - } - - entryEntity.setTrainNumber(o.getTrainNumber()); //仓库名称 - entryEntity.setLicensePlate(o.getLicensePlate()); //仓库名称 - entryEntity.setSource("导入"); - R> distriType = dictBizClient.getList("distribution_type"); - if(ObjectUtils.isNotNull(distriType)){ - List data1 = distriType.getData(); + BasicdataWarehouseEntity warehouse = basicdataWarehouseClient.getWarehouse(o.getWarehouse(), o.getWarehouseCode()); + if(Func.isNotEmpty(warehouse)){ + entryEntity.setWarehouseId(warehouse.getId());//仓库id + entryEntity.setWarehouse(o.getWarehouse());//仓库名称 + }else{ + throw new ServiceException(o.getCustomerName()+o.getCustomerCode()+"仓库信息不存在!!请维护仓库数据!!!"); + } + entryEntity.setLogisticsCompany(Optional.ofNullable(o.getLogisticsCompany()).orElse(null)); + entryEntity.setTrainNumber(Optional.ofNullable(o.getTrainNumber()).orElse(null)); //仓库名称 + entryEntity.setLicensePlate(Optional.ofNullable(o.getLicensePlate()).orElse(null)); //仓库名称 + entryEntity.setOrderNumber(Optional.ofNullable(o.getOrderNumber()).orElse(null)); //仓库名称 + entryEntity.setSource("导入"); + R> distriType = dictBizClient.getList("distribution_type"); + if(ObjectUtils.isNotNull(distriType)){ + List data1 = distriType.getData(); // data1.forEach( a ->{ // if(o.getServiceType().equals(a.getDictValue())){ // entryEntity.setServiceType(a.getDictKey()); //仓库名称 // } // }); - DictBiz dictBiz = data1.stream().filter(da -> { - return o.getServiceType().equals(da.getDictValue()); - }).findAny().get(); - entryEntity.setServiceType(dictBiz.getDictKey());//仓库名称 + DictBiz dictBiz = data1.stream().filter(da -> { + return o.getServiceType().equals(da.getDictValue()); + }).findAny().get(); + entryEntity.setServiceType(dictBiz.getDictKey());//仓库名称 + } + entryEntity.setPositions(Optional.ofNullable(o.getPositions()).orElse(null)); + String s = JSONObject.toJSONString(entryEntity); + return s; } - entryEntity.setPositions(o.getPositions() ); - String s = JSONObject.toJSONString(entryEntity); - return s; + } , Collectors.toList())); collect.forEach((k,v) ->{ diff --git a/doc/dpm/物流租户系统.pdma.json b/doc/dpm/物流租户系统.pdma.json index cf8a0c23a..05feadf62 100644 --- a/doc/dpm/物流租户系统.pdma.json +++ b/doc/dpm/物流租户系统.pdma.json @@ -4,7 +4,7 @@ "avatar": "", "version": "4.5.1", "createdTime": "2023-3-27 13:32:56", - "updatedTime": "2023-8-9 10:46:19", + "updatedTime": "2023-9-26 11:11:22", "dbConns": [], "profile": { "default": { @@ -57974,6 +57974,464 @@ ], "correlations": [], "indexes": [] + }, + { + "id": "76FCF47B-9E5A-4A5B-A6F5-D541FD35A6AC", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "logpm_distribution_sign_print", + "defName": "签收图片", + "comment": "", + "properties": { + "partitioned by": "(date string)", + "row format delimited": "", + "fields terminated by ','": "", + "collection items terminated by '-'": "", + "map keys terminated by ':'": "", + "store as textfile;": "" + }, + "nameTemplate": "{defKey}[{defName}]", + "notes": {}, + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "defName", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "notNull", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "domain", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "type", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "len", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "scale", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "comment", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "refDict", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "isStandard", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "uiHint", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "extProps", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr1", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr2", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr3", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr4", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr5", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr6", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr7", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr8", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr9", + "freeze": false, + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "tenant_id", + "defName": "租户号", + "comment": "", + "type": "", + "len": 32, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "16120F75-6AA7-4483-868D-F07F511BB081", + "refDict": "", + "uiHint": "", + "id": "4BCC7852-62F4-4E22-862D-E60210FC0194" + }, + { + "defKey": "create_user", + "defName": "创建人", + "comment": "", + "domain": "16120F75-6AA7-4483-868D-F07F511BB081", + "type": "", + "len": 32, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "FEA9C416-8788-4282-9937-D9442229CA56" + }, + { + "defKey": "create_time", + "defName": "创建时间", + "comment": "", + "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "6EBA9279-5D44-4824-A7A6-AC7382702A88" + }, + { + "defKey": "update_user", + "defName": "更新人", + "comment": "", + "domain": "16120F75-6AA7-4483-868D-F07F511BB081", + "type": "", + "len": 32, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "6B51A383-79D7-4ADF-8EB9-0F5EA4F8544E" + }, + { + "defKey": "update_time", + "defName": "更新时间", + "comment": "", + "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "1F38E3FB-AC5F-4B50-A844-59FF4CA4C2B1" + }, + { + "defKey": "status", + "defName": "状态", + "comment": "", + "type": "INT", + "len": 2, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "", + "id": "F428C50A-15FA-4ECF-B0FC-95E1C0D45363" + }, + { + "defKey": "is_deleted", + "defName": "是否已删除", + "comment": "", + "type": "INT", + "len": 2, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "", + "id": "FEE460EF-B843-4DA8-9041-78833D3903D0" + }, + { + "defKey": "create_dept", + "defName": "创建部门", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", + "id": "1E7D555A-A0F5-4B44-9401-57D9175DD331" + }, + { + "defKey": "id", + "defName": "主键", + "comment": "", + "type": "INT", + "len": 20, + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "", + "id": "6B0CE4F9-8E10-419D-8222-48D2FFC23753" + }, + { + "defKey": "reserve1", + "defName": "预留1", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", + "id": "9103DC94-8A69-4B00-8E15-DB52981B49D4" + }, + { + "defKey": "reserve2", + "defName": "预留2", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", + "id": "6B18C6C0-AA1C-494C-BFCC-C252EEF4D963" + }, + { + "defKey": "reserve3", + "defName": "预留3", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", + "id": "F125435A-DB8D-4AAB-9ED9-0F47B2B2C52A" + }, + { + "defKey": "reserve4", + "defName": "预留4", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", + "id": "F93F1A01-E18E-41F6-ACB3-E50D4BB71DD9" + }, + { + "defKey": "reserve5", + "defName": "预留5", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", + "id": "F13532EA-B647-4310-8D19-21379E09FEF8" + }, + { + "defKey": "type", + "defName": "类型", + "comment": "", + "type": "INT", + "len": 11, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "", + "id": "42143690-8D9E-416C-AF81-00767E51519D" + }, + { + "defKey": "name", + "defName": "名称", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", + "id": "6DE03350-C886-423F-9AF7-B3AE13D5489D" + }, + { + "defKey": "url_route", + "defName": "路径", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", + "id": "A0823302-F10D-4FD7-9A36-E8299A094022" + }, + { + "defKey": "reservation_id", + "defName": "预约id", + "comment": "", + "type": "VARCHAR", + "len": 20, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "", + "id": "17048E80-86D2-43D6-B087-A016F897265A" + } + ], + "correlations": [], + "indexes": [] } ], "views": [], @@ -58123,7 +58581,8 @@ "E49C4E0A-761C-48A9-AFDA-7F44465A94EA", "E0313D21-7B17-4D59-A940-DB800CB49090", "341855F6-28A8-48FC-A5AF-7B69F2916907", - "34520BCA-7B04-4B57-949B-D386718B529D" + "34520BCA-7B04-4B57-949B-D386718B529D", + "76FCF47B-9E5A-4A5B-A6F5-D541FD35A6AC" ], "refViews": [], "refDiagrams": [], @@ -58659,4 +59118,4 @@ } } ] -} +} \ No newline at end of file From 09f033a383a8b68f317c39cf310a8b71c8ae16ed Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" <123456> Date: Tue, 26 Sep 2023 20:00:51 +0800 Subject: [PATCH 38/38] =?UTF-8?q?1.=E6=A0=BC=E5=BC=8F=E5=8C=96=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logpm/factory/oupai/receiver/OpReceivingDataHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpReceivingDataHandler.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpReceivingDataHandler.java index 6ca99c06d..6535e1746 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpReceivingDataHandler.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpReceivingDataHandler.java @@ -41,7 +41,7 @@ public class OpReceivingDataHandler { panFactoryDataService.handleDataToPlatform(orderPackageCode, receivingTime); } catch (Exception e) { - log.error("##################opReceivingDataHandler: 处理欧派收货数据到新系统,orderPackageCode:{},receivingTime{}", + log.error("##################opReceivingDataHandler: 处理欧派收货数据到新系统,orderPackageCode:{},receivingTime:{}", orderPackageCode,receivingTime); }