<?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.ruoyi.inspect.mapper.SealUsageLedgerMapper">
|
|
<sql id="LedgerColumns">
|
ledger.id, ledger.report_id, ledger.report_code, ledger.ins_order_id,
|
ledger.use_time, ledger.seal_ids, ledger.seal_names,
|
COALESCE(io.sample_view, '') AS project_name, io.sample_date,
|
ledger.use_user_id, ledger.use_user_name, ledger.copies, ledger.version,
|
ledger.create_user, ledger.create_time, ledger.update_user, ledger.update_time
|
</sql>
|
|
<sql id="LedgerFilters">
|
<if test="query != null">
|
<if test="query.reportCode != null and query.reportCode != ''">
|
AND ledger.report_code LIKE CONCAT('%', #{query.reportCode}, '%')
|
</if>
|
<if test="query.sealName != null and query.sealName != ''">
|
AND ledger.seal_names LIKE CONCAT('%', #{query.sealName}, '%')
|
</if>
|
<if test="query.projectName != null and query.projectName != ''">
|
AND io.sample_view LIKE CONCAT('%', #{query.projectName}, '%')
|
</if>
|
<if test="query.useUserName != null and query.useUserName != ''">
|
AND ledger.use_user_name LIKE CONCAT('%', #{query.useUserName}, '%')
|
</if>
|
<if test="query.startDate != null">
|
AND ledger.use_time <![CDATA[ >= ]]> #{query.startDate}
|
</if>
|
<if test="query.endDate != null">
|
AND ledger.use_time <![CDATA[ < ]]> DATE_ADD(#{query.endDate}, INTERVAL 1 DAY)
|
</if>
|
</if>
|
</sql>
|
|
<select id="selectLedgerPage" resultType="com.ruoyi.inspect.pojo.SealUsageLedger">
|
SELECT <include refid="LedgerColumns"/>
|
FROM seal_usage_ledger ledger
|
LEFT JOIN ins_order io ON io.id = ledger.ins_order_id
|
WHERE 1 = 1
|
<include refid="LedgerFilters"/>
|
ORDER BY (io.sample_date IS NULL) ASC, io.sample_date DESC, io.id DESC, ledger.id DESC
|
</select>
|
|
<select id="selectForExport" resultType="com.ruoyi.inspect.pojo.SealUsageLedger">
|
SELECT <include refid="LedgerColumns"/>
|
FROM seal_usage_ledger ledger
|
LEFT JOIN ins_order io ON io.id = ledger.ins_order_id
|
WHERE 1 = 1
|
<if test="ids != null and ids.size() > 0">
|
AND ledger.id IN
|
<foreach collection="ids" item="id" open="(" separator="," close=")">
|
#{id}
|
</foreach>
|
</if>
|
<include refid="LedgerFilters"/>
|
ORDER BY ledger.use_time DESC, ledger.id DESC
|
</select>
|
|
<select id="selectProjectName" resultType="java.lang.String">
|
SELECT io.sample_view
|
FROM ins_order io
|
WHERE io.id = #{insOrderId}
|
</select>
|
|
<update id="updateCopies">
|
UPDATE seal_usage_ledger
|
SET copies = #{copies},
|
version = version + 1,
|
update_user = #{updateUser},
|
update_time = NOW()
|
WHERE id = #{id}
|
AND version = #{version}
|
</update>
|
</mapper>
|