From b223afe570d06cccdda79a70671c81d559576e0f Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Mon, 25 May 2026 17:59:53 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=AE=A1=E7=90=86=E3=80=81?= =?UTF-8?q?=E6=9C=AA=E6=8E=92=E8=AE=A2=E5=8D=95=E3=80=81=E5=88=86=E5=A0=86?= =?UTF-8?q?=E6=89=93=E5=8C=85=E6=94=AF=E6=8C=81=E6=9D=A1=E4=BB=B6=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E4=BD=9C=E7=94=A8=E5=88=B0=E5=AD=90=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../executor/dal/mysql/order/OrderMapper.java | 35 +- .../dal/mysql/planitem/PlanItemMapper.java | 16 + .../service/manage/pack/PackServiceImpl.java | 15 +- .../service/order/OrderServiceImpl.java | 17 +- .../service/plan/PlanServiceImpl.java | 2 +- .../resources/mapper/order/OrderMapper.xml | 442 ++++++++++++++++-- .../mapper/planitem/PlanItemMapper.xml | 154 ++++-- 7 files changed, 583 insertions(+), 98 deletions(-) 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 14c127d97..41db4faeb 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 @@ -103,6 +103,23 @@ public interface OrderMapper extends BaseMapperX { return selectPage(reqVO, query); } + /** + * 分页查询主单(带子单过滤) + * + * @param page + * @param reqVO + * @return + */ + IPage selectMainPage(@Param("page") IPage page, @Param("reqVO") OrderPageReqVO reqVO); + + /** + * 查询子单列表 + * + * @param reqVO + * @param parentIds + * @return + */ + List selectChildList(@Param("reqVO") OrderPageReqVO reqVO, @Param("parentIds") List parentIds); IPage selectOrderPage(@Param("page") IPage page, @Param(Constants.WRAPPER) Wrapper wrapper); @@ -322,8 +339,24 @@ public interface OrderMapper extends BaseMapperX { PrintOrderPackRespVO selectOrderPack(@Param("orderNo")Long orderNo, @Param("packageNo") Long packageNo, @Param("organId") Long organId); + /** + * 查询分堆打包订单分页 + * + * @param page + * @param pageReqVO + * @param organId + * @return + */ + IPage selectPackOrderList(@Param("page") IPage page, @Param("pageReqVO") PackPageReqVO pageReqVO, @Param("organId") Long organId); - IPage selectOrderIdList(@Param("page") IPage page, @Param("pageReqVO") PackPageReqVO pageReqVO, @Param("organId") Long organId); + /** + * 查询分堆打包子单列表 + * + * @param pageReqVO + * @param organId + * @return + */ + List selectPackOrderChildList(@Param("pageReqVO") PackPageReqVO pageReqVO, @Param("orderIds") List orderIds, @Param("organId") Long organId); List selectLabelOrderData(@Param("orderIds") List orderIds,@Param("organId") Long organId); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/planitem/PlanItemMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/planitem/PlanItemMapper.java index ed81868aa..447e25ee6 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/planitem/PlanItemMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/planitem/PlanItemMapper.java @@ -38,6 +38,22 @@ public interface PlanItemMapper extends BaseMapperX { @Param("orderGoodsIds") List orderGoodsIds, @Param("orderIds") Long... orderIds); + /** + * 未排单子单查询 + * + * @param page + * @param wrapper + * @param type + * @param orderGoodsIds 商品id列表 + * @param orderIds 父级订单数组 + * @return + */ + IPage selectOrderChildList(@Param("page") IPage page, + @Param(Constants.WRAPPER) Wrapper wrapper, + @Param("type") int type, + @Param("orderGoodsIds") List orderGoodsIds, + @Param("orderIds") Long... orderIds); + /** * 查询排单小板 * diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/pack/PackServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/pack/PackServiceImpl.java index f63e38925..407b99d28 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/pack/PackServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/pack/PackServiceImpl.java @@ -938,7 +938,7 @@ public class PackServiceImpl implements PackService { // 查询主单分页 - IPage packRespVOS = ordersMapper.selectOrderIdList(page, pageReqVO, getUserOrganId()); + IPage packRespVOS = ordersMapper.selectPackOrderList(page, pageReqVO, getUserOrganId()); if (CollUtil.isEmpty(packRespVOS.getRecords())) { return new PageResult<>(); @@ -947,17 +947,10 @@ public class PackServiceImpl implements PackService { orderIds.addAll(packRespVOS.getRecords().stream().map(PackRespVO::getId).toList()); // 查询分页下子级 - List childList = ordersMapper.selectList( - new LambdaQueryWrapperX() - .in(OrderDO::getParentId, orderIds) - .eqIfPresent(OrderDO::getDeleted, DeletedCodeEnum.NOT_DELETED.getStatus()) - .ne(OrderDO::getStatus, OrderStatusEnum.EMPTY.getStatus()) - .orderByDesc(OrderDO::getId) - ); + List childList = ordersMapper.selectPackOrderChildList(pageReqVO, orderIds, getUserOrganId()); + if (CollUtil.isNotEmpty(childList)) { - for (OrderDO child : childList) { - PackRespVO childPackRespVO = BeanUtil.copyProperties(child, PackRespVO.class); - childPackRespVO.setTotalPieceCount(child.getPlateNum()); + for (PackRespVO childPackRespVO : childList) { packRespVOS.getRecords().add(childPackRespVO); orderIds.add(childPackRespVO.getId()); } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java index 817780eb6..18d8d2630 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java @@ -309,23 +309,20 @@ public class OrderServiceImpl implements OrderService { @Override public PageResult getMainOrderPage(OrderPageReqVO pageReqVO) { - PageResult pageResult = orderMapper.selectPage(pageReqVO.setOrganId(getUserOrganId())); + IPage page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + IPage pageResult = orderMapper.selectMainPage(page, pageReqVO); Long pageResultTotal = pageResult.getTotal(); if (pageResultTotal > 0) { - List orderDOS = pageResult.getList(); + List orderDOS = pageResult.getRecords(); // 1、整理所有订单id List orderIds = orderDOS.stream().map(OrderDO::getId).toList(); // 2、查询订单id列表对应的子单 - List childList = orderMapper.selectList( - new LambdaQueryWrapperX() - .in(OrderDO::getParentId, orderIds) - .eqIfPresent(OrderDO::getDeleted, pageReqVO.getDeleted()) - .orderByDesc(OrderDO::getId) - ); + List childList = + orderMapper.selectChildList(pageReqVO, orderIds); if (CollUtil.isEmpty(childList)) { - return pageResult; + return new PageResult<>(pageResult.getRecords(), pageResultTotal); } // 3、 按 parentId 分组 @@ -338,7 +335,7 @@ public class OrderServiceImpl implements OrderService { } return new PageResult<>(orderDOS, pageResultTotal); } - return pageResult; + return new PageResult<>(pageResult.getRecords(), pageResultTotal); } @Override diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java index 6c6c9526a..c6a702790 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java @@ -574,7 +574,7 @@ public class PlanServiceImpl implements PlanService { // 主单id列表 Long[] mainOrderIds = mainOrderList.stream().map(OrderRespVOCopy::getOrderId).toArray(Long[]::new); PageDTO childPage = new PageDTO<>(pageReqVO.getPageNo(), PageParam.PAGE_SIZE_NONE); - IPage childOrderList = planItemMapper.selectOrderList(childPage, queryWrapperX, type, orderGoodsIds, mainOrderIds); + IPage childOrderList = planItemMapper.selectOrderChildList(childPage, queryWrapperX, type, orderGoodsIds, mainOrderIds); List childList = childOrderList.getRecords(); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml index d745c878d..d8862a7c1 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml @@ -28,6 +28,277 @@ + + + - - select - id, - order_type as orderType, - parent_id as parentId, - custom_order_no as customOrderNo, - dealer as dealer, - dealer_phone_number as dealerPhoneNumber, - order_date as orderDate, - create_time as createTime, - delivery_date as deliveryDate, - customer as customer, - phone_number as phoneNumber, - address as address, - salesman as salesman, - splitter as splitter, - packaged as packaged, - remark as remark, - plate_num as totalPieceCount, - packed_plates_count as packedPlatesCount, - packed_parts_count as packedPartsCount + SELECT + o.id, + o.order_type AS orderType, + o.parent_id AS parentId, + o.custom_order_no AS customOrderNo, + o.dealer AS dealer, + o.dealer_phone_number AS dealerPhoneNumber, + o.order_date AS orderDate, + o.create_time AS createTime, + o.delivery_date AS deliveryDate, + o.customer AS customer, + o.phone_number AS phoneNumber, + o.address AS address, + o.salesman AS salesman, + o.splitter AS splitter, + o.packaged AS packaged, + o.remark AS remark, + o.plate_num AS totalPieceCount, + o.packed_plates_count AS packedPlatesCount, + o.packed_parts_count AS packedPartsCount + + FROM orders o + + WHERE o.id IN ( + + SELECT DISTINCT + + CASE + WHEN x.parent_id = 0 THEN x.id + ELSE x.parent_id + END + + FROM orders x - from orders - organ_id =#{organId} - and deleted = false - and status in (1,2,3,4) - and parent_id = 0 + x.organ_id = #{organId} - - and id like concat('%', #{pageReqVO.orderId},'%') + AND x.deleted = false + + AND x.status IN (1,2,3,4) + + + AND CAST(x.id AS CHAR) LIKE CONCAT('%', #{pageReqVO.orderId}, '%') - - and packaged = #{pageReqVO.status} + + AND x.packaged = #{pageReqVO.status} - - and custom_order_no like concat('%',#{pageReqVO.customOrderNo},'%') + + AND x.custom_order_no LIKE CONCAT('%', #{pageReqVO.customOrderNo}, '%') - - and customer like concat('%', #{pageReqVO.customer},'%') + + AND x.customer LIKE CONCAT('%', #{pageReqVO.customer}, '%') - - and address like concat('%', #{pageReqVO.address},'%') + + AND x.address LIKE CONCAT('%', #{pageReqVO.address}, '%') - - and dealer like concat('%', #{pageReqVO.dealer},'%') + + AND x.dealer LIKE CONCAT('%', #{pageReqVO.dealer}, '%') - order by create_time desc + ) + + AND o.parent_id = 0 + + ORDER BY o.create_time DESC + + + + diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/planitem/PlanItemMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/planitem/PlanItemMapper.xml index 11ec81ecc..cf2231311 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/planitem/PlanItemMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/planitem/PlanItemMapper.xml @@ -19,12 +19,12 @@ + +