From bcf97b6bb64c3f3a31e5196d5214800d0ad0f4a4 Mon Sep 17 00:00:00 2001 From: liuzhaotian Date: Thu, 24 Oct 2024 17:10:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E6=96=99=E5=85=B3=E8=81=94=E7=94=9F?= =?UTF-8?q?=E4=BA=A7=E5=8D=95=E7=8A=B6=E6=80=81=E9=97=AE=E9=A2=98=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../executor/dal/mysql/goods/GoodsMapper.java | 11 +---------- .../executor/dal/mysql/order/OrderMapper.java | 5 ++--- .../optimizeplan/OptimizePlanServiceImpl.java | 15 +++++++++++---- .../main/resources/mapper/goods/GoodsMapper.xml | 2 +- 4 files changed, 15 insertions(+), 18 deletions(-) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/goods/GoodsMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/goods/GoodsMapper.java index 69660988d..9b37b2e93 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/goods/GoodsMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/goods/GoodsMapper.java @@ -110,15 +110,6 @@ public interface GoodsMapper extends BaseMapperX { List selectPlanGoodsDataSource(@Param("filed") String filed,@Param("planId") Long planId ,@Param("organId") Long organId); -// default GoodsDO selectGoodsId(Long orderId, String goodsId, Long organId) { -// return selectOne(new LambdaQueryWrapperX() -// .eq(GoodsDO::getOrganId, organId) -// .eq(GoodsDO::getDeleted, false) -// .eq(GoodsDO::getGoodsId, goodsId) -// .eq(GoodsDO::getOrderId, orderId) -// .select(GoodsDO::getId)); -// -// } GoodsDO selectGoodsId(@Param("orderId") Long orderId,@Param("goodsId") String goodsId,@Param("organId") Long organId); @@ -217,7 +208,7 @@ public interface GoodsMapper extends BaseMapperX { return selectList(new LambdaQueryWrapperX() .eq(GoodsDO::getOrganId, organId) .eq(GoodsDO::getDeleted, false) - .inIfPresent(GoodsDO::getOrderId,orderIds) + .in(GoodsDO::getOrderId,orderIds) .eq(GoodsDO::getPlanId,0) .select(GoodsDO::getOrderId)); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java index c6ef5cd38..7fed6e25b 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java @@ -98,7 +98,6 @@ public interface OrderMapper extends BaseMapperX { IPage selectOrderPage(@Param("page") IPage page, @Param(Constants.WRAPPER) Wrapper wrapper); -// IPage selectOrderPage(@Param("page") IPage page,@Param("pageReqVO") OrderPageReqVOCopy pageReqVO, @Param("organId") Long organId); Map selectDynamicSqlString(@Param("sqlStr") String sqlStr); @@ -273,9 +272,9 @@ public interface OrderMapper extends BaseMapperX { default List selectOrderPackList(List orderIds, Long organId) { return selectList(new LambdaQueryWrapperX() - .eqIfPresent(OrderDO::getOrganId, organId) + .eq(OrderDO::getOrganId, organId) .eq(OrderDO::getDeleted, false) - .inIfPresent(OrderDO::getId,orderIds) + .in(OrderDO::getId,orderIds) .eq(OrderDO::getPackaged, OrderPackageStatusEnum.PACKAGED.getStatus())); } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java index b1d8992ef..01f3d7b7a 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java @@ -189,6 +189,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { List plateDOS = plateMapper.selectPlateByPlateNo(plateNo.stream().distinct().toList(), getUserOrganId()); + AssertUtils.notEmpty(plateDOS,ORDER_PLAN_OPTIMIZE_ERROR); List orderIds = new ArrayList<>(plateDOS.stream().map(PlateDO::getOrderId).distinct().toList()); @@ -248,15 +249,21 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { planMapper.updateById(planDO); - List deleteOrderIds = goodsMapper.selectNoPlanOrdersListByOrderIds(orderIds, getUserOrganId()).stream().map(GoodsDO::getOrderId).distinct().toList(); + // 需要去除的生产单ID + List deleteOrderIds = new ArrayList<>(); + // 筛选出还有未排单的生产单ID + deleteOrderIds.addAll(goodsMapper.selectNoPlanOrdersListByOrderIds(orderIds, getUserOrganId()).stream().map(GoodsDO::getOrderId).distinct().toList()); + + // 筛选出生产单对应的排单里状态为 未排单的 生产单ID + deleteOrderIds.addAll(goodsMapper.selectOrderPlanList(orderIds, getUserOrganId())); + + // 去除 orderIds.removeAll(deleteOrderIds); if(ObjectUtil.isNotEmpty(orderIds)) { - List orderIdList = goodsMapper.selectOrderPlanList(orderIds, getUserOrganId()); - - List orderDOS = orderMapper.selectOrderPackList(orderIdList, getUserOrganId()); + List orderDOS = orderMapper.selectOrderPackList(orderIds, getUserOrganId()); if (ObjectUtil.isNotEmpty(orderDOS)) { List orderDOList = orderDOS.stream().map(m -> m.setStatus(OrderStatusEnum.FINISH_PRODUCTION.getStatus())).toList(); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/goods/GoodsMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/goods/GoodsMapper.xml index df9c9fee9..602690a6f 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/goods/GoodsMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/goods/GoodsMapper.xml @@ -467,7 +467,7 @@ #{orderIds} - and op.status = 2 + and op.status in (0,1);