From f14c50cb0036d3ddd655ce4e34732ba396a836c4 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 30 五月 2023 12:42:03 +0800
Subject: [PATCH] optimize 统计

---
 java110-db/src/main/resources/mapper/community/InspectionServiceDaoImplMapper.xml |  154 +++++++++++++++++++++++++++++----------------------
 1 files changed, 87 insertions(+), 67 deletions(-)

diff --git a/java110-db/src/main/resources/mapper/community/InspectionServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/community/InspectionServiceDaoImplMapper.xml
old mode 100644
new mode 100755
index d3d358a..b0eb869
--- a/java110-db/src/main/resources/mapper/community/InspectionServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/community/InspectionServiceDaoImplMapper.xml
@@ -7,24 +7,21 @@
     <!-- 淇濆瓨宸℃鐐逛俊鎭� add by wuxw 2018-07-03 -->
     <insert id="saveBusinessInspectionInfo" parameterType="Map">
         insert into business_inspection_point
-        (inspection_id,machine_id,operate,remark,inspection_name,community_id,b_id)
+        (inspection_id,operate,remark,inspection_name,community_id,b_id,point_obj_type,point_obj_id,point_obj_name,item_id,nfc_code)
         values
-        (#{inspectionId},#{machineId},#{operate},#{remark},#{inspectionName},#{communityId},#{bId})
+        (#{inspectionId},#{operate},#{remark},#{inspectionName},#{communityId},#{bId},#{pointObjType},#{pointObjId},#{pointObjName},#{itemId},#{nfcCode})
     </insert>
-
 
     <!-- 鏌ヨ宸℃鐐逛俊鎭紙Business锛� add by wuxw 2018-07-03 -->
     <select id="getBusinessInspectionInfo" parameterType="Map" resultType="Map">
-        select t.inspection_id,t.inspection_id inspectionId,t.machine_id,t.machine_id
-        machineId,t.operate,t.remark,t.inspection_name,t.inspection_name inspectionName,t.community_id,t.community_id
-        communityId,t.b_id,t.b_id bId
+        select t.inspection_id,t.inspection_id inspectionId,t.operate,t.remark,t.inspection_name,t.inspection_name
+        inspectionName,
+        t.community_id,t.community_id communityId,t.b_id,t.b_id bId,t.point_obj_type,t.point_obj_id,t.point_obj_name,
+        t.point_obj_type pointObjType,t.point_obj_id pointObjId,t.point_obj_name pointObjName,t.item_id ,t.item_id itemId,t.nfc_code,t.nfc_code nfcCode
         from business_inspection_point t
         where 1 =1
         <if test="inspectionId !=null and inspectionId != ''">
             and t.inspection_id= #{inspectionId}
-        </if>
-        <if test="machineId !=null and machineId != ''">
-            and t.machine_id= #{machineId}
         </if>
         <if test="operate !=null and operate != ''">
             and t.operate= #{operate}
@@ -41,22 +38,19 @@
         <if test="bId !=null and bId != ''">
             and t.b_id= #{bId}
         </if>
-
     </select>
-
 
     <!-- 淇濆瓨宸℃鐐逛俊鎭嚦 instance琛ㄤ腑 add by wuxw 2018-07-03 -->
     <insert id="saveInspectionInfoInstance" parameterType="Map">
         insert into
         inspection_point(
-        inspection_id,machine_id,remark,status_cd,inspection_name,community_id,b_id
-        ) select t.inspection_id,t.machine_id,t.remark,'0',t.inspection_name,t.community_id,t.b_id from
-        business_inspection_point t where 1=1
+        inspection_id,remark,status_cd,inspection_name,community_id,b_id,
+        point_obj_type,point_obj_id,point_obj_name,item_id,nfc_code
+        ) select t.inspection_id,t.remark,'0',t.inspection_name,t.community_id,t.b_id,
+        t.point_obj_type,t.point_obj_id,t.point_obj_name,t.item_id,t.nfc_code
+        from business_inspection_point t where 1=1
         <if test="inspectionId !=null and inspectionId != ''">
             and t.inspection_id= #{inspectionId}
-        </if>
-        <if test="machineId !=null and machineId != ''">
-            and t.machine_id= #{machineId}
         </if>
         and t.operate= 'ADD'
         <if test="remark !=null and remark != ''">
@@ -71,37 +65,40 @@
         <if test="bId !=null and bId != ''">
             and t.b_id= #{bId}
         </if>
-
     </insert>
-
 
     <!-- 鏌ヨ宸℃鐐逛俊鎭� add by wuxw 2018-07-03 -->
     <select id="getInspectionInfo" parameterType="Map" resultType="Map">
         select
-        t.inspection_id,t.inspection_id inspectionId,t.machine_id,
-        t.machine_id machineId,t.remark,t.status_cd,t.status_cd statusCd,
+        t.inspection_id,t.inspection_id inspectionId,t.remark,t.status_cd,t.status_cd statusCd,
         t.inspection_name,t.inspection_name inspectionName,t.community_id,
         t.community_id communityId,t.b_id,t.b_id bId,
-        m.machine_code machineCode,m.machine_name machineName,location_type_cd locationTypeCd,location_obj_id
-        locationObjId,m.machine_id machineId,
-        d.name locationTypeName
+        t.point_obj_type,t.point_obj_type pointObjType,td.name pointTypeName,t.point_obj_id,
+        t.point_obj_id pointObjId,t.point_obj_name,t.point_obj_name pointObjName,t.item_id ,t.item_id itemId,t.nfc_code,t.nfc_code nfcCode,ii.item_name itemName
         from inspection_point t
-        left join machine m on t.machine_id = m.machine_id and m.status_cd = 0
-        left join t_dict d on d.status_cd = m.location_type_cd
+        LEFT JOIN inspection_item ii on t.item_id = ii.item_id and ii.status_cd = '0'
         <if test="inspectionRouteId != null  and  inspectionRouteId != ''">
             left join inspection_route_point_rel c on t.inspection_id = c.inspection_id
             and c.status_cd = '0'
             and c.inspection_route_id is null
         </if>
-        where 1 =1
+        left join t_dict td on t.point_obj_type = td.status_cd and td.table_name = 'inspection_point' and
+        td.table_columns = 'point_obj_type'
+        where 1 = 1
         <if test="inspectionId !=null and inspectionId != ''">
             and t.inspection_id= #{inspectionId}
         </if>
-        <if test="machineCode !=null and machineCode != ''">
-            and m.machine_code= #{machineCode}
+        <if test="pointObjType !=null and pointObjType != ''">
+            and t.point_obj_type= #{pointObjType}
         </if>
         <if test="remark !=null and remark != ''">
             and t.remark= #{remark}
+        </if>
+        <if test="itemId !=null and itemId != ''">
+            and t.item_id= #{itemId}
+        </if>
+        <if test="nfcCode !=null and nfcCode != ''">
+            and t.nfc_code= #{nfcCode}
         </if>
         <if test="statusCd !=null and statusCd != ''">
             and t.status_cd= #{statusCd}
@@ -115,14 +112,13 @@
         <if test="bId !=null and bId != ''">
             and t.b_id= #{bId}
         </if>
-        group by t.inspection_id
+        <!--杩欓噷娉ㄩ噴 鍥犱负 MySQL 8.0  杩欎釜鍐欐硶涓嶅悎閫傦紝濡傛灉寮曡捣鍏朵粬bug 璇疯�冭檻MySQL 8.0 鐨勫啓娉�-->
+        <!--group by t.inspection_id-->
         order by t.create_time desc
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}
         </if>
