From 1f4fd31eaed8f70a4a03f2493abe17eea774c15b Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 07 八月 2024 17:19:41 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ycl-server/src/main/java/com/ycl/platform/controller/DashboardController.java    |   11 ++-
 ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml                    |   25 ++++++-
 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/WorkOrderRegionVO.java  |   28 +++++++++
 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/WorkOrderTotalVO.java   |   28 +++++++++
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java |   14 +++-
 ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java            |    6 +
 ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java          |   13 +++
 7 files changed, 108 insertions(+), 17 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/WorkOrderRegionVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/WorkOrderRegionVO.java
new file mode 100644
index 0000000..9901138
--- /dev/null
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/WorkOrderRegionVO.java
@@ -0,0 +1,28 @@
+package com.ycl.platform.domain.vo.screen;
+
+import lombok.Data;
+
+/**
+ * @author gonghl
+ * @since 2024/8/7 涓嬪崍 4:41
+ */
+
+@Data
+public class WorkOrderRegionVO {
+
+    /**
+     * 鍖哄煙
+     */
+    private String area;
+
+    /**
+     * 寰呭姙鏁伴噺
+     */
+    private Integer todoNum;
+
+    /**
+     * 宸插姙鏁伴噺
+     */
+    private Integer doneNum;
+
+}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/WorkOrderTotalVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/WorkOrderTotalVO.java
new file mode 100644
index 0000000..e01cf17
--- /dev/null
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/WorkOrderTotalVO.java
@@ -0,0 +1,28 @@
+package com.ycl.platform.domain.vo.screen;
+
+import lombok.Data;
+
+/**
+ * @author gonghl
+ * @since 2024/8/7 涓嬪崍 4:14
+ */
+
+@Data
+public class WorkOrderTotalVO {
+
+    /**
+     * 宸ュ崟鎬绘暟
+     */
+    private Integer totalNum;
+
+    /**
+     * 宸插鐞嗗伐鍗曟暟
+     */
+    private Integer doneNum;
+
+    /**
+     * 鏈鐞嗗伐鍗曟暟
+     */
+    private Integer todoNum;
+
+}
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/DashboardController.java b/ycl-server/src/main/java/com/ycl/platform/controller/DashboardController.java
index fa4ec5a..c81bf9c 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/DashboardController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/DashboardController.java
@@ -31,9 +31,14 @@
         return AjaxResult.success(deptService.dashboard());
     }
 
-    @GetMapping("/workOrder")
-    public AjaxResult workOrder(DashboardQuery dashboardQuery) {
-        return AjaxResult.success(workOrderService.dashboard(dashboardQuery));
+    @GetMapping("/workOrder/total")
+    public AjaxResult workOrderTotal(DashboardQuery dashboardQuery) {
+        return AjaxResult.success(workOrderService.workOrderTotal(dashboardQuery));
+    }
+
+    @GetMapping("/workOrder/region")
+    public AjaxResult workOrderRegion(DashboardQuery dashboardQuery) {
+        return AjaxResult.success(workOrderService.workOrderRegion(dashboardQuery));
     }
 
     @GetMapping("/monitor/total")
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java
index 2517f55..cf2f65c 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java
@@ -7,6 +7,8 @@
 import com.ycl.platform.domain.vo.WorkOrderVO;
 import com.ycl.platform.domain.vo.YwPointJobVO;
 import com.ycl.platform.domain.vo.screen.ScreenWorkOrderVO;
+import com.ycl.platform.domain.vo.screen.WorkOrderRegionVO;
+import com.ycl.platform.domain.vo.screen.WorkOrderTotalVO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -53,12 +55,12 @@
      * @param dashboardQuery 鏌ヨ鏉′欢
      * @return 鏁版嵁
      */
-    Map<String, Object> workOrderTotal(DashboardQuery dashboardQuery);
+    WorkOrderTotalVO workOrderTotal(DashboardQuery dashboardQuery);
 
     /**
      * 澶у睆宸ュ崟鍒嗗尯
      * @param dashboardQuery 鏌ヨ鏉′欢
      * @return 鏁版嵁
      */
-    Map<String, Object> workOrderRegion(DashboardQuery dashboardQuery);
+    List<WorkOrderRegionVO> workOrderRegion(DashboardQuery dashboardQuery);
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java b/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
index 9e7d512..ba47fef 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
@@ -5,6 +5,8 @@
 import com.ycl.platform.domain.form.*;
 import com.ycl.platform.domain.query.*;
 import com.ycl.platform.domain.vo.DistributeWorkOrderVO;
+import com.ycl.platform.domain.vo.screen.WorkOrderRegionVO;
+import com.ycl.platform.domain.vo.screen.WorkOrderTotalVO;
 import com.ycl.system.Result;
 
 import java.util.List;
@@ -159,10 +161,17 @@
     Map<String, Object> home(HomeQuery monitorQuery);
 
     /**
-     * 澶у睆宸ュ崟
+     * 澶у睆宸ュ崟鏁版嵁
      * @param dashboardQuery 鏌ヨ鏉′欢
      * @return 鏁版嵁
      */
-    Map<String, Object> dashboard(DashboardQuery dashboardQuery);
+    WorkOrderTotalVO workOrderTotal(DashboardQuery dashboardQuery);
+
+    /**
+     * 澶у睆宸ュ崟鍦板尯
+     * @param dashboardQuery 鏌ヨ鏉′欢
+     * @return 鏁版嵁
+     */
+    List<WorkOrderRegionVO> workOrderRegion(DashboardQuery dashboardQuery);
 
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index 0178d13..0491c4f 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -13,6 +13,8 @@
 import com.ycl.platform.domain.vo.WorkOrderVO;
 import com.ycl.platform.domain.vo.WorkOrderYwConditionRecordVO;
 import com.ycl.platform.domain.vo.screen.ScreenWorkOrderVO;
+import com.ycl.platform.domain.vo.screen.WorkOrderRegionVO;
+import com.ycl.platform.domain.vo.screen.WorkOrderTotalVO;
 import com.ycl.platform.mapper.*;
 import com.ycl.platform.service.NotifyService;
 import com.ycl.platform.service.WorkOrderAuditingRecordService;
@@ -464,10 +466,12 @@
     }
 
     @Override
