<?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.zehong.system.mapper.TWorkPermitMapper"> <resultMap type="TWorkPermit" id="TWorkPermitResult"> <result property="workPermitId" column="work_permit_id" /> <result property="applyDept" column="apply_dept" /> <result property="linkMan" column="link_man" /> <result property="linkPhone" column="link_phone" /> <result property="workBound" column="work_bound" /> <result property="deviceName" column="device_name" /> <result property="deviceNum" column="device_num" /> <result property="applyWorkStartTime" column="apply_work_start_time" /> <result property="applyWorkEndTime" column="apply_work_end_time" /> <result property="workContent" column="work_content" /> <result property="contractor" column="contractor" /> <result property="ratifier" column="ratifier" /> <result property="mainDangerousMark" column="main_dangerous_mark" /> <result property="dangerousMarkDetial" column="dangerous_mark_detial" /> <result property="licenceInfo" column="licence_info" /> <result property="relationSign" column="relation_sign" /> <result property="produceComfirm" column="produce_comfirm" /> <result property="workDeal" column="work_deal" /> <result property="applyStatus" column="apply_status" /> <result property="createTime" column="create_time" /> <result property="updateTime" column="update_time" /> <result property="remarks" column="remarks" /> </resultMap> <sql id="selectTWorkPermitVo"> select work_permit_id, apply_dept, link_man, link_phone, work_bound, device_name, device_num, apply_work_start_time, apply_work_end_time, work_content, contractor, ratifier, main_dangerous_mark, dangerous_mark_detial, licence_info, relation_sign, produce_comfirm, work_deal, apply_status, create_time, update_time, remarks from t_work_permit </sql> <select id="selectTWorkPermitList" parameterType="TWorkPermit" resultMap="TWorkPermitResult"> <include refid="selectTWorkPermitVo"/> <where> <if test="applyDept != null and applyDept != ''"> and apply_dept = #{applyDept}</if> <if test="linkMan != null and linkMan != ''"> and link_man = #{linkMan}</if> <if test="linkPhone != null and linkPhone != ''"> and link_phone = #{linkPhone}</if> <if test="workBound != null and workBound != ''"> and work_bound = #{workBound}</if> <if test="deviceName != null and deviceName != ''"> and device_name like concat('%', #{deviceName}, '%')</if> <if test="deviceNum != null and deviceNum != ''"> and device_num like concat('%', #{deviceNum},'%')</if> <if test="applyWorkStartTime != null "> and apply_work_start_time = #{applyWorkStartTime}</if> <if test="applyWorkEndTime != null "> and apply_work_end_time = #{applyWorkEndTime}</if> <if test="workContent != null and workContent != ''"> and work_content = #{workContent}</if> <if test="contractor != null "> and contractor = #{contractor}</if> <if test="ratifier != null "> and ratifier = #{ratifier}</if> <if test="mainDangerousMark != null and mainDangerousMark != ''"> and main_dangerous_mark = #{mainDangerousMark}</if> <if test="dangerousMarkDetial != null and dangerousMarkDetial != ''"> and dangerous_mark_detial = #{dangerousMarkDetial}</if> <if test="licenceInfo != null and licenceInfo != ''"> and licence_info = #{licenceInfo}</if> <if test="relationSign != null and relationSign != ''"> and relation_sign = #{relationSign}</if> <if test="produceComfirm != null and produceComfirm != ''"> and produce_comfirm = #{produceComfirm}</if> <if test="workDeal != null and workDeal != ''"> and work_deal = #{workDeal}</if> <if test="applyStatus != null and applyStatus != ''"> and apply_status = #{applyStatus}</if> <if test="remarks != null and remarks != ''"> and remarks = #{remarks}</if> </where> ORDER BY create_time DESC,apply_status </select> <select id="selectTWorkPermitById" parameterType="Long" resultMap="TWorkPermitResult"> <include refid="selectTWorkPermitVo"/> where work_permit_id = #{workPermitId} </select> <insert id="insertTWorkPermit" parameterType="TWorkPermit" useGeneratedKeys="true" keyProperty="workPermitId"> insert into t_work_permit <trim prefix="(" suffix=")" suffixOverrides=","> <if test="applyDept != null">apply_dept,</if> <if test="linkMan != null">link_man,</if> <if test="linkPhone != null">link_phone,</if> <if test="workBound != null">work_bound,</if> <if test="deviceName != null">device_name,</if> <if test="deviceNum != null">device_num,</if> <if test="applyWorkStartTime != null">apply_work_start_time,</if> <if test="applyWorkEndTime != null">apply_work_end_time,</if> <if test="workContent != null">work_content,</if> <if test="contractor != null">contractor,</if> <if test="ratifier != null">ratifier,</if> <if test="mainDangerousMark != null">main_dangerous_mark,</if> <if test="dangerousMarkDetial != null">dangerous_mark_detial,</if> <if test="licenceInfo != null">licence_info,</if> <if test="relationSign != null">relation_sign,</if> <if test="produceComfirm != null">produce_comfirm,</if> <if test="workDeal != null">work_deal,</if> <if test="applyStatus != null">apply_status,</if> <if test="createTime != null">create_time,</if> <if test="updateTime != null">update_time,</if> <if test="remarks != null">remarks,</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="applyDept != null">#{applyDept},</if> <if test="linkMan != null">#{linkMan},</if> <if test="linkPhone != null">#{linkPhone},</if> <if test="workBound != null">#{workBound},</if> <if test="deviceName != null">#{deviceName},</if> <if test="deviceNum != null">#{deviceNum},</if> <if test="applyWorkStartTime != null">#{applyWorkStartTime},</if> <if test="applyWorkEndTime != null">#{applyWorkEndTime},</if> <if test="workContent != null">#{workContent},</if> <if test="contractor != null">#{contractor},</if> <if test="ratifier != null">#{ratifier},</if> <if test="mainDangerousMark != null">#{mainDangerousMark},</if> <if test="dangerousMarkDetial != null">#{dangerousMarkDetial},</if> <if test="licenceInfo != null">#{licenceInfo},</if> <if test="relationSign != null">#{relationSign},</if> <if test="produceComfirm != null">#{produceComfirm},</if> <if test="workDeal != null">#{workDeal},</if> <if test="applyStatus != null">#{applyStatus},</if> <if test="createTime != null">#{createTime},</if> <if test="updateTime != null">#{updateTime},</if> <if test="remarks != null">#{remarks},</if> </trim> </insert> <update id="updateTWorkPermit" parameterType="TWorkPermit"> update t_work_permit <trim prefix="SET" suffixOverrides=","> <if test="applyDept != null">apply_dept = #{applyDept},</if> <if test="linkMan != null">link_man = #{linkMan},</if> <if test="linkPhone != null">link_phone = #{linkPhone},</if> <if test="workBound != null">work_bound = #{workBound},</if> <if test="deviceName != null">device_name = #{deviceName},</if> <if test="deviceNum != null">device_num = #{deviceNum},</if> <if test="applyWorkStartTime != null">apply_work_start_time = #{applyWorkStartTime},</if> <if test="applyWorkEndTime != null">apply_work_end_time = #{applyWorkEndTime},</if> <if test="workContent != null">work_content = #{workContent},</if> <if test="contractor != null">contractor = #{contractor},</if> <if test="ratifier != null">ratifier = #{ratifier},</if> <if test="mainDangerousMark != null">main_dangerous_mark = #{mainDangerousMark},</if> <if test="dangerousMarkDetial != null">dangerous_mark_detial = #{dangerousMarkDetial},</if> <if test="licenceInfo != null">licence_info = #{licenceInfo},</if> <if test="relationSign != null">relation_sign = #{relationSign},</if> <if test="produceComfirm != null">produce_comfirm = #{produceComfirm},</if> <if test="workDeal != null">work_deal = #{workDeal},</if> <if test="applyStatus != null">apply_status = #{applyStatus},</if> <if test="createTime != null">create_time = #{createTime},</if> <if test="updateTime != null">update_time = #{updateTime},</if> <if test="remarks != null">remarks = #{remarks},</if> </trim> where work_permit_id = #{workPermitId} </update> <delete id="deleteTWorkPermitById" parameterType="Long"> delete from t_work_permit where work_permit_id = #{workPermitId} </delete> <delete id="deleteTWorkPermitByIds" parameterType="String"> delete from t_work_permit where work_permit_id in <foreach item="workPermitId" collection="array" open="(" separator="," close=")"> #{workPermitId} </foreach> </delete> <select id="selectTWorkPermitListByLoginUser" parameterType="TWorkPermit" resultMap="TWorkPermitResult"> SELECT permit.work_permit_id, permit.apply_dept, permit.link_man, permit.link_phone, permit.work_bound, permit.device_name, permit.device_num, permit.apply_work_start_time, permit.apply_work_end_time, permit.work_content, permit.contractor, permit.ratifier, permit.main_dangerous_mark, permit.dangerous_mark_detial, permit.licence_info, permit.relation_sign, permit.produce_comfirm, permit.work_deal, permit.apply_status, permit.create_time, permit.update_time, permit.remarks FROM t_work_permit permit LEFT JOIN t_special_work_permit special ON permit.work_permit_id = special.work_permit_id LEFT JOIN t_special_work_permit_sign sign ON special.special_work_permit_id = sign.permit_id <where> ( permit.link_man = #{currentLoginUser} OR sign.staff_id = #{currentLoginUser} ) <if test="applyDept != null and applyDept != ''">and apply_dept like concat('%', #{applyDept}, '%')</if> <if test="linkMan != null and linkMan != ''"> and link_man = #{linkMan}</if> <if test="linkPhone != null and linkPhone != ''"> and link_phone = #{linkPhone}</if> <if test="workBound != null and workBound != ''"> and work_bound = #{workBound}</if> <if test="deviceName != null and deviceName != ''"> and device_name like concat('%', #{deviceName}, '%')</if> <if test="deviceNum != null and deviceNum != ''"> and device_num like concat('%', #{deviceNum},'%')</if> <if test="applyWorkStartTime != null "> and apply_work_start_time = #{applyWorkStartTime}</if> <if test="applyWorkEndTime != null "> and apply_work_end_time = #{applyWorkEndTime}</if> <if test="workContent != null and workContent != ''"> and work_content = #{workContent}</if> <if test="contractor != null "> and contractor = #{contractor}</if> <if test="ratifier != null "> and ratifier = #{ratifier}</if> <if test="mainDangerousMark != null and mainDangerousMark != ''"> and main_dangerous_mark = #{mainDangerousMark}</if> <if test="dangerousMarkDetial != null and dangerousMarkDetial != ''"> and dangerous_mark_detial = #{dangerousMarkDetial}</if> <if test="licenceInfo != null and licenceInfo != ''"> and licence_info = #{licenceInfo}</if> <if test="relationSign != null and relationSign != ''"> and relation_sign = #{relationSign}</if> <if test="produceComfirm != null and produceComfirm != ''"> and produce_comfirm = #{produceComfirm}</if> <if test="workDeal != null and workDeal != ''"> and work_deal = #{workDeal}</if> <if test="applyStatus != null and applyStatus != ''"> and apply_status = #{applyStatus}</if> <if test="remarks != null and remarks != ''"> and remarks = #{remarks}</if> </where> GROUP BY permit.work_permit_id ORDER BY create_time DESC </select> <select id="selectSign" resultType="java.lang.Integer" parameterType="java.lang.Long"> SELECT COUNT(sign_id) FROM t_special_work_permit_sign WHERE permit_id IN (SELECT special_work_permit_id FROM t_special_work_permit WHERE work_permit_id = #{workPermitId} ) AND sign_name IS NULL </select> </mapper>