baifucheng 2 hónapja%!(EXTRA string=óta)
szülő
commit
b6c8d60477

+ 11 - 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/info/NursingWorkerController.java

@@ -30,6 +30,9 @@ import com.ruoyi.info.nursing.domain.vo.NursingWorkerVo;
 import com.ruoyi.info.nursing.domain.bo.NursingWorkerBo;
 import com.ruoyi.info.nursing.service.INursingWorkerService;
 import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.info.order.domain.vo.OrderWorkerSumVo;
+import com.ruoyi.info.order.service.IOrderService;
+
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiParam;
 import io.swagger.annotations.ApiOperation;
@@ -53,6 +56,8 @@ public class NursingWorkerController extends BaseController {
 
     private final IHospitalService iHospitalService;
 
+    private final IOrderService iOrderService;
+
     /**
      * 分页查询护工信息列表
      */
@@ -161,8 +166,12 @@ public class NursingWorkerController extends BaseController {
                 nursingWorkerVo.setHospitalName(hospitalVo.getName());
             }
 
-            // 获取护工的订单信息
-
+            //  获取护工的订单信息
+            List<OrderWorkerSumVo> orderWorkerSumVoList = iOrderService.getOrderWorkerSum();
+            OrderWorkerSumVo orderWorkerSumVo = findFirst(orderWorkerSumVoList, o -> o.getWorkerId().equals(nursingWorkerVo.getId()));
+            if (orderWorkerSumVo != null) {
+                nursingWorkerVo.setOrderCount(orderWorkerSumVo.getCount());
+            }
         }
     }
 

+ 23 - 0
ruoyi-info/src/main/java/com/ruoyi/info/order/domain/vo/OrderWorkerSumVo.java

@@ -0,0 +1,23 @@
+package com.ruoyi.info.order.domain.vo;
+
+import lombok.Data;
+
+/**
+ * @author fucheng.bai
+ * @date 2025/10/9
+ *
+ * 订单根据护工统计数量
+ */
+@Data
+public class OrderWorkerSumVo {
+
+    /**
+     * 护工id
+     */
+    private Long workerId;
+
+    /**
+     * 统计数量
+     */
+    private Integer count;
+}

+ 4 - 0
ruoyi-info/src/main/java/com/ruoyi/info/order/mapper/OrderMapper.java

@@ -6,6 +6,8 @@ import com.ruoyi.info.hospital.domain.vo.HospitalStatisticsVo;
 import com.ruoyi.info.order.domain.Order;
 import com.ruoyi.info.order.domain.bo.OrderBo;
 import com.ruoyi.info.order.domain.vo.OrderVo;
+import com.ruoyi.info.order.domain.vo.OrderWorkerSumVo;
+
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -23,4 +25,6 @@ public interface OrderMapper extends BaseMapperPlus<OrderMapper, Order, OrderVo>
     List<OrderVo> queryAllList(@Param("bo") OrderBo bo);
 
     List<HospitalStatisticsVo> queryHospitalOrderStatistics();
+
+    List<OrderWorkerSumVo> selectOrderWorkerSum();
 }

+ 3 - 0
ruoyi-info/src/main/java/com/ruoyi/info/order/service/IOrderService.java

@@ -7,6 +7,7 @@ import com.ruoyi.info.order.domain.Order;
 import com.ruoyi.info.order.domain.bo.OrderBo;
 import com.ruoyi.info.order.domain.bo.OrderReviewsBo;
 import com.ruoyi.info.order.domain.vo.OrderVo;
+import com.ruoyi.info.order.domain.vo.OrderWorkerSumVo;
 import com.ruoyi.info.order.enums.CancellationMethod;
 
 import java.util.Collection;
@@ -98,4 +99,6 @@ public interface IOrderService {
     String getWorkerPhone(Long id, Long teacherId);
 
     boolean evaluate(OrderReviewsBo bo);
+
+    List<OrderWorkerSumVo> getOrderWorkerSum();
 }

+ 7 - 0
ruoyi-info/src/main/java/com/ruoyi/info/order/service/impl/OrderServiceImpl.java

@@ -33,6 +33,7 @@ import com.ruoyi.info.order.domain.bo.OrderWorkerChangeRecordBo;
 import com.ruoyi.info.order.domain.vo.OrderReviewsVo;
 import com.ruoyi.info.order.domain.vo.OrderVo;
 import com.ruoyi.info.order.domain.vo.OrderWorkerChangeRecordVo;
+import com.ruoyi.info.order.domain.vo.OrderWorkerSumVo;
 import com.ruoyi.info.order.enums.CancellationMethod;
 import com.ruoyi.info.order.enums.OrderStatus;
 import com.ruoyi.info.order.exception.OrderExceptionEnum;
@@ -56,6 +57,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -450,6 +452,11 @@ public class OrderServiceImpl implements IOrderService {
         return baseMapper.updateById(order) > 0;
     }
 
+    @Override
+    public List<OrderWorkerSumVo> getOrderWorkerSum() {
+        return baseMapper.selectOrderWorkerSum();
+    }
+
     private List<OrderVo> convertAllList(List<OrderVo> list, boolean queryPatient) {
         return list.stream().map(o -> {
             HospitalVo hospitalVo = JSONObject.parseObject(o.getHospitalInfo(), HospitalVo.class);

+ 6 - 0
ruoyi-info/src/main/resources/mapper/order/OrderMapper.xml

@@ -54,6 +54,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         limit 10
     </select>
 
+    <select id="selectOrderWorkerSum" resultType="com.ruoyi.info.order.domain.vo.OrderWorkerSumVo">
+        select o.worker_id, count(o.id) as count from tb_order o
+        where o.worker_id is not null
+        group by o.worker_id
+    </select>
+
     <sql id="queryList">
         select o.*, u.nickname as userName, u.mobile as userMobile from tb_order o
         left join tb_user u on u.id = o.user_id