| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353 |
- <?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.jzg.organization.mapper.SysAmountAuditingMapper">
- <resultMap id="BaseResultMap" type="com.jzg.commons.entity.po.SysAmountAuditing">
- <id property="id" column="id" jdbcType="BIGINT"/>
- <result property="amount" column="amount" jdbcType="DECIMAL"/>
- <result property="balanceAmount" column="balance_amount" jdbcType="DECIMAL"/>
- <result property="userId" column="user_id" jdbcType="VARCHAR"/>
- <result property="auditingStatus" column="auditing_status" jdbcType="VARCHAR"/>
- <result property="auditingTime" column="auditing_time" jdbcType="TIMESTAMP"/>
- <result property="auditingUserId" column="auditing_user_id" jdbcType="VARCHAR"/>
- <result property="voucherId" column="voucher_id" jdbcType="VARCHAR"/>
- <result property="picId" column="pic_id" jdbcType="VARCHAR"/>
- <result property="rejectReason" column="reject_reason" jdbcType="VARCHAR"/>
- <result property="accountName" column="account_name" jdbcType="VARCHAR"/>
- <result property="bankCardNum" column="bank_card_num" jdbcType="VARCHAR"/>
- <result property="bankName" column="bank_name" jdbcType="VARCHAR"/>
- <result property="bankNum" column="bank_num" jdbcType="VARCHAR"/>
- <result property="accountId" column="account_id" jdbcType="VARCHAR"/>
- <result property="receiveTime" column="receive_time" jdbcType="TIMESTAMP"/>
- <result property="receiveUser" column="receive_user" jdbcType="VARCHAR"/>
- <result property="isDelete" column="is_delete" jdbcType="TINYINT"/>
- <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
- <result property="createBy" column="create_by" jdbcType="VARCHAR"/>
- <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
- <result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
- <result property="systemCode" column="system_code" jdbcType="VARCHAR"/>
- </resultMap>
- <sql id="Base_Column_List">
- id,bank_number,amount,
- balance_amount,user_id,auditing_status,
- auditing_time,auditing_user_id,voucher_id,
- pic_id,reject_reason,account_name,
- bank_card_num,bank_name,bank_num,
- account_id,receive_time,receive_user,
- is_delete,create_time,create_by,
- update_time,update_by,system_code
- </sql>
- <select id="queryPage" resultType="com.jzg.commons.entity.vo.AmountAuditVo">
- SELECT
- saa.id,suji.name as name, su.mobile as mobile,suji.type_attr as attrType,
- sujim.name as managerName,sum.mobile as managerMobile,saa.create_time as createTime,
- saa.amount, saa.balance_amount as balanceAmount,saa.account_name AS accountName,
- saa.bank_card_num as bankCardNum, saa.bank_name as bankName, saa.bank_num as bankNum, suji.id as userJzgInfoId,
- saa.payment_time as paymentTime, saa.reject_reason as rejectReason, saa.reject_time as rejectTime, saa.reject_person as rejectPerson,
- saa.account_id, saa.auditing_status,
- (select iac.card_name from inv_account_card iac where iac.id = saa.account_id) as pay_account_name,
- (select iac.bank_card_num from inv_account_card iac where iac.id = saa.account_id ) as pay_account_bank_no
- FROM sys_amount_auditing saa
- LEFT JOIN sys_user_jzg_info suji on saa.user_id = suji.user_id AND suji.is_delete = 0
- LEFT JOIN sys_user su on su.id = saa.user_id AND su.is_delete = 0
- LEFT JOIN sys_user_jzg_info sujim on saa.manager_user_id = sujim.user_id AND sujim.is_delete = 0
- LEFT JOIN sys_user sum on sum.id = saa.manager_user_id AND sum.is_delete = 0
- LEFT JOIN sys_user_jzg_info sujia on saa.auditing_user_id = sujia.user_id AND sujia.is_delete = 0
- LEFT JOIN sys_user sua on sua.id = saa.auditing_user_id AND sua.is_delete = 0
- <where>
- saa.is_delete = 0
- <if test="param.salesman != null and param.salesman != ''">
- and (su.username = #{param.salesman} or su.mobile = #{param.salesman})
- </if>
- <if test="param.attrType != null ">
- and suji.type_attr = #{param.attrType}
- </if>
- <if test="param.createTimeStart != null and param.createTimeEnd != null">
- and DATE_FORMAT(saa.create_time, '%Y-%m-%d') between #{param.createTimeStart} AND #{param.createTimeEnd}
- </if>
- <if test="param.auditTimeStart != null and param.auditTimeEnd != null">
- and DATE_FORMAT(saa.auditing_time, '%Y-%m-%d') between #{param.auditTimeStart} AND #{param.auditTimeEnd}
- </if>
- <if test="param.auditingUser != null and param.auditingUser != ''">
- and (sua.username = #{param.auditingUser} or sua.mobile = #{param.auditingUser})
- </if>
- <if test="param.userJzgInfoId != null and param.userJzgInfoId != ''">
- and suji.id = #{param.userJzgInfoId}
- </if>
- <if test="param.auditingStatus != null ">
- and saa.auditing_status = #{param.auditingStatus}
- </if>
- <choose>
- <when test="param.receiveUser != null and param.receiveUser != ''">
- and saa.receive_user = #{param.receiveUser}
- </when>
- <otherwise>
- and saa.receive_user is null
- </otherwise>
- </choose>
- </where>
- ORDER BY saa.create_time desc
- </select>
- <select id="queryList" resultType="com.jzg.commons.entity.vo.AmountAuditVo">
- SELECT
- saa.id,suji.name as name, su.mobile as mobile,suji.type_attr as attrType,
- sujim.name as managerName,sum.mobile as managerMobile,saa.create_time as createTime,
- saa.amount, saa.balance_amount as balanceAmount,saa.account_name AS accountName,
- saa.bank_card_num as bankCardNum, saa.bank_name as bankName, saa.bank_num as bankNum, suji.id as userJzgInfoId,
- saa.payment_time as paymentTime,saa.auditing_status
- FROM sys_amount_auditing saa
- LEFT JOIN sys_user_jzg_info suji on saa.user_id = suji.user_id AND suji.is_delete = 0
- LEFT JOIN sys_user su on su.id = saa.user_id AND su.is_delete = 0
- LEFT JOIN sys_user_jzg_info sujim on saa.manager_user_id = sujim.user_id AND sujim.is_delete = 0
- LEFT JOIN sys_user sum on sum.id = saa.manager_user_id AND sum.is_delete = 0
- LEFT JOIN sys_user_jzg_info sujia on saa.auditing_user_id = sujia.user_id AND sujia.is_delete = 0
- LEFT JOIN sys_user sua on sua.id = saa.auditing_user_id AND sua.is_delete = 0
- <where>
- saa.is_delete = 0
- <if test="param.salesman != null and param.salesman != ''">
- and (su.username = #{param.salesman} or su.mobile = #{param.salesman})
- </if>
- <if test="param.attrType != null ">
- and suji.type_attr = #{param.attrType}
- </if>
- <if test="param.createTimeStart != null and param.createTimeEnd != null">
- and DATE_FORMAT(saa.create_time, '%Y-%m-%d') between #{param.createTimeStart} AND #{param.createTimeEnd}
- </if>
- <if test="param.auditTimeStart != null and param.auditTimeEnd != null">
- and DATE_FORMAT(saa.auditing_time, '%Y-%m-%d') between #{param.auditTimeStart} AND #{param.auditTimeEnd}
- </if>
- <if test="param.auditingUser != null and param.auditingUser != ''">
- and (sua.username = #{param.auditingUser} or sua.mobile = #{param.auditingUser})
- </if>
- <if test="param.userJzgInfoId != null and param.userJzgInfoId != ''">
- and suji.id = #{param.userJzgInfoId}
- </if>
- <if test="param.auditingStatus != null ">
- and saa.auditing_status = #{param.auditingStatus}
- </if>
- <choose>
- <when test="param.receiveUser != null and param.receiveUser != ''">
- and saa.receive_user = #{param.receiveUser}
- </when>
- <otherwise>
- and saa.receive_user is null
- </otherwise>
- </choose>
- </where>
- ORDER BY saa.create_time desc
- </select>
- <select id="queryPaymentPage" resultType="com.jzg.commons.entity.vo.AmountAuditVo">
- SELECT
- saa.id,
- saa.create_by as withdrawal_requester,
- saa.create_time as withdrawal_request_time,
- saa.voucher_id,
- saa.auditing_time,
- suji.name AS name,
- su.mobile AS mobile,
- suji.type_attr AS attrType,
- sujim.name AS managerName ,
- sum.mobile AS managerMobile,
- saa.create_time AS createTime,
- saa.amount,
- saa.balance_amount AS balanceAmount,
- saa.account_name AS accountName ,
- saa.bank_card_num AS bankCardNum,
- saa.bank_name AS bankName,
- saa.bank_num AS bankNum,
- saa.user_id,
- saa.system_code,
- saa.auditing_time,
- saa.reject_reason, saa.reject_time, saa.reject_person,
- saa.account_id, saa.auditing_status,
- (select iac.card_name from inv_account_card iac where iac.id = saa.account_id) as pay_account_name,
- (select iac.bank_card_num from inv_account_card iac where iac.id = saa.account_id ) as pay_account_bank_no
- FROM sys_amount_auditing saa
- LEFT JOIN sys_user_jzg_info suji on saa.user_id = suji.user_id AND suji.is_delete = 0
- LEFT JOIN sys_user su on su.id = saa.user_id AND su.is_delete = 0
- LEFT JOIN sys_user_jzg_info sujim on saa.manager_user_id = sujim.user_id AND sujim.is_delete = 0
- LEFT JOIN sys_user sum on sum.id = saa.manager_user_id AND sum.is_delete = 0
- LEFT JOIN sys_user_jzg_info sujia on saa.auditing_user_id = sujia.user_id AND sujia.is_delete = 0
- LEFT JOIN sys_user sua on sua.id = saa.auditing_user_id AND sua.is_delete = 0
- <where>
- saa.is_delete = 0
- and saa.receive_user = #{userName}
- <if test="param.salesman != null and param.salesman != ''">
- and (su.username like concat('%', #{param.salesman}, '%') or su.mobile like concat('%', #{param.salesman}, '%'))
- </if>
- <if test="param.attrType != null ">
- and suji.type_attr = #{param.attrType}
- </if>
- <if test="param.createTimeStart != null and param.createTimeEnd != null">
- and DATE_FORMAT(saa.create_time, '%Y-%m-%d') between #{param.createTimeStart} AND #{param.createTimeEnd}
- </if>
- <if test="param.auditTimeStart != null and param.auditTimeEnd != null">
- and DATE_FORMAT(saa.auditing_time, '%Y-%m-%d') between #{param.auditTimeStart} AND #{param.auditTimeEnd}
- </if>
- <if test="param.auditingUser != null and param.auditingUser != ''">
- and (sua.username = #{param.auditingUser} or sua.mobile = #{param.auditingUser})
- </if>
- <if test="param.auditingStatus != null ">
- and saa.auditing_status = #{param.auditingStatus}
- </if>
- </where>
- ORDER BY saa.create_time desc
- </select>
- <select id="queryPaymentList" resultType="com.jzg.commons.entity.vo.AmountAuditVo">
- SELECT
- saa.id,suji.name as name, su.mobile as mobile,suji.type_attr as attrType,
- sujim.name as managerName,sum.mobile as managerMobile,saa.create_time as createTime,
- saa.amount, saa.balance_amount as balanceAmount,saa.account_name AS accountName,
- saa.bank_card_num as bankCardNum, saa.bank_name as bankName, saa.bank_num as bankNum
- FROM sys_amount_auditing saa
- LEFT JOIN sys_user_jzg_info suji on saa.user_id = suji.user_id AND suji.is_delete = 0
- LEFT JOIN sys_user su on su.id = saa.user_id AND su.is_delete = 0
- LEFT JOIN sys_user_jzg_info sujim on saa.manager_user_id = sujim.user_id AND sujim.is_delete = 0
- LEFT JOIN sys_user sum on sum.id = saa.manager_user_id AND sum.is_delete = 0
- LEFT JOIN sys_user_jzg_info sujia on saa.auditing_user_id = sujia.user_id AND sujia.is_delete = 0
- LEFT JOIN sys_user sua on sua.id = saa.auditing_user_id AND sua.is_delete = 0
- <where>
- saa.is_delete = 0
- and saa.receive_user = #{userName}
- <if test="param.salesman != null and param.salesman != ''">
- and (su.username like concat('%', #{param.salesman}, '%') or su.mobile like concat('%', #{param.salesman}, '%'))
- </if>
- <if test="param.attrType != null ">
- and suji.type_attr = #{param.attrType}
- </if>
- <if test="param.createTimeStart != null and param.createTimeEnd != null">
- and DATE_FORMAT(saa.create_time, '%Y-%m-%d') between #{param.createTimeStart} AND #{param.createTimeEnd}
- </if>
- <if test="param.auditTimeStart != null and param.auditTimeEnd != null">
- and DATE_FORMAT(saa.auditing_time, '%Y-%m-%d') between #{param.auditTimeStart} AND #{param.auditTimeEnd}
- </if>
- <if test="param.auditingUser != null and param.auditingUser != ''">
- and (sua.username = #{param.auditingUser} or sua.mobile = #{param.auditingUser})
- </if>
- <if test="param.auditingStatus != null ">
- and saa.auditing_status = #{param.auditingStatus}
- </if>
- </where>
- ORDER BY saa.create_time desc
- </select>
- <select id="queryPaymentByUserId" resultType="com.jzg.commons.entity.po.SysAmountAuditing">
- SELECT saa.*
- FROM sys_amount_auditing saa
- <where>
- saa.is_delete = 0
- <if test="userId != null and userId != ''">
- and saa.user_id = #{userId}
- </if>
- <if test="auditingStatus != null">
- AND saa.auditing_status = #{auditingStatus}
- </if>
- </where>
- </select>
- <!-- 查询指定租户下,所有支付中的金额汇总 lipf 2026年7月17日10:26:36 -->
- <select id="queryPayingAmountSum" resultType="java.math.BigDecimal">
- select sum(COALESCE(saa.amount, 0)) as payingAmountSum from sys_amount_auditing saa where saa.auditing_status = 0
- </select>
- <!-- 查询收支明细 2026年7月20日15:47:35 -->
- <!-- <if test="status != null and status != ''">-->
- <!-- and a.status= #{status}-->
- <!-- </if>-->
- <!-- <if test="incomeAndExpense != null and incomeAndExpense != ''">-->
- <!-- and a.incomeAndExpense = #{incomeAndExpense}-->
- <!-- </if>-->
- <select id="getIncomeAndExpense"
- resultType="com.jzg.commons.entity.vo.IncomeAndExpenseList">
- select
- a.*
- from
- (
- select 'changelog' as source,
- abs(suacl.amount) as amount,
- CASE
- WHEN suacl.amount >= 0 THEN 0
- -- 正数或0为收入
- ELSE 1
- -- 负数为支出
- END AS incomeAndExpense,
- case
- when suacl.is_delete = 0 then 1
- when suacl.is_delete = 1 then 2
- else -1
- end AS status,
- suacl.oper_type,
- CASE
- suacl.oper_type
- WHEN 1 THEN '保单费用'
- WHEN 2 THEN '保单提成'
- WHEN 3 THEN '提现'
- WHEN 4 THEN '提现驳回'
- ELSE suacl.oper_type
- END as remark,
- saa.reject_reason,
- saa.bank_name,
- saa.bank_num as userName,
- suacl.bank_card_no_to as bankCardNum,
- suacl.user_id,
- suacl.create_by,
- suacl.create_time,
- suacl.update_by,
- suacl.update_time,
- ioci.license_no,
- null as payment_time , null as reject_time , null as auditing_status,
- suf.file_name as paymentVoucher, saa.pic_id as picId, suf.bucket_name
- from
- sys_user_account_change_log suacl
- left join sys_amount_auditing saa on suacl.related_amount_auditing_id = saa.id
- left join ins_orders_car_info ioci on suacl.related_order_id = ioci.order_no
- left join sys_upload_files suf on saa.pic_id = suf.id
- where
- suacl.system_code = #{systemCode}
- union ALL
- select 'amount_auditing' as source,
- abs(saa.amount) as amount,
- 1 as incomeAndExpense,
- saa.auditing_status as status,
- null as oper_type,
- '拒绝付款' as remark,
- saa.reject_reason,
- saa.bank_name,
- saa.bank_num as userName,
- saa.bank_card_num,
- saa.user_id,
- saa.create_by,
- saa.create_time,
- saa.update_by,
- saa.update_time,
- null as license_no,
- saa.payment_time , saa.reject_time , saa.auditing_status, null as paymentVoucher, null as picId, null as bucket_name
- from
- sys_amount_auditing saa
- where
- saa.system_code = #{systemCode}
- and saa.auditing_status = 0 ) as a
- <where>
- a.user_id = #{userId}
- <if test="createTimeStart != null and createTimeStart != ''">
- and a.create_time >= #{createTimeStart}
- </if>
- <if test="createTimeEnd != null and createTimeEnd != ''">
- and a.create_time <= #{createTimeEnd}
- </if>
- </where>
- </select>
- </mapper>
|