From 0ccf7484aa073da1ad4d4750734d34fd3599b531 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Mon, 1 Jun 2026 16:15:30 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A6=85=E9=81=93bug#1589=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dal/mysql/orderItem/OrderItemMapper.java | 14 ++-- .../OrderComponentServiceImpl.java | 70 +++++++++++----- .../service/plate/PlateServiceImpl.java | 82 ++++++++++++++----- .../mapper/orderItem/OrderItemMapper.xml | 18 +++- 4 files changed, 135 insertions(+), 49 deletions(-) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderItem/OrderItemMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderItem/OrderItemMapper.java index a37c29acc..fde022d76 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderItem/OrderItemMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderItem/OrderItemMapper.java @@ -232,7 +232,8 @@ public interface OrderItemMapper extends BaseMapperX { @Param("orderIds") List orderIds, @Param("bodyIds") Set bodyIds, @Param("groupIds") Set groupId, - @Param("componentIds") Set componentIds); + @Param("componentIds") Set componentIds, + @Param("deleted") Boolean deleted); /** * 分页查询订单配件视图数据 @@ -264,11 +265,12 @@ public interface OrderItemMapper extends BaseMapperX { * @return */ IPage selectOrdersViewPartsIdsPage(@Param("page") IPage page, - @Param("orderIds") List orderIds, - @Param("bodyIds") Set bodyIds, - @Param("groupIds") Set groupId, - @Param("componentIds") Set componentIds, - @Param("name") String name); + @Param("orderIds") List orderIds, + @Param("bodyIds") Set bodyIds, + @Param("groupIds") Set groupId, + @Param("componentIds") Set componentIds, + @Param("name") String name, + @Param("deleted") Boolean deleted); /** * 查询部件关联的板件ID列表 diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentServiceImpl.java index 6ac6e6bb1..c2595da2e 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentServiceImpl.java @@ -235,9 +235,11 @@ public class OrderComponentServiceImpl implements OrderComponentService { (a, b) -> a )); + Boolean deleted = pageReqVO.getDeleted(); + // 分页获取板件id IPage plateIdPage = orderItemMapper.selectOrdersViewPlateIdsPage(new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()), - orderIds, null, null, queryComponentIds); + orderIds, null, null, queryComponentIds, deleted); List plateIdPageRecords = plateIdPage.getRecords(); if(CollUtil.isEmpty(plateIdPageRecords)) { @@ -245,14 +247,25 @@ public class OrderComponentServiceImpl implements OrderComponentService { } // 查询板件+板材信息 - List ordersViewPlatesPageDOS = plateMapper.selectPlateGoodsByIds(orderIds, plateIdPageRecords, pageReqVO.getDeleted()); + List ordersViewPlatesPageDOS = plateMapper.selectPlateGoodsByIds(orderIds, plateIdPageRecords, deleted); + List orderItemRelation; // 查询关联关系 - List orderItemRelation = orderItemMapper.selectList(new LambdaQueryWrapper() - .in(OrderItemDO::getOrderId, pageReqVO.getOrderIds()) - .in(OrderItemDO::getPlateId, plateIdPageRecords) - .select(OrderItemDO::getPlateId, OrderItemDO::getRoomId, OrderItemDO::getBodyId, OrderItemDO::getCadViewId, OrderItemDO::getGroupId, OrderItemDO::getCompId) - ); + if (!deleted) { + orderItemRelation = orderItemMapper.selectList(new LambdaQueryWrapper() + .in(OrderItemDO::getOrderId, pageReqVO.getOrderIds()) + .in(OrderItemDO::getPlateId, plateIdPageRecords) + .select(OrderItemDO::getPlateId, OrderItemDO::getRoomId, OrderItemDO::getBodyId, OrderItemDO::getCadViewId, OrderItemDO::getGroupId, OrderItemDO::getCompId) + ); + } else { + List orderItemTempDOS = orderItemTempMapper.selectList(new LambdaQueryWrapperX() + .in(OrderItemTempDO::getOrderId, pageReqVO.getOrderIds()) + .in(OrderItemTempDO::getPlateId, plateIdPageRecords) + .select(OrderItemTempDO::getPlateId, OrderItemTempDO::getRoomId, OrderItemTempDO::getBodyId, OrderItemTempDO::getCadViewId, OrderItemTempDO::getGroupId, OrderItemTempDO::getCompId) + ); + orderItemRelation = BeanUtil.copyToList(orderItemTempDOS, OrderItemDO.class); + } + // 暂存plateId:set Map> plateGroupMap = new HashMap<>(); @@ -408,9 +421,11 @@ public class OrderComponentServiceImpl implements OrderComponentService { (a, b) -> a )); + Boolean deleted = pageReqVO.getDeleted(); + // 查询配件编号+信息 PageDTO page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); - IPage pageRes = orderItemMapper.selectOrdersViewPartsIdsPage(page, orderIds, null, null, queryComponentIds, null); + IPage pageRes = orderItemMapper.selectOrdersViewPartsIdsPage(page, orderIds, null, null, queryComponentIds, null, deleted); List partsPageRecords = pageRes.getRecords(); if(CollUtil.isEmpty(partsPageRecords)) { @@ -420,17 +435,34 @@ public class OrderComponentServiceImpl implements OrderComponentService { List partsIds = partsPageRecords.stream().map(OrdersViewPartsPageDO::getId).toList(); // 查询关联关系 - List orderItemRelation = orderItemMapper.selectList(new LambdaQueryWrapperX() - .in(OrderItemDO::getOrderId, pageReqVO.getOrderIds()) - .inIfPresent(OrderItemDO::getCompId, queryComponentIds) - .in(OrderItemDO::getPartsId, partsIds) - .and(wrapper -> - wrapper.ne(OrderItemDO::getGroupId, 0L) - .or() - .isNull(OrderItemDO::getGroupId) - ) - .select(OrderItemDO::getPartsId, OrderItemDO::getCadViewId, OrderItemDO::getGroupId, OrderItemDO::getCompId, OrderItemDO::getNum) - ); + List orderItemRelation; + if (!deleted) { + orderItemRelation = orderItemMapper.selectList(new LambdaQueryWrapperX() + .in(OrderItemDO::getOrderId, pageReqVO.getOrderIds()) + .inIfPresent(OrderItemDO::getCompId, queryComponentIds) + .in(OrderItemDO::getPartsId, partsIds) + .and(wrapper -> + wrapper.ne(OrderItemDO::getGroupId, 0L) + .or() + .isNull(OrderItemDO::getGroupId) + ) + .select(OrderItemDO::getPartsId, OrderItemDO::getCadViewId, OrderItemDO::getGroupId, OrderItemDO::getCompId, OrderItemDO::getNum) + ); + } else { + List orderItemTempDOS = orderItemTempMapper.selectList(new LambdaQueryWrapperX() + .in(OrderItemTempDO::getOrderId, pageReqVO.getOrderIds()) + .inIfPresent(OrderItemTempDO::getCompId, queryComponentIds) + .in(OrderItemTempDO::getPartsId, partsIds) + .and(wrapper -> + wrapper.ne(OrderItemTempDO::getGroupId, 0L) + .or() + .isNull(OrderItemTempDO::getGroupId) + ) + .select(OrderItemTempDO::getPartsId, OrderItemTempDO::getCadViewId, OrderItemTempDO::getGroupId, OrderItemTempDO::getCompId, OrderItemTempDO::getNum) + ); + orderItemRelation = BeanUtil.copyToList(orderItemTempDOS, OrderItemDO.class); + } + // 暂存 partsId:set Map, Set> partsGroupMap = new HashMap<>(); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateServiceImpl.java index a5f448c3a..bc7af522f 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateServiceImpl.java @@ -38,6 +38,7 @@ import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; import com.cf.imes.module.executor.dal.dataobject.orderBody.OrderBodyDO; import com.cf.imes.module.executor.dal.dataobject.orderGroup.OrderGroupDO; import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO; +import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemTempDO; import com.cf.imes.module.executor.dal.dataobject.orderItem.OrdersViewPartsPageDO; import com.cf.imes.module.executor.dal.dataobject.orderItem.OrdersViewPlatesPageDO; import com.cf.imes.module.executor.dal.dataobject.ordercomponent.OrderComponentDO; @@ -51,6 +52,7 @@ import com.cf.imes.module.executor.dal.mysql.order.OrderMapper; import com.cf.imes.module.executor.dal.mysql.orderBody.OrderBodyMapper; import com.cf.imes.module.executor.dal.mysql.orderGroup.OrderGroupMapper; import com.cf.imes.module.executor.dal.mysql.orderItem.OrderItemMapper; +import com.cf.imes.module.executor.dal.mysql.orderItem.OrderItemTempMapper; import com.cf.imes.module.executor.dal.mysql.ordercomponent.OrderComponentMapper; import com.cf.imes.module.executor.dal.mysql.plan.PlanMapper; import com.cf.imes.module.executor.dal.mysql.plate.PlateGoodMapper; @@ -98,6 +100,9 @@ public class PlateServiceImpl implements PlateService { @Resource private OrderItemMapper orderItemMapper; + @Resource + private OrderItemTempMapper orderItemTempMapper; + @Resource private GoodsMapper goodsMapper; @@ -861,9 +866,11 @@ public class PlateServiceImpl implements PlateService { List orderIds = List.of(pageReqVO.getOrderId()); + Boolean deleted = pageReqVO.getDeleted(); + // 分页获取板件id IPage plateIdPage = orderItemMapper.selectOrdersViewPlateIdsPage(new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()), - orderIds, bodyIds, groupIds, null); + orderIds, bodyIds, groupIds, null, deleted); List plateIdPageRecords = plateIdPage.getRecords(); if(CollUtil.isEmpty(plateIdPageRecords)) { @@ -871,16 +878,28 @@ public class PlateServiceImpl implements PlateService { } // 查询板件+板材信息 - List ordersViewPlatesPageDOS = plateMapper.selectPlateGoodsByIds(orderIds, plateIdPageRecords, pageReqVO.getDeleted()); + List ordersViewPlatesPageDOS = plateMapper.selectPlateGoodsByIds(orderIds, plateIdPageRecords, deleted); + List orderItemRelation; // 查询关联关系 - List orderItemRelation = orderItemMapper.selectList(new LambdaQueryWrapperX() - .eq(OrderItemDO::getOrderId, pageReqVO.getOrderId()) - .inIfPresent(OrderItemDO::getBodyId, bodyIds) - .inIfPresent(OrderItemDO::getGroupId, groupIds) - .in(OrderItemDO::getPlateId, plateIdPageRecords) - .select(OrderItemDO::getPlateId, OrderItemDO::getRoomId, OrderItemDO::getBodyId, OrderItemDO::getCadViewId, OrderItemDO::getGroupId, OrderItemDO::getCompId) - ); + if(!deleted) { + orderItemRelation = orderItemMapper.selectList(new LambdaQueryWrapperX() + .eq(OrderItemDO::getOrderId, pageReqVO.getOrderId()) + .inIfPresent(OrderItemDO::getBodyId, bodyIds) + .inIfPresent(OrderItemDO::getGroupId, groupIds) + .in(OrderItemDO::getPlateId, plateIdPageRecords) + .select(OrderItemDO::getPlateId, OrderItemDO::getRoomId, OrderItemDO::getBodyId, OrderItemDO::getCadViewId, OrderItemDO::getGroupId, OrderItemDO::getCompId) + ); + } else { + List orderItemTempDOS = orderItemTempMapper.selectList(new LambdaQueryWrapperX() + .eq(OrderItemTempDO::getOrderId, pageReqVO.getOrderId()) + .inIfPresent(OrderItemTempDO::getBodyId, bodyIds) + .inIfPresent(OrderItemTempDO::getGroupId, groupIds) + .in(OrderItemTempDO::getPlateId, plateIdPageRecords) + .select(OrderItemTempDO::getPlateId, OrderItemTempDO::getRoomId, OrderItemTempDO::getBodyId, OrderItemTempDO::getCadViewId, OrderItemTempDO::getGroupId, OrderItemTempDO::getCompId) + ); + orderItemRelation = BeanUtil.copyToList(orderItemTempDOS, OrderItemDO.class); + } // 暂存plateId:set @@ -1016,9 +1035,11 @@ public class PlateServiceImpl implements PlateService { .filter(item -> item.getCadViewFileId() != null) .collect(Collectors.toMap(OrderBodyDO::getId, OrderBodyDO::getCadViewFileId)); + Boolean deleted = pageReqVO.getDeleted(); + // 查询配件编号+信息 PageDTO page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); - IPage pageRes = orderItemMapper.selectOrdersViewPartsIdsPage(page, orderIds, bodyIds, groupIds, null, pageReqVO.getName()); + IPage pageRes = orderItemMapper.selectOrdersViewPartsIdsPage(page, orderIds, bodyIds, groupIds, null, pageReqVO.getName(), deleted); List partsPageRecords = pageRes.getRecords(); if(CollUtil.isEmpty(partsPageRecords)) { @@ -1028,18 +1049,35 @@ public class PlateServiceImpl implements PlateService { List partsIds = partsPageRecords.stream().map(OrdersViewPartsPageDO::getId).toList(); // 查询关联关系 - List orderItemRelation = orderItemMapper.selectList(new LambdaQueryWrapperX() - .eq(OrderItemDO::getOrderId, pageReqVO.getOrderId()) - .inIfPresent(OrderItemDO::getBodyId, bodyIds) - .inIfPresent(OrderItemDO::getGroupId, groupIds) - .and(wrapper -> - wrapper.ne(OrderItemDO::getGroupId, 0L) - .or() - .isNull(OrderItemDO::getGroupId) - ) - .in(OrderItemDO::getPartsId, partsIds) - .select(OrderItemDO::getPartsId, OrderItemDO::getBodyId, OrderItemDO::getCadViewId, OrderItemDO::getGroupId, OrderItemDO::getCompId, OrderItemDO::getNum) - ); + List orderItemRelation; + if (!deleted) { + orderItemRelation = orderItemMapper.selectList(new LambdaQueryWrapperX() + .eq(OrderItemDO::getOrderId, pageReqVO.getOrderId()) + .inIfPresent(OrderItemDO::getBodyId, bodyIds) + .inIfPresent(OrderItemDO::getGroupId, groupIds) + .and(wrapper -> + wrapper.ne(OrderItemDO::getGroupId, 0L) + .or() + .isNull(OrderItemDO::getGroupId) + ) + .in(OrderItemDO::getPartsId, partsIds) + .select(OrderItemDO::getPartsId, OrderItemDO::getBodyId, OrderItemDO::getCadViewId, OrderItemDO::getGroupId, OrderItemDO::getCompId, OrderItemDO::getNum) + ); + } else { + List orderItemTempDOS = orderItemTempMapper.selectList(new LambdaQueryWrapperX() + .eq(OrderItemTempDO::getOrderId, pageReqVO.getOrderId()) + .inIfPresent(OrderItemTempDO::getBodyId, bodyIds) + .inIfPresent(OrderItemTempDO::getGroupId, groupIds) + .and(wrapper -> + wrapper.ne(OrderItemTempDO::getGroupId, 0L) + .or() + .isNull(OrderItemTempDO::getGroupId) + ) + .in(OrderItemTempDO::getPartsId, partsIds) + .select(OrderItemTempDO::getPartsId, OrderItemTempDO::getBodyId, OrderItemTempDO::getCadViewId, OrderItemTempDO::getGroupId, OrderItemTempDO::getCompId, OrderItemTempDO::getNum) + ); + orderItemRelation = BeanUtil.copyToList(orderItemTempDOS, OrderItemDO.class); + } // 暂存 partsId:set Map, Set> partsGroupMap = new HashMap<>(); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml index 63d99e9f7..f81da974b 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml @@ -533,7 +533,14 @@