-
     </select>
-
 
     <!-- 淇敼宸℃鐐逛俊鎭� add by wuxw 2018-07-03 -->
     <update id="updateInspectionInfoInstance" parameterType="Map">
@@ -130,10 +126,16 @@
         <if test="newBId != null and newBId != ''">
             ,t.b_id = #{newBId}
         </if>
-        <if test="machineId !=null and machineId != ''">
-            , t.machine_id= #{machineId}
+        <if test="pointObjType !=null and pointObjType != ''">
+            , t.point_obj_type= #{pointObjType}
         </if>
-        <if test="remark !=null and remark != ''">
+        <if test="pointObjId !=null and pointObjId != ''">
+            , t.point_obj_id= #{pointObjId}
+        </if>
+        <if test="pointObjName !=null and pointObjName != ''">
+            , t.point_obj_name= #{pointObjName}
+        </if>
+        <if test="remark !=null ">
             , t.remark= #{remark}
         </if>
         <if test="inspectionName !=null and inspectionName != ''">
@@ -142,6 +144,12 @@
         <if test="communityId !=null and communityId != ''">
             , t.community_id= #{communityId}
         </if>
+        <if test="itemId !=null and itemId != ''">
+            , t.item_id= #{itemId}
+        </if>
+        <if test="nfcCode !=null and nfcCode != ''">
+            , t.nfc_code= #{nfcCode}
+        </if>
         where 1=1
         <if test="inspectionId !=null and inspectionId != ''">
             and t.inspection_id= #{inspectionId}
