From f198eb8efc4cc3c53e6b5839dabb4aae4c68510c Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期三, 08 一月 2025 17:16:55 +0800 Subject: [PATCH] bug修改 --- ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java | 6 +- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Order.java | 25 ++++++++++++ ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 51 +++++++++---------------- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java | 2 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml | 10 ++++- 5 files changed, 55 insertions(+), 39 deletions(-) diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java index 9a81d69..f7787ac 100644 --- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java +++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java @@ -189,13 +189,13 @@ Page<Order> data = orderClient.queryPage(orderQueryRequest).getData(); + List<MasterWorker> list = masterWorkerService.lambdaQuery() + .eq(MasterWorker::getIsDelete, 0).list(); if (null != data) { for (Order record : data.getRecords()) { // 回收服务信息 Integer serverId = record.getServerId(); - MasterWorker masterWorker = masterWorkerService.lambdaQuery() - .eq(MasterWorker::getId, serverId) - .eq(MasterWorker::getIsDelete, 0).one(); + MasterWorker masterWorker = list.stream().filter(e -> e.getId().equals(serverId)).findFirst().orElse(null); if (null != masterWorker) { record.setServerName(masterWorker.getRealName()); record.setServerPhone(masterWorker.getPhone()); diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Order.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Order.java index 2918b8e..6f5d07f 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Order.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Order.java @@ -177,6 +177,31 @@ @TableField(exist = false) private String applyReason; + @ApiModelProperty("代派单") + @TableField(exist = false) + private Integer toBeDispatched=0; + @ApiModelProperty("待上门") + @TableField(exist = false) + private Integer stayDoorstep=0; + @ApiModelProperty("带完工") + @TableField(exist = false) + private Integer toBeCompleted=0; + @ApiModelProperty("已完结") + @TableField(exist = false) + private Integer completed=0; + @ApiModelProperty("已取消") + @TableField(exist = false) + private Integer canceled =0; + @ApiModelProperty("再投数量") + @TableField(exist = false) + private Integer reInvestment=0; + + + + + + + @ApiModelProperty("是否为再投单") @TableField("is_reinvest") private Integer isReinvest; diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java index 0263b89..6747f6a 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java @@ -112,7 +112,7 @@ * @param orderQueryRequest 筛选参数 * @return 统计数量 */ - List<Order> orderPageCount(@Param("data") OrderQueryRequest orderQueryRequest); + Order orderPageCount(@Param("data") OrderQueryRequest orderQueryRequest); /** * 根据所选id查询 diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java index 42de2ee..1f61d32 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java @@ -1,4 +1,5 @@ package com.ruoyi.order.service.impl; +import java.util.Date; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -131,12 +132,12 @@ Page<Order> page = Page.of(orderQueryRequest.getPageNum(), orderQueryRequest.getPageSize()); // 基础查询 Page<Order> pageList = baseMapper.queryPage(orderQueryRequest, page); + List<ChangeDispatch> list = changeDispatchService.lambdaQuery() + .eq(ChangeDispatch::getIsDelete, 0) + .orderByDesc(ChangeDispatch::getCreateTime).list(); for (Order order : pageList.getRecords()) { - ChangeDispatch changeDispatch = changeDispatchService.lambdaQuery() - .eq(ChangeDispatch::getOrderId, order.getId()) - .eq(ChangeDispatch::getIsDelete, 0) - .orderByDesc(ChangeDispatch::getCreateTime) - .last("limit 1").one(); + ChangeDispatch changeDispatch = list.stream().filter(e -> e.getOrderId().equals(order.getId())) + .findFirst().orElse(null); if (null != changeDispatch) { order.setApplyReason(changeDispatch.getApplyReason()); } @@ -160,34 +161,18 @@ @Override public OrderPageCountVO orderPageCount(OrderQueryRequest orderQueryRequest) { - List<Order> orderList = baseMapper.orderPageCount(orderQueryRequest); - int total = 0; - int toBeDispatched = 0; - int stayDoorstep = 0; - int toBeCompleted = 0; - int completed = 0; - int canceled = 0; - int reInvestment = 0; - for (Order order : orderList) { - total++; - Integer state = order.getState(); - if (Constants.ZERO.equals(state)) { - toBeDispatched++; - } else if (Constants.ONE.equals(state)) { - stayDoorstep++; - } else if (Constants.TWO.equals(state)) { - toBeCompleted++; - } else if (Constants.THREE.equals(state)) { - completed++; - } else if (Constants.FOUR.equals(state)) { - canceled++; - } - if (order.getState().equals(Constants.SIX)) { - reInvestment++; - } - } - return new OrderPageCountVO(total, toBeDispatched, stayDoorstep, - toBeCompleted, completed, canceled, reInvestment); + Order order = baseMapper.orderPageCount(orderQueryRequest); + + Integer toBeDispatched = order.getToBeDispatched(); + Integer stayDoorstep = order.getStayDoorstep(); + Integer toBeCompleted = order.getToBeCompleted(); + Integer completed = order.getCompleted(); + Integer canceled = order.getCanceled(); + Integer reInvestment = order.getReInvestment(); + int total = toBeDispatched + stayDoorstep + toBeCompleted + completed + canceled + reInvestment; + return new OrderPageCountVO(total, toBeDispatched, stayDoorstep, + toBeCompleted, completed, canceled, reInvestment); + } @Override diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml index 450257e..463026a 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml +++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml @@ -377,8 +377,14 @@ order by o.createTime desc </select> - <select id="orderPageCount" resultMap="BaseResultMap"> - select o.* + <select id="orderPageCount" resultType="com.ruoyi.order.entity.Order"> + select + sum(case when o.state = 0 then 1 end) as toBeDispatched, + sum(case when o.state = 1 then 1 end) as stayDoorstep, + sum(case when o.state = 2 then 1 end) as toBeCompleted, + sum(case when o.state = 3 then 1 end) as completed, + sum(case when o.state = 4 then 1 end) as canceled, + sum(case when o.state = 6 then 1 end) as reInvestment from t_order o <where> o.is_delete = 0 -- Gitblit v1.7.1