<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="jnpf.flowable.mapper.DmsLifecycleNativeFormMapper">
|
<resultMap id="EligibilityMessage" type="java.lang.String"><result column="message"/></resultMap>
|
<!-- 每次拒绝时读取当前租户在线配置;不用全局字典缓存,也不回退到其他租户。 -->
|
<select id="eligibilityMessages" resultMap="EligibilityMessage" useCache="false" flushCache="true">
|
SELECT d.f_full_name AS message FROM base_dictionary_data d
|
JOIN base_dictionary_type t ON t.f_id=d.f_dictionary_type_id AND t.f_tenant_id=d.f_tenant_id
|
WHERE t.f_tenant_id=#{tenantId} AND t.f_en_code='wenjianShengmingZhouqiTishi'
|
AND t.f_delete_mark IS NULL AND t.f_enabled_mark=1
|
AND d.f_delete_mark IS NULL AND d.f_enabled_mark=1 AND d.f_en_code=#{reason}
|
</select>
|
<resultMap id="NativeForm" type="jnpf.flowable.service.DmsLifecycleNativeFormAdapter$NativeForm">
|
<result column="main_table" property="mainTable"/>
|
<result column="f_form_data" property="formData"/>
|
<result column="f_type" property="type"/>
|
<result column="f_db_link_id" property="dbLinkId"/>
|
</resultMap>
|
<!-- Main-table identity in the published configuration; never a client-selected operation. -->
|
<select id="publishedLifecycleForm" resultMap="NativeForm" useCache="false" flushCache="true">
|
SELECT r.f_type,r.f_db_link_id,r.f_form_data,t->>'table' AS main_table FROM base_visual_release r
|
CROSS JOIN LATERAL jsonb_array_elements(NULLIF(r.f_tables_data,'')::jsonb) t
|
WHERE r.f_id=#{formId} AND r.f_delete_mark IS NULL
|
AND t->>'typeId'='1' AND t->>'table' IN (
|
'dms_wenjian_xinzeng_shenhe','dms_wenjian_xiuding_shenqing',
|
'dms_wenjian_xiuding_shenhe','dms_wenjian_chexiao_tiyi',
|
'dms_wenjian_shixiao_shenqing','wenjian_fushen_yanqi_shenqing')
|
</select>
|
<resultMap id="Id" type="java.lang.String"><result column="application_id"/></resultMap>
|
<select id="applicationIds" resultMap="Id" flushCache="true" useCache="false">
|
SELECT f_id AS application_id FROM
|
<choose>
|
<when test="mainTable == 'dms_wenjian_xinzeng_shenhe'">dms_wenjian_xinzeng_shenhe</when>
|
<when test="mainTable == 'dms_wenjian_xiuding_shenhe'">dms_wenjian_xiuding_shenhe</when>
|
<when test="mainTable == 'dms_wenjian_xiuding_shenqing'">dms_wenjian_xiuding_shenqing</when>
|
<when test="mainTable == 'dms_wenjian_chexiao_tiyi'">dms_wenjian_chexiao_tiyi</when>
|
<when test="mainTable == 'dms_wenjian_shixiao_shenqing'">dms_wenjian_shixiao_shenqing</when>
|
<when test="mainTable == 'wenjian_fushen_yanqi_shenqing'">wenjian_fushen_yanqi_shenqing</when>
|
<otherwise>(SELECT NULL::text f_id,NULL::text f_tenant_id,NULL::text f_flow_task_id,NULL::int f_delete_mark WHERE FALSE) unsupported</otherwise>
|
</choose>
|
WHERE f_tenant_id=#{tenantId} AND f_delete_mark IS NULL
|
AND (f_flow_task_id=#{taskId} OR (f_id=#{taskId} AND NULLIF(f_flow_task_id,'') IS NULL))
|
</select>
|
<resultMap id="Number" type="java.lang.String"><result column="file_number"/></resultMap>
|
<select id="issuedNumber" resultMap="Number" useCache="false" flushCache="true">
|
SELECT wenjian_bianhao AS file_number FROM dms_wenjian_bianhao
|
WHERE f_tenant_id=#{tenantId} AND f_id=#{numberId} AND f_delete_mark IS NULL AND biz_status='using'
|
</select>
|
<resultMap id="Attachment" type="java.lang.String"><result column="attachment"/></resultMap>
|
<select id="revisionMainAttachment" resultMap="Attachment" useCache="false" flushCache="true">
|
SELECT b.wenjian_neirong AS attachment FROM dms_wenjian_xiuding_shenqing_zixiang d
|
JOIN dms_wenjian_banben b ON b.f_tenant_id=d.f_tenant_id AND b.f_id=d.yuan_wenjian_banben_id
|
AND b.wenjian_id=d.wenjian_id AND b.f_delete_mark IS NULL
|
WHERE d.f_tenant_id=#{tenantId} AND d.f_id=#{detailId} AND d.f_delete_mark IS NULL
|
</select>
|
<select id="revisionAttachment" resultMap="Attachment" useCache="false" flushCache="true">
|
SELECT b.wenjian_neirong AS attachment FROM public.dms_wenjian_banben b
|
JOIN public.dms_wenjian_ziyuan r ON r.f_tenant_id=b.f_tenant_id AND r.f_id=b.wenjian_id
|
AND r.dangqian_banben_id=b.f_id AND r.f_delete_mark IS NULL AND r.biz_status='effective'
|
WHERE b.f_tenant_id=#{tenantId} AND b.wenjian_id=#{fileId} AND b.f_id=#{versionId}
|
AND b.f_delete_mark IS NULL AND b.biz_status='effective'
|
</select>
|
</mapper>
|