刘光辉
4 小时以前 06f314545ac3514d7ce28939920866ae8188d31c
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
<?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.DmsXiudingKanwuMapper">
    <resultMap id="ErrataRow" type="jnpf.dmsEntity.kanwu.DmsXiudingKanwuRow" autoMapping="false">
        <id column="f_id" property="id"/>
        <result column="kanwu_zixiang_id" property="kanwuZixiangId"/>
        <result column="kanwu_shenqing_id" property="kanwuShenqingId"/>
        <result column="wenjian_id" property="wenjianId"/>
        <result column="banben_id" property="banbenId"/>
        <result column="wenjian_bianhao" property="wenjianBianhao"/>
        <result column="wenjian_mingcheng" property="wenjianMingcheng"/>
        <result column="banbenhao" property="banbenhao"/>
        <result column="kanwu_weizhi" property="kanwuWeizhi"/>
        <result column="kanwu_neirong" property="kanwuNeirong"/>
        <result column="xiugai_jianyi" property="xiugaiJianyi"/>
        <result column="kanwu_yuanyin" property="kanwuYuanyin"/>
        <result column="fujian" property="fujian"/>
        <result column="shifou_yichuli" property="shifouYichuli"/>
        <result column="chuli_jielun" property="chuliJielun"/>
        <result column="chuli_yuanyin" property="chuliYuanyin"/>
        <result column="chuli_ren_id" property="chuliRenId"/>
        <result column="chuli_shijian" property="chuliShijian"/>
    </resultMap>
    <select id="selectHandlingForUpdate" resultMap="ErrataRow">
        SELECT f_id, kanwu_zixiang_id, kanwu_shenqing_id, wenjian_id, banben_id, wenjian_bianhao, wenjian_mingcheng, banbenhao, kanwu_weizhi, kanwu_neirong, xiugai_jianyi, kanwu_yuanyin, fujian, shifou_yichuli, chuli_jielun, chuli_yuanyin, chuli_ren_id, chuli_shijian
        FROM dms_wenjian_xiuding_shenhe_kanwu
        WHERE f_tenant_id = #{tenantId} AND f_foreign_id = #{auditId} AND f_delete_mark IS NULL
        ORDER BY kanwu_zixiang_id, f_id
        FOR UPDATE
    </select>
    <select id="selectApprovedForUpdate" resultMap="ErrataRow">
        SELECT kd.f_id AS kanwu_zixiang_id, ka.f_id AS kanwu_shenqing_id,
               ka.wenjian_id, ka.banben_id, ka.wenjian_bianhao, ka.wenjian_mingcheng, ka.banbenhao,
               kd.kanwu_weizhi, kd.kanwu_neirong, kd.xiugai_jianyi, kd.kanwu_yuanyin,
               COALESCE(NULLIF(kd.fujian, ''), '[]') AS fujian,
               COALESCE(NULLIF(kd.shifou_yichuli, ''), 'no') AS shifou_yichuli
        FROM dms_wenjian_kanwu_shenqing ka
        JOIN dms_wenjian_kanwu_shenqing_zixiang kd
          ON kd.f_foreign_id = ka.f_id AND kd.f_tenant_id = ka.f_tenant_id
        JOIN dms_wenjian_ziyuan z ON z.f_tenant_id = ka.f_tenant_id AND z.f_id = #{fileId}
        WHERE ka.f_tenant_id = #{tenantId} AND ka.f_flow_state = 2
          AND ka.f_delete_mark IS NULL AND kd.f_delete_mark IS NULL
          AND ka.wenjian_id = z.f_id
        ORDER BY kd.f_id
        FOR UPDATE OF ka, kd
    </select>
    <resultMap id="ProcessingState" type="java.util.LinkedHashMap" autoMapping="false">
        <id column="f_id" property="id" javaType="java.lang.String"/>
        <result column="shifou_yichuli" property="shifou_yichuli" javaType="java.lang.String"/>
        <result column="chuliren" property="chuliren" javaType="java.lang.String"/>
        <result column="chuli_shijian" property="chuli_shijian" javaType="java.sql.Timestamp"/>
    </resultMap>
    <select id="selectProcessingState" resultMap="ProcessingState">
        SELECT f_id, shifou_yichuli, chuliren, chuli_shijian
        FROM dms_wenjian_kanwu_shenqing_zixiang
        WHERE f_tenant_id = #{tenantId} AND f_id = #{id} AND f_delete_mark IS NULL
        FOR UPDATE
    </select>
    <update id="markProcessed">
        UPDATE dms_wenjian_kanwu_shenqing_zixiang kd
        SET shifou_yichuli = 'yes', chuliren = #{row.chuliRenId}, chuli_shijian = CURRENT_TIMESTAMP
        FROM dms_wenjian_kanwu_shenqing ka
        WHERE kd.f_id = #{row.kanwuZixiangId} AND kd.f_tenant_id = #{tenantId}
          AND kd.f_foreign_id = #{row.kanwuShenqingId}
          AND ka.f_id = kd.f_foreign_id AND ka.f_tenant_id = kd.f_tenant_id
          AND ka.wenjian_id = #{row.wenjianId} AND COALESCE(ka.banben_id, '') = COALESCE(#{row.banbenId}, '')
          AND ka.f_flow_state = 2 AND ka.f_delete_mark IS NULL AND kd.f_delete_mark IS NULL
          AND COALESCE(kd.shifou_yichuli, 'no') != 'yes'
    </update>
</mapper>