@@ -149,15 +157,12 @@
         <if test="bId !=null and bId != ''">
             and t.b_id= #{bId}
         </if>
-
     </update>
 
     <!-- 鏌ヨ宸℃鐐规暟閲� add by wuxw 2018-07-03 -->
     <select id="queryInspectionsCount" parameterType="Map" resultType="Map">
         select count(1) count
         from inspection_point t
-        left join machine m on t.machine_id = m.machine_id and m.status_cd = 0
-        left join t_dict d on d.status_cd = m.location_type_cd
         <if test="inspectionRouteId != null  and  inspectionRouteId != ''">
             left join inspection_route_point_rel c on t.inspection_id = c.inspection_id
             and c.status_cd = '0'
@@ -167,11 +172,17 @@
         <if test="inspectionId !=null and inspectionId != ''">
             and t.inspection_id= #{inspectionId}
         </if>
-        <if test="machineCode !=null and machineCode != ''">
-            and m.machine_code= #{machineCode}
+        <if test="pointObjType !=null and pointObjType != ''">
+            and t.point_obj_type= #{pointObjType}
         </if>
         <if test="remark !=null and remark != ''">
             and t.remark= #{remark}
+        </if>
+        <if test="itemId !=null and itemId != ''">
+            and t.item_id= #{itemId}
+        </if>
+        <if test="nfcCode !=null and nfcCode != ''">
+            and t.nfc_code= #{nfcCode}
         </if>
         <if test="statusCd !=null and statusCd != ''">
             and t.status_cd= #{statusCd}
@@ -185,27 +196,24 @@
         <if test="bId !=null and bId != ''">
             and t.b_id= #{bId}
         </if>
-
-
     </select>
-
 
     <!-- 鏌ヨ宸℃鐐逛俊鎭� add by wuxw 2018-07-03 -->
     <select id="getInspectionRelationShipInfo" parameterType="Map" resultType="Map">
         select
-        t.inspection_id,t.inspection_id inspectionId,t.machine_id,
-        t.machine_id machineId,t.remark,t.status_cd,t.status_cd statusCd,
+        t.inspection_id,t.inspection_id inspectionId,t.remark,t.status_cd,t.status_cd statusCd,
         t.inspection_name,t.inspection_name inspectionName,t.community_id,
         t.community_id communityId,t.b_id,t.b_id bId,
-        m.machine_code machineCode,m.machine_name machineName,location_type_cd locationTypeCd,location_obj_id
-        locationObjId,m.machine_id machineId,
-        d.name locationTypeName
+        t.point_obj_type,t.point_obj_type pointObjType,td.name pointTypeName,t.point_obj_id,
+        t.point_obj_id pointObjId,t.point_obj_name,t.point_obj_name pointObjName,
+        t.item_id ,t.item_id itemId,t.nfc_code,t.nfc_code nfcCode,ii.item_name itemName
         from inspection_point t
-        inner join machine m on t.machine_id = m.machine_id and m.status_cd = 0
-        INNER JOIN t_dict d ON d.status_cd = m.location_type_cd and d.table_name = 'machine' and d.table_columns = 'location_type_cd'
-        left join inspection_route_point_rel c on t.inspection_id = c.inspection_id and c.status_cd = '0' and c.inspection_route_id = #{inspectionRouteId}
-        where 1 =1
-
+        LEFT JOIN inspection_item ii on t.item_id = ii.item_id and ii.status_cd = '0'
+        left join inspection_route_point_rel c on t.inspection_id = c.inspection_id and c.status_cd = '0' and
+        c.inspection_route_id = #{inspectionRouteId}
+        left join t_dict td on t.point_obj_type = td.status_cd and td.table_name = 'inspection_point' and
+        td.table_columns = 'point_obj_type'
+        where 1 = 1
         <if test="relationship != null  and  relationship == 1">
             and c.inspection_id is not null
         </if>
