jar
jinlin
2025-03-10 f0aae4b39afbcbb18fb5a0b32e3ca689662c5ca7
src/main/resources/mapper/progressTrack/DjJdgzTrackRecordDao.xml
@@ -18,6 +18,10 @@
        b.LEVEL3_NODE_ID ELSE a.id
        END AS level3NodeId,
        c.id as level3NetworkId,
        c.teamgroup_name,
        c.dept_id,
        c.cabin_id,
        c.type,
        c.`NAME` as level3NetworkName,
        a.PROCESS_NAME AS level3NodeName,
        a.REQUIRED_COMPLETION_TIME,
@@ -111,7 +115,7 @@
        sum(case when status = 'zcwc' then 1 else 0 end) as zcwcNum,
        sum(case when status = 'cqwc' then 1 else 0 end) as cqwcNum
        from (
        select b.TEAMGROUP_ID,
                          select a.TEAMGROUP_ID,
        CASE
        WHEN b.CURRENT_STATUS = 1
        AND b.REQUIRED_COMPLETION_TIME > b.ACTUAL_COMPLETION THEN
@@ -119,7 +123,8 @@
        WHEN b.CURRENT_STATUS = 1 THEN
        'zcwc'
        WHEN b.REQUIRED_COMPLETION_TIME < (SELECT datetime('now')) THEN 'yq'
        WHEN b.REQUIRED_COMPLETION_TIME < (SELECT date('now', '-' || c.advent_day || ' days')) THEN 'lq'
                                     WHEN b.REQUIRED_COMPLETION_TIME <
                                          (SELECT date('now', '-' || c.advent_day || ' days')) THEN 'lq'
        ELSE 'zcjxz'
        END AS status
        from dj_jdgz_network_level3 a,
@@ -144,7 +149,7 @@
        e.PROCESS_NAME AS level1NodeName,
        f.project_name,
        g.week_no,
        h.name as teamGroupName
        b.TEAMGROUP_NAME
        FROM
        `dj_jdgz_network_level3_list` a
        LEFT JOIN dj_jdgz_network_level3 b ON b.id = a.NETWORK_ID
@@ -342,5 +347,87 @@
        from dj_jdgz_track_record
        where LEVEL3_NODE_ID = ${level3NodeId}
    </select>
    <select id="getListByImport" resultType="com.example.server.progressTrack.model.DjJdgzTrackRecord">
        SELECT
        c.id,
        c.`NAME` as level3NetworkName,
        CASE
        WHEN
        b.GENERAL_REPAIR_UNIT IS NOT NULL THEN b.GENERAL_REPAIR_UNIT else
        c.GENERAL_REPAIR_UNIT
        END as GENERAL_REPAIR_UNIT,
        CASE
        WHEN
        b.GENERAL_REPAIR_UNIT_DIRECTOR IS NOT NULL THEN b.GENERAL_REPAIR_UNIT_DIRECTOR else
        c.GENERAL_REPAIR_UNIT_DIRECTOR
        END as GENERAL_REPAIR_UNIT_DIRECTOR,
        CASE
        WHEN
        b.GENERAL_REPAIR_UNIT_CONTACT IS NOT NULL THEN
        b.GENERAL_REPAIR_UNIT_CONTACT else
        c.GENERAL_REPAIR_UNIT_CONTACT
        END as GENERAL_REPAIR_UNIT_CONTACT,
        CASE
        WHEN
        b.REPAIR_UNIT IS NOT NULL THEN b.REPAIR_UNIT else
        c.REPAIR_UNIT
        END as REPAIR_UNIT,
        CASE
        WHEN
        b.REPAIR_UNIT_DIRECTOR IS NOT NULL THEN b.REPAIR_UNIT_DIRECTOR else
        c.REPAIR_UNIT_DIRECTOR
        END as REPAIR_UNIT_DIRECTOR,
        CASE
        WHEN
        b.REPAIR_UNIT_CONTACT IS NOT NULL THEN
        b.REPAIR_UNIT_CONTACT else
        c.REPAIR_UNIT_CONTACT
        END as REPAIR_UNIT_CONTACT,
        b.track_person,
        b.track_person_unit,
        b.track_person_contact,
        b.tracked_person,
        b.tracked_person_unit,
        b.tracked_person_contact
        FROM
        dj_jdgz_network_level3_list a
        LEFT JOIN (
        SELECT *
        FROM dj_jdgz_track_record
        WHERE (LEVEL3_NODE_ID, update_date) IN (
        SELECT LEVEL3_NODE_ID, MAX(update_date)
        FROM dj_jdgz_track_record
        GROUP BY LEVEL3_NODE_ID
        )
        ) b ON b.LEVEL3_NODE_ID = a.id
        LEFT JOIN dj_jdgz_network_level3 c ON c.id = a.NETWORK_ID
        LEFT JOIN dj_jdgz_network_level2_list d ON d.id = c.LEVEL2_NODE_ID
        LEFT JOIN dj_jdgz_network_level2 e ON e.id = d.NETWORK_ID
        LEFT JOIN dj_jdgz_network_level1_list f ON f.id = e.LEVEL1_NODE_ID
        LEFT JOIN dj_jdgz_network_level1 g ON g.id = c.LEVEL1_NETWORK_ID
        WHERE
        a.IS_DELETE = 0
        and a.network_id != 10000
        <if test="selectedIds!=null and selectedIds!=''">
            AND c.TEAMGROUP_ID in (${selectedIds})
        </if>
        and (b.CURRENT_STATUS IS null OR b.CURRENT_STATUS = 0)
        AND c.IS_DELETE = 0
        AND d.IS_DELETE = 0
        AND e.IS_DELETE = 0
        AND f.IS_DELETE = 0
        AND g.IS_DELETE = 0
        AND g.id = ${level1Id}
        <if test="level2Id!=null">
            AND e.id = ${level2Id}
        </if>
        <if test="level2NodeId!=null">
            AND d.id = ${level2NodeId}
        </if>
        GROUP BY
        c.id
        ORDER BY
        a.REQUIRED_COMPLETION_TIME
    </select>
</mapper>