diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java index 23a7e1c5..b957038f 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java @@ -645,6 +645,7 @@ public class StructuralPackageOrderController extends BaseController { .setNo(deliverOrderNo) .setSupplierId(supplierId) .setQuehuo(trays.stream().anyMatch(DeliverStructuralPackageOrderVO::getQuehuo)) + .setQuehuoReceived(false) .setCreateBy(UserUtil.getUserName()) .setCreateTime(LocalDateTime.now()); structuralPackageDeliverOrderService.save(deliverOrder); @@ -768,6 +769,7 @@ public class StructuralPackageOrderController extends BaseController { * 线下收货 * @param itemIds 零件项id列表 */ + @Transactional @PostMapping("offlineReceive") public ApiResult offlineReceive(@Valid @RequestBody @NotEmpty List itemIds) { List items = deliverStructuralPackageOrderTrayItemService.listByIds(itemIds); @@ -780,6 +782,14 @@ public class StructuralPackageOrderController extends BaseController { if (CollectionUtil.isNotEmpty(items)) { deliverStructuralPackageOrderTrayItemService.updateBatchById(items); } + items.stream().map(WmsStructuralPackageOrderTrayItem::getOrderId).forEach(id -> { + WmsStructuralPackageDeliverOrderMap om = structuralPackageDeliverOrderMapService.lambdaQuery() + .eq(WmsStructuralPackageDeliverOrderMap::getOrderId, id) + .one(); + if (Objects.nonNull(om)) { + structuralPackageDeliverOrderService.updateQuehuoReceived(om.getDeliverId()); + } + }); return ApiResult.success(); } @@ -817,6 +827,10 @@ public class StructuralPackageOrderController extends BaseController { items.forEach(it -> it.setStoreNum(it.getShipmentNum())); deliverStructuralPackageOrderTrayItemService.updateBatchById(items); structuralPackageDeliverOrderService.updateStateByOrderId(request.getId()); + WmsStructuralPackageDeliverOrderMap om = structuralPackageDeliverOrderMapService.lambdaQuery() + .eq(WmsStructuralPackageDeliverOrderMap::getOrderId, request.getId()) + .one(); + structuralPackageDeliverOrderService.updateQuehuoReceived(om.getDeliverId()); SAPMaterialInfoInOrderDTO dto = CollectionUtil.get(sapService.zim004(order.getExternalOrderNo(), order.getSupplierCode(), order.getPackageNo()), 0); VUtil.trueThrowBusinessError(Objects.isNull(dto)).throwMessage("ZIM_004未查询到数据"); VUtil.trueThrowBusinessError(StrUtil.isBlank(dto.getWarehouseNo())).throwMessage("ZIM_004接口查询到仓库为空"); diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/StructuralPackageDeliverOrderVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/StructuralPackageDeliverOrderVO.java index dd74cd70..bfcb4839 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/StructuralPackageDeliverOrderVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/StructuralPackageDeliverOrderVO.java @@ -65,4 +65,9 @@ public class StructuralPackageDeliverOrderVO { * 是否存在缺货零件 */ private Boolean quehuo; + + /** + * 缺货零件是否都已收货 + */ + private Boolean quehuoReceived; } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsStructuralPackageDeliverOrder.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsStructuralPackageDeliverOrder.java index 575abd9a..449cbe30 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsStructuralPackageDeliverOrder.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsStructuralPackageDeliverOrder.java @@ -70,4 +70,9 @@ public class WmsStructuralPackageDeliverOrder implements Serializable { * 是否存在缺货零件 */ private Boolean quehuo; + + /** + * 缺货零件是否都已收货 + */ + private Boolean quehuoReceived; } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsStructuralPackageDeliverOrderMapper.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsStructuralPackageDeliverOrderMapper.java index 40ba45d9..e7f32164 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsStructuralPackageDeliverOrderMapper.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsStructuralPackageDeliverOrderMapper.java @@ -32,4 +32,6 @@ public interface WmsStructuralPackageDeliverOrderMapper extends BaseMapper getInfo(Long id); List getTrayNos(String orderNo, String materialNo); + + boolean quehuoReceived(Long deliverId); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsStructuralPackageDeliverOrderService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsStructuralPackageDeliverOrderService.java index 16e0fe36..b276fcb3 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsStructuralPackageDeliverOrderService.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsStructuralPackageDeliverOrderService.java @@ -31,4 +31,6 @@ public interface IWmsStructuralPackageDeliverOrderService extends IService getInfo(@Valid @NotNull Long id); List getTrayNos(String orderNo, String materialNo); + + void updateQuehuoReceived(Long deliverId); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsStructuralPackageDeliverOrderServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsStructuralPackageDeliverOrderServiceImpl.java index be123a41..81ac1431 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsStructuralPackageDeliverOrderServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsStructuralPackageDeliverOrderServiceImpl.java @@ -69,4 +69,12 @@ public class WmsStructuralPackageDeliverOrderServiceImpl extends ServiceImpl getTrayNos(String orderNo, String materialNo) { return baseMapper.getTrayNos(orderNo, materialNo); } + + @Override + public void updateQuehuoReceived(Long deliverId) { + lambdaUpdate() + .set(WmsStructuralPackageDeliverOrder::getQuehuoReceived, !baseMapper.quehuoReceived(deliverId)) + .eq(WmsStructuralPackageDeliverOrder::getId, deliverId) + .update(); + } } diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageDeliverOrderMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageDeliverOrderMapper.xml index 2550534d..03d2edd3 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageDeliverOrderMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageDeliverOrderMapper.xml @@ -93,4 +93,13 @@ INNER JOIN wms_structural_package sp ON spo.package_id=sp."id" WHERE spdo."no"=#{orderNo} AND sp."no"=#{materialNo} + +