jl-jjsp-service/securityControl-modules/securityControl-proteam/target/classes/mapper/dutyTask/DailyReportMapper.xml

173 lines
9.2 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.DailyReportMapper2">
<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>
<!--批量添加数据-->
<insert id="batchAddData">
INSERT INTO t_daily_team_count(id_number,work_manager,work_manager_phone,team_name,org_name,bid_name,create_day,query_type) VALUES
<foreach collection="list" separator="," item="item">
(
#{item.idNumber},#{item.workManager},#{item.workManagerPhone},#{item.teamName},#{item.orgName},#{item.bidName},CURRENT_DATE,#{item.queryType}
)
</foreach>
</insert>
<update id="updateTicketNum">
REPLACE INTO t_daily_ticket_count(num,create_date,query_type) VALUES (#{num},CURRENT_DATE,#{type})
</update>
<!--删除旧数据-->
<delete id="delOldData">
DELETE FROM t_daily_team_count WHERE query_type = #{type} AND create_day = #{nowDate}
</delete>
<!--根据类型获取2、新进班组 3、当日无施工班组 4.人数变化大的班组 -->
<select id="getDailyTeamList" resultType="com.sercurityControl.proteam.dutyTask.domain.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.sercurityControl.proteam.dutyTask.domain.DailyReportVo">
<if test="type == 2">
SELECT DISTINCT jtt.id AS idNumber,
jtp.real_name AS workManager,
ju.mobile AS workManagerPhone,
jtt.working_team_name AS teamName,
so.city_name AS orgName,
jbi.bidding_section_name AS bidName,
'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 jj_team_people jtp ON jtt.id = jtp.team_id AND jtp.position_code='0900101' AND jtp.delete_flag = 0
LEFT JOIN jj_user ju ON ju.id=jtp.personnel_id and ju.delete_flag=0
LEFT JOIN sys_org so ON jtt.build_unit_code = so.org_id
WHERE DATE_FORMAT(jtt.create_time, '%Y-%m-%d') = curdate() AND jtt.delete_flag = 0 and jtt.team_status='01'
</if>
<if test="type == 3">
SELECT DISTINCT jtt.id AS idNumber,
jtp.real_name AS workManager,
ju.mobile AS workManagerPhone,
jtt.working_team_name AS teamName,
so.city_name AS orgName,
jbi.bidding_section_name AS bidName,
'3' AS queryType
FROM jj_class_meetting jcm
LEFT JOIN jj_class_meetting jcm2 ON jcm.ticket_id = jcm2.ticket_id AND DATE_FORMAT(jcm.current_constr_date, '%Y-%m-%d') = DATE_FORMAT(curdate() - INTERVAL 1 DAY, '%Y-%m-%d') AND jcm2.delete_flag = 0
LEFT JOIN jj_ticket jt ON jcm.ticket_id = jt.id AND jt.delete_flag = 0
LEFT JOIN jj_team jtt ON jt.team_id = jtt.id AND jtt.delete_flag = 0
LEFT JOIN jj_bid_info jbi ON jbi.bidding_section_code=jtt.bidding_section_code AND jbi.delete_flag=0
LEFT JOIN jj_team_people jtp ON jtt.id = jtp.team_id AND jtp.position_code='0900101' AND jtp.delete_flag = 0
LEFT JOIN jj_user ju ON ju.personnel_id=jtp.personnel_id and ju.delete_flag=0
LEFT JOIN sys_org so ON jtt.build_unit_code = so.org_id
WHERE DATE_FORMAT(jcm.current_constr_date, '%Y-%m-%d') = curdate() AND jcm.delete_flag= 0 AND jcm2.id 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
WHERE jcm.delete_flag = '0' AND jcm.current_constr_date = CURRENT_DATE AND LOCATE('人数变化大',tcmw.warn_type) > 0
</if>
</select>
<select id="getDelList" resultType="com.sercurityControl.proteam.dutyTask.domain.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>