日计划查询
This commit is contained in:
parent
9ba46feeb5
commit
9ea4d70b4a
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE mapper
|
<!DOCTYPE mapper
|
||||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.bonus.digital.mapper.DayPlanMapper">
|
<mapper namespace="com.bonus.digital.mapper.DayPlanMapper">
|
||||||
|
|
||||||
<insert id="addMonthlyPlan">
|
<insert id="addMonthlyPlan">
|
||||||
|
|
@ -95,17 +95,146 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<delete id="delDayPlan">
|
<delete id="delDayPlan">
|
||||||
update tb_day_plan set is_active = '0' where day_plan_id = #{dayPlanId}
|
update tb_day_plan set is_active = '0' where day_plan_id = #{dayPlanId}
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
|
||||||
<select id="getDayPlanList" resultType="com.bonus.digital.dao.DayPlanVo">
|
<select id="getDayPlanList" resultType="com.bonus.digital.dao.DayPlanVo">
|
||||||
SELECT
|
SELECT
|
||||||
tdp.*
|
tdp.day_plan_id AS dayPlanId,
|
||||||
|
tdp.monthly_plan_id AS monthlyPlanId,
|
||||||
|
tdp.day_plan AS dayPlan,
|
||||||
|
tdp.planned_workload AS plannedWorkload,
|
||||||
|
-- 原有:拟投入作业人员姓名(通过子查询拼接,替代主表存储的ID串)
|
||||||
|
(SELECT GROUP_CONCAT(tp.NAME SEPARATOR ',')
|
||||||
|
FROM tb_personnel tp
|
||||||
|
WHERE FIND_IN_SET(tp.id, tdp.proposed_personnel)
|
||||||
|
AND tp.is_active = '1') AS proposedPersonnel,
|
||||||
|
-- 原有:拟投入作业人员数量
|
||||||
|
IF(tdp.proposed_personnel IS NULL OR tdp.proposed_personnel = '', 0,
|
||||||
|
LENGTH(tdp.proposed_personnel) - LENGTH(REPLACE(tdp.proposed_personnel, ',', '')) + 1)
|
||||||
|
AS proposedPersonnelNumber,
|
||||||
|
tdp.proposed_proficient_personnel AS proposedProficientPersonnel,
|
||||||
|
tdp.proposed_proficient_day AS proposedProficientDay,
|
||||||
|
tdp.proposed_assistance_personnel AS proposedAssistancePersonnel,
|
||||||
|
tdp.proposed_assistance_day AS proposedAssistanceDay,
|
||||||
|
tdp.proposed_long_time_car AS proposedLongTimeCar,
|
||||||
|
tdp.proposed_temporary_car AS proposedTemporaryCar,
|
||||||
|
tdp.proposed_sub_car AS proposedSubCar,
|
||||||
|
tdp.actual_proficient_personnel AS actualProficientPersonnel,
|
||||||
|
tdp.actual_assistance_personnel AS actualAssistancePersonnel,
|
||||||
|
-- 原有:实际投入作业人员姓名(通过子查询拼接,替代主表存储的ID串)
|
||||||
|
(SELECT GROUP_CONCAT(tp.NAME SEPARATOR ',')
|
||||||
|
FROM tb_personnel tp
|
||||||
|
WHERE FIND_IN_SET(tp.id, tdp.actual_personnel)
|
||||||
|
AND tp.is_active = '1') AS actualPersonnel,
|
||||||
|
tdp.actual_long_time_car AS actualLongTimeCar,
|
||||||
|
tdp.actual_temporary_car AS actualTemporaryCar,
|
||||||
|
tdp.actual_sub_car AS actualSubCar,
|
||||||
|
tdp.actual_work_content AS actualWorkContent,
|
||||||
|
tdp.actual_workload AS actualWorkload,
|
||||||
|
tdp.completion_percentage AS completionPercentage,
|
||||||
|
tdp.plan_completion_status AS planCompletionStatus,
|
||||||
|
tdp.plan_changes AS planChanges,
|
||||||
|
tdp.update_time AS updateTime,
|
||||||
|
tdp.is_active AS isActive,
|
||||||
|
tdp.create_user AS createUser,
|
||||||
|
tdp.create_time AS createTime,
|
||||||
|
tdp.update_user AS updateUser,
|
||||||
|
tdp.status AS status,
|
||||||
|
tdp.day_plan_type AS dayPlanType,
|
||||||
|
tdp.start_time AS startTime,
|
||||||
|
tdp.end_time AS endTime,
|
||||||
|
|
||||||
|
-- 新增:拟投入高处作业人员(data_source=2):姓名 + 数量
|
||||||
|
(SELECT IFNULL(GROUP_CONCAT(tpp.personnel_name SEPARATOR ','), '')
|
||||||
|
FROM tb_proposed_personnel tpp
|
||||||
|
WHERE tpp.day_plan_id = tdp.day_plan_id
|
||||||
|
AND tpp.data_source = 2
|
||||||
|
AND tpp.is_active = '1') AS proposedHighPersonnelNames,
|
||||||
|
(SELECT COUNT(*)
|
||||||
|
FROM tb_proposed_personnel tpp
|
||||||
|
WHERE tpp.day_plan_id = tdp.day_plan_id
|
||||||
|
AND tpp.data_source = 2
|
||||||
|
AND tpp.is_active = '1') AS proposedHighPersonnelNum,
|
||||||
|
|
||||||
|
-- 新增:拟投入地面作业人员(data_source=3):姓名 + 数量
|
||||||
|
(SELECT IFNULL(GROUP_CONCAT(tpp.personnel_name SEPARATOR ','), '')
|
||||||
|
FROM tb_proposed_personnel tpp
|
||||||
|
WHERE tpp.day_plan_id = tdp.day_plan_id
|
||||||
|
AND tpp.data_source = 3
|
||||||
|
AND tpp.is_active = '1') AS proposedGroundPersonnelNames,
|
||||||
|
(SELECT COUNT(*)
|
||||||
|
FROM tb_proposed_personnel tpp
|
||||||
|
WHERE tpp.day_plan_id = tdp.day_plan_id
|
||||||
|
AND tpp.data_source = 3
|
||||||
|
AND tpp.is_active = '1') AS proposedGroundPersonnelNum,
|
||||||
|
|
||||||
|
-- 新增:实际投入高处作业人员(data_source=4):姓名 + 数量
|
||||||
|
(SELECT IFNULL(GROUP_CONCAT(tpp.personnel_name SEPARATOR ','), '')
|
||||||
|
FROM tb_proposed_personnel tpp
|
||||||
|
WHERE tpp.day_plan_id = tdp.day_plan_id
|
||||||
|
AND tpp.data_source = 4
|
||||||
|
AND tpp.is_active = '1') AS actualHighPersonnelNames,
|
||||||
|
(SELECT COUNT(*)
|
||||||
|
FROM tb_proposed_personnel tpp
|
||||||
|
WHERE tpp.day_plan_id = tdp.day_plan_id
|
||||||
|
AND tpp.data_source = 4
|
||||||
|
AND tpp.is_active = '1') AS actualHighPersonnelNum,
|
||||||
|
|
||||||
|
-- 新增:实际投入地面作业人员(data_source=5):姓名 + 数量
|
||||||
|
(SELECT IFNULL(GROUP_CONCAT(tpp.personnel_name SEPARATOR ','), '')
|
||||||
|
FROM tb_proposed_personnel tpp
|
||||||
|
WHERE tpp.day_plan_id = tdp.day_plan_id
|
||||||
|
AND tpp.data_source = 5
|
||||||
|
AND tpp.is_active = '1') AS actualGroundPersonnelNames,
|
||||||
|
(SELECT COUNT(*)
|
||||||
|
FROM tb_proposed_personnel tpp
|
||||||
|
WHERE tpp.day_plan_id = tdp.day_plan_id
|
||||||
|
AND tpp.data_source = 5
|
||||||
|
AND tpp.is_active = '1') AS actualGroundPersonnelNum
|
||||||
|
|
||||||
FROM
|
FROM
|
||||||
tb_day_plan tdp
|
tb_day_plan tdp
|
||||||
LEFT JOIN tb_monthly_plan tmp ON tdp.monthly_plan_id = tmp.monthly_plan_id
|
|
||||||
LEFT JOIN tb_plan_management tpm ON tmp.plan_management_id = tpm.plan_management_id
|
|
||||||
WHERE
|
WHERE
|
||||||
tdp.is_active = '1'
|
tdp.is_active = '1'
|
||||||
<if test="startTime != null and endTime != ''">
|
<!-- 原有查询条件保留,按需调整 -->
|
||||||
AND DATE_FORMAT( tdp.day_plan, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime}
|
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
|
||||||
|
AND DATE_FORMAT(tdp.day_plan, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
|
||||||
|
</if>
|
||||||
|
<if test="dayPlanType != null and dayPlanType != ''">
|
||||||
|
AND tdp.day_plan_type = #{dayPlanType}
|
||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getWorkloadSummary" resultType="com.bonus.digital.dao.MonthlyPlanVo">
|
||||||
|
select
|
||||||
|
tmp.inspection_station_id,
|
||||||
|
tmp.inspection_station_name,
|
||||||
|
tw.workload_category_name,
|
||||||
|
IFNULL(tw.unit_price, 0) as unit_price,
|
||||||
|
IFNULL(SUM(tw.workload_num), 0) as total_workload,
|
||||||
|
IFNULL(SUM(tw.workload_num), 0) * IFNULL(tw.unit_price, 0) as total_amount
|
||||||
|
from tb_day_plan tdp
|
||||||
|
left join tb_monthly_plan tmp
|
||||||
|
on tmp.monthly_plan_id = tdp.monthly_plan_id
|
||||||
|
left join tb_workload tw
|
||||||
|
on tw.plan_id = tdp.day_plan_id
|
||||||
|
and tw.data_source = '1'
|
||||||
|
left join tb_plan_management pm
|
||||||
|
on pm.plan_management_id = tmp.plan_management_id
|
||||||
|
where tmp.is_active = '1'
|
||||||
|
<!-- 计划日期筛选 -->
|
||||||
|
<if test="startTime != null and startTime != ''">
|
||||||
|
AND tdp.day_plan >= #{startTime}
|
||||||
|
</if>
|
||||||
|
<if test="endTime != null and endTime != ''">
|
||||||
|
AND tdp.day_plan <= #{endTime}
|
||||||
|
</if>
|
||||||
|
GROUP BY
|
||||||
|
tmp.inspection_station_id,
|
||||||
|
tmp.inspection_station_name,
|
||||||
|
tw.workload_category_name,
|
||||||
|
tw.unit_price
|
||||||
|
ORDER BY tmp.inspection_station_name ASC;
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue