Эх сурвалжийг харах

Merge remote-tracking branch 'origin/master'

zhangcl 1 сар өмнө
parent
commit
05e6467e64

+ 1 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotopeationfill/IotOpeationFillController.java

@@ -95,6 +95,7 @@ public class IotOpeationFillController {
         dailyToTotalMap.put("当日注气量", "累计注气量");
         dailyToTotalMap.put("当日公里数", "累计公里数");
         dailyToTotalMap.put("当日用电量", "累计用电量");
+        dailyToTotalMap.put("当日注水量", "累计注水量");
         //泵车
         dailyToTotalMap.put("发动机累计公里数填报", "发动机累计公里数");
         dailyToTotalMap.put("变速箱累计公里数填报", "变速箱累计公里数");

+ 43 - 21
yudao-module-pms/yudao-module-pms-biz/src/main/resources/mapper/static/IotOpeationFillMapper.xml

@@ -647,37 +647,59 @@
         -- 统计指定部门及其子部门的工单状态
         -- 第一行:汇总数据
         SELECT
-            COUNT(a.id) AS total_count,
-            SUM(CASE WHEN a.is_fill = 1 THEN 1 ELSE 0 END) AS filled_count,
-            COUNT(a.id) - SUM(CASE WHEN a.is_fill = 1 THEN 1 ELSE 0 END) AS unfilled_count
+        COUNT(*) AS total_count,
+        SUM(CASE WHEN is_fill = 1 THEN 1 ELSE 0 END) AS filled_count,
+        COUNT(*) - SUM(CASE WHEN is_fill = 1 THEN 1 ELSE 0 END) AS unfilled_count
+        from(
+        select
+        distinct
+        a.device_code,
+        a.device_name,
+        a.create_time,
+        b.name dept_name,
+        a.is_fill,
+        d.nickname,
+        e.order_name
         FROM rq_iot_opeation_fill a
+        LEFT JOIN system_dept b
+        ON a.dept_id = b.id
+        AND b.deleted = 0 -- 将删除检查移至JOIN条件
+        LEFT JOIN rq_iot_device_person c
+        ON a.device_id = c.device_id
+        AND c.deleted = 0 -- 将删除检查移至JOIN条件
+        LEFT JOIN system_users d
+        ON c.person_id = d.id
+        AND d.deleted = 0 -- 将删除检查移至JOIN条件
+        LEFT JOIN rq_iot_opeation_fill_order e
+        ON a.order_id = e.id
+        and e.deleted = 0
         WHERE a.deleted = 0
-          AND EXISTS (
-                SELECT 1 FROM system_dept b
-                WHERE a.dept_id = b.id
-                  AND b.deleted = 0
-                  AND (b.id = #{deptId} OR b.parent_id = #{deptId}
-                    OR b.parent_id IN (SELECT id FROM system_dept WHERE parent_id = #{deptId})
-                    OR b.parent_id IN (SELECT id FROM system_dept WHERE parent_id IN (SELECT id FROM system_dept WHERE parent_id = #{deptId}))
-                    OR b.parent_id IN (SELECT id FROM system_dept WHERE parent_id IN (SELECT id FROM system_dept WHERE parent_id IN (SELECT id FROM system_dept WHERE parent_id = #{deptId})))
-                    )
-            )
-          AND EXISTS (
-                SELECT 1 FROM rq_iot_opeation_fill_order e
-                WHERE a.order_id = e.id
-                  AND e.deleted = 0
-                  AND e.order_name IS NOT NULL
-            )
+        and e.order_name is not null
+        AND b.id IN (
+        SELECT id FROM system_dept WHERE id = #{deptId}
+        UNION ALL
+        SELECT id FROM system_dept WHERE parent_id = #{deptId}
+        UNION ALL
+        SELECT id FROM system_dept WHERE parent_id IN (SELECT id FROM system_dept WHERE parent_id = #{deptId})
+        UNION ALL
+        SELECT id FROM system_dept WHERE parent_id IN (SELECT id FROM system_dept WHERE parent_id IN (SELECT id FROM
+        system_dept WHERE parent_id = #{deptId}))
+        UNION ALL
+        SELECT id FROM system_dept WHERE parent_id IN (SELECT id FROM system_dept WHERE parent_id IN (SELECT id FROM
+        system_dept WHERE parent_id IN (SELECT id FROM system_dept WHERE parent_id = #{deptId})))
+        )
         <if test="createTime != null and createTime.length > 0">
             <choose>
                 <when test="createTime.length == 1">
                     AND a.create_time = #{createTime[0],typeHandler=org.apache.ibatis.type.LocalDateTimeTypeHandler}
                 </when>
                 <otherwise>
-                    AND a.create_time BETWEEN #{createTime[0],typeHandler=org.apache.ibatis.type.LocalDateTimeTypeHandler} AND #{createTime[1],typeHandler=org.apache.ibatis.type.LocalDateTimeTypeHandler}
+                    AND a.create_time BETWEEN
+                    #{createTime[0],typeHandler=org.apache.ibatis.type.LocalDateTimeTypeHandler} AND
+                    #{createTime[1],typeHandler=org.apache.ibatis.type.LocalDateTimeTypeHandler}
                 </otherwise>
             </choose>
-        </if>
+        </if>) a
     </select>
 
 </mapper>