kongzy
2024-07-01 47a751cb301d05276ae5d75145d57b2d090fe4e1
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
<?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.nanometer.smartlab.dao.SysProjectDao">
  <resultMap id="SysProject" type="com.nanometer.smartlab.entity.SysProject">
    <id property="id" column="id"/>
    <result property="projectNo" column="project_no"></result>
    <result property="projectName" column="project_name"></result>
    <result property="sysUserId" column="sys_user_id"></result>
    <result property="remark" column="remark"></result>
    <result property="validFlag" column="valid_flag"></result>
    <result property="createrUser" column="creater_user"></result>
    <result property="createTime" column="create_time"></result>
    <result property="username" column="userName"></result>
    <result property="project" column="project"></result>
  </resultMap>
 
  <sql id="queryWhereSql">
    <if test="projectNo != null and projectNo != ''">
      and sp.project_no like #{projectNo}
    </if>
    <if test="projectName != null and projectName != ''">
      and sp.project_name like #{projectName}
    </if>
    <if test="sysUserId != null and sysUserId != ''">
      and sp.sys_user_id = #{sysUserId}
    </if>
  </sql>
 
  <select id="getProjectByProNo"  resultMap="SysProject">
  select * from sys_project where project_no=#{projectNo} and valid_flag=1
  </select>
 
  <select id="getSysProjectListByProjectNo"  resultMap="SysProject">
  select sp.*,su.`name` userName from sys_project as sp
    left join sys_user su on su.id=sp.sys_user_id where sp.project_no=#{projectNd}
  </select>
 
  <select id="getSysProjectListByProjectId" resultMap="SysProject">
    select sp.*,su.`name` userName from sys_project as sp
    left join sys_user su on su.id=sp.sys_user_id where sp.id=#{id}
  </select>
 
  <select id="getSysProject"  resultMap="SysProject" >
    select * from sys_project where id = #{id}
  </select>
 
  <select id="getSysProjectByName"   resultMap="SysProject" >
    select * from sys_project where project_name = #{projectName}
  </select>
 
 
 
  <select id="getSysProjectList" parameterType="java.util.Map" resultMap="SysProject">
    select sp.*,su.`name` userName from sys_project as sp
    left join sys_user su on su.id=sp.sys_user_id
    where sp.valid_flag=1
    <include refid="queryWhereSql"/>
    <if test="first != null and pageSize != null">
      limit #{first}, #{pageSize}
    </if>
  </select>
 
  <select id="selectDistinctProjects" parameterType="java.util.Map" resultMap="SysProject">
      SELECT
          sp.*
      FROM
          sys_project sp
          WHERE sp.valid_flag = 1
          AND sp.project_name is not null
      GROUP BY
          sp.project_name
  </select>
 
 
  <insert id="insertBatch" parameterType="java.util.List" useGeneratedKeys = "true" keyProperty = "id">
    insert into sys_project
    (project_no,project_name,sys_user_id,remark,valid_flag,creater_user,create_time)
    values
    <foreach collection="list" separator="," item="project">
(#{project.projectNo},#{project.projectName},#{project.sysUserId},#{project.remark},1,#{project.createrUser},now())
    </foreach>
 
  </insert>
  <select id="getSysProjectListByIds" parameterType="java.util.List" >
    select sp.* from sys_project as sp where valid_flag=1
    <include refid="queryWhereSql"/>
    <if test="first != null and pageSize != null">
      limit #{first}, #{pageSize}
    </if>
  </select>
 
  <select id="getSysProjectTotalCount" parameterType="java.util.Map" resultType="int">
    select count(1) from sys_project as sp
    where valid_flag = 1
    <include refid="queryWhereSql"/>
  </select>
 
  <select id="getSysProjectTotalCountUpdate" parameterType="java.util.Map" resultType="int">
    select count(1) from sys_project as sp
    left join sys_user su on su.id=sp.sys_user_id
    where sp.valid_flag = 1
    <if test="createrUser!= '' and createrUser != null">
     and  sp.creater_user=#{createrUser}
    </if>
    <if test="projectNo != '' and projectNo != null">
      and sp.project_no=#{projectNo}
    </if>
    <if test="sysUserName != '' and sysUserName != null">
      and su.name like #{sysUserName}
    </if>
    <if test="projectName != '' and projectName != null">
      and sp.project_name like #{projectName}
    </if>
  </select>
 
  <select id="getSysProjectListUpdate" parameterType="java.util.Map" resultMap="SysProject">
    select sp.*,su.name username from sys_project as sp
    left join sys_user su on su.id=sp.sys_user_id
    where sp.valid_flag = 1
    <if test="createrUser != '' and createrUser != null">
      and creater_user=#{createrUser}
    </if>
    <if test="projectNo != '' and projectNo != null">
      and sp.project_no=#{projectNo}
    </if>
    <if test="sysUserName != '' and sysUserName != null">
      and su.name like #{sysUserName}
    </if>
    <if test="projectName != '' and projectName != null">
      and sp.project_name like #{projectName}
    </if>
    order by sp.create_time desc
    <if test="first != null and pageSize != null">
      limit #{first}, #{pageSize}
    </if>
  </select>
  <select id="selectByProject" resultType="java.lang.Integer">
        select count(0)
        from sys_project
        where valid_flag = 1
        and project_name = #{0}
 
  </select>
 
  <insert id="insertSysProject" parameterType="com.nanometer.smartlab.entity.SysProject" useGeneratedKeys = "true" keyProperty = "id">
    insert into sys_project( project_no,project_name,sys_user_id,remark,valid_flag,creater_user,create_time,project)
    values ( #{projectNo}, #{projectName}, #{sysUserId}, #{remark},#{validFlag},#{createrUser},now(),#{project})
  </insert>
 
  <update id="updateSysProject" parameterType="com.nanometer.smartlab.entity.SysProject">
    update sys_project set project_no=#{projectNo}, project_name=#{projectName}, sys_user_id=#{sysUserId}, remark=#{remark} ,project=#{project} where id=#{id}
  </update>
 
  <update id="deleteSysProjects" parameterType="java.util.List">
    update sys_project set valid_flag=0 where id in
    <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
      #{item}
    </foreach>
  </update>
 
 
  <select id="getProjectByIds" resultType="com.nanometer.smartlab.entity.SysProject">
    select * from sys_project where valid_flag=1 and id in
    <foreach collection="list" separator="," item="id">
      (#{id})
    </foreach>
 
  </select>
</mapper>