|
|
@@ -523,46 +523,70 @@
|
|
|
|
|
|
</select>
|
|
|
|
|
|
- <select id="queryBigViewHazardList" resultType="com.zd.laboratory.domain.vo.LabHazardBigViewVO" parameterType="com.zd.laboratory.domain.vo.LabHazardVO">
|
|
|
+ <select id="queryBigViewHazardList" resultType="com.zd.laboratory.domain.vo.LabHazardBigViewVO"
|
|
|
+ parameterType="com.zd.laboratory.domain.vo.LabHazardVO">
|
|
|
+ select sd.`dict_label`,sd.`dict_value`, ifnull(td.`totalNum`,0) totalNum,
|
|
|
+ CASE sd.`dict_value`
|
|
|
+ WHEN 1 THEN 'kg'
|
|
|
+ WHEN 2 THEN '瓶'
|
|
|
+ WHEN 3 THEN '台'
|
|
|
+ WHEN 4 THEN '台'
|
|
|
+ else null end unit
|
|
|
+ from (
|
|
|
+ select sd.`dict_label`,sd.`dict_value` FROM sys_dict_data sd where sd.`dict_type` = 'lab_hazard_type' GROUP BY sd.dict_value
|
|
|
+ ) sd
|
|
|
+ LEFT JOIN (
|
|
|
+ select hd.`hazard_type_mode`,count(*) totalNum from lab_hazard hd inner join lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
|
|
|
+ inner join lab_subject st ON hsr.`subject_id` = st.`id`
|
|
|
+ <if test="deptId != null and deptId !=''"> <!-- 部门id-->
|
|
|
+ and ( st.dept_id in (SELECT dt.dept_id FROM sys_dept dt WHERE find_in_set(#{deptId} ,ancestors )) or st.dept_id = #{deptId} )
|
|
|
+ </if>
|
|
|
+ <!-- 数据范围过滤 -->
|
|
|
+ ${params.dataScope}
|
|
|
+ group by hd.`hazard_type_mode`
|
|
|
+ )td on sd.`dict_value` = td.`hazard_type_mode`
|
|
|
+
|
|
|
+
|
|
|
+ <!--
|
|
|
SELECT sd.`dict_label` dictLabel,sd.`dict_value` dictValue,SUM(CASE WHEN hsr.id IS NULL THEN 0 ELSE 1 END) totalNum,'kg' unit FROM sys_dict_data sd
|
|
|
- LEFT JOIN lab_hazard hd ON sd.`dict_value` = hd.`hazard_type_mode`
|
|
|
- LEFT JOIN lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
|
|
|
- LEFT JOIN lab_subject st ON hsr.`subject_id` = st.`id`
|
|
|
+ INNER JOIN lab_hazard hd ON sd.`dict_value` = hd.`hazard_type_mode`
|
|
|
+ INNER JOIN lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
|
|
|
+ INNER JOIN lab_subject st ON hsr.`subject_id` = st.`id`
|
|
|
WHERE sd.`dict_type` = 'lab_hazard_type' AND sd.`dict_value`=1
|
|
|
- <!-- 数据范围过滤 -->
|
|
|
+ <!– 数据范围过滤 –>
|
|
|
${params.dataScope}
|
|
|
UNION ALL
|
|
|
SELECT sd.`dict_label` dictLabel,sd.`dict_value` dictValue,SUM(CASE WHEN hsr.id IS NULL THEN 0 ELSE 1 END) totalNum,'瓶' unit FROM sys_dict_data sd
|
|
|
- LEFT JOIN lab_hazard hd ON sd.`dict_value` = hd.`hazard_type_mode`
|
|
|
- LEFT JOIN lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
|
|
|
- LEFT JOIN lab_subject st ON hsr.`subject_id` = st.`id`
|
|
|
+ INNER JOIN lab_hazard hd ON sd.`dict_value` = hd.`hazard_type_mode`
|
|
|
+ INNER JOIN lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
|
|
|
+ INNER JOIN lab_subject st ON hsr.`subject_id` = st.`id`
|
|
|
WHERE sd.`dict_type` = 'lab_hazard_type' AND sd.`dict_value`=2
|
|
|
- <!-- 数据范围过滤 -->
|
|
|
+ <!– 数据范围过滤 –>
|
|
|
${params.dataScope}
|
|
|
UNION ALL
|
|
|
SELECT sd.`dict_label` dictLabel,sd.`dict_value` dictValue,SUM(CASE WHEN hd.id IS NULL THEN 0 ELSE 1 END) totalNum,'台' unit FROM sys_dict_data sd
|
|
|
- LEFT JOIN lab_hazard hd ON sd.`dict_value` = hd.`hazard_type_mode`
|
|
|
- LEFT JOIN lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
|
|
|
- LEFT JOIN lab_subject st ON hsr.`subject_id` = st.`id`
|
|
|
+ INNER JOIN lab_hazard hd ON sd.`dict_value` = hd.`hazard_type_mode`
|
|
|
+ INNER JOIN lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
|
|
|
+ INNER JOIN lab_subject st ON hsr.`subject_id` = st.`id`
|
|
|
WHERE sd.`dict_type` = 'lab_hazard_type' AND sd.`dict_value`=3
|
|
|
- <!-- 数据范围过滤 -->
|
|
|
+ <!– 数据范围过滤 –>
|
|
|
${params.dataScope}
|
|
|
UNION ALL
|
|
|
SELECT sd.`dict_label` dictLabel,sd.`dict_value` dictValue,SUM(CASE WHEN hsr.id IS NULL THEN 0 ELSE 1 END) totalNum,'台' unit FROM sys_dict_data sd
|
|
|
- LEFT JOIN lab_hazard hd ON sd.`dict_value` = hd.`hazard_type_mode`
|
|
|
- LEFT JOIN lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
|
|
|
- LEFT JOIN lab_subject st ON hsr.`subject_id` = st.`id`
|
|
|
+ INNER JOIN lab_hazard hd ON sd.`dict_value` = hd.`hazard_type_mode`
|
|
|
+ INNER JOIN lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
|
|
|
+ INNER JOIN lab_subject st ON hsr.`subject_id` = st.`id`
|
|
|
WHERE sd.`dict_type` = 'lab_hazard_type' AND sd.`dict_value`=4
|
|
|
- <!-- 数据范围过滤 -->
|
|
|
+ <!– 数据范围过滤 –>
|
|
|
${params.dataScope}
|
|
|
UNION ALL
|
|
|
SELECT sd.`dict_label` dictLabel,sd.`dict_value` dictValue,SUM(CASE WHEN hsr.id IS NULL THEN 0 ELSE 1 END) totalNum,NULL unit FROM sys_dict_data sd
|
|
|
- LEFT JOIN lab_hazard hd ON sd.`dict_value` = hd.`hazard_type_mode`
|
|
|
- LEFT JOIN lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
|
|
|
- LEFT JOIN lab_subject st ON hsr.`subject_id` = st.`id`
|
|
|
+ INNER JOIN lab_hazard hd ON sd.`dict_value` = hd.`hazard_type_mode`
|
|
|
+ INNER JOIN lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
|
|
|
+ INNER JOIN lab_subject st ON hsr.`subject_id` = st.`id`
|
|
|
WHERE sd.`dict_type` = 'lab_hazard_type' AND sd.`dict_value`=5
|
|
|
- <!-- 数据范围过滤 -->
|
|
|
- ${params.dataScope}
|
|
|
+ <!– 数据范围过滤 –>
|
|
|
+ ${params.dataScope}-->
|
|
|
|
|
|
</select>
|
|
|
|