Files
smart_management_dev/src/main/resources/mybatis/wisdom/AuditSignatureMapper.xml

258 lines
10 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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="com.zg.project.wisdom.mapper.AuditSignatureMapper">
<!-- 主记录映射 -->
<resultMap type="com.zg.project.wisdom.domain.AuditSignature" id="AuditSignatureResult">
<result property="id" column="id" />
<result property="billNo" column="bill_no" />
<result property="rkId" column="rk_id" />
<result property="billType" column="bill_type" />
<result property="signerId" column="signer_id" />
<result property="signerRole" column="signer_role" />
<result property="signUrl" column="sign_url" />
<result property="signTime" column="sign_time" />
<result property="pcode" column="pcode" />
<result property="trayCode" column="tray_code" />
<result property="approverId" column="approver_id" />
<result property="approverSignUrl" column="approver_sign_url" />
<result property="auditResult" column="audit_result" />
<result property="imageType" column="image_type" />
<result property="isCurrent" column="is_current" />
<result property="remark" column="remark" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="isDelete" column="is_delete" />
</resultMap>
<!-- VO对象映射带扩展字段 -->
<resultMap id="AuditSignatureVoResult"
type="com.zg.project.wisdom.domain.vo.AuditSignatureVo"
extends="AuditSignatureResult">
<result column="xmNo" property="xmNo"/>
<result column="xmMs" property="xmMs"/>
<result column="wlMs" property="wlMs"/>
<result column="gysMc" property="gysMc"/>
<result column="wlNo" property="wlNo"/>
<result column="realQty" property="realQty"/>
<result column="dw" property="dw"/>
<result column="pcode" property="pcode"/>
<result column="rkRemark" property="rkRemark"/>
</resultMap>
<sql id="selectAuditSignatureVo">
select id, bill_no,rk_id, bill_type, signer_id, signer_role, sign_url, sign_time, pcode, tray_code, approver_id, approver_sign_url, audit_result, image_type, is_current, remark, create_by, create_time, update_by, update_time, is_delete from audit_signature
</sql>
<select id="selectAuditSignatureList" parameterType="AuditSignature" resultMap="AuditSignatureResult">
<include refid="selectAuditSignatureVo"/>
<where>
<if test="billNo != null and billNo != ''"> and bill_no = #{billNo}</if>
<if test="billType != null and billType != ''"> and bill_type = #{billType}</if>
<if test="signerId != null and signerId != ''"> and signer_id = #{signerId}</if>
<if test="signerRole != null and signerRole != ''"> and signer_role = #{signerRole}</if>
<if test="signUrl != null and signUrl != ''"> and sign_url = #{signUrl}</if>
<if test="signTime != null "> and sign_time = #{signTime}</if>
<if test="pcode != null and pcode != ''"> and pcode = #{pcode}</if>
<if test="trayCode != null and trayCode != ''"> and tray_code = #{trayCode}</if>
<if test="approverId != null and approverId != ''"> and approver_id = #{approverId}</if>
<if test="approverSignUrl != null and approverSignUrl != ''"> and approver_sign_url = #{approverSignUrl}</if>
<if test="auditResult != null and auditResult != ''"> and audit_result = #{auditResult}</if>
<if test="imageType != null and imageType != ''"> and image_type = #{imageType}</if>
<if test="isCurrent != null and isCurrent != ''"> and is_current = #{isCurrent}</if>
<if test="isDelete != null and isDelete != ''"> and is_delete = #{isDelete}</if>
</where>
</select>
<select id="selectAuditSignatureById" parameterType="Long" resultMap="AuditSignatureResult">
<include refid="selectAuditSignatureVo"/>
where id = #{id}
</select>
<select id="countPendingByUser" resultType="int">
SELECT COUNT(1)
FROM audit_signature
WHERE is_delete = '0'
AND approver_id = #{approverId}
AND audit_result = '2'
AND signer_role = '0'
</select>
<select id="existsCurrentSigner" resultType="boolean">
SELECT COUNT(1)
FROM audit_signature
WHERE bill_no = #{billNo}
AND signer_role = #{signerRole}
AND is_current = '1'
AND is_delete = '0'
</select>
<select id="selectPhotoUrlByRkId" resultMap="AuditSignatureResult" parameterType="java.lang.Long">
SELECT sign_url, audit_result
FROM audit_signature
WHERE is_delete = '0'
AND rk_id = #{rkId}
AND image_type = '1'
AND audit_result = '1'
AND is_current = '1'
ORDER BY create_time DESC
LIMIT 1
</select>
<!-- 查询主记录列表(审批记录) signer_role=1 image_type=0 -->
<select id="selectAuditMainList" parameterType="com.zg.project.wisdom.domain.AuditSignature" resultMap="AuditSignatureResult">
SELECT * FROM audit_signature
<where>
AND signer_role = '0'
AND image_type = '0'
<if test="billNo != null and billNo != ''">AND bill_no = #{billNo}</if>
<if test="billType != null and billType != ''">AND bill_type = #{billType}</if>
<if test="auditResult != null and auditResult != ''">AND audit_result = #{auditResult}</if>
<if test="approverId != null and approverId != ''">AND approver_id = #{approverId}</if>
<if test="isDelete != null and isDelete != ''">AND is_delete = #{isDelete}</if>
</where>
</select>
<!-- 查询关联入库信息的现场照片 -->
<select id="selectScenePhotosWithGoodsByBillNo"
parameterType="String"
resultMap="AuditSignatureVoResult">
SELECT
a.id,
a.rk_id,
a.bill_no,
a.sign_url,
a.sign_time,
a.signer_role,
a.image_type,
a.tray_code,
a.is_delete,
a.remark AS remark,
r.xm_no AS xmNo,
r.xm_ms AS xmMs,
r.wl_ms AS wlMs,
r.gys_mc AS gysMc,
r.wl_no AS wlNo,
r.real_qty AS realQty,
r.dw AS dw,
r.pcode AS pcode,
r.remark AS rkRemark
FROM audit_signature a
LEFT JOIN rk_info r ON a.rk_id = r.id
WHERE a.bill_no = #{billNo}
AND a.signer_role = '2'
AND a.image_type = '1'
AND a.is_delete = '0'
</select>
<select id="selectAuditMainListBySubmitter" parameterType="AuditSignature" resultMap="AuditSignatureResult">
<include refid="selectAuditSignatureVo"/>
<where>
and signer_id = #{signerId}
and signer_role in ('0', '2')
and image_type = '0'
and is_delete = '0'
<if test="billNo != null and billNo != ''"> and bill_no = #{billNo}</if>
<if test="billType != null and billType != ''"> and bill_type = #{billType}</if>
</where>
</select>
<insert id="batchInsert" parameterType="java.util.List">
INSERT INTO audit_signature (
bill_no,
bill_type,
signer_id,
signer_role,
sign_url,
sign_time,
image_type,
approver_id,
audit_result,
is_current,
is_delete,
create_by,
create_time,
rk_id,
pcode,
tray_code
)
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.billNo},
#{item.billType},
#{item.signerId},
#{item.signerRole},
#{item.signUrl},
#{item.signTime},
#{item.imageType},
#{item.approverId},
#{item.auditResult},
#{item.isCurrent},
#{item.isDelete},
#{item.createBy},
#{item.createTime},
#{item.rkId},
#{item.pcode},
#{item.trayCode}
)
</foreach>
</insert>
<update id="updateAuditSignature" parameterType="AuditSignature">
UPDATE audit_signature
<set>
<if test="auditResult != null">audit_result = #{auditResult},</if>
<if test="approverSignUrl != null">approver_sign_url = #{approverSignUrl},</if>
<if test="approverId != null">approver_id = #{approverId},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="isCurrent != null">is_current = #{isCurrent},</if>
</set>
WHERE bill_no = #{billNo}
AND is_current = '1'
AND is_delete = '0'
</update>
<update id="updateIsCurrentToZero">
UPDATE audit_signature
SET is_current = '0',
update_time = NOW()
WHERE bill_no = #{billNo}
AND signer_role = #{signerRole}
AND is_current = '1'
AND is_delete = '0'
</update>
<update id="approveAuditByBillNo" parameterType="AuditSignature">
UPDATE audit_signature
<set>
<if test="auditResult != null"> audit_result = #{auditResult},</if>
<if test="approverSignUrl != null"> approver_sign_url = #{approverSignUrl},</if>
<if test="remark != null"> remark = #{remark},</if>
<if test="updateBy != null"> update_by = #{updateBy},</if>
<if test="updateTime != null"> update_time = #{updateTime},</if>
</set>
WHERE bill_no = #{billNo}
AND signer_role = '1'
AND is_delete = '0'
AND is_current = '1'
</update>
<delete id="deleteAuditSignatureById" parameterType="Long">
delete from audit_signature where id = #{id}
</delete>
<delete id="deleteAuditSignatureByIds" parameterType="String">
delete from audit_signature where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>