gs-jjsp-service/securityControl-modules/securityControl-task/target/classes/mapper/task/DailyReportMapper.xml

161 lines
8.4 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.securityControl.task.mapper.DailyReportMapper">
<insert id="addOrUpdateInfo">
<if test="type == 1">
INSERT INTO t_daily_team_count (id_number,work_manager,work_manager_phone,team_name,org_name,bid_name,create_day,query_type)
VALUES (
#{param.idNumber},#{param.workManager},#{param.workManagerPhone},#{param.teamName},#{param.orgName},#{param.bidName},CURRENT_DATE,#{param.queryType}
)
</if>
<if test="type == 2">
DELETE FROM t_daily_team_count WHERE id_number = #{param.idNumber} AND create_day = #{param.createDay} AND query_type = #{param.queryType}
</if>
</insert>
<update id="updateTicketNum">
REPLACE INTO t_daily_ticket_count(num,create_date,query_type) VALUES (#{num},CURRENT_DATE,#{type})
</update>
<!--根据类型获取2、新进班组 3、当日无施工班组 4.人数变化大的班组 -->
<select id="getDailyTeamList" resultType="com.securityControl.task.domain.vo.DailyReportVo">
SELECT id_number AS idNumber,
query_type AS queryType,
create_day AS createDay
FROM t_daily_team_count
WHERE create_day = CURRENT_DATE AND query_type = #{type}
</select>
<!--根据类型获取2、新进班组 3、当日无施工班组 4.人数变化大的班组-->
<select id="getAddList" resultType="com.securityControl.task.domain.vo.DailyReportVo">
<if test="type == 2">
SELECT jtt.id idNumber,jtp.real_name workManager,ju.mobile workManagerPhone,
jtt.working_team_name teamName,jbi.bidding_section_name, so.city_name AS orgName
,jtt.build_unit_code,jtt.create_time,
'2' AS queryType
FROM jj_team jtt
left join jj_bid_info jbi on jbi.bidding_section_code=jtt.bidding_section_code and jbi.delete_flag=0
LEFT JOIN sys_org so ON jtt.build_unit_code = so.org_id
left join jj_team_people jtp on jtt.id=jtp.team_id and jtp.position_code='0900101'
left join jj_user ju on ju.id=jtp.personnel_id and ju.delete_flag=0
LEFT JOIN t_daily_team_count tdtc ON jtt.id= tdtc.id_number AND tdtc.query_type = '2' AND tdtc.create_day = CURRENT_DATE
WHERE DATE_FORMAT(jtt.create_time, '%Y-%m-%d') = curdate()
AND jtt.delete_flag=0 and jtt.team_status='01' AND tdtc.id_number IS NULL
</if>
<if test="type == 3">
SELECT jtt.id idNumber,jtp.real_name workManager,ju.mobile workManagerPhone,
jtt.working_team_name teamName,jbi.bidding_section_name bidName, so.city_name AS orgName
,jtt.build_unit_code, '3' AS queryType
from jj_team jtt
left join jj_bid_info jbi on jbi.bidding_section_code=jtt.bidding_section_code and jbi.delete_flag=0
LEFT JOIN sys_org so ON jtt.build_unit_code = so.org_id
left join jj_team_people jtp on jtt.id=jtp.team_id and jtp.position_code='0900101'
left join jj_user ju on ju.id=jtp.personnel_id and ju.delete_flag=0
left join jj_ticket jt on jt.team_id=jtt.id and jt.delete_flag=0
left join jj_class_meetting jcm on jcm.ticket_id=jt.id and jcm.delete_flag=0 and jcm.current_constr_date=curdate()
LEFT JOIN t_daily_team_count tdtc ON jtt.id= tdtc.id_number AND tdtc.query_type = '3' AND tdtc.create_day = CURRENT_DATE
where jt.ticket_status='05' and jcm.id is null AND tdtc.id_number IS NULL
</if>
<if test="type == 4">
SELECT DISTINCT
jcmi.team_id AS idNumber,
jcmi.work_manage AS workManager,
jcmi.work_manage_phone AS workManagerPhone,
jcmi.team_name AS teamName,
so.city_name AS orgName,
jcm.bidding_section_name AS bidName,
'4' AS queryType
FROM jj_class_meetting jcm
LEFT JOIN jj_class_metting_info jcmi on jcmi.class_id=jcm.id
LEFT JOIN sys_org so ON jcm.build_unit_code = so.org_id
LEFT JOIN t_class_metting_warn tcmw ON jcm.id = tcmw.class_id
LEFT JOIN t_daily_team_count tdtc ON jcmi.team_id = tdtc.id_number AND tdtc.query_type = '4' AND tdtc.create_day = CURRENT_DATE
WHERE jcm.delete_flag = '0' AND jcm.current_constr_date = CURRENT_DATE AND LOCATE('人数变化大',tcmw.warn_type) > 0
AND tdtc.id_number IS NULL
</if>
</select>
<select id="getDelList" resultType="com.securityControl.task.domain.vo.DailyReportVo">
<if test="type == 2">
SELECT tdtc.id_number AS idNumber,
tdtc.create_day AS createDay,
tdtc.query_type AS queryType
FROM t_daily_team_count tdtc
LEFT JOIN (
SELECT jtt.id idNumber,
'2' AS queryType,
CURRENT_DATE AS create_day
FROM jj_team jtt
WHERE DATE_FORMAT(jtt.create_time, '%Y-%m-%d') = curdate()
AND jtt.delete_flag=0 and jtt.team_status='01'
) a ON tdtc.id_number = a.idNumber AND tdtc.query_type = a.queryType AND tdtc.create_day = a.create_day
WHERE tdtc.query_type = '2' AND tdtc.create_day = CURRENT_DATE AND a.idNumber IS NULL
</if>
<if test="type == 3">
SELECT tdtc.id_number AS idNumber,
tdtc.create_day AS createDay,
tdtc.query_type AS queryType
FROM t_daily_team_count tdtc
LEFT JOIN (
SELECT jtt.id idNumber,
curdate() create_day,
'3' AS queryType
from jj_team jtt
left join jj_ticket jt on jt.team_id=jtt.id and jt.delete_flag=0
left join jj_class_meetting jcm on jcm.ticket_id=jt.id and jcm.delete_flag=0 and jcm.current_constr_date=curdate()
where jt.ticket_status='05' and jcm.id is null
) a ON tdtc.id_number = a.idNumber AND tdtc.query_type = a.queryType AND tdtc.create_day = a.create_day
WHERE tdtc.query_type = '3' AND tdtc.create_day = CURRENT_DATE AND a.idNumber IS NULL
</if>
<if test="type == 4">
SELECT tdtc.id_number AS idNumber,
tdtc.create_day AS createDay,
tdtc.query_type AS queryType
FROM t_daily_team_count tdtc
LEFT JOIN (
SELECT DISTINCT
jcmi.team_id AS idNumber,
CURRENT_DATE create_day,
'4' AS queryType
FROM jj_class_meetting jcm
LEFT JOIN jj_class_metting_info jcmi on jcmi.class_id=jcm.id
LEFT JOIN t_class_metting_warn tcmw ON jcm.id = tcmw.class_id
WHERE jcm.delete_flag = '0' AND jcm.current_constr_date = CURRENT_DATE AND LOCATE('人数变化大',tcmw.warn_type) > 0
) a ON tdtc.id_number = a.idNumber AND tdtc.query_type = a.queryType AND tdtc.create_day = a.create_day
WHERE tdtc.query_type = '4' AND tdtc.create_day = CURRENT_DATE AND a.idNumber IS NULL
</if>
</select>
<!--统计风险复测变化数量-->
<select id="getRiskChangeNum" resultType="java.lang.Integer">
SELECT COUNT(*)
FROM jj_class_meetting tcm
INNER JOIN jj_ticket tti ON tcm.ticket_id = tti.id
AND tti.ticket_status = '05' AND tti.delete_flag = '0'
WHERE tcm.delete_flag = '0' AND tcm.current_constr_date = CURRENT_DATE AND tti.assessment_risk_level!= tti.re_assessment_risk_level
</select>
<!--统计工法变化数量-->
<select id="getConstrChangeNum" resultType="java.lang.Integer">
SELECT COUNT(*)
FROM jj_class_meetting tcm
LEFT JOIN t_class_metting_warn tcmw ON tcm.id = tcmw.class_id
WHERE tcm.delete_flag = '0' AND tcm.current_constr_date = CURRENT_DATE AND LOCATE('工序变化',tcmw.warn_type) > 0
</select>
<!--统计当日执行中作业票数量并入库-->
<select id="getUnderTicketNum" resultType="java.lang.Integer">
SELECT COUNT(*)
FROM jj_ticket tti
WHERE tti.ticket_status = '05' AND tti.delete_flag = '0'
</select>
<!--统计当日考勤数量-->
<select id="getAttPeopleNum" resultType="java.lang.Integer">
SELECT IFNULL(SUM(current_constr_headcount),0) AS num
FROM jj_class_meetting twt
WHERE twt.current_constr_date=CURRENT_DATE
</select>
</mapper>