jl-jjsp-service/securityControl-modules/securityControl-proteam/target/classes/mapper/newScreen/TeamDataMapper.xml

76 lines
3.7 KiB
XML
Raw Normal View History

2025-09-24 11:10:04 +08:00
<?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.newScreen.mapper.TeamNewMapper">
<update id="updateEiaNum">
update t_eia
set num = #{num}
WHERE type = #{type}
</update>
<select id="getTeamNum" resultType="java.util.Map">
SELECT any_value(so.org_id) AS org,
any_value(IFNULL(a.teamNum, '0')) AS teamNum,
any_value(IFNULL(a.perNum, '0')) AS perNum,
any_value(so.city_name) AS cityName,
any_value(so.lon) AS lon,
any_value(so.lat) AS lat
FROM sys_org AS so
LEFT JOIN (
select cm.org,any_value(sum(twt.day_num)) perNum,any_value(count(1)) teamNum
from t_work_team twt
left join t_class_metting cm on cm.class_id=twt.class_id
where twt.update_day=CURRENT_DATE() and cm.del_flag = '0'
GROUP BY cm.org
) AS a ON a.org = so.org_id
WHERE so.org_id IS NOT NULL
ORDER BY a. teamNum desc
</select>
<select id="getEiaNum" resultType="java.util.Map">
SELECT type,
num,
name
FROM t_eia
</select>
<select id="getTeamByOrg" resultType="com.sercurityControl.proteam.domain.TeamData"
parameterType="com.sercurityControl.proteam.domain.PersonData">
SELECT team_name AS teamName,
work_manager AS fzrName,
work_manager_phone AS phone,
work_content AS content,
bid_name AS proName
FROM t_class_metting tc
LEFT JOIN sys_org so ON tc.org = so.org_id
WHERE so.city_name = #{cityName}
AND DATE_FORMAT(work_day, '%Y-%m-%d') = DATE_FORMAT(curdate(), '%Y-%m-%d')
AND del_flag = '0'
<if test="teamName != null and teamName != ''">
AND tc.team_name LIKE CONCAT('%',#{teamName},'%')
</if>
<if test="fzrName != null and fzrName != ''">
AND tc.work_manager LIKE CONCAT('%',#{fzrName},'%')
</if>
</select>
<select id="getPersonData" resultType="com.sercurityControl.proteam.domain.PersonData"
parameterType="com.sercurityControl.proteam.domain.PersonData">
SELECT tcp.user_name AS personName,
pc.`NAME` AS personType,
tcp.id_number AS idNumber,
(SUBSTRING(now(), 1, 4) - SUBSTRING(tcp.id_number, 7, 4) -
if(DATE_FORMAT(NOW(), '%m%d') - SUBSTRING(tcp.id_number, 11, 4) > 0, 0, 1)) AS age
FROM t_work_team twt
left join t_class_metting_people tcp on twt.class_id=tcp.class_id
LEFT JOIN t_class_metting tc ON tc.class_id = tcp.class_id
LEFT JOIN p_code pc ON pc.`VALUE` = tcp.people_type AND pc.CODE_TYPE = '00000003'
LEFT JOIN sys_org so ON tc.org = so.org_id
WHERE so.city_name = #{cityName}
AND DATE_FORMAT(work_day, '%Y-%m-%d') = DATE_FORMAT(curdate(), '%Y-%m-%d')
AND del_flag = '0'
<if test="personName != null and personName != ''">
AND tcp.user_name LIKE CONCAT('%',#{personName},'%')
</if>
<if test="idNumber != null and idNumber != ''">
AND tcp.id_number LIKE CONCAT('%',#{idNumber},'%')
</if>
</select>
</mapper>