njzscloud/njzscloud-svr/src/main/resources/mapper/money/MoneyChangeDetailMapper.xml

83 lines
3.2 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="com.njzscloud.supervisory.money.mapper.MoneyChangeDetailMapper">
<!-- 分页查询资金账户(关联用户或企业信息) -->
<select id="page" resultType="com.njzscloud.supervisory.money.pojo.entity.MoneyChangeDetailEntity">
SELECT
mcd.id,
mcd.user_id,
mcd.money_account_id,
mcd.old_money,
mcd.delta,
mcd.new_money,
mcd.money_change_category,
mcd.extend_info,
mcd.memo,
mcd.company_id,
mcd.creator_id,
mcd.modifier_id,
mcd.create_time,
mcd.modify_time,
mcd.deleted,
CASE
WHEN mcd.user_id IS NOT NULL THEN u.nickname
WHEN mcd.company_id IS NOT NULL THEN bc.company_name
ELSE NULL
END as nickname
FROM money_change_detail mcd
LEFT JOIN sys_user u ON mcd.user_id = u.id
LEFT JOIN biz_company bc ON mcd.company_id = bc.id
<where>
<if test="entity.nickname != null and entity.nickname != ''">
AND (u.nickname LIKE CONCAT('%', #{entity.nickname}, '%') or
bc.company_name LIKE CONCAT('%', #{entity.nickname}, '%'))
</if>
<if test="entity.moneyChangeCategory != null">
AND mcd.money_change_category = #{entity.moneyChangeCategory}
</if>
</where>
ORDER BY mcd.modify_time DESC
</select>
<select id="exportList" resultType="com.njzscloud.supervisory.money.pojo.result.MoneyChangeDetailExportResult">
SELECT
oi.sn,
bt.license_plate,
sdi.txt AS money_change_category,
mcd.delta,
mcd.new_money,
og.goods_name,
og.unit_price,
ROUND( ocio.rough_weight / 1000, 2 ) AS rough_weight,
ROUND( ocio.tare_weight / 1000, 2 ) AS tare_weight,
ROUND( ocio.settle_weight / 1000, 2 ) AS settle_weight,
ocio.in_time,
ocio.out_time,
mcd.memo
FROM
money_change_detail mcd
LEFT JOIN order_info oi ON oi.id = mcd.order_id
LEFT JOIN biz_truck bt ON bt.id = oi.truck_id
LEFT JOIN sys_dict_item sdi ON mcd.money_change_category = sdi.val
AND sdi.dict_key = 'money_change_category'
LEFT JOIN order_goods og ON og.id = oi.goods_id
LEFT JOIN order_car_in_out ocio ON ocio.id = oi.car_in_out_id
LEFT JOIN sys_user u ON mcd.user_id = u.id
LEFT JOIN biz_company bc ON mcd.company_id = bc.id
<where>
<if test="entity.nickname != null and entity.nickname != ''">
AND (u.nickname LIKE CONCAT('%', #{entity.nickname}, '%') or
bc.company_name LIKE CONCAT('%', #{entity.nickname}, '%'))
</if>
<if test="entity.moneyChangeCategory != null">
AND mcd.money_change_category = #{entity.moneyChangeCategory}
</if>
<if test="entity.companyId != null">
AND mcd.company_id = #{entity.companyId}
</if>
</where>
ORDER BY
mcd.create_time DESC
</select>
</mapper>