jinlin
2024-06-24 3ca8ce266bf5b06556d80c78b31405e7a54aa4e5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?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.test.dao.ProjectSelfreparingDaos">
    <!--List<ProjectSelfreparing> page(Map<String, Object> queryParams);-->
    <select id="page" resultType="com.zt.life.modules.mainPart.test.model.ProjectSelfreparingTest">
        /*SELECT * FROM "WX_SELFREPARING"*/
        SELECT CASE WHEN NODE_TYPE = 1 THEN NO1 ELSE No2 - 1 END AS code, *
        FROM (
                 SELECT *,
                        row_number() over(order  by  sp)  as  NO1,row_number() over(partition  by  CREATE_DATE1  order  by  CREATE_DATE1,CREATE_DATE2,CREATE_DATE3)  as  NO2
                 FROM (
                          SELECT ID,
 
                                 PID,
 
                                 PROJECT_ID,
 
                                 PROJECT_MAYJOR,
 
                                 NODE_TYPE,
 
                                 (SELECT Name
                                  FROM WX_SELFREPARING b
                                  WHERE b.id = a.pid LIMIT 0,1) partName,
 
                      NAME,
 
                      REMARK,
 
                      PERSON_LIABLE,
 
                      (SELECT CREATE_DATE
                       FROM WX_SELFREPARING c
                       WHERE c.id IN (SELECT pid
                                      FROM WX_SELFREPARING b
                                      WHERE b.id = a.pid) LIMIT  0,1) CREATE_DATE1,
 
                      (SELECT CREATE_DATE
                       FROM WX_SELFREPARING b
                       WHERE b.id = a.pid LIMIT  0,1) CREATE_DATE2,
 
                      CREATE_DATE AS CREATE_DATE3,
 
                      now() AS sp FROM
 
        WX_SELFREPARING  a
 
                 WHERE IS_DELETE=0
                   and NODE_TYPE=3
 
                   AND PROJECT_ID= #{projectId}
 
 
                 UNION
 
 
                 SELECT
                     ID,
                     PID,
                     PROJECT_ID,
                     PROJECT_MAYJOR,
                     NODE_TYPE,
                     Name AS partName,
                     '' AS NAME,
                     REMARK,
                     PERSON_LIABLE,
                     (SELECT CREATE_DATE FROM WX_SELFREPARING b WHERE b.id = a.pid LIMIT 0, 1) CREATE_DATE1,
                     CREATE_DATE AS CREATE_DATE2,
                     '1990-1-1' AS CREATE_DATE3,
                     now() AS sp
 
                 FROM
                     WX_SELFREPARING a
 
                 WHERE IS_DELETE=0
                   and NODE_TYPE=2
 
                   AND PROJECT_ID = #{projectId}
 
                   AND id NOT in (SELECT pid FROM WX_SELFREPARING WHERE IS_DELETE=0)
 
 
                 union
 
                 SELECT
                     a.ID,
                     a.PID,
                     a.PROJECT_ID,
                     a.PROJECT_MAYJOR,
                     a.NODE_TYPE,
                     b.DICT_LABEL AS partName,
                     '' AS NAME,
                     a.REMARK,
                     a.PERSON_LIABLE,
                     a.CREATE_DATE AS CREATE_DATE1,
                     '1990-1-1' AS CREATE_DATE2,
                     '1990-1-1' AS CREATE_DATE3,
                     a.CREATE_DATE AS sp
 
                 FROM
                     WX_SELFREPARING a
                     LEFT JOIN
                     SYS_DICT_DATA b
                 ON a.PROJECT_MAYJOR = b.DICT_VALUE AND DICT_TYPE_ID IN (SELECT id FROM SYS_DICT_TYPE WHERE DICT_TYPE='project_major')
 
                 WHERE a.IS_DELETE=0
                   and a.NODE_TYPE=1
 
                   AND a.PROJECT_ID = #{projectId}
             ) c
        ORDER BY CREATE_DATE1, CREATE_DATE2, CREATE_DATE3 )
 
    </select>
    <!--ProjectSelfreparing getProjectSelfreparing(Long id);-->
    <select id="getProjectSelfreparing" resultType="com.zt.life.modules.mainPart.test.model.ProjectSelfreparingTest">
        SELECT ID,
               PID,
               PROJECT_ID,
               PROJECT_MAYJOR,
               NODE_TYPE,
               (
                   SELECT NAME
                   FROM WX_SELFREPARING b
                   WHERE b.id = a.pid LIMIT 0, 1 ) partName,
    NAME,
    REMARK,
    PERSON_LIABLE
        FROM
            WX_SELFREPARING a
        WHERE
            IS_DELETE = 0
          AND ID = #{id}
    </select>
 
</mapper>