刘光辉
15 小时以前 34981c30a78e8bbd7791131059a9210f9928b62c
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
<?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="jnpf.dmsMapper.DmsWenjianBianhaoMapper">
 
    <resultMap id="BaseResultMap" type="jnpf.dmsEntity.DmsWenjianBianhaoEntity">
        <id column="f_id" property="id"/>
        <result column="f_foreign_id" property="foreignId"/>
        <result column="f_tenant_id" property="tenantId"/>
        <result column="f_delete_mark" property="deleteMark"/>
        <result column="guize_id" property="guizeId"/>
        <result column="guize_kuaizhao_id" property="guizeKuaizhaoId"/>
        <result column="guize_mingcheng_kuaizhao" property="guizeMingchengKuaizhao"/>
        <result column="guize_kuaizhao" property="guizeKuaizhao"/>
        <result column="bianhao_muban" property="bianhaoMuban"/>
        <result column="yulan_bianhao" property="yulanBianhao"/>
        <result column="shenqing_bianhao" property="shenqingBianhao"/>
        <result column="wenjian_bianhao" property="wenjianBianhao"/>
        <result column="liushui_hao" property="liushuiHao"/>
        <result column="shiyong_ren_id" property="shiyongRenId"/>
        <result column="yuan_wenjian_mingcheng" property="yuanWenjianMingcheng"/>
        <result column="dangqian_wenjian_mingcheng" property="dangqianWenjianMingcheng"/>
        <result column="mingcheng_banben" property="mingchengBanben"/>
        <result column="bianhao_fafang_shijian" property="bianhaoFafangShijian"/>
        <result column="biz_status" property="bizStatus"/>
    </resultMap>
 
    <sql id="BaseColumns">
        f_id, f_foreign_id, f_tenant_id, f_delete_mark, guize_id, guize_kuaizhao_id,
        guize_mingcheng_kuaizhao, guize_kuaizhao, bianhao_muban, yulan_bianhao,
        shenqing_bianhao, wenjian_bianhao, liushui_hao, shiyong_ren_id,
        yuan_wenjian_mingcheng, dangqian_wenjian_mingcheng, mingcheng_banben,
        bianhao_fafang_shijian, biz_status
    </sql>
 
    <select id="selectUsingPage" resultMap="BaseResultMap">
        SELECT <include refid="BaseColumns"/>
        FROM dms_wenjian_bianhao b
        WHERE b.f_tenant_id = #{tenantId}
          AND b.biz_status = 'using'
          AND NULLIF(BTRIM(b.wenjian_bianhao), '') IS NOT NULL
          AND (b.f_delete_mark IS NULL OR b.f_delete_mark &lt;&gt; 1)
        <if test="bianhaoId != null and bianhaoId != ''">
          AND b.f_id = #{bianhaoId}
        </if>
        <if test="bianhaoId == null or bianhaoId == ''">
          AND NOT EXISTS (
              SELECT 1
              FROM dms_wenjian_mingcheng_biangeng_shenqing c
              WHERE c.f_tenant_id = b.f_tenant_id
                AND c.bianhao_id = b.f_id
                AND c.f_flow_state IN (1, 5, 6, 8, 10)
                AND (c.f_delete_mark IS NULL OR c.f_delete_mark &lt;&gt; 1)
          )
        </if>
        <if test="keyword != null and keyword != ''">
          AND (b.wenjian_bianhao LIKE CONCAT('%', #{keyword}, '%')
               OR b.dangqian_wenjian_mingcheng LIKE CONCAT('%', #{keyword}, '%'))
        </if>
        ORDER BY b.bianhao_fafang_shijian DESC NULLS LAST, b.f_id ASC
    </select>
 
    <select id="selectByApplicationForUpdate" resultMap="BaseResultMap">
        SELECT <include refid="BaseColumns"/>
        FROM dms_wenjian_bianhao
        WHERE f_tenant_id = #{tenantId}
          AND f_foreign_id = #{applicationId}
          AND (f_delete_mark IS NULL OR f_delete_mark &lt;&gt; 1)
        ORDER BY f_id
        FOR UPDATE
    </select>
 
    <select id="selectActiveByIdForUpdate" resultMap="BaseResultMap">
        SELECT <include refid="BaseColumns"/>
        FROM dms_wenjian_bianhao
        WHERE f_tenant_id = #{tenantId}
          AND f_id = #{id}
          AND (f_delete_mark IS NULL OR f_delete_mark &lt;&gt; 1)
        FOR UPDATE
    </select>
 
</mapper>