From d6e4a1f930946ecaecaec3a3daa9d07dd370e9b1 Mon Sep 17 00:00:00 2001
From: zzw <wander.zheng@qq.com>
Date: 星期五, 17 十一月 2023 11:40:08 +0800
Subject: [PATCH] 编号

---
 modules/mainPart/src/main/resources/mapper/newplan/TaskCenterDao.xml |  567 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 567 insertions(+), 0 deletions(-)

diff --git a/modules/mainPart/src/main/resources/mapper/newplan/TaskCenterDao.xml b/modules/mainPart/src/main/resources/mapper/newplan/TaskCenterDao.xml
new file mode 100644
index 0000000..b548ba0
--- /dev/null
+++ b/modules/mainPart/src/main/resources/mapper/newplan/TaskCenterDao.xml
@@ -0,0 +1,567 @@
+<?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.zt.life.modules.mainPart.task.dao.TaskCenterDao">
+    <delete id="deleteTable">
+        drop table ${tableName}
+    </delete>
+
+    <select id="page" resultType="com.zt.modules.workflow.model.WfRunTask">
+        SELECT
+        a.id,
+        a.prev_id,
+        a.prev_step_id,
+        a.flow_id,
+        a.step_id,
+        a.step_name,
+        a.biz_id,
+        a.title,
+        a.sender_id,
+        a.sender_name,
+        a.sender_time,
+        a.group_id,
+        a.receive_id,
+        a.receive_name,
+        a.receive_time,
+        a.open_time,
+       /* a.finish_time,*/
+        a.finish_time2,
+        a.comment,
+        a.is_sign,
+        a.sort,
+        a.note,
+        a.remark,
+        a.is_delete,
+        a.dept_id,
+        a.company_id,
+        a.tenant_id,
+        a.topic,
+        a.apply_user_id,
+        a.apply_time,
+/*        a.apply_user,*/
+        a.step_marker,
+        /*--step_router,*/
+        a.flow_code,
+        a.group_id2,
+        a.finish_id,
+        a.finish_name,
+        a.biz_group_id,
+        a.opinion,
+        (case when status = 1 then '琚┏鍥�' else '' end)  as statusName,
+        DateDiff(CURRENT_DATE,a.RECEIVE_TIME) as idleDays,
+        a.topic AS taskName,
+        a.step_name as taskType,
+        a.biz_id as id,
+        0 as Product_id,
+        0 as MAINTAIN_LEVEL,
+        0 as YEAR,
+        a.RECEIVE_NAME as apply_user,
+        date_add(a.RECEIVE_TIME,interval 7 day) AS finishTime,
+        a.STEP_ID as APPROVE_STEP_ID,
+        a.STEP_MARKER,
+        a.FLOW_CODE,
+        a.APPLY_USER as taskPeople,
+        2 code,
+        a.title  as summary,
+        b.STEP_ROUTER,
+        b.STEP_ROUTER_ID
+        FROM WF_RUN_TASK a
+        left join WF_DEF_STEP b on a.step_id = b.id
+        WHERE a.is_delete =0 and a.status in (0,1)
+        AND a.RECEIVE_ID = #{userId}
+        <if test="projectId != null and projectId != ''">
+            and a.biz_group_id = #{projectId}
+         </if>
+        <if test="djxlSystem != null and djxlSystem != ''">
+            and a.FLOW_ID in (select id from wf_def where system_type = #{djxlSystem})
+        </if>
+        ORDER BY a.receive_time DESC
+    </select>
+
+    <update id="pageDone_temp">
+        drop table if exists ${pageDone_temp1};
+        create table ${pageDone_temp1} as
+        SELECT * FROM (
+                          SELECT
+                              a1.id,
+                              a1.title,
+                              a1.topic,
+                              a1.remark,
+                              a1.biz_id,
+                              a1.biz_group_id,
+                              a1.flow_code,
+                              a1.step_id,
+                              a1.step_marker,
+                              /*a.step_name as step_name_my,*/
+                              a1.receive_name as sender_name,
+                              a1.receive_time,
+                              a1.finish_time as finish_time,
+                              a1.status
+                          FROM WF_RUN_TASK a1
+                          WHERE a1.is_delete = 0
+                                and (a1.receive_id=#{userId}
+                                    or EXISTS(SELECT 1 FROM sys_role s1,sys_role_user s2 WHERE s1.ID = s2.role_id AND s2.USER_id = #{userId} AND
+                                    s2.is_delete=0 and s1.CODE in ('all','xtglybm')))
+                                <if test="djxlSystem != null and djxlSystem != ''">
+                                    and a1.FLOW_ID in (select id from wf_def where system_type = #{djxlSystem})
+                                </if>
+
+                      ) a2
+        where status in (20,10)
+        group by a2.biz_id,a2.flow_code,a2.step_id;
+
+        drop table if exists ${pageDone_temp2};
+        create table ${pageDone_temp2} as
+        select * from
+            (select
+                 b1.prev_id,
+                 b1.group_id,
+                 b1.biz_id,
+                 b1.flow_code,
+                 b1.step_id,
+                 b1.step_marker,
+                 b1.step_name,
+                 b1.receive_name,
+                 b1.receive_time,
+                 b1.status
+             from ${pageDone_temp1} a1,
+                  WF_RUN_TASK b1
+             WHERE b1.is_delete = 0
+               and b1.status in(0,1,100)
+
+               and a1.biz_id = b1.biz_id
+               and a1.flow_code = b1.flow_code
+             order by b1.receive_time DESC
+            ) b2 group by biz_id,flow_code,step_id;
+    </update>
+
+    <select id="pageDone" resultType="com.zt.modules.workflow.model.WfRunTask">
+        SELECT
+        a.id,
+        a.title,
+        a.topic,
+        a.remark,
+        a.biz_id,
+        a.flow_code,
+        a.biz_group_id,
+        c.STEP_READ_ROUTER_ID,
+        a.sender_name,
+        a.finish_time,
+        b.prev_id,
+        b.step_marker,
+        b.step_name,
+        case when c.CAN_RECALL=1 and a.id=b.prev_id and c.step_no &lt; d.step_no and d.step_no &lt; 100
+            then 1 else 0 end as canRecall,
+        c.step_no as myStepNo,
+        d.step_no as curStepNo,
+        (select group_concat(DISTINCT receive_name) from ${pageDone_temp2} s where s.group_id=b.group_id limit 0,3) receive_name,
+        b.receive_time,
+        (case when a.status = 10 then '椹冲洖' else '' end)  as statusName,
+        c.name as finishStepName,
+        a.sender_name as finishUserName
+        FROM ${pageDone_temp1} a
+        join ${pageDone_temp2} b on a.biz_id = b.biz_id and a.flow_code = b.flow_code
+        left join WF_DEF_STEP c on a.step_id = c.id
+        left join WF_DEF_STEP d on b.step_id = d.id
+        group by a.biz_id,a.flow_code,a.step_id
+        ORDER BY a.receive_time DESC
+    </select>
+
+    <select id="page2" resultType="com.zt.modules.workflow.model.WfRunTask">
+        SELECT
+            0 as bizGroupId,
+            CONCAT(p.Name, '-', a.YEAR, '-', c.Dict_label ) AS topic,
+            case when a.CURRENT_STATE =1 then '鍔╃悊淇敼璁″垝' else '澶勯暱瀹℃壒璁″垝' end AS step_name,
+            case when a.CURRENT_STATE =1 then '椹冲洖' else '' end AS statusName,
+            a.id,
+            '80' STEP_ID,
+            case when a.CURRENT_STATE =1 then 'zl' else 'cz' end AS STEP_MARKER,
+            'yearPlan' as FLOW_CODE,
+            u.nick_name as APPLY_USER,
+            2 as code,
+            '骞村害淇悊璁″垝'  as title,
+            '骞村害淇悊璁″垝'  as remark,
+            a.create_date AS RECEIVE_TIME,
+            DateDiff(CURRENT_DATE,a.create_date) as idleDays
+        FROM
+            ZHGL_ANNUAL_PLAN a
+                LEFT JOIN view_zt_boat_tree p on concat(a.product_id) = p.product_id
+                LEFT JOIN SYS_DICT_DATA c ON a.maintain_level = c.Dict_Value
+                AND dict_type_id IN(SELECT id FROM SYS_DICT_TYPE WHERE DICT_TYPE = 'question_level_type')
+                LEFT JOIN SYS_USER u ON u.user_id = a.CREATOR
+        WHERE a.is_delete = 0
+          and (
+                (CURRENT_STATE = 1
+                    and EXISTS(SELECT 1 FROM sys_role s1,sys_role_user s2
+                        WHERE s1.ID = s2.role_id AND s2.USER_id = #{userId} AND
+                            s2.is_delete=0 and s1.CODE = 'zlbm')
+                    ) or (
+                        CURRENT_STATE = '5'
+                        and EXISTS(SELECT 1 FROM sys_role s1,sys_role_user s2
+                            WHERE s1.ID = s2.role_id AND s2.USER_id = #{userId} AND
+                                s2.is_delete=0 and s1.CODE = 'czbm')
+                    )
+            )
+        order by a.update_date desc limit 0,1
+    </select>
+
+    <select id="pageDone2" resultType="com.zt.modules.workflow.model.WfRunTask">
+        select *,
+               case
+                   when STEP_MARKER = 'zl' then '澶勯暱瀹℃牳'
+                   when STEP_MARKER = 'cz' then '鍔╃悊缂栨姤'
+                   else '澶勯暱瀹℃牳' end as finishStepName,
+               case
+                   when STEP_MARKER = 'zl' then '澶勯暱'
+                   when STEP_MARKER = 'cz' then '鍔╃悊'
+                   else '澶勯暱' end   as finishUserName
+        from (
+                 SELECT 0                                                   as bizGroupId,
+                        CONCAT(p.Name, '-', a.YEAR, '-', c.Dict_label)      AS topic,
+                        case
+                            when a.CURRENT_STATE = 1 then '鍔╃悊淇敼璁″垝'
+                            when a.CURRENT_STATE = 5 then '澶勯暱瀹℃壒璁″垝'
+                            else '瀹屾垚' end                                   AS step_name,
+                        case when a.CURRENT_STATE = 1 then '椹冲洖' else '' end AS statusName,
+                        a.id,
+                        '90'                                                as STEP_ID,
+                        case
+                            when a.CURRENT_STATE = 1 then 'zl'
+                            when a.CURRENT_STATE = 5 then 'cz'
+                            else 'wc' end                                   as STEP_MARKER,
+                        a.id                                                as bizId,
+                        'yearPlan2'                                         as FLOW_CODE,
+                        u.nick_name                                         as APPLY_USER,
+                        2                                                   as code,
+                        '骞村害淇悊璁″垝'                                            as title,
+                        '骞村害淇悊璁″垝'                                            as remark,
+                        a.UPDATE_DATE                                       AS RECEIVE_TIME,
+                        case
+                            when a.CURRENT_STATE = 1 then '鍔╃悊'
+                            when a.CURRENT_STATE = 5 then '澶勯暱'
+                            else '' end                                     AS receiveName,
+                        DateDiff(CURRENT_DATE, a.create_date)               as idleDays
+                 FROM ZHGL_ANNUAL_PLAN a
+                          LEFT JOIN view_zt_boat_tree p on concat(a.product_id) = p.product_id
+                          LEFT JOIN SYS_DICT_DATA c ON a.maintain_level = c.Dict_Value
+                     AND dict_type_id IN (SELECT id FROM SYS_DICT_TYPE WHERE DICT_TYPE = 'question_level_type')
+                          LEFT JOIN SYS_USER u ON u.user_id = a.UPDATER
+                 WHERE a.is_delete = 0
+                   and (
+                         (CURRENT_STATE in (1, 10)
+                             and EXISTS(SELECT 1
+                                        FROM sys_role s1,
+                                             sys_role_user s2
+                                        WHERE s2.IS_DELETE = 0
+                                          and s1.ID = s2.role_id
+                                          AND s2.USER_id = #{userId}
+                                          AND s1.CODE = 'czbm')
+                             )
+                         or (
+                                 CURRENT_STATE in (5, 10)
+                                 and EXISTS(SELECT 1
+                                            FROM sys_role s1,
+                                                 sys_role_user s2
+                                            WHERE s2.IS_DELETE = 0
+                                              and s1.ID = s2.role_id
+                                              AND s2.USER_id = #{userId}
+                                              AND s1.CODE = 'zlbm')
+                             )
+                         or ( CURRENT_STATE in (1, 5, 10)
+                            and EXISTS(SELECT 1
+                                    FROM sys_role s1,
+                                         sys_role_user s2
+                                    WHERE s1.ID = s2.role_id
+                                      AND s2.USER_id = #{userId}
+                                      AND s2.is_delete = 0
+                                      and s1.CODE in ('all', 'xtglybm'))
+                             )
+                     )
+             ) as c
+        order by c.RECEIVE_TIME desc
+    </select>
+
+<!--
+    <select id="page3" resultType="com.zt.modules.workflow.model.WfRunTask">
+        select
+            a.stepRouterId,
+            a.project_id as bizGroupId,
+            b.MODEL_NAME AS topic,
+            '鏃ヨ鍒�'  as title,
+            plan_date as remark,
+            step_name,
+            a.id,
+            '0' STEP_ID,
+            a.STEP_MARKER,
+            'rjhFlow' as FLOW_CODE,
+            c.user_name as APPLY_USER,
+            '' as code,
+            a.create_date AS RECEIVE_TIME,
+            DateDiff(CURRENT_DATE,a.create_date) as idleDays
+        from
+            (
+                SELECT
+                    *,'rjh_hz' as STEP_MARKER,'鎬诲巶姹囨��' as STEP_Name,'1648318473140449281' as stepRouterId
+                FROM
+                    wx_daily_plan
+                WHERE
+                    IS_DELETE =0
+                  and FLOW_Status = 'rjh_hz'
+                  AND EXISTS (
+                        SELECT
+                            1
+                        FROM
+                            sys_role s1,
+                            sys_role_user s2
+                        WHERE
+                            s1.ID = s2.role_id
+                          AND s2.USER_id = #{userId}
+                          AND s1.CODE = 'zcbm'
+                    )
+                union
+                SELECT
+                    *,'rjh_sh' as STEP_MARKER,'閮ㄩ棬闀垮鏍�' as STEP_Name,'1648318806923161601' as stepRouterId
+                FROM
+                    wx_daily_plan
+                WHERE
+                    IS_DELETE =0
+                  and FLOW_Status = 'rjh_sh'
+                  AND EXISTS (
+                        SELECT
+                            1
+                        FROM
+                            sys_role s1,
+                            sys_role_user s2
+                        WHERE
+                            s1.ID = s2.role_id
+                          AND s2.USER_id = #{userId}
+                          AND s1.CODE = 'ywzbm'
+                    )
+                union
+                SELECT
+                    *,'rjh_cjfk' as STEP_MARKER,'鍘傚鍙嶉鎯呭喌' as STEP_MARKER,'1648319132719919106' as stepRouterId
+                FROM
+                    wx_daily_plan
+                WHERE
+                    IS_DELETE =0
+                  and FLOW_Status = 'rjh_fk'
+                  AND cjfk_Status = 0
+                  AND MAINTAIN_UNIT = #{deptId}
+                  AND EXISTS (
+                        SELECT
+                            1
+                        FROM
+                            sys_role s1,
+                            sys_role_user s2
+                        WHERE
+                            s1.ID = s2.role_id
+                          AND s2.USER_id = #{userId}
+                          AND s1.CODE = 'cjbm'
+                    )
+                union
+                SELECT
+                    *,'rjh_tyfk' as STEP_MARKER,'鑹囧憳鍙嶉鍔╀慨鎯呭喌' as STEP_Name,'1648318988234534914' as stepRouterId
+                FROM
+                    wx_daily_plan
+                WHERE
+                    IS_DELETE =0
+                  and FLOW_Status = 'rjh_fk'
+                  AND tyfk_Status = 0
+                  AND REPAIR_PERSONNEL = #{userId}
+                  AND EXISTS (
+                        SELECT
+                            1
+                        FROM
+                            sys_role s1,
+                            sys_role_user s2
+                        WHERE
+                            s1.ID = s2.role_id
+                          AND s2.USER_id = #{userId}
+                          AND s1.CODE = 'tybm'
+                    )
+                GROUP BY
+                    project_id,
+                    plan_date
+            ) a
+                left join wx_project b on a.project_id = b.id
+                left join sys_user c on a.SUBMIT_PERSONNEL = c.user_id
+    </select>
+-->
+
+    <select id="page3" resultType="com.zt.modules.workflow.model.WfRunTask">
+        select
+            a.stepRouterId,
+            a.project_id as bizGroupId,
+            b.MODEL_NAME AS topic,
+            a.title,
+            a.remark,
+            step_name,
+            a.id,
+            '0' STEP_ID,
+            a.STEP_MARKER,
+            a.FLOW_CODE,
+            c.user_name as APPLY_USER,
+            '' as code,
+            a.create_date AS RECEIVE_TIME,
+            DateDiff(CURRENT_DATE,a.create_date) as idleDays
+        from
+            (
+                SELECT
+                    id,project_id,create_date,SUBMIT_PERSONNEL,
+                    '鏈堣鍒�'  as title,
+                    concat('鏈堣鍒� (', select_date, ')')  as remark,
+                    'monthPlanFlow' as FLOW_CODE,
+                    'yjh_hz' as STEP_MARKER,'鎬诲巶姹囨��' as STEP_Name,'1660911405324423170' as stepRouterId
+                FROM
+                    wx_weekly_month_plan
+                WHERE
+                    IS_DELETE = 0
+                  and PLAN_TYPE = 1
+                  and FLOW_Status = 'yjh_hz'
+                  AND EXISTS (
+                        SELECT
+                            1
+                        FROM
+                            sys_role s1,
+                            sys_role_user s2
+                        WHERE
+                            s1.ID = s2.role_id
+                          AND s1.IS_DELETE=0
+                          AND s2.IS_DELETE=0
+                          AND s2.USER_id = #{userId}
+                          AND s1.CODE = 'zcbm'
+                    )
+                GROUP BY
+                    project_id, select_date
+                union
+                SELECT
+                    id,project_id,create_date,SUBMIT_PERSONNEL,
+                    '鍛ㄨ鍒�'  as title,
+                    concat('鍛ㄨ鍒� (', select_date, ')')  as remark,
+                    'weekPlanFlow' as FLOW_CODE,
+                    'zjh_hz' as STEP_MARKER,'鎬诲巶姹囨��' as STEP_Name,'1660904721482895361' as stepRouterId
+                FROM
+                    wx_weekly_month_plan
+                WHERE
+                    IS_DELETE = 0
+                  and PLAN_TYPE = 0
+                  and FLOW_Status = 'zjh_hz'
+                  AND EXISTS (
+                        SELECT
+                            1
+                        FROM
+                            sys_role s1,
+                            sys_role_user s2
+                        WHERE
+                            s1.ID = s2.role_id
+                          AND s1.IS_DELETE=0
+                          AND s2.IS_DELETE=0
+                          AND s2.USER_id = #{userId}
+                          AND s1.CODE = 'zcbm'
+                    )
+                GROUP BY
+                    project_id, select_date
+                union
+                SELECT
+                    id,project_id,create_date,SUBMIT_PERSONNEL,
+                    '鏃ヨ鍒�'  as title,
+                    concat('鏃ヨ鍒� (', plan_date, ')')  as remark,
+                    'rjhFlow' as FLOW_CODE,
+                    'rjh_hz' as STEP_MARKER,'鎬诲巶姹囨��' as STEP_Name,'1648318473140449281' as stepRouterId
+                FROM
+                    wx_daily_plan
+                WHERE
+                    IS_DELETE = 0
+                  and FLOW_Status = 'rjh_hz'
+                  AND EXISTS (
+                        SELECT
+                            1
+                        FROM
+                            sys_role s1,
+                            sys_role_user s2
+                        WHERE
+                            s1.ID = s2.role_id
+                          AND s1.IS_DELETE=0
+                          AND s2.IS_DELETE=0
+                          AND s2.USER_id = #{userId}
+                          AND s1.CODE = 'zcbm'
+                    )
+                GROUP BY
+                    project_id, plan_date
+            ) a
+                left join wx_project b on a.project_id = b.id
+                left join sys_user c on a.SUBMIT_PERSONNEL = c.user_id
+    </select>
+
+    <select id="getRowByProjectId" resultType="com.zt.modules.workflow.model.WfRunTask">
+        SELECT
+            a.id,
+            a.prev_id,
+            a.prev_step_id,
+            a.flow_id,
+            a.step_id,
+            a.step_name,
+            a.biz_id,
+            a.title,
+            a.sender_id,
+            a.sender_name,
+            a.sender_time,
+            a.group_id,
+            a.receive_id,
+            a.receive_name,
+            a.receive_time,
+            a.open_time,
+            a.finish_time,
+            a.finish_time2,
+            a.comment,
+            a.is_sign,
+            a.sort,
+            a.note,
+            a.remark,
+            a.is_delete,
+            a.dept_id,
+            a.company_id,
+            a.tenant_id,
+            a.topic,
+            a.apply_user_id,
+            a.apply_time,
+            a.apply_user,
+            a.step_marker,
+            /*--step_router,*/
+            a.flow_code,
+            a.group_id2,
+            a.finish_id,
+            a.finish_name,
+            a.biz_group_id,
+            a.opinion,
+            (case when status = 1 then '琚┏鍥�' else '' end)  as statusName,
+            DateDiff(CURRENT_DATE,a.RECEIVE_TIME) as idleDays,
+            a.topic AS taskName,
+            a.step_name as taskType,
+            a.biz_id as id,
+            0 as Product_id,
+            0 as MAINTAIN_LEVEL,
+            0 as YEAR,
+            a.RECEIVE_TIME AS finishTime,
+            a.STEP_ID as APPROVE_STEP_ID,
+            a.STEP_MARKER,
+            a.FLOW_CODE,
+            a.APPLY_USER as taskPeople,
+            2 code,
+            a.title  as summary,
+            b.STEP_ROUTER,
+            b.STEP_ROUTER_ID
+        FROM WF_RUN_TASK a
+                 left join WF_DEF_STEP b on a.step_id = b.id
+        WHERE a.is_delete =0 and a.status in (0,1)
+          and a.topic=(select model_name from wx_project where id=#{projectId})
+          and a.step_marker='jsfa_sc'
+        ORDER BY a.receive_time DESC limit 1
+    </select>
+
+    <update id="oneKeyDoneCy">
+        update wf_run_task
+        set status=20, UPDATER=#{userId}, UPDATE_DATE=CURRENT_TIMESTAMP
+        where STEP_MARKER in('rjh_cy','zjh_cy','yjh_cy') and status=0 and RECEIVE_ID=#{userId}
+    </update>
+</mapper>

--
Gitblit v1.9.1