2026-03-10 14:30:24 +08:00

240 lines
11 KiB
XML

<?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="RefundLog">
<insert id="insertRefundLog" parameterType="RefundLog">
INSERT INTO RefundLog (
RefundLogId,truename,payType,amount,endTime,recognizeCode,orderNo,years,payWayDesc,
description,importer,importerId,created,finance,finanDesc,finanDate,checker,checkDesc,
checkDate,status,finisher,finishDate,memo,finanPic,finishPic
)
Values (
#{RefundLogId},#{truename},#{payType},#{amount},#{endTime},#{recognizeCode},#{orderNo},#{years},
#{payWayDesc},#{description},#{importer},#{importerId},current_timestamp,#{finance},#{finanDesc},
#{finanDate},#{checker},#{checkDesc},#{checkDate},#{status},#{finisher},#{finishDate},#{memo},#{finanPic},#{finishPic})
</insert>
<update id="editRefundLog" parameterType="RefundLog">
UPDATE RefundLog
SET
truename=#{truename},payType=#{payType},
amount=#{amount},endTime=#{endTime},recognizeCode=#{recognizeCode},
orderNo=#{orderNo},years=#{years},payWayDesc=#{payWayDesc},description=#{description},
importer=#{importer},importerId=#{importerId},created=#{created},finance=#{finance},
finanDesc=#{finanDesc},finanDate=#{finanDate},checker=#{checker},checkDesc=#{checkDesc},
checkDate=#{checkDate},status=#{status},finisher=#{finisher},finishDate=#{finishDate},memo=#{memo},
finanPic=#{finanPic},finishPic=#{finishPic}
WHERE RefundLogId=#{RefundLogId}
</update>
<!-- <update id="editRefundLogFinance" parameterClass="java.util.Map">
UPDATE RefundLog
SET
finance=#{finance},finanDesc=#{finanDesc},finanDate=current_timestamp,status=#{status}
WHERE RefundLogId in
<iterate open="(" close=")" property="refundLogIds" conjunction=",">
<![CDATA[
#{item}
]]>
</iterate>
</update> -->
<!-- <update id="editRefundLogChecker" parameterClass="java.util.Map">
UPDATE RefundLog
SET
checker=#{checker},checkDesc=#{checkDesc},checkDate=current_timestamp,status=#{status}
WHERE RefundLogId in
<iterate open="(" close=")" property="refundLogIds" conjunction=",">
<![CDATA[
#{item}
]]>
</iterate>
</update> -->
<!-- <update id="editRefundLogFinisher" parameterClass="java.util.Map">
UPDATE RefundLog
SET
finisher=#{finisher}, finishDate=current_timestamp,status=#{status}
WHERE RefundLogId in
<iterate open="(" close=")" property="refundLogIds" conjunction=",">
<![CDATA[
#{item}
]]>
</iterate>
</update>
-->
<select id="getRefundLog" parameterType="java.lang.Integer" resultType="RefundLog">
select
RefundLogId,truename,payType,amount,endTime,recognizeCode,orderNo,years,payWayDesc,
description,importer,importerId,created,finance,finanDesc,finanDate,checker,checkDesc,
checkDate,status,finisher,finishDate,memo,finanPic,finishPic
from refundLog where
RefundLogId=#{refundLogId}
</select>
<select id="getRefundLogDto" parameterType="java.lang.Integer" resultType="java.util.HashMap">
select rl.refundlogId,paytype,rl.truename,case rl.paytype when 1 then '现金退款' when 2 then '平台退款' end as payway,
rl.amount refundamount,to_char(rl.created,'yyyy-MM-dd HH24:MI:SS') created,to_char(rl.endtime,'yyyy-MM-dd HH24:MI:SS') endtime,rl.recognizecode,
null as orderno,null as years,case when rl.years=0 then null else rl.years end months,rl.paywaydesc,rl.description,ci.remitter,
case when oi.amount&lt;rl.amount then oi.amount+rl.amount else oi.amount end as amount,
to_char(ci.checkdate,'yyyy-MM-dd HH24:MI:SS') paytime, a3.areaname||'/'||a2.areaname ||'/'||a1.areaname as areaname,
case rl.status when 1 then '财务审核' when 2 then '复核' when 3 then '财务处理' when 4 then '已完成' when -1 then '检查驳回' end as step,rl.status,rl.finance,rl.finandesc,
to_char(rl.finandate,'yyyy-MM-dd HH24:MI:SS') finandate,rl.checker,rl.checkdesc,to_char(rl.checkdate,'yyyy-MM-dd HH24:MI:SS') checkdate,rl.finisher,
to_char(rl.finishdate,'yyyy-MM-dd HH24:MI:SS') finishdate ,rl.memo,rl.importer,rl.finanPic,rl.finishPic
from refundlog rl
inner join comppayinfo ci on ci.comppayinfoid=to_number(rl.orderno,'999999999G999D9S')
inner join v_baseuser s on s.recognizecode=rl.recognizecode
inner join orderinfo oi on oi.uid=s.studentId and oi.orderno=rl.orderno
inner join area a1
on a1.areaid=s.areaid
inner join area a2
on a2.areaid = a1.parentid
inner join area a3
on a3.areaid = a2.parentid
where rl.paytype=1 and rl.refundLogId=#{refundLogId}
union
select rl.refundlogId,paytype,rl.truename,case rl.paytype when 1 then '现金退款' when 2 then '平台退款' end as payway,
rl.amount refundamount,to_char(rl.created,'yyyy-MM-dd HH24:MI:SS') created,to_char(rl.endtime,'yyyy-MM-dd HH24:MI:SS') endtime,
rl.recognizecode,rl.orderno,rl.years,null as month,rl.paywaydesc,rl.description,null as remitter,
case when oi.amount&lt;rl.amount then oi.amount+rl.amount else oi.amount end as amount,
to_char(oi.created,'yyyy-MM-dd HH24:MI:SS') paytime, a3.areaname||'/'||a2.areaname ||'/'||a1.areaname as areaname,
case rl.status when 1 then '财务审核' when 2 then '复核' when 3 then '财务处理' when 4 then '已完成' when -1 then '检查驳回' end as step,rl.status,rl.finance,rl.finandesc,
to_char(rl.finandate,'yyyy-MM-dd HH24:MI:SS') finandate,rl.checker,rl.checkdesc,to_char(rl.checkdate,'yyyy-MM-dd HH24:MI:SS') checkdate,
rl.finisher,to_char(rl.finishdate,'yyyy-MM-dd HH24:MI:SS') finishdate,rl.memo,rl.importer,rl.finanPic,rl.finishPic
from refundlog rl
inner join orderinfo oi on oi.orderno=rl.orderno
inner join area a1
on a1.areaid=oi.areaid
inner join area a2
on a2.areaid = a1.parentid
inner join area a3
on a3.areaid = a2.parentid
where rl.paytype=2 and rl.refundLogId=#{refundLogId}
</select>
<select id="getSeqRefundLog" resultType="Integer" useCache="false" flushCache="true">
SELECT
nextval('seq_refundlogId') ;
</select>
<select id="getRefundLogs" parameterType="java.util.Map" resultType="RefundLog">
SELECT
RefundLogId,truename,payType,amount,endTime,recognizeCode,orderNo,years,payWayDesc,description,importer,importerId,created,finance,finanDesc,finanDate,checker,checkDesc,checkDate,status,finisher,finishDate,memo,finanPic,finishPic
FROM RefundLog WHERE WHERE status=#{status}
<if test="importerId != null"> AND
importerId = #{importerId}
</if>
</select>
<select id="getRefundLogList" parameterType="java.util.Map" resultType="java.util.HashMap">
with temp as
(select refundlogId from refundlog where status in
<foreach collection="statuses" item="item" separator="," close=")" open="(">
#{item}
</foreach>
<if test="importerId != null"> AND
importerId = #{importerId}
</if>
<if test="startTime != null"> AND
created&gt; #{startTime}
</if>
<if test="endTime != null"> AND
created&lt; #{endTime}
</if>
order by refundlogId desc
<if test="pageSize!=null">
LIMIT #{pageSize}
</if>
<if test="offset!=null">
OFFSET #{offset}
</if>)
select refundlogId,paytype,truename,payway,amount,endTime,paytime,recognizeCode,orderNo,years,months,paywaydesc,description,remitter,
refundAmount,areaname,step,status,finance,finandesc,finandate,checker,checkdesc,checkdate,finisher,finishdate,finanPic,finishPic,created from(
select rl.refundlogId,paytype,rl.truename,case rl.paytype when 1 then '现金退款' when 2 then '平台退款' end as payway,
rl.amount refundamount,to_char(rl.created,'yyyy-MM-dd HH24:MI:SS') created,to_char(rl.endtime,'yyyy-MM-dd HH24:MI:SS') endtime,
rl.recognizecode,null as orderno,null as years,case when rl.years=0 then null else rl.years end as months,rl.paywaydesc,rl.description,ci.remitter,
case when oi.amount&lt;rl.amount then oi.amount+rl.amount else oi.amount end as amount,
to_char(ci.checkdate,'yyyy-MM-dd HH24:MI:SS') paytime, a1.areaname as areaname,
case rl.status when 1 then '财务审核' when 2 then '复核' when 3 then '财务处理' when 4 then '已完成' when -1 then '检查驳回' end as step,rl.status,rl.finance,rl.finandesc,
to_char(rl.finandate,'yyyy-MM-dd HH24:MI:SS') finandate,rl.checker,rl.checkdesc,to_char(rl.checkdate,'yyyy-MM-dd HH24:MI:SS') checkdate,rl.finisher,
to_char(rl.finishdate,'yyyy-MM-dd HH24:MI:SS') finishdate,rl.finanPic,rl.finishPic
from refundlog rl
inner join temp t on t.refundlogId =rl.refundlogId
inner join comppayinfo ci on ci.comppayinfoid=to_number(rl.orderno,'999999999G999D9S')
inner join v_baseuser s on s.recognizecode=rl.recognizecode
inner join orderinfo oi on oi.uid=s.studentId and oi.orderno=rl.orderno
inner join area a1
on a1.areaid=s.areaid
where rl.paytype=1
union
select rl.refundlogId,paytype,rl.truename,case rl.paytype when 1 then '现金退款' when 2 then '平台退款' end as payway,
rl.amount refundamount,to_char(rl.created,'yyyy-MM-dd HH24:MI:SS') created,to_char(rl.endtime,'yyyy-MM-dd HH24:MI:SS') endtime,rl.recognizecode,rl.orderno,rl.years,null as months,rl.paywaydesc,rl.description,null as remitter,
case when oi.amount&lt;rl.amount then oi.amount+rl.amount else oi.amount end as amount,
to_char(oi.created,'yyyy-MM-dd HH24:MI:SS') paytime, a1.areaname as areaname,
case rl.status when 1 then '财务审核' when 2 then '复核' when 3 then '财务处理' when 4 then '已完成' when -1 then '检查驳回' end as step,rl.status,rl.finance,rl.finandesc,
to_char(rl.finandate,'yyyy-MM-dd HH24:MI:SS') finandate,rl.checker,rl.checkdesc,to_char(rl.checkdate,'yyyy-MM-dd HH24:MI:SS') checkdate,rl.finisher,to_char(rl.finishdate,'yyyy-MM-dd HH24:MI:SS') finishdate,
rl.finanPic,rl.finishPic
from refundlog rl
inner join temp t on t.refundlogId =rl.refundlogId
inner join orderinfo oi on oi.orderno=rl.orderno
inner join area a1
on a1.areaid=oi.areaid
where rl.paytype=2
) as a order by created desc,status,payway
</select>
<select id="getRefundLogListCount" parameterType="java.util.Map" resultType="Integer">
select count(refundlogId) from refundlog where status in
<foreach collection="statuses" item="item" separator="," close=")" open="(">
#{item}
</foreach>
<if test="importerId != null and importerId != ''"> AND
importerId = #{importerId}
</if>
<if test="startTime != null"> AND
created&gt; #{startTime}
</if>
<if test="endTime != null"> AND
created&lt; #{endTime}
</if>
</select>
<select id="getRefundLogByRecognizeCodeCount" parameterType="java.lang.String" resultType="Integer">
select count(refundlogId) from refundlog where status in (1,2,3,-1) and recognizeCode=#{_parameter}
</select>
<select id="getRefundLogByOrderNoCount" parameterType="java.lang.String" resultType="Integer">
select count(refundlogId) from refundlog where status in (1,2,3,-1) and orderNo=#{_parameter}
</select>
</mapper>