From 3c8f3a7b74f62a9053cd9d860d8f1d37454712eb Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: 星期一, 04 九月 2023 17:53:59 +0800
Subject: [PATCH] back

---
 src/main/java/com/gk/hotwork/Mapper/mybatis/SafetySelfInspectionMapper.xml |   71 ++++++++++++++++++++++++++++++++---
 1 files changed, 65 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/gk/hotwork/Mapper/mybatis/SafetySelfInspectionMapper.xml b/src/main/java/com/gk/hotwork/Mapper/mybatis/SafetySelfInspectionMapper.xml
index 5c68c7c..5122a01 100644
--- a/src/main/java/com/gk/hotwork/Mapper/mybatis/SafetySelfInspectionMapper.xml
+++ b/src/main/java/com/gk/hotwork/Mapper/mybatis/SafetySelfInspectionMapper.xml
@@ -14,7 +14,7 @@
 
     <result column="inspection_name" property="inspectionName" jdbcType="BIGINT" />
     <result column="inspection_time" property="inspectionTime" jdbcType="BIGINT" />
-    <result column="inspector" property="inspector" jdbcType="VARCHAR" />
+    <result column="inspector" property="inspector" jdbcType="BIGINT" />
     <result column="status" property="status" jdbcType="VARCHAR" />
     <result column="inspector_name" property="inspectorName" jdbcType="VARCHAR" />
 
@@ -27,14 +27,17 @@
     LEFT JOIN userroles as c on b.id = c.userid
     left join company as co on a.checked_company_id = co.id
     where a.valid_flag = 1
+    <if test="params.flag != null and params.flag != '' ">
+      and a.flag = #{params.flag}
+    </if>
     <if test="params.inspectionName != null  and params.inspectionName != ''">
       and a.inspection_name like concat("%",#{params.inspectionName},"%")
     </if>
-    <if test="params.companyid != null  and params.companyid != ''">
-      and b.companyid = #{params.companyid}
-    </if>
     <if test="params.checkedCompanyId != null">
-      and b.checkedCompanyId = #{params.checkedCompanyId}
+      and a.checked_company_id = #{params.checkedCompanyId}
+    </if>
+    <if test="params.checkedCompanyName != null and params.checkedCompanyName != ''">
+      and a.checked_company_name like concat("%",#{params.checkedCompanyName},"%")
     </if>
     <if test="params.roleid != null ">
       and c.roleid = #{params.roleid}
@@ -59,5 +62,61 @@
     </if>
     order by a.create_time desc
   </select>
-
+  <select id="companyStatisticInspection" resultType="com.gk.hotwork.Domain.Do.CompanyStatisticInspectionDO">
+    SELECT
+      count( 1 ) checkCompanyCount,
+      sum( l.endCount ) endTotal,
+      sum( l.toDoCount ) toDoTotal,
+      sum( l.checkCount ) checkTotal,
+      sum( l.unRectifyCount ) unRectifyTotal,
+      sum( l.rectifyCount ) rectifyTotal,
+      sum( l.hdCount ) AS hdTotal
+    FROM
+      (
+        SELECT
+          s.checked_company_id,
+          count( s.`status` = 2 OR NULL ) endCount,
+          count( s.`status` = 1 OR NULL ) toDoCount,
+          count( 1 ) AS checkCount,
+          sum( t.unRectify ) AS unRectifyCount,
+          sum( t.rectify ) AS rectifyCount,
+          sum( t.hd ) AS hdCount
+        FROM
+          safety_self_inspection s
+            INNER JOIN company c ON c.id = s.checked_company_id
+            LEFT JOIN (
+            SELECT
+              h.self_Inspection_id,
+              count( h.`status` = - 1 OR NULL ) unRectify,
+              count( h.`status` = 1 OR NULL ) rectify,
+              count( 1 ) hd
+            FROM
+              inspection_hidden_danger h
+            WHERE
+              h.valid_flag = 1
+            GROUP BY
+              h.self_Inspection_id
+          ) t ON t.self_Inspection_id = s.id
+        WHERE
+          s.valid_flag = 1
+          AND s.flag = 2
+          <if test="params.startTime != null" >
+            and s.inspection_time <![CDATA[ >= ]]> #{params.startTime}
+          </if>
+          <if test="params.endTime != null " >
+            and s.inspection_time <![CDATA[ <= ]]> #{params.endTime}
+          </if>
+          <if test="params.province != null and params.province != ''" >
+            and c.province = #{params.province}
+          </if>
+          <if test="params.city != null and params.city != ''" >
+            and c.city = #{params.city}
+          </if>
+          <if test="params.area != null and params.area != ''" >
+            and c.area = #{params.area}
+          </if>
+        GROUP BY
+          s.checked_company_id
+      ) l
+  </select>
 </mapper>

--
Gitblit v1.9.2