YZProjectCloud/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/trouble/SmzSspProblemmodifyMapper.xml

414 lines
20 KiB
XML

<?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.manage.mapper.SmzSspProblemmodifyMapper">
<resultMap type="SmzSspProblemmodify" id="SmzSspProblemmodifyResult">
<result property="id" column="id" />
<result property="comId" column="comId" />
<result property="projectId" column="projectId" />
<result property="infoType" column="infoType" />
<result property="marksPicture" column="marks_picture" />
<result property="marksVideo" column="marks_video" />
<result property="correctionPicture" column="correction_picture" />
<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="smarkUrl" column="smark_url" />
<result property="isDel" column="isDel" />
<result property="createUser" column="createUser" />
<result property="createUserName" column="createUserName" />
<result property="createTime" column="createTime" />
<result property="updateUser" column="updateUser" />
<result property="updateTime" column="updateTime" />
<result property="dangerType" column="danger_type" />
<result property="dangerTypeName" column="danger_type_name" />
<result property="recheckSend" column="recheckSend" />
<result property="recheckSendUser" column="recheckSendUser" />
<result property="roleType" column="roleType" />
<result property="problemType" column="problemType" />
<result property="problemTypeName" column="problemTypeName" />
</resultMap>
<select id="selectSmzSspProblemmodifyList" parameterType="SmzSspProblemmodify" resultMap="SmzSspProblemmodifyResult">
select
ssp.id,
ssp.comId,
ssp.projectId,
ssp.infoType,
ssp.marks_picture,
ssp.marks_video,
ssp.correction_picture,
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.smark_url,
ssp.isDel,
ssp.createUser,
su.nick_name as createUserName,
ssp.createTime,
ssp.updateUser,
ssp.updateTime,
ssp.danger_type,
sdd2.dict_label AS danger_type_name,
ssp.recheckSend,
ssp.recheckSendUser,
ssp.roleType,
ssp.problemType,
sdd1.dict_label AS problemTypeName
<if test="createBy != null and createBy != ''">, case when ssp.recheckSend = #{createBy} and ssp.checkState=1 then 0
when ssp.lordSentUser = #{createBy} then 1
else 2 end sort
</if>
from
smz_ssp_problemmodify ssp
left join sys_dict_data sdd1 on sdd1.dict_type = 'ssp_proble_type'
and sdd1.dict_value = ssp.problemType
left join sys_dict_data sdd2 on sdd2.dict_type = 'ssp_proble_sub_type'
and sdd2.dict_value = ssp.danger_type
left join sys_user su on su.user_id = ssp.createUser
<where>
<if test="comId != null "> and ssp.comId = #{comId}</if>
<if test="projectId != null "> and ssp.projectId = #{projectId}</if>
<if test="infoType != null "> and ssp.infoType = #{infoType}</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 find_in_set(#{copySend},ssp.copySend)</if>
<if test="copySendUser != null and copySendUser != ''"> and find_in_set(#{copySendUser},ssp.copySendUser)</if>
<if test="checkState != null "> and ssp.checkState = #{checkState}</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="createUser != null and createUser != ''"> and ssp.createUser = #{createUser}</if>
<if test="dangerType != null and dangerType != ''"> and ssp.danger_type = #{dangerType}</if>
<if test="recheckSend != null and recheckSend != ''"> and ssp.recheckSend = #{recheckSend}</if>
<if test="recheckSendUser != null and recheckSendUser != ''"> and ssp.recheckSendUser = #{recheckSendUser}</if>
<if test="problemType != null and problemType != ''"> and ssp.problemType = #{problemType}</if>
<if test="currentUserId != null and currentUserId!=''">
and
(
ssp.createUser=#{currentUserId} or ssp.lordSent=#{currentUserId} or find_in_set(#{currentUserId},ssp.copySend) or ssp.recheckSend=#{currentUserId}
)
</if>
<if test='activeTags == "dzg"'> and ssp.checkState in (0,3) </if>
<if test='activeTags == "yzg"'> and ssp.checkState in (1,4) </if>
<if test='activeTags == "dfj"'> and ssp.checkState = 1 </if>
<if test='activeTags == "ywc"'> and ssp.checkState = 4 </if>
and ssp.isDel = 0
</where>
order by sort, ssp.id desc
</select>
<select id="selectSmzSspProblemmodifyById" parameterType="Long" resultMap="SmzSspProblemmodifyResult">
select
ssp.id,
ssp.comId,
ssp.projectId,
ssp.infoType,
ssp.marks_picture,
ssp.marks_video,
ssp.correction_picture,
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.smark_url,
ssp.isDel,
ssp.createUser,
su.nick_name as createUserName,
ssp.createTime,
ssp.updateUser,
ssp.updateTime,
ssp.danger_type,
sdd2.dict_label AS danger_type_name,
ssp.recheckSend,
ssp.recheckSendUser,
ssp.roleType,
ssp.problemType,
sdd1.dict_label AS problemTypeName
from
smz_ssp_problemmodify ssp
left join sys_dict_data sdd1 on sdd1.dict_type = 'ssp_proble_type'
and sdd1.dict_value = ssp.problemType
left join sys_dict_data sdd2 on sdd2.dict_type = 'ssp_proble_sub_type'
and sdd2.dict_value = ssp.danger_type
left join sys_user su on su.user_id = ssp.createUser
where ssp.id = #{id}
</select>
<insert id="insertSmzSspProblemmodify" parameterType="SmzSspProblemmodify" useGeneratedKeys="true" keyProperty="id">
insert into smz_ssp_problemmodify
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="comId != null">comId,</if>
<if test="projectId != null">projectId,</if>
<if test="infoType != null">infoType,</if>
<if test="marksPicture != null">marks_picture,</if>
<if test="marksVideo != null">marks_video,</if>
<if test="correctionPicture != null">correction_picture,</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="smarkUrl != null">smark_url,</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>
<if test="dangerType != null">danger_type,</if>
<if test="recheckSend != null">recheckSend,</if>
<if test="recheckSendUser != null">recheckSendUser,</if>
<if test="roleType != null">roleType,</if>
<if test="problemType != null">problemType,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="comId != null">#{comId},</if>
<if test="projectId != null">#{projectId},</if>
<if test="infoType != null">#{infoType},</if>
<if test="marksPicture != null">#{marksPicture},</if>
<if test="marksVideo != null">#{marksVideo},</if>
<if test="correctionPicture != null">#{correctionPicture},</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="smarkUrl != null">#{smarkUrl},</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>
<if test="dangerType != null">#{dangerType},</if>
<if test="recheckSend != null">#{recheckSend},</if>
<if test="recheckSendUser != null">#{recheckSendUser},</if>
<if test="roleType != null">#{roleType},</if>
<if test="problemType != null">#{problemType},</if>
</trim>
</insert>
<update id="updateSmzSspProblemmodify" parameterType="SmzSspProblemmodify">
update smz_ssp_problemmodify
<trim prefix="SET" suffixOverrides=",">
<if test="comId != null">comId = #{comId},</if>
<if test="projectId != null">projectId = #{projectId},</if>
<if test="infoType != null">infoType = #{infoType},</if>
<if test="marksPicture != null">marks_picture = #{marksPicture},</if>
<if test="marksVideo != null">marks_video = #{marksVideo},</if>
<if test="correctionPicture != null">correction_picture = #{correctionPicture},</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="smarkUrl != null">smark_url = #{smarkUrl},</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>
<if test="dangerType != null">danger_type = #{dangerType},</if>
<if test="recheckSend != null">recheckSend = #{recheckSend},</if>
<if test="recheckSendUser != null">recheckSendUser = #{recheckSendUser},</if>
<if test="roleType != null">roleType = #{roleType},</if>
<if test="problemType != null">problemType = #{problemType},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteSmzSspProblemmodifyById" parameterType="Long">
delete from smz_ssp_problemmodify where id = #{id}
</delete>
<delete id="deleteSmzSspProblemmodifyByIds" parameterType="String">
delete from smz_ssp_problemmodify where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<sql id="countUserWhere">
<if test="problemType != null and problemType != ''"> and a,problemType = #{problemType}</if>
<if test="dangerType != null and dangerType != ''"> and a.danger_type = #{dangerType}</if>
<if test="createTime != null "> and date(a.createTime) &gt;= date(#{createTime})</if>
<if test="updateTime != null "> and date(a.updateTime) &lt;= date(#{updateTime})</if>
<if test="createUser != null"> and a.createUser = #{createUser}</if>
<if test="lordSent != null and lordSent != ''"> and a.lordSent = #{lordSent}</if>
<if test="currentUserId != null and currentUserId!=''">
AND
(
a.createUser=#{currentUserId} or a.lordSent=#{currentUserId} or find_in_set(#{currentUserId},a.copySend) or a.recheckSend=#{currentUserId}
)
</if>
</sql>
<select id="getListCount" parameterType="SmzSspProblemmodify" resultMap="SmzSspProblemmodifyResult">
select 'a' projectName, count(1) id ,'全部' remark from smz_ssp_problemmodify a where a.projectId=#{projectId} and a.comId=#{comId} and a.infoType=#{infoType} and a.isDel=0
<include refid="countUserWhere"></include>
union
select 'b' projectName, count(1) id,'待整改' remark from smz_ssp_problemmodify a where a.projectId=#{projectId} and a.comId=#{comId} and a.infoType=#{infoType} and a.isDel=0 and a.checkState in (0,3)
<include refid="countUserWhere"></include>
union
select 'c' projectName, count(1) id,'待复检' remark from smz_ssp_problemmodify a where a.projectId=#{projectId} and a.comId=#{comId} and a.infoType=#{infoType} and a.isDel=0 and a.checkState in (1)
<include refid="countUserWhere"></include>
union
select 'd' projectName, count(1) id,'整改完成' remark from smz_ssp_problemmodify a where a.projectId=#{projectId} and a.comId=#{comId} and a.infoType=#{infoType} and a.isDel=0 and a.checkState in (4)
<include refid="countUserWhere"></include>
union
select 'e' projectName, count(1) id,'整改超时' remark from smz_ssp_problemmodify a where a.projectId=#{projectId} and a.comId=#{comId} and a.infoType=#{infoType} and a.isDel=0 and a.checkState not in (4) and date(a.nickedTime) &lt;= curdate()
<include refid="countUserWhere"></include>
</select>
<select id="getWxListCount" parameterType="SmzSspProblemmodify" resultType="Map">
select ssp.checkState, count(1) as total from smz_ssp_problemmodify ssp
<where>
<if test="comId != null "> and ssp.comId = #{comId}</if>
<if test="projectId != null "> and ssp.projectId = #{projectId}</if>
<if test="infoType != null "> and ssp.infoType = #{infoType}</if>
<if test="currentUserId != null and currentUserId!=''">
and
(
ssp.createUser=#{currentUserId} or ssp.lordSent=#{currentUserId} or find_in_set(#{currentUserId},ssp.copySend) or ssp.recheckSend=#{currentUserId}
)
</if>
and ssp.isDel = 0
</where>
group by ssp.checkState
</select>
<select id="selectList" parameterType="SmzSspProblemmodify" resultMap="SmzSspProblemmodifyResult">
SELECT
a.id,
a.comId,
a.projectId,
a.infoType,
a.marks_picture,
a.marks_video,
a.correction_picture,
a.problemArea,
a.workParts,
a.changeInfo,
a.lordSent,
CONCAT(a.lordSentUser ,'【',b.sub_dept_name,'】',b.user_phone) as lordSentUser,
a.lordSentUser,
a.copySend,
a.copySendUser,
a.checkState,
a.nickedArea,
a.nickedTime,
a.projectType,
a.processName,
a.projectName,
a.nickedInfo,
a.checkUser,
a.checkUserPhone,
a.smark_url,
a.isDel,
CONCAT(c.nick_name,'【',c.phonenumber,'】') as createUser,
a.createUser as updateUser,
a.createTime,
a.updateUser,
a.updateTime,
a.danger_type,
a.recheckSend,
CONCAT(a.recheckSendUser ,'【',d.sub_dept_name,'】',d.user_phone) as recheckSendUser,
a.recheckSendUser,
a.roleType,
a.problemType
FROM
smz_ssp_problemmodify a
LEFT JOIN pro_project_info_subdepts_users b ON a.lordSent = b.user_id AND a.projectId = b.project_id AND a.comId = b.com_id
LEFT JOIN pro_project_info_subdepts_users d ON a.recheckSend = d.user_id AND a.projectId = d.project_id AND a.comId = d.com_id
LEFT JOIN sys_user c ON a.createUser = c.user_id
where a.isDel=0 and a.projectId=#{projectId} and a.comId=#{comId} and a.infoType=#{infoType}
<if test="projectName==1">
</if>
<if test="projectName==2">
and a.checkState in (0,3)
</if>
<if test="projectName==3">
and a.checkState in (1)
</if>
<if test="projectName==4">
and a.checkState in (4)
</if>
<if test="projectName==5">
and a.checkState not in (4) and date(nickedTime) &lt;= curdate()
</if>
<include refid="countUserWhere"></include>
</select>
</mapper>