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
<?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"   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
    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="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" useGeneratedKeys = "true" keyProperty = "id">
    insert into sys_warehouse_container(warehouse_id, type, container_code, info_code, structure, name, valid_flag, character_left, character_right, create_time, update_time, controller_code)
    values ( #{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"  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"  >
    update sys_warehouse_container set
    controller_code=null
    where controller_code=#{controllerCode}
  </update>
 
  <select id="getSysWarehouseContainerByControllerCode"  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>