From 030f8970f0f36574188d1723e1fbdbaaad09a852 Mon Sep 17 00:00:00 2001 From: caoyizhong <1270296080@qq.com> Date: Thu, 24 Aug 2023 13:59:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A4=87=E8=B4=A7=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=E6=9F=A5=E8=AF=A2=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vo/DistributionParcelTrayVO.java | 17 +++++++ .../vo/DistributionStockupListVO.java | 1 + .../vo/DistributionStockupOrderListVO.java | 4 ++ .../feign/IWarehouseTaryAllocationClient.java | 26 +++++++++++ .../feign/IWarehouseTrayGoodsClient.java | 10 +++++ .../DistributionStockupAppController.java | 7 +-- .../distribution/dto/app/StockupDTO.java | 1 + .../mapper/DistributionReservationMapper.xml | 30 ++++++++++++- .../DistributionReservationPackageMapper.java | 7 ++- .../DistributionReservationPackageMapper.xml | 12 +++++ ...DistributionReservationPackageService.java | 3 ++ .../service/IDistributionStockupService.java | 8 ++++ ...ributionReservationPackageServiceImpl.java | 16 ++++--- .../impl/DistributionStockupServiceImpl.java | 45 +++++++++++++++++-- .../feign/WarehouseTaryAllocationClient.java | 32 +++++++++++++ .../feign/WarehouseTrayGoodsClient.java | 21 +++++---- 16 files changed, 215 insertions(+), 25 deletions(-) create mode 100644 blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionParcelTrayVO.java create mode 100644 blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTaryAllocationClient.java create mode 100644 blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTaryAllocationClient.java diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionParcelTrayVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionParcelTrayVO.java new file mode 100644 index 000000000..f8603fe95 --- /dev/null +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionParcelTrayVO.java @@ -0,0 +1,17 @@ +package com.logpm.distribution.vo; + +import lombok.Data; + +/** + * @program: LogisticsPlatform-Service + * @description: 客户货物托盘 + * @author: cyz + * @create: 2023-08-24 11:32 + **/ +@Data +public class DistributionParcelTrayVO { + private String trayId; //托盘id + private String trayCode; //托盘名称 + private String trayPackNum; //托盘名称 + +} diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupListVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupListVO.java index 81a4774a7..3a184ceb9 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupListVO.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupListVO.java @@ -7,6 +7,7 @@ import java.io.Serializable; @Data public class DistributionStockupListVO implements Serializable { + private Long id;//预约单id private Long reservationId;//预约单id private String reservation;//预约单id diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupOrderListVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupOrderListVO.java index a20147798..d2eec0867 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupOrderListVO.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupOrderListVO.java @@ -32,4 +32,8 @@ public class DistributionStockupOrderListVO implements Serializable { @ApiModelProperty(value = "扫描件数") private Integer scanNum;//扫描件数 + private Long areaId; //货区id + private Long shelfId; //货架id + private Long allocationId; //货位id + } diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTaryAllocationClient.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTaryAllocationClient.java new file mode 100644 index 000000000..f842e8611 --- /dev/null +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTaryAllocationClient.java @@ -0,0 +1,26 @@ +package com.logpm.warehouse.feign; + + +import com.logpm.warehouse.entity.WarehouseTaryAllocationEntity; +import org.springblade.common.constant.ModuleNameConstant; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; + +@FeignClient( + value = ModuleNameConstant.APPLICATION_WAREHOUSE_NAME +) +public interface IWarehouseTaryAllocationClient { + + String API_PREFIX = "/client"; + String TOP = API_PREFIX + "/top"; + String GETALLOCATIONID = API_PREFIX + "/allocationId"; + + + @GetMapping(GETALLOCATIONID) + List getAllocationId(@RequestParam Long allocationId); + + +} 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 72eb3ea1a..43999d8ae 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 @@ -17,6 +17,7 @@ package com.logpm.warehouse.feign; +import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity; import org.springblade.common.constant.ModuleNameConstant; import org.springframework.cloud.openfeign.FeignClient; @@ -25,6 +26,8 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; +import java.util.List; + /** * 托盘 货物 绑定 Feign接口类 * @@ -38,6 +41,7 @@ public interface IWarehouseTrayGoodsClient { String API_PREFIX = "warehousetraygoods/client"; String TOP = API_PREFIX + "/top10"; + String GETTRAYIDLIST = API_PREFIX + "/trayIdList"; /** * 通过主键删除 @@ -62,5 +66,11 @@ public interface IWarehouseTrayGoodsClient { */ @PostMapping(TOP+"/delByTrayByCode") Boolean delByTrayByCode(@RequestParam String code); + /** + * 通过托盘id查询托盘上面的货物 + * @param trayId + */ + @PostMapping(GETTRAYIDLIST) + List getTrayIdList(@RequestParam Long 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 97b9b9d5f..530cd1577 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 @@ -143,7 +143,8 @@ public class DistributionStockupAppController extends BladeController { for (DistributionStockupOrderListVO vo:list){ planNum = planNum + vo.getPlanNum(); scanNum = scanNum + vo.getScanNum(); - Boolean aBoolean = distributionReservationPackageService.selectClientStockupState(reservationId, vo.getStockArticleId()); + Boolean aBoolean = distributionStockupService.getClientStockupTray(reservationId, vo.getAllocationId()); +// Boolean aBoolean = distributionReservationPackageService.selectClientStockupState(reservationId, vo.getStockArticleId()); vo.setTrayLean(aBoolean); } map.put("planNum",planNum); @@ -240,7 +241,7 @@ public class DistributionStockupAppController extends BladeController { return R.data(list); } - @PostMapping("scanningCode") + @PostMapping("/scanningCode") @ApiOperation(value = "整托扫码") public R scanningCodelist(@RequestBody StockupDTO stockupDTO){ if(ObjectUtils.isNull(stockupDTO.getStockupId())){ @@ -249,7 +250,7 @@ public class DistributionStockupAppController extends BladeController { if(ObjectUtils.isNull(stockupDTO.getReservationId())){ return R.fail(3002,"预约Id不能为空"); } - if(ObjectUtils.isNull(stockupDTO.getTrayBarCode())){ + if(ObjectUtils.isNull(stockupDTO.getTrayId())){ return R.fail(3002,"托盘码不能为空"); } boolean b = distributionStockupService.addPackTrayList(stockupDTO); 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 ea22f6c49..f892d5945 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupDTO.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupDTO.java @@ -43,6 +43,7 @@ public class StockupDTO implements Serializable { private Integer scanType;//备货扫码类型 1 包件 2库存品 private String packetBarCode;//包件码 private String trayBarCode;//托盘码 + private String trayId;//货位ID private String stockupArea;//备货区 private String stockupId;//备货区Id private Long stockListId;//库存品id 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 8b48bed6c..f7dd32344 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 @@ -175,7 +175,7 @@ + + + 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 456498517..203a81e3e 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 @@ -22,6 +22,7 @@ import com.logpm.distribution.dto.DistributionStockArticleDTO; import com.logpm.distribution.entity.DistributionParcelListEntity; import com.logpm.distribution.entity.DistributionReservationPackageEntity; import com.logpm.distribution.vo.DistributionParcelListVO; +import com.logpm.distribution.vo.DistributionParcelTrayVO; import com.logpm.distribution.vo.DistributionReservationPackageVO; import com.logpm.distribution.excel.DistributionReservationPackageExcel; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -86,4 +87,6 @@ public interface IDistributionReservationPackageService extends BaseService getStockArticlePackageList(List reservationPackageEntity); + + List selectClientStockupPackTray(Long reservationId); } 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 435eae88e..e16435b7e 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 @@ -120,4 +120,12 @@ public interface IDistributionStockupService extends BaseService selectClientStockupPackTray(Long reservationId) { + return baseMapper.listPackageTray(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 37bd12220..13ec55570 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 @@ -22,7 +22,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.feign.IBasicdataCodeClient; @@ -34,6 +33,10 @@ import com.logpm.distribution.mapper.DistributionStockupMapper; import com.logpm.distribution.service.*; 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 org.springblade.common.constant.CodeDesEnum; import org.springblade.common.constant.DictBizConstant; import org.springblade.common.constant.stockup.StockAssignStatusConstant; @@ -51,6 +54,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.concurrent.atomic.AtomicReference; /** * 备货信息表 服务实现类 @@ -65,6 +69,9 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl distributionStockupEntityIPage = baseMapper.selectHomeStockupPage(page, stockupDTO); - IPage distributionStockupEntityIPage = baseMapper.selectStockupPage(page, stockupDTO); + IPage distributionStockupEntityIPage = baseMapper.selectHomeStockupPage(page, stockupDTO); +// IPage distributionStockupEntityIPage = baseMapper.selectStockupPage(page, stockupDTO); List records = distributionStockupEntityIPage.getRecords(); for (DistributionStockupListVO vo : records) { intToStrDistributionStockupListVO(vo); @@ -578,5 +585,37 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl list = distributionReservationPackageService.selectClientStockupPackTray(reservationId);//查询在那些托盘 + List allocationId1 = warehouseTaryAllocationClient.getAllocationId(allocationId);//查询托盘 + AtomicReference trays = new AtomicReference<>(false); + allocationId1.forEach( i ->{ + boolean b = list.stream().anyMatch(a -> a.getTrayId().equals(i.getTrayId())); + if(b){ + //有 + Iterator iterator = list.iterator(); + while (iterator.hasNext()){ + if(i.getTrayId().equals(iterator.next().getTrayId())){ + String trayPackNum = iterator.next().getTrayPackNum(); //在这个托盘的数量 + List trayIdList = warehouseTrayGoodsClient.getTrayIdList(i.getTrayId()); + if(trayPackNum.equals(trayIdList.size())){ + trays.set(true); + } + + } + } + } + }); + return trays.get(); + } + } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTaryAllocationClient.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTaryAllocationClient.java new file mode 100644 index 000000000..e7458083c --- /dev/null +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTaryAllocationClient.java @@ -0,0 +1,32 @@ +package com.logpm.warehouse.feign; + +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.logpm.warehouse.entity.WarehouseTaryAllocationEntity; +import com.logpm.warehouse.service.IWarehouseTaryAllocationService; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @program: LogisticsPlatform-Service + * @description: + * @author: cyz + * @create: 2023-08-24 11:20 + **/ +@RestController +@AllArgsConstructor +public class WarehouseTaryAllocationClient implements IWarehouseTaryAllocationClient { + + private IWarehouseTaryAllocationService warehouseTaryAllocationService; + + @Override + @GetMapping(GETALLOCATIONID) + public List getAllocationId(Long allocationId) { + return warehouseTaryAllocationService.list(Wrappers.query().lambda() + .eq(WarehouseTaryAllocationEntity::getAllocationId,allocationId) + .eq(WarehouseTaryAllocationEntity::getBindStatus , "1") + ); + } +} 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 bf450b7a8..d451241e9 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,22 +1,18 @@ package com.logpm.warehouse.feign; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.logpm.warehouse.entity.WarehouseWaybillEntity; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity; import com.logpm.warehouse.service.IWarehouseTrayGoodsService; import com.logpm.warehouse.service.IWarehouseTrayTypeService; -import com.logpm.warehouse.service.IWarehouseWaybillService; import lombok.AllArgsConstructor; -import org.springblade.core.mp.support.BladePage; -import org.springblade.core.mp.support.Condition; -import org.springblade.core.mp.support.Query; -import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; -import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; +import java.util.List; + @ApiIgnore() @RestController @AllArgsConstructor @@ -48,4 +44,13 @@ public class WarehouseTrayGoodsClient implements IWarehouseTrayGoodsClient { R r = warehouseTrayTypeService.trayToNull(code); return r.isSuccess() ; } + + @Override + @PostMapping(GETTRAYIDLIST) + public List getTrayIdList(Long trayId) { + return warehouseTrayGoodsService.list(Wrappers.query().lambda() + .eq(WarehouseTrayGoodsEntity::getTrayId,trayId) + .eq(WarehouseTrayGoodsEntity::getAssociationType,"3") + ); + } }