cl
5 小时以前 ab08f2e28057e226ba42b3268ed36ac489cef34e
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
<?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.zy.asrs.mapper.ReportQueryMapper">
 
    <select id="getViewLocBays" resultType="com.zy.asrs.entity.ViewLocMapDto">
        SELECT m.loc_no  AS locNo,
               m.bay1    AS bay1,
               m.loc_sts AS locSts,
               STUFF((
                   SELECT ',' + t.maktx
                   FROM (
                            SELECT DISTINCT LTRIM(RTRIM(ISNULL(d.maktx, ''))) AS maktx
                            FROM asr_loc_detl d
                            WHERE d.loc_no = m.loc_no
                              AND LTRIM(RTRIM(ISNULL(d.maktx, ''))) &lt;&gt; ''
                        ) t
                   FOR XML PATH(''), TYPE
               ).value('.', 'nvarchar(max)'), 1, 1, '') AS maktx,
               CASE WHEN m.loc_sts = 'D'
                    THEN NULLIF(LTRIM(RTRIM(ISNULL(m.barcode, ''))), '')
                    ELSE STUFF((
                             SELECT ',' + t.code
                             FROM (
                                      SELECT DISTINCT LTRIM(RTRIM(ISNULL(d.barcode, ''))) AS code
                                      FROM asr_loc_detl d
                                      WHERE d.loc_no = m.loc_no
                                        AND LTRIM(RTRIM(ISNULL(d.barcode, ''))) &lt;&gt; ''
                                        AND NOT (LEN(LTRIM(RTRIM(ISNULL(d.barcode, '')))) = 6
                                             AND LTRIM(RTRIM(d.barcode)) LIKE 'Z__-__')
                                  ) t
                             FOR XML PATH(''), TYPE
                         ).value('.', 'nvarchar(max)'), 1, 1, '')
               END AS itemBarcodes,
               CASE WHEN m.loc_sts = 'D'
                    THEN NULL
                    ELSE STUFF((
                             SELECT ',' + t.code
                             FROM (
                                      SELECT DISTINCT LTRIM(RTRIM(ISNULL(d.zpallet, ''))) AS code
                                      FROM asr_loc_detl d
                                      WHERE d.loc_no = m.loc_no
                                        AND LTRIM(RTRIM(ISNULL(d.zpallet, ''))) &lt;&gt; ''
                                        AND NOT (LEN(LTRIM(RTRIM(ISNULL(d.zpallet, '')))) = 6
                                             AND LTRIM(RTRIM(d.zpallet)) LIKE 'Z__-__')
                                  ) t
                             FOR XML PATH(''), TYPE
                         ).value('.', 'nvarchar(max)'), 1, 1, '')
               END AS pltBarcodes
        FROM asr_loc_mast m
        WHERE m.row1 = #{row1}
          AND m.lev1 = #{lev1}
        ORDER BY m.bay1
    </select>
</mapper>