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()); 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; 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查询 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); for (Order order : pageList.getRecords()) { ChangeDispatch changeDispatch = changeDispatchService.lambdaQuery() .eq(ChangeDispatch::getOrderId, order.getId()) List<ChangeDispatch> list = changeDispatchService.lambdaQuery() .eq(ChangeDispatch::getIsDelete, 0) .orderByDesc(ChangeDispatch::getCreateTime) .last("limit 1").one(); .orderByDesc(ChangeDispatch::getCreateTime).list(); for (Order order : pageList.getRecords()) { 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++; } } 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 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