1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.testor.ddd.safetyControl.infrastructure.repository.riskStatistics.dao.RiskStatisticsDao">
<!--*******以下危险源统计****************** -->
<select id="statisticsSourceNum" resultType="com.testor.ddd.safetyControl.interfaces.model.vo.riskStatistics.RiskStatisticsNumVO"
parameterType="com.testor.ddd.safetyControl.interfaces.model.dto.riskStatistics.RiskStatisticsDTO">
select so.org_id coordinateId,so.tree_level treeLevel, so.nature nature, so.org_name coordinateName, rt.dict_data_id riskLevelId, rt.dict_key riskLevelKey, rt.dict_value riskLevelValue, count(rs.id) as num
from t_sys_org so
left join (select s.id,s.Inherent_level_id,s.real_level_id,s.STATUS,concat(o.parent_ids,',',s.org_id) as org_all_path from t_safe_risk_source s,t_sys_org o where s.org_id=o.org_id) rs
ON rs.org_all_path LIKE CONCAT( '%', so.org_id, '%' ) and rs.status=0
left join t_sys_dict_data rt
on
<if test='query.riskType==1'>
rt.dict_data_id = rs.Inherent_level_id
</if>
<if test='query.riskType==2'>
rt.dict_data_id = rs.real_level_id
</if>
where so.status = 0 and so.is_dept != 1
and (so.parent_id = #{query.orgId} or ((so.tree_level=4 or so.nature=4) and so.org_id=#{query.orgId}))
group by so.org_id, rt.dict_data_id
order by num desc,so.org_name asc, so.tree_level asc,so.tree_sort ASC
</select>
<!-- having num>0;-->
<select id="statisticsSourceNumBySpaceType" resultType="com.testor.ddd.safetyControl.interfaces.model.vo.riskStatistics.RiskStatisticsNumVO"
parameterType="com.testor.ddd.safetyControl.interfaces.model.dto.riskStatistics.RiskStatisticsDTO">
select st.id coordinateId, st.name coordinateName, rt.dict_data_id riskLevelId, rt.dict_key riskLevelKey, rt.dict_value riskLevelValue, count(rs.id) as num
from t_safe_space_type st
left join t_safe_space s on s.space_type_id = st.id
left join t_safe_risk_source rs on rs.relation_space_parent_id = s.id
and rs.status = 0 and rs.org_id = #{query.orgId}
left join t_sys_dict_data rt
on
<if test='query.riskType==1'>
rt.dict_data_id = rs.Inherent_level_id
</if>
<if test='query.riskType==2'>
rt.dict_data_id = rs.real_level_id
</if>
where st.status=0
group by st.id,rt.dict_data_id
</select>
<select id="statisticsSourceLevel" resultType="com.testor.ddd.safetyControl.interfaces.model.vo.riskStatistics.RiskStatisticsNumVO"
parameterType="com.testor.ddd.safetyControl.interfaces.model.dto.riskStatistics.RiskStatisticsDTO">
select dd.dict_data_id riskLevelId, dd.dict_key riskLevelKey, dd.dict_value riskLevelValue, count(rs.id) as num
from t_sys_dict_type dt, t_sys_dict_data dd
left join t_safe_risk_source rs on
<if test='query.riskType==1'>
dd.dict_data_id = rs.Inherent_level_id
</if>
<if test='query.riskType==2'>
dd.dict_data_id = rs.real_level_id
</if>
and rs.org_id in (select org_id from t_sys_org so where ((so.tree_level=4 or so.nature=4) and so.org_id=#{query.orgId}) or so.parent_ids like CONCAT('%,', #{query.orgId} ,'%'))
and rs.status=0
where dd.dict_id=dt.dict_id and dd.status=0
and dt.dict_type=#{query.dictType}
group by dd.dict_data_id,dd.dict_key
</select>
<select id="statisticsSourceType" resultType="com.testor.ddd.safetyControl.interfaces.model.vo.riskStatistics.RiskStatisticsNumVO"
parameterType="com.testor.ddd.safetyControl.interfaces.model.dto.riskStatistics.RiskStatisticsDTO">
select dd.dict_data_id riskLevelId, dd.dict_key riskLevelKey, dd.dict_value riskLevelValue, count(rs.id) as num
from t_sys_dict_type dt, t_sys_dict_data dd
left join t_safe_risk_source rs on rs.type_id = dd.dict_data_id
and rs.org_id in (select org_id from t_sys_org so where ((so.tree_level=4 or so.nature=4) and so.org_id=#{query.orgId}) or so.parent_ids like CONCAT('%,', #{query.orgId} ,'%'))
and rs.status='0'
where dd.dict_id=dt.dict_id and dd.status=0
and dt.dict_type='risk_source_type'
group by dd.dict_data_id,dd.dict_key
</select>
<!--*******以下风险点统计****************** -->
<select id="statisticsPointNum" resultType="com.testor.ddd.safetyControl.interfaces.model.vo.riskStatistics.RiskStatisticsNumVO"
parameterType="com.testor.ddd.safetyControl.interfaces.model.dto.riskStatistics.RiskStatisticsDTO">
select so.org_id coordinateId,so.tree_level treeLevel, so.nature nature, so.org_name coordinateName, rt.dict_data_id riskLevelId, rt.dict_key riskLevelKey, rt.dict_value riskLevelValue, count(rs.id) as num
from t_sys_org so
LEFT JOIN (select s.id,s.Inherent_level_id,s.real_level_id,s.STATUS,concat(o.parent_ids,',',s.org_id) as org_all_path from t_safe_risk_point s,t_sys_org o where s.org_id=o.org_id) rs
ON rs.org_all_path LIKE CONCAT( '%', so.org_id, '%' ) and rs.status=0
left join t_sys_dict_data rt
on
<if test='query.riskType==1'>
rt.dict_data_id = rs.Inherent_level_id
</if>
<if test='query.riskType==2'>
rt.dict_data_id = rs.real_level_id
</if>
where so.status = '0' and so.is_dept != 1
and (so.parent_id = #{query.orgId} or ((so.tree_level=4 or so.nature=4) and so.org_id=#{query.orgId}))
group by so.org_id, rt.dict_data_id
order by so.org_name asc, so.tree_level asc,so.tree_sort ASC
</select>
<!-- having num>0;-->
<select id="statisticsPointNumBySpaceType" resultType="com.testor.ddd.safetyControl.interfaces.model.vo.riskStatistics.RiskStatisticsNumVO"
parameterType="com.testor.ddd.safetyControl.interfaces.model.dto.riskStatistics.RiskStatisticsDTO">
select st.id coordinateId, st.name coordinateName, rt.dict_data_id riskLevelId, rt.dict_key riskLevelKey, rt.dict_value riskLevelValue, count(rs.id) as num
from t_safe_space_type st
left join t_safe_space s on s.space_type_id = st.id
left join t_safe_risk_point rs on rs.relation_space_parent_id = s.id
and rs.status = 0 and rs.org_id = #{query.orgId}
left join t_sys_dict_data rt
on
<if test='query.riskType==1'>
rt.dict_data_id = rs.Inherent_level_id
</if>
<if test='query.riskType==2'>
rt.dict_data_id = rs.real_level_id
</if>
where st.status = '0'
group by st.id,rt.dict_data_id
</select>
<select id="statisticsPointLevel" resultType="com.testor.ddd.safetyControl.interfaces.model.vo.riskStatistics.RiskStatisticsNumVO"
parameterType="com.testor.ddd.safetyControl.interfaces.model.dto.riskStatistics.RiskStatisticsDTO">
select dd.dict_data_id riskLevelId, dd.dict_key riskLevelKey, dd.dict_value riskLevelValue, count(rs.id) as num
from t_sys_dict_type dt, t_sys_dict_data dd
left join t_safe_risk_point rs on
<if test='query.riskType==1'>
dd.dict_data_id = rs.Inherent_level_id
</if>
<if test='query.riskType==2'>
dd.dict_data_id = rs.real_level_id
</if>
and rs.org_id in (select org_id from t_sys_org so where ((so.tree_level=4 or so.nature=4) and so.org_id=#{query.orgId}) or so.parent_ids like CONCAT('%,', #{query.orgId} ,'%'))
and rs.status=0
where dd.dict_id=dt.dict_id and dd.status=0
and dt.dict_type=#{query.dictType}
group by dd.dict_data_id,dd.dict_key
</select>
<select id="statisticsPointType" resultType="com.testor.ddd.safetyControl.interfaces.model.vo.riskStatistics.RiskStatisticsNumVO"
parameterType="com.testor.ddd.safetyControl.interfaces.model.dto.riskStatistics.RiskStatisticsDTO">
select dd.dict_data_id riskLevelId, dd.dict_key riskLevelKey, dd.dict_value riskLevelValue, count(rs.id) as num
from t_sys_dict_type dt, t_sys_dict_data dd
left join t_safe_risk_point rs on rs.type_id = dd.dict_data_id
and rs.org_id in (select org_id from t_sys_org so where ((so.tree_level=4 or so.nature=4) and so.org_id=#{query.orgId}) or so.parent_ids like CONCAT('%,', #{query.orgId} ,'%'))
and rs.status=0
where dd.dict_id=dt.dict_id and dd.status=0
and dt.dict_type='risk_type'
group by dd.dict_data_id,dd.dict_key
</select>
<!-- 危险源 导出数据 -->
<sql id="select_base_column">
rs.id, rs.org_all_path orgAllPath, rs.org_id orgId, rs.department_id departmentId, rs.name, rs.code, rs.processes,rs.consequence_id consequenceId,
rs.type_id typeId, rs.relation_type relationType, rs.relation_equipment_id relationEquipmentId, rs.relation_space_id relationSpaceId,rs.relation_space_parent_id relationSpaceParentId,
rs.space_location spaceLocation, rs.is_major isMajor, rs.risk_level_id riskLevelId, rs.inherent_level_id inherentLevelId, rs.real_level_id realLevelId,
rs.identification_method identificationMethod, rs.lec_l lecL, rs.lec_e lecE, rs.lec_c lecC, rs.ls_l lsL, rs.ls_s lsS,
rs.control_level_id controlLevelId, rs.control_status_id controlStatusId, rs.check_frequency_id checkFrequencyId,
rs.control_basis controlBasis, rs.control_measures controlMeasures, rs.improvement_plan improvementPlan,
rs.status, rs.remarks, rs.create_by createBy, rs.create_date createDate,
rs.update_by as updateBy, rs.update_date updateDate
</sql>
<sql id="common_where_if">
<if test="query.id!=null and query.id!=''">
and rs.id=#{query.id}
</if>
<if test="query.orgId!=null and query.orgId!=''">
and rs.org_id=#{query.orgId}
</if>
<if test="query.departmentId!='' and query.departmentId!=null">
and rs.department_id=#{query.departmentId}
</if>
<if test="query.name!='' and query.name!=null">
and rs.name like concat('%',#{query.name},'%')
</if>
<if test="query.code!='' and query.code!=null">
and rs.code=#{query.code}
</if>
<if test="query.typeId!='' and query.typeId!=null">
and rs.type_id=#{query.typeId}
</if>
<if test="query.inherentLevelId!='' and query.inherentLevelId!=null">
and rs.inherent_level_id=#{query.inherentLevelId}
</if>
<if test="query.realLevelId!='' and query.realLevelId!=null">
and rs.real_level_id=#{query.realLevelId}
</if>
<if test="query.controlStatusId!='' and query.controlStatusId!=null">
and rs.control_status_id=#{query.controlStatusId}
</if>
<if test="query.controlLevelId!='' and query.controlLevelId!=null">
and rs.control_level_id=#{query.controlLevelId}
</if>
<if test="query.identificationMethod!='' and query.identificationMethod!=null">
and rs.identificationMethod=#{query.identificationMethod}
</if>
</sql>
<select id="listPage" resultType="com.testor.ddd.safetyControl.interfaces.model.vo.riskSource.TSafeRiskSourceVO"
parameterType="com.testor.ddd.safetyControl.interfaces.model.dto.riskSource.TSafeRiskSourceDTOParam">
select so.org_name as orgName,dpo.org_name as departmentName,
ss.name as riskPoint, se.name as relationEquipmentName,se.code relationSpaceCode,
<include refid="select_base_column" />
from t_safe_risk_source rs
left join t_safe_risk_point ss on rs.relation_space_id = ss.relation_space_id
and ss.status=0
left join t_safe_equipment se on rs.relation_equipment_id = se.id
left join t_sys_org so on so.org_id = rs.org_id
left join t_sys_org dpo on dpo.org_id = rs.department_id
<where>
rs.status = '0'
<include refid="common_where_if"></include>
</where>
<if test="query.orderBy!='' and query.orderBy!=null and query.orderType!='' and query.orderType!=null" >
order by ${query.orderBy} ${query.orderType}
</if>
</select>
</mapper>