gdg
2021-02-23 3cc43725fa2e4b8ed4b4b00b845a7dc83f99f39a
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
<?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="projectId" column="project_id"></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="projectId != null and projectId != ''">
      and sp.project_id like #{projectId}
    </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="getProjectByProId" parameterType="java.lang.String" resultMap="SysProject">
  select * from sys_project where project_id=#{projectId} and valid_flag=1
  </select>
 
  <select id="getSysProjectListByProjectId" parameterType="java.lang.String" 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_id=#{projectId}
  </select>
 
  <select id="getSysProject" parameterType="java.lang.String"  resultMap="SysProject" >
    select * from sys_project where id = #{id}
  </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 is not null
      GROUP BY
          sp.project
  </select>
 
 
  <insert id="insertBatch" parameterType="java.util.List">
    insert into sys_project
    (id,project_id,project_name,sys_user_id,remark,valid_flag,creater_user,create_time)
    values
    <foreach collection="list" separator="," item="project">
(#{project.id},#{project.projectId},#{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="projectId != '' and projectId != null">
      and sp.project_id=#{projectId}
    </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="projectId != '' and projectId != null">
      and sp.project_id=#{projectId}
    </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 = #{0}
 
  </select>
 
  <insert id="insertSysProject" parameterType="com.nanometer.smartlab.entity.SysProject">
    insert into sys_project(id, project_id,project_name,sys_user_id,remark,valid_flag,creater_user,create_time,project)
    values (#{id}, #{projectId}, #{projectName}, #{sysUserId}, #{remark},#{validFlag},#{createrUser},now(),#{project})
  </insert>
 
  <update id="updateSysProject" parameterType="com.nanometer.smartlab.entity.SysProject">
    update sys_project set project_id=#{projectId}, 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>
</mapper>