diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderOverdueRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderOverdueRespVO.java index 503e575c7..cee8edc88 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderOverdueRespVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderOverdueRespVO.java @@ -55,9 +55,6 @@ public class OrderOverdueRespVO { @Schema(description = "拆单员") private String splitter; - @Schema(description = "备注") - private String remark; - @Schema(description = "子单列表") private List child; } 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 34363f885..0636f603f 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 @@ -181,70 +181,28 @@ public interface OrderMapper extends BaseMapperX { * 查询今日要完成订单 * * @param orderDate + * @param organId * @param page - * @param rootIds 顶级订单数组 + * @param orderIds 父级订单数组 * @return */ - IPage selectOrderNear(@Param("page") IPage page, - @Param("orderDate") LocalDate orderDate, - @Param("rootIds") List rootIds); + IPage selectOrderNear(@Param("orderDate") LocalDate orderDate, + @Param("organId") Long organId, + @Param("page") IPage page, + @Param("orderIds") Long... orderIds); - /** - * 查询今日要完成子单 - * - * @param orderDate - * @param page - * @param mainOrderIds 父级订单数组 - * @return - */ - IPage selectChildOrderNear(@Param("page") IPage page, - @Param("orderDate") LocalDate orderDate, - @Param("mainOrderIds") List mainOrderIds); - - /** - * 查询今日要完成订单 - * - * @param page - * @param orderDate - * @return - */ - IPage selectOrderNearRootIds(@Param("page") IPage page, - @Param("orderDate") LocalDate orderDate); - - - /** - * 查询预期订单root_id - * - * @param page - * @param today - * @return - */ - IPage selectOrderOverdueRootIds(@Param("page") IPage page, - @Param("today") LocalDate today); /** * 查询预期订单 * - * @param page * @param today - * @param rootIds 顶级订单数组 + * @param organId + * @param page * @return */ - IPage selectOrderOverdue(@Param("page") IPage page, - @Param("today") LocalDate today, - @Param("rootIds") List rootIds); - - /** - * 查询预期子单 - * - * @param page - * @param today - * @param mainOrderIds 父级订单数组 - * @return - */ - IPage selectChildOrderOverdue(@Param("page") IPage page, - @Param("today") LocalDate today, - @Param("mainOrderIds") List mainOrderIds); + IPage selectOrderOverdue(@Param("today") LocalDate today, + @Param("organId") Long organId, + @Param("page") IPage page); /** * 订单数量统计 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 559e6e977..64ddc1f8e 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 @@ -108,7 +108,6 @@ import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.IntStream; -import static com.cf.imes.framework.common.pojo.PageParam.PAGE_SIZE_NONE; import static com.cf.imes.framework.common.util.json.JsonUtils.unzipString; import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId; import static com.cf.imes.module.executor.enums.ErrorCodeConstants.*; @@ -867,72 +866,27 @@ public class OrderServiceImpl implements OrderService { public PageResult getOrderOverdue(PageParam pageParam) { LocalDate todayDate = LocalDate.now(); PageDTO page = new PageDTO<>(pageParam.getPageNo(), pageParam.getPageSize()); - - // 查询满足条件的逾期单 root_id - IPage rootIdPage = orderMapper.selectOrderOverdueRootIds(page, todayDate); - List rootIds = rootIdPage.getRecords(); - long rootIdPageTotal = rootIdPage.getTotal(); - if(rootIdPageTotal == 0 || CollUtil.isEmpty(rootIds)) { - return PageResult.empty(); - } - - // 查询顶级逾期单,分页在顶级查询做,此处查询全部信息避免分页互相影响 - PageDTO secondPage = new PageDTO<>(pageParam.getPageNo(), PAGE_SIZE_NONE); - IPage orderOverdueVOS = orderMapper.selectOrderOverdue(secondPage, todayDate, rootIds); - List records = orderOverdueVOS.getRecords(); - - // 查询子单 - if (CollUtil.isNotEmpty(records)) { - // 主单id列表 - List mainOrderIds = records.stream().map(OrderOverdueRespVO::getId).toList(); - // 查询全部子单 - PageDTO childPage = new PageDTO<>(pageParam.getPageNo(), PageParam.PAGE_SIZE_NONE); - IPage childOrderOverdueVOS = orderMapper.selectChildOrderOverdue(childPage, todayDate, mainOrderIds); - - List childList = childOrderOverdueVOS.getRecords(); - - if (CollUtil.isNotEmpty(childList)) { - // 按 parentId 分组 - Map> childMap = childList.stream() - .collect(Collectors.groupingBy(OrderOverdueRespVO::getParentId)); - - // 回填 child - for (OrderOverdueRespVO order : records) { - order.setChild(childMap.getOrDefault(order.getId(), null)); - } - } - return new PageResult<>(records, rootIdPageTotal); - - } - - return new PageResult<>(records, rootIdPageTotal); + // 查询超时单 + IPage orderOverdueVOS = orderMapper.selectOrderOverdue(todayDate, OrganContextHolder.getOrganId(), page); + return new PageResult<>(orderOverdueVOS.getRecords(), orderOverdueVOS.getTotal()); } @Override public PageResult getOrderNear(PageParam pageParam) { + Long organId = OrganContextHolder.getOrganId(); + PageDTO page = new PageDTO<>(pageParam.getPageNo(), pageParam.getPageSize()); LocalDate tomorrow = LocalDate.now().plus(1, ChronoUnit.DAYS); - - // 查询满足条件的预警单 root_id - IPage rootIdPage = orderMapper.selectOrderNearRootIds(page, tomorrow); - List rootIds = rootIdPage.getRecords(); - long rootIdPageTotal = rootIdPage.getTotal(); - if(rootIdPageTotal == 0 || CollUtil.isEmpty(rootIds)) { - return PageResult.empty(); - } - - // 查询顶级预警单,分页在顶级查询做,此处查询全部信息避免分页互相影响 - PageDTO secondPage = new PageDTO<>(pageParam.getPageNo(), PAGE_SIZE_NONE); - IPage orderNearVOS = orderMapper.selectOrderNear(secondPage, tomorrow, rootIds); + // 查询预警单 + IPage orderNearVOS = orderMapper.selectOrderNear(tomorrow, organId, page); List records = orderNearVOS.getRecords(); // 查询子单 if (CollUtil.isNotEmpty(records)) { // 主单id列表 - List mainOrderIds = records.stream().map(OrderOverdueRespVO::getId).toList(); - // 查询全部子单 + Long[] mainOrderIds = records.stream().map(OrderOverdueRespVO::getId).toArray(Long[]::new); PageDTO childPage = new PageDTO<>(pageParam.getPageNo(), PageParam.PAGE_SIZE_NONE); - IPage childOrderNearVOS = orderMapper.selectChildOrderNear(childPage, tomorrow, mainOrderIds); + IPage childOrderNearVOS = orderMapper.selectOrderNear(tomorrow, organId, childPage, mainOrderIds); List childList = childOrderNearVOS.getRecords(); @@ -946,11 +900,11 @@ public class OrderServiceImpl implements OrderService { order.setChild(childMap.getOrDefault(order.getId(), null)); } } - return new PageResult<>(records, rootIdPageTotal); + return new PageResult<>(records, orderNearVOS.getTotal()); } - return new PageResult<>(records, rootIdPageTotal); + return new PageResult<>(records, orderNearVOS.getTotal()); } @Override 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 2986a971a..6bed5df66 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 @@ -293,68 +293,23 @@ o.phone_number, o.dealer, o.salesman, - o.splitter, - o.remark + o.splitter from orders o - where o.deleted = false + where o.organ_id = #{organId} + and o.deleted = 0 and o.status != 4 and o.delivery_date = #{orderDate} - - AND o.id IN - - #{rootId} - - - - - - - - - - -