2023-08-10 21:09:49 +08:00
<?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.yanzhu.jh.trouble.mapper.SmzSspProblemmodifyMapper" >
<resultMap type= "SmzSspProblemmodify" id= "SmzSspProblemmodifyResult" >
<result property= "id" column= "id" />
<result property= "projectId" column= "projectId" />
<result property= "infoType" column= "infoType" />
<result property= "problemArea" column= "problemArea" />
<result property= "workParts" column= "workParts" />
<result property= "changeInfo" column= "changeInfo" />
<result property= "lordSent" column= "lordSent" />
<result property= "lordSentUser" column= "lordSentUser" />
<result property= "copySend" column= "copySend" />
<result property= "copySendUser" column= "copySendUser" />
<result property= "checkState" column= "checkState" />
<result property= "nickedArea" column= "nickedArea" />
<result property= "nickedTime" column= "nickedTime" />
<result property= "projectType" column= "projectType" />
<result property= "processName" column= "processName" />
<result property= "projectName" column= "projectName" />
<result property= "nickedInfo" column= "nickedInfo" />
<result property= "checkUser" column= "checkUser" />
<result property= "checkUserPhone" column= "checkUserPhone" />
<result property= "isDel" column= "isDel" />
<result property= "createUser" column= "createUser" />
<result property= "createTime" column= "createTime" />
<result property= "updateUser" column= "updateUser" />
<result property= "updateTime" column= "updateTime" />
<result property= "marksPicture" column= "marks_picture" />
<result property= "marksVideo" column= "marks_video" />
<result property= "smarkUrl" column= "smark_url" />
<result property= "dangerType" column= "danger_type" />
<result property= "recheckSend" column= "recheckSend" />
<result property= "recheckSendUser" column= "recheckSendUser" />
<result property= "roleType" column= "roleType" />
<result property= "vDel" column= "v_del" />
</resultMap>
<sql id= "selectSmzSspProblemmodifyVo" >
select id, projectId, infoType, problemArea, workParts, changeInfo, lordSent, lordSentUser, copySend, copySendUser, checkState, nickedArea, nickedTime, projectType, processName, projectName, nickedInfo, checkUser, checkUserPhone, isDel, createUser, createTime, updateUser, updateTime, marks_picture, marks_video, smark_url, danger_type, recheckSend, recheckSendUser, roleType from smz_ssp_problemmodify
</sql>
<select id= "selectSmzSspProblemmodifyList" parameterType= "SmzSspProblemmodify" resultMap= "SmzSspProblemmodifyResult" >
select ssp.id, ssp.projectId, ssp.infoType, ssp.problemArea, ssp.workParts, ssp.changeInfo, ssp.lordSent, ssp.lordSentUser, ssp.copySend, ssp.copySendUser, ssp.checkState, ssp.nickedArea, ssp.nickedTime, ssp.projectType, ssp.processName, ssp.projectName, ssp.nickedInfo, ssp.checkUser, ssp.checkUserPhone, ssp.isDel, ssp.createUser, ssp.createTime, ssp.updateUser, ssp.updateTime, ssp.marks_picture, ssp.marks_video, ssp.smark_url, ssp.danger_type, ssp.recheckSend, ssp.recheckSendUser, ssp.roleType,
2023-08-12 12:18:27 +08:00
CASE WHEN(ssp.createUser = #{nowUser}
or #{nowRole} in ('1','2','3','4') ) and ssp.checkState < 4
THEN 0 ELSE 1
2023-08-10 21:09:49 +08:00
END AS v_del
from smz_ssp_problemmodify ssp
left join sur_project sp on ssp.projectId = sp.id
<where >
2023-08-12 12:18:27 +08:00
and ssp.isDel=0
2023-08-10 21:09:49 +08:00
<if test= "projectId != null " > and ssp.projectId = #{projectId}</if>
<if test= "infoType != null " > and ssp.infoType = #{infoType}</if>
<if test= "problemArea != null and problemArea != ''" > and ssp.problemArea like concat('%', #{problemArea}, '%')</if>
<if test= "workParts != null and workParts != ''" > and ssp.workParts like concat('%', #{workParts}, '%')</if>
<if test= "changeInfo != null and changeInfo != ''" > and ssp.changeInfo like concat('%', #{changeInfo}, '%')</if>
<if test= "lordSent != null and lordSent != ''" > and ssp.lordSent = #{lordSent}</if>
<if test= "lordSentUser != null and lordSentUser != ''" > and ssp.lordSentUser = #{lordSentUser}</if>
<if test= "copySend != null and copySend != ''" > and ssp.copySend = #{copySend}</if>
<if test= "copySendUser != null and copySendUser != ''" > and ssp.copySendUser = #{copySendUser}</if>
<if test= "checkState != null " > and ssp.checkState = #{checkState}</if>
<if test= "nickedArea != null and nickedArea != ''" > and nickedArea = #{nickedArea}</if>
<if test= "nickedTime != null " > and ssp.nickedTime = #{nickedTime}</if>
<if test= "projectType != null and projectType != ''" > and ssp.projectType = #{projectType}</if>
<if test= "processName != null and processName != ''" > and ssp.processName like concat('%', #{processName}, '%')</if>
<if test= "projectName != null and projectName != ''" > and ssp.projectName like concat('%', #{projectName}, '%')</if>
<if test= "nickedInfo != null and nickedInfo != ''" > and ssp.nickedInfo = #{nickedInfo}</if>
<if test= "checkUser != null and checkUser != ''" > and ssp.checkUser = #{checkUser}</if>
<if test= "checkUserPhone != null and checkUserPhone != ''" > and ssp.checkUserPhone = #{checkUserPhone}</if>
<if test= "isDel != null " > and ssp.isDel = #{isDel}</if>
<if test= "createUser != null and createUser != ''" > and ssp.createUser like concat('%', #{createUser}, '%')</if>
<if test= "createTime != null " > and ssp.createTime = #{createTime}</if>
<if test= "updateUser != null and updateUser != ''" > and ssp.updateUser = #{updateUser}</if>
<if test= "updateTime != null " > and ssp.updateTime = #{updateTime}</if>
<if test= "dangerType != null and dangerType != ''" > and ssp.danger_type = #{dangerType}</if>
<if test= "params.beginMarksTime != null and params.beginMarksTime != '' and params.endMarksTime != null and params.endMarksTime != ''" > and ssp.createTime between #{params.beginMarksTime} and #{params.endMarksTime}</if>
2023-08-12 12:18:27 +08:00
<!-- 查询条件 - 项目部门 -->
<if test= "projectDeptId != null " > and sp.deptId = #{projectDeptId}</if>
2023-08-10 21:09:49 +08:00
<!-- 子部门数据 -->
<if test= 'nowRole == "4"' > and sp.deptId = #{nowDept}</if>
<!-- 监理单位/总包公司/分包单位查询当前关联数据 -->
<if test= 'nowRole == "5" or nowRole == "6" or nowRole == "7"' > and spui.unitId = #{nowDept}</if>
2023-08-15 17:48:24 +08:00
<!-- 普通整改人是我,复检人是我,抄送人是我,提交人是我的数据 -->
2023-08-12 12:18:27 +08:00
<if test= 'nowRole == "99"' > and (ssp.lordSentUser = #{nowUser} or ssp.copySendUser = #{nowUser} or ssp.recheckSendUser = #{nowUser} or ssp.createUser = #{nowUser} )</if>
2023-08-10 21:09:49 +08:00
<if test= 'activeName == "dzg"' > and ssp.checkState in (0,3)</if>
<if test= 'activeName == "dqr"' > and ssp.checkState in (1)</if>
<if test= 'activeName == "ycl"' > and ssp.checkState = 4 </if>
2023-08-15 23:58:19 +08:00
<if test= 'activeName == "zgcs"' > and (NOW()<![CDATA[ > ]]> ssp.nickedTime and (ssp.updateTime is null or ssp.updateTime <![CDATA[ > ]]> ssp.nickedTime)) </if>
2023-08-10 21:09:49 +08:00
</where>
order by createTime desc
</select>
<select id= "selectSmzSspProblemmodifyById" parameterType= "Long" resultMap= "SmzSspProblemmodifyResult" >
<include refid= "selectSmzSspProblemmodifyVo" />
where id = #{id}
</select>
<insert id= "insertSmzSspProblemmodify" parameterType= "SmzSspProblemmodify" useGeneratedKeys= "true" keyProperty= "id" >
insert into smz_ssp_problemmodify
<trim prefix= "(" suffix= ")" suffixOverrides= "," >
<if test= "projectId != null" > projectId,</if>
<if test= "infoType != null" > infoType,</if>
<if test= "problemArea != null" > problemArea,</if>
<if test= "workParts != null" > workParts,</if>
<if test= "changeInfo != null" > changeInfo,</if>
<if test= "lordSent != null" > lordSent,</if>
<if test= "lordSentUser != null" > lordSentUser,</if>
<if test= "copySend != null" > copySend,</if>
<if test= "copySendUser != null" > copySendUser,</if>
<if test= "checkState != null" > checkState,</if>
<if test= "nickedArea != null" > nickedArea,</if>
<if test= "nickedTime != null" > nickedTime,</if>
<if test= "projectType != null" > projectType,</if>
<if test= "processName != null" > processName,</if>
<if test= "projectName != null" > projectName,</if>
<if test= "nickedInfo != null" > nickedInfo,</if>
<if test= "checkUser != null" > checkUser,</if>
<if test= "checkUserPhone != null" > checkUserPhone,</if>
<if test= "isDel != null" > isDel,</if>
<if test= "createUser != null" > createUser,</if>
<if test= "createTime != null" > createTime,</if>
<if test= "updateUser != null" > updateUser,</if>
<if test= "updateTime != null" > updateTime,</if>
</trim>
<trim prefix= "values (" suffix= ")" suffixOverrides= "," >
<if test= "projectId != null" > #{projectId},</if>
<if test= "infoType != null" > #{infoType},</if>
<if test= "problemArea != null" > #{problemArea},</if>
<if test= "workParts != null" > #{workParts},</if>
<if test= "changeInfo != null" > #{changeInfo},</if>
<if test= "lordSent != null" > #{lordSent},</if>
<if test= "lordSentUser != null" > #{lordSentUser},</if>
<if test= "copySend != null" > #{copySend},</if>
<if test= "copySendUser != null" > #{copySendUser},</if>
<if test= "checkState != null" > #{checkState},</if>
<if test= "nickedArea != null" > #{nickedArea},</if>
<if test= "nickedTime != null" > #{nickedTime},</if>
<if test= "projectType != null" > #{projectType},</if>
<if test= "processName != null" > #{processName},</if>
<if test= "projectName != null" > #{projectName},</if>
<if test= "nickedInfo != null" > #{nickedInfo},</if>
<if test= "checkUser != null" > #{checkUser},</if>
<if test= "checkUserPhone != null" > #{checkUserPhone},</if>
<if test= "isDel != null" > #{isDel},</if>
<if test= "createUser != null" > #{createUser},</if>
<if test= "createTime != null" > #{createTime},</if>
<if test= "updateUser != null" > #{updateUser},</if>
<if test= "updateTime != null" > #{updateTime},</if>
</trim>
</insert>
<update id= "updateSmzSspProblemmodify" parameterType= "SmzSspProblemmodify" >
update smz_ssp_problemmodify
<trim prefix= "SET" suffixOverrides= "," >
<if test= "projectId != null" > projectId = #{projectId},</if>
<if test= "infoType != null" > infoType = #{infoType},</if>
<if test= "problemArea != null" > problemArea = #{problemArea},</if>
<if test= "workParts != null" > workParts = #{workParts},</if>
<if test= "changeInfo != null" > changeInfo = #{changeInfo},</if>
<if test= "lordSent != null" > lordSent = #{lordSent},</if>
<if test= "lordSentUser != null" > lordSentUser = #{lordSentUser},</if>
<if test= "copySend != null" > copySend = #{copySend},</if>
<if test= "copySendUser != null" > copySendUser = #{copySendUser},</if>
<if test= "checkState != null" > checkState = #{checkState},</if>
<if test= "nickedArea != null" > nickedArea = #{nickedArea},</if>
<if test= "nickedTime != null" > nickedTime = #{nickedTime},</if>
<if test= "projectType != null" > projectType = #{projectType},</if>
<if test= "processName != null" > processName = #{processName},</if>
<if test= "projectName != null" > projectName = #{projectName},</if>
<if test= "nickedInfo != null" > nickedInfo = #{nickedInfo},</if>
<if test= "checkUser != null" > checkUser = #{checkUser},</if>
<if test= "checkUserPhone != null" > checkUserPhone = #{checkUserPhone},</if>
<if test= "isDel != null" > isDel = #{isDel},</if>
<if test= "createUser != null" > createUser = #{createUser},</if>
<if test= "createTime != null" > createTime = #{createTime},</if>
<if test= "updateUser != null" > updateUser = #{updateUser},</if>
<if test= "updateTime != null" > updateTime = #{updateTime},</if>
</trim>
where id = #{id}
</update>
<delete id= "deleteSmzSspProblemmodifyById" parameterType= "Long" >
2023-08-12 12:18:27 +08:00
update smz_ssp_problemmodify set isDel=1 where id = #{id}
2023-08-10 21:09:49 +08:00
</delete>
<delete id= "deleteSmzSspProblemmodifyByIds" parameterType= "String" >
2023-08-12 12:18:27 +08:00
update smz_ssp_problemmodify set isDel=1 where id in
2023-08-10 21:09:49 +08:00
<foreach item= "id" collection= "array" open= "(" separator= "," close= ")" >
#{id}
</foreach>
</delete>
<select id= "selectSummary" parameterType= "SmzSspProblemmodify" resultMap= "SmzSspProblemmodifyResult" >
SELECT a.dict_value id,a.dict_label problemArea,b.cnt roleType FROM (SELECT * FROM sys_dict_data
<where >
<if test= "infoType==0" > and dict_type='ssp_aqyhlx'</if>
<if test= "infoType>0" > and dict_type='ssp_zlyhlx'</if>
</where>
) a
LEFT JOIN ( SELECT danger_type,COUNT(1) cnt FROM smz_ssp_problemmodify WHERE projectId IN(
SELECT id FROM sur_project
2023-08-13 12:31:20 +08:00
where isDel=0
2023-08-10 21:09:49 +08:00
<if test= "id >0 " > AND deptid = #{id}</if>
2023-08-13 12:31:20 +08:00
) AND infotype=#{infoType} and isDel=0
2023-08-10 21:09:49 +08:00
<if test= "roleType > 0" > AND roletype=#{roleType}</if>
GROUP BY danger_type) b
2023-08-10 23:37:19 +08:00
ON a.dict_value=b.danger_type ORDER BY cnt DESC,a.dict_value+0
2023-08-10 21:09:49 +08:00
</select>
<select id= "selectSummaryByProject" parameterType= "SmzSspProblemmodify" resultMap= "SmzSspProblemmodifyResult" >
2023-08-15 00:48:20 +08:00
select a.projectId,a.prjName projectName,a.proble id,if(b.timoutNoComp is null,0,b.timoutNoComp) infoType,if(c.timoutComp is null,0,c.timoutComp) checkState from
(
select projectId,prjName,count(1) proble from vw_smz_ssp_problemmodify_audit
where infoType=#{infoType}
<if test= "id >0 " > AND deptid = #{id}</if>
<if test= "roleType > 0" > AND roletype=#{roleType}</if>
group by projectId,prjName
)
a
left join(
select projectid,count(1) timoutNoComp from vw_smz_ssp_problemmodify_audit where
(audittime is null and date(nickedTime) < date(now()) ) or date(audittime)>date(nickedTime)
and infoType=#{infoType}
<if test= "id >0 " > AND deptid = #{id}</if>
<if test= "roleType > 0" > AND roletype=#{roleType}</if>
group by projectId
2023-08-10 21:09:49 +08:00
2023-08-15 00:48:20 +08:00
) b on a.projectId=b.projectId
left join (
SELECT projectid,COUNT(1) timoutComp FROM vw_smz_ssp_problemmodify_audit WHERE DATE(audittime) < DATE(nickedTime)
and infoType=#{infoType}
<if test= "id >0 " > AND deptid = #{id}</if>
2023-08-10 21:09:49 +08:00
<if test= "roleType > 0" > AND roletype=#{roleType}</if>
2023-08-15 00:48:20 +08:00
GROUP BY projectid
) c on a.projectId=c.projectId
order by a.proble desc
2023-08-10 21:09:49 +08:00
</select>
2023-08-13 12:31:20 +08:00
<select id= "countByDate" parameterType= "SmzSspProblemmodifyWhere" resultMap= "SmzSspProblemmodifyResult" >
SELECT infotype,COUNT(1) id FROM smz_ssp_problemmodify WHERE isDel=0
<if test= "projectId > 0" > and projectId=#{projectId}</if>
<if test= "projectId <= 0" >
AND projectId IN (
SELECT id FROM sur_project WHERE isdel=0
<if test= "deptId >0 " > AND deptid = #{id}</if>
)
</if>
and DATE(createTime)=Date(#{startDate})
GROUP BY infotype
2023-08-15 00:48:20 +08:00
2023-08-13 12:31:20 +08:00
</select>
2023-08-10 21:09:49 +08:00
2023-08-13 12:31:20 +08:00
<select id= "countByDateRange" parameterType= "SmzSspProblemmodifyWhere" resultMap= "SmzSspProblemmodifyResult" >
2023-08-15 00:48:20 +08:00
SELECT infotype,COUNT(1) id FROM smz_ssp_problemmodify WHERE isDel=0 and infoType=#{infoType}
2023-08-13 12:31:20 +08:00
<if test= "projectId > 0" > and projectId=#{projectId}</if>
<if test= "projectId <= 0" >
AND projectId IN (
SELECT id FROM sur_project WHERE isdel=0
<if test= "deptId >0 " > AND deptid = #{id}</if>
)
</if>
< ![CDATA[
and DATE(createTime)>=Date(#{startDate}) and Date(createTime)< =Date(#{endDate})
]]>
GROUP BY infotype
</select>
<select id= "groupByInfotypeCheckState" parameterType= "SmzSspProblemmodifyWhere" resultMap= "SmzSspProblemmodifyResult" >
SELECT infotype,checkState,COUNT(1) id FROM smz_ssp_problemmodify WHERE isDel=0
<if test= "projectId > 0" > and projectId=#{projectId}</if>
<if test= "projectId <= 0" >
AND projectId IN (
SELECT id FROM sur_project WHERE isdel=0
<if test= "deptId >0 " > AND deptid = #{deptId}</if>
)
</if>
GROUP BY infotype,checkState
</select>
2023-08-10 21:09:49 +08:00
</mapper>