162 lines
9.5 KiB
XML
162 lines
9.5 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.sercurityControl.proteam.dutyTask.mapper.HistoryMapper">
|
||
|
|
|
||
|
|
<!--历史记录 1.周计划 2.日计划 3.作业票-->
|
||
|
|
<select id="getHistoryByDateType" resultType="java.util.Map">
|
||
|
|
<if test="type == 1">
|
||
|
|
SELECT COUNT(IF(jsp.re_assessment_risk_level = '2',1,NULL)) AS num
|
||
|
|
FROM jj_weeks_plan jwp
|
||
|
|
LEFT JOIN (
|
||
|
|
select distinct prj_type,single_project_code,delete_flag
|
||
|
|
from jj_single_info
|
||
|
|
where delete_flag=0
|
||
|
|
) jsi on jwp.single_project_code=jsi.single_project_code
|
||
|
|
LEFT JOIN jj_risk_precaution jsp on jsp.id=jwp.risk_precaution_id AND jsp.delete_flag = 0
|
||
|
|
<where>
|
||
|
|
jsp.re_assessment_risk_level = '2' AND jwp.delete_flag = '0'
|
||
|
|
<if test="dateType == 1">
|
||
|
|
AND #{startTime} BETWEEN DATE_FORMAT(jwp.planned_start_date, '%Y-%m-%d') AND DATE_FORMAT(jwp.planned_end_date, '%Y-%m-%d') AND jwp.plan_status = '04'
|
||
|
|
</if>
|
||
|
|
<if test="dateType != 1">
|
||
|
|
AND (DATE_FORMAT(jwp.planned_start_date, '%Y-%m-%d') BETWEEN #{startTime} and #{endTime} OR jwp.planned_end_date BETWEEN #{startTime} AND #{endTime}) AND jwp.plan_status = '04'
|
||
|
|
</if>
|
||
|
|
<if test="proType!='' and proType!=null">
|
||
|
|
and jsi.prj_type=#{proType}
|
||
|
|
</if>
|
||
|
|
</where>
|
||
|
|
UNION ALL
|
||
|
|
SELECT COUNT(IF(jsp.re_assessment_risk_level = '3',1,NULL)) AS num
|
||
|
|
FROM jj_weeks_plan jwp
|
||
|
|
LEFT JOIN (
|
||
|
|
select distinct prj_type,single_project_code,delete_flag
|
||
|
|
from jj_single_info
|
||
|
|
where delete_flag=0
|
||
|
|
) jsi on jwp.single_project_code=jsi.single_project_code
|
||
|
|
LEFT JOIN jj_risk_precaution jsp on jsp.id=jwp.risk_precaution_id AND jsp.delete_flag = 0
|
||
|
|
<where>
|
||
|
|
jsp.re_assessment_risk_level = '3' AND jwp.delete_flag = '0'
|
||
|
|
<if test="dateType == 1">
|
||
|
|
AND #{startTime} BETWEEN DATE_FORMAT(jwp.planned_start_date, '%Y-%m-%d') AND DATE_FORMAT(jwp.planned_end_date, '%Y-%m-%d') AND jwp.plan_status = '04'
|
||
|
|
</if>
|
||
|
|
<if test="dateType != 1">
|
||
|
|
AND (DATE_FORMAT(jwp.planned_start_date, '%Y-%m-%d') BETWEEN #{startTime} and #{endTime} OR jwp.planned_end_date BETWEEN #{startTime} AND #{endTime}) AND jwp.plan_status = '04'
|
||
|
|
</if>
|
||
|
|
<if test="proType!='' and proType!=null">
|
||
|
|
and jsi.prj_type=#{proType}
|
||
|
|
</if>
|
||
|
|
</where>
|
||
|
|
</if>
|
||
|
|
<if test="type == 2">
|
||
|
|
SELECT COUNT(*) AS num
|
||
|
|
FROM jj_day_plan jjdp
|
||
|
|
WHERE DATE_FORMAT(jjdp.planned_start_date, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime} AND jjdp.exec_status NOT IN (2) AND jjdp.plan_status = '04' AND jjdp.delete_flag = 0
|
||
|
|
UNION ALL
|
||
|
|
SELECT COUNT(*) AS num
|
||
|
|
FROM jj_day_plan jjdp
|
||
|
|
WHERE DATE_FORMAT(jjdp.planned_start_date, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime} AND jjdp.exec_status = 1 AND jjdp.plan_status = '04' AND jjdp.delete_flag = 0
|
||
|
|
</if>
|
||
|
|
<if test="type == 3">
|
||
|
|
SELECT COUNT(*) AS num
|
||
|
|
FROM jj_ticket tti
|
||
|
|
WHERE tti.delete_flag= 0 AND tti.ticket_type = 'A'
|
||
|
|
<if test="dateType == 1">
|
||
|
|
AND ( ( #{startTime} BETWEEN DATE_FORMAT(tti.planned_start_date, '%Y-%m-%d') AND DATE_FORMAT(tti.planned_end_date, '%Y-%m-%d') AND tti.ticket_status IN ('05')) or
|
||
|
|
( #{startTime} BETWEEN DATE_FORMAT(tti.planned_start_date, '%Y-%m-%d') AND DATE_FORMAT(tti.planned_end_date, '%Y-%m-%d') AND tti.ticket_status IN ('06')
|
||
|
|
and DATE_FORMAT(tti.update_time, '%Y-%m-%d') >=#{startTime} )
|
||
|
|
)
|
||
|
|
|
||
|
|
</if>
|
||
|
|
<if test="dateType != 1">
|
||
|
|
AND (((DATE_FORMAT(tti.planned_start_date, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime} OR
|
||
|
|
DATE_FORMAT(tti.planned_end_date, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}) AND tti.ticket_status
|
||
|
|
IN ('05') ) OR
|
||
|
|
((DATE_FORMAT(tti.planned_start_date, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime} OR
|
||
|
|
DATE_FORMAT(tti.planned_end_date, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}) AND tti.ticket_status
|
||
|
|
IN ('06') and DATE_FORMAT(tti.update_time, '%Y-%m-%d') >=#{endTime} )
|
||
|
|
)
|
||
|
|
</if>
|
||
|
|
UNION ALL
|
||
|
|
SELECT COUNT(*) AS num
|
||
|
|
FROM jj_ticket tti
|
||
|
|
WHERE tti.delete_flag= 0 AND tti.ticket_type = 'B'
|
||
|
|
<if test="dateType == 1">
|
||
|
|
AND ( ( #{startTime} BETWEEN DATE_FORMAT(tti.planned_start_date, '%Y-%m-%d') AND DATE_FORMAT(tti.planned_end_date, '%Y-%m-%d') AND tti.ticket_status IN ('05')) or
|
||
|
|
( #{startTime} BETWEEN DATE_FORMAT(tti.planned_start_date, '%Y-%m-%d') AND DATE_FORMAT(tti.planned_end_date, '%Y-%m-%d') AND tti.ticket_status IN ('06')
|
||
|
|
and DATE_FORMAT(tti.update_time, '%Y-%m-%d') >=#{startTime} )
|
||
|
|
)
|
||
|
|
</if>
|
||
|
|
<if test="dateType != 1">
|
||
|
|
AND (((DATE_FORMAT(tti.planned_start_date, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime} OR
|
||
|
|
DATE_FORMAT(tti.planned_end_date, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}) AND tti.ticket_status
|
||
|
|
IN ('05') ) OR
|
||
|
|
((DATE_FORMAT(tti.planned_start_date, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime} OR
|
||
|
|
DATE_FORMAT(tti.planned_end_date, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}) AND tti.ticket_status
|
||
|
|
IN ('06') and DATE_FORMAT(tti.update_time, '%Y-%m-%d') >=#{endTime} )
|
||
|
|
)
|
||
|
|
</if>
|
||
|
|
<!-- <if test="dateType != 1">-->
|
||
|
|
<!-- AND (DATE_FORMAT(tti.planned_start_date, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime} OR DATE_FORMAT(tti.planned_end_date, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}) AND tti.ticket_status IN ('05','06')-->
|
||
|
|
<!-- </if>-->
|
||
|
|
</if>
|
||
|
|
</select>
|
||
|
|
<select id="getTicketPageList" resultType="com.sercurityControl.proteam.domain.vo.TicketPageVo">
|
||
|
|
SELECT tti.id ticketId,tti.working_team_name teamName,tti.construction_headcount userNum,tti.planned_start_date planStartTime,tti.planned_end_date planEndTime,
|
||
|
|
tti.start_time startTime,tti.end_time endTime,tti.single_project_name proName,tti.ticket_no ticketNo,
|
||
|
|
tti.build_unit_code,tti.update_time,tti.create_time ,tti.re_assessment_risk_level riskLevel ,so.city_name orgName,
|
||
|
|
tti.ticket_status ticketStatus, jtp.real_name AS teamLeader
|
||
|
|
FROM jj_ticket tti
|
||
|
|
LEFT JOIN jj_team jt on tti.team_id=jt.id
|
||
|
|
left join jj_team_people jtp on jtp.team_id=jt.id AND jtp.position_code = '0900101' and jtp.delete_flag=0
|
||
|
|
left join sys_org so on so.org_id=tti.build_unit_code
|
||
|
|
WHERE tti.delete_flag= 0 AND tti.ticket_type =#{ticketType}
|
||
|
|
<if test="types == 1">
|
||
|
|
AND ( ( #{times} BETWEEN DATE_FORMAT(tti.planned_start_date, '%Y-%m-%d') AND DATE_FORMAT(tti.planned_end_date, '%Y-%m-%d') AND tti.ticket_status IN ('05')) or
|
||
|
|
( #{times} BETWEEN DATE_FORMAT(tti.planned_start_date, '%Y-%m-%d') AND DATE_FORMAT(tti.planned_end_date, '%Y-%m-%d') AND tti.ticket_status IN ('06')
|
||
|
|
and DATE_FORMAT(tti.update_time, '%Y-%m-%d') >=#{times} )
|
||
|
|
)
|
||
|
|
</if>
|
||
|
|
<if test="types == 2">
|
||
|
|
AND (((DATE_FORMAT(tti.planned_start_date, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime} OR
|
||
|
|
DATE_FORMAT(tti.planned_end_date, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}) AND tti.ticket_status
|
||
|
|
IN ('05') ) OR
|
||
|
|
((DATE_FORMAT(tti.planned_start_date, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime} OR
|
||
|
|
DATE_FORMAT(tti.planned_end_date, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}) AND tti.ticket_status
|
||
|
|
IN ('06') and DATE_FORMAT(tti.update_time, '%Y-%m-%d') >=#{endTime} )
|
||
|
|
)
|
||
|
|
</if>
|
||
|
|
<if test="orgId!=null and orgId!=''">
|
||
|
|
AND tti.build_unit_code IN (
|
||
|
|
<foreach collection="buildCodeList" item="item" separator=",">
|
||
|
|
#{item}
|
||
|
|
</foreach>
|
||
|
|
)
|
||
|
|
</if>
|
||
|
|
|
||
|
|
<if test="ticketNo != null and ticketNo != ''">
|
||
|
|
AND INSTR(tti.ticket_no,#{ticketNo}) > 0
|
||
|
|
</if>
|
||
|
|
<if test="proName != null and proName != ''">
|
||
|
|
AND INSTR(tti.single_project_name,#{proName}) > 0
|
||
|
|
</if>
|
||
|
|
<if test="riskLevel!=null and riskLevel!=''">
|
||
|
|
AND tti.re_assessment_risk_level IN (
|
||
|
|
<foreach collection="riskTypeList" item="item" separator=",">
|
||
|
|
#{item}
|
||
|
|
</foreach>
|
||
|
|
)
|
||
|
|
</if>
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id="getTicketInfo" resultType="com.sercurityControl.proteam.domain.vo.TicketInfoData" >
|
||
|
|
SELECT
|
||
|
|
GROUP_CONCAT(IFNULL(jrp.work_content, '')) AS workContent,
|
||
|
|
GROUP_CONCAT(IFNULL(jrp.work_site_name, '')) AS siteName,
|
||
|
|
GROUP_CONCAT(IFNULL(jrp.work_procedure, '')) AS workGx
|
||
|
|
FROM jj_weeks_ticket jwt
|
||
|
|
LEFT JOIN jj_weeks_plan jwp ON jwp.id = jwt.week_id
|
||
|
|
LEFT JOIN jj_risk_precaution jrp ON jrp.id = jwp.risk_precaution_id
|
||
|
|
WHERE jwt.ticket_id = #{ticketId} and jwt.week_id is not null
|
||
|
|
LIMIT 1
|
||
|
|
</select>
|
||
|
|
</mapper>
|