jhprjv2/ruoyi-wechat/src/main/resources/mapper/PshMapper.xml

609 lines
21 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.ruoyi.web.pshManage.mapper.PshMapper">
<!-- 查询随手拍信息的列表(问题整改) -->
<select id="listSspInfoChanges" parameterType="map" resultType="map">
SELECT
ssp.id,
ssp.projectId,
spi.projectName,
ssp.problemArea,
ssp.workParts,
ssp.changeInfo,
ssp.checkState,
ssp.createTime,
ssf.fileUrl,
ssp.lordSent,
ssp.lordSentUser,
ssp.copySend,
ssp.copySendUser,
ssp.marks_picture as marksPicture,
ssp.marks_video as marksVideo,
ssp.smark_url as smarkUrl,
(case when ssp.lordSentUser = #{loginName} then 1 else 0 end) sort
FROM
smz_ssp_problemmodify ssp
LEFT JOIN smz_ssp_auditinfo ssa ON ssp.id = ssa.mainId and (ssa.processState='0' or ssa.processState ='1')
LEFT JOIN smz_ssp_fileinfo ssf ON ssa.id = ssf.auditId
LEFT JOIN sur_project spi ON ssp.projectId = spi.id
WHERE
ssp.projectId = #{projectId}
AND ssp.infoType = 0
and ssp.isDel=0
<if test="searchText != null and searchText != ''"> AND ssp.workParts LIKE CONCAT('%',#{searchText},'%')</if>
<if test="startTime != null and startTime != ''"> AND Date(ssp.createTime) >= #{startTime} </if>
<if test="endTime != null and endTime != ''"> AND #{endTime} >= Date(ssp.createTime) </if>
<if test="infoType != null and infoType != ''"> AND ssp.infoType = #{infoType}</if>
<if test="checkState != null and checkState != ''"> AND ssp.checkState = #{checkState} </if>
AND (FIND_IN_SET(#{loginName}, ssp.copySendUser) OR FIND_IN_SET(#{loginName}, ssp.lordSentUser) OR FIND_IN_SET(#{loginName}, ssp.recheckSendUser))
GROUP BY ssp.id
ORDER BY sort DESC,createTime DESC
</select>
<!-- 查询随手拍信息的列表(问题整改,留痕上报) -->
<select id="listSspInfoMyNicked" parameterType="map" resultType="map">
SELECT
ssp.id,
ssp.projectId,
spi.projectName,
ssp.workParts,
ssp.checkState,
ssp.nickedArea,
ssp.nickedTime,
ssp.projectType,
ssp.processName,
ssp.projectName,
ssp.nickedInfo,
ssp.checkUser,
ssp.checkUserPhone,
ssp.createTime,
ssf.fileUrl,
ssp.changeInfo,
ssp.lordSent,
ssp.lordSentUser,
ssp.copySend,
ssp.marks_picture as marksPicture,
ssp.marks_video as marksVideo,
ssp.smark_url as smarkUrl,
ssp.copySendUser
FROM
smz_ssp_problemmodify ssp
LEFT JOIN smz_ssp_auditinfo ssa ON ssp.id = ssa.mainId and (ssa.processState='0' or ssa.processState ='1')
LEFT JOIN smz_ssp_fileinfo ssf ON ssa.id = ssf.auditId
LEFT JOIN sur_project spi ON ssp.projectId = spi.id
WHERE
ssp.projectId = #{projectId}
and ssp.isDel=0
AND ssp.infoType = 0
AND ssp.createUser = #{loginName}
<if test="startTime != null and startTime != ''"> AND Date(ssp.createTime) >= #{startTime} </if>
<if test="endTime != null and endTime != ''"> AND #{endTime} >= Date(ssp.createTime) </if>
<if test="checkState != null and checkState != ''"> AND ssp.checkState = #{checkState} </if>
<if test="searchText != null and searchText != ''"> AND ssp.workParts LIKE CONCAT('%',#{searchText},'%')</if>
GROUP BY ssp.id
</select>
<!-- 根据id查询相关的基本信息 -->
<select id="queryChangeNickedInfo" parameterType="map" resultType="map">
SELECT
ssp.*,
spi.projectName projectUnit,
su.`nick_name` `name`,
ssa.id checkId
FROM
smz_ssp_problemmodify ssp
LEFT JOIN smz_ssp_auditinfo ssa ON ssp.id = ssa.mainId
LEFT JOIN sur_project spi ON ssp.projectId = spi.id
LEFT JOIN sys_user su ON ssp.createUser = su.phonenumber
WHERE
ssp.id = #{id}
GROUP BY ssp.id
</select>
<!-- 根据id查询相关的文件 -->
<select id="listChangeNickedFile" parameterType="map" resultType="map">
SELECT
fileUrl
FROM
smz_ssp_fileinfo
WHERE
auditId = #{auditId}
AND fileType = #{fileType}
</select>
<!-- 新增问题整改主表信息 -->
<insert id="saveSspInfoChanges" parameterType="map" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
INSERT INTO
smz_ssp_problemmodify
( projectId,
infoType,
problemArea,
workParts,
changeInfo,
lordSent,
lordSentUser,
copySend,
copySendUser,
checkState,
danger_type,
recheckSend,
recheckSendUser,
roleType,
isDel,
createUser,
createTime )
VALUES
(
#{projectId},
0,
#{problemArea},
#{workParts},
#{changeInfo},
#{lordSent},
#{lordSentUser},
#{copySend},
#{copySendUser},
0,
#{dangerType},
#{recheckSend},
#{recheckSendUser},
#{roleType},
0,
#{createUser},
NOW()
);
</insert>
<insert id="saveSspInfoNicked" parameterType="map" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
INSERT INTO
smz_ssp_problemmodify
( projectId,
infoType,
workParts,
nickedArea,
nickedTime,
projectType,
processName,
projectName,
nickedInfo,
checkUser,
checkUserPhone,
checkState,
danger_type,
recheckSend,
recheckSendUser,
isDel,
createUser,
createTime )
VALUES
(
#{projectId},
0,
#{workParts},
#{nickedArea},
#{nickedTime},
#{projectType},
#{processName},
#{projectName},
#{nickedInfo},
#{checkUser},
#{checkUserPhone},
0,
#{dangerType},
#{recheckSend},
#{recheckSendUser},
0,
#{createUser},
NOW()
);
</insert>
<update id="updateSmzSspProblemmodify" parameterType="map" keyProperty="id" keyColumn="id">
update smz_ssp_problemmodify
<trim prefix="SET" suffixOverrides=",">
<if test="marksPicture != null">marks_picture = #{marksPicture},</if>
<if test="marksVideo != null">marks_video = #{marksVideo},</if>
<if test="smarkUrl != null">smark_url = #{smarkUrl},</if>
</trim>
where id = #{id}
</update>
<!-- 新增流程信息 -->
<insert id="saveSspAuditInfo" parameterType="map" useGeneratedKeys="true" keyProperty="auditId" keyColumn="auditId">
INSERT INTO
smz_ssp_auditinfo
( mainId,
<if test="processState != null and processState != '' ">processState, </if>
opinion,
isDel,
createUser,
createTime)
VALUES (
#{mainId},
<if test="processState != null and processState != '' ">#{processState}, </if>
#{opinion},
0,
#{createUser},
NOW()
)
</insert>
<!-- 新增留痕流程信息 -->
<insert id="saveSspMarkFlow" parameterType="com.ruoyi.web.sspMarks.domain.SspMarksflow" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
INSERT INTO
smz_ssp_marksflow
(
<if test="id != null and id != '' ">id, </if>
mainId,
checkState,
marksRemark,
isDel,
createUser,
createTime)
VALUES (
<if test="id != null and id != '' ">#{id}, </if>
#{mainId},
#{checkState},
#{marksRemark},
0,
#{createUser},
NOW()
)
</insert>
<!-- 新增文件信息 -->
<insert id="saveSspFileInfo" parameterType="map">
INSERT INTO
smz_ssp_fileinfo
( auditId,
fileType,
fileUrl,
isDel,
createUser,
createTime)
VALUES (
#{auditId},
#{fileType},
#{fileUrl},
0,
#{createUser},
NOW()
)
</insert>
<!-- 新增留痕上报文件 -->
<insert id="saveMarkFileInfo" parameterType="com.ruoyi.web.sspMarks.domain.SspMarkfileinfo">
INSERT INTO
smz_ssp_markfileinfo
(
externalId,
fileType,
fileUrl,
isDel,
createUser,
createTime)
VALUES (
#{externalId},
#{fileType},
#{fileUrl},
0,
#{createUser},
NOW()
)
</insert>
<!-- 修改状态 -->
<update id="updateState" parameterType="map">
UPDATE ${tableName} SET ${fieldName} = #{checkState} WHERE ${keySet} = #{id}
</update>
<!-- 查询已整改的基本信息 -->
<select id="queryOpinion" parameterType="map" resultType="map">
SELECT
mainId,
opinion,
createTime
FROM
smz_ssp_auditinfo
WHERE
mainId = #{id}
AND isDel = 0
AND processState = 1
</select>
<!-- 查询已整改的基本信息 -->
<select id="queryOpinionChange" parameterType="map" resultType="map">
SELECT
mainId,
opinion,
createTime
FROM
smz_ssp_auditinfo ssa
WHERE
ssa.mainId = #{id}
AND ssa.isDel = 0
AND processState = 0
ORDER BY createTime DESC LIMIT 1
</select>
<!-- 查询已整改的文件信息 -->
<select id="listOpinionFile" parameterType="map" resultType="map">
SELECT
ssf.fileType,
ssf.fileUrl
FROM
smz_ssp_auditinfo ssa
LEFT JOIN smz_ssp_fileinfo ssf ON ssa.id = ssf.auditId
WHERE
ssa.mainId = #{id}
AND ssa.isDel = 0
AND ssa.processState = 0
</select>
<!-- 查询人员的信息 -->
<select id="listUserInfo" parameterType="map" resultType="map">
SELECT
nick_name `name`,
phonenumber `phone`
FROM
sys_user su
LEFT JOIN sur_project_userinfo spu ON su.user_id = spu.user_id
WHERE
spu.project_id = #{projectId}
AND su.phonenumber != #{loginName}
<if test="name != null and name != ''"> AND `nick_name` LIKE concat('%',#{name},'%')</if>
AND su.del_flag = '0'
</select>
<select id="queryUserInfo" parameterType="java.lang.String" resultType="java.util.Map">
SELECT user_id,IFNULL(phonenumber,'') login_name,IFNULL(nick_name,'') user_name
FROM `sys_user` WHERE phonenumber = #{loginName}
</select>
<select id="queryUserList" parameterType="map" resultType="map">
SELECT u.`user_id` id,u.`phonenumber` `phone`,u.`nick_name` `name`
FROM `sur_project_userinfo` pu
LEFT JOIN `sys_user` u ON u.`user_id` = pu.`user_id`
LEFT JOIN `sys_user_role` ur ON ur.`user_id` = u.`user_id`
WHERE u.`del_flag` = '0'
<if test="projectId != null and projectId != ''">
AND pu.`project_id` = #{projectId}
</if>
<if test="name != null and name != ''">
AND CONCAT(u.`phonenumber`,u.`nick_name`) LIKE CONCAT('%',#{name},'%')
</if>
<if test="roleId != null and roleId != ''">
AND ur.`role_id` = #{roleId}
</if>
</select>
<!-- 查询负责人的项目归属 -->
<select id="queryUserProjectInfo" parameterType="map" resultType="map">
SELECT
projectName `dep`
FROM
sur_project
WHERE
id = #{projectId}
AND isDel = '0'
</select>
<!-- 根据id查询相关的文件 -->
<select id="queryFileInfo" parameterType="map" resultType="map">
SELECT
m.fileUrl,
m.fileType
FROM
smz_ssp_markfileinfo m
LEFT JOIN smz_ssp_marksflow f ON m.externalId = f.id
WHERE
fileType = #{fileType}
AND m.externalId = #{externalId}
</select>
<!-- 查询当前审核流程的信息 -->
<select id="queryAuditInfo" parameterType="map" resultType="map">
SELECT
id,
opinion,
processState
FROM
smz_ssp_auditinfo
WHERE
mainId = #{id}
AND isDel = 0
ORDER BY createTime DESC LIMIT 1
</select>
<!-- 查询驳回信息 -->
<select id="queryRejectInfo" parameterType="map" resultType="String">
SELECT
opinion
FROM
smz_ssp_auditinfo
WHERE
mainId = #{id}
AND isDel = 0
AND processState = '2'
ORDER BY createTime DESC LIMIT 1
</select>
<!-- 查询N次提交的图片信息 -->
<select id="listRejectFile" parameterType="map" resultType="map">
SELECT
ssf.fileType,
ssf.fileUrl
FROM
smz_ssp_auditinfo ssa
LEFT JOIN smz_ssp_fileinfo ssf ON ssa.id = ssf.auditId
WHERE
ssf.auditId = #{id}
AND ssa.isDel = 0
AND ssa.processState = 0
</select>
<!-- 添加驳回的审核意见 -->
<insert id="saveSspAuditInfoReject" parameterType="map">
INSERT INTO
smz_ssp_auditinfo
( mainId,
processState,
opinion,
isDel,
createUser,
createTime)
VALUES (
#{mainId},
2,
#{opinion},
0,
#{createUser},
NOW()
)
</insert>
<!-- 添加通过的审核意见 -->
<insert id="saveSspAuditInfoPass" parameterType="map">
INSERT INTO
smz_ssp_auditinfo
( mainId,
processState,
opinion,
isDel,
createUser,
createTime)
VALUES (
#{mainId},
4,
#{opinion},
0,
#{createUser},
NOW()
)
</insert>
<select id="querySspQualityMarkList" parameterType="java.util.Map" resultType="java.util.Map">
SELECT m.mark_id, m.`work_time`, m.`before_imgs`, m.`after_imgs`, g.`position_name`, p.`paragrap_name`,l.`location_name`,
m.sz_user sz_user_name,u2.`nick_name` zj_user_name,u3.`nick_name` zb_user_name,u4.`nick_name` jl_user_name,
m.state,m.create_time
FROM `smz_ssp_quality_mark` m
LEFT JOIN `sur_project_work_position` g ON g.`position_id` = m.`position_id`
LEFT JOIN `sur_project_work_paragrap` p ON p.`paragrap_id` = m.`paragrap_id`
LEFT JOIN `sur_project_work_location` l ON l.`location_id` = m.`location_id`
LEFT JOIN `sys_user` u2 ON u2.`user_id` = m.`zj_user_id`
LEFT JOIN `sys_user` u3 ON u3.`user_id` = m.`zb_user_id`
LEFT JOIN `sys_user` u4 ON u4.`user_id` = m.`jl_user_id`
WHERE m.`del_flag` = '0'
<if test="projectId != null and projectId != ''">
AND m.project_id = #{projectId}
</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND m.create_time between CONCAT(#{startTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')
</if>
<if test="state != null and state != ''">
AND m.state = #{state}
</if>
<if test="searchText != null and searchText != ''">
AND CONCAT(g.`position_name`,p.`paragrap_name`,l.`location_name`) LIKE CONCAT('%',#{searchText},'%')
</if>
ORDER by m.create_time DESC
</select>
<select id="querySspQualityMarkMyList" parameterType="java.util.Map" resultType="java.util.Map">
SELECT m.mark_id, m.`work_time`, m.`before_imgs`, m.`after_imgs`, g.`position_name`, p.`paragrap_name`, l.`location_name`,
m.sz_user sz_user_name,u2.`nick_name` zj_user_name,u3.`nick_name` zb_user_name,u4.`nick_name` jl_user_name,
m.state,m.create_time
FROM `smz_ssp_quality_mark` m
LEFT JOIN `sur_project_work_position` g ON g.`position_id` = m.`position_id`
LEFT JOIN `sur_project_work_paragrap` p ON p.`paragrap_id` = m.`paragrap_id`
LEFT JOIN `sur_project_work_location` l ON l.`location_id` = m.`location_id`
LEFT JOIN `sys_user` u2 ON u2.`user_id` = m.`zj_user_id`
LEFT JOIN `sys_user` u3 ON u3.`user_id` = m.`zb_user_id`
LEFT JOIN `sys_user` u4 ON u4.`user_id` = m.`jl_user_id`
WHERE m.`del_flag` = '0'
<if test="projectId != null and projectId != ''">
AND m.project_id = #{projectId}
</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND m.create_time between CONCAT(#{startTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')
</if>
<if test="state != null and state != ''">
AND m.state = #{state}
</if>
<if test="loginName != null and loginName != ''">
AND m.`create_user` = #{loginName}
</if>
<if test="searchText != null and searchText != ''">
AND CONCAT(m.`location`,g.`gh_name`,p.`place_name`) LIKE CONCAT('%',#{searchText},'%')
</if>
ORDER by m.create_time DESC
</select>
<select id="querySspQualityMarkInfo" parameterType="java.util.Map" resultType="java.util.Map">
SELECT m.`mark_id`,m.`project_id`,p.`projectName`,m.`work_time`,m.`before_imgs`,m.`after_imgs`,
g.`position_name`,pa.`paragrap_name`,l.`location_name`,m.`conclusion`,
m.sz_user sz_user_name,u2.`nick_name` zj_user_name,
u3.`nick_name` zb_user_name,a.`state` zb_approve_state,IFNULL(a.`explain`,'') zb_approve_explain,
u4.`nick_name` jl_user_name,b.`state` jl_approve_state,IFNULL(b.`explain`,'') jl_approve_explain,
m.`state`,u.`nick_name` create_user,m.`create_time`
FROM `smz_ssp_quality_mark` m
LEFT JOIN `sur_project` p ON p.`id` = m.`project_id`
LEFT JOIN `sur_project_work_position` g ON g.`position_id` = m.`position_id`
LEFT JOIN `sur_project_work_paragrap` pa ON pa.`paragrap_id` = m.`paragrap_id`
LEFT JOIN `sur_project_work_location` l ON l.`location_id` = m.`location_id`
LEFT JOIN `sys_user` u2 ON u2.`user_id` = m.`zj_user_id`
LEFT JOIN `sys_user` u3 ON u3.`user_id` = m.`zb_user_id`
LEFT JOIN `sys_user` u4 ON u4.`user_id` = m.`jl_user_id`
LEFT JOIN `sys_user` u ON u.`phonenumber` = m.`create_user`
LEFT JOIN `smz_ssp_quality_mark_approve` a ON a.`mark_id` = m.`mark_id` AND a.`user_id` = m.`zb_user_id`
LEFT JOIN `smz_ssp_quality_mark_approve` b ON b.`mark_id` = m.`mark_id` AND b.`user_id` = m.`jl_user_id`
WHERE m.`mark_id` = ${mark_id}
</select>
<select id="querySspQualityMarkApproveNextLoginName" parameterType="java.util.Map" resultType="java.lang.String">
SELECT login_name FROM `smz_ssp_quality_mark_approve`
WHERE mark_id = ${mark_id} AND state = '0' ORDER BY sort LIMIT 1
</select>
<select id="querySspQualityMarkToBeApprovedNum" parameterType="java.util.Map" resultType="java.lang.Integer">
SELECT count(1) FROM `smz_ssp_quality_mark_approve` WHERE mark_id = ${mark_id} AND state = '0'
</select>
<update id="updateSspQualityMarkApproveState" parameterType="java.util.Map">
UPDATE `smz_ssp_quality_mark_approve` SET
<if test="state != null and state != ''">
state = ${state},
</if>
<if test="explain != null and explain != ''">
`explain` = #{explain},
</if>
update_time = NOW()
WHERE mark_id = ${mark_id} AND login_name = #{loginName}
</update>
<update id="updateSspQualityMarkState" parameterType="java.util.Map">
UPDATE `smz_ssp_quality_mark` SET
state = ${state},
update_user = #{loginName},
update_time = NOW()
WHERE mark_id = ${mark_id}
</update>
<select id="selectProjectTypeList" parameterType="map" resultType="map">
select dict_value as id, dict_label as project_type, remark, status as is_del from sys_dict_data where dict_type='ssp_aqyhlx' and status='0' order by dict_sort
</select>
<select id="selectProcessName" parameterType="String" resultType="com.ruoyi.web.sspMarks.domain.ProcessName">
select id,name,parentCode,projectId,
createDate,is_del as "isDel", processLevel,type
from smz_process_name where 1=1 and is_del = #{isDel}
</select>
<!--获取工程编码-->
<select id="selectCodeFromSmark" parameterType="String" resultType="map">
select code,name from smz_work_area where 1=1 and projectId = #{proId}
</select>
</mapper>