李宇
2021-11-12 43ee95fbdcb6fe0a9d548d0935c23c232d5ffeaa
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
<?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.SysWarehouseContainerDao">
  <resultMap id="SysWarehouseContainer" type="com.nanometer.smartlab.entity.SysWarehouseContainer">
    <id property="id" column="id"/>
    <result property="warehouseId" column="warehouse_id"></result>
    <result property="type" column="type"></result>
    <result property="name" column="name"></result>
    <result property="containerCode" column="container_code"></result>
    <result property="infoCode" column="info_code"></result>
    <result property="structure" column="structure"></result>
    <result property="name" column="name"></result>
    <result property="validFlag" column="valid_flag" typeHandler="com.nanometer.smartlab.entity.handler.ValidFlagHandler"></result>
    <result property="createTime" column="create_time"></result>
    <result property="updateTime" column="update_time"></result>
    <result property="warehouseName" column="warehouseName"></result>
    <result property="warehouseType" column="warehouseType"></result>
    <result property="characterLeft" column="character_left"></result>
    <result property="characterRight" column="character_right"></result>
    <result property="controllerCode" column="controller_code"></result>
    <result property="controllerName" column="controller_name"></result>
  </resultMap>
 
  <select id="getSysWarehouseContainerInfoList" parameterType="java.util.Map" resultMap="SysWarehouseContainer">
    select container_code,name,valid_flag,type,character_left,character_right from sys_warehouse_container where update_time >= #{startTime} and #{endTime} > update_time
  </select>
 
  <select id="getSysWarehouseContainer" parameterType="java.lang.String"  resultMap="SysWarehouseContainer" >
    select su.*,ss.name as warehouseName, ss.type as warehouseType from sys_warehouse_container as su
    left join sys_warehouse as ss on su.warehouse_id = ss.id
    where su.id = #{id} and su.valid_flag = 1
  </select>
 
  <select id="getSysWarehouseContainerList" parameterType="java.util.Map" resultMap="SysWarehouseContainer">
    select su.*,ss.name as warehouseName, ss.type as warehouseType
    ,
    sc.controller_name
    from sys_warehouse_container as su
    left join sys_warehouse as ss on su.warehouse_id = ss.id
    left join sys_controller sc on sc.controller_code = su.controller_code
    where su.valid_flag = 1
    and sc.valid_flag = 1
    <if test="warehouseType != null and warehouseType != ''">
      and ss.type = #{warehouseType}
    </if>
    <if test="warehouseName != null and warehouseName != ''">
      and ss.name like #{warehouseName}
    </if>
    <if test="warehouseId != null and warehouseId != ''">
      and ss.id like #{warehouseId}
    </if>
    order by ss.name ASC,su.create_time DESC
    <if test="first != null and pageSize != null">
      limit #{first}, #{pageSize}
    </if>
  </select>
 
  <select id="getSysWarehouseContainerTotalCount" parameterType="java.util.Map" resultType="int">
    select count(1) from sys_warehouse_container as su
    left join sys_warehouse as ss on su.warehouse_id = ss.id
    where su.valid_flag = 1
    <if test="warehouseType != null and warehouseType != ''">
      and ss.type = #{warehouseType}
    </if>
    <if test="warehouseName != null and warehouseName != ''">
      and ss.name like #{warehouseName}
    </if>
    <if test="containerCode != null and containerCode != ''">
      and su.container_code = #{containerCode}
    </if>
    <if test="editId != null and editId != ''">
      and su.id != #{editId}
    </if>
  </select>
 
  <insert id="insertSysWarehouseContainer" parameterType="com.nanometer.smartlab.entity.SysWarehouseContainer">
    insert into sys_warehouse_container(id, warehouse_id, type, container_code, info_code, structure, name, valid_flag, character_left, character_right, create_time, update_time, controller_code)
    values (#{id}, #{warehouseId}, #{type}, #{containerCode}, #{infoCode}, #{structure}, #{name}, 1, #{characterLeft}, #{characterRight}, now(), now(), #{controllerCode})
  </insert>
 
  <update id="updateSysWarehouseContainer" parameterType="com.nanometer.smartlab.entity.SysWarehouseContainer">
    update sys_warehouse_container set warehouse_id=#{warehouseId}, type=#{type}, container_code=#{containerCode},
    info_code=#{infoCode}, structure=#{structure}, name=#{name}, character_left=#{characterLeft}, character_right=#{characterRight},
    update_time=now(),
    controller_code=#{controllerCode}
    where id=#{id}
  </update>
 
  <update id="deleteSysWarehouseContainers" parameterType="java.util.List">
    update sys_warehouse_container set valid_flag=0, update_time=now()
    where id in
    <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
      #{item}
    </foreach>
  </update>
 
  <select id="getSysWarehouseContainerByContainerCode" parameterType="java.lang.String" resultMap="SysWarehouseContainer">
    select * from sys_warehouse_container
    where container_code = #{containerCode} and valid_flag = 1
  </select>
 
  <update id="updateSysWarehouseContainerForInterface" parameterType="com.nanometer.smartlab.entity.SysWarehouseContainer">
    update sys_warehouse_container set warehouse_id=#{warehouseId}, type=#{type},
    info_code=#{infoCode}, structure=#{structure}, name=#{name}, character_left=#{characterLeft}, character_right=#{characterRight},
    update_time=#{updateTime}, controller_code = #{controllerCode}, valid_flag = #{validFlag}
    where id=#{id} and update_time &lt; #{updateTime}
  </update>
 
  <select id="getSysWarehouseContainerByContainerCodes" parameterType="java.util.List" resultMap="SysWarehouseContainer">
    select * from sys_warehouse_container
    where container_code in
    <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
      #{item}
    </foreach>
  </select>
 
  <update id="updateSysWarehouseContainerClearControllerCode" parameterType="java.lang.String" >
    update sys_warehouse_container set
    controller_code=null
    where controller_code=#{controllerCode}
  </update>
 
  <select id="getSysWarehouseContainerByControllerCode" parameterType="java.lang.String" resultMap="SysWarehouseContainer">
    select * from sys_warehouse_container
    where controller_code = #{controllerCode}
  </select>
 
  <update id="invalidSysWarehouseContainer" parameterType="com.nanometer.smartlab.entity.SysWarehouseContainer">
    update sys_warehouse_container set valid_flag= 0, update_time = #{updateTime}
    where id=#{id} and update_time &lt; #{updateTime}
  </update>
</mapper>