<?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.DmsWenjianChongdaMapper">
|
<resultMap id="Attempt" type="jnpf.dmsEntity.fenfa.DmsWenjianChongdaFasong" autoMapping="false">
|
<id column="f_id" property="id"/>
|
<result column="f_tenant_id" property="tenantId"/>
|
<result column="dayin_jilu_id" property="printRecordId"/>
|
<result column="dayin_renwu_id" property="taskId"/>
|
<result column="wenjian_banben_id" property="fileVersionId"/>
|
<result column="fasong_ren_id" property="userId"/>
|
<result column="dayin_fenshu" property="copies"/>
|
<result column="fasong_zhuangtai" property="state"/>
|
<result column="pici_neirong" property="batchesJson"/>
|
<result column="haoma_neirong" property="numbersJson"/>
|
<result column="yuanyin" property="reason"/>
|
<result column="biz_sign" property="bizSign"/>
|
<result column="chuangjian_shijian" property="createdAt"/>
|
<result column="fasong_chenggong_shijian" property="submittedAt"/>
|
<result column="dengji_id" property="documentId"/>
|
<result column="zong_yeshu" property="pageCount"/>
|
<result column="quxiao_shijian" property="cancelledAt"/>
|
</resultMap>
|
<sql id="Columns">f_id,f_tenant_id,dayin_jilu_id,dayin_renwu_id,wenjian_banben_id,fasong_ren_id,
|
dayin_fenshu,fasong_zhuangtai,pici_neirong,haoma_neirong,yuanyin,biz_sign,
|
chuangjian_shijian,fasong_chenggong_shijian,dengji_id,zong_yeshu,quxiao_shijian</sql>
|
<select id="selectAttempt" resultMap="Attempt">
|
SELECT <include refid="Columns"/> FROM dms_wenjian_chongda_fasong
|
WHERE f_tenant_id=#{tenantId} AND f_id=#{id} FOR UPDATE
|
</select>
|
<select id="selectActive" resultMap="Attempt">
|
SELECT <include refid="Columns"/> FROM dms_wenjian_chongda_fasong
|
WHERE f_tenant_id=#{tenantId} AND dayin_jilu_id=#{recordId} AND fasong_zhuangtai IN ('OPEN','CONFIRMED')
|
FOR UPDATE
|
</select>
|
<select id="validSignature" resultMap="Attempt">
|
SELECT f_id AS biz_sign FROM lims_sign
|
WHERE f_tenant_id=#{tenantId} AND f_id=#{signId} AND f_creator_user_id=#{userId}
|
AND f_delete_mark IS NULL
|
AND meta_data::jsonb->>'biz_form_id'='37a318b30d7c4daf9670d141b33ed1b7'
|
AND meta_data::jsonb#>>'{biz_data,0,chongda_fasong_id}'=#{requestId}
|
AND jsonb_array_length(meta_data::jsonb#>'{biz_data,0,bupingheng_mingxi}')=1
|
AND meta_data::jsonb#>>'{biz_data,0,bupingheng_mingxi,0,dayin_jilu_id}'=#{recordId}
|
AND meta_data::jsonb#>>'{biz_data,0,bupingheng_mingxi,0,cuoshi}'='cuoshi3'
|
AND btrim(meta_data::jsonb#>>'{biz_data,0,bupingheng_mingxi,0,yuanyin}')=#{reason}
|
</select>
|
<resultMap id="Actor" type="jnpf.dmsEntity.fenfa.vo.DmsWenjianChongdaLockVO" autoMapping="false">
|
<result column="f_real_name" property="userName"/>
|
</resultMap>
|
<select id="selectActor" resultMap="Actor">
|
SELECT f_real_name FROM base_user WHERE f_tenant_id=#{tenantId} AND f_id=#{userId} AND f_delete_mark IS NULL
|
</select>
|
<insert id="insertAttempt">
|
INSERT INTO dms_wenjian_chongda_fasong
|
(<include refid="Columns"/>) VALUES
|
(#{id},#{tenantId},#{printRecordId},#{taskId},#{fileVersionId},#{userId},1,#{state},
|
#{batchesJson},#{numbersJson},#{reason},#{bizSign},#{createdAt},NULL,NULL,NULL,NULL)
|
</insert>
|
<update id="updateAttempt">
|
UPDATE dms_wenjian_chongda_fasong SET fasong_zhuangtai=#{state},pici_neirong=#{batchesJson},
|
fasong_chenggong_shijian=#{submittedAt},dengji_id=#{documentId},zong_yeshu=#{pageCount},quxiao_shijian=#{cancelledAt}
|
WHERE f_tenant_id=#{tenantId} AND f_id=#{id}
|
</update>
|
<select id="findDocument" resultMap="Attempt">
|
SELECT f_id AS dengji_id FROM dms_wenjian_bupingheng_dengji
|
WHERE f_tenant_id=#{tenantId} AND chongda_fasong_id=#{id} AND f_delete_mark IS NULL
|
</select>
|
<!-- 只写执行副作用;主子表的创建、编辑仍由平台原生完成。 -->
|
<update id="completeDocument">
|
UPDATE dms_wenjian_bupingheng_dengji SET zhixing_shijian=#{submittedAt},zhixing_ren_id=#{userId},
|
f_version=COALESCE(f_version,0)+1
|
WHERE f_tenant_id=#{tenantId} AND f_id=#{documentId} AND chongda_fasong_id=#{id}
|
AND f_delete_mark IS NULL AND zhixing_shijian IS NULL
|
</update>
|
</mapper>
|