From 9f7c12d5f9dd4210c6ba2f32d332324aa1498ecb Mon Sep 17 00:00:00 2001 From: caoyizhong <1270296080@qq.com> Date: Wed, 22 Nov 2023 20:05:08 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=90=88=E5=90=8C?= =?UTF-8?q?=E6=89=AB=E6=8F=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/TaskQuestServiceImpl.java | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java index 1dd6599fa..34e5d9db0 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java @@ -1140,7 +1140,11 @@ public class TaskQuestServiceImpl extends BaseServiceImpl> questDetailMap = questDetailEntityList.stream().collect(Collectors.groupingBy(QuestDetailEntity::getQuestTarget)); + Map> questDetailMap = questDetailEntityList.stream().collect(Collectors.groupingBy(QuestDetailEntity::getQuestTarget)); //订制品 List questDetailEntities = questDetailMap.get(1); List zeroQuestDetailEntities = questDetailMap.get(2); @@ -1288,7 +1292,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl list = baseMapper.selectTaskInfo(taskQuestEntity.getQuestNum(), questDetail); + + if(!list.isEmpty()){ + for (QuestDetailEntity i : list) { + if(ObjectUtils.isNull(i.getGroundingPositionCode())){ + log.info("当前库位已有数据,无法绑定!!"); + return R.success("当前库位已有数据,无法绑定!!"); + } + } + } String positionCode = goodsAreaEntity.getHeadline() + "-" + basicdataGoodsShelfEntity.getGoodsShelfName() + "-" + goodsAllocationEntity.getGoodsAllocationName(); Map map = new HashMap<>(); From 778eba309bffa74634ece17408312734b532ff33 Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Thu, 23 Nov 2023 14:41:47 +0800 Subject: [PATCH 02/12] =?UTF-8?q?1.=E5=90=8C=E6=AD=A5=E5=BA=93=E4=BD=8D?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=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 --- .../feign/IBasicdataGoodsShelfClient.java | 2 ++ .../feign/BasicdataGoodsShelfClient.java | 8 +++++ .../oldproject/mapper/LocationMapper.xml | 1 - .../service/impl/CargoServiceImpl.java | 3 +- .../service/impl/LocationServiceImpl.java | 3 +- .../service/impl/ShelfServiceImpl.java | 1 - .../patch/jobhandle/SyncWarehouseData.java | 32 ++++++++++++++----- 7 files changed, 36 insertions(+), 14 deletions(-) diff --git a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataGoodsShelfClient.java b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataGoodsShelfClient.java index 391f09343..4540d9c5d 100644 --- a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataGoodsShelfClient.java +++ b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataGoodsShelfClient.java @@ -55,4 +55,6 @@ public interface IBasicdataGoodsShelfClient { @GetMapping(API_PREFIX+"/getEntityById") BasicdataGoodsShelfEntity getEntityByGoodsShelfId(@RequestParam("goodsShelfId") Long goodsShelfId); + @GetMapping(API_PREFIX+"/updateRowAndFloorByShelfId") + void updateRowAndFloorByShelfId(@RequestParam int maxFloor, @RequestParam int maxRow, @RequestParam Long newShelfId); } diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataGoodsShelfClient.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataGoodsShelfClient.java index 8fde527e9..c08ac3110 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataGoodsShelfClient.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataGoodsShelfClient.java @@ -65,4 +65,12 @@ public class BasicdataGoodsShelfClient implements IBasicdataGoodsShelfClient { return basicdataGoodsShelfService.getById(goodsShelfId); } + @Override + public void updateRowAndFloorByShelfId(int maxFloor, int maxRow, Long newShelfId) { + BasicdataGoodsShelfEntity goodsShelfEntity = basicdataGoodsShelfService.getById(newShelfId); + goodsShelfEntity.setRowNum(maxRow); + goodsShelfEntity.setStoreyNum(maxFloor); + basicdataGoodsShelfService.updateById(goodsShelfEntity); + } + } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/LocationMapper.xml b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/LocationMapper.xml index 415aca879..36a9f2145 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/LocationMapper.xml +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/LocationMapper.xml @@ -9,7 +9,6 @@ from ht_location l where l.shelf_id = #{shelfId} and l.delete_time = 0 - and l.`status` = 1 diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/CargoServiceImpl.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/CargoServiceImpl.java index 007a8ff1f..766ebfbeb 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/CargoServiceImpl.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/CargoServiceImpl.java @@ -19,8 +19,7 @@ public class CargoServiceImpl implements ICargoService { public List getAllByWarehouseId(Integer oldWarehouseId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("warehouse_id",oldWarehouseId) - .eq("delete_time",0) - .eq("status",1); + .eq("delete_time",0); return cargoMapper.selectList(queryWrapper); } } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/LocationServiceImpl.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/LocationServiceImpl.java index b40ba6904..f2bc3fc27 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/LocationServiceImpl.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/LocationServiceImpl.java @@ -25,8 +25,7 @@ public class LocationServiceImpl implements ILocationService { public List getAllByShelfId(Integer shelfId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("shelf_id",shelfId) - .eq("delete_time",0) - .eq("status",1); + .eq("delete_time",0); return locationMapper.selectList(queryWrapper); } } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/ShelfServiceImpl.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/ShelfServiceImpl.java index 12f346e31..09786e3c0 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/ShelfServiceImpl.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/ShelfServiceImpl.java @@ -20,7 +20,6 @@ public class ShelfServiceImpl implements IShelfService { public List getAllByWarehouseIdAndCargoId(Integer cargoId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("cargo_id",cargoId) - .eq("status",1) .eq("delete_time",0); return shelfMapper.selectList(queryWrapper); } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncWarehouseData.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncWarehouseData.java index bc9a41a18..70f2dee58 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncWarehouseData.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncWarehouseData.java @@ -66,6 +66,9 @@ public class SyncWarehouseData { //通过老系统仓库id去查有哪些货区 List cargoEntityList = cargoClient.getAllByWarehouseId(oldWarehouseId); + Map areaIsEmptyMap = new HashMap<>(); + areaIsEmptyMap.put(1,1); + areaIsEmptyMap.put(0,2); for (CargoEntity cargoEntity:cargoEntityList){ //货区数据存储 Integer cargoId = cargoEntity.getId();//老系统货区id @@ -76,7 +79,7 @@ public class SyncWarehouseData { goodsAreaEntity.setCreateDept(1649331096241836033L); goodsAreaEntity.setWarehouseId(newWarehouseId); goodsAreaEntity.setHeadline(cargoEntity.getTitle()); - goodsAreaEntity.setEnableStatus("1"); + goodsAreaEntity.setEnableStatus(areaIsEmptyMap.get(cargoEntity.getStatus())+""); goodsAreaEntity.setAreaType("2"); goodsAreaEntity.setOldId(cargoId); Long newAreaId = basicdataGoodsAreaClient.addCargo(goodsAreaEntity); @@ -105,7 +108,7 @@ public class SyncWarehouseData { goodsShelfEntity.setWarehouseId(newWarehouseId); goodsShelfEntity.setWarehouseCode(warehouseEntity.getWarehouseCode()); goodsShelfEntity.setGoodsShelfStatus(2); - goodsShelfEntity.setEnableStatus(1); + goodsShelfEntity.setEnableStatus(shelfIsEmptyMap.get(shelfEntity.getStatus())); goodsShelfEntity.setStoreyNum(storeyAndRow.get("storey")); goodsShelfEntity.setRowNum(storeyAndRow.get("row")); goodsShelfEntity.setRemarks(""); @@ -115,14 +118,26 @@ public class SyncWarehouseData { log.warn("#################saveAllocationData: 保存货架信息失败oldShelfId={},oldWarehouseId={}",oldShelfId,oldWarehouseId); return false; }else{ + int maxFloor = 0; + int maxRow = 0; //货位数据存储 Map locationIsEmptyMap = new HashMap<>(); - locationIsEmptyMap.put(1,2); - locationIsEmptyMap.put(0,1); + locationIsEmptyMap.put(1,1); + locationIsEmptyMap.put(0,2); List locationEntities = locationClient.getAllByShelfId(oldShelfId); // List newLocations = new ArrayList<>(); for (LocationEntity locationEntity:locationEntities){ Integer locationId = locationEntity.getId(); + String title = locationEntity.getTitle(); + String[] split = title.split("-"); + int floor = Integer.parseInt(split[0]); + int row = Integer.parseInt(split[1]); + if(floor > maxFloor){ + maxFloor = floor; + } + if(row > maxRow){ + maxRow = row; + } BasicdataGoodsAllocationEntity entity = new BasicdataGoodsAllocationEntity(); entity.setTenantId("627683"); entity.setId(locationId.longValue()); @@ -133,11 +148,11 @@ public class SyncWarehouseData { entity.setGoodsAllocationName(locationEntity.getTitle()); entity.setWarehouseId(newWarehouseId); entity.setGoodsShelfId(newShelfId); - entity.setEnableStatus("1"); + entity.setEnableStatus(locationIsEmptyMap.get(locationEntity.getStatus())+""); entity.setAllocationStatus("1"); - entity.setLayerNum(locationEntity.getFloor()); - entity.setColumnNum(locationEntity.getRow()); - entity.setQrCode(shelfEntity.getTitle()+"排"+locationEntity.getFloor()+"层"+locationEntity.getRow()+"列"); + entity.setLayerNum(floor); + entity.setColumnNum(row); + entity.setQrCode(shelfEntity.getTitle()+"排"+floor+"层"+row+"列"); entity.setOldId(locationId); Long newLocationId = basicdataGoodsAllocationClient.addLocation(entity); if(Objects.isNull(newLocationId)){ @@ -147,6 +162,7 @@ public class SyncWarehouseData { log.info("#################saveAllocationData: 保存货位信息成功locationId={},oldWarehouseId={}",locationId,oldWarehouseId); } } + basicdataGoodsShelfClient.updateRowAndFloorByShelfId(maxFloor,maxRow,newShelfId); } } } From 797bb0768e29d7393eff034108ec6004b1fbb59c Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Thu, 23 Nov 2023 19:33:02 +0800 Subject: [PATCH 03/12] =?UTF-8?q?=E7=AD=BE=E6=94=B6=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E7=BB=B4=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/DistributionSignforEntity.java | 12 ++ .../vo/DistributionSignforVO.java | 40 +++++- .../vo/DistributionStockArticleVO.java | 9 +- .../DistributionSignforController.java | 3 + .../DistributionStockArticleController.java | 7 ++ .../mapper/DistributionDeliveryListMapper.xml | 118 +++++++++--------- .../mapper/DistributionLoadscanMapper.java | 20 +++ .../mapper/DistributionLoadscanMapper.xml | 6 + .../mapper/DistributionSignforMapper.xml | 55 ++++++-- .../DistributionStockArticleMapper.java | 15 +++ .../mapper/DistributionStockArticleMapper.xml | 7 ++ .../DistributionDeliveryListServiceImpl.java | 13 +- .../impl/DistributionSignforServiceImpl.java | 57 ++++++--- .../mapper/WarehouseRetentionRecordMapper.xml | 1 + 14 files changed, 279 insertions(+), 84 deletions(-) diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionSignforEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionSignforEntity.java index 29c8f483f..69ab12eae 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionSignforEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionSignforEntity.java @@ -292,6 +292,18 @@ public class DistributionSignforEntity extends TenantEntity { @ApiModelProperty(value = "是否有异常装车包件 1-否 2-是") private Integer isHaveAbnormalPackage; + /** + * 审核人Id + */ + @ApiModelProperty(value = "审核人Id") + private Long examineUserId; + + /** + * 审核人名称 + */ + @ApiModelProperty(value = "审核人名称") + private String examineUserName; + } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSignforVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSignforVO.java index 4ad899e33..aadf7ea49 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSignforVO.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSignforVO.java @@ -146,6 +146,12 @@ public class DistributionSignforVO extends DistributionSignforEntity { @ApiModelProperty(value = "配送司机") private String driverName; + /** + * 配送司机 + */ + @ApiModelProperty(value = "配送司机") + private String driverPhone; + /** * 装车班组 */ @@ -155,7 +161,39 @@ public class DistributionSignforVO extends DistributionSignforEntity { * 配车时间 */ @ApiModelProperty(value = "配车时间") - private Date taskTime; + private String taskTime; + + /** + * 装车时间 + */ + @ApiModelProperty(value = "装车时间") + private String signLoadingDate; + + /** + * 装车时间(区间) + */ + @ApiModelProperty(value = "装车时间(区间)") + private List taskTimeSection; + + + /** + * 装车时间(区间) + */ + @ApiModelProperty(value = "装车时间(区间)") + private List loadingTimeSection; + + /** + * 司机签收(区间) + */ + @ApiModelProperty(value = "司机签收(区间)") + private List sjsigningTimeSection; + + /** + * 文员审核(区间) + */ + @ApiModelProperty(value = "文员审核(区间)") + private List signingTimeSection; + /** * 卸车班组 diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockArticleVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockArticleVO.java index 4fc965798..19ca855a8 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockArticleVO.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockArticleVO.java @@ -133,7 +133,14 @@ public class DistributionStockArticleVO extends DistributionStockArticleEntity { * 装车数量 */ @ApiModelProperty(value = "装车数量") - private String loadingNumber; + private Integer loadingNumber; + + /** + * 签收数量 + */ + @ApiModelProperty(value = "签收数量") + private Integer signingNumber; + /** * 备货数量 */ diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java index 658f718bd..55a5a7887 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java @@ -261,6 +261,9 @@ public class DistributionSignforController extends BladeController { @ApiOperationSupport(order = 5) @ApiOperation(value = "修改", notes = "传入distributionSignfor") public R update(@Valid @RequestBody DistributionSignforDTO distributionSignfor) { + BladeUser user = AuthUtil.getUser(); + distributionSignfor.setExamineUserId(user.getUserId()); + distributionSignfor.setExamineUserName(user.getNickName()); R r = distributionSignforService.updateSign(distributionSignfor); // return R.status(distributionSignforService.updateById(distributionSignfor)); return r; diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java index a3e59d0bf..43cac09b4 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java @@ -331,6 +331,13 @@ public class DistributionStockArticleController extends BladeController { return R.status(distributionStockArticleService.updateById(distributionStockArticle)); } + @PostMapping("/updateClient") + @ApiOperationSupport(order = 5) + @ApiOperation(value = "修改", notes = "传入distributionStockArticle") + public R updateClient(@Valid @RequestBody DistributionStockArticleEntity distributionStockArticle) { + return R.status(distributionStockArticleService.updateById(distributionStockArticle)); + } + /** * 配送在库订单 新增或修改 */ diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml index 5533b0d46..eca214a7b 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml @@ -1749,64 +1749,70 @@ diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java index cf76982e0..fbce97d42 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java @@ -101,4 +101,24 @@ public interface DistributionLoadscanMapper extends BaseMapper SELECT SUM(received_quantity) FROM logpm_distribution_loadscan WHERE scan_status != 1 AND signfor_state =2 And order_id =#{orderId} + + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml index 9e7fb77a7..41046cde7 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml @@ -284,7 +284,6 @@ -- logpm_distribution_signfor lds--> SELECT lds.id id, - lds.signee_name signeeName, ldr.mall_name mallName, lds.positioning positioning, lddl.warehouse_name warehouseName, @@ -300,11 +299,15 @@ lds.is_have_abnormal_package isHaveAbnormalPackage, lds.signing_type signingType, lddl.train_number trainNumber, + lddl.driver_name driverName, + lddl.vehicle_name vehicleName, lddl.task_time taskTime, + lddl.loading_time AS signLoadingDate, lds.received_quantity receivedQuantity, + lds.examine_user_id examineUserId, + lds.examine_user_name examineUserName, ldr.delivery_phone deliveryPhone, - (SELECT GROUP_CONCAT(distinct driver_name SEPARATOR ',') from logpm_distribution_loadscan ldl WHERE ldl.reservation_id = lds.reservation_id) deliveryDriverName, - (SELECT GROUP_CONCAT(distinct driver_phone SEPARATOR ',') from logpm_distribution_loadscan ldl WHERE ldl.reservation_id = lds.reservation_id) deliveryDriverPhone, + ldr.reservation_code reservationCode, ldr.delivery_address deliveryAddress, lds.delivery_sign_pictures deliverySignPictures, ldr.reservation_num reservationNum, @@ -326,13 +329,19 @@ lds.signing_status, ldr.reservation_num - lds.received_quantity unsigneds, ldr.reservation_num - lds.loaded_number withoutScanning, - lds.reservation_id reservationId + lds.reservation_id reservationId, + CASE lddl.kind + WHEN '1' THEN (SELECT driver_phone FROM logpm_distribution_delivery_self AS ldds WHERE ldds.delivery_id= lddl.id AND ldds.is_deleted = 0 AND ldds.is_master = 2) + WHEN '2' THEN (SELECT driver_phone FROM logpm_distribution_delivery_tripartite AS lddt WHERE lddt.delivery_id= lddl.id AND lddt.is_deleted = 0) + ELSE + '' + END driverPhone FROM logpm_distribution_signfor lds JOIN logpm_distribution_delivery_list lddl ON lddl.id = lds.delivery_id JOIN logpm_distribution_reservation ldr ON ldr.id = lds.reservation_id - lds.is_deleted = 0 and ldr.is_deleted = 0 + lds.is_deleted = 0 and ldr.is_deleted = 0 and lddl.is_deleted = 0 and ldr.mall_name like concat('%',#{param.mallName},'%') @@ -345,6 +354,15 @@ and ldr.store_name like concat('%',#{param.storeName},'%') + + and ldr.reservation_code like concat('%',#{param.reservationCode},'%') + + + and lddl.driver_name like concat('%',#{param.driverName},'%') + + + and lddl.vehicle_name like concat('%',#{param.vehicleName},'%') + and date_format(lds.delivery_time,'%y%m%d%') = date_format(#{param.deliveryTime},'%y%m%d%') @@ -372,7 +390,6 @@ and lddl.train_number like concat('%',#{param.trainNumber},'%') - and ldr.delivery_address like concat('%',#{param.deliveryAddress},'%') @@ -385,6 +402,21 @@ and date_format(lddl.task_time,'%Y-%m-%d') = #{param.taskTime} + + and date_format(lddl.loading_time,'%Y-%m-%d') = #{param.signLoadingDate} + + + and lddl.task_time between #{param.taskTimeSection[0]} and #{param.taskTimeSection[1]} + + + and lddl.loading_time between #{param.loadingTimeSection[0]} and #{param.loadingTimeSection[1]} + + + and lds.sjsigning_time between #{param.sjsigningTimeSection[0]} and #{param.sjsigningTimeSection[1]} + + + and lds.signing_time between #{param.signingTimeSection[0]} and #{param.signingTimeSection[1]} + @@ -451,7 +483,7 @@ JOIN logpm_distribution_delivery_list lddl ON lddl.id = lds.delivery_id JOIN logpm_distribution_reservation ldr ON ldr.id = lds.reservation_id - lds.is_deleted = 0 and lds.driver_signing ='1' and ldr.is_deleted = 0 + lds.is_deleted = 0 and lds.driver_signing ='1' and ldr.is_deleted = 0 and lddl.is_deleted = 0 and ldr.mall_name like concat('%',#{param.mallName},'%') @@ -486,6 +518,9 @@ and ldr.delivery_address like concat('%',#{param.deliveryAddress},'%') + + and ldr.warehouse_id = #{param.warehouseId} + @@ -497,7 +532,7 @@ JOIN logpm_distribution_delivery_list lddl ON lddl.id = lds.delivery_id JOIN logpm_distribution_reservation ldr ON ldr.id = lds.reservation_id - lds.is_deleted = 0 and lds.signing_status ='1' and ldr.is_deleted = 0 + lds.is_deleted = 0 and lds.signing_status ='1' and ldr.is_deleted = 0 and lddl.is_deleted = 0 and ldr.mall_name like concat('%',#{param.mallName},'%') @@ -533,6 +568,10 @@ and ldr.delivery_address like concat('%',#{param.deliveryAddress},'%') + + and ldr.warehouse_id = #{param.warehouseId} + + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.java index dd66d09d1..02d418fbb 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.java @@ -120,4 +120,19 @@ public interface DistributionStockArticleMapper extends BaseMapper + + UPDATE logpm_distribution_stock_article SET hand_quantity = (hand_quantity - #{deductionNum}) WHERE id=#{orderId} AND is_deleted = 0 AND hand_quantity >= 0 + + + UPDATE logpm_distribution_stock_article SET hand_quantity = (hand_quantity + #{augmentNum}) WHERE id=#{orderId} AND is_deleted = 0 AND hand_quantity >= 0 + + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java index 557e240f5..88e9d393b 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 @@ -570,6 +570,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl selectDistributionSignforPage(IPage page, DistributionSignforVO distributionSignfor) { //转换创建时间 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy:MM:dd HH:mm:ss"); if (null != distributionSignfor.getCreateTime()) { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); distributionSignfor.setCreateTime_query(sdf.format(distributionSignfor.getCreateTime())); } //获取当前登录人仓库 @@ -148,17 +149,17 @@ public class DistributionSignforServiceImpl extends BaseServiceImplquery().lambda().eq(DistributionDeliveryListEntity::getId, deliveryId)); - List list = new ArrayList<>(); - if (Func.equals(deliveryListEntity.getKind(), ServiceConstant.DELIVERLIST_KIND_SELF)) { - List distributionDeliverySelfEntities = distributionDeliverySelfMapper.selectList(Wrappers.query().lambda().eq(DistributionDeliverySelfEntity::getDeliveryId, deliveryId)); - distributionDeliverySelfEntities.forEach(s -> list.add(s.getDriverPhone())); - } else { - DistributionDeliveryTripartiteEntity tripartiteEntity = distributionDeliveryTripartiteMapper.selectOne(Wrappers.query().lambda().eq(DistributionDeliveryTripartiteEntity::getDeliveryId, deliveryId)); - list.add(tripartiteEntity.getDriverPhone()); - } - d.setDeliveryDriverPhone(String.join(",", list)); +// Long deliveryId = d.getDeliveryId(); +// DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListMapper.selectOne(Wrappers.query().lambda().eq(DistributionDeliveryListEntity::getId, deliveryId)); +// List list = new ArrayList<>(); +// if (Func.equals(deliveryListEntity.getKind(), ServiceConstant.DELIVERLIST_KIND_SELF)) { +// List distributionDeliverySelfEntities = distributionDeliverySelfMapper.selectList(Wrappers.query().lambda().eq(DistributionDeliverySelfEntity::getDeliveryId, deliveryId)); +// distributionDeliverySelfEntities.forEach(s -> list.add(s.getDriverPhone())); +// } else { +// DistributionDeliveryTripartiteEntity tripartiteEntity = distributionDeliveryTripartiteMapper.selectOne(Wrappers.query().lambda().eq(DistributionDeliveryTripartiteEntity::getDeliveryId, deliveryId)); +// list.add(tripartiteEntity.getDriverPhone()); +// } +// d.setDeliveryDriverPhone(String.join(",", list)); }); return page.setRecords(distributionSignforVOS); } @@ -253,6 +254,10 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl reservationStockarticleEntityList = distributionReservationStockarticleService.list(Wrappers.query().lambda().eq(DistributionReservationStockarticleEntity::getReservationId, signforEntity.getReservationId()).ne( - DistributionReservationStockarticleEntity::getStockArticleStatus, ReservationOrderStatusConstant.quxiao.getValue())); + List reservationStockarticleEntityList = distributionReservationStockarticleService.list(Wrappers.query().lambda() + .eq(DistributionReservationStockarticleEntity::getReservationId, signforEntity.getReservationId()) + .ne(DistributionReservationStockarticleEntity::getStockArticleStatus, ReservationOrderStatusConstant.quxiao.getValue())); // if (Func.isEmpty(reservationStockarticleEntityList)) { // log.error("#####################预约查询无订单信息,reservationId:{}", signforEntity.getReservationId()); // return null; @@ -503,11 +511,25 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl stockArticleEntities = distributionStockArticleService.listByIds(orderIds); + List distributionStockArticleVOS = DistributionStockArticleWrapper.build().listVO(stockArticleEntities); + for (DistributionStockArticleVO distributionStockArticleVO : distributionStockArticleVOS) { + //查询计划、装车、签收数量 + DistributionReservationStockarticleEntity reservationStockarticleEntity = distributionReservationStockarticleService.getOne(Wrappers.query().lambda() + .eq(DistributionReservationStockarticleEntity::getReservationId, signforEntity.getReservationId()) + .eq(DistributionReservationStockarticleEntity::getStockArticleId, distributionStockArticleVO.getId()) + .ne(DistributionReservationStockarticleEntity::getStockArticleStatus, ReservationOrderStatusConstant.quxiao.getValue()) + ); + distributionStockArticleVO.setReservationNum(reservationStockarticleEntity.getReservationNum()); + Integer loadingNum = distributionLoadscanMapper.selectOrderLoadingNumByReservationIdAndDeliveryIdAndOrderId(signforEntity.getReservationId(),signforEntity.getDeliveryId(),distributionStockArticleVO.getId()); + distributionStockArticleVO.setLoadingNumber(loadingNum); + Integer signingNum = distributionLoadscanMapper.selectOrderSigningNumByReservationIdAndDeliveryIdAndOrderId(signforEntity.getReservationId(),signforEntity.getDeliveryId(),distributionStockArticleVO.getId()); + distributionStockArticleVO.setSigningNumber(signingNum); + } List printEntities = baseMapper.selectSignImgsUrl(distributionSignforVO.getReservationId()); distributionSignforVO.setPrintVOList(printEntities); if (Func.isNotEmpty(stockArticleEntities)) { - distributionSignforVO.setOrderInfo(DistributionStockArticleWrapper.build().listVO(stockArticleEntities)); + distributionSignforVO.setOrderInfo(distributionStockArticleVOS); } } // List stockArticleEntityList = baseMapper.selectOrderList(id); @@ -1840,6 +1862,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl>>>>>>>>>>>>>>parcelListEntity.getOrderPackageCode():{}",parcelListEntity.getOrderPackageCode()); warehouseUpdownTypeClient.downPackageOrDelTray(parcelListEntity.getOrderPackageCode(), myCurrentWarehouse.getId()); @@ -1851,6 +1875,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl Date: Fri, 24 Nov 2023 10:11:18 +0800 Subject: [PATCH 04/12] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9B=98=E7=82=B9?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=88=A0=E9=99=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constant/DictBizConstant.java | 1 + .../aftersales/WorkOrderStatusConstant.java | 45 ++++++++++ .../vo/DistributionStockupTrayVO.java | 3 + .../logpm/warehouse/vo/QuestContrastVO.java | 5 ++ .../logpm/warehouse/vo/TaskPackagelistVO.java | 6 ++ .../impl/AftersalesWorkOrderServiceImpl.java | 5 ++ .../DistributionStockupAppController.java | 34 +++++++- .../mapper/DistributionStockupMapper.xml | 8 +- .../api/WarehouseTaskApiController.java | 19 ++++ .../controller/TaskQuestController.java | 17 ++++ .../warehouse/mapper/TaskQuestMapper.java | 2 + .../warehouse/mapper/TaskQuestMapper.xml | 17 ++-- .../warehouse/service/ITaskQuestService.java | 16 ++++ .../service/impl/TaskQuestServiceImpl.java | 87 ++++++++++++++----- 14 files changed, 232 insertions(+), 33 deletions(-) create mode 100644 blade-biz-common/src/main/java/org/springblade/common/constant/aftersales/WorkOrderStatusConstant.java diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java index 193aaacfc..038996aee 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java @@ -18,6 +18,7 @@ public class DictBizConstant { public static final String ORDER_STOCKUP_STATUS = "order_stockup_status";//订单备货状态 public static final String ORDER_RESERVATION_STATUS = "order_reservation_status";//订单预约状态 public static final String RESERVATION_STATUS = "reservation_status";//预约状态 + public static final String WORK_ORDER_STATUS = "work_order_status";//异常工单状态 public static final String ORDER_PACKAGE_STATUS = "order_package_status";//配送包件状态 diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/aftersales/WorkOrderStatusConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/aftersales/WorkOrderStatusConstant.java new file mode 100644 index 000000000..47350391c --- /dev/null +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/aftersales/WorkOrderStatusConstant.java @@ -0,0 +1,45 @@ +package org.springblade.common.constant.aftersales; + +public enum WorkOrderStatusConstant { + + daichuli("待处理","10"), + yichuli("已处理","30"), + chulizhong("处理中","20"), + daishenhe("待审核","40"), + yishenhe("已审核","50"); + + + /** + * 状态 + */ + private String name; + + /** + * 值 + */ + private String value; + + + private WorkOrderStatusConstant(String name, String value) { + this.name = name; + this.value = value; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + +} 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 4bb93619c..896b53719 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 @@ -3,6 +3,7 @@ package com.logpm.distribution.vo; import lombok.Data; import java.io.Serializable; +import java.util.Date; /** * @program: LogisticsPlatform-Service @@ -18,5 +19,7 @@ public class DistributionStockupTrayVO implements Serializable { private String allocationId; // 包件编码 private String allocationTitle; // 包件编码 private String num; // 包件编码 + private String warehousingTime; // 入库时间 + private Date createTime; // 入库时间 } diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/QuestContrastVO.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/QuestContrastVO.java index bd90a2398..f0b3cf970 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/QuestContrastVO.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/QuestContrastVO.java @@ -62,6 +62,11 @@ public class QuestContrastVO { * 盘点时间 */ private Date updateTime; + + /** + * 盘点时间 + */ + private String updateTimes; /** * 盘点数据 */ diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/TaskPackagelistVO.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/TaskPackagelistVO.java index 8acb32c29..a12a193dd 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/TaskPackagelistVO.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/TaskPackagelistVO.java @@ -10,6 +10,12 @@ import java.util.List; @Data public class TaskPackagelistVO { + /** + * id + */ + @ApiModelProperty(value = "Id") + private Long id; + /** * 订单自编号 */ diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java index 2f59658db..7cfc6b780 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java @@ -33,11 +33,14 @@ import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springblade.common.constant.DictBizConstant; +import org.springblade.common.constant.aftersales.WorkOrderStatusConstant; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseEntity; import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.system.cache.DictBizCache; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -122,6 +125,8 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl list = distributionStockupService.getLocationSelection(stockupDTO); //自提 if(!list.isEmpty() && ObjectUtils.isNotNull(list.get(0))){ + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + list.stream().forEach( i ->{ + if(ObjectUtils.isNotNull(i.getCreateTime())){ + i.setWarehousingTime(format.format(i.getCreateTime())); + } + }); return R.data(list); } List listMarket = distributionStockupService.getLocationMarketSelection(stockupDTO); //商配 if(!listMarket.isEmpty() && ObjectUtils.isNotNull(listMarket.get(0))){ + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + list.stream().forEach( i ->{ + if(ObjectUtils.isNotNull(i.getCreateTime())){ + i.setWarehousingTime(format.format(i.getCreateTime())); + } + }); return R.data(listMarket); } }else{ //订单 List list = distributionStockupService.getLocationSelectionOrder(stockupDTO); //自提 if(!list.isEmpty() && ObjectUtils.isNotNull(list.get(0))){ + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + list.stream().forEach( i ->{ + if(ObjectUtils.isNotNull(i.getCreateTime())){ + i.setWarehousingTime(format.format(i.getCreateTime())); + } + }); return R.data(list); } List listMarket = distributionStockupService.getLocationMarketSelectionOrder(stockupDTO); //商配 if(!listMarket.isEmpty() && ObjectUtils.isNotNull(listMarket.get(0))){ + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + list.stream().forEach( i ->{ + if(ObjectUtils.isNotNull(i.getCreateTime())){ + i.setWarehousingTime(format.format(i.getCreateTime())); + } + }); return R.data(listMarket); } 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 e346e852b..281580edc 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 @@ -159,7 +159,7 @@ select DISTINCT lwug.position_code positionCode, lwug.allocation_id allocationId, lwug.allocation_title allocationTitle, - lwug.num + lwug.num, ldsl.create_time createTime from logpm_distribution_reservation_stocklist ldrs LEFT JOIN logpm_distribution_stock_list ldsl on ldrs.stocklist_id = ldsl.id LEFT JOIN logpm_distribution_parcel_list ldpl on ldpl.order_code = ldsl.incoming_batch and ldpl.conditions = '2' @@ -172,7 +172,7 @@ select lwug.position_code positionCode, lwug.allocation_id allocationId, lwug.allocation_title allocationTitle, - lwug.num + lwug.num, ldsl.create_time createTime from logpm_distribution_reservation_stocklist ldrs LEFT JOIN logpm_distribution_stock_list ldsl on ldrs.stocklist_id = ldsl.id LEFT JOIN logpm_warehouse_updown_goods lwug @@ -185,7 +185,7 @@ select lwug.position_code positionCode, lwug.allocation_id allocationId, lwug.allocation_title allocationTitle, - lwug.num + lwug.num, ldsl.create_time createTime from logpm_distribution_delivery_details lddd LEFT JOIN logpm_distribution_stock_list ldsl on lddd.stock_list_id = ldsl.id LEFT JOIN logpm_warehouse_updown_goods lwug @@ -200,7 +200,7 @@ select DISTINCT lwug.position_code positionCode, lwug.allocation_id allocationId, lwug.allocation_title allocationTitle, - lwug.num + lwug.num, ldsl.create_time createTime from logpm_distribution_delivery_details lddd LEFT JOIN logpm_distribution_stock_list ldsl on lddd.stock_list_id = ldsl.id LEFT JOIN logpm_distribution_parcel_list ldpl on ldpl.order_code = ldsl.incoming_batch and ldpl.conditions = '2' diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTaskApiController.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTaskApiController.java index ba3cb2ee4..c4a08d7fe 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTaskApiController.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTaskApiController.java @@ -151,6 +151,25 @@ public class WarehouseTaskApiController { return r; } + /** + * 删除盘点数据 + */ + @DeleteMapping("/deleteQuestChild") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "删除盘点数据", notes = "code,type") + public R deleteQuestChild(@RequestBody TaskSearchDTO taskSearchDTO) { + + if(ObjectUtils.isNull(taskSearchDTO.getQuestNum())){ + return R.fail("任务编码不能为空"); + } + if(ObjectUtils.isNull(taskSearchDTO.getQuestId())){ + return R.fail("任务ID不能为空"); + } + + R r = taskQuestService.deleteQuestChild(taskSearchDTO); + return r; + } + diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/TaskQuestController.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/TaskQuestController.java index c7c21e5d9..10c41e310 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/TaskQuestController.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/TaskQuestController.java @@ -16,6 +16,7 @@ */ package com.logpm.warehouse.controller; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.logpm.warehouse.dto.QuestDetailDTO; import com.logpm.warehouse.dto.TaskQuestDTO; import com.logpm.warehouse.vo.QuestContrastVO; @@ -213,6 +214,22 @@ public class TaskQuestController extends BladeController { return R.status(taskQuestService.updateQuestInfo(questDetailDTO)); } + /** + * 盘点任务 盘点后的数据修改 + */ + @GetMapping("/getQuestChildInfo") + @ApiOperationSupport(order = 5) + @ApiOperation(value = "修改", notes = "传入taskQuest") + public R selectQuestChildInfo( QuestDetailDTO questDetailDTO) { + if(ObjectUtils.isNull(questDetailDTO.getQuestNum())){ + return R.fail("任务编号不能为空"); + } + if(ObjectUtils.isNull(questDetailDTO.getId())){ + return R.fail("包件数据Id不能为空!!"); + } + return R.data(taskQuestService.selectQuestChildInfo(questDetailDTO)); + } + /** * 盘点任务 修改时间 */ diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.java index 3bbb70af9..9c38dced5 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.java @@ -159,4 +159,6 @@ public interface TaskQuestMapper extends BaseMapper { * @return */ List selectContrastDataInfo(@Param("questNum")String questNum,@Param("param")QuestDetailEntity questDetail); + + Integer deleteQuestChild(@Param("questNum")String questNum, @Param("questDetailId")String i); } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.xml b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.xml index b43d22b52..bb421c515 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.xml +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.xml @@ -28,7 +28,9 @@ SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); - + + delete from ${questNum} where quest_detail_id = #{questDetailId} + - SELECT * FROM logpm_distribution_sign_print WHERE reservation_id = #{reservationId} and is_deleted = 0 diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/ITaskQuestService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/ITaskQuestService.java index b165ae3ad..1b383e8e0 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/ITaskQuestService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/ITaskQuestService.java @@ -24,6 +24,7 @@ import com.logpm.warehouse.dto.TaskSearchDTO; import com.logpm.warehouse.entity.QuestDetailChildEntity; import com.logpm.warehouse.entity.QuestDetailEntity; import com.logpm.warehouse.entity.TaskQuestEntity; +import com.logpm.warehouse.excel.QuestContrastExcel; import com.logpm.warehouse.excel.TaskQuestExcel; import com.logpm.warehouse.vo.*; import org.springblade.core.mp.base.BaseService; @@ -261,4 +262,11 @@ public interface ITaskQuestService extends BaseService { * @return */ List selectQuestChildInfo( QuestDetailDTO questDetailDTO); + + /** + * 盘点对比明细数据导出 + * @param questDetailDTO + * @return + */ + List exportGetContrastInfo(QuestDetailDTO questDetailDTO); } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java index 85ed31d7a..654606830 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java @@ -37,6 +37,7 @@ import com.logpm.warehouse.dto.QuestDetailDTO; import com.logpm.warehouse.dto.TaskQuestDTO; import com.logpm.warehouse.dto.TaskSearchDTO; import com.logpm.warehouse.entity.*; +import com.logpm.warehouse.excel.QuestContrastExcel; import com.logpm.warehouse.excel.TaskQuestExcel; import com.logpm.warehouse.mapper.TaskQuestMapper; import com.logpm.warehouse.mapper.WarehouseTrayGoodsMapper; @@ -1155,6 +1156,22 @@ public class TaskQuestServiceImpl extends BaseServiceImpl exportGetContrastInfo(QuestDetailDTO questDetailDTO) { + List list = new ArrayList<>(); + List questDetailChildEntities = selectQuestChildInfo(questDetailDTO); + if(ObjectUtils.isNull(questDetailChildEntities)) { + return list; + } + questDetailChildEntities.forEach( i -> { + QuestContrastExcel questContrastExcel = new QuestContrastExcel(); + BeanUtil.copyProperties(i,questContrastExcel); + list.add(questContrastExcel); + }); + return list; + + } + /** * 查询货位上的数据 * @param taskSearchDTO From 5262b89722f870b8bbbef4fe30d995f0e1ad7ad5 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Sat, 25 Nov 2023 13:53:46 +0800 Subject: [PATCH 08/12] =?UTF-8?q?=E7=AD=BE=E6=94=B6=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E4=B8=8B=E8=BD=BD=E8=B0=83=E6=95=B4=E3=80=81?= =?UTF-8?q?=E9=A2=84=E7=BA=A6=E5=BA=93=E5=AD=98=E5=93=81=E6=95=B0=E9=87=8F?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E7=BB=B4=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/DistributionReservationMapper.xml | 1 + .../impl/DistributionSignforServiceImpl.java | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml index ecedb3db6..820cb49a8 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml @@ -545,6 +545,7 @@ ldsl.tray_id, ldsl.tray_name, ldsl.sku, + ldrs.reservation_num, count(ldsld.stock_package_code) AS stockupNum, (SELECT lds.stockup_area FROM logpm_distribution_stockup_info AS ldsi INNER JOIN logpm_distribution_stockup AS lds ON ldsi.stockup_id = lds.id WHERE ldsi.reservation_id = ldrs.reservation_id) AS stockupArea FROM diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java index bfbd49ff5..2e5b07a48 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java @@ -2994,7 +2994,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl fileList = new ArrayList<>(); List signIds = Func.toLongList(",", ids); List distributionSignforEntities = this.listByIds(signIds); if (Func.isNotEmpty(distributionSignforEntities)) { @@ -3011,26 +3011,36 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl= 0) { os.write(buffer, 0, i); i = bis.read(buffer); } + } } catch (IOException e) { log.info("Download failed!"); throw new RuntimeException(e); From 2acc1fe98f3636d5ab4754132afc1ebe43590248 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Sat, 25 Nov 2023 16:54:35 +0800 Subject: [PATCH 09/12] =?UTF-8?q?=E9=A2=84=E7=BA=A6=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=8C=85=E4=BB=B6=E8=BF=87=E6=BB=A4=E5=BA=93?= =?UTF-8?q?=E5=AD=98=E5=93=81=E5=8C=85=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/springblade/common/utils/FileUtil.java | 2 +- .../service/impl/DistributionStockArticleServiceImpl.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/blade-biz-common/src/main/java/org/springblade/common/utils/FileUtil.java b/blade-biz-common/src/main/java/org/springblade/common/utils/FileUtil.java index 31d37a49e..964758b6b 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/utils/FileUtil.java +++ b/blade-biz-common/src/main/java/org/springblade/common/utils/FileUtil.java @@ -66,7 +66,7 @@ public class FileUtil extends TimerTask { switch (type) { case "photo_1": //上门 - imgPath += "\\doorr"; + imgPath += "\\door"; break; case "photo_2": imgPath += "\\stacking"; 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 417d4954f..385b8bd61 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 @@ -1218,6 +1218,7 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl getPackageListByStockArticleId(IPage page, Long orderId) { List parcelListEntityList = distributionParcelListService.list(Wrappers.query().lambda().eq(DistributionParcelListEntity::getStockArticleId, orderId) .eq(DistributionParcelListEntity::getOrderPackageReservationStatus, OrderPackageReservationStatusConstant.daiyuyue.getValue()) + .ne(DistributionParcelListEntity::getConditions, 2) .notIn(DistributionParcelListEntity::getOrderPackageStatus, OrderPackageStatusConstant.yiqianshou.getValue(), OrderPackageStatusConstant.yichuku.getValue())); List parcelListVOS = DistributionParcelListWrapper.build().listVO(parcelListEntityList); return page.setRecords(parcelListVOS); From a3ec3f28c5a7ee016e53f348183a81146821db2e Mon Sep 17 00:00:00 2001 From: caoyizhong <1270296080> Date: Sat, 25 Nov 2023 21:20:30 +0800 Subject: [PATCH 10/12] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9B=98=E7=82=B9?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E5=8C=85=E4=BB=B6=E9=87=8D=E5=A4=8D=E7=9B=98?= =?UTF-8?q?=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AftersalesArbitrationOrderController.java | 10 +++++ .../AftersalesReturnRecordController.java | 10 +++++ .../AftersalesWorkOrderController.java | 2 +- .../IAftersalesArbitrationOrderService.java | 6 +++ .../IAftersalesReturnRecordService.java | 7 ++++ .../service/IAftersalesWorkOrderService.java | 2 +- ...AftersalesArbitrationOrderServiceImpl.java | 18 +++++++++ .../AftersalesReturnRecordServiceImpl.java | 22 +++++++++++ .../impl/AftersalesWorkOrderServiceImpl.java | 27 +++++++------- .../service/impl/TaskQuestServiceImpl.java | 37 +++++++++++++++---- 10 files changed, 118 insertions(+), 23 deletions(-) diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesArbitrationOrderController.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesArbitrationOrderController.java index 9cd6c4364..81eab3436 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesArbitrationOrderController.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesArbitrationOrderController.java @@ -121,6 +121,16 @@ public class AftersalesArbitrationOrderController extends BladeController { return R.status(aftersalesArbitrationOrderService.saveOrUpdate(aftersalesArbitrationOrder)); } + /** + * 异常工单仲裁申请单 批量转异常 + */ + @PostMapping("/batchArbitrationOrder") + @ApiOperationSupport(order = 6) + @ApiOperation(value = "新增或修改", notes = "传入aftersalesArbitrationOrder") + public R batchArbitrationOrder(@Valid @RequestBody List aftersalesArbitrationOrder) { + return R.status(aftersalesArbitrationOrderService.batchArbitrationOrder(aftersalesArbitrationOrder)); + } + /** * 异常工单仲裁申请单 删除 */ diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesReturnRecordController.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesReturnRecordController.java index b022a9374..e8a501600 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesReturnRecordController.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesReturnRecordController.java @@ -121,6 +121,16 @@ public class AftersalesReturnRecordController extends BladeController { return R.status(aftersalesReturnRecordService.ownSaveOrUpdate(aftersalesReturnRecord)); } + /** + * 异常 工单打回记录 批量打回 + */ + @PostMapping("/batchRepulse") + @ApiOperationSupport(order = 6) + @ApiOperation(value = "新增或修改", notes = "传入aftersalesReturnRecord") + public R batchRepulse(@Valid @RequestBody List aftersalesReturnRecord) { + return R.status(aftersalesReturnRecordService.batchRepulse(aftersalesReturnRecord)); + } + /** * 异常 工单打回记录 删除 */ diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesWorkOrderController.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesWorkOrderController.java index 6b3d64f02..b93ca2c2a 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesWorkOrderController.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesWorkOrderController.java @@ -119,7 +119,7 @@ public class AftersalesWorkOrderController extends BladeController { @PostMapping("/addCompletionEnd") @ApiOperationSupport(order = 4) @ApiOperation(value = "新增", notes = "传入aftersalesWorkOrder") - public R addCompletionEnd(@Valid @RequestBody AftersalesWorkOrderDTO aftersalesWorkOrder) { + public R addCompletionEnd(@Valid @RequestBody List aftersalesWorkOrder) { return R.status(aftersalesWorkOrderService.addCompletionEnd(aftersalesWorkOrder)); } diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesArbitrationOrderService.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesArbitrationOrderService.java index 54d383e24..6bdf4bb61 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesArbitrationOrderService.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesArbitrationOrderService.java @@ -49,4 +49,10 @@ public interface IAftersalesArbitrationOrderService extends BaseService exportAftersalesArbitrationOrder(Wrapper queryWrapper); + /** + * 批量申请介入 + * @param aftersalesArbitrationOrder + * @return + */ + boolean batchArbitrationOrder(List aftersalesArbitrationOrder); } diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesReturnRecordService.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesReturnRecordService.java index 0f36e95cd..baeab2e5e 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesReturnRecordService.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesReturnRecordService.java @@ -55,4 +55,11 @@ public interface IAftersalesReturnRecordService extends BaseService aftersalesReturnRecord); } diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesWorkOrderService.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesWorkOrderService.java index bba8f6554..f21ee8adf 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesWorkOrderService.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesWorkOrderService.java @@ -70,5 +70,5 @@ public interface IAftersalesWorkOrderService extends BaseService aftersalesWorkOrder); } diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesArbitrationOrderServiceImpl.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesArbitrationOrderServiceImpl.java index 73a57b3d7..000e1b177 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesArbitrationOrderServiceImpl.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesArbitrationOrderServiceImpl.java @@ -16,6 +16,7 @@ */ package com.logpm.aftersales.service.impl; +import cn.hutool.core.util.ObjectUtil; import com.logpm.aftersales.entity.AftersalesArbitrationOrderEntity; import com.logpm.aftersales.vo.AftersalesArbitrationOrderVO; import com.logpm.aftersales.excel.AftersalesArbitrationOrderExcel; @@ -51,4 +52,21 @@ public class AftersalesArbitrationOrderServiceImpl extends BaseServiceImpl aftersalesArbitrationOrder) { + + if(ObjectUtil.isNull(aftersalesArbitrationOrder)){ + return false; + } + aftersalesArbitrationOrder.forEach( i ->{ + baseMapper.insert(i); + }); + return true; + } + } diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesReturnRecordServiceImpl.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesReturnRecordServiceImpl.java index cd5244ac2..6dc59a812 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesReturnRecordServiceImpl.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesReturnRecordServiceImpl.java @@ -87,4 +87,26 @@ public class AftersalesReturnRecordServiceImpl extends BaseServiceImpl aftersalesReturnRecord) { + if(ObjectUtil.isNull(aftersalesReturnRecord)){ + aftersalesReturnRecord.forEach( i ->{ + //修改异常工单的状态 + AftersalesWorkOrderEntity workOrderEntity = new AftersalesWorkOrderVO(); + workOrderEntity.setId(i.getWorkOrderId()); + workOrderEntity.setWorkOrderStatus(WorkOrderStatusConstant.daichuli.getValue()); + aftersalesWorkOrderService.updateById(workOrderEntity); + //添加 + baseMapper.insert(i); + }); + return true; + } + return false; + } + } diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java index 49ed04770..14e561878 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java @@ -31,14 +31,11 @@ import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springblade.common.constant.DictBizConstant; import org.springblade.common.constant.aftersales.WorkOrderStatusConstant; import org.springblade.core.log.exception.ServiceException; -import org.springblade.core.mp.base.BaseEntity; import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.BeanUtil; -import org.springblade.system.cache.DictBizCache; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -49,7 +46,6 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; -import java.util.logging.SimpleFormatter; /** * 客服异常工单 服务实现类 @@ -228,17 +224,22 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl aftersalesWorkOrder) { + if(ObjectUtil.isNull(aftersalesWorkOrder)){ + return false; } - //添加赔付方信息 - completionRecordService.saveBatch(aftersalesWorkOrder.getCompletionRecordEntities()); + aftersalesWorkOrder.forEach(v ->{ + if(ObjectUtils.isNull(v.getCompletionRecordEntities()) ){ + throw new ServiceException("赔款方数据不能为空"); + } + //添加赔付方信息 + completionRecordService.saveBatch(v.getCompletionRecordEntities()); - //添加受款方信息,可以为空 - if(ObjectUtils.isNull(aftersalesWorkOrder.getCompletionRecipientEntities())){ - completionRecipientService.saveBatch(aftersalesWorkOrder.getCompletionRecipientEntities()); - } + //添加受款方信息,可以为空 + if(ObjectUtils.isNull(v.getCompletionRecipientEntities())){ + completionRecipientService.saveBatch(v.getCompletionRecipientEntities()); + } + }); return true; } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java index 654606830..07e58819a 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java @@ -64,6 +64,7 @@ import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; import java.util.*; +import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; @@ -687,17 +688,30 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailList = baseMapper.selectTaskInfo(questNum, questDetailer); // 在库包件状态修改 if(ObjectUtils.isNotNull(taskSearchDTO.getQuestDetailIds()) && ObjectUtils.isNotNull(taskSearchDTO.getQuestDetailIds().get(0)) ){ List list = new ArrayList<>(); + AtomicBoolean s = new AtomicBoolean(false); taskSearchDTO.getQuestDetailIds().stream().forEach( i ->{ + //查询当前包件盘点状态 + boolean b = questDetailList.stream().anyMatch(q -> q.getId().equals(i) && q.getQuestStatus().equals(1)); + if(b){ + s.set(true); + } QuestDetailEntity questDetail = new QuestDetailEntity(); - questDetail.setUpdateUser(user.getUserId()); - questDetail.setUpdateTime(new Date()); questDetail.setId(Long.valueOf(i)); questDetail.setQuestStatus(1); + questDetail.setUpdateUser(user.getUserId()); + questDetail.setUpdateTime(new Date()); +// questDetail.setId(Long.valueOf(i)); +// questDetail.setQuestStatus(1); list.add(questDetail); }); + if(s.get()){ + return Resp.scanFail("包含已盘点的数据!请勿重复提交!","包含已盘点的数据!请勿重复提交!"); + } baseMapper.updatePositionCodeList(questNum,list); } //处理盘点的包件 @@ -1159,11 +1173,11 @@ public class TaskQuestServiceImpl extends BaseServiceImpl exportGetContrastInfo(QuestDetailDTO questDetailDTO) { List list = new ArrayList<>(); - List questDetailChildEntities = selectQuestChildInfo(questDetailDTO); - if(ObjectUtils.isNull(questDetailChildEntities)) { + List contrastInfo = getContrastInfo(questDetailDTO, null); + if(ObjectUtils.isNull(contrastInfo)) { return list; } - questDetailChildEntities.forEach( i -> { + contrastInfo.forEach( i -> { QuestContrastExcel questContrastExcel = new QuestContrastExcel(); BeanUtil.copyProperties(i,questContrastExcel); list.add(questContrastExcel); @@ -1523,10 +1537,9 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailEntity = baseMapper.selectQuestDetailList(taskSearchDTO.getQuestNum(), questDetail); + if(ObjectUtils.isNull(questDetailEntity) ||questDetailEntity.isEmpty()){ + return R.fail(5000,"包件信息不存在!!"); + } + for (QuestDetailEntity i : questDetailEntity) { + if(i.getQuestStatus().equals(1)){ + return Resp.scanFail("当前包件已盘点!","当前包件已盘点!"); + } + } // if(Objects.isNull(questDetailEntity)){ // questDetailEntity = new QuestDetailEntity(); // questDetailEntity.setOrdePackageCode(orderPackageCode); From 8eafd0763bcc8a00c20bb41aae5f0e8b9b3833c5 Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" <123456> Date: Mon, 27 Nov 2023 15:21:20 +0800 Subject: [PATCH 11/12] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A4=87=E8=B4=A7?= =?UTF-8?q?=E8=83=BD=E6=89=AB=E7=A0=81=E9=9D=9E=E6=9C=AC=E6=89=B9=E6=AC=A1?= =?UTF-8?q?=E7=9A=84=E7=9A=84=E5=BA=93=E5=AD=98=E5=93=81--=20=E5=BE=85?= =?UTF-8?q?=E5=AE=8C=E6=88=901.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/bootstrap.yml | 3 + .../entity/DisStockOrdercodeRecoEntity.java | 4 + .../entity/DistributionParcelListEntity.java | 2 +- .../DistributionStockupStockListInfoVO.java | 2 +- .../vo/DistributionStockupStockListVO.java | 15 + .../entity/WarehouseUpdownGoodsEntity.java | 2 +- .../IWarehouseGoodsAllocationClient.java | 10 + .../feign/IWarehouseUpdownTypeClient.java | 4 + .../DistributionStockupAppController.java | 903 +++++++----- .../dto/app/StockConfigInfoVO.java | 24 + .../app/StockConfigOrderPackageListVO.java | 36 + .../distribution/dto/app/StockupDTO.java | 2 + .../mapper/DistributionReservationMapper.java | 1 + .../mapper/DistributionReservationMapper.xml | 59 + .../DistributionStockListInfoMapper.java | 2 + .../DistributionStockListInfoMapper.xml | 20 + .../mapper/DistributionStockListMapper.java | 2 + .../mapper/DistributionStockListMapper.xml | 17 + .../IDisStockOrdercodeRecoService.java | 3 + .../IDistributionStockListService.java | 7 + .../service/IDistributionStockupService.java | 17 + .../DisStockOrdercodeRecoServiceImpl.java | 19 + .../DistributionReservationServiceImpl.java | 2 +- .../DistributionStockArticleServiceImpl.java | 2 +- .../DistributionStockListServiceImpl.java | 12 + .../impl/DistributionStockupServiceImpl.java | 1209 ++++++++++------- .../feign/WarehouseGoodsAllocationClient.java | 14 + .../feign/WarehouseUpdownTypeClient.java | 14 + .../service/IWarehouseUpdownTypeService.java | 1 + .../impl/WarehouseUpdownTypeServiceImpl.java | 10 + 30 files changed, 1543 insertions(+), 875 deletions(-) create mode 100644 blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockConfigInfoVO.java create mode 100644 blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockConfigOrderPackageListVO.java diff --git a/blade-gateway/src/main/resources/bootstrap.yml b/blade-gateway/src/main/resources/bootstrap.yml index 90dc6404a..7dae160ba 100644 --- a/blade-gateway/src/main/resources/bootstrap.yml +++ b/blade-gateway/src/main/resources/bootstrap.yml @@ -1,5 +1,8 @@ server: port: 13000 + + + spring: cloud: gateway: diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DisStockOrdercodeRecoEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DisStockOrdercodeRecoEntity.java index c3be2925c..b6556d0ac 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DisStockOrdercodeRecoEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DisStockOrdercodeRecoEntity.java @@ -50,6 +50,10 @@ public class DisStockOrdercodeRecoEntity extends TenantEntity { */ @ApiModelProperty(value = "码值类型 1 库存品明细") private String codeType; + + + @ApiModelProperty(value = "库存品ID") + private Long stockListId; /** * 预留1 */ diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionParcelListEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionParcelListEntity.java index a1c46e492..0e2a5750b 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionParcelListEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionParcelListEntity.java @@ -78,7 +78,7 @@ public class DistributionParcelListEntity extends TenantEntity { @ApiModelProperty(value = "仓库ID") private Long warehouseId; /** - * 状态 + * 包件类型 1 定制品 2 库存品 3零担 */ @ApiModelProperty(value = "状态") private Integer conditions; diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupStockListInfoVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupStockListInfoVO.java index 07420b7f9..556a714ed 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupStockListInfoVO.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupStockListInfoVO.java @@ -11,7 +11,7 @@ public class DistributionStockupStockListInfoVO implements Serializable { private Long reservationId;//预约单id - private Long stockListId;//库存品id + private Long stockListId;//库存品id private String customer;//客户 private String deliveryAddress;//地址 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 3c08cc57e..a06fb4ee9 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 @@ -3,6 +3,8 @@ package com.logpm.distribution.vo; import lombok.Data; import java.io.Serializable; +import java.util.List; +import java.util.Map; @Data public class DistributionStockupStockListVO implements Serializable { @@ -22,6 +24,11 @@ public class DistributionStockupStockListVO implements Serializable { private Integer planNum;//计划数量 + /** + * 物品编码 + */ + private String cargoNumber; + private String cargoUnit;//单位 private Integer realNum;//实际数量 @@ -34,4 +41,12 @@ public class DistributionStockupStockListVO implements Serializable { private Integer unpack;//是否拆包 0 没有 1 拆了 private String sourceType;//是否拆包 1 订单 2导入 + // 货位ID 集合 + private String allocations; + + /** + * 货位信息集合 + */ + private List> allocationList; + } diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseUpdownGoodsEntity.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseUpdownGoodsEntity.java index f78242bb3..487e1ee08 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseUpdownGoodsEntity.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseUpdownGoodsEntity.java @@ -62,7 +62,7 @@ public class WarehouseUpdownGoodsEntity extends TenantEntity { @ApiModelProperty(name = "关联值",notes = "") private String associationValue ; /** 关联类型;1.订单号 2运单号 3包件码 */ - @ApiModelProperty(name = "关联类型",notes = "1.订单号 2运单号 3包件码") + @ApiModelProperty(name = "关联类型",notes = "1.订单号 2运单号 3包件码 4库存品") private String associationType ; /** 货物名称 */ @ApiModelProperty(name = "货物名称",notes = "") diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseGoodsAllocationClient.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseGoodsAllocationClient.java index 5b09bdacb..67d73ee3a 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseGoodsAllocationClient.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseGoodsAllocationClient.java @@ -23,6 +23,8 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; +import java.util.List; + /** * 货位 Feign接口类 * @@ -52,4 +54,12 @@ public interface IWarehouseGoodsAllocationClient { @GetMapping(TOP+ "/updateAllocationCache") Boolean updateAllocationCache(@RequestParam("ids") String ids); + + /** + * 跟新货位缓存 + */ + @GetMapping(TOP+ "/getAllocationInforByIds") + List getAllocationInforByIds(@RequestParam("ids") String [] ids); + + } diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownTypeClient.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownTypeClient.java index 36c28a26a..e512d6707 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownTypeClient.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownTypeClient.java @@ -65,4 +65,8 @@ public interface IWarehouseUpdownTypeClient { @GetMapping(TOP + "/upShelfPackage") boolean upShelfPackage(@RequestParam String orderPackageCode, @RequestParam Long locationId, @RequestParam Long warehouseId); + @GetMapping(TOP + "/findUpdownTypeInforByAllocationId") + R findUpdownTypeInforByAllocationId(@RequestParam Long allocationId, @RequestParam Long warehouseId); + @GetMapping(TOP + "/findAllGoodsByAllocationId") + R findAllGoodsByAllocationId(@RequestParam Long allocationId, @RequestParam Long warehouseId); } 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 358a495dc..170e8da94 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 @@ -18,6 +18,7 @@ package com.logpm.distribution.appcontroller; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -28,9 +29,12 @@ import com.logpm.basicdata.feign.IBasicdataTrayClient; import com.logpm.distribution.bean.Resp; import com.logpm.distribution.config.RedissonConfig; +import com.logpm.distribution.dto.app.StockConfigInfoVO; +import com.logpm.distribution.dto.app.StockConfigOrderPackageListVO; import com.logpm.distribution.dto.app.StockupDTO; import com.logpm.distribution.dto.app.StockupZeroDTO; import com.logpm.distribution.entity.*; +import com.logpm.distribution.mapper.DistributionReservationStocklistMapper; import com.logpm.distribution.service.*; import com.logpm.distribution.vo.*; import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity; @@ -39,10 +43,13 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.log4j.Log4j2; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.redisson.api.RLock; import org.springblade.common.constant.DictBizConstant; import org.springblade.common.constant.RabbitConstant; import org.springblade.common.constant.pda.PdaAudioLingoStatus; +import org.springblade.common.constant.reservation.ReservationOrderStatusConstant; import org.springblade.common.constant.stockup.StockupStatusConstant; import org.springblade.common.constant.stockup.StockupTypeStatusConstant; import org.springblade.common.utils.CommonUtil; @@ -51,9 +58,11 @@ import org.springblade.core.log.exception.ServiceException; import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; 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.jdbc.datasource.DataSourceTransactionManager; import org.springframework.transaction.TransactionDefinition; import org.springframework.web.bind.annotation.*; @@ -97,11 +106,16 @@ public class DistributionStockupAppController extends BladeController { private final RabbitTemplate rabbitTemplate; private final BladeRedis bladeRedis; - private final IDistributionStockListService iDistributionStockListService; private final DataSourceTransactionManager dataSourceTransactionManager; private final TransactionDefinition transactionDefinition; + private final IDistributionStockListService distributionStockListService; + + + private final IDisStockOrdercodeRecoService disStockOrdercodeRecoService; + + /** * 备货信息表 任务客户 分页列表 */ @@ -123,7 +137,7 @@ public class DistributionStockupAppController extends BladeController { } if (Objects.isNull(status)) { log.info("#################pageList: 查询状态不能为空"); - return R.fail(401,"查询状态不能为空"); + return R.fail(401, "查询状态不能为空"); } IPage pages = distributionStockupService.selectStockupPage(stockupDTO); @@ -209,25 +223,25 @@ public class DistributionStockupAppController extends BladeController { //自提 if (orderStatus.equals(1)) { //查询备货区信息 - DistributionStockupSelfVO distributionStockupSelfVO = distributionStockupService.selectStockupDetails(reservationId,stockupDTO.getIsZero()); + DistributionStockupSelfVO distributionStockupSelfVO = distributionStockupService.selectStockupDetails(reservationId, stockupDTO.getIsZero()); map = convertObjectToMap(distributionStockupSelfVO); //客户订单 List list = distributionStockupService.selectStockupOrderList(stockupDTO); - if(!list.isEmpty()){ + if (!list.isEmpty()) { List collect = list.stream().filter(i -> { // if (ObjectUtils.isNotNull(i.getTrayId()) && !i.getPallet().contains(",") && !i.isCompleteStact() && ObjectUtils.isNotNull( i.getAllocationId()) ) { if (ObjectUtils.isNotNull(i.getTrayId()) && !i.isCompleteStact()) { List trayEntityList = basicdataTrayClient.getTrayEntityList(i.getTrayId()); - if(ObjectUtils.isNotNull(trayEntityList) && ObjectUtils.isNotNull( trayEntityList.get(0))){ + if (ObjectUtils.isNotNull(trayEntityList) && ObjectUtils.isNotNull(trayEntityList.get(0))) { i.setTrayLeanName(trayEntityList.stream().map(BasicdataTrayEntity::getPalletName).collect(Collectors.joining(","))); } - i.setTrayLean(distributionStockupService.getTrayBoot(i,stockupDTO.getTypeService())); + i.setTrayLean(distributionStockupService.getTrayBoot(i, stockupDTO.getTypeService())); } return true; }).collect(Collectors.toList()); - if(collect.isEmpty()){ - map.put("planNum",0); - map.put("scanNum",0); + if (collect.isEmpty()) { + map.put("planNum", 0); + map.put("scanNum", 0); } map.put("orderList", collect); } @@ -250,10 +264,12 @@ public class DistributionStockupAppController extends BladeController { if (orderStatus.equals(1)) { //查询客户订单对应的 List list = distributionStockupService.selectStockupOrderList(stockupDTO); + + //根据list列表统计计划件数 Integer planNum = 0; Integer scanNum = 0; - if(!list.isEmpty()){ + if (!list.isEmpty()) { for (DistributionStockupOrderListVO vo : list) { planNum = planNum + vo.getPlanNum(); scanNum = scanNum + vo.getScanNum(); @@ -261,13 +277,13 @@ public class DistributionStockupAppController extends BladeController { // Boolean aBoolean = distributionReservationPackageService.selectClientStockupState(reservationId, vo.getStockArticleId()); // vo.setTrayLean(aBoolean); // if (ObjectUtils.isNotNull(vo.getTrayId()) && !vo.getPallet().contains(",") && !vo.isCompleteStact() && ObjectUtils.isNotNull( vo.getAllocationId()) ) { - if (ObjectUtils.isNotNull(vo.getTrayId()) && !vo.isCompleteStact() ) { + if (ObjectUtils.isNotNull(vo.getTrayId()) && !vo.isCompleteStact()) { List trayEntityList = basicdataTrayClient.getTrayEntityList(vo.getTrayId()); - if(ObjectUtils.isNotNull(trayEntityList) && ObjectUtils.isNotNull( trayEntityList.get(0))){ + if (ObjectUtils.isNotNull(trayEntityList) && ObjectUtils.isNotNull(trayEntityList.get(0))) { vo.setTrayLeanName(trayEntityList.stream().map(BasicdataTrayEntity::getPalletName).collect(Collectors.joining(","))); } //有没有可用整托配货的数据 - vo.setTrayLean(distributionStockupService.getTrayBoot(vo,stockupDTO.getTypeService())); + vo.setTrayLean(distributionStockupService.getTrayBoot(vo, stockupDTO.getTypeService())); } } } @@ -275,6 +291,8 @@ public class DistributionStockupAppController extends BladeController { map.put("scanNum", scanNum); map.put("orderList", list); } else if (orderStatus.equals(2)) { + + //查询客户订单对应的库存品 List list = distributionStockupService.selectStockupStockList(stockupDTO); //根据list列表统计计划件数 @@ -283,8 +301,9 @@ public class DistributionStockupAppController extends BladeController { for (DistributionStockupStockListVO vo : list) { planNum = planNum + vo.getPlanNum(); scanNum = scanNum + vo.getRealNum(); - Boolean aBoolean = distributionStockupService.getClientStockupTray(reservationId, vo.getAllocationId()); - vo.setTrayLean(aBoolean); + // 库存品 没有整托备货的概念 +// Boolean aBoolean = distributionStockupService.getClientStockupTray(reservationId, vo.getAllocationId()); +// vo.setTrayLean(aBoolean); } map.put("planNum", planNum); map.put("scanNum", scanNum); @@ -298,6 +317,21 @@ public class DistributionStockupAppController extends BladeController { } + @ResponseBody + @PostMapping("/stockConfigList") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "配置包条码", notes = "传入stockupDTO") + public R stockConfigList(@RequestBody StockupDTO stockupDTO) { + + + StockConfigInfoVO stockConfigOrderPackageListVOS = distributionStockupService.stockConfigList(stockupDTO); + + return R.data(stockConfigOrderPackageListVOS); + + + } + + @ResponseBody @PostMapping("/orderInfo") @ApiOperationSupport(order = 1) @@ -333,8 +367,8 @@ public class DistributionStockupAppController extends BladeController { log.warn("##############orderInfo: 订单Id为空 pallet={}", stockArticleId); return R.fail(3002, "订单Id为空"); } - if(byId.getTypeService().equals("3")){ - //自 + if (byId.getTypeService().equals("3")) { + //自 DistributionStockupOrderInfoVO infoVO = distributionStockupService.selectOrderInfoSelf(stockupDTO); return R.data(infoVO); } else { @@ -361,10 +395,11 @@ public class DistributionStockupAppController extends BladeController { //查询自提还是商 市 if (byId.getTypeService().equals("3")) { //自 - DistributionStockupStockListInfoVO infoVO = distributionStockupService.selectStockListInfoSelf(reservationId, stockListId,allocationId); + DistributionStockupStockListInfoVO infoVO = distributionStockupService.selectStockListInfoSelf(reservationId, stockListId, allocationId); return R.data(infoVO); } else { - DistributionStockupStockListInfoVO infoVO = distributionStockupService.selectStockListInfo(reservationId, stockListId,allocationId); + DistributionStockupStockListInfoVO infoVO = distributionStockupService.selectStockListInfo(reservationId, stockListId, allocationId); +// DistributionStockupStockListInfoVO infoVO = distributionStockupService.selectStockListInfoByCargoNumber(reservationId, stockupDTO.getCargoNumber(), allocationId); return R.data(infoVO); } @@ -381,17 +416,22 @@ public class DistributionStockupAppController extends BladeController { @ApiOperation(value = "备货库存品生成包件码", notes = "传入stockupDTO") public R stockupStockListPackageCode(@RequestBody StockupDTO stockupDTO) { Long reservationId = stockupDTO.getReservationId();//预约单id - Long stockListId = stockupDTO.getStockListId();//库存品id + + + // 根据当前库位获取最早入库的入库批次 + Long stockListId = distributionStockupService.selectStockListInfoByCargoNumber(stockupDTO.getReservationId(), stockupDTO.getCargoNumber(), stockupDTO.getAllocationId()); + log.warn("##############stockupStockListPackageCode: 库存品id为空 stockListId={}", stockListId); + if (Objects.isNull(stockListId)) { + return R.fail("当前库位没有无数据的库存品"); + } + Integer packageNum = stockupDTO.getPackageNum();//包条数量 //查询客户订单详情 log.warn("##############stockupStockListPackageCode: 预约单id为空 reservationId={}", reservationId); if (Objects.isNull(reservationId)) { return R.fail("预约单id不能为空"); } - log.warn("##############stockupStockListPackageCode: 库存品id为空 stockListId={}", stockListId); - if (Objects.isNull(stockListId)) { - return R.fail("库存品id不能为空"); - } + log.warn("##############stockupStockListPackageCode: 包条数量为空 packageNum={}", packageNum); if (Objects.isNull(packageNum)) { return R.fail("包条数量不能为空"); @@ -400,10 +440,11 @@ public class DistributionStockupAppController extends BladeController { return R.data(list); } + @PostMapping("/scanningCode") @ApiOperation(value = "整托备货") public R scanningCodelist(@RequestBody StockupDTO stockupDTO) { - log.debug("=====整托数据:{}",stockupDTO); + log.debug("=====整托数据:{}", stockupDTO); if (ObjectUtils.isNull(stockupDTO.getStockupId())) { return R.fail(3002, "备货id不能为空"); } @@ -420,7 +461,7 @@ public class DistributionStockupAppController extends BladeController { @PostMapping("/zeroStockUp") @ApiOperation(value = "零担备货") public R zeroStockUp(@RequestBody StockupZeroDTO stockupDTO) { - log.debug("=====零担备货:{}",stockupDTO); + log.debug("=====零担备货:{}", stockupDTO); if (ObjectUtils.isNull(stockupDTO.getStockupId())) { return R.fail(3002, "备货id不能为空 !"); } @@ -447,7 +488,7 @@ public class DistributionStockupAppController extends BladeController { @PostMapping("/zeroStockUpData") @ApiOperation(value = "零担备货数据查询") public R zeroStockUpData(@RequestBody StockupZeroDTO stockupDTO) { - log.debug("=====零担备货:{}",stockupDTO); + log.debug("=====零担备货:{}", stockupDTO); if (ObjectUtils.isNull(stockupDTO.getStockupId())) { return R.fail(3002, "备货id不能为空 !"); } @@ -471,52 +512,52 @@ public class DistributionStockupAppController extends BladeController { @ApiOperation(value = "库存品选择货位展示") public R> locationSelection(@RequestBody StockupDTO stockupDTO) { if (ObjectUtils.isNull(stockupDTO.getDeliveryDetailsId())) { - log.warn("############备货库存品ID为空:{}",stockupDTO.getDeliveryDetailsId()); + log.warn("############备货库存品ID为空:{}", stockupDTO.getDeliveryDetailsId()); return R.fail(3002, "备货库存品ID不能为空"); } //查询库存品信息 DistributionReservationStocklistEntity byId = distributionReservationStocklistService.getById(stockupDTO.getDeliveryDetailsId()); - if(ObjectUtils.isNotNull(byId)){ - DistributionStockListEntity byId1 = iDistributionStockListService.getById(byId.getStocklistId()); - if(byId1.getSourceType().equals("2")){ + if (ObjectUtils.isNotNull(byId)) { + DistributionStockListEntity byId1 = distributionStockListService.getById(byId.getStocklistId()); + if (byId1.getSourceType().equals("2")) { //导入 - List list = distributionStockupService.getLocationSelection(stockupDTO); //自提 - if(!list.isEmpty() && ObjectUtils.isNotNull(list.get(0))){ + List list = distributionStockupService.getLocationSelection(stockupDTO); //自提 + if (!list.isEmpty() && ObjectUtils.isNotNull(list.get(0))) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - list.stream().forEach( i ->{ - if(ObjectUtils.isNotNull(i.getCreateTime())){ + list.stream().forEach(i -> { + if (ObjectUtils.isNotNull(i.getCreateTime())) { i.setWarehousingTime(format.format(i.getCreateTime())); } }); return R.data(list); } - List listMarket = distributionStockupService.getLocationMarketSelection(stockupDTO); //商配 - if(!listMarket.isEmpty() && ObjectUtils.isNotNull(listMarket.get(0))){ + List listMarket = distributionStockupService.getLocationMarketSelection(stockupDTO); //商配 + if (!listMarket.isEmpty() && ObjectUtils.isNotNull(listMarket.get(0))) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - list.stream().forEach( i ->{ - if(ObjectUtils.isNotNull(i.getCreateTime())){ + list.stream().forEach(i -> { + if (ObjectUtils.isNotNull(i.getCreateTime())) { i.setWarehousingTime(format.format(i.getCreateTime())); } }); return R.data(listMarket); } - }else{ + } else { //订单 - List list = distributionStockupService.getLocationSelectionOrder(stockupDTO); //自提 - if(!list.isEmpty() && ObjectUtils.isNotNull(list.get(0))){ + List list = distributionStockupService.getLocationSelectionOrder(stockupDTO); //自提 + if (!list.isEmpty() && ObjectUtils.isNotNull(list.get(0))) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - list.stream().forEach( i ->{ - if(ObjectUtils.isNotNull(i.getCreateTime())){ + list.stream().forEach(i -> { + if (ObjectUtils.isNotNull(i.getCreateTime())) { i.setWarehousingTime(format.format(i.getCreateTime())); } }); return R.data(list); } - List listMarket = distributionStockupService.getLocationMarketSelectionOrder(stockupDTO); //商配 - if(!listMarket.isEmpty() && ObjectUtils.isNotNull(listMarket.get(0))){ + List listMarket = distributionStockupService.getLocationMarketSelectionOrder(stockupDTO); //商配 + if (!listMarket.isEmpty() && ObjectUtils.isNotNull(listMarket.get(0))) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - list.stream().forEach( i ->{ - if(ObjectUtils.isNotNull(i.getCreateTime())){ + list.stream().forEach(i -> { + if (ObjectUtils.isNotNull(i.getCreateTime())) { i.setWarehousingTime(format.format(i.getCreateTime())); } }); @@ -527,11 +568,10 @@ public class DistributionStockupAppController extends BladeController { } - return Resp.scanFail("当前待备货的库存品未上架,请上架后在继续备货操作!!!","当前待备货的库存品未上架,请上架后在继续备货操作!!!"); + return Resp.scanFail("当前待备货的库存品未上架,请上架后在继续备货操作!!!", "当前待备货的库存品未上架,请上架后在继续备货操作!!!"); } - @PutMapping("/updateStockArea") @ApiOperation(value = "修改备货区") public R updateStockArea(@RequestBody StockupDTO stockupDTO) { @@ -539,17 +579,17 @@ public class DistributionStockupAppController extends BladeController { return R.fail(3002, "备货任务id不能为空"); } - if(ObjectUtils.isNull(stockupDTO.getType())){ - return R.fail(3002,"类型区分不能为空!"); + if (ObjectUtils.isNull(stockupDTO.getType())) { + return R.fail(3002, "类型区分不能为空!"); } - if(stockupDTO.getType().equals(StockupTypeStatusConstant.saomiao.getValue())){ + if (stockupDTO.getType().equals(StockupTypeStatusConstant.saomiao.getValue())) { //扫描 - if(ObjectUtils.isNull(stockupDTO.getStockupAreaCode())){ - return R.fail(3002,"备货区编码不能为空!"); + if (ObjectUtils.isNull(stockupDTO.getStockupAreaCode())) { + return R.fail(3002, "备货区编码不能为空!"); } return distributionStockupService.updeteStockupArea(stockupDTO); - }else if(stockupDTO.getType().equals(StockupTypeStatusConstant.xuanze.getValue())){ + } else if (stockupDTO.getType().equals(StockupTypeStatusConstant.xuanze.getValue())) { DistributionStockupEntity distributionStockupEntity = new DistributionStockupEntity(); //手动选择 if (ObjectUtils.isNull(stockupDTO.getStockupAreaId())) { @@ -567,7 +607,6 @@ public class DistributionStockupAppController extends BladeController { } - @PostMapping("/getStockupArea") @ApiOperation(value = "查询可修改备货区") public R getGoodsArea(@RequestBody StockupDTO stockupDTO) { @@ -586,6 +625,123 @@ public class DistributionStockupAppController extends BladeController { } + @ResponseBody + @PostMapping("/stockupScanCheck") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "备货扫描检查", notes = "传入stockupDTO") + public R stockupScanCheck(@RequestBody StockupDTO stockupDTO) { + Integer scanType = stockupDTO.getScanType();//扫码类型 + + if (scanType == 2) { + //库存品扫描 + Long stockListId = stockupDTO.getStockListId(); + String packetBarCode = stockupDTO.getPacketBarCode(); + String orderCode = stockupDTO.getOrderCode();//订单自编号 + Long stockupId = stockupDTO.getStockupId();//备货任务ID + Long reservationId = stockupDTO.getReservationId();//预约单id + + + //判断是否可以继续备货 + DistributionStockListEntity distributionStockListEntities = distributionStockupService.selectStockListInfoByCargoNumberList(stockupDTO.getReservationId(), stockupDTO.getCargoNumber(), stockupDTO.getAllocationId(), stockupDTO.getPacketBarCode()); + + + if (ObjectUtils.isNull(distributionStockListEntities)) { + return R.data(60003, "", "该包件还不是库存品!"); + } + + // 通过当前预约单和货物定位当前计划的库存品批次 + List planDistributionStockListEntities = getPlanDistributionStockListEntities(stockupDTO); + + + //是否更新计划 + boolean isUpdate = false; + Long updateStockListId = null; + + // 验证当前货位的货位和计划批次是否相同 + + for (DistributionStockListEntity planDistributionStockListEntity : planDistributionStockListEntities) { + if (planDistributionStockListEntity.getSourceType().equals("2")) { + if (planDistributionStockListEntity.getOrderCode().equals(distributionStockListEntities.getIncomingBatch())) { + isUpdate = true; + updateStockListId = distributionStockListEntities.getId(); + break; + } + } + } + if (isUpdate) { + return R.data(60002, updateStockListId, "当前包件批次号与入库批次号不符,是否确认修改计划批次"); + } + + } + return R.data(200, "", "扫描成功!"); + + } + + /** + * 获取计划中库存品 + * @param stockupDTO + * @return + */ + private List getPlanDistributionStockListEntities(StockupDTO stockupDTO) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper(); + lambdaQueryWrapper.eq(DistributionReservationStocklistEntity::getReservationId, stockupDTO.getReservationId()); + lambdaQueryWrapper.eq(DistributionReservationStocklistEntity::getStockListStatus, 1); + List list1 = distributionReservationStocklistService.list(lambdaQueryWrapper); + + // 通过计划的上的库存品id 查询库存品信息 + List collect = list1.stream().map(DistributionReservationStocklistEntity::getStocklistId).collect(Collectors.toList()); + List planDistributionStockListEntities = distributionStockListService.listByIds(collect); + + + return planDistributionStockListEntities; + } + + + + //todo 这里代码没有写完 等TJJ 和CYZ 空了来写 + + // 修改预约备货信息 需要传入修改的包条 + public R updateStockup(@RequestBody StockupDTO stockupDTO) { + + // 增加实际扫描的包件对应的库存品信息 增加在预约库存品中间表上 + DistributionReservationStocklistEntity reservationStocklistEntity = new DistributionReservationStocklistEntity(); + reservationStocklistEntity.setReservationId(stockupDTO.getReservationId()); + reservationStocklistEntity.setReservationNum(0); + reservationStocklistEntity.setLoadingStatus("10"); + reservationStocklistEntity.setSigningStatus("10"); + reservationStocklistEntity.setStockListStatus("3"); + DistributionStockListEntity stockListEntity = distributionStockListService.getById(stockupDTO.getStockListId()); + if(ObjectUtils.isNotNull(stockListEntity)){ + reservationStocklistEntity.setStocklistId(stockListEntity.getId()); + reservationStocklistEntity.setUnit(stockListEntity.getCargoUnit()); + reservationStocklistEntity.setRealityNum(0); + } + + // 这里需要对原来的预约库存信息进行取消 + distributionReservationStocklistService.save(reservationStocklistEntity); + // 默认 计划数量和实际数量为0 + + + return R.fail("操作成功"); + + + //查询出原来的库存品信息 +// DistributionReservationStocklistEntity reservationStocklist = distributionReservationStocklistService.getOne(Wrappers.query().lambda() +// .eq(DistributionReservationStocklistEntity::getReservationId, stockupDTO.getReservationId()) +// .eq(DistributionReservationStocklistEntity::getStocklistId, stockupDTO.getStockListId()) +// .ne(DistributionReservationStocklistEntity::getStockListStatus, ReservationOrderStatusConstant.quxiao.getValue()) +// ); + + + // 再次执行扫描 读取这预约计划下面正常的库存品信息 扣减数量 对新增的预约库存品信息进行增加预约数量和实际数量 + + + // 修改logpm_dis_stock_list_detail 这张表上的库存品ID和包件ID + + + } + + @ResponseBody @PostMapping("/stockupScan") @ApiOperationSupport(order = 1) @@ -596,111 +752,227 @@ public class DistributionStockupAppController extends BladeController { // TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition); // try{ //设置lockey - String lockKey = stockupDTO.getPacketBarCode()+stockupDTO.getStockupId(); + String lockKey = stockupDTO.getPacketBarCode() + stockupDTO.getStockupId(); RLock lock = new RedissonConfig().redisson().getLock(lockKey); - if(lock.isLocked()){ + if (lock.isLocked()) { String audioValue2 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.chongfusaomiao.getValue()); return Resp.scanFail(PdaAudioLingoStatus.chongfusaomiao.getName(), audioValue2); } lock.lock(5, TimeUnit.SECONDS); - if (scanType == 1) { - //包件扫描 - String orderCode = stockupDTO.getOrderCode();//订单自编号 - String packetBarCode = stockupDTO.getPacketBarCode();//包件码 - Long stockupId = stockupDTO.getStockupId();//备货任务ID - Long reservationId = stockupDTO.getReservationId();//预约单id - if (StringUtil.isBlank(orderCode)) { - log.warn("##################stockupScan: 包件扫码,订单自编号为空"); - return R.fail("包件扫码:订单自编号不能为空"); - } - if (StringUtil.isBlank(packetBarCode)) { - log.warn("##################stockupScan: 包件扫码,包件码为空"); - return R.fail("包件扫码:包件码不能为空"); - } - if (ObjectUtils.isNull(stockupId)) { - log.warn("##################stockupId: 包件扫码,备货区为空"); - return R.fail("包件扫码:备货任务ID不能为空"); - } - if (Objects.isNull(reservationId)) { - log.warn("##################stockupScan: 包件扫码,预约单id为空"); - return R.fail("包件扫码:预约单id不能为空"); - } + if (scanType == 1) { + return stockupScanByCustom(stockupDTO); + + } else if (scanType == 2) { + R fail = stockupScanByStock(stockupDTO); + if (fail != null) return fail; + + } + log.warn("###################stockupScan: 未知的扫码类型 scanType={}", scanType); + return R.fail("未知的扫码类型"); + + + } + + /** + * 库存品扫码 + * + * @param stockupDTO + * @return + */ + @Nullable + private R stockupScanByStock(StockupDTO stockupDTO) { + //库存品扫描 + Long reservationId = stockupDTO.getReservationId(); + Long stockListId = stockupDTO.getStockListId(); + String packetBarCode = stockupDTO.getPacketBarCode(); +// String stockupArea = stockupDTO.getStockupArea();//备货区 + Long stockupId = stockupDTO.getStockupId();//备货区 + Long allocationId = stockupDTO.getAllocationId();//备货区 + Integer stockPrint = stockupDTO.getStockPrint(); // 库存 + + if (StringUtil.isBlank(packetBarCode)) { + log.warn("##################stockupScan: 库存品扫码,包件码为空"); + return R.fail("库存品扫码:包件码不能为空"); + } + if (ObjectUtils.isNull(stockupId)) { + log.warn("##################stockupScan: 库存品扫码,备货区为空"); + return R.fail("库存品扫码:备货任务ID不能为空"); + } +// if (Objects.isNull(stockListId)) { +// log.warn("##################stockupScan: 库存品扫码,库存品id为空"); +// return R.fail("库存品扫码:库存品id不能为空"); +// } + if (Objects.isNull(reservationId)) { + log.warn("##################stockupScan: 库存品扫码,预约单id为空"); + return R.fail("库存品扫码:预约单id不能为空"); + } + if (Objects.isNull(stockPrint)) { + log.warn("##################stockupScan: 库存品扫码,类型为空"); + return R.fail("库存品扫码:类型不能为空"); + } + if (Objects.isNull(allocationId)) { + log.warn("##################allocationId: 货位ID为空!"); + return R.fail("货位ID不能为空"); + } + //判断是否可以继续备货 + DistributionStockListEntity byId = null; + if (ObjectUtils.isNull(stockListId)) { + // 通过扫码的二维码 查询其对应的库存存信息 + if (stockupDTO.getStockPrint() == 1) { + byId = distributionStockListService.selectStockInforByOrderPackageCode(stockupDTO.getPacketBarCode()); + } else { + byId = disStockOrdercodeRecoService.selectStockOrdercodeRecoListByCode(stockupDTO.getPacketBarCode()); + } + stockupDTO.setStockListId(byId.getId()); + + } else { + byId = distributionStockListService.getById(stockListId); + } + + List locationInformation; + if (byId.getSourceType().equals("2")) { + //导入 + WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity = new WarehouseUpdownGoodsEntity(); + warehouseUpdownGoodsEntity.setAllocationId(stockupDTO.getAllocationId()); + warehouseUpdownGoodsEntity.setIncomingBatch(byId.getIncomingBatch()); + warehouseUpdownGoodsEntity.setMarketId(byId.getMarketId()); + warehouseUpdownGoodsEntity.setAssociationId(byId.getMaterialId()); + warehouseUpdownGoodsEntity.setAssociationType("4"); + warehouseUpdownGoodsEntity.setWarehouseId(byId.getWarehouseId()); + locationInformation = warehouseUpdownGoodsClient.getLocationStockListInformation(warehouseUpdownGoodsEntity); + if (locationInformation.isEmpty()) { + return Resp.scanFail("当前货位的库存品已为零,请更换货位继续!!", "当前货位的库存品已为零,请更换货位继续!!"); + } + } else { + + // 读取码表上的配置项 是否开启验证批次号 + String isCheckIncomingBatch = DictBizCache.getValue("isCheckIncomingBatch", "isCheckIncomingBatch"); + + List list = distributionParcelListService.list(Wrappers.query().lambda() + .eq(DistributionParcelListEntity::getOrderPackageCode, packetBarCode) + .eq(DistributionParcelListEntity::getOrderCode, byId.getIncomingBatch()) + .eq(DistributionParcelListEntity::getWarehouseId, byId.getWarehouseId()) + ); + + //查询包件信息 + if (ObjectUtils.isNotNull(list) && list.size() > 1) { + return Resp.scanFail("查询到重复包条信息!!", "查询到重复包条信息!!"); + } + if (ObjectUtils.isNull(list)) { + return Resp.scanFail("没有查询到包件信息 ! ", "没有查询到包件信息 ! "); + } + + log.info(">>>>> obj {}", list.get(0).getConditions()); + DistributionParcelListEntity distributionParcelListEntity = list.get(0); + + + if (2 != distributionParcelListEntity.getConditions()) { + return Resp.scanFail("当前包件不是库存品,无法备货!!", "当前包件不是库存品,无法备货!!"); + } + + WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity = new WarehouseUpdownGoodsEntity(); + warehouseUpdownGoodsEntity.setAllocationId(stockupDTO.getAllocationId()); + warehouseUpdownGoodsEntity.setAssociationId(list.get(0).getId()); + warehouseUpdownGoodsEntity.setAssociationType("3"); + warehouseUpdownGoodsEntity.setWarehouseId(byId.getWarehouseId()); + locationInformation = warehouseUpdownGoodsClient.getLocationStockListInformation(warehouseUpdownGoodsEntity); + if (locationInformation.isEmpty()) { + return Resp.scanFail("当前货位没有该包件信息!!", "当前货位没有该包件信息!!"); + } + } + + Integer i = distributionStockupService.selectPackagePrint(stockupDTO); + switch (i) { + case 1: + //绑定 Integer integer = distributionStockupService.selectPackage(stockupDTO); switch (integer) { case 1: - DistributionStockupEntity distributionStockupEntity = distributionStockupService.getById(stockupDTO.getStockupId()); - //正常 + DistributionStockupEntity stockupEntity = distributionStockupService.getById(stockupDTO.getStockupId()); //先保存扫码包件信息,后续由队列来出来余下补充信息 DistributionStockEntity entity = new DistributionStockEntity(); - DistributionParcelListEntity one = distributionParcelListService.getOne(Wrappers.query().lambda() - .eq(DistributionParcelListEntity::getOrderPackageCode, stockupDTO.getPacketBarCode()) - ); - entity.setOrderSelfNumbering(one.getOrderCode()); - entity.setStockArticle(one.getStockArticleId()); entity.setCoding(packetBarCode); -// entity.setStockupArea(stockupArea); + DistributionStockupEntity byId1 = distributionStockupService.getById(stockupId); + entity.setStockupArea(byId1.getStockupArea()); entity.setStockupId(stockupId); - entity.setParcelListId(one.getId()); entity.setStockQuantity(1); - if (distributionStockupEntity.getTypeService().equals("3")) { + if (stockupEntity.getTypeService().equals("3")) { entity.setBillLadingId(reservationId); - DistributionStockupEntity byId = distributionStockupService.getById(stockupId); - entity.setStockupArea(byId.getStockupArea()); - - //修改包件备货状态 - one.setOrderPackageStockupStatus(StockupStatusConstant.yibeihuo.getValue()); - //todo 待下架操作 -// warehouseUpdownTypeClient.downPackage(stockupDTO.getPacketBarCode()); - distributionParcelListService.updateById(one); - }else{ + } else { entity.setReservationId(reservationId); } - if(ObjectUtils.isNotNull(stockupDTO.getAllocationId())){ -// warehouseUpdownGoodsClient.selectMsgBywrap(); - WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity = new WarehouseUpdownGoodsEntity(); - warehouseUpdownGoodsEntity.setAllocationId(stockupDTO.getAllocationId()); - warehouseUpdownGoodsEntity.setAssociationValue(stockupDTO.getPacketBarCode()); - warehouseUpdownGoodsEntity.setWarehouseId(distributionStockupEntity.getWarehouseId()); - WarehouseUpdownGoodsEntity locationInformation = warehouseUpdownGoodsClient.getLocationInformation(warehouseUpdownGoodsEntity); - entity.setAllocationTitle(locationInformation.getPositionCode()); - entity.setAllocationId(stockupDTO.getAllocationId()); + entity.setReservationId(reservationId); + entity.setStockListId(stockupDTO.getStockListId()); + //添加物料信息 +// 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); + if (!locationInformation.isEmpty()) { + if (byId.getSourceType().equals("2")) { + //导入下架 + entity.setAllocationTitle(locationInformation.get(0).getPositionCode()); + entity.setAllocationId(stockupDTO.getAllocationId()); + //todo 待下架操作 + JSONObject jsonObject = new JSONObject(); + jsonObject.put("marketId", byId.getMarketId()); + jsonObject.put("materialCode", byId.getCargoNumber()); + jsonObject.put("warehouseId", byId.getWarehouseId()); + jsonObject.put("incomingBatch", byId.getIncomingBatch()); + jsonObject.put("enterNum", 1); + jsonObject.put("allocationId", stockupDTO.getAllocationId()); + List list = new ArrayList<>(); + list.add(jsonObject); + R r = warehouseUpdownTypeClient.downStock(list); + if (r.getCode() != 200) { + log.debug("##########" + r.getMsg()); + return Resp.scanFail("下架失败,请联系管理员!!", "下架失败,请联系管理员!!"); + } + } else { + R r = warehouseUpdownTypeClient.downPackage(packetBarCode, byId.getWarehouseId()); + if (r.getCode() != 200) { + log.debug("##########" + r.getMsg()); + return Resp.scanFail("下架失败,请联系管理员!!", "下架失败,请联系管理员!!"); + } + } + } else { + return Resp.scanFail("本货位的物料已为0,请更换货位继续!!", "本货位的物料已为0,请更换货位继续!!"); + } + } else { + return Resp.scanFail("物料信息查询失败,请联系管理员!!", "物料信息查询失败,请联系管理员!!"); } entity.setConditions("0"); entity.setType(2); - entity.setOutboundType(distributionStockupEntity.getTypeService()); + entity.setAllocationId(stockupDTO.getAllocationId()); distributionStockService.save(entity); - //修改订单备货状态 - distributionAsyncService.updateStockArticleStock(one.getStockArticleId()); -// dataSourceTransactionManager.commit(transactionStatus);//提交 +// dataSourceTransactionManager.commit(transactionStatus);//提交 Map map = new HashMap<>(); map.put("messageId", CommonUtil.getUUID()); - map.put("scanType", scanType); - map.put("stockupId", stockupDTO.getStockupId()); + map.put("scanType", stockupDTO.getScanType()); map.put("logId", entity.getId()); map.put("messageData", entity); map.put("createTime", new Date().getTime()); - //将消息携带绑定键值 - rabbitTemplate.convertAndSend(RabbitConstant.STOCKUP_SCAN_EXCHANGE, RabbitConstant.STOCKUP_SCAN_ROUTING, map); - //查询是否货位数据是否该下架 - Map mapState = new HashMap<>(); - mapState.put("messageId", CommonUtil.getUUID()); - mapState.put("scanType", scanType); - mapState.put("stockupId", stockupDTO.getStockupId()); - mapState.put("typeService", stockupDTO.getTypeService()); - mapState.put("reservationId", stockupDTO.getReservationId()); - mapState.put("logId", entity.getId()); - mapState.put("messageData", entity); - mapState.put("createTime", new Date().getTime()); - //将消息携带绑定键值 - rabbitTemplate.convertAndSend(RabbitConstant.STOCKUP_STATE_UPDATE_EXCHANGE, RabbitConstant.STOCKUP_STATE_UPDATE_ROUTING, mapState); + // 完成对扫描库存品信息的数量维护 + + // 根据当前扫码对象查询得到当前的扫码对象的库存品信息 + + + //将消息携带绑定键值 + rabbitTemplate.convertAndSend(RabbitConstant.STOCKUP_SCAN_EXCHANGE, RabbitConstant.STOCKUP_SCAN_ROUTING, map); String audioValue = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.saomiaochenggong.getValue()); - //查询是否货位数据是否该下架 -// distributionAsyncService.stockupSelfOffShelf(stockupDTO); + + //扫码成功 return Resp.scanSuccess(PdaAudioLingoStatus.saomiaochenggong.getName(), audioValue); case 2: //重复扫描 @@ -708,8 +980,8 @@ public class DistributionStockupAppController extends BladeController { return Resp.scanFail(PdaAudioLingoStatus.chongfusaomiao.getName(), audioValue2); case 3: //包件不存在 - String audioValue3 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.baotiaomabucunzai.getValue()); - return Resp.scanFail(PdaAudioLingoStatus.baotiaomabucunzai.getName(), audioValue3); + String audioValue3 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.baojianbucunzai.getValue()); + return Resp.scanFail(PdaAudioLingoStatus.baojianbucunzai.getName(), audioValue3); case 4: //操作失败 @@ -717,231 +989,168 @@ public class DistributionStockupAppController extends BladeController { return Resp.scanFail(PdaAudioLingoStatus.caozuoshibai.getName(), audioValue4); case 5: //窜货 - String audioValue5 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.buzai.getValue()); - return Resp.scanFail(PdaAudioLingoStatus.buzai.getName(), audioValue5); + String audioValue5 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.cuanhuo.getValue()); + return Resp.scanFail(PdaAudioLingoStatus.cuanhuo.getName(), audioValue5); + case 6: + //已完成 + String audioValue6 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.yiwancheng.getValue()); + return Resp.scanFail(PdaAudioLingoStatus.yiwancheng.getName(), audioValue6); + case 7: + //包条码不存在 + String audioValue7 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.baotiaomabucunzai.getValue()); + return Resp.scanFail(PdaAudioLingoStatus.baotiaomabucunzai.getName(), audioValue7); default: log.warn("###备货扫描:未知错误"); return Resp.scanFail(PdaAudioLingoStatus.weizhicuowu.getName(), PdaAudioLingoStatus.weizhicuowu.getName()); } + case 7: + //包条码不存在 + String audioValue7 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.baotiaomabucunzai.getValue()); + return Resp.scanFail(PdaAudioLingoStatus.baotiaomabucunzai.getName(), audioValue7); + case 8: + //条码已使用 + String audioValue8 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.baotiaomayishiyong.getValue()); + return Resp.scanFail(PdaAudioLingoStatus.baotiaomayishiyong.getName(), audioValue8); + case 9: + //"没有待绑定的库存品信息!" + String audioValue9 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.meiyou.getValue()); + return Resp.scanFail(PdaAudioLingoStatus.meiyou.getName(), audioValue9); + case 10: + //"没有待绑定的库存品信息!" + return Resp.scanFail("该包件与备货物料不匹配!", "该包件与备货物料不匹配!"); + } + return null; + } - } else if (scanType == 2) { - //库存品扫描 - Long reservationId = stockupDTO.getReservationId(); - Long stockListId = stockupDTO.getStockListId(); - String packetBarCode = stockupDTO.getPacketBarCode(); -// String stockupArea = stockupDTO.getStockupArea();//备货区 - Long stockupId = stockupDTO.getStockupId();//备货区 - Long allocationId = stockupDTO.getAllocationId();//备货区 - Integer stockPrint = stockupDTO.getStockPrint(); // 库存 + /** + * 扫描定制品信息 + * + * @param stockupDTO + * @return + */ + @NotNull + private R stockupScanByCustom(StockupDTO stockupDTO) { + //包件扫描 + String orderCode = stockupDTO.getOrderCode();//订单自编号 + String packetBarCode = stockupDTO.getPacketBarCode();//包件码 + Long stockupId = stockupDTO.getStockupId();//备货任务ID + Long reservationId = stockupDTO.getReservationId();//预约单id + if (StringUtil.isBlank(orderCode)) { + log.warn("##################stockupScan: 包件扫码,订单自编号为空"); + return R.fail("包件扫码:订单自编号不能为空"); + } + if (StringUtil.isBlank(packetBarCode)) { + log.warn("##################stockupScan: 包件扫码,包件码为空"); + return R.fail("包件扫码:包件码不能为空"); + } + if (ObjectUtils.isNull(stockupId)) { + log.warn("##################stockupId: 包件扫码,备货区为空"); + return R.fail("包件扫码:备货任务ID不能为空"); + } + if (Objects.isNull(reservationId)) { + log.warn("##################stockupScan: 包件扫码,预约单id为空"); + return R.fail("包件扫码:预约单id不能为空"); + } - if (StringUtil.isBlank(packetBarCode)) { - log.warn("##################stockupScan: 库存品扫码,包件码为空"); - return R.fail("库存品扫码:包件码不能为空"); - } - if (ObjectUtils.isNull(stockupId)) { - log.warn("##################stockupScan: 库存品扫码,备货区为空"); - return R.fail("库存品扫码:备货任务ID不能为空"); - } - if (Objects.isNull(stockListId)) { - log.warn("##################stockupScan: 库存品扫码,库存品id为空"); - return R.fail("库存品扫码:库存品id不能为空"); - } - if (Objects.isNull(reservationId)) { - log.warn("##################stockupScan: 库存品扫码,预约单id为空"); - return R.fail("库存品扫码:预约单id不能为空"); - } - if (Objects.isNull(stockPrint)) { - log.warn("##################stockupScan: 库存品扫码,类型为空"); - return R.fail("库存品扫码:类型不能为空"); - } - if (Objects.isNull(allocationId)) { - log.warn("##################allocationId: 货位ID为空!"); - return R.fail("货位ID不能为空"); + Integer integer = distributionStockupService.selectPackage(stockupDTO); + switch (integer) { + case 1: + DistributionStockupEntity distributionStockupEntity = distributionStockupService.getById(stockupDTO.getStockupId()); + //正常 + //先保存扫码包件信息,后续由队列来出来余下补充信息 + DistributionStockEntity entity = new DistributionStockEntity(); + DistributionParcelListEntity one = distributionParcelListService.getOne(Wrappers.query().lambda() + .eq(DistributionParcelListEntity::getOrderPackageCode, stockupDTO.getPacketBarCode()) + ); + entity.setOrderSelfNumbering(one.getOrderCode()); + entity.setStockArticle(one.getStockArticleId()); + entity.setCoding(packetBarCode); +// entity.setStockupArea(stockupArea); + entity.setStockupId(stockupId); + entity.setParcelListId(one.getId()); + entity.setStockQuantity(1); + if (distributionStockupEntity.getTypeService().equals("3")) { + entity.setBillLadingId(reservationId); + DistributionStockupEntity byId = distributionStockupService.getById(stockupId); + entity.setStockupArea(byId.getStockupArea()); + + //修改包件备货状态 + one.setOrderPackageStockupStatus(StockupStatusConstant.yibeihuo.getValue()); + //todo 待下架操作 +// warehouseUpdownTypeClient.downPackage(stockupDTO.getPacketBarCode()); + distributionParcelListService.updateById(one); + } else { + entity.setReservationId(reservationId); } - //判断是否可以继续备货 - DistributionStockListEntity byId = iDistributionStockListService.getById(stockListId); - List locationInformation ; - if(byId.getSourceType().equals("2")){ - //导入 - WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity = new WarehouseUpdownGoodsEntity(); - warehouseUpdownGoodsEntity.setAllocationId(stockupDTO.getAllocationId()); - warehouseUpdownGoodsEntity.setIncomingBatch(byId.getIncomingBatch()); - warehouseUpdownGoodsEntity.setMarketId(byId.getMarketId()); - warehouseUpdownGoodsEntity.setAssociationId(byId.getMaterialId()); - warehouseUpdownGoodsEntity.setAssociationType("4"); - warehouseUpdownGoodsEntity.setWarehouseId(byId.getWarehouseId()); - locationInformation = warehouseUpdownGoodsClient.getLocationStockListInformation(warehouseUpdownGoodsEntity); - if(locationInformation.isEmpty()){ - return Resp.scanFail("当前货位的库存品已为零,请更换货位继续!!", "当前货位的库存品已为零,请更换货位继续!!"); - } - }else{ - //查询包件信息 - List list = distributionParcelListService.list(Wrappers.query().lambda() - .eq(DistributionParcelListEntity::getOrderPackageCode, packetBarCode) - .eq(DistributionParcelListEntity::getOrderCode, byId.getIncomingBatch()) - .eq(DistributionParcelListEntity::getWarehouseId, byId.getWarehouseId()) - ); - if(ObjectUtils.isNotNull(list) && list.size() > 1){ - return Resp.scanFail("查询到重复包条信息!!","查询到重复包条信息!!"); - } - if(ObjectUtils.isNull(list)){ - return Resp.scanFail("没有查询到包件信息 ! ","没有查询到包件信息 ! "); - } - log.info(">>>>> obj {}",list.get(0).getConditions()); - DistributionParcelListEntity distributionParcelListEntity = list.get(0); - if(2!=distributionParcelListEntity.getConditions()){ - return Resp.scanFail("当前包件不是库存品,无法备货!!","当前包件不是库存品,无法备货!!"); - - } + if (ObjectUtils.isNotNull(stockupDTO.getAllocationId())) { +// warehouseUpdownGoodsClient.selectMsgBywrap(); WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity = new WarehouseUpdownGoodsEntity(); warehouseUpdownGoodsEntity.setAllocationId(stockupDTO.getAllocationId()); - warehouseUpdownGoodsEntity.setAssociationId(list.get(0).getId()); - warehouseUpdownGoodsEntity.setAssociationType("3"); - warehouseUpdownGoodsEntity.setWarehouseId(byId.getWarehouseId()); - locationInformation = warehouseUpdownGoodsClient.getLocationStockListInformation(warehouseUpdownGoodsEntity); - if(locationInformation.isEmpty()){ - return Resp.scanFail("当前货位没有该包件信息!!", "当前货位没有该包件信息!!"); - } + warehouseUpdownGoodsEntity.setAssociationValue(stockupDTO.getPacketBarCode()); + warehouseUpdownGoodsEntity.setWarehouseId(distributionStockupEntity.getWarehouseId()); + WarehouseUpdownGoodsEntity locationInformation = warehouseUpdownGoodsClient.getLocationInformation(warehouseUpdownGoodsEntity); + entity.setAllocationTitle(locationInformation.getPositionCode()); + entity.setAllocationId(stockupDTO.getAllocationId()); } + entity.setConditions("0"); + entity.setType(2); + entity.setOutboundType(distributionStockupEntity.getTypeService()); + distributionStockService.save(entity); + //修改订单备货状态 + distributionAsyncService.updateStockArticleStock(one.getStockArticleId()); +// dataSourceTransactionManager.commit(transactionStatus);//提交 - Integer i = distributionStockupService.selectPackagePrint(stockupDTO); - switch (i) { - case 1: - //绑定 - Integer integer = distributionStockupService.selectPackage(stockupDTO); - switch (integer) { - case 1: - DistributionStockupEntity stockupEntity = distributionStockupService.getById(stockupDTO.getStockupId()); - //先保存扫码包件信息,后续由队列来出来余下补充信息 - DistributionStockEntity entity = new DistributionStockEntity(); - entity.setCoding(packetBarCode); - DistributionStockupEntity byId1 = distributionStockupService.getById(stockupId); - entity.setStockupArea(byId1.getStockupArea()); - entity.setStockupId(stockupId); - entity.setStockQuantity(1); - if(stockupEntity.getTypeService().equals("3")){ - entity.setBillLadingId(reservationId); - }else{ - entity.setReservationId(reservationId); - } - entity.setReservationId(reservationId); - entity.setStockListId(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); - if(!locationInformation.isEmpty()){ - if(byId.getSourceType().equals("2")){ - //导入下架 - entity.setAllocationTitle(locationInformation.get(0).getPositionCode()); - entity.setAllocationId(stockupDTO.getAllocationId()); - //todo 待下架操作 - JSONObject jsonObject = new JSONObject(); - jsonObject.put("marketId",byId.getMarketId()); - jsonObject.put("materialCode",byId.getCargoNumber()); - jsonObject.put("warehouseId",byId.getWarehouseId()); - jsonObject.put("incomingBatch",byId.getIncomingBatch()); - jsonObject.put("enterNum",1); - jsonObject.put("allocationId",stockupDTO.getAllocationId()); - List list = new ArrayList<>(); - list.add(jsonObject); - R r = warehouseUpdownTypeClient.downStock(list); - if(r.getCode() != 200){ - log.debug("##########"+r.getMsg()); - return Resp.scanFail("下架失败,请联系管理员!!","下架失败,请联系管理员!!"); - } - }else{ - R r = warehouseUpdownTypeClient.downPackage(packetBarCode, byId.getWarehouseId()); - if(r.getCode() != 200){ - log.debug("##########"+r.getMsg()); - return Resp.scanFail("下架失败,请联系管理员!!","下架失败,请联系管理员!!"); - } - } - }else{ - return Resp.scanFail("本货位的物料已为0,请更换货位继续!!","本货位的物料已为0,请更换货位继续!!"); - } - }else{ - return Resp.scanFail("物料信息查询失败,请联系管理员!!", "物料信息查询失败,请联系管理员!!"); - } - entity.setConditions("0"); - entity.setType(2); - distributionStockService.save(entity); -// dataSourceTransactionManager.commit(transactionStatus);//提交 - - Map map = new HashMap<>(); - map.put("messageId", CommonUtil.getUUID()); - map.put("scanType", scanType); - map.put("logId", entity.getId()); - map.put("messageData", entity); - map.put("createTime", new Date().getTime()); - //将消息携带绑定键值 - rabbitTemplate.convertAndSend(RabbitConstant.STOCKUP_SCAN_EXCHANGE, RabbitConstant.STOCKUP_SCAN_ROUTING, map); - String audioValue = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.saomiaochenggong.getValue()); - //扫码成功 - return Resp.scanSuccess(PdaAudioLingoStatus.saomiaochenggong.getName(),audioValue); - case 2: - //重复扫描 - String audioValue2 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.chongfusaomiao.getValue()); - return Resp.scanFail(PdaAudioLingoStatus.chongfusaomiao.getName(),audioValue2); - case 3: - //包件不存在 - String audioValue3 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO,PdaAudioLingoStatus.baojianbucunzai.getValue() ); - return Resp.scanFail(PdaAudioLingoStatus.baojianbucunzai.getName(),audioValue3); - - case 4: - //操作失败 - String audioValue4 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.caozuoshibai.getValue()); - return Resp.scanFail(PdaAudioLingoStatus.caozuoshibai.getName(), audioValue4); - case 5: - //窜货 - String audioValue5 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.cuanhuo.getValue()); - return Resp.scanFail(PdaAudioLingoStatus.cuanhuo.getName(), audioValue5); - case 6: - //已完成 - String audioValue6 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.yiwancheng.getValue()); - return Resp.scanFail(PdaAudioLingoStatus.yiwancheng.getName(), audioValue6); - case 7: - //包条码不存在 - String audioValue7 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.baotiaomabucunzai.getValue()); - return Resp.scanFail(PdaAudioLingoStatus.baotiaomabucunzai.getName(), audioValue7); - default: - log.warn("###备货扫描:未知错误"); - return Resp.scanFail(PdaAudioLingoStatus.weizhicuowu.getName(), PdaAudioLingoStatus.weizhicuowu.getName()); - } - case 7: - //包条码不存在 - String audioValue7 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.baotiaomabucunzai.getValue()); - return Resp.scanFail(PdaAudioLingoStatus.baotiaomabucunzai.getName(), audioValue7); - case 8: - //条码已使用 - String audioValue8 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.baotiaomayishiyong.getValue()); - return Resp.scanFail(PdaAudioLingoStatus.baotiaomayishiyong.getName(), audioValue8); - case 9: - //"没有待绑定的库存品信息!" - String audioValue9 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.meiyou.getValue()); - return Resp.scanFail(PdaAudioLingoStatus.meiyou.getName(), audioValue9); - case 10: - //"没有待绑定的库存品信息!" - return Resp.scanFail("该包件与备货物料不匹配!", "该包件与备货物料不匹配!"); - } - - - } -// }catch (TransactionException e){ -// e.printStackTrace(); -// log.error("######:备货扫描",e.getMessage()); -// dataSourceTransactionManager.rollback(transactionStatus); -// } - - log.warn("###################stockupScan: 未知的扫码类型 scanType={}", scanType); - return R.fail("未知的扫码类型"); + Map map = new HashMap<>(); + map.put("messageId", CommonUtil.getUUID()); + map.put("scanType", stockupDTO.getScanType()); + map.put("stockupId", stockupDTO.getStockupId()); + map.put("logId", entity.getId()); + map.put("messageData", entity); + map.put("createTime", new Date().getTime()); + //将消息携带绑定键值 + rabbitTemplate.convertAndSend(RabbitConstant.STOCKUP_SCAN_EXCHANGE, RabbitConstant.STOCKUP_SCAN_ROUTING, map); + + //查询是否货位数据是否该下架 + Map mapState = new HashMap<>(); + mapState.put("messageId", CommonUtil.getUUID()); + mapState.put("scanType", stockupDTO.getScanType()); + mapState.put("stockupId", stockupDTO.getStockupId()); + mapState.put("typeService", stockupDTO.getTypeService()); + mapState.put("reservationId", stockupDTO.getReservationId()); + mapState.put("logId", entity.getId()); + mapState.put("messageData", entity); + mapState.put("createTime", new Date().getTime()); + + + //将消息携带绑定键值 + rabbitTemplate.convertAndSend(RabbitConstant.STOCKUP_STATE_UPDATE_EXCHANGE, RabbitConstant.STOCKUP_STATE_UPDATE_ROUTING, mapState); + + String audioValue = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.saomiaochenggong.getValue()); + + //查询是否货位数据是否该下架 +// distributionAsyncService.stockupSelfOffShelf(stockupDTO); + return Resp.scanSuccess(PdaAudioLingoStatus.saomiaochenggong.getName(), audioValue); + case 2: + //重复扫描 + String audioValue2 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.chongfusaomiao.getValue()); + return Resp.scanFail(PdaAudioLingoStatus.chongfusaomiao.getName(), audioValue2); + case 3: + //包件不存在 + String audioValue3 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.baotiaomabucunzai.getValue()); + return Resp.scanFail(PdaAudioLingoStatus.baotiaomabucunzai.getName(), audioValue3); + + case 4: + //操作失败 + String audioValue4 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.caozuoshibai.getValue()); + return Resp.scanFail(PdaAudioLingoStatus.caozuoshibai.getName(), audioValue4); + case 5: + //窜货 + String audioValue5 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, PdaAudioLingoStatus.buzai.getValue()); + return Resp.scanFail(PdaAudioLingoStatus.buzai.getName(), audioValue5); + default: + log.warn("###备货扫描:未知错误"); + return Resp.scanFail(PdaAudioLingoStatus.weizhicuowu.getName(), PdaAudioLingoStatus.weizhicuowu.getName()); + } } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockConfigInfoVO.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockConfigInfoVO.java new file mode 100644 index 000000000..455984fda --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockConfigInfoVO.java @@ -0,0 +1,24 @@ +package com.logpm.distribution.dto.app; + +import lombok.Data; + +import java.util.List; + +@Data +public class StockConfigInfoVO { + + /** + * 客户 + */ + private String customer; + + /** + * 地址 + */ + private String address;//地址 + + /** + * 库存扫码记录 + */ + private List stockConfigOrderPackageListVOS; +} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockConfigOrderPackageListVO.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockConfigOrderPackageListVO.java new file mode 100644 index 000000000..14073adb3 --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockConfigOrderPackageListVO.java @@ -0,0 +1,36 @@ +package com.logpm.distribution.dto.app; + +import lombok.Data; + +import java.util.Date; + + +/** + * 配置包条码 扫码完成展示列表 + */ +@Data +public class StockConfigOrderPackageListVO { + + + /** + * 入库批次 + */ + private String incomingBatch; + + + /** + * 码 + */ + private String code; + + /** + * 码 + */ + private Integer num; + + /** + * 创建时间 + */ + private Date createTime; + +} 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 0021444bf..037723b17 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 @@ -31,6 +31,8 @@ public class StockupDTO implements Serializable { private String descriptionGoods;//物料名称 + private String cargoNumber;//物料编码 + private String allocation;//库位信息 private Long allocationId;//库位信息ID private String allocationCode;//库位信息ID diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java index d662a8c1c..7ac45acaa 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java @@ -70,6 +70,7 @@ public interface DistributionReservationMapper extends BaseMapper selectStockupOrderList(@Param("reservationId")Long reservationId,@Param("isZero") String isZero); List selectStockupStockList(@Param("reservationId")Long reservationId); + List selectStockupStockListNew(@Param("reservationId")Long reservationId); Integer selectOrderNumByReservationId(@Param("reservationId")Long reservationId); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml index 820cb49a8..19f5d4e0e 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml @@ -297,6 +297,65 @@ ldst.cargo_norms, ldrs.reservation_num, ldst.cargo_unit, ldst.tray_name, ldst.source_type + + + + 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 a399d0cda..3b1bfed6c 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 @@ -109,4 +109,6 @@ public interface DistributionStockListMapper extends BaseMapper getStockListInfo(@Param("par")DistributionStockListEntity distributionStockListEntity); + + DistributionStockListEntity selectStockInforByOrderPackageCode(@Param("orderPackageCode") String orderPackageCode); } 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 b62293000..15a79595e 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 @@ -485,4 +485,21 @@ + + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDisStockOrdercodeRecoService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDisStockOrdercodeRecoService.java index e3a49d109..dd629deef 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDisStockOrdercodeRecoService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDisStockOrdercodeRecoService.java @@ -19,6 +19,7 @@ package com.logpm.distribution.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.logpm.distribution.entity.DisStockOrdercodeRecoEntity; +import com.logpm.distribution.entity.DistributionStockListEntity; import com.logpm.distribution.excel.DisStockOrdercodeRecoExcel; import com.logpm.distribution.vo.DisStockOrdercodeRecoVO; import org.springblade.core.mp.base.BaseService; @@ -50,4 +51,6 @@ public interface IDisStockOrdercodeRecoService extends BaseService exportDisStockOrdercodeReco(Wrapper queryWrapper); + DistributionStockListEntity selectStockOrdercodeRecoListByCode(String packetBarCode); + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockListService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockListService.java index b8641cb42..726f44965 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockListService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockListService.java @@ -153,6 +153,13 @@ public interface IDistributionStockListService extends BaseService getStockListInfo(DistributionStockListEntity distributionStockListEntity); + /** + * 根据包件编码查询库存品信息 + * @param orderPackageCode + * @return + */ + DistributionStockListEntity selectStockInforByOrderPackageCode(String orderPackageCode); + // /** // * 查询库存品详情 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 a94251b95..1daa2d8f4 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 @@ -17,8 +17,10 @@ package com.logpm.distribution.service; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.logpm.distribution.dto.app.StockConfigInfoVO; import com.logpm.distribution.dto.app.StockupDTO; import com.logpm.distribution.dto.app.StockupZeroDTO; +import com.logpm.distribution.entity.DistributionStockListEntity; import com.logpm.distribution.entity.DistributionStockupEntity; import com.logpm.distribution.excel.DistributionCityExcel; import com.logpm.distribution.excel.DistributionMarketExcel; @@ -250,4 +252,19 @@ public interface IDistributionStockupService extends BaseService implements IDisStockOrdercodeRecoService { + @Autowired + private DistributionStockListMapper distributionStockListMapper; + @Override public IPage selectDisStockOrdercodeRecoPage(IPage page, DisStockOrdercodeRecoVO disStockOrdercodeReco) { return page.setRecords(baseMapper.selectDisStockOrdercodeRecoPage(page, disStockOrdercodeReco)); @@ -52,4 +59,16 @@ public class DisStockOrdercodeRecoServiceImpl extends BaseServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); + List disStockOrdercodeRecoEntities = baseMapper.selectList(lambdaQueryWrapper); + if(!disStockOrdercodeRecoEntities.isEmpty()){ + DisStockOrdercodeRecoEntity disStockOrdercodeRecoEntity = disStockOrdercodeRecoEntities.get(0); + return distributionStockListMapper.selectById(disStockOrdercodeRecoEntity.getStockListId()); + } + + return null; + } } 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 1632ce0a5..b562081d2 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 @@ -2620,7 +2620,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl selectStockupStockList(Long reservationId) { - return baseMapper.selectStockupStockList(reservationId); + return baseMapper.selectStockupStockListNew(reservationId); } @Override 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 385b8bd61..7ee127052 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 @@ -1218,7 +1218,7 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl getPackageListByStockArticleId(IPage page, Long orderId) { List parcelListEntityList = distributionParcelListService.list(Wrappers.query().lambda().eq(DistributionParcelListEntity::getStockArticleId, orderId) .eq(DistributionParcelListEntity::getOrderPackageReservationStatus, OrderPackageReservationStatusConstant.daiyuyue.getValue()) - .ne(DistributionParcelListEntity::getConditions, 2) + .ne(DistributionParcelListEntity::getConditions,2) .notIn(DistributionParcelListEntity::getOrderPackageStatus, OrderPackageStatusConstant.yiqianshou.getValue(), OrderPackageStatusConstant.yichuku.getValue())); List parcelListVOS = DistributionParcelListWrapper.build().listVO(parcelListEntityList); return page.setRecords(parcelListVOS); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java index 37d700a1b..fdd0fa170 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java @@ -476,6 +476,18 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl getStockListInfo(DistributionStockListEntity distributionStockListEntity) { return baseMapper.getStockListInfo(distributionStockListEntity); } + + + @Override + public DistributionStockListEntity selectStockInforByOrderPackageCode(String orderPackageCode) { + + + return baseMapper.selectStockInforByOrderPackageCode(orderPackageCode); + + + + + } } // @Override 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 a1743db3e..1060d1099 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 @@ -17,7 +17,9 @@ package com.logpm.distribution.service.impl; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; @@ -30,18 +32,20 @@ import com.logpm.basicdata.feign.IBasicdataGoodsAreaClient; import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.basicdata.vo.BasicdataGoodsAreaVO; import com.logpm.distribution.bean.Resp; +import com.logpm.distribution.dto.app.StockConfigInfoVO; +import com.logpm.distribution.dto.app.StockConfigOrderPackageListVO; import com.logpm.distribution.dto.app.StockupDTO; import com.logpm.distribution.dto.app.StockupZeroDTO; import com.logpm.distribution.entity.*; import com.logpm.distribution.excel.DistributionCityExcel; import com.logpm.distribution.excel.DistributionMarketExcel; import com.logpm.distribution.excel.DistributionSelfExcel; -import com.logpm.distribution.mapper.DistributionStockupMapper; -import com.logpm.distribution.mapper.DistrilbutionBillLadingMapper; +import com.logpm.distribution.mapper.*; import com.logpm.distribution.service.*; import com.logpm.distribution.vo.*; import com.logpm.distribution.vo.app.StockupZeroVO; import com.logpm.distribution.wrapper.DistributionStockupWrapper; +import com.logpm.warehouse.entity.WarehouseGoodsAllocationEntity; import com.logpm.warehouse.entity.WarehouseTaryAllocationEntity; import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity; import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity; @@ -50,7 +54,6 @@ import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.common.constant.CodeDesEnum; import org.springblade.common.constant.DictBizConstant; -import org.springblade.common.constant.DistributionTypeConstant; import org.springblade.common.constant.orderpackage.OrderPackageStockupStatusConstant; import org.springblade.common.constant.pda.PdaAudioLingoStatus; import org.springblade.common.constant.stocklist.StockLockingStatusConstant; @@ -179,6 +182,22 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl selectDistributionStockupPage(IPage page, DistributionStockupVO distributionStockup) { return page.setRecords(baseMapper.selectDistributionStockupPage(page, distributionStockup)); @@ -253,10 +272,10 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl pageList(IPage page, Map distributionStockup) { DistributionStockupEntity distributionStockupEntity = JSON.parseObject(JSON.toJSONString(distributionStockup), DistributionStockupEntity.class); BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse(); - if(ObjectUtils.isNotNull(myCurrentWarehouse)){ + if (ObjectUtils.isNotNull(myCurrentWarehouse)) { //获取当前登录人仓库 distributionStockupEntity.setWarehouseId(myCurrentWarehouse.getId()); - }else{ + } else { //获取当前登录人仓库 List myWatchWarehouse = basicdataWarehouseClient.getMyWatchWarehouse(); //取出id @@ -296,14 +315,14 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl b = new AtomicReference<>(false); AtomicReference nu = new AtomicReference<>(0); List list1 = distributionStockupInfoService.list(Wrappers.query().lambda().eq(DistributionStockupInfoEntity::getStockupId, vo.getId())); - list1.forEach( z ->{ + list1.forEach(z -> { //查询有没有零担 List list = reservationZeroPackageService.list(Wrappers.query().lambda() .eq(DistributionReservationZeroPackageEntity::getReservationId, z.getReservationId()) .eq(DistributionReservationZeroPackageEntity::getIsDeleted, 0) .in(DistributionReservationZeroPackageEntity::getZeroPackageStatus, "1", "3") ); - if(!list.isEmpty()){ + if (!list.isEmpty()) { int sum = list.stream().mapToInt(DistributionReservationZeroPackageEntity::getQuantity).sum(); nu.set((int) (nu.get() + sum)); b.set(true); @@ -312,29 +331,29 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl list2 = distrilbutionBillStockService.listPackageSelf(z.getReservationId()); - nu.set(nu.get()+list2.size()); - }else{ + nu.set(nu.get() + list2.size()); + } else { //商,市 List list2 = distributionReservationPackageService.list(Wrappers.query().lambda() .eq(DistributionReservationPackageEntity::getReservationId, z.getReservationId()) - .eq(DistributionReservationPackageEntity::getIsDeleted,0) - .in(DistributionReservationPackageEntity::getPacketBarStatus,"1","3") + .eq(DistributionReservationPackageEntity::getIsDeleted, 0) + .in(DistributionReservationPackageEntity::getPacketBarStatus, "1", "3") ); - nu.set(nu.get()+list2.size()); + nu.set(nu.get() + list2.size()); } }); - if(b.get()){ + if (b.get()) { vo.setPlanNum(nu.get()); } //查询以扫数量 List list = distributionStockService.list(Wrappers.query().lambda().eq(DistributionStockEntity::getStockupId, vo.getId())); - if(list.isEmpty()){ + if (list.isEmpty()) { vo.setRealNum(0); - }else{ + } else { vo.setRealNum(list.stream().mapToInt(DistributionStockEntity::getStockQuantity).sum()); } intToStrDistributionStockupListVO(vo); @@ -419,30 +438,30 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl list = baseMapper.selectStockupClientInfoSelf(stockupDTO); - list.forEach( i ->{ + list.forEach(i -> { QueryWrapper queryWrapper = new QueryWrapper<>(); //查询有没有零担数据 - queryWrapper.eq("reservation_id",i.getReservationId()); - queryWrapper.eq("is_deleted",0); - queryWrapper.in("zero_package_status","1","3"); + queryWrapper.eq("reservation_id", i.getReservationId()); + queryWrapper.eq("is_deleted", 0); + queryWrapper.in("zero_package_status", "1", "3"); List list1 = reservationZeroPackageService.list(queryWrapper); - if(!list1.isEmpty()){ + if (!list1.isEmpty()) { //有 i.setPlanNum(list1.stream().mapToInt(DistributionReservationZeroPackageEntity::getQuantity).sum()); - }else{ + } else { i.setPlanNum(0); } - //没有 - List list2 = distrilbutionBillStockService.listPackageSelf(i.getReservationId()); - i.setPlanNum(i.getPlanNum()+list2.size()); + //没有 + List list2 = distrilbutionBillStockService.listPackageSelf(i.getReservationId()); + i.setPlanNum(i.getPlanNum() + list2.size()); List listStock = distributionStockService.list(Wrappers.query().lambda() .eq(DistributionStockEntity::getBillLadingId, i.getReservationId()) .eq(DistributionStockEntity::getStockupId, stockupDTO.getStockupId()) ); - if(!listStock.isEmpty()){ + if (!listStock.isEmpty()) { int sum = listStock.stream().mapToInt(DistributionStockEntity::getStockQuantity).sum(); i.setStockupNum(sum); - }else{ + } else { i.setStockupNum(0); } @@ -459,21 +478,21 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); //查询有没有零担数据 - queryWrapper.eq("reservation_id",stockupDTO.getReservationId()); - queryWrapper.eq("is_deleted",0); - queryWrapper.in("zero_package_status","1","3"); + queryWrapper.eq("reservation_id", stockupDTO.getReservationId()); + queryWrapper.eq("is_deleted", 0); + queryWrapper.in("zero_package_status", "1", "3"); List list1 = reservationZeroPackageService.list(queryWrapper); intToStrDistributionStockupListVO(distributionStockupListVO); distributionStockupListVO.setReservationId(Long.parseLong(split[i])); - distributionStockupListVO.setPlanNum(distributionStockupListVO.getPlanNum()+ list1.stream().mapToInt(DistributionReservationZeroPackageEntity::getQuantity).sum()); + distributionStockupListVO.setPlanNum(distributionStockupListVO.getPlanNum() + list1.stream().mapToInt(DistributionReservationZeroPackageEntity::getQuantity).sum()); List list2 = distributionStockService.list(Wrappers.query().lambda() .eq(DistributionStockEntity::getReservationId, stockupDTO.getReservationId()) .eq(DistributionStockEntity::getStockupId, stockupDTO.getStockupId()) ); - if(!list2.isEmpty()){ + if (!list2.isEmpty()) { int sum = list2.stream().mapToInt(DistributionStockEntity::getStockQuantity).sum(); distributionStockupListVO.setStockupNum(sum); - }else{ + } else { distributionStockupListVO.setStockupNum(0); } list.add(distributionStockupListVO); @@ -605,13 +624,14 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl Predicate distinctByKey(Function keyExtractor){ - Map map=new ConcurrentHashMap<>(); - return t -> map.putIfAbsent(keyExtractor.apply(t),Boolean.TRUE)==null; + private static Predicate distinctByKey(Function keyExtractor) { + Map map = new ConcurrentHashMap<>(); + return t -> map.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null; } /** * 查询货位包件信息 + * * @param stockupDTO * @return */ @@ -620,10 +640,10 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl allocationEntityList = warehouseTaryAllocationClient.getAllocationId(allocationId); - if(ObjectUtils.isNotNull(allocationEntityList) && !allocationEntityList.isEmpty()){ + if (ObjectUtils.isNotNull(allocationEntityList) && !allocationEntityList.isEmpty()) { //查询托盘信息 List trayList = warehouseTrayGoodsClient.getTrayList(trayGoodsEntity); - if(!trayList.isEmpty()){ + if (!trayList.isEmpty()) { i.setTrayId(trayList.get(0).getId().toString()); i.setPallet(trayList.get(0).getTrayCode()); } } - }else{ + } else { List trayList = warehouseTrayGoodsClient.getTrayList(trayGoodsEntity); - if(!trayList.isEmpty()){ + if (!trayList.isEmpty()) { String trayId = trayList.stream().map(WarehouseTrayGoodsEntity::getTrayId).collect(Collectors.toList()).stream().map(Object::toString).collect(Collectors.joining(",")); String trayCode = trayList.stream().map(WarehouseTrayGoodsEntity::getTrayCode).collect(Collectors.joining(",")); i.setTrayId(trayId); @@ -667,16 +687,17 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl getZeroTrayInfo(List list){ + public List getZeroTrayInfo(List list) { List listStockup = new ArrayList<>(); Iterator iterator = list.iterator(); - while (iterator.hasNext()){ + while (iterator.hasNext()) { DistributionStockupOrderListVO i = iterator.next(); BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse(); - if(ObjectUtils.isNull(myCurrentWarehouse)){ + if (ObjectUtils.isNull(myCurrentWarehouse)) { throw new ServiceException("请选择仓库信息!!"); } //查询货位信息 @@ -686,13 +707,13 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl information = warehouseUpdownGoodsClient.getLocationStockListInformation(updownGoodsEntity); - if(!information.isEmpty()){ + if (!information.isEmpty()) { DistributionStockupOrderListVO finalI = i; - information.stream().forEach(q ->{ + information.stream().forEach(q -> { DistributionStockupOrderListVO stockupOrderListVO = new DistributionStockupOrderListVO(); - BeanUtils.copyProperties(finalI,stockupOrderListVO); + BeanUtils.copyProperties(finalI, stockupOrderListVO); //查询托盘信息 - stockupOrderListVO = getTrayInfo(stockupOrderListVO,Long.valueOf(stockupOrderListVO.getStockArticleId()),myCurrentWarehouse.getId(),stockupOrderListVO.getOrderCode(),q.getAllocationId()); + stockupOrderListVO = getTrayInfo(stockupOrderListVO, Long.valueOf(stockupOrderListVO.getStockArticleId()), myCurrentWarehouse.getId(), stockupOrderListVO.getOrderCode(), q.getAllocationId()); stockupOrderListVO.setAllocation(q.getPositionCode()); stockupOrderListVO.setAllocationId(q.getAllocationId()); stockupOrderListVO.setAllocationNumber(q.getNum()); @@ -705,96 +726,97 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl selectSelfInfo(Long reservationId,StockupDTO stockupDTO ){ + public List selectSelfInfo(Long reservationId, StockupDTO stockupDTO) { //查询客户数据 自 - List list = distrilbutionBillStockService.selectDistrilbutionBillSelf(reservationId,stockupDTO.getIsZero()); - if(!list.isEmpty() && ObjectUtils.isNull(list.get(0))){ + List list = distrilbutionBillStockService.selectDistrilbutionBillSelf(reservationId, stockupDTO.getIsZero()); + if (!list.isEmpty() && ObjectUtils.isNull(list.get(0))) { return new ArrayList<>(); } //零担查询货位,托盘信息 - if(stockupDTO.getIsZero().equals("1")){ + if (stockupDTO.getIsZero().equals("1")) { List zeroTrayInfo = getZeroTrayInfo(list); - if(!zeroTrayInfo.isEmpty()){ + if (!zeroTrayInfo.isEmpty()) { list = zeroTrayInfo; } } //获取有货位的数据 List collect11 = list.stream().filter(o -> ObjectUtils.isNotNull(o.getAllocationId())).collect(Collectors.toList()); Set listYou = new HashSet<>(); - collect11.forEach( i -> { + collect11.forEach(i -> { DistributionReservationZeroPackageEntity one = new DistributionReservationZeroPackageEntity(); - if(stockupDTO.getIsZero().equals("1")) { + if (stockupDTO.getIsZero().equals("1")) { //零担 查询预约数量 - one = reservationZeroPackageService.getOneZeroPackageNum(i.getParcelListId(),stockupDTO.getReservationId()); + one = reservationZeroPackageService.getOneZeroPackageNum(i.getParcelListId(), stockupDTO.getReservationId()); } int i1 = stockupDTO.getIsZero().equals("1") ? one.getQuantity() : 1; int i2 = stockupDTO.getIsZero().equals("1") ? one.getRealityQuantity() : 1; - if(listYou.size() > 0){ + if (listYou.size() > 0) { boolean b = listYou.stream().anyMatch(o -> o.getAllocationId().equals(i.getAllocationId())); - if(b){ - listYou.forEach( y -> { - if(y.getAllocationId().equals(i.getAllocationId())){ + if (b) { + listYou.forEach(y -> { + if (y.getAllocationId().equals(i.getAllocationId())) { //相同 - y.setPlanNum(y.getPlanNum()+i1); - if(ObjectUtils.isNotNull(i.getStockId())){ - y.setScanNum(y.getScanNum()+i2); + y.setPlanNum(y.getPlanNum() + i1); + if (ObjectUtils.isNotNull(i.getStockId())) { + y.setScanNum(y.getScanNum() + i2); } //t托盘信息 - if(ObjectUtils.isNotNull(y.getTrayId()) && ObjectUtils.isNotNull(i.getTrayId()) && !y.getTrayId().contains(i.getTrayId())){ - y.setPallet(y.getPallet()+","+i.getPallet()); + if (ObjectUtils.isNotNull(y.getTrayId()) && ObjectUtils.isNotNull(i.getTrayId()) && !y.getTrayId().contains(i.getTrayId())) { + y.setPallet(y.getPallet() + "," + i.getPallet()); } //订单自编号信息 - if(ObjectUtils.isNotNull(y.getOrderCode()) && !y.getOrderCode().contains(i.getOrderCode())){ - y.setOrderCode(y.getOrderCode()+","+i.getOrderCode()); + if (ObjectUtils.isNotNull(y.getOrderCode()) && !y.getOrderCode().contains(i.getOrderCode())) { + y.setOrderCode(y.getOrderCode() + "," + i.getOrderCode()); } //订单Id信息 - if(ObjectUtils.isNotNull(y.getStockArticleId()) && !y.getStockArticleId().contains(i.getStockArticleId())){ - y.setStockArticleId(y.getStockArticleId()+","+i.getStockArticleId()); + if (ObjectUtils.isNotNull(y.getStockArticleId()) && !y.getStockArticleId().contains(i.getStockArticleId())) { + y.setStockArticleId(y.getStockArticleId() + "," + i.getStockArticleId()); } } - } ); - }else{ + }); + } else { i.setPlanNum(i1); - if(ObjectUtils.isNotNull(i.getStockId())){ + if (ObjectUtils.isNotNull(i.getStockId())) { i.setScanNum(i2); - }else{ + } else { i.setScanNum(0); } listYou.add(i); } - }else{ + } else { i.setPlanNum(i1); - if(ObjectUtils.isNotNull(i.getStockId())){ + if (ObjectUtils.isNotNull(i.getStockId())) { i.setScanNum(i2); - }else{ + } else { i.setScanNum(0); } listYou.add(i); } - } ); + }); //获取没有货位的数据 List collect22 = list.stream().filter(o -> ObjectUtils.isNull(o.getAllocationId())).collect(Collectors.toList()); List listLi = new ArrayList<>(); //历史 - if(!collect22.isEmpty()){ - collect22.forEach( i -> { - DistributionStockAllocationVO stockAllocationVO = distributionStockService.selectSelfAllocation(stockupDTO.getReservationId(),stockupDTO.getStockupId(),i.getParcelListId()); - if(ObjectUtils.isNotNull(stockAllocationVO)){ + if (!collect22.isEmpty()) { + collect22.forEach(i -> { + DistributionStockAllocationVO stockAllocationVO = distributionStockService.selectSelfAllocation(stockupDTO.getReservationId(), stockupDTO.getStockupId(), i.getParcelListId()); + if (ObjectUtils.isNotNull(stockAllocationVO)) { //添加以扫货位信息 i.setAllocation(stockAllocationVO.getPositionCode()); i.setAllocationId(stockAllocationVO.getAllocationId()); listLi.add(i); - }else{ + } else { listLi.add(i); } }); @@ -802,58 +824,58 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl collectY = listLi.stream().filter(o -> ObjectUtils.isNotNull(o.getAllocationId())).collect(Collectors.toList()); List collectW = listLi.stream().filter(o -> ObjectUtils.isNull(o.getAllocationId())).collect(Collectors.toList()); //有 - if(!collectY.isEmpty()){ - collectY.forEach( i -> { + if (!collectY.isEmpty()) { + collectY.forEach(i -> { DistributionReservationZeroPackageEntity one = new DistributionReservationZeroPackageEntity(); - if(stockupDTO.getIsZero().equals("1")) { + if (stockupDTO.getIsZero().equals("1")) { //零担 查询预约数量 - one = reservationZeroPackageService.getOneZeroPackageNum(i.getParcelListId(),stockupDTO.getReservationId() ); + one = reservationZeroPackageService.getOneZeroPackageNum(i.getParcelListId(), stockupDTO.getReservationId()); } int i1 = stockupDTO.getIsZero().equals("1") ? one.getQuantity() : 1; int i2 = stockupDTO.getIsZero().equals("1") ? one.getRealityQuantity() : 1; - boolean b = listYou.stream().anyMatch(ii ->ii.getAllocationId().equals(i.getAllocationId())); - if(b){ - listYou.forEach( wu -> { - if(wu.getAllocationId().equals(i.getAllocationId())){ + boolean b = listYou.stream().anyMatch(ii -> ii.getAllocationId().equals(i.getAllocationId())); + if (b) { + listYou.forEach(wu -> { + if (wu.getAllocationId().equals(i.getAllocationId())) { //相同 - wu.setPlanNum(wu.getPlanNum()+i1); - if(ObjectUtils.isNotNull(i.getStockId())){ - wu.setScanNum(wu.getScanNum()+i2); + wu.setPlanNum(wu.getPlanNum() + i1); + if (ObjectUtils.isNotNull(i.getStockId())) { + wu.setScanNum(wu.getScanNum() + i2); } //托盘信息 - if(ObjectUtils.isNotNull(i.getTrayId()) && !wu.getTrayId().contains(i.getTrayId())){ - wu.setPallet(wu.getPallet()+","+i.getPallet()); + if (ObjectUtils.isNotNull(i.getTrayId()) && !wu.getTrayId().contains(i.getTrayId())) { + wu.setPallet(wu.getPallet() + "," + i.getPallet()); } //订单自编号信息 - if(ObjectUtils.isNotNull(i.getOrderCode()) && !wu.getOrderCode().contains(i.getOrderCode())){ - wu.setOrderCode(wu.getOrderCode()+","+i.getOrderCode()); + if (ObjectUtils.isNotNull(i.getOrderCode()) && !wu.getOrderCode().contains(i.getOrderCode())) { + wu.setOrderCode(wu.getOrderCode() + "," + i.getOrderCode()); } //订单ID信息 - if(ObjectUtils.isNotNull(wu.getStockArticleId()) && !wu.getStockArticleId().contains(i.getStockArticleId())){ - wu.setStockArticleId(wu.getStockArticleId()+","+i.getStockArticleId()); + if (ObjectUtils.isNotNull(wu.getStockArticleId()) && !wu.getStockArticleId().contains(i.getStockArticleId())) { + wu.setStockArticleId(wu.getStockArticleId() + "," + i.getStockArticleId()); } - if(wu.getPlanNum().equals(wu.getScanNum())){ + if (wu.getPlanNum().equals(wu.getScanNum())) { wu.setCompleteStact(true); - }else{ + } else { wu.setCompleteStact(false); } } }); - }else{ - i.setPlanNum( i1); - if(ObjectUtils.isNotNull(i.getStockId())){ + } else { + i.setPlanNum(i1); + if (ObjectUtils.isNotNull(i.getStockId())) { i.setScanNum(i2); i.setCompleteStact(true); - }else{ + } else { i.setScanNum(0); } listYou.add(i); } }); } - collectW.forEach(i ->{ + collectW.forEach(i -> { DistributionReservationZeroPackageEntity one = new DistributionReservationZeroPackageEntity(); - if(stockupDTO.getIsZero().equals("1")) { + if (stockupDTO.getIsZero().equals("1")) { //零担 查询预约数量 one = reservationZeroPackageService.getOneZeroPackageNum(i.getParcelListId(), stockupDTO.getReservationId()); @@ -861,45 +883,45 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl ObjectUtils.isNull(ko.getAllocationId())); - if(b){ + if (b) { listYou.forEach(wu -> { - if(ObjectUtils.isNull(wu.getAllocationId())){ + if (ObjectUtils.isNull(wu.getAllocationId())) { //相同 - wu.setPlanNum(wu.getPlanNum()+i1); - if(ObjectUtils.isNotNull(i.getStockId())){ - wu.setScanNum(wu.getScanNum()+i2); + wu.setPlanNum(wu.getPlanNum() + i1); + if (ObjectUtils.isNotNull(i.getStockId())) { + wu.setScanNum(wu.getScanNum() + i2); } //托盘信息 - if( ObjectUtils.isNotNull(i.getPallet()) && !wu.getPallet().contains(i.getPallet())){ - wu.setPallet(wu.getPallet()+","+i.getPallet()); + if (ObjectUtils.isNotNull(i.getPallet()) && !wu.getPallet().contains(i.getPallet())) { + wu.setPallet(wu.getPallet() + "," + i.getPallet()); } //托盘信息 - if( ObjectUtils.isNotNull(i.getTrayId()) && !wu.getTrayId().contains(i.getTrayId())){ - wu.setTrayId(wu.getTrayId()+","+i.getTrayId()); + if (ObjectUtils.isNotNull(i.getTrayId()) && !wu.getTrayId().contains(i.getTrayId())) { + wu.setTrayId(wu.getTrayId() + "," + i.getTrayId()); } //订单自编号信息 - if(ObjectUtils.isNotNull(i.getOrderCode()) && !wu.getOrderCode().contains(i.getOrderCode())){ - wu.setOrderCode(wu.getOrderCode()+","+i.getOrderCode()); + if (ObjectUtils.isNotNull(i.getOrderCode()) && !wu.getOrderCode().contains(i.getOrderCode())) { + wu.setOrderCode(wu.getOrderCode() + "," + i.getOrderCode()); } //订单id信息 - if(ObjectUtils.isNotNull(wu.getStockArticleId()) && !wu.getStockArticleId().contains(i.getStockArticleId())){ - wu.setStockArticleId(wu.getStockArticleId()+","+i.getStockArticleId()); + if (ObjectUtils.isNotNull(wu.getStockArticleId()) && !wu.getStockArticleId().contains(i.getStockArticleId())) { + wu.setStockArticleId(wu.getStockArticleId() + "," + i.getStockArticleId()); } - if(wu.getPlanNum().equals(wu.getScanNum())){ + if (wu.getPlanNum().equals(wu.getScanNum())) { wu.setCompleteStact(true); - }else{ + } else { wu.setCompleteStact(false); } } }); - }else{ + } else { i.setPlanNum(i1); - if(ObjectUtils.isNotNull(i.getStockId())){ + if (ObjectUtils.isNotNull(i.getStockId())) { i.setScanNum(i2); i.setCompleteStact(true); - }else{ + } else { i.setScanNum(0); } listYou.add(i); @@ -913,80 +935,81 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl(listYou); } - public List selectDiscussInfo(Long reservationId,StockupDTO stockupDTO){ + + public List selectDiscussInfo(Long reservationId, StockupDTO stockupDTO) { //商 市 //1.根据预约单id 查询到对应的数据 - List list = distributionReservationService.selectStockupOrderList(reservationId,stockupDTO.getIsZero()); - if(!list.isEmpty() && ObjectUtils.isNull(list.get(0))){ + List list = distributionReservationService.selectStockupOrderList(reservationId, stockupDTO.getIsZero()); + if (!list.isEmpty() && ObjectUtils.isNull(list.get(0))) { return new ArrayList<>(); } //零担查询货位,托盘信息 - if(stockupDTO.getIsZero().equals("1")){ + if (stockupDTO.getIsZero().equals("1")) { List zeroTrayInfo = getZeroTrayInfo(list); - if(!zeroTrayInfo.isEmpty()){ + if (!zeroTrayInfo.isEmpty()) { list = zeroTrayInfo; } } List collect11 = list.stream().filter(o -> ObjectUtils.isNotNull(o.getAllocationId())).collect(Collectors.toList()); //有货位 Set listYou = new HashSet<>(); // - collect11.forEach( p ->{ + collect11.forEach(p -> { //查询零担信息 DistributionReservationZeroPackageEntity one = new DistributionReservationZeroPackageEntity(); - if(stockupDTO.getIsZero().equals("1")) { + if (stockupDTO.getIsZero().equals("1")) { //零担 查询预约数量 - one = reservationZeroPackageService.getOneZeroPackageNum(p.getParcelListId(),stockupDTO.getReservationId() ); + one = reservationZeroPackageService.getOneZeroPackageNum(p.getParcelListId(), stockupDTO.getReservationId()); } int i1 = stockupDTO.getIsZero().equals("1") ? one.getQuantity() : 1; int i2 = stockupDTO.getIsZero().equals("1") ? one.getRealityQuantity() : 1; - if(listYou.size() > 0){ + if (listYou.size() > 0) { // boolean b = listYou.stream().anyMatch(a -> a.getAllocationId().equals(p.getAllocationId())); - if(b){ + if (b) { //有一样的 - listYou.forEach( y -> { - if(y.getAllocationId().equals(p.getAllocationId())){ + listYou.forEach(y -> { + if (y.getAllocationId().equals(p.getAllocationId())) { //相同 - y.setPlanNum(y.getPlanNum()+i1); - if(ObjectUtils.isNotNull(p.getStockId())){ - y.setScanNum(y.getScanNum()+i2); + y.setPlanNum(y.getPlanNum() + i1); + if (ObjectUtils.isNotNull(p.getStockId())) { + y.setScanNum(y.getScanNum() + i2); } //t托盘信息 - if(ObjectUtils.isNotNull(y.getTrayId()) && !y.getTrayId().contains(p.getTrayId())){ - y.setTrayId(y.getTrayId()+","+p.getTrayId()); + if (ObjectUtils.isNotNull(y.getTrayId()) && !y.getTrayId().contains(p.getTrayId())) { + y.setTrayId(y.getTrayId() + "," + p.getTrayId()); } //t托盘信息 - if(ObjectUtils.isNotNull(y.getPallet()) && !y.getPallet().contains(p.getPallet())){ - y.setPallet(y.getPallet()+","+p.getPallet()); + if (ObjectUtils.isNotNull(y.getPallet()) && !y.getPallet().contains(p.getPallet())) { + y.setPallet(y.getPallet() + "," + p.getPallet()); } //订单自编号信息 - if(ObjectUtils.isNotNull(y.getOrderCode()) && !y.getOrderCode().contains(p.getOrderCode())){ - y.setOrderCode(y.getOrderCode()+","+p.getOrderCode()); + if (ObjectUtils.isNotNull(y.getOrderCode()) && !y.getOrderCode().contains(p.getOrderCode())) { + y.setOrderCode(y.getOrderCode() + "," + p.getOrderCode()); } //订单Id信息 - if(ObjectUtils.isNotNull(y.getStockArticleId()) && !y.getStockArticleId().contains(p.getStockArticleId())){ - y.setStockArticleId(y.getStockArticleId()+","+p.getStockArticleId()); + if (ObjectUtils.isNotNull(y.getStockArticleId()) && !y.getStockArticleId().contains(p.getStockArticleId())) { + y.setStockArticleId(y.getStockArticleId() + "," + p.getStockArticleId()); } } - } ); - }else{ + }); + } else { //没有 p.setPlanNum(i1); - if (ObjectUtils.isNull(p.getStockId())){ + if (ObjectUtils.isNull(p.getStockId())) { p.setScanNum(0); - }else{ + } else { p.setCompleteStact(true); p.setScanNum(i2); } listYou.add(p); } - }else{ + } else { // p.setPlanNum(i1); - if (ObjectUtils.isNull(p.getStockId())){ + if (ObjectUtils.isNull(p.getStockId())) { p.setScanNum(0); - }else{ + } else { p.setCompleteStact(true); p.setScanNum(i2); } @@ -996,93 +1019,93 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl collect22 = list.stream().filter(o -> ObjectUtils.isNull(o.getAllocationId())).collect(Collectors.toList()); //无货位 List listLi = new ArrayList<>(); //历史 - collect22.forEach(i ->{ + collect22.forEach(i -> { // 查询包件是否是货位 - DistributionStockAllocationVO stockAllocationVO = distributionStockService.selectAllocation(stockupDTO.getReservationId(),stockupDTO.getStockupId(),i.getParcelListId()); - if(ObjectUtils.isNotNull(stockAllocationVO)){ + DistributionStockAllocationVO stockAllocationVO = distributionStockService.selectAllocation(stockupDTO.getReservationId(), stockupDTO.getStockupId(), i.getParcelListId()); + if (ObjectUtils.isNotNull(stockAllocationVO)) { //添加以扫货位信息 i.setAllocation(stockAllocationVO.getPositionCode()); i.setAllocationId(stockAllocationVO.getAllocationId()); listLi.add(i); - }else{ + } else { listLi.add(i); } }); List collectYou = listLi.stream().filter(o -> ObjectUtils.isNotNull(o.getAllocationId())).collect(Collectors.toList());//有 List collectWu = listLi.stream().filter(o -> ObjectUtils.isNull(o.getAllocationId())).collect(Collectors.toList());//没有 - collectYou.forEach( p ->{ + collectYou.forEach(p -> { //查询零担信息 DistributionReservationZeroPackageEntity one = new DistributionReservationZeroPackageEntity(); - if(stockupDTO.getIsZero().equals("1")) { + if (stockupDTO.getIsZero().equals("1")) { //零担 查询预约数量 - one = reservationZeroPackageService.getOneZeroPackageNum(p.getParcelListId(),stockupDTO.getReservationId() ); + one = reservationZeroPackageService.getOneZeroPackageNum(p.getParcelListId(), stockupDTO.getReservationId()); } int i1 = stockupDTO.getIsZero().equals("1") ? one.getQuantity() : 1; int i2 = stockupDTO.getIsZero().equals("1") ? one.getRealityQuantity() : 1; - if(listYou.size() > 0){ + if (listYou.size() > 0) { // boolean b = listYou.stream().anyMatch(a -> a.getAllocationId().equals(p.getAllocationId())); - if(b){ + if (b) { //有一样的 - listYou.forEach( y -> { - if(y.getAllocationId().equals(p.getAllocationId())){ + listYou.forEach(y -> { + if (y.getAllocationId().equals(p.getAllocationId())) { //相同 - y.setPlanNum(y.getPlanNum()+i1); - if(ObjectUtils.isNotNull(p.getStockId())){ - y.setScanNum(y.getScanNum()+i2); + y.setPlanNum(y.getPlanNum() + i1); + if (ObjectUtils.isNotNull(p.getStockId())) { + y.setScanNum(y.getScanNum() + i2); } //t托盘信息 - if(ObjectUtils.isNotNull(y.getTrayId()) && ObjectUtils.isNotNull(p.getTrayId()) && !y.getTrayId().contains(p.getTrayId())){ - y.setTrayId(y.getTrayId()+","+p.getTrayId()); + if (ObjectUtils.isNotNull(y.getTrayId()) && ObjectUtils.isNotNull(p.getTrayId()) && !y.getTrayId().contains(p.getTrayId())) { + y.setTrayId(y.getTrayId() + "," + p.getTrayId()); } //托盘信息 - if(ObjectUtils.isNotNull(y.getPallet()) && ObjectUtils.isNotNull(p.getPallet()) && !y.getPallet().contains(p.getPallet())){ - y.setPallet(y.getPallet()+","+p.getPallet()); + if (ObjectUtils.isNotNull(y.getPallet()) && ObjectUtils.isNotNull(p.getPallet()) && !y.getPallet().contains(p.getPallet())) { + y.setPallet(y.getPallet() + "," + p.getPallet()); } //订单自编号信息 - if(ObjectUtils.isNotNull(y.getOrderCode()) && !y.getOrderCode().contains(p.getOrderCode())){ - y.setOrderCode(y.getOrderCode()+","+p.getOrderCode()); + if (ObjectUtils.isNotNull(y.getOrderCode()) && !y.getOrderCode().contains(p.getOrderCode())) { + y.setOrderCode(y.getOrderCode() + "," + p.getOrderCode()); } //订单id信息 - if(ObjectUtils.isNotNull(y.getStockArticleId()) && !y.getStockArticleId().contains(p.getStockArticleId())){ - y.setStockArticleId(y.getStockArticleId()+","+p.getStockArticleId()); + if (ObjectUtils.isNotNull(y.getStockArticleId()) && !y.getStockArticleId().contains(p.getStockArticleId())) { + y.setStockArticleId(y.getStockArticleId() + "," + p.getStockArticleId()); } - if(y.getPlanNum().equals(y.getScanNum())){ + if (y.getPlanNum().equals(y.getScanNum())) { y.setCompleteStact(true); - }else{ + } else { y.setCompleteStact(false); } } - } ); - }else{ + }); + } else { //没有 p.setPlanNum(i1); - if (ObjectUtils.isNull(p.getStockId())){ + if (ObjectUtils.isNull(p.getStockId())) { p.setScanNum(0); - }else{ + } else { p.setScanNum(i2); p.setCompleteStact(true); } listYou.add(p); } - }else{ + } else { // p.setPlanNum(i1); - if (ObjectUtils.isNull(p.getStockId())){ + if (ObjectUtils.isNull(p.getStockId())) { p.setScanNum(0); - }else{ + } else { p.setScanNum(i2); p.setCompleteStact(true); } listYou.add(p); } }); - collectWu.forEach(i ->{ + collectWu.forEach(i -> { //查询零担信息 DistributionReservationZeroPackageEntity one = new DistributionReservationZeroPackageEntity(); - if(stockupDTO.getIsZero().equals("1")) { + if (stockupDTO.getIsZero().equals("1")) { //零担 查询预约数量 one = reservationZeroPackageService.getOneZeroPackageNum(i.getParcelListId(), stockupDTO.getReservationId()); } @@ -1091,43 +1114,43 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl ObjectUtils.isNull(ko.getAllocationId())); - if(b){ - listYou.forEach( wu -> { - if(ObjectUtils.isNull(wu.getAllocationId())){ + if (b) { + listYou.forEach(wu -> { + if (ObjectUtils.isNull(wu.getAllocationId())) { //相同 - wu.setPlanNum(wu.getPlanNum()+i1); - if(ObjectUtils.isNotNull(i.getStockId())){ - wu.setScanNum(wu.getScanNum()+i2); + wu.setPlanNum(wu.getPlanNum() + i1); + if (ObjectUtils.isNotNull(i.getStockId())) { + wu.setScanNum(wu.getScanNum() + i2); } //托盘信息 - if(ObjectUtils.isNotNull(wu.getTrayId()) && ObjectUtils.isNotNull(i.getTrayId()) && !wu.getTrayId().contains(i.getTrayId())){ - wu.setTrayId(wu.getTrayId()+","+i.getTrayId()); + if (ObjectUtils.isNotNull(wu.getTrayId()) && ObjectUtils.isNotNull(i.getTrayId()) && !wu.getTrayId().contains(i.getTrayId())) { + wu.setTrayId(wu.getTrayId() + "," + i.getTrayId()); } //托盘信息 - if(ObjectUtils.isNotNull(wu.getPallet()) && ObjectUtils.isNotNull(i.getPallet()) && !wu.getPallet().contains(i.getPallet())){ - wu.setPallet(wu.getPallet()+","+i.getPallet()); + if (ObjectUtils.isNotNull(wu.getPallet()) && ObjectUtils.isNotNull(i.getPallet()) && !wu.getPallet().contains(i.getPallet())) { + wu.setPallet(wu.getPallet() + "," + i.getPallet()); } //订单自编号信息 - if(ObjectUtils.isNotNull(wu.getOrderCode()) && !wu.getOrderCode().contains(i.getOrderCode())){ - wu.setOrderCode(wu.getOrderCode()+","+i.getOrderCode()); + if (ObjectUtils.isNotNull(wu.getOrderCode()) && !wu.getOrderCode().contains(i.getOrderCode())) { + wu.setOrderCode(wu.getOrderCode() + "," + i.getOrderCode()); } //订单id信息 - if(ObjectUtils.isNotNull(wu.getStockArticleId()) && !wu.getStockArticleId().contains(i.getStockArticleId())){ - wu.setStockArticleId(wu.getStockArticleId()+","+i.getStockArticleId()); + if (ObjectUtils.isNotNull(wu.getStockArticleId()) && !wu.getStockArticleId().contains(i.getStockArticleId())) { + wu.setStockArticleId(wu.getStockArticleId() + "," + i.getStockArticleId()); } - if(wu.getPlanNum().equals(wu.getScanNum())){ + if (wu.getPlanNum().equals(wu.getScanNum())) { wu.setCompleteStact(true); - }else{ + } else { wu.setCompleteStact(false); } } }); - }else{ + } else { i.setPlanNum(i1); - if(ObjectUtils.isNotNull(i.getStockId())){ + if (ObjectUtils.isNotNull(i.getStockId())) { i.setScanNum(i2); i.setCompleteStact(true); - }else{ + } else { i.setScanNum(0); } listYou.add(i); @@ -1139,52 +1162,43 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl selectStockupStockList(StockupDTO stockupDTO) { Long reservationId = stockupDTO.getReservationId();//预约单id if (stockupDTO.getTypeService().equals("3")) { //自 List list = distributionStockupService.selectStockupSelf(reservationId); - list.forEach(i ->{ - if(i.getPlanNum().equals(i.getRealNum())){ + list.forEach(i -> { + if (i.getPlanNum().equals(i.getRealNum())) { i.setCompleteStact(true); } }); return list; } else { - /* List list1 = distributionReservationStocklistService.list(Wrappers.query().lambda() - .eq(DistributionReservationStocklistEntity::getReservationId, stockupDTO.getReservationId()) - .apply("stock_list_status in (1,3)") - ); - //查询库存品的类型 - List listType = new ArrayList<>(); - if(list1.isEmpty()){ - list1.stream().forEach( i ->{ - DistributionStockListEntity byId = distributionStockListService.getById(i.getStocklistId()); - listType.add(byId.getSourceType()); - }); - } - if(listType.isEmpty()){ - listType.forEach(i ->{ - if(i.equals("2")){ - //商,市 - List list = distributionReservationService.selectStockupStockList(reservationId); - }else { - - } - }); - }*/ - //商,市 List list = distributionReservationService.selectStockupStockList(reservationId); - list.forEach(i ->{ - if(i.getPlanNum().equals(i.getRealNum())){ - i.setCompleteStact(true); + + for (int i = 0; i < list.size(); i++) { + DistributionStockupStockListVO distributionStockupStockListVO = list.get(i); + if (distributionStockupStockListVO.getPlanNum().equals(distributionStockupStockListVO.getRealNum())) { + distributionStockupStockListVO.setCompleteStact(true); } - }); + // 查询货位信息 + String[] ids = distributionStockupStockListVO.getAllocations().split(","); + + List allocationInforByIds = warehouseGoodsAllocationClient.getAllocationInforByIds(ids); + + for (WarehouseGoodsAllocationEntity allocationInforById : allocationInforByIds) { + if (distributionStockupStockListVO.getAllocationList() == null) { + distributionStockupStockListVO.setAllocationList(new ArrayList<>()); + } + Map map = new HashMap<>(); + map.put("id", allocationInforById.getId()); + map.put("name", allocationInforById.getQrCode()); + distributionStockupStockListVO.getAllocationList().add(map); + } + } return list; } @@ -1192,10 +1206,10 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl list = new ArrayList<>(); - if(stockupDTO.getStatus().equals(1)){ + if (stockupDTO.getStatus().equals(1)) { //查询已下架的数据 list = distributionParcelListService.selectOrderInfoAllocationList(stockupDTO); - }else{ + } else { //没有下架 List packageStockupVOS = distributionParcelListService.selectOrderInfoList(stockupDTO); // list = distributionParcelListService.selectOrderInfoList(stockupDTO); @@ -1220,14 +1234,14 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl iterator = list.iterator(); - if(ObjectUtils.isNotNull(stockupDTO.getAllocationId())){ + if (ObjectUtils.isNotNull(stockupDTO.getAllocationId())) { //有 - while (iterator.hasNext()){ + while (iterator.hasNext()) { PackageStockupVO vo = iterator.next(); - if(ObjectUtils.isNull(vo.getPositionCode()) || ObjectUtils.isNotNull(vo.getAllocationId()) && !vo.getAllocationId().equals(stockupDTO.getAllocationId()) ){ + if (ObjectUtils.isNull(vo.getPositionCode()) || ObjectUtils.isNotNull(vo.getAllocationId()) && !vo.getAllocationId().equals(stockupDTO.getAllocationId())) { iterator.remove(); continue; } @@ -1244,7 +1258,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl + * reservationId 自提id + * stockArticleId 订单id + * stockupId 备货id + * trayId 托盘id * - * reservationId 自提id - * stockArticleId 订单id - * stockupId 备货id - * trayId 托盘id * @return */ @Override public DistributionStockupOrderInfoVO selectOrderInfoSelf(StockupDTO stockupDTO) { DistributionStockArticleEntity byId = distributionStockArticleService.getById(stockupDTO.getStockArticleId()); - if(stockupDTO.getStatus().equals(1)){ + if (stockupDTO.getStatus().equals(1)) { //已备货 List distributionStockupSelf = distrilbutionBillStockService.selectDistrilbutionBillOverPackWuSelf(stockupDTO); // DistributionStockupSelfVO distributionStockupSelfVO = distrilbutionBillStockService.selectDistrilbutionBillPackWuSelf(stockupDTO.getReservationId(), stockupDTO.getStockupId()); DistributionStockupSelfVO distributionStockupSelfVO = new DistributionStockupSelfVO(); AtomicReference j = new AtomicReference<>(0); AtomicReference y = new AtomicReference<>(0); - if(ObjectUtils.isNotNull(stockupDTO.getAllocationId())){ + if (ObjectUtils.isNotNull(stockupDTO.getAllocationId())) { distributionStockupSelf.forEach(i -> { - if(ObjectUtils.isNotNull(i.getLwugId())){ + if (ObjectUtils.isNotNull(i.getLwugId())) { j.updateAndGet(v -> v + i.getPlanNum()); y.updateAndGet(v -> v + i.getScanNum()); - if(ObjectUtils.isNull(distributionStockupSelfVO.getConsignee())){ + if (ObjectUtils.isNull(distributionStockupSelfVO.getConsignee())) { distributionStockupSelfVO.setConsignee(i.getConsignee()); - }else{ - if(ObjectUtils.isNotNull(i.getConsignee()) && !distributionStockupSelfVO.getConsignee().contains(i.getConsignee()) ){ - distributionStockupSelfVO.setConsignee(distributionStockupSelfVO.getConsignee()+","+i.getConsignee()); + } else { + if (ObjectUtils.isNotNull(i.getConsignee()) && !distributionStockupSelfVO.getConsignee().contains(i.getConsignee())) { + distributionStockupSelfVO.setConsignee(distributionStockupSelfVO.getConsignee() + "," + i.getConsignee()); } } - if(ObjectUtils.isNull(distributionStockupSelfVO.getTrays())){ + if (ObjectUtils.isNull(distributionStockupSelfVO.getTrays())) { distributionStockupSelfVO.setTrays(i.getTrays()); - }else{ - if(ObjectUtils.isNotNull(i.getTrays()) && !distributionStockupSelfVO.getTrays().contains(i.getTrays())){ - distributionStockupSelfVO.setTrays(distributionStockupSelfVO.getTrays()+","+i.getTrays()); + } else { + if (ObjectUtils.isNotNull(i.getTrays()) && !distributionStockupSelfVO.getTrays().contains(i.getTrays())) { + distributionStockupSelfVO.setTrays(distributionStockupSelfVO.getTrays() + "," + i.getTrays()); } } } }); - }else{ + } else { distributionStockupSelf.forEach(i -> { - if(ObjectUtils.isNull(i.getLwugId())){ + if (ObjectUtils.isNull(i.getLwugId())) { j.updateAndGet(v -> v + 1); y.updateAndGet(v -> v + i.getScanNum()); - if(ObjectUtils.isNull(distributionStockupSelfVO.getConsignee())){ + if (ObjectUtils.isNull(distributionStockupSelfVO.getConsignee())) { distributionStockupSelfVO.setConsignee(i.getConsignee()); - }else{ - if(ObjectUtils.isNotNull(i.getConsignee()) && !distributionStockupSelfVO.getConsignee().contains(i.getConsignee()) ){ - distributionStockupSelfVO.setConsignee(distributionStockupSelfVO.getConsignee()+","+i.getConsignee()); + } else { + if (ObjectUtils.isNotNull(i.getConsignee()) && !distributionStockupSelfVO.getConsignee().contains(i.getConsignee())) { + distributionStockupSelfVO.setConsignee(distributionStockupSelfVO.getConsignee() + "," + i.getConsignee()); } } - if(ObjectUtils.isNull(distributionStockupSelfVO.getTrays())){ + if (ObjectUtils.isNull(distributionStockupSelfVO.getTrays())) { distributionStockupSelfVO.setTrays(i.getTrays()); - }else{ - if(ObjectUtils.isNotNull(i.getTrays()) && !distributionStockupSelfVO.getTrays().contains(i.getTrays())){ - distributionStockupSelfVO.setTrays(distributionStockupSelfVO.getTrays()+","+i.getTrays()); + } else { + if (ObjectUtils.isNotNull(i.getTrays()) && !distributionStockupSelfVO.getTrays().contains(i.getTrays())) { + distributionStockupSelfVO.setTrays(distributionStockupSelfVO.getTrays() + "," + i.getTrays()); } } } @@ -1373,7 +1388,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl list = distributionParcelListService.selectOrderInfoSelfAllocationList(stockupDTO); Iterator iterator = list.iterator(); List listPack = new ArrayList<>(); - if(ObjectUtils.isNotNull(stockupDTO.getAllocationId()) ){ - while (iterator.hasNext()){ + if (ObjectUtils.isNotNull(stockupDTO.getAllocationId())) { + while (iterator.hasNext()) { PackageStockupVO next = iterator.next(); - if(stockupDTO.getAllocationId().equals(next.getAllocationId()) ){ + if (stockupDTO.getAllocationId().equals(next.getAllocationId())) { next.setIsScanStr("已备货"); next.setIsScan(2); listPack.add(next); } } - }else{ - while (iterator.hasNext()){ + } else { + while (iterator.hasNext()) { PackageStockupVO next = iterator.next(); - if(ObjectUtils.isNull(next.getAllocationId())){ + if (ObjectUtils.isNull(next.getAllocationId())) { next.setIsScanStr("已备货"); next.setIsScan(2); listPack.add(next); @@ -1416,39 +1431,39 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl distributionStockupSelfVOS = distrilbutionBillStockService.selectDistrilbutionBillPackSelf(stockupDTO); List collect = distributionStockupSelfVOS.stream().filter(i -> ObjectUtils.isNotNull(i.getWarehouseArea())).collect(Collectors.toList()); - DistributionStockupSelfVO distributionStockup= new DistributionStockupSelfVO(); + DistributionStockupSelfVO distributionStockup = new DistributionStockupSelfVO(); AtomicReference j = new AtomicReference<>(0); AtomicReference y = new AtomicReference<>(0); collect.forEach(i -> { j.updateAndGet(v -> v + i.getPlanNum()); y.updateAndGet(v -> v + i.getScanNum()); - if(ObjectUtils.isNull(distributionStockup.getConsignee())){ + if (ObjectUtils.isNull(distributionStockup.getConsignee())) { distributionStockup.setConsignee(i.getConsignee()); - }else{ - if(ObjectUtils.isNotNull(distributionStockup.getConsignee()) && !distributionStockup.getConsignee().contains(i.getConsignee())){ + } else { + if (ObjectUtils.isNotNull(distributionStockup.getConsignee()) && !distributionStockup.getConsignee().contains(i.getConsignee())) { String s = distributionStockup.getConsignee() + i.getConsignee(); distributionStockup.setConsignee(s); } } - if(ObjectUtils.isNull(distributionStockup.getTrays()) ){ + if (ObjectUtils.isNull(distributionStockup.getTrays())) { distributionStockup.setTrays(i.getTrays()); - }else{ - if(ObjectUtils.isNotNull(distributionStockup.getTrays()) && !distributionStockup.getTrays().contains(i.getTrays())){ + } else { + if (ObjectUtils.isNotNull(distributionStockup.getTrays()) && !distributionStockup.getTrays().contains(i.getTrays())) { String s = distributionStockup.getTrays() + i.getTrays(); distributionStockup.setTrays(s); } } - if(ObjectUtils.isNull(distributionStockup.getWarehouseArea()) ){ + if (ObjectUtils.isNull(distributionStockup.getWarehouseArea())) { distributionStockup.setWarehouseArea(i.getWarehouseArea()); - }else{ - if(ObjectUtils.isNotNull(distributionStockup.getWarehouseArea()) && !distributionStockup.getWarehouseArea().contains(i.getWarehouseArea())){ + } else { + if (ObjectUtils.isNotNull(distributionStockup.getWarehouseArea()) && !distributionStockup.getWarehouseArea().contains(i.getWarehouseArea())) { String s = distributionStockup.getWarehouseArea() + i.getWarehouseArea(); distributionStockup.setWarehouseArea(s); } @@ -1457,27 +1472,27 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl distributionStockupSelfVOS = distrilbutionBillStockService.selectDistrilbutionBillPackWuSelf(stockupDTO.getReservationId(), stockupDTO.getStockupId()); - DistributionStockupSelfVO distributionStockup= new DistributionStockupSelfVO(); + DistributionStockupSelfVO distributionStockup = new DistributionStockupSelfVO(); AtomicReference y = new AtomicReference<>(0); distributionStockupSelfVOS.forEach(i -> { - if(ObjectUtils.isNull(i.getAllocationId())){ + if (ObjectUtils.isNull(i.getAllocationId())) { y.updateAndGet(v -> v + i.getScanNum()); - if(ObjectUtils.isNull(distributionStockup.getConsignee())){ + if (ObjectUtils.isNull(distributionStockup.getConsignee())) { distributionStockup.setConsignee(i.getConsignee()); - }else{ - if(ObjectUtils.isNotNull(i.getConsignee()) && !distributionStockup.getConsignee().contains(i.getConsignee()) ){ + } else { + if (ObjectUtils.isNotNull(i.getConsignee()) && !distributionStockup.getConsignee().contains(i.getConsignee())) { String s = distributionStockup.getConsignee() + i.getConsignee(); distributionStockup.setConsignee(s); } } - if(ObjectUtils.isNull(distributionStockup.getTrays())){ + if (ObjectUtils.isNull(distributionStockup.getTrays())) { distributionStockup.setTrays(i.getTrays()); - }else{ - if(ObjectUtils.isNotNull(i.getTrays()) && !distributionStockup.getTrays().contains(i.getTrays())){ - String s = distributionStockup.getTrays() +","+ i.getTrays(); + } else { + if (ObjectUtils.isNotNull(i.getTrays()) && !distributionStockup.getTrays().contains(i.getTrays())) { + String s = distributionStockup.getTrays() + "," + i.getTrays(); distributionStockup.setTrays(s); } } @@ -1487,7 +1502,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl list = distributionParcelListService.selectOrderInfoSelfList(stockupDTO); Iterator iterator = list.iterator(); AtomicReference j = new AtomicReference<>(0); - if(Objects.isNull(stockupDTO.getAllocationId())){ + if (Objects.isNull(stockupDTO.getAllocationId())) { - while (iterator.hasNext()){ + while (iterator.hasNext()) { j.updateAndGet(v -> v + 1); PackageStockupVO next = iterator.next(); - if(ObjectUtils.isNotNull(next.getAllocationId()) ){ + if (ObjectUtils.isNotNull(next.getAllocationId())) { iterator.remove(); continue; } @@ -1515,11 +1530,11 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl v + 1); PackageStockupVO next = iterator.next(); - if(ObjectUtils.isNull(next.getPositionCode()) ){ + if (ObjectUtils.isNull(next.getPositionCode())) { iterator.remove(); continue; } @@ -1565,7 +1580,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl distributionStockupVOIPage = baseMapper.detailOrderOwn(page, id); distributionStockupVOIPage.getRecords().forEach(o -> { if (ObjectUtils.isNotNull(o.getStockArticleId())) { - Integer integer = distributionStockService.selectCount(Long.parseLong(o.getStockArticleId()),id); + Integer integer = distributionStockService.selectCount(Long.parseLong(o.getStockArticleId()), id); o.setNumber(integer); } }); @@ -1583,7 +1598,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl getInventoryOwn(IPage page, Long id) { IPage l = new Page<>(); List inventoryChe = baseMapper.getInventoryChe(id); - if(ObjectUtils.isNotNull(inventoryChe) && ObjectUtils.isNotNull(inventoryChe.get(0))){ + if (ObjectUtils.isNotNull(inventoryChe) && ObjectUtils.isNotNull(inventoryChe.get(0))) { boolean b = inventoryChe.stream().anyMatch(i -> i.getReservationStockListNum() > 0); if (b) { //查询库存品 @@ -1591,7 +1606,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl list = distributionStockListService.selectStockListInfoList(reservationId, stockListId); entity.setStockList(list); @@ -1650,7 +1665,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl list = distributionStockListService.selectStockListInfoSelfList(reservationId, stockListId); entity.setStockList(list); return entity; @@ -1697,6 +1712,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl list = new ArrayList<>(); - if(ObjectUtils.isNotNull(one)){ - if(one.getStockUpType().equals("3")){ + if (ObjectUtils.isNotNull(one)) { + if (one.getStockUpType().equals("3")) { //自提 - list = distrilbutionBillStockService.listPackageSelf(stockupDTO.getReservationId()); - }else{ + list = distrilbutionBillStockService.listPackageSelf(stockupDTO.getReservationId()); + } else { // 市,自 //查询包件信息 - list = distributionReservationPackageService.listPackage(stockupDTO.getReservationId()); + list = distributionReservationPackageService.listPackage(stockupDTO.getReservationId()); } - }else { + } else { log.warn("预约信息不存在!"); return Resp.scanFail(PdaAudioLingoStatus.yuyuebuzai.getName(), PdaAudioLingoStatus.yuyuebuzai.getName()); } - if(list.size() < 1){ + if (list.size() < 1) { log.warn("包件信息不存在!"); return Resp.scanFail(PdaAudioLingoStatus.baojianbucunzai.getName(), PdaAudioLingoStatus.baojianbucunzai.getName()); } //查询托盘上面的包件 - List trayIdList = warehouseTrayGoodsClient.getTrayIdList(stockupDTO.getTrayId(),stockupDTO.getTrayBarCode()); + List trayIdList = warehouseTrayGoodsClient.getTrayIdList(stockupDTO.getTrayId(), stockupDTO.getTrayBarCode()); List voList = new ArrayList<>(); List finalList = list; - if(trayIdList.isEmpty()){ + if (trayIdList.isEmpty()) { return Resp.scanFail("托盘信息错误!!!", "托盘信息错误!!!"); } List trayIdListCode = trayIdList.stream().filter(i -> i.getTrayCode().equals(stockupDTO.getTrayBarCode())).collect(Collectors.toList()); @@ -1786,7 +1802,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl l.getParcelListId().equals(t.getAssociationId())); if (b) { finalList.stream().forEach(i -> { - if(i.getParcelListId().equals(t.getAssociationId())){ + if (i.getParcelListId().equals(t.getAssociationId())) { DistributionStockPackageVO distributionStockPackageVO = i; log.warn("找到了匹配的对象:" + distributionStockPackageVO); voList.add(distributionStockPackageVO); @@ -1806,7 +1822,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl { //查询是否已备货 DistributionParcelListEntity byId = distributionParcelListService.getById(i.getParcelListId()); - if(ObjectUtils.isNotNull(byId) && !byId.getOrderPackageStockupStatus().equals(OrderPackageStockupStatusConstant.yibeihu.getValue())){ + if (ObjectUtils.isNotNull(byId) && !byId.getOrderPackageStockupStatus().equals(OrderPackageStockupStatusConstant.yibeihu.getValue())) { fa.set(true); DistributionStockEntity distributionStock = new DistributionStockEntity(); //修改包件备货状态 @@ -1817,11 +1833,11 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl collect = voList.stream().map(DistributionStockPackageVO::getParcelListId).collect(Collectors.toList()); boolean update = distributionParcelListService.update(Wrappers.lambdaUpdate() .in(DistributionParcelListEntity::getId, collect) .set(DistributionParcelListEntity::getOrderPackageStockupStatus, OrderPackageStockupStatusConstant.yibeihu.getValue()) ); - if(!update){ + if (!update) { log.info("包件备货信息修改失败!!"); throw new ServiceException("包件备货信息修改失败!!"); } //判断备货任务是否完成 - if(one.getStockUpType().equals("3")){ - distributionAsyncService.stockupSelfUpdateState(stockupDTO,list1.size()); - }else{ - distributionAsyncService.stockupUpdateState(stockupDTO,list1.size()); + if (one.getStockUpType().equals("3")) { + distributionAsyncService.stockupSelfUpdateState(stockupDTO, list1.size()); + } else { + distributionAsyncService.stockupUpdateState(stockupDTO, list1.size()); } distributionStockService.saveBatch(list1); } int i = list1.isEmpty() ? 0 : list1.size(); - return Resp.scanSuccess("整托拣货"+i+"件","整托拣货"+i+"件"); + return Resp.scanSuccess("整托拣货" + i + "件", "整托拣货" + i + "件"); } } @@ -1931,7 +1947,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl trayIdList = warehouseTrayGoodsClient.getTrayIdList(i.getTrayId().toString(),trayIdCode); + List trayIdList = warehouseTrayGoodsClient.getTrayIdList(i.getTrayId().toString(), trayIdCode); if (trayPackNum.equals(trayIdList.size())) { trays.set(true); } @@ -1978,7 +1994,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); - if(stockupDTO.getOrderCode().contains(",")){ + if (stockupDTO.getOrderCode().contains(",")) { stockupDTO.setOrderCodeList(stockupDTO.getOrderCode().split(",")); - queryWrapper.in("order_self_numbering",stockupDTO.getOrderCodeList()); + queryWrapper.in("order_self_numbering", stockupDTO.getOrderCodeList()); stockupDTO.setOrderCode(null); - }else{ - queryWrapper.eq("order_self_numbering",orderCode); + } else { + queryWrapper.eq("order_self_numbering", orderCode); } String packetBarCode = stockupDTO.getPacketBarCode(); Integer integer = baseMapper.selectPackageExist(stockupDTO); //查询包件信息 if (ObjectUtils.isNotNull(integer) && integer > 0) { //存在 - queryWrapper.eq("coding",packetBarCode); - queryWrapper.eq("stockup_id",stockupId); - queryWrapper.eq("reservation_id",reservationId); + queryWrapper.eq("coding", packetBarCode); + queryWrapper.eq("stockup_id", stockupId); + queryWrapper.eq("reservation_id", reservationId); List list = distributionStockService.list(queryWrapper); if (!list.isEmpty()) { //重复扫码 @@ -2068,7 +2084,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImplquery().lambda() .eq(DisStockOrdercodeRecoEntity::getCode, stockupDTO.getPacketBarCode()) ); - if(ObjectUtils.isNotNull(one) && one.getCodeStatus().equals("1")){ + if (ObjectUtils.isNotNull(one) && one.getCodeStatus().equals("1")) { return 8; } //查询仓库信息 库存品信息 @@ -2211,57 +2228,57 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl list = distributionParcelListService.list(Wrappers.query().lambda() - .eq(DistributionParcelListEntity::getOrderPackageCode, stockupDTO.getPacketBarCode()) - .eq(DistributionParcelListEntity::getOrderPackageStockupStatus, OrderPackageStockupStatusConstant.daibeihuo.getValue()) - .eq(DistributionParcelListEntity::getWarehouseId, byId.getWarehouseId()) - ); - if(list.isEmpty()){ - return 7; - } - //查询包件信息与库存品选择物料是否一样 - if(!byId.getMaterialId().equals(list.get(0).getMaterialId())){ - //不一样 - return 10; - } + switch (stockupDTO.getStockPrint()) { + case 1: + //查询原有的包件码有没有操作 + List list = distributionParcelListService.list(Wrappers.query().lambda() + .eq(DistributionParcelListEntity::getOrderPackageCode, stockupDTO.getPacketBarCode()) + .eq(DistributionParcelListEntity::getOrderPackageStockupStatus, OrderPackageStockupStatusConstant.daibeihuo.getValue()) + .eq(DistributionParcelListEntity::getWarehouseId, byId.getWarehouseId()) + ); + if (list.isEmpty()) { + return 7; + } + //查询包件信息与库存品选择物料是否一样 + if (!byId.getMaterialId().equals(list.get(0).getMaterialId())) { + //不一样 + return 10; + } + //绑定码 + disStockListDetail.setStockPackageCode(stockupDTO.getPacketBarCode()); + disStockListDetail.setId(list1.get(0).getId()); + break; + case 2: + //生成的扫描的包条码 + + //查询有没有生成的数据 + DisStockOrdercodeRecoEntity one1 = disStockOrdercodeRecoService.getOne(Wrappers.query().lambda() + .eq(DisStockOrdercodeRecoEntity::getCode, stockupDTO.getPacketBarCode()) + .eq(DisStockOrdercodeRecoEntity::getCodeStatus, "0") + ); + if (ObjectUtils.isNotNull(one1)) { //绑定码 disStockListDetail.setStockPackageCode(stockupDTO.getPacketBarCode()); disStockListDetail.setId(list1.get(0).getId()); + //修改包件码状态 + ordercodeRecoEntity.setCodeStatus("1"); + ordercodeRecoEntity.setId(one1.getId()); + disStockOrdercodeRecoService.updateById(ordercodeRecoEntity); break; - case 2: - //生成的扫描的包条码 - - //查询有没有生成的数据 - DisStockOrdercodeRecoEntity one1 = disStockOrdercodeRecoService.getOne(Wrappers.query().lambda() - .eq(DisStockOrdercodeRecoEntity::getCode, stockupDTO.getPacketBarCode()) - .eq(DisStockOrdercodeRecoEntity::getCodeStatus, "0") - ); - if (ObjectUtils.isNotNull(one1)) { - //绑定码 - disStockListDetail.setStockPackageCode(stockupDTO.getPacketBarCode()); - disStockListDetail.setId(list1.get(0).getId()); - //修改包件码状态 - ordercodeRecoEntity.setCodeStatus("1"); - ordercodeRecoEntity.setId(one1.getId()); - disStockOrdercodeRecoService.updateById(ordercodeRecoEntity); - break; - } else { - //包条码不存在 - return 7; - } - } - disStockListDetailService.updateById(disStockListDetail); //补充扫码数据 - return 1; + } else { + //包条码不存在 + return 7; + } + } + disStockListDetailService.updateById(disStockListDetail); //补充扫码数据 + return 1; } @@ -2298,13 +2315,13 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl getRoleList(String deptId, String tenantId) { List warehouseType = DictBizCache.getList("stock_personnel"); - if(warehouseType.isEmpty()){ + if (warehouseType.isEmpty()) { throw new ServiceException("注意,注意!拣货人员字典未配置!请配置!"); - }else{ + } else { List stringList = new ArrayList<>(); - warehouseType.stream().forEach(i ->{ + warehouseType.stream().forEach(i -> { R roleId = sysClient.getRoleIds(tenantId, i.getDictValue()); - if(ObjectUtils.isNotNull(roleId.getData())){ + if (ObjectUtils.isNotNull(roleId.getData())) { stringList.add(roleId.getData()); } }); @@ -2312,16 +2329,16 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl> listR = userSearchClient.listByRole(roleIds); BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse(); //有没有选择仓库信息 - if(ObjectUtils.isNotNull(myCurrentWarehouse)){ - if(!listR.getData().isEmpty()){ + if (ObjectUtils.isNotNull(myCurrentWarehouse)) { + if (!listR.getData().isEmpty()) { List collect = listR.getData().stream().filter(i -> ObjectUtils.isNotNull(i.getDeptId()) ? i.getDeptId().equals(myCurrentWarehouse.getDepartment().toString()) : false ).collect(Collectors.toList()); return collect; - }else{ + } else { return null; } - }else{ + } else { return listR.getData(); } @@ -2330,37 +2347,38 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl 0 ? Resp.scanSuccess("修改成功!","修改成功!") : Resp.scanFail("修改失败!","修改失败!"); - }else{ - return Resp.scanFail("备货区信息不存在!!!!","备货区信息不存在!!!!"); + return i > 0 ? Resp.scanSuccess("修改成功!", "修改成功!") : Resp.scanFail("修改失败!", "修改失败!"); + } else { + return Resp.scanFail("备货区信息不存在!!!!", "备货区信息不存在!!!!"); } } /** * 查询货位数据 */ - public WarehouseUpdownGoodsEntity getAllocationInfo(Long allocationId,String orderCode,Long warehouseId){ + public WarehouseUpdownGoodsEntity getAllocationInfo(Long allocationId, String orderCode, Long warehouseId) { //查询货位信息 WarehouseUpdownGoodsEntity updownGoodsEntity = new WarehouseUpdownGoodsEntity(); updownGoodsEntity.setAssociationType("1"); @@ -2370,36 +2388,37 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl zeroStockUpData;; + //把数据取出来 + List zeroStockUpData; + ; - if(stockupDTO.getTypeService().equals("3")){ - //自提 - if(ObjectUtils.isNull(stockupDTO.getAllocationId())){ - //没有货位 + if (stockupDTO.getTypeService().equals("3")) { //自提 - zeroStockUpData = distributionStockupService.getZeroStockUpDataMeiSelf(stockupDTO); - }else{ - //有 - zeroStockUpData = distributionStockupService.getZeroStockUpDataYouSelf(stockupDTO); - } - } else { - //商 ,市 - if(ObjectUtils.isNull(stockupDTO.getAllocationId())){ - //没有货位 - zeroStockUpData = distributionStockupService.getZeroStockUpDataMei(stockupDTO); - }else{ - //有 - zeroStockUpData = distributionStockupService.getZeroStockUpDataYou(stockupDTO); + if (ObjectUtils.isNull(stockupDTO.getAllocationId())) { + //没有货位 + //自提 + zeroStockUpData = distributionStockupService.getZeroStockUpDataMeiSelf(stockupDTO); + } else { + //有 + zeroStockUpData = distributionStockupService.getZeroStockUpDataYouSelf(stockupDTO); + } + } else { + //商 ,市 + if (ObjectUtils.isNull(stockupDTO.getAllocationId())) { + //没有货位 + zeroStockUpData = distributionStockupService.getZeroStockUpDataMei(stockupDTO); + } else { + //有 + zeroStockUpData = distributionStockupService.getZeroStockUpDataYou(stockupDTO); + } } - } - int xiugai= 0; + int xiugai = 0; List collect = stockupDTO.getList().stream().filter( //可以 a -> zeroStockUpData.stream().anyMatch(q -> q.getStockArticleId().equals(a.getStockArticleId()) && a.getQuantity() <= q.getQuantity() && a.getQuantity() > 0) - ).collect(Collectors.toList()); + ).collect(Collectors.toList()); //添加备货信息 List stockEntityList = new ArrayList<>(); - List jsonObjectList = new ArrayList<>(); + List jsonObjectList = new ArrayList<>(); for (StockupZeroVO i : collect) { JSONObject jsonObject = new JSONObject(); - jsonObject.put("warehouseId",myCurrentWarehouse.getId()); + jsonObject.put("warehouseId", myCurrentWarehouse.getId()); //查询是不是当前包件 DistributionReservationZeroPackageEntity byId1 = reservationZeroPackageService.getById(i.getId()); - if(ObjectUtils.isNull(byId1)){ + if (ObjectUtils.isNull(byId1)) { continue; } DistributionStockArticleEntity stockArticle = distributionStockArticleService.getById(byId1.getStockArticleId()); - if(ObjectUtils.isNull(stockArticle)){ + if (ObjectUtils.isNull(stockArticle)) { throw new ServiceException("订单数据不存在!!"); } - jsonObject.put("orderCode",stockArticle.getOrderCode()); - jsonObject.put("waybillCode",stockArticle.getWaybillNumber()); + jsonObject.put("orderCode", stockArticle.getOrderCode()); + jsonObject.put("waybillCode", stockArticle.getWaybillNumber()); //查询备货信息 QueryWrapper queryWrapper = new QueryWrapper<>(); - if(stockupDTO.getTypeService().equals("3")){ - queryWrapper.eq("bill_lading_id",stockupDTO.getReservationId()); - }else{ - queryWrapper.eq("reservation_id",stockupDTO.getReservationId()); + if (stockupDTO.getTypeService().equals("3")) { + queryWrapper.eq("bill_lading_id", stockupDTO.getReservationId()); + } else { + queryWrapper.eq("reservation_id", stockupDTO.getReservationId()); } //查询有没有备货过 - queryWrapper.eq("stock_article",i.getStockArticleId()); - queryWrapper.eq("stockup_id",stockupDTO.getStockupId()); + queryWrapper.eq("stock_article", i.getStockArticleId()); + queryWrapper.eq("stockup_id", stockupDTO.getStockupId()); queryWrapper.eq("parcel_list_id", byId1.getParcelListId()); - DistributionStockEntity one = distributionStockService.getOne(queryWrapper ); + DistributionStockEntity one = distributionStockService.getOne(queryWrapper); //查询备货数量 // DistributionReservationZeroPackageEntity byId = reservationZeroPackageService.getById(i.getId()); - if(i.getQuantity() > byId1.getQuantity()){ - return Resp.scanFail(i.getCategoryName()+"备货数量大于待备货数量!",i.getCategoryName()+"备货数量大于待备货数量!"); + if (i.getQuantity() > byId1.getQuantity()) { + return Resp.scanFail(i.getCategoryName() + "备货数量大于待备货数量!", i.getCategoryName() + "备货数量大于待备货数量!"); } Optional first = stockupDTO.getList().stream().filter(q -> i.getStockArticleId().equals(q.getStockArticleId()) && q.getQuantity() <= i.getQuantity() && q.getQuantity() > 0).findFirst(); - if(ObjectUtils.isNotNull(one)){ + if (ObjectUtils.isNotNull(one)) { //修改数量 DistributionStockEntity stockEntity = new DistributionStockEntity(); stockEntity.setId(one.getId()); stockEntity.setStockQuantity(first.get().getQuantity()); int i1 = first.get().getQuantity() - first.get().getRealityQuantity(); //这次备货的数量 - jsonObject.put("enterNum",i1); + jsonObject.put("enterNum", i1); distributionStockService.updateById(stockEntity); - }else{ + } else { DistributionStockEntity stockEntity = new DistributionStockEntity(); stockEntity.setStockArticle(i.getStockArticleId()); stockEntity.setStockupId(stockupDTO.getStockupId()); stockEntity.setParcelListId(byId1.getParcelListId()); - if(stockupDTO.getTypeService().equals("3")){ + if (stockupDTO.getTypeService().equals("3")) { stockEntity.setBillLadingId(stockupDTO.getReservationId()); - }else{ + } else { stockEntity.setReservationId(stockupDTO.getReservationId()); } stockEntity.setConditions("2"); @@ -2507,11 +2527,11 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl list = new ArrayList<>(); - if(ObjectUtils.isNull(stockupDTO.getAllocationId())){ + if (ObjectUtils.isNull(stockupDTO.getAllocationId())) { //没有货位信息 //有没有多个订单数据 - if(stockupDTO.getStockArticleId().contains(",")){ + if (stockupDTO.getStockArticleId().contains(",")) { stockupDTO.setStockArticleIdList(stockupDTO.getStockArticleId().split(",")); stockupDTO.setStockArticleId(null); } - if(stockupDTO.getTypeService().equals("3")){ + if (stockupDTO.getTypeService().equals("3")) { //自提 list = distributionStockupService.getZeroStockUpDataMeiSelf(stockupDTO); } else { //商, 市 list = distributionStockupService.getZeroStockUpDataMei(stockupDTO); } - }else{ + } else { //有货位信息 //有没有多个订单数据 - if(stockupDTO.getOrderCode().contains(",")){ + if (stockupDTO.getOrderCode().contains(",")) { stockupDTO.setOrderCodeList(stockupDTO.getOrderCode().split(",")); stockupDTO.setOrderCode(null); } - if(stockupDTO.getTypeService().equals("3")){ + if (stockupDTO.getTypeService().equals("3")) { //自提 list = distributionStockupService.getZeroStockUpDataYouSelf(stockupDTO); } else { @@ -2601,7 +2622,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl{ + list.stream().forEach(i -> { DistributionStockArticleEntity byId = distributionStockArticleService.getById(i.getStockArticleId()); i.setOrderCode(byId.getOrderCode()); }); @@ -2613,13 +2634,13 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl idArr = null; - if (null != ids && !ids.toString().equals("")){ + if (null != ids && !ids.toString().equals("")) { idArr = Arrays.asList(paramMap.get("ids").toString().split(",")); } @@ -2653,13 +2674,13 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl idArr = null; - if (null != ids && !ids.toString().equals("")){ + if (null != ids && !ids.toString().equals("")) { idArr = Arrays.asList(paramMap.get("ids").toString().split(",")); } @@ -2692,13 +2713,13 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl idArr = null; - if (null != ids && !ids.toString().equals("")){ + if (null != ids && !ids.toString().equals("")) { idArr = Arrays.asList(paramMap.get("ids").toString().split(",")); } @@ -2729,27 +2750,169 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl trayIdList = warehouseTrayGoodsClient.getTrayIdList(vo.getTrayId(), vo.getPallet()); AtomicBoolean f = new AtomicBoolean(true); trayIdList.stream().collect(Collectors.groupingBy(WarehouseTrayGoodsEntity::getTrayId)). - forEach((k,v) ->{ + forEach((k, v) -> { // List di = new ArrayList<>(); // AtomicReference s = new AtomicReference<>(0); //已扫数量 - v.stream().forEach( i ->{ + v.stream().forEach(i -> { DistributionParcelListEntity byId = distributionParcelListService.getById(i.getAssociationId()); - if(!vo.getStockArticleId().contains(byId.getStockArticleId().toString())){ + if (!vo.getStockArticleId().contains(byId.getStockArticleId().toString())) { f.set(false); } }); - }); + }); return f.get(); } + @Override + public DistributionStockListEntity selectStockListInfoByCargoNumberList(Long reservationId, String cargoNumber, Long allocationId, String orderPackageCode) { + + + // 查询预约单上的商城 + DistributionReservationEntity distributionReservationEntity = distributionReservationMapper.selectById(reservationId); + //查询货位上物料信息 + // todo + BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); + + R r = warehouseUpdownTypeClient.findAllGoodsByAllocationId(allocationId, myCurrentWarehouse.getId()); + + String incomingBatches = null; + if (r.getData() != null) { + // 得到这个货位上的货物 + String s = (String) r.getData(); + JSONArray jsonArray = JSONObject.parseArray(s); + log.info(">>>>>>>>>>>>>>> 货位上的货物信息 {}", jsonArray); + + if (jsonArray != null) { + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject jsonObject = jsonArray.getJSONObject(i); + WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity = JSONObject.parseObject(jsonObject.toJSONString(), WarehouseUpdownGoodsEntity.class); + if (warehouseUpdownGoodsEntity.getAssociationType().equals("3")&&warehouseUpdownGoodsEntity.getAssociationValue().equals(orderPackageCode) ) { + // 得到的的是包件 通过包件 查询 通过包件码查询 + Map map =distributionStockListInfoMapper.selectDistributionStockByOrderPackageCodeAndWarehourseIdAndCargoNumber(warehouseUpdownGoodsEntity.getAssociationValue(),warehouseUpdownGoodsEntity.getWarehouseId(),cargoNumber); + if(ObjectUtils.isNotNull(map)){ + incomingBatches=map.get("incoming_batch").toString(); + break; + } + + } + + } + + } + + } + + if (!incomingBatches.isEmpty()) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper(); + lambdaQueryWrapper.eq(DistributionStockListEntity::getIncomingBatch, incomingBatches); + lambdaQueryWrapper.eq(DistributionStockListEntity::getCargoNumber, cargoNumber); + lambdaQueryWrapper.eq(DistributionStockListEntity::getMarketName, distributionReservationEntity.getMallName()); + // 入库 时间先进的先出 + lambdaQueryWrapper.orderByAsc(DistributionStockListEntity::getCreateTime); + DistributionStockListEntity distributionStockListEntities = distributionStockListMapper.selectOne(lambdaQueryWrapper); + + return distributionStockListEntities; + + } + + return null; + } + + @Override + public Long selectStockListInfoByCargoNumber(Long reservationId, String cargoNumber, Long allocationId) { + + // 查询预约单上的商城 + DistributionReservationEntity distributionReservationEntity = distributionReservationMapper.selectById(reservationId); + //查询货位上物料信息 + // todo + BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); + +// R updownTypeInforByAllocationId = warehouseUpdownTypeClient.findUpdownTypeInforByAllocationId(allocationId, myCurrentWarehouse.getId()); + R r = warehouseUpdownTypeClient.findAllGoodsByAllocationId(allocationId, myCurrentWarehouse.getId()); + + List incomingBatches = new ArrayList<>(); + if (r.getData() != null) { + // 得到这个货位上的货物 + String s = (String) r.getData(); + JSONArray jsonArray = JSONObject.parseArray(s); + log.info(">>>>>>>>>>>>>>> 货位上的货物信息 {}", jsonArray); + + if (jsonArray != null) { + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject jsonObject = jsonArray.getJSONObject(i); + WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity = JSONObject.parseObject(jsonObject.toJSONString(), WarehouseUpdownGoodsEntity.class); + if (warehouseUpdownGoodsEntity.getAssociationType().equals("4")) { + // 无数据库存品 + if (cargoNumber.equals(warehouseUpdownGoodsEntity.getAssociationValue()) && warehouseUpdownGoodsEntity.getMarketId().equals(distributionReservationEntity.getMallId())) { + incomingBatches.add(warehouseUpdownGoodsEntity.getIncomingBatch()); + } + } + + } + + } + + } + + // 查询库存品表 采用批次 + 物料编码定位 + if (!incomingBatches.isEmpty()) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper(); + lambdaQueryWrapper.in(DistributionStockListEntity::getIncomingBatch, incomingBatches); + lambdaQueryWrapper.eq(DistributionStockListEntity::getCargoNumber, cargoNumber); + lambdaQueryWrapper.eq(DistributionStockListEntity::getMarketName, distributionReservationEntity.getMallName()); + // 入库 时间先进的先出 + lambdaQueryWrapper.orderByAsc(DistributionStockListEntity::getCreateTime); + List distributionStockListEntities = distributionStockListMapper.selectList(lambdaQueryWrapper); + return distributionStockListEntities.get(0).getId(); + + } + return null; + } + + + @Override + public StockConfigInfoVO stockConfigList(StockupDTO stockupDTO) { + + + // 查询预约单的上的信息 + + StockConfigInfoVO stockConfigInfoVO = new StockConfigInfoVO(); + DistributionReservationEntity reservationEntity = distributionReservationService.getById(stockupDTO.getReservationId()); //预约信息 + stockConfigInfoVO.setCustomer(reservationEntity.getConsignee()); //客户0 + stockConfigInfoVO.setAddress(reservationEntity.getDeliveryAddress()); //地址 + + + List ls = new ArrayList<>(); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(DistributionStockEntity::getReservationId, stockupDTO.getReservationId()); + lambdaQueryWrapper.eq(DistributionStockEntity::getAllocationId, stockupDTO.getAllocationId()); + lambdaQueryWrapper.eq(DistributionStockEntity::getType, 2); + lambdaQueryWrapper.eq(DistributionStockEntity::getStockupId, stockupDTO.getStockupId()); + List distributionStockEntities = distributionStockMapper.selectList(lambdaQueryWrapper); + for (DistributionStockEntity distributionStockEntity : distributionStockEntities) { + StockConfigOrderPackageListVO stockConfigOrderPackageListVO = new StockConfigOrderPackageListVO(); + stockConfigOrderPackageListVO.setCode(distributionStockEntity.getCoding()); + stockConfigOrderPackageListVO.setNum(1); + stockConfigOrderPackageListVO.setCreateTime(distributionStockEntity.getCreateTime()); + // 查询批次 + DistributionStockListEntity distributionStockListEntity = distributionStockListMapper.selectById(distributionStockEntity.getStockListId()); + stockConfigOrderPackageListVO.setIncomingBatch(distributionStockListEntity.getIncomingBatch()); + ls.add(stockConfigOrderPackageListVO); + } + + stockConfigInfoVO.setStockConfigOrderPackageListVOS(ls); + return stockConfigInfoVO; + + } } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseGoodsAllocationClient.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseGoodsAllocationClient.java index e65dcfad7..68b198329 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseGoodsAllocationClient.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseGoodsAllocationClient.java @@ -27,6 +27,10 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + /** * 货位 Feign实现类 * @@ -55,5 +59,15 @@ public class WarehouseGoodsAllocationClient implements IWarehouseGoodsAllocation public Boolean updateAllocationCache(String ids) { return warehouseGoodsAllocationService.updateAllocationCache(ids); } + @GetMapping(TOP+ "/getAllocationInforByIds") + @Override + public List getAllocationInforByIds(String [] ids) { + List lss = new ArrayList<>(); + for (String id : ids) { + lss.add(Long.parseLong(id)); + } + + return warehouseGoodsAllocationService.listByIds(lss); + } } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownTypeClient.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownTypeClient.java index 03ce1c3e7..5397c18b4 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownTypeClient.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownTypeClient.java @@ -21,6 +21,8 @@ import com.logpm.warehouse.dto.UpShelfPackageDTO; import com.logpm.warehouse.dto.UpShelfStockDTO; import com.logpm.warehouse.dto.UpShelfZeroOrderDTO; import com.logpm.warehouse.service.IWarehouseUpdownTypeService; +import com.logpm.warehouse.vo.TragetAllocationVO; +import com.logpm.warehouse.vo.UpShelfAllocationVO; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.core.tool.api.R; @@ -164,4 +166,16 @@ public class WarehouseUpdownTypeClient implements IWarehouseUpdownTypeClient { public boolean packageChangeStock(List orderPackageCodes) { return warehouseUpdownTypeService.packageChangeStock(orderPackageCodes); } + + @Override + public R findUpdownTypeInforByAllocationId(Long allocationId, Long warehouseId) { + UpShelfAllocationVO upShelfAllocationVO = warehouseUpdownTypeService.upShelfScanAllocation(allocationId, warehouseId); + + return R.data(JSONObject.toJSONString(upShelfAllocationVO)); + } + + @Override + public R findAllGoodsByAllocationId(Long allocationId, Long warehouseId) { + return warehouseUpdownTypeService.findAllGoodsByAllocationId(allocationId,warehouseId); + } } 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 d6672e740..df8c48225 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 @@ -71,4 +71,5 @@ public interface IWarehouseUpdownTypeService extends BaseService orderPackageCodes); + R findAllGoodsByAllocationId(Long allocationId, Long warehouseId); } 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 61a38dd38..7b4f8d408 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 @@ -1,5 +1,6 @@ package com.logpm.warehouse.service.impl; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.logpm.basicdata.entity.*; import com.logpm.basicdata.feign.*; @@ -69,6 +70,15 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("allocation_id",allocationId); + List list = warehouseUpdownGoodsService.list(queryWrapper); + String jsonString = JSONObject.toJSONString(list); + return R.data(jsonString); + } + private void packageChangeStockByAllocaton(WarehouseUpdownGoodsEntity one) { From 368fbd507fb307aaa617f3e2e087fa3c807f08d5 Mon Sep 17 00:00:00 2001 From: caoyizhong <1270296080> Date: Mon, 27 Nov 2023 15:25:13 +0800 Subject: [PATCH 12/12] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9B=98=E7=82=B9?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E7=9B=98=E7=82=B9=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feign/IDistributionParcelListClient.java | 5 ++ .../feign/DistributionParcelListClient.java | 10 ++++ .../mapper/DistributionParcelListMapper.xml | 2 +- .../controller/TaskQuestController.java | 4 +- .../service/impl/TaskQuestServiceImpl.java | 47 +++++++++++++++++-- 5 files changed, 61 insertions(+), 7 deletions(-) diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java index 6b56d4cd6..7777a5ce2 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java @@ -43,11 +43,16 @@ public interface IDistributionParcelListClient { String API_PREFIX = "/client"; String TOP = API_PREFIX + "/top1"; String TOPPARCELLIST = API_PREFIX + "/getParcelList"; + String GETPARCELLISTID = API_PREFIX + "/getParcelListId"; String GETPARCELLISTINFO = API_PREFIX + "/getParcelListInfo"; @PostMapping(TOPPARCELLIST) List getParcelList(@RequestBody DistributionParcelListEntity parcelListEntity); + + @GetMapping(GETPARCELLISTID) + DistributionParcelListEntity getParcelListId(@RequestParam String id); + /** * 获取在库订单包件清单列表 * diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java index 02101bb2b..909e63177 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java @@ -66,6 +66,16 @@ public class DistributionParcelListClient implements IDistributionParcelListClie ); } + /** + * 根据包件id查询数据 + * @param id + * @return + */ + @Override + public DistributionParcelListEntity getParcelListId(String id) { + return distributionParcelListService.getById(id); + } + @Override @GetMapping(TOP) public BladePage top(Integer current, Integer size) { 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 0258593c7..cece9e1ba 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 @@ -99,7 +99,7 @@ from logpm_distribution_stock_article ldsa LEFT JOIN logpm_distribution_parcel_list ldpl on ldsa.id = ldpl.stock_article_id - ldsa.warehouse_id = #{param.warehouseId} and ldpl.order_package_status != '70' + ldsa.warehouse_id = #{param.warehouseId} and ldpl.order_package_status in (20,30,40) and ldsa.mall_id = #{param.mallId} and ldsa.genre = #{param.genre} and ldsa.is_zero = #{param.isZero} diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/TaskQuestController.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/TaskQuestController.java index 1e30c0f38..907e2faf3 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/TaskQuestController.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/TaskQuestController.java @@ -136,7 +136,7 @@ public class TaskQuestController extends BladeController { /** - * 查询盘点数据 + * 查询盘点明细数据 * @return */ @GetMapping("/getDetailInfo") @@ -270,7 +270,7 @@ public class TaskQuestController extends BladeController { } /** - * 盘点任务 盘点后的数据修改 + * 盘点任务 盘点后的数据查询 */ @GetMapping("/getQuestChildInfo") @ApiOperationSupport(order = 5) diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java index 07e58819a..f65913454 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java @@ -175,7 +175,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl detailEntityList = new ArrayList<>(); - parcelListInfo.stream().forEach( i ->{ + parcelListInfo.forEach( i ->{ QuestDetailEntity detailEntity = new QuestDetailEntity(); detailEntity.setId(getTaskID()); @@ -190,7 +190,15 @@ public class TaskQuestServiceImpl extends BaseServiceImpl stockArticleInfo = distributionStockArticleClient.getStockArticleInfo(stockArticle); - if(!stockArticleInfo.isEmpty()){ + if(ObjectUtils.isNotNull(stockArticleInfo) && !stockArticleInfo.isEmpty()){ detailEntityList.addAll(handleIsZeroList(stockArticleInfo,taskQuest)); } log.debug("零担 和 包件数据=={}",detailEntityList.size()); @@ -817,6 +825,37 @@ public class TaskQuestServiceImpl extends BaseServiceImpl{ QuestDetailVO questDetailVO = new QuestDetailVO(); BeanUtil.copyProperties(i,questDetailVO); + //查询包件信息 + if(ObjectUtils.isNotNull(i.getOrderPackageId()) ){ + + DistributionParcelListEntity parcelListId = distributionParcelListClient.getParcelListId(String.valueOf(i.getOrderPackageId())); + if(ObjectUtils.isNotNull(parcelListId)){ + questDetailVO.setFirsts(parcelListId.getFirsts()); + questDetailVO.setSecond(parcelListId.getSecond()); + questDetailVO.setThirdProduct(parcelListId.getThirdProduct()); + questDetailVO.setMaterialName(parcelListId.getMaterialName()); + questDetailVO.setMaterialCode(parcelListId.getMaterialCode()); + questDetailVO.setBrandName(parcelListId.getBrandName()); + } + }else if(i.getQuestTarget().equals(2)){ + //零担 + DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity(); + stockArticleEntity.setWarehouseId(i.getWarehouseId()); + stockArticleEntity.setId(i.getOrderId()); + List stockArticleInfo = distributionStockArticleClient.getStockArticleInfo(stockArticleEntity); + if(!stockArticleInfo.isEmpty()){ + // + questDetailVO.setOrderCode(stockArticleInfo.get(0).getOrderCode()); + } + + }else if(i.getQuestTarget().equals(3) && ObjectUtils.isNull(i.getOrderPackageId())){ + //库存平 无数据的 + DistributionStockListEntity stockListById = distributionStockListClient.getStockListById(i.getStockId()); + if(ObjectUtils.isNotNull( stockListById)){ + questDetailVO.setOrderCode(stockListById.getIncomingBatch()); + } + } + questDetailVOS.add(questDetailVO); }); @@ -1072,7 +1111,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl 0 ? true : false; + return baseMapper.updateById(taskQuest) > 0; } /**