@ -302,13 +302,47 @@
AND version = #{version}
</update>
<select id= "performanceSelect" resultType= "com.example.demo.domain.vo.cash.PerformanceVO" >
select cr.jwcode,cr.name,m.name as market,cr.order_code,r1.rate_name as paymentCurrency,cr.payment_amount,r2.rate_name as receivedCurrency,cr.received_amount,cr.handling_charge
<select id= "performanceSelect" resultType= "com.example.demo.domain.vo.cash.PerformanceVO" parameterType= "com.example.demo.domain.DTO.PerformanceDTO" >
select cr.jwcode,cr.name,cr.market, m.name as marketName ,cr.order_code,r1.rate_name as paymentCurrency,cr.payment_amount,r2.rate_name as receivedCurrency,cr.received_amount,cr.handling_charge
from cash_record_collection cr
left join market m on m.id = cr.market
left join rate r1 on r1.id = cr.payment_currency
left join rate r2 on r2.id = cr.received_currency
where order_type = 1 and status = 4
<!-- adminMarket筛选:如果adminMarket列表不为空且不包含研发部或总部,则筛选market表中的name等于adminMarket列表中的内容 -->
<if test= "adminMarket != null and adminMarket.size() > 0" >
<choose >
<when test= "adminMarket.contains('研发部') or adminMarket.contains('总部')" >
<!-- 如果包含研发部或总部,则不筛选 -->
</when>
<otherwise >
AND m.name IN
<foreach collection= "adminMarket" item= "item" open= "(" separator= "," close= ")" >
#{item}
</foreach>
</otherwise>
</choose>
</if>
<!-- customerMarket筛选:如果customerMarket列表不为空,则筛选cash_record_collection表中的market等于customerMarket列表中的内容 -->
<if test= "customerMarket != null and customerMarket.size() > 0" >
AND cr.market IN
<foreach collection= "customerMarket" item= "item" open= "(" separator= "," close= ")" >
#{item}
</foreach>
</if>
<!-- jwcode筛选:如果jwcode不为空,则筛选cash_record_collection表中的jwcode等于jwcode -->
<if test= "jwcode != null and jwcode != ''" >
AND cr.jwcode = #{jwcode}
</if>
<!-- 时间范围筛选:如果startTime和endTime不为空,则筛选cash_record_collection表中的pay_time在startTime和endTime之间 -->
<if test= "startTime != null and endTime != null" >
AND cr.pay_time BETWEEN #{startTime} AND #{endTime}
</if>
</select>
</mapper>