@@ -215,11 +223,17 @@
         <if test="inspectionId !=null and inspectionId != ''">
             and t.inspection_id= #{inspectionId}
         </if>
-        <if test="machineCode !=null and machineCode != ''">
-            and m.machine_code= #{machineCode}
+        <if test="pointObjType !=null and pointObjType != ''">
+            and t.point_obj_type= #{pointObjType}
         </if>
         <if test="remark !=null and remark != ''">
             and t.remark= #{remark}
+        </if>
+        <if test="itemId !=null and itemId != ''">
+            and t.item_id= #{itemId}
+        </if>
+        <if test="nfcCode !=null and nfcCode != ''">
+            and t.nfc_code= #{nfcCode}
         </if>
         <if test="statusCd !=null and statusCd != ''">
             and t.status_cd= #{statusCd}
@@ -243,11 +257,8 @@
     <select id="queryInspectionsRelationShipCount" parameterType="Map" resultType="Map">
         select count(1) count
         from inspection_point t
-        inner join machine m on t.machine_id = m.machine_id and m.status_cd = 0
-        INNER JOIN t_dict d ON d.status_cd = m.location_type_cd and d.table_name = 'machine' and d.table_columns = 'location_type_cd'
-        left join inspection_route_point_rel c on t.inspection_id = c.inspection_id
-        and c.status_cd = '0'
-        and c.inspection_route_id = #{inspectionRouteId}
+        left join inspection_route_point_rel c on t.inspection_id = c.inspection_id and c.status_cd = '0' and
+        c.inspection_route_id = #{inspectionRouteId}
         where 1 =1
         <if test="relationship != null  and  relationship == 1">
             and c.inspection_id is not null
@@ -258,17 +269,23 @@
         <if test="inspectionId !=null and inspectionId != ''">
             and t.inspection_id= #{inspectionId}
         </if>
-        <if test="machineId !=null and machineId != ''">
-            and t.machine_id= #{machineId}
+        <if test="pointObjType !=null and pointObjType != ''">
+            and t.point_obj_type= #{pointObjType}
         </if>
         <if test="remark !=null and remark != ''">
             and t.remark= #{remark}
+        </if>
+        <if test="itemId !=null and itemId != ''">
+            and t.item_id= #{itemId}
+        </if>
+        <if test="nfcCode !=null and nfcCode != ''">
+            and t.nfc_code= #{nfcCode}
         </if>
         <if test="statusCd !=null and statusCd != ''">
             and t.status_cd= #{statusCd}
         </if>
         <if test="inspectionName !=null and inspectionName != ''">
-            and t.inspection_name= #{inspectionName}
+            and t.inspection_name like concat('%',#{inspectionName},'%')
         </if>
         <if test="communityId !=null and communityId != ''">
             and t.community_id= #{communityId}
@@ -278,15 +295,13 @@
         </if>
     </select>
 
-
-
     <!-- 鏌ヨ宸℃鐐逛俊鎭� add by wuxw 2018-07-03 -->
     <select id="queryInspectionsByPlan" parameterType="Map" resultType="Map">
         select
         t.inspection_id,t.inspection_id inspectionId,t.machine_id,
         t.machine_id machineId,t.remark,t.status_cd,t.status_cd statusCd,
         t.inspection_name,t.inspection_name inspectionName,t.community_id,
-        t.community_id communityId,t.b_id,t.b_id bId,
+        t.community_id communityId,t.b_id,t.b_id bId
         m.machine_code machineCode,m.machine_name machineName,location_type_cd locationTypeCd,location_obj_id
         locationObjId,m.machine_id machineId,
         d.name locationTypeName
@@ -310,6 +325,12 @@
         <if test="remark !=null and remark != ''">
             and t.remark= #{remark}
         </if>
+        <if test="itemId !=null and itemId != ''">
+            and t.item_id= #{itemId}
+        </if>
+        <if test="nfcCode !=null and nfcCode != ''">
+            and t.nfc_code= #{nfcCode}
+        </if>
         <if test="statusCd !=null and statusCd != ''">
             and t.status_cd= #{statusCd}
         </if>
@@ -325,5 +346,4 @@
         group by t.inspection_id
         order by t.create_time desc
     </select>
-
 </mapper>

--
Gitblit v1.8.0