-    public Map<String, Object> dashboard(DashboardQuery dashboardQuery) {
-        HashMap<String, Object> map = new HashMap<>();
-        map.put("workOrderTotal", baseMapper.workOrderTotal(dashboardQuery));
-        map.put("workOrderRegion", baseMapper.workOrderRegion(dashboardQuery));
-        return map;
+    public WorkOrderTotalVO workOrderTotal(DashboardQuery dashboardQuery) {
+        return baseMapper.workOrderTotal(dashboardQuery);
+    }
+
+    @Override
+    public List<WorkOrderRegionVO> workOrderRegion(DashboardQuery dashboardQuery) {
+        return baseMapper.workOrderRegion(dashboardQuery);
     }
 }
diff --git a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
index f07833f..2576775 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
@@ -139,17 +139,32 @@
         </if>
     </select>
 
-    <select id="workOrderTotal" resultType="java.util.Map">
+    <select id="workOrderTotal" resultType="com.ycl.platform.domain.vo.screen.WorkOrderTotalVO">
         SELECT
             COUNT(*) AS totalNum,
-            COUNT(IF(status = 'DISTRIBUTED', 1, NULL)) + COUNT(IF(status = 'AUDITING_FAIL', 1, NULL)) + COUNT(IF(status = 'WAIT_DISTRIBUTE', 1, NULL)) AS todoNum,
-            COUNT(IF(status = 'YW_HANDLE', 1, NULL)) + COUNT(IF(status = 'AUDITING_SUCCESS', 1, NULL)) + COUNT(IF(status = 'AUDITING', 1, NULL)) AS doneNum
+            COUNT(IF(w.status = 'DISTRIBUTED', 1, NULL)) + COUNT(IF(w.status = 'AUDITING_FAIL', 1, NULL)) + COUNT(IF(w.status = 'WAIT_DISTRIBUTE', 1, NULL)) AS todoNum,
+            COUNT(IF(w.status = 'YW_HANDLE', 1, NULL)) + COUNT(IF(w.status = 'AUDITING_SUCCESS', 1, NULL)) + COUNT(IF(w.status = 'AUDITING', 1, NULL)) AS doneNum
         FROM t_work_order w
+        LEFT JOIN t_yw_point p ON w.serial_number = p.serial_number AND p.deleted = 0
         WHERE w.deleted = 0
+        <if test="dataScope == 1"> AND p.province_tag = 'province' </if>
+        <if test="deptId != null"> AND p.dept_id = #{deptId} </if>
     </select>
 
-    <select id="workOrderRegion" resultType="java.util.Map">
-        SELECT * FROM t_work_order limit 1
+    <select id="workOrderRegion" resultType="com.ycl.platform.domain.vo.screen.WorkOrderRegionVO">
+        SELECT
+            d.area,
+            COUNT(IF(w.status = 'DISTRIBUTED', 1, NULL)) + COUNT(IF(w.status = 'AUDITING_FAIL', 1, NULL)) + COUNT(IF(w.status = 'WAIT_DISTRIBUTE', 1, NULL)) AS todoNum,
+            COUNT(IF(w.status = 'YW_HANDLE', 1, NULL)) + COUNT(IF(w.status = 'AUDITING_SUCCESS', 1, NULL)) + COUNT(IF(w.status = 'AUDITING', 1, NULL)) AS doneNum
+        FROM
+            sys_dept d
+        LEFT JOIN t_yw_point p ON p.dept_id = d.dept_id AND p.deleted = 0
+        LEFT JOIN t_work_order w ON w.serial_number = p.serial_number AND w.deleted = 0
+        WHERE d.del_flag = 0 AND d.area IS NOT NULL
+        <if test="dataScope == 1"> AND p.province_tag = 'province' </if>
+        <if test="deptId != null"> AND p.dept_id = #{deptId} </if>
+        GROUP BY d.area, d.dept_id
+        ORDER BY d.dept_id
     </select>
 
 </mapper>

--
Gitblit v1.8.0