刘光辉
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
<?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.DmsWenjianBufaPrintMapper">
    <resultMap id="Request" type="jnpf.dmsEntity.print.DmsWenjianBufaPrintSource" autoMapping="false">
        <id column="f_id" property="id"/>
        <result column="f_flow_id" property="flowId"/>
        <result column="f_flow_state" property="flowState"/>
        <result column="shenqing_ren" property="applicantId"/>
        <result column="bumen" property="departmentId"/>
        <result column="beizhu" property="remark"/>
    </resultMap>
    <resultMap id="Detail" type="jnpf.dmsEntity.print.DmsWenjianBufaPrintSource$Detail" autoMapping="false">
        <id column="f_id" property="id"/>
        <result column="wenjian_id" property="fileId"/>
        <result column="banben_id" property="versionId"/>
        <result column="resolved_version_id" property="resolvedVersionId"/>
        <result column="wenjian_bianhao" property="fileNumber"/>
        <result column="wenjian_mingcheng" property="fileName"/>
        <result column="banben_hao" property="versionLabel"/>
        <result column="bufa_fenshu" property="copies"/>
        <result column="yongtu" property="purpose"/>
        <result column="shengxiao_shijian" property="effectiveDate"/>
        <result column="shifou_shoukong" property="controlled"/>
    </resultMap>
    <select id="lockRequests" resultMap="Request">
        SELECT f_id, f_flow_id, f_flow_state, shenqing_ren, bumen, beizhu
        FROM public.dms_wenjian_bufa_shenqing
        WHERE f_tenant_id = #{tenantId} AND f_flow_task_id = #{taskId}
          AND f_delete_mark IS NULL
        ORDER BY f_id FOR UPDATE
    </select>
    <!-- LEFT JOIN retains invalid detail rows so the service rejects the entire batch. -->
    <select id="selectDetails" resultMap="Detail">
        SELECT d.f_id, d.wenjian_id, d.banben_id, d.banben_hao, d.bufa_fenshu, d.yongtu,
               v.f_id AS resolved_version_id,
               COALESCE(NULLIF(d.wenjian_bianhao, ''), v.wenjian_bianhao) AS wenjian_bianhao,
               COALESCE(NULLIF(d.wenjian_mingcheng, ''), v.wenjian_mingcheng) AS wenjian_mingcheng,
               v.shengxiao_shijian, COALESCE(NULLIF(v.shifou_shoukong, ''), r.shifou_shoukong) AS shifou_shoukong
        FROM public.dms_wenjian_bufa_shenqing_zixiang d
        LEFT JOIN public.dms_wenjian_ziyuan r
          ON r.f_tenant_id = d.f_tenant_id AND r.f_id = d.wenjian_id AND r.f_delete_mark IS NULL
        LEFT JOIN public.dms_wenjian_banben v
          ON v.f_tenant_id = d.f_tenant_id AND v.f_id = d.banben_id
         AND v.wenjian_id = r.f_id AND v.banbenhao = d.banben_hao AND v.f_delete_mark IS NULL
        WHERE d.f_tenant_id = #{tenantId} AND d.f_foreign_id = #{requestId}
          AND d.f_delete_mark IS NULL
        ORDER BY d.f_id
    </select>
</mapper>