From 2adc47d66973c9e1f4a4148633e7c11ec5970df4 Mon Sep 17 00:00:00 2001 From: caoyizhong <1270296080@qq.com> Date: Mon, 25 Sep 2023 19:07:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=87=AA=E6=8F=90=E6=95=B4?= =?UTF-8?q?=E6=89=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vo/DistributionStockupStockListVO.java | 2 + .../feign/IWarehouseTrayGoodsClient.java | 2 +- .../DistributionStockupAppController.java | 19 ++- .../distribution/dto/app/StockupDTO.java | 2 +- .../mapper/DistributionStockupMapper.xml | 33 +---- .../mapper/DistrilbutionBillStockMapper.java | 2 + .../mapper/DistrilbutionBillStockMapper.xml | 20 ++- ...DistributionReservationPackageService.java | 1 + .../IDistrilbutionBillStockService.java | 2 + .../impl/DistributionStockupServiceImpl.java | 129 +++++++++++++----- .../DistrilbutionBillStockServiceImpl.java | 5 + .../feign/WarehouseTrayGoodsClient.java | 15 +- .../feign/WarehouseUpdownGoodsClient.java | 4 +- 13 files changed, 151 insertions(+), 85 deletions(-) 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 e22c85bb8..a0517a9de 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 @@ -8,6 +8,8 @@ import java.io.Serializable; public class DistributionStockupStockListVO implements Serializable { private Long stockListId;//库存品id + private Long allocationId;//库存品id + private Long deliveryDetailsId; //自提库存品id diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTrayGoodsClient.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTrayGoodsClient.java index e198923cb..490c2ba9e 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTrayGoodsClient.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTrayGoodsClient.java @@ -68,6 +68,6 @@ public interface IWarehouseTrayGoodsClient { * @param trayId */ @PostMapping(GETTRAYIDLIST) - List<WarehouseTrayGoodsEntity> getTrayIdList(@RequestParam Long trayId); + List<WarehouseTrayGoodsEntity> getTrayIdList(@RequestParam String trayId); } 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 061440c0d..dab35a38d 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 @@ -61,6 +61,7 @@ import org.springframework.web.bind.annotation.*; import java.lang.reflect.Field; import java.util.*; +import java.util.stream.Collectors; /** * 备货信息表 app控制器 @@ -207,7 +208,13 @@ public class DistributionStockupAppController extends BladeController { map = convertObjectToMap(distributionStockupSelfVO); //客户订单 List<DistributionStockupOrderListVO> list = distributionStockupService.selectStockupOrderList(stockupDTO); - map.put("orderList", list); + List<DistributionStockupOrderListVO> collect = list.stream().filter(i -> { + if (ObjectUtils.isNotNull(i.getTrayId()) && !i.getPallet().contains(",") && !i.isCompleteStact() && ObjectUtils.isNotNull( i.getAllocationId()) ) { + i.setTrayLean(true); + } + return true; + }).collect(Collectors.toList()); + map.put("orderList", collect); } else { //查询备货区信息 DistributionStockupSelfVO distributionStockupSelfVO = distributionStockupService.selectStockupStockListDetails(reservationId); @@ -232,9 +239,9 @@ public class DistributionStockupAppController extends BladeController { for (DistributionStockupOrderListVO vo : list) { planNum = planNum + vo.getPlanNum(); scanNum = scanNum + vo.getScanNum(); - Boolean aBoolean = distributionStockupService.getClientStockupTray(reservationId, vo.getAllocationId()); +// Boolean aBoolean = distributionStockupService.getClientStockupTray(reservationId, vo.getAllocationId()); // Boolean aBoolean = distributionReservationPackageService.selectClientStockupState(reservationId, vo.getStockArticleId()); - vo.setTrayLean(aBoolean); +// vo.setTrayLean(aBoolean); } map.put("planNum", planNum); map.put("scanNum", scanNum); @@ -248,8 +255,8 @@ 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); @@ -276,7 +283,7 @@ public class DistributionStockupAppController extends BladeController { Integer orderStatus = stockupDTO.getOrderStatus();//1 客户订单 2库存品 Integer status = stockupDTO.getStatus();//0未完成 1已完成 Long allocationId = stockupDTO.getAllocationId(); //货位 - Long trayId = stockupDTO.getTrayId(); //托盘Id + Long trayId = Long.valueOf(stockupDTO.getTrayId()); //托盘Id if (ObjectUtils.isNull(stockupId)) { log.warn("##############orderInfo: 备货任务ID为空 allocation={}", stockupId); 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 7bcd849a0..cd9a75da9 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 @@ -51,7 +51,7 @@ public class StockupDTO implements Serializable { private String trayBarCode;//托盘码 private String typeService;//备货类型 private Integer stockPrint;//库存品扫码类型 1 原有包条 2打印处理的扫码 - private Long trayId;//货位ID + private String trayId;//货位ID private String stockupArea;//备货区 private Long stockupAreaId;//备货区ID private Long stockupId;//备货任务区Id 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 1eacd574a..1cc4c2655 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 @@ -258,22 +258,7 @@ LEFT JOIN logpm_distribution_stockup_info ldsi on ds.id = ldsi.stockup_id LEFT JOIN logpm_distribution_reservation_stocklist ldrs on ldrs.reservation_id = ldsi.reservation_id and ldrs.stock_list_status in (1,3) where ds.id = lds.id - ) inventoryNub, - ( - select COUNT(DISTINCT ldsk.id) - from logpm_distribution_stockup ds - LEFT JOIN logpm_distribution_stockup_info ldsi on ds.id = ldsi.stockup_id - LEFT JOIN logpm_distribution_reservation_package ldrp on ldrp.reservation_id = ldsi.reservation_id and ldrp.packet_bar_status in (1,3) - LEFT JOIN logpm_distribution_stock ldsk on ldsk.parcel_list_id = ldrp.parce_list_id and ldsk.stockup_id =ds.id - where ds.id = lds.id - )+( - select COUNT(DISTINCT ldsk.id) - from logpm_distribution_stockup ds - LEFT JOIN logpm_distribution_stockup_info ldsi on ds.id = ldsi.stockup_id - LEFT JOIN logpm_distribution_reservation_stocklist ldrs on ldrs.reservation_id = ldsi.reservation_id and ldrs.stock_list_status in (1,3) - LEFT JOIN logpm_distribution_stock ldsk on ldsk.stock_list_id = ldrs.stocklist_id and ldsk.stockup_id =ds.id - where ds.id = lds.id and ldsk.stockup_id = lds.id - ) realNum + ) inventoryNub from logpm_distribution_stockup lds LEFT JOIN logpm_distribution_stockup_info ldsi on lds.id = ldsi.stockup_id LEFT JOIN logpm_distribution_reservation_stockarticle ldrs on ldrs.reservation_id = ldsi.reservation_id @@ -322,21 +307,7 @@ select SUM(lddd.quantity) from logpm_distribution_delivery_details lddd where lddd.bill_lading_id = ldbs.bill_lading_id - ) inventoryNub, - ( - select COUNT(DISTINCT id) - from logpm_distribution_stock - where parcel_list_id in ( - select id - from logpm_distribution_parcel_list - where ldbs.stock_article_id = stock_article_id - ) and bill_lading_id = ldbs.bill_lading_id - )+( - select COUNT(DISTINCT lds.id) - from logpm_distribution_delivery_details lddd - LEFT JOIN logpm_distribution_stock lds on lddd.stock_list_id = lds.stock_list_id - where lds.bill_lading_id =ldbs.bill_lading_id - ) realNum + ) inventoryNub from logpm_distribution_stockup lds LEFT JOIN logpm_distribution_stockup_info ldsi on lds.id = ldsi.stockup_id and ldsi.stock_up_type = 3 LEFT JOIN logpm_distrilbution_bill_stock ldbs on ldbs.bill_lading_id = ldsi.reservation_id and ldbs.order_status in (1,2) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillStockMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillStockMapper.java index 90dbe85f5..8263b2d39 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillStockMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillStockMapper.java @@ -64,4 +64,6 @@ public interface DistrilbutionBillStockMapper extends BaseMapper<DistrilbutionBi List<DistributionStockupSelfVO> selectDistrilbutionBillPackWuSelf(@Param("reservationId")Long reservationId,@Param("stockupId") Long stockupId); List<DistributionStockupSelfVO> selectDistrilbutionBillOverPackWuSelf(@Param("param")StockupDTO stockupDTO); + + List<DistributionStockPackageVO> listPackageSelf(@Param("reservationId")Long reservationId); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillStockMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillStockMapper.xml index e4b93878f..000c8f084 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillStockMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillStockMapper.xml @@ -5,7 +5,13 @@ <!-- 通用查询映射结果 --> <resultMap id="distrilbutionBillStockResultMap" type="com.logpm.distribution.entity.DistrilbutionBillStockEntity"> </resultMap> + <select id="listPackageSelf" resultType="com.logpm.distribution.vo.DistributionStockPackageVO"> + select ldpl.id parcelListId,ldpl.order_package_code packetBarCode,ldbs.stock_article_id stockArticleId,ldbs.bill_lading_id reservationId,ldpl.order_code orderCode + from logpm_distrilbution_bill_stock ldbs + LEFT JOIN logpm_distribution_parcel_list ldpl on ldpl.stock_article_id = ldbs.stock_article_id + where ldbs.bill_lading_id = #{reservationId} + </select> <select id="selectDistrilbutionBillStockPage" resultMap="distrilbutionBillStockResultMap"> select * from logpm_distrilbution_bill_stock where is_deleted = 0 @@ -47,7 +53,7 @@ </where> </select> <select id="selectDistrilbutionBillOverPackWuSelf" resultType="com.logpm.distribution.vo.DistributionStockupSelfVO"> - select DISTINCT COUNT(lwugl.id) planNum ,( + select DISTINCT COUNT(lds.id) planNum ,( SELECT COUNT(lt.id) FROM logpm_distribution_stock lt WHERE lt.parcel_list_id = ldpl.id and lt.stockup_id = ldsi.stockup_id @@ -60,18 +66,20 @@ SELECT GROUP_CONCAT(lwtg.tray_code SEPARATOR ',') FROM logpm_warehouse_tray_goods lwtg where lwtg.association_id = ldpl.id and lwtg.association_type = 3 - ) trays,ldpl.id parcelListId,lwugl.id lwugId + ) trays,ldpl.id parcelListId,lds.allocation_id lwugId from logpm_distribution_stockup_info ldsi LEFT JOIN logpm_distrilbution_bill_stock ldbs on ldsi.reservation_id = ldbs.bill_lading_id LEFT JOIN logpm_distribution_parcel_list ldpl on ldpl.stock_article_id = ldbs.stock_article_id and ldpl.order_package_grounding_status = 10 - LEFT JOIN logpm_warehouse_updown_goods_log lwugl on ldpl.id = lwugl.association_id and lwugl.binding_type = 2 and lwugl.create_time >= DATE_SUB(NOW(), INTERVAL 10 MINUTE) + LEFT JOIN logpm_distribution_stock lds on lds.stockup_id =ldsi.stockup_id and lds.parcel_list_id = ldpl.id + <!-- LEFT JOIN logpm_warehouse_updown_goods_log lwugl on ldpl.id = lwugl.association_id and lwugl.binding_type = 2 and lwugl.create_time >= DATE_SUB(NOW(), INTERVAL 10 MINUTE)--> <where> ldsi.stockup_id = #{param.stockupId} and ldsi.reservation_id = #{param.reservationId} <if test=" param.allocationId != '' and param.allocationId != null "> - and lwugl.allocation_id = #{param.allocationId} + <!-- and lwugl.allocation_id = #{param.allocationId}--> + and lds.allocation_id = #{param.allocationId} </if> </where> - GROUP BY ldpl.id,lwugl.id + GROUP BY ldpl.id,lds.allocation_id </select> <select id="selectDistrilbutionBillPackWuSelf" resultType="com.logpm.distribution.vo.DistributionStockupSelfVO"> select DISTINCT CASE WHEN lwug.id is null THEN @@ -187,7 +195,7 @@ from logpm_distrilbution_bill_stock ldbs LEFT JOIN logpm_distribution_parcel_list ldpl on ldbs.stock_article_id = ldpl.stock_article_id LEFT JOIN logpm_warehouse_updown_goods lwug on ldpl.id = lwug.association_id - LEFT JOIN logpm_warehouse_tray_goods lwtg on lwtg.association_id = lwug.association_id + LEFT JOIN logpm_warehouse_tray_goods lwtg on lwtg.association_id = ldpl.id LEFT JOIN logpm_distribution_stock lds on lds.parcel_list_id = ldpl.id and lds.bill_lading_id = ldbs.bill_lading_id where ldbs.bill_lading_id = #{reservationId} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationPackageService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationPackageService.java index 0b02d89f7..ad2ab9352 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationPackageService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationPackageService.java @@ -81,6 +81,7 @@ public interface IDistributionReservationPackageService extends BaseService<Dist */ List<DistributionStockPackageVO> listPackage(Long reservationId); + /** * 查询预约中间表的包件集合 * @param reservationPackageEntity diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistrilbutionBillStockService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistrilbutionBillStockService.java index a00f59ada..bf4f9fc42 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistrilbutionBillStockService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistrilbutionBillStockService.java @@ -75,4 +75,6 @@ public interface IDistrilbutionBillStockService extends BaseService<Distrilbutio List<DistributionStockupSelfVO> selectDistrilbutionBillPackWuSelf(Long reservationId, Long stockupId); List<DistributionStockupSelfVO> selectDistrilbutionBillOverPackWuSelf(StockupDTO stockupDTO); + + List<DistributionStockPackageVO> listPackageSelf(Long reservationId); } 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 9c5f9d0b9..0ea0b4086 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 @@ -36,9 +36,8 @@ import com.logpm.distribution.vo.*; import com.logpm.distribution.wrapper.DistributionStockupWrapper; import com.logpm.warehouse.entity.WarehouseTaryAllocationEntity; import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity; -import com.logpm.warehouse.feign.IWarehouseTaryAllocationClient; -import com.logpm.warehouse.feign.IWarehouseTrayGoodsClient; -import com.logpm.warehouse.feign.IWarehouseUpdownGoodsLogClient; +import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity; +import com.logpm.warehouse.feign.*; import lombok.AllArgsConstructor; import org.springblade.common.constant.CodeDesEnum; import org.springblade.common.constant.DictBizConstant; @@ -70,6 +69,7 @@ import java.util.concurrent.atomic.AtomicReference; import java.util.function.Function; import java.util.function.Predicate; import java.util.stream.Collectors; +import java.util.stream.Stream; /** * 备货信息表 服务实现类 @@ -147,7 +147,10 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution private IDistributionAsyncService distributionAsyncService; private IWarehouseUpdownGoodsLogClient warehouseUpdownGoodsLogClient; - + @Autowired + private IWarehouseUpdownTypeClient warehouseUpdownTypeClient; + @Autowired + private final IWarehouseUpdownGoodsClient warehouseUpdownGoodsClient; @Override public IPage<DistributionStockupVO> selectDistributionStockupPage(IPage<DistributionStockupVO> page, DistributionStockupVO distributionStockup) { @@ -528,7 +531,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution y.setScanNum(y.getScanNum()+1); } //t托盘信息 - if(ObjectUtils.isNotNull(y.getTrayId()) && !y.getTrayId().equals(i.getTrayId())){ + if(ObjectUtils.isNotNull(y.getTrayId()) && ObjectUtils.isNotNull(i.getTrayId()) && !y.getTrayId().equals(i.getTrayId())){ y.setPallet(y.getPallet()+","+i.getPallet()); } //订单自编号信息 @@ -592,7 +595,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution wu.setScanNum(wu.getScanNum()+1); } //托盘信息 - if(ObjectUtils.isNotNull(wu.getTrayId()) && !wu.getTrayId().equals(i.getTrayId())){ + if(ObjectUtils.isNotNull(wu.getTrayId()) && ObjectUtils.isNotNull(i.getTrayId()) && !wu.getTrayId().equals(i.getTrayId())){ wu.setPallet(wu.getPallet()+","+i.getPallet()); } //订单自编号信息 @@ -633,7 +636,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution wu.setScanNum(wu.getScanNum()+1); } //托盘信息 - if(ObjectUtils.isNotNull(wu.getTrayId()) && !wu.getTrayId().equals(i.getTrayId())){ + if(ObjectUtils.isNotNull(wu.getTrayId()) && ObjectUtils.isNotNull(i.getTrayId()) && !wu.getTrayId().equals(i.getTrayId())){ wu.setPallet(wu.getPallet()+","+i.getPallet()); } //订单自编号信息 @@ -689,7 +692,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution y.setScanNum(y.getScanNum()+1); } //t托盘信息 - if(ObjectUtils.isNotNull(y.getTrayId()) && !y.getTrayId().equals(p.getTrayId())){ + if(ObjectUtils.isNotNull(y.getTrayId()) && ObjectUtils.isNotNull(p.getTrayId()) && !y.getTrayId().equals(p.getTrayId())){ y.setPallet(y.getPallet()+","+p.getPallet()); } } @@ -746,7 +749,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution y.setScanNum(y.getScanNum()+1); } //t托盘信息 - if(ObjectUtils.isNotNull(y.getTrayId()) && !y.getTrayId().equals(p.getTrayId())){ + if(ObjectUtils.isNotNull(y.getTrayId()) && ObjectUtils.isNotNull(p.getTrayId()) && !y.getTrayId().equals(p.getTrayId())){ y.setPallet(y.getPallet()+","+p.getPallet()); } if(y.getPlanNum().equals(y.getScanNum())){ @@ -790,7 +793,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution wu.setScanNum(wu.getScanNum()+1); } //托盘信息 - if(ObjectUtils.isNotNull(wu.getTrayId()) && !wu.getTrayId().equals(i.getTrayId())){ + if(ObjectUtils.isNotNull(wu.getTrayId()) && ObjectUtils.isNotNull(i.getTrayId()) && !wu.getTrayId().equals(i.getTrayId())){ wu.setPallet(wu.getPallet()+","+i.getPallet()); } //订单自编号信息 @@ -1391,17 +1394,43 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution @Transactional(rollbackFor = Exception.class) public R addPackTrayList(StockupDTO stockupDTO) { AtomicReference<Boolean> stock = new AtomicReference<>(false); - //查询包件信息 - List<DistributionStockPackageVO> list = distributionReservationPackageService.listPackage(stockupDTO.getReservationId()); + + DistributionStockupInfoEntity one = distributionStockupInfoService.getOne(Wrappers.<DistributionStockupInfoEntity>query().lambda() + .eq(DistributionStockupInfoEntity::getReservationId, stockupDTO.getReservationId()) + .eq(DistributionStockupInfoEntity::getStockupId, stockupDTO.getStockupId()) + ); + List<DistributionStockPackageVO> list = new ArrayList<>(); + if(ObjectUtils.isNotNull(one)){ + if(one.getStockUpType().equals("3")){ + //自提 + list = distrilbutionBillStockService.listPackageSelf(stockupDTO.getReservationId()); + }else{ + // 市,自 + //查询包件信息 + list = distributionReservationPackageService.listPackage(stockupDTO.getReservationId()); + } + }else { + log.warn("预约信息不存在!"); + return R.fail(3001, "备货失败!"); + } + if(list.size() < 1){ + log.warn("包件信息不存在!"); + return R.fail(3001, "备货失败!"); + } //查询托盘上面的包件 List<WarehouseTrayGoodsEntity> trayIdList = warehouseTrayGoodsClient.getTrayIdList(stockupDTO.getTrayId()); List<DistributionStockPackageVO> voList = new ArrayList<>(); + List<DistributionStockPackageVO> finalList = list; trayIdList.forEach(t -> { - Optional<DistributionStockPackageVO> first = list.stream().filter(l -> l.getParcelListId().equals(t.getAssociationId())).findFirst(); - if (first.isPresent()) { - DistributionStockPackageVO distributionStockPackageVO = first.get(); - log.warn("找到了匹配的对象:" + distributionStockPackageVO); - voList.add(distributionStockPackageVO); + boolean b = finalList.stream().anyMatch(l -> l.getParcelListId().equals(t.getAssociationId())); + if (b) { + finalList.stream().forEach(i -> { + if(i.getParcelListId().equals(t.getAssociationId())){ + DistributionStockPackageVO distributionStockPackageVO = i; + log.warn("找到了匹配的对象:" + distributionStockPackageVO); + voList.add(distributionStockPackageVO); + } + }); } else { log.warn("没有找到了匹配的对象;"); stock.set(true); @@ -1412,25 +1441,57 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution } else { List<DistributionStockEntity> list1 = new ArrayList<>(); voList.forEach(i -> { - DistributionStockEntity distributionStock = new DistributionStockEntity(); - distributionStock.setStockupId(stockupDTO.getStockupId()); - distributionStock.setStockArticle(i.getStockArticleId()); - distributionStock.setGoodsAllocation(i.getGoodsAllocation());//货位信息 - distributionStock.setConditions("1"); - distributionStock.setParcelListId(i.getParcelListId()); - distributionStock.setOrderSelfNumbering(i.getOrderCode()); - distributionStock.setType(1); - distributionStock.setDeliveryListCode(i.getNoteNumber()); - distributionStock.setDeliveryListId(i.getDeliveryId()); - distributionStock.setReservationId(i.getReservationId()); - distributionStock.setReservationCode(i.getReservationCode()); - distributionStock.setCoding(i.getPacketBarCode()); - list1.add(distributionStock); + //查询是否已备货 + DistributionParcelListEntity byId = distributionParcelListService.getById(i.getParcelListId()); + if(ObjectUtils.isNotNull(byId) && !byId.getOrderPackageStockupStatus().equals(OrderPackageStockupStatusConstant.yibeihu.getValue())){ + DistributionStockEntity distributionStock = new DistributionStockEntity(); + //修改包件备货状态 + DistributionParcelListEntity parcelList = new DistributionParcelListEntity(); + parcelList.setId(i.getParcelListId()); + parcelList.setOrderPackageStockupStatus(OrderPackageStockupStatusConstant.yibeihu.getValue()); + distributionParcelListService.updateById(parcelList); + //货位下架 + warehouseUpdownTypeClient.downPackage(i.getPacketBarCode()); + //判断备货任务是否完成 + if(one.getStockUpType().equals("3")){ + distributionAsyncService.stockupSelfUpdateState(stockupDTO); + distributionStock.setBillLadingId(i.getReservationId()); + distributionStock.setConditions("2"); + }else{ + distributionAsyncService.stockupUpdateState(stockupDTO); + distributionStock.setReservationId(i.getReservationId()); + distributionStock.setReservationCode(i.getReservationCode()); + distributionStock.setConditions("1"); + } + //查询库位信息 + WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity = new WarehouseUpdownGoodsEntity(); + warehouseUpdownGoodsEntity.setAssociationId(i.getParcelListId()); + warehouseUpdownGoodsEntity.setAssociationValue(i.getPacketBarCode()); + WarehouseUpdownGoodsEntity locationInformation = warehouseUpdownGoodsClient.getLocationInformation(warehouseUpdownGoodsEntity); + if(ObjectUtils.isNotNull(locationInformation)){ + distributionStock.setAllocationTitle(locationInformation.getPositionCode()); + distributionStock.setAllocationId(locationInformation.getAllocationId()); + } + distributionStock.setStockupId(stockupDTO.getStockupId()); + distributionStock.setStockArticle(i.getStockArticleId()); +// distributionStock.setGoodsAllocation(i.getGoodsAllocation());//货位信息 + + distributionStock.setParcelListId(i.getParcelListId()); + distributionStock.setOrderSelfNumbering(i.getOrderCode()); + distributionStock.setType(1); +// distributionStock.setDeliveryListCode(i.getNoteNumber()); +// distributionStock.setDeliveryListId(i.getDeliveryId()); + + distributionStock.setCoding(i.getPacketBarCode()); + list1.add(distributionStock); + } }); //TODO 其他操作 //添加扫描记录 - distributionStockService.saveBatch(list1); - return R.fail(200, "备货成功"); + if(!list1.isEmpty()){ + distributionStockService.saveBatch(list1); + } + return R.success("备货成功"); } } @@ -1456,7 +1517,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution while (iterator.hasNext()) { if (i.getTrayId().equals(iterator.next().getTrayId())) { Integer trayPackNum = iterator.next().getTrayPackNum(); //在这个托盘的数量 - List<WarehouseTrayGoodsEntity> trayIdList = warehouseTrayGoodsClient.getTrayIdList(i.getTrayId()); + List<WarehouseTrayGoodsEntity> trayIdList = warehouseTrayGoodsClient.getTrayIdList(i.getTrayId().toString()); if (trayPackNum.equals(trayIdList.size())) { trays.set(true); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillStockServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillStockServiceImpl.java index 776915c40..79a2da1a9 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillStockServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillStockServiceImpl.java @@ -106,4 +106,9 @@ public class DistrilbutionBillStockServiceImpl extends BaseServiceImpl<Distrilbu return baseMapper.selectDistrilbutionBillOverPackWuSelf(stockupDTO); } + @Override + public List<DistributionStockPackageVO> listPackageSelf(Long reservationId) { + return baseMapper.listPackageSelf(reservationId); + } + } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTrayGoodsClient.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTrayGoodsClient.java index d451241e9..fdcc391e0 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTrayGoodsClient.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTrayGoodsClient.java @@ -1,5 +1,6 @@ package com.logpm.warehouse.feign; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity; import com.logpm.warehouse.service.IWarehouseTrayGoodsService; @@ -47,10 +48,14 @@ public class WarehouseTrayGoodsClient implements IWarehouseTrayGoodsClient { @Override @PostMapping(GETTRAYIDLIST) - public List<WarehouseTrayGoodsEntity> getTrayIdList(Long trayId) { - return warehouseTrayGoodsService.list(Wrappers.<WarehouseTrayGoodsEntity>query().lambda() - .eq(WarehouseTrayGoodsEntity::getTrayId,trayId) - .eq(WarehouseTrayGoodsEntity::getAssociationType,"3") - ); + public List<WarehouseTrayGoodsEntity> getTrayIdList(String trayId) { + QueryWrapper<WarehouseTrayGoodsEntity> queryWrapper = new QueryWrapper(); + if(trayId.contains(",")){ + queryWrapper.in("tray_id",trayId.split(",")); + }else{ + queryWrapper.eq("tray_id",trayId); + } + queryWrapper.eq("association_type","3"); + return warehouseTrayGoodsService.list(queryWrapper); } } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownGoodsClient.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownGoodsClient.java index d141073a3..a60f3e2da 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownGoodsClient.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownGoodsClient.java @@ -1,6 +1,7 @@ package com.logpm.warehouse.feign; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity; import com.logpm.warehouse.service.IWarehouseUpdownGoodsService; @@ -67,8 +68,9 @@ public class WarehouseUpdownGoodsClient implements IWarehouseUpdownGoodsClient { public WarehouseUpdownGoodsEntity getLocationInformation(WarehouseUpdownGoodsEntity updownGoodsEntity) { return warehouseUpdownGoodsService.getOne(Wrappers.<WarehouseUpdownGoodsEntity>query().lambda() - .eq(WarehouseUpdownGoodsEntity::getAllocationId,updownGoodsEntity.getAllocationId()) + .eq(ObjectUtils.isNotNull(updownGoodsEntity.getAllocationId()),WarehouseUpdownGoodsEntity::getAllocationId,updownGoodsEntity.getAllocationId()) .eq(WarehouseUpdownGoodsEntity::getAssociationValue,updownGoodsEntity.getAssociationValue()) + .eq(ObjectUtils.isNotNull(updownGoodsEntity.getAssociationId()),WarehouseUpdownGoodsEntity::getAssociationId,updownGoodsEntity.getAssociationId()) ); }