LocationMapper.xml
4.82 KB
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
<?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.huaheng.pc.config.location.mapper.LocationMapper">
<resultMap id="BaseResultMap" type="com.huaheng.pc.config.location.domain.Location">
<!--@mbg.generated-->
<id column="id" jdbcType="INTEGER" property="id" />
<result column="code" jdbcType="VARCHAR" property="code" />
<result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" />
<result column="zoneCode" jdbcType="VARCHAR" property="zoneCode" />
<result column="locationType" jdbcType="VARCHAR" property="locationType" />
<result column="containerCode" jdbcType="VARCHAR" property="containerCode" />
<result column="iRow" jdbcType="INTEGER" property="iRow" />
<result column="iColumn" jdbcType="INTEGER" property="iColumn" />
<result column="iLayer" jdbcType="INTEGER" property="iLayer" />
<result column="iGrid" jdbcType="INTEGER" property="iGrid" />
<result column="roadway" jdbcType="VARCHAR" property="roadway" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="lastCycleCountDate" jdbcType="TIMESTAMP" property="lastCycleCountDate" />
<result column="created" jdbcType="TIMESTAMP" property="created" />
<result column="createdBy" jdbcType="VARCHAR" property="createdBy" />
<result column="lastUpdated" jdbcType="TIMESTAMP" property="lastUpdated" />
<result column="lastUpdatedBy" jdbcType="VARCHAR" property="lastUpdatedBy" />
<result column="version" jdbcType="INTEGER" property="version" />
<result column="userDef1" jdbcType="VARCHAR" property="userDef1" />
<result column="userDef2" jdbcType="VARCHAR" property="userDef2" />
<result column="userDef3" jdbcType="VARCHAR" property="userDef3" />
<result column="userDef4" jdbcType="VARCHAR" property="userDef4" />
<result column="userDef5" jdbcType="VARCHAR" property="userDef5" />
<result column="userDef6" jdbcType="VARCHAR" property="userDef6" />
<result column="userDef7" jdbcType="VARCHAR" property="userDef7" />
<result column="userDef8" jdbcType="VARCHAR" property="userDef8" />
<result column="systemCreated" jdbcType="INTEGER" property="systemCreated" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, code, warehouseCode, zoneCode, locationType, containerCode, iRow, iColumn, iLayer,
iGrid, roadway, `name`, `enable`, lastCycleCountDate, created, createdBy, lastUpdated, lastUpdatedBy,
version, userDef1, userDef2, userDef3, userDef4, userDef5, userDef6, userDef7, userDef8,
systemCreated
</sql>
<update id="updateStatus">
UPDATE location set `status`=#{status} WHERE warehouseCode=#{warehouseCode} AND `code`=#{code}
</update>
<select id="position" resultMap="BaseResultMap">
select code from location where #{locatingRule}
</select>
<update id="updateContainerCodeAndStatus">
UPDATE location set `status`=#{status},containerCode=#{containerCode} WHERE warehouseCode=#{warehouseCode} AND `code`=#{locationCode}
</update>
<insert id="addList" parameterType="com.huaheng.pc.config.location.domain.Location" keyProperty="id" useGeneratedKeys="true" >
INSERT INTO location(
code,
warehouseCode,
zoneCode,
locationType,
iRow,
iColumn,
iLayer,
iGrid,
roadway,
createdBy,
lastUpdatedBy,
status
)values
<foreach collection="locations" item="item" index="index" separator=",">
(
#{item.code},
#{item.warehouseCode},
#{item.zoneCode},
#{item.locationType},
#{item.iRow},
#{item.iColumn},
#{item.iLayer},
#{item.iGrid},
#{item.roadway},
#{item.createdBy},
#{item.lastUpdatedBy},
#{item.status}
)
</foreach>
</insert>
<select id="getAllLocation" resultType="com.huaheng.pc.config.location.domain.Location">
select max(iRow) as iRow,max(iColumn) as iColumn,max(iLayer) as iLayer,max(iGrid) as iGrid from location l where l.warehouseCode=#{warehouseCode} AND l.locationType=#{type}
</select>
<select id="getLocationProp" resultType="java.util.LinkedHashMap">
SELECT w.name warehouseName,ifnull(convert(a.num1/(b.num2+a.num1),decimal(15,2)),0) '有货',ifnull(convert(b.num2/(b.num2+a.num1),decimal(15,2)),0) '无货' from warehouse w
left join
(SELECT count(1) num1,warehouseCode FROM location WHERE containerCode!='' GROUP BY warehouseCode) a on a.warehouseCode=w.code
LEFT JOIN
(SELECT count(1) num2,warehouseCode FROM location WHERE containerCode ='' GROUP BY warehouseCode) b on b.warehouseCode=w.code
</select>
<select id="pickLocation" resultType="com.huaheng.pc.config.location.domain.Location">
select * from location
where containerCode != '' and status = "empty"
</select>
</mapper>