|
|
@@ -89,6 +89,92 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
where t.sub_id = #{subjectId}
|
|
|
and ls.admin_id = (#{userId})
|
|
|
</select>
|
|
|
+ <select id="getLotStatis" parameterType="com.zd.laboratory.domain.LabBuildFloorLayout" resultType="java.util.Map">
|
|
|
+ SELECT '烟雾报警' sensorName,COUNT(1) sensorTotal,1 sensorType,
|
|
|
+ ROUND( COUNT(s.id) / (SELECT COUNT(1) FROM lab_sensor s WHERE s.type=5) * 100, 2) sensorProp
|
|
|
+ FROM lab_sensor s
|
|
|
+ INNER JOIN lab_subject st ON s.subject_id = st.id
|
|
|
+ INNER JOIN lab_build_floor_layout bfl ON st.id = bfl.sub_id
|
|
|
+ WHERE s.type=5 and bfl.build_id = #{buildId}
|
|
|
+ UNION ALL
|
|
|
+ SELECT '火焰检测' sensorName,COUNT(1) sensorTotal,2 sensorType,
|
|
|
+ ROUND( COUNT(s.id) / (SELECT COUNT(1) FROM lab_sensor s WHERE s.type=15) * 100, 2) sensorProp
|
|
|
+ FROM lab_sensor s
|
|
|
+ INNER JOIN lab_subject st ON s.subject_id = st.id
|
|
|
+ INNER JOIN lab_build_floor_layout bfl ON st.id = bfl.sub_id
|
|
|
+ WHERE s.type=15 and bfl.build_id = #{buildId}
|
|
|
+ UNION ALL
|
|
|
+ SELECT '气体检测' sensorName,COUNT(1) sensorTotal,3 sensorType,
|
|
|
+ ROUND( COUNT(s.id) / (SELECT COUNT(1) FROM lab_sensor s WHERE s.type IN(2,3,4,7,11,12,13,14,16,17,18)) * 100, 2) sensorProp
|
|
|
+ FROM lab_sensor s
|
|
|
+ INNER JOIN lab_subject st ON s.subject_id = st.id
|
|
|
+ INNER JOIN lab_build_floor_layout bfl ON st.id = bfl.sub_id
|
|
|
+ WHERE s.type IN(2,3,4,7,11,12,13,14,16,17,18)
|
|
|
+ and bfl.build_id = #{buildId}
|
|
|
+ UNION ALL
|
|
|
+ SELECT '温湿度' sensorName,COUNT(1) sensorTotal,4 sensorType,
|
|
|
+ ROUND( COUNT(s.id) / (SELECT COUNT(1) FROM lab_sensor s WHERE s.type IN(0,1,8)) * 100, 2) sensorProp
|
|
|
+ FROM lab_sensor s
|
|
|
+ INNER JOIN lab_subject st ON s.subject_id = st.id
|
|
|
+ INNER JOIN lab_build_floor_layout bfl ON st.id = bfl.sub_id
|
|
|
+ WHERE s.type IN(0,1,8) and bfl.build_id = #{buildId}
|
|
|
+ UNION ALL
|
|
|
+ SELECT '大气压' sensorName,COUNT(1) sensorTotal,5 sensorType,
|
|
|
+ ROUND( COUNT(s.id) / (SELECT COUNT(1) FROM lab_sensor s WHERE s.type IN(9)) * 100, 2) sensorProp
|
|
|
+ FROM lab_sensor s
|
|
|
+ INNER JOIN lab_subject st ON s.subject_id = st.id
|
|
|
+ INNER JOIN lab_build_floor_layout bfl ON st.id = bfl.sub_id
|
|
|
+ WHERE s.type IN(9) and bfl.build_id = #{buildId}
|
|
|
+ UNION ALL
|
|
|
+ SELECT '粉尘检测' sensorName,COUNT(1) sensorTotal,6 sensorType,
|
|
|
+ ROUND( COUNT(s.id) / (SELECT COUNT(1) FROM lab_sensor s WHERE s.type IN(6)) * 100, 2) sensorProp
|
|
|
+ FROM lab_sensor s
|
|
|
+ INNER JOIN lab_subject st ON s.subject_id = st.id
|
|
|
+ INNER JOIN lab_build_floor_layout bfl ON st.id = bfl.sub_id
|
|
|
+ WHERE s.type IN(6) and bfl.build_id = #{buildId}
|
|
|
+ UNION ALL
|
|
|
+ SELECT '智能监控' sensorName,COUNT(1) sensorTotal,7 sensorType,
|
|
|
+ ROUND( COUNT(h.id) / (SELECT COUNT(1) FROM lab_hardware h WHERE h.type = 4) * 100, 2) sensorProp
|
|
|
+ FROM lab_hardware h
|
|
|
+ INNER JOIN lab_subject st ON h.subject_id = st.id
|
|
|
+ INNER JOIN lab_build_floor_layout bfl ON st.id = bfl.sub_id
|
|
|
+ WHERE h.type = 4 and bfl.build_id = #{buildId}
|
|
|
+ UNION ALL
|
|
|
+ SELECT '智能门锁' sensorName,COUNT(1) sensorTotal,8 sensorType,
|
|
|
+ ROUND( COUNT(h.id) / (SELECT COUNT(1) FROM lab_hardware h WHERE h.type = 6) * 100, 2) sensorProp
|
|
|
+ FROM lab_hardware h
|
|
|
+ INNER JOIN lab_subject st ON h.subject_id = st.id
|
|
|
+ INNER JOIN lab_build_floor_layout bfl ON st.id = bfl.sub_id
|
|
|
+ WHERE h.type = 6 and bfl.build_id = #{buildId}
|
|
|
+ UNION ALL
|
|
|
+ SELECT '一体机' sensorName,COUNT(1) sensorTotal,9 sensorType,
|
|
|
+ ROUND( COUNT(h.id) / (SELECT COUNT(1) FROM lab_hardware h WHERE h.type = 0) * 100, 2) sensorProp
|
|
|
+ FROM lab_hardware h
|
|
|
+ INNER JOIN lab_subject st ON h.subject_id = st.id
|
|
|
+ INNER JOIN lab_build_floor_layout bfl ON st.id = bfl.sub_id
|
|
|
+ WHERE h.type = 0 and bfl.build_id = #{buildId}
|
|
|
+ UNION ALL
|
|
|
+ SELECT '智能电控' sensorName,COUNT(1) sensorTotal,10 sensorType,
|
|
|
+ ROUND( COUNT(h.id) / (SELECT COUNT(1) FROM lab_hardware h WHERE h.type = 1) * 100, 2) sensorProp
|
|
|
+ FROM lab_hardware h
|
|
|
+ INNER JOIN lab_subject st ON h.subject_id = st.id
|
|
|
+ INNER JOIN lab_build_floor_layout bfl ON st.id = bfl.sub_id
|
|
|
+ WHERE h.type = 1 and bfl.build_id = #{buildId}
|
|
|
+ UNION ALL
|
|
|
+ SELECT '智能通风' sensorName,COUNT(1) sensorTotal,11 sensorType,
|
|
|
+ ROUND( COUNT(h.id) / (SELECT COUNT(1) FROM lab_hardware h WHERE h.type = 2) * 100, 2) sensorProp
|
|
|
+ FROM lab_hardware h
|
|
|
+ INNER JOIN lab_subject st ON h.subject_id = st.id
|
|
|
+ INNER JOIN lab_build_floor_layout bfl ON st.id = bfl.sub_id
|
|
|
+ WHERE h.type = 2 and bfl.build_id = #{buildId}
|
|
|
+ UNION ALL
|
|
|
+ SELECT '智能灭火' sensorName,COUNT(1) sensorTotal,12 sensorType,
|
|
|
+ ROUND( COUNT(h.id) / (SELECT COUNT(1) FROM hardware_fire_device h) * 100, 2) sensorProp
|
|
|
+ FROM hardware_fire_device h
|
|
|
+ INNER JOIN lab_subject st ON h.subject_id = st.id
|
|
|
+ INNER JOIN lab_build_floor_layout bfl ON st.id = bfl.sub_id
|
|
|
+ where bfl.build_id = #{buildId}
|
|
|
+ </select>
|
|
|
|
|
|
<insert id="insertLabBuildFloorLayout" parameterType="com.zd.laboratory.domain.LabBuildFloorLayout" useGeneratedKeys="true" keyProperty="id">
|
|
|
insert into lab_build_floor_layout
|