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 554d742f1..77eb9328d 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 @@ -22,6 +22,8 @@ public class DistributionStockupOrderListVO implements Serializable { private String pallet;//托盘 @ApiModelProperty(value = "整托状态") private boolean trayLean;//整托状态 + @ApiModelProperty(value = "货位配货状态") + private boolean completeStact;//货位配货状态 @ApiModelProperty(value = "容器件数") private Integer containerNum;//容器件数 @ApiModelProperty(value = "计划件数") diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupSelfVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupSelfVO.java index 7d549555e..f7f0da386 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupSelfVO.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupSelfVO.java @@ -17,6 +17,9 @@ public class DistributionStockupSelfVO { private Integer scanNum; // 扫描数 private String warehouseArea; // 库位 private String trays; // 托盘 + private String orderPackageCode; // 包件码 + private Long lwugId; // 货位ID + private Long ldsId; // 扫码ID } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/PackageStockupVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/PackageStockupVO.java index f60c2e438..e9fbfa4c5 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/PackageStockupVO.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/PackageStockupVO.java @@ -28,6 +28,7 @@ public class PackageStockupVO implements Serializable { private String allocationTitle;//货位名称 private Long scanId;//扫码记录id + private Long allocationId;//货位id private List detailsEntities = new ArrayList<>(); diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownGoodsLogClient.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownGoodsLogClient.java index 18badde17..821db0a6c 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownGoodsLogClient.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownGoodsLogClient.java @@ -21,8 +21,12 @@ import org.springblade.common.constant.ModuleNameConstant; import org.springblade.core.mp.support.BladePage; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; +import java.util.List; + /** * 上下架记录表 Feign接口类 * @@ -37,6 +41,9 @@ public interface IWarehouseUpdownGoodsLogClient { String API_PREFIX = "warehouseUpdownGoodsLog/client"; String TOP = API_PREFIX + "/top"; + String GETUPDOWNGOODS = API_PREFIX + "/updownGoods"; + String GETUPDOWNGOODSLIST = API_PREFIX + "/updownGoodsList"; + /** * 获取上下架记录表列表 * @@ -47,4 +54,12 @@ public interface IWarehouseUpdownGoodsLogClient { @GetMapping(TOP) BladePage top(@RequestParam("current") Integer current, @RequestParam("size") Integer size); + /** + * 查询包件的历史货位 + * + * @param updownGoodsLogEntity@return + */ + @PostMapping(GETUPDOWNGOODS) + WarehouseUpdownGoodsLogEntity getUpdownGoods(@RequestBody WarehouseUpdownGoodsLogEntity updownGoodsLogEntity); + } 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 2308d97ca..adfc722dc 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java @@ -30,6 +30,7 @@ import com.logpm.distribution.service.*; import com.logpm.distribution.vo.*; import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity; import com.logpm.warehouse.feign.IWarehouseUpdownGoodsClient; +import com.logpm.warehouse.feign.IWarehouseUpdownGoodsLogClient; import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -40,11 +41,13 @@ import org.springblade.common.constant.RabbitConstant; import org.springblade.common.constant.stockup.StockupStatusConstant; import org.springblade.common.utils.CommonUtil; import org.springblade.core.boot.ctrl.BladeController; +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.StringUtil; import org.springblade.system.cache.DictBizCache; import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.lang.reflect.Field; @@ -73,10 +76,12 @@ public class DistributionStockupAppController extends BladeController { private final IDistributionStockArticleService distributionStockArticleService; private final IDistributionParcelListService distributionParcelListService; private final IDistributionReservationPackageService distributionReservationPackageService; - private final IWarehouseUpdownTypeClient warehouseUpdownTypeClient; private final IWarehouseUpdownGoodsClient warehouseUpdownGoodsClient; + private final IWarehouseUpdownGoodsLogClient warehouseUpdownGoodsLogClient; + private IDistributionAsyncService distributionAsyncService; private final RabbitTemplate rabbitTemplate; + private final BladeRedis bladeRedis; private final IDistributionStockListService iDistributionStockListService; /** @@ -250,6 +255,7 @@ public class DistributionStockupAppController extends BladeController { Long stockupId = stockupDTO.getStockupId();//备货任务Id Integer orderStatus = stockupDTO.getOrderStatus();//1 客户订单 2库存品 + Integer status = stockupDTO.getStatus();//0未完成 1已完成 Long allocationId = stockupDTO.getAllocationId(); //货位 Long trayId = stockupDTO.getTrayId(); //托盘Id @@ -257,6 +263,10 @@ public class DistributionStockupAppController extends BladeController { log.warn("##############orderInfo: 备货任务ID为空 allocation={}", stockupId); return R.fail(3002, "备货任务Id为空"); } + if (ObjectUtils.isNull(status)) { + log.warn("##############status: 货位状态为空 allocation={}", stockupId); + return R.fail(3002, "货位状态为空"); + } //查询自提还是商 市 DistributionStockupEntity byId = distributionStockupService.getById(stockupId); @@ -271,10 +281,10 @@ public class DistributionStockupAppController extends BladeController { } if(byId.getTypeService().equals("3")){ //自 - DistributionStockupOrderInfoVO infoVO = distributionStockupService.selectOrderInfoSelf(reservationId,stockArticleId,stockupId,trayId,allocationId); + DistributionStockupOrderInfoVO infoVO = distributionStockupService.selectOrderInfoSelf(stockupDTO); return R.data(infoVO); } else { - DistributionStockupOrderInfoVO infoVO = distributionStockupService.selectOrderInfo(reservationId, stockArticleId, stockupId, trayId,allocationId); + DistributionStockupOrderInfoVO infoVO = distributionStockupService.selectOrderInfo(stockupDTO); return R.data(infoVO); } @@ -343,7 +353,6 @@ public class DistributionStockupAppController extends BladeController { return b; } - ; @PutMapping("/updateStockArea") @@ -435,7 +444,7 @@ public class DistributionStockupAppController extends BladeController { //修改包件备货状态 one.setOrderPackageStockupStatus(StockupStatusConstant.yibeihuo.getValue()); //todo 待下架操作 - warehouseUpdownTypeClient.downPackage(stockupDTO.getPacketBarCode()); +// warehouseUpdownTypeClient.downPackage(stockupDTO.getPacketBarCode()); distributionParcelListService.updateById(one); }else{ entity.setReservationId(reservationId); @@ -455,7 +464,8 @@ public class DistributionStockupAppController extends BladeController { rabbitTemplate.convertAndSend(RabbitConstant.STOCKUP_SCAN_EXCHANGE, RabbitConstant.STOCKUP_SCAN_ROUTING, map); String audioValue = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "1"); - + //查询是否货位数据是否该下架 + distributionAsyncService.stockupSelfOffShelf(stockupDTO); return Resp.scanSuccess("扫描成功!", audioValue); case 2: //重复扫描 @@ -535,23 +545,23 @@ public class DistributionStockupAppController extends BladeController { entity.setMarketId(byId.getMarketId()); entity.setMaterialId(byId.getMaterialId()); //查询库位id - WarehouseUpdownGoodsEntity updownGoods = new WarehouseUpdownGoodsEntity(); - updownGoods.setAssociationId(byId.getId()); - updownGoods.setMarketId(byId.getMarketId()); - updownGoods.setIncomingBatch(byId.getIncomingBatch()); - Long l = warehouseUpdownGoodsClient.selectStockListOwe(updownGoods); - if(!ObjectUtils.isNull(l)){ - //todo 待下架操作 - JSONObject jsonObject = new JSONObject(); - jsonObject.put("marketId",byId.getMarketId()); - jsonObject.put("materialCode",byId.getMarketCode()); - jsonObject.put("incomingBatch",byId.getIncomingBatch()); - jsonObject.put("enterNum",1); - jsonObject.put("allocationId",l); - List list = new ArrayList<>(); - list.add(jsonObject); - warehouseUpdownTypeClient.downStock(list); - } +// WarehouseUpdownGoodsEntity updownGoods = new WarehouseUpdownGoodsEntity(); +// updownGoods.setAssociationId(byId.getId()); +// updownGoods.setMarketId(byId.getMarketId()); +// updownGoods.setIncomingBatch(byId.getIncomingBatch()); +// Long l = warehouseUpdownGoodsClient.selectStockListOwe(updownGoods); +// if(!ObjectUtils.isNull(l)){ +// //todo 待下架操作 +// JSONObject jsonObject = new JSONObject(); +// jsonObject.put("marketId",byId.getMarketId()); +// jsonObject.put("materialCode",byId.getMarketCode()); +// jsonObject.put("incomingBatch",byId.getIncomingBatch()); +// jsonObject.put("enterNum",1); +// jsonObject.put("allocationId",l); +// List list = new ArrayList<>(); +// list.add(jsonObject); +// warehouseUpdownTypeClient.downStock(list); +// } } entity.setConditions("0"); entity.setType(2); 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 c9164087c..a7d0b1ea4 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 @@ -200,7 +200,7 @@ and ldpl.pallet = #{pallet} and ldr.is_deleted = 0 --> select ldpl.order_code orderCode,ldpl.order_package_code packageBarCode, 1 goodsType,ldrp.parce_list_id parceListId,ldpl.material_name materialName, - lwug.allocation_title allocationTitle,lwtg.tray_code trayCode + lwug.allocation_title allocationTitle,lwtg.tray_code trayCode,lwug.position_code positionCode,lwug.allocation_id allocationId from logpm_distribution_reservation_package ldrp LEFT JOIN logpm_distribution_parcel_list ldpl on ldrp.parce_list_id = ldpl.id LEFT JOIN logpm_warehouse_tray_goods lwtg on lwtg.association_id =ldrp.parce_list_id and lwtg.association_type = '3' 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 b44ebb681..9ad5b0a29 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 @@ -196,13 +196,26 @@ ldsa.order_code, ldrs.stock_article_id, ldpl.pallet --> - select DISTINCT CONCAT(lwug.area_title,'-',lwug.shelf_title,'-',lwug.allocation_title ) allocation , lwtg.tray_code pallet,lwug.area_id areaId, - lwug.shelf_id shelfId,lwug.allocation_id allocationId,lwtg.tray_id trayId,ldpl.order_code orderCode,ldpl.stock_article_id stockArticleId - ,( - select COUNT(drp.id) - from logpm_distribution_reservation_package drp - where drp.reservation_id = ldrp.reservation_id and drp.packet_bar_status in (1,3) and drp.stock_article_id = ldpl.stock_article_id - ) planNum, + select DISTINCT CONCAT(lwug.position_code ) allocation , lwtg.tray_code pallet,lwug.area_id areaId, + lwug.shelf_id shelfId,lwug.allocation_id allocationId,lwtg.tray_id trayId,ldpl.order_code orderCode,ldpl.stock_article_id stockArticleId , + CASE WHEN lwug.id is null THEN + ( + (select COUNT(id) + from logpm_distribution_parcel_list + where stock_article_id = ldpl.stock_article_id) - ( + select COUNT(lwug.id) + from logpm_distribution_parcel_list dpl + LEFT JOIN logpm_warehouse_updown_goods lwug on dpl.id = lwug.association_id + where dpl.stock_article_id = ldpl.stock_article_id + ) + )ELSE ( + select COUNT(wug.id) + from logpm_distribution_reservation_stockarticle ldrs + LEFT JOIN logpm_distribution_parcel_list ldpl on ldrs.stock_article_id = ldpl.stock_article_id + LEFT JOIN logpm_warehouse_updown_goods wug on wug.association_id = ldpl.id + where ldrs.reservation_id = ldrp.reservation_id and ldrs.stock_article_id = ldpl.stock_article_id and wug.allocation_id = lwug.allocation_id + ) + END planNum, ( select COUNT(lds.id) from logpm_distribution_reservation_package drp diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.java index 0246bba90..678497fac 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.java @@ -170,4 +170,18 @@ public interface DistributionStockupMapper extends BaseMapper pageOweList(IPage page,@Param("param")DistributionStockupEntity distributionStockupEntity); IPage getInventoryOwnSelf(IPage page,@Param("id") Long id); + + /** + * + * @param stockupDTO + * @return + */ + List stockupSelfOffShelf(@Param("param")StockupDTO stockupDTO); + + /** + * + * @param stockupDTO + * @return + */ + List stockupOffShelf(StockupDTO stockupDTO); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml index a1d7d80f1..31ecaa7b0 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 @@ -48,7 +48,25 @@ - + +