InspectionPlanStaffV1ServiceDaoImplMapper.xml
6.37 KB
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
<?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="inspectionPlanStaffV1ServiceDaoImpl">
<!-- 保存巡检人信息 add by wuxw 2018-07-03 -->
<insert id="saveInspectionPlanStaffInfo" parameterType="Map">
insert into inspection_plan_staff(
ip_staff_id,staff_name,start_time,inspection_plan_id,end_time,community_id,staff_id
) values (
#{ipStaffId},#{staffName},#{startTime},#{inspectionPlanId},#{endTime},#{communityId},#{staffId}
)
</insert>
<!-- 查询巡检人信息 add by wuxw 2018-07-03 -->
<select id="getInspectionPlanStaffInfo" parameterType="Map" resultType="Map">
select t.ip_staff_id,t.ip_staff_id ipStaffId,t.staff_name,t.staff_name staffName,t.start_time,t.start_time
startTime,t.inspection_plan_id,t.inspection_plan_id inspectionPlanId,t.end_time,t.end_time
endTime,t.community_id,t.community_id communityId,t.staff_id,t.staff_id staffId
from inspection_plan_staff t
where 1 =1
and t.status_cd = '0'
<if test="ipStaffId !=null and ipStaffId != ''">
and t.ip_staff_id= #{ipStaffId}
</if>
<if test="staffName !=null and staffName != ''">
and t.staff_name= #{staffName}
</if>
<if test="startTime !=null and startTime != ''">
and t.start_time= #{startTime}
</if>
<if test="inspectionPlanId !=null and inspectionPlanId != ''">
and t.inspection_plan_id= #{inspectionPlanId}
</if>
<if test="inspectionPlanIds !=null ">
and t.inspection_plan_id in
<foreach collection="inspectionPlanIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="endTime !=null and endTime != ''">
and t.end_time= #{endTime}
</if>
<if test="communityId !=null and communityId != ''">
and t.community_id= #{communityId}
</if>
<if test="staffId !=null and staffId != ''">
and t.staff_id= #{staffId}
</if>
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="updateInspectionPlanStaffInfo" parameterType="Map">
update inspection_plan_staff t set t.status_cd = #{statusCd}
<if test="newBId != null and newBId != ''">
,t.b_id = #{newBId}
</if>
<if test="staffName !=null and staffName != ''">
, t.staff_name= #{staffName}
</if>
<if test="startTime !=null and startTime != ''">
, t.start_time= #{startTime}
</if>
<if test="endTime !=null and endTime != ''">
, t.end_time= #{endTime}
</if>
<if test="staffId !=null and staffId != ''">
, t.staff_id= #{staffId}
</if>
where 1=1
<if test="ipStaffId !=null and ipStaffId != ''">
and t.ip_staff_id= #{ipStaffId}
</if>
<if test="inspectionPlanId !=null and inspectionPlanId != ''">
and t.inspection_plan_id= #{inspectionPlanId}
</if>
<if test="communityId !=null and communityId != ''">
and t.community_id= #{communityId}
</if>
</update>
<!-- 查询巡检人数量 add by wuxw 2018-07-03 -->
<select id="queryInspectionPlanStaffsCount" parameterType="Map" resultType="Map">
select count(1) count
from inspection_plan_staff t
where 1 =1
<if test="ipStaffId !=null and ipStaffId != ''">
and t.ip_staff_id= #{ipStaffId}
</if>
<if test="staffName !=null and staffName != ''">
and t.staff_name= #{staffName}
</if>
<if test="startTime !=null and startTime != ''">
and t.start_time= #{startTime}
</if>
<if test="inspectionPlanId !=null and inspectionPlanId != ''">
and t.inspection_plan_id= #{inspectionPlanId}
</if>
<if test="inspectionPlanIds !=null ">
and t.inspection_plan_id in
<foreach collection="inspectionPlanIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="endTime !=null and endTime != ''">
and t.end_time= #{endTime}
</if>
<if test="communityId !=null and communityId != ''">
and t.community_id= #{communityId}
</if>
<if test="staffId !=null and staffId != ''">
and t.staff_id= #{staffId}
</if>
</select>
<!-- 查询员工巡检情况 -->
<select id="queryStaffInspectionReport" parameterType="Map" resultType="Map">
select
t.staff_name staffName,t.staff_id staffId,
(select count(1) from inspection_task it
INNER JOIN inspection_task_detail itd on it.task_id = itd.task_id and itd.status_cd = '0'
where it.plan_user_id = t.staff_id
and itd.act_user_id is not null
and DATE_FORMAT(it.create_time,'%Y-%m-%d') = #{queryTime}
) finishCount,
(select count(1) from inspection_task it
INNER JOIN inspection_task_detail itd on it.task_id = itd.task_id and itd.status_cd = '0'
where it.plan_user_id = t.staff_id
and itd.act_user_id is null
and DATE_FORMAT(it.create_time,'%Y-%m-%d') = #{queryTime}
) waitCount,
(select itd.description from inspection_task it
INNER JOIN inspection_task_detail itd on it.task_id = itd.task_id and itd.status_cd = '0'
where it.plan_user_id = t.staff_id
and itd.act_user_id is not null
and DATE_FORMAT(it.create_time,'%Y-%m-%d') = #{queryTime}
limit 1
) state
from inspection_plan_staff t
left join inspection_plan ip on t.inspection_plan_id = ip.inspection_plan_id and ip.status_cd = '0'
left join inspection_route_point_rel irpr on ip.inspection_route_id = irpr.inspection_route_id and irpr.status_cd= '0'
left join inspection_point ipo on irpr.inspection_id = ipo.inspection_id and ipo.status_cd = '0'
where 1=1
and t.status_cd = '0'
and t.community_id = #{communityId}
GROUP BY t.staff_name ,t.staff_id
</select>
</mapper>