SysAmountAuditingMapper.xml 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.jzg.organization.mapper.SysAmountAuditingMapper">
  6. <resultMap id="BaseResultMap" type="com.jzg.commons.entity.po.SysAmountAuditing">
  7. <id property="id" column="id" jdbcType="BIGINT"/>
  8. <result property="amount" column="amount" jdbcType="DECIMAL"/>
  9. <result property="balanceAmount" column="balance_amount" jdbcType="DECIMAL"/>
  10. <result property="userId" column="user_id" jdbcType="VARCHAR"/>
  11. <result property="auditingStatus" column="auditing_status" jdbcType="VARCHAR"/>
  12. <result property="auditingTime" column="auditing_time" jdbcType="TIMESTAMP"/>
  13. <result property="auditingUserId" column="auditing_user_id" jdbcType="VARCHAR"/>
  14. <result property="voucherId" column="voucher_id" jdbcType="VARCHAR"/>
  15. <result property="picId" column="pic_id" jdbcType="VARCHAR"/>
  16. <result property="rejectReason" column="reject_reason" jdbcType="VARCHAR"/>
  17. <result property="accountName" column="account_name" jdbcType="VARCHAR"/>
  18. <result property="bankCardNum" column="bank_card_num" jdbcType="VARCHAR"/>
  19. <result property="bankName" column="bank_name" jdbcType="VARCHAR"/>
  20. <result property="bankNum" column="bank_num" jdbcType="VARCHAR"/>
  21. <result property="accountId" column="account_id" jdbcType="VARCHAR"/>
  22. <result property="receiveTime" column="receive_time" jdbcType="TIMESTAMP"/>
  23. <result property="receiveUser" column="receive_user" jdbcType="VARCHAR"/>
  24. <result property="isDelete" column="is_delete" jdbcType="TINYINT"/>
  25. <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
  26. <result property="createBy" column="create_by" jdbcType="VARCHAR"/>
  27. <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
  28. <result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
  29. <result property="systemCode" column="system_code" jdbcType="VARCHAR"/>
  30. </resultMap>
  31. <sql id="Base_Column_List">
  32. id,bank_number,amount,
  33. balance_amount,user_id,auditing_status,
  34. auditing_time,auditing_user_id,voucher_id,
  35. pic_id,reject_reason,account_name,
  36. bank_card_num,bank_name,bank_num,
  37. account_id,receive_time,receive_user,
  38. is_delete,create_time,create_by,
  39. update_time,update_by,system_code
  40. </sql>
  41. <select id="queryPage" resultType="com.jzg.commons.entity.vo.AmountAuditVo">
  42. SELECT
  43. saa.id,suji.name as name, su.mobile as mobile,suji.type_attr as attrType,
  44. sujim.name as managerName,sum.mobile as managerMobile,saa.create_time as createTime,
  45. saa.amount, saa.balance_amount as balanceAmount,saa.account_name AS accountName,
  46. saa.bank_card_num as bankCardNum, saa.bank_name as bankName, saa.bank_num as bankNum, suji.id as userJzgInfoId,
  47. saa.payment_time as paymentTime, saa.reject_reason as rejectReason, saa.reject_time as rejectTime, saa.reject_person as rejectPerson,
  48. saa.account_id, saa.auditing_status,
  49. (select iac.card_name from inv_account_card iac where iac.id = saa.account_id) as pay_account_name,
  50. (select iac.bank_card_num from inv_account_card iac where iac.id = saa.account_id ) as pay_account_bank_no
  51. FROM sys_amount_auditing saa
  52. LEFT JOIN sys_user_jzg_info suji on saa.user_id = suji.user_id AND suji.is_delete = 0
  53. LEFT JOIN sys_user su on su.id = saa.user_id AND su.is_delete = 0
  54. LEFT JOIN sys_user_jzg_info sujim on saa.manager_user_id = sujim.user_id AND sujim.is_delete = 0
  55. LEFT JOIN sys_user sum on sum.id = saa.manager_user_id AND sum.is_delete = 0
  56. LEFT JOIN sys_user_jzg_info sujia on saa.auditing_user_id = sujia.user_id AND sujia.is_delete = 0
  57. LEFT JOIN sys_user sua on sua.id = saa.auditing_user_id AND sua.is_delete = 0
  58. <where>
  59. saa.is_delete = 0
  60. <if test="param.salesman != null and param.salesman != ''">
  61. and (su.username = #{param.salesman} or su.mobile = #{param.salesman})
  62. </if>
  63. <if test="param.attrType != null ">
  64. and suji.type_attr = #{param.attrType}
  65. </if>
  66. <if test="param.createTimeStart != null and param.createTimeEnd != null">
  67. and DATE_FORMAT(saa.create_time, '%Y-%m-%d') between #{param.createTimeStart} AND #{param.createTimeEnd}
  68. </if>
  69. <if test="param.auditTimeStart != null and param.auditTimeEnd != null">
  70. and DATE_FORMAT(saa.auditing_time, '%Y-%m-%d') between #{param.auditTimeStart} AND #{param.auditTimeEnd}
  71. </if>
  72. <if test="param.auditingUser != null and param.auditingUser != ''">
  73. and (sua.username = #{param.auditingUser} or sua.mobile = #{param.auditingUser})
  74. </if>
  75. <if test="param.userJzgInfoId != null and param.userJzgInfoId != ''">
  76. and suji.id = #{param.userJzgInfoId}
  77. </if>
  78. <if test="param.auditingStatus != null ">
  79. and saa.auditing_status = #{param.auditingStatus}
  80. </if>
  81. <choose>
  82. <when test="param.receiveUser != null and param.receiveUser != ''">
  83. and saa.receive_user = #{param.receiveUser}
  84. </when>
  85. <otherwise>
  86. and saa.receive_user is null
  87. </otherwise>
  88. </choose>
  89. </where>
  90. ORDER BY saa.create_time desc
  91. </select>
  92. <select id="queryList" resultType="com.jzg.commons.entity.vo.AmountAuditVo">
  93. SELECT
  94. saa.id,suji.name as name, su.mobile as mobile,suji.type_attr as attrType,
  95. sujim.name as managerName,sum.mobile as managerMobile,saa.create_time as createTime,
  96. saa.amount, saa.balance_amount as balanceAmount,saa.account_name AS accountName,
  97. saa.bank_card_num as bankCardNum, saa.bank_name as bankName, saa.bank_num as bankNum, suji.id as userJzgInfoId,
  98. saa.payment_time as paymentTime,saa.auditing_status
  99. FROM sys_amount_auditing saa
  100. LEFT JOIN sys_user_jzg_info suji on saa.user_id = suji.user_id AND suji.is_delete = 0
  101. LEFT JOIN sys_user su on su.id = saa.user_id AND su.is_delete = 0
  102. LEFT JOIN sys_user_jzg_info sujim on saa.manager_user_id = sujim.user_id AND sujim.is_delete = 0
  103. LEFT JOIN sys_user sum on sum.id = saa.manager_user_id AND sum.is_delete = 0
  104. LEFT JOIN sys_user_jzg_info sujia on saa.auditing_user_id = sujia.user_id AND sujia.is_delete = 0
  105. LEFT JOIN sys_user sua on sua.id = saa.auditing_user_id AND sua.is_delete = 0
  106. <where>
  107. saa.is_delete = 0
  108. <if test="param.salesman != null and param.salesman != ''">
  109. and (su.username = #{param.salesman} or su.mobile = #{param.salesman})
  110. </if>
  111. <if test="param.attrType != null ">
  112. and suji.type_attr = #{param.attrType}
  113. </if>
  114. <if test="param.createTimeStart != null and param.createTimeEnd != null">
  115. and DATE_FORMAT(saa.create_time, '%Y-%m-%d') between #{param.createTimeStart} AND #{param.createTimeEnd}
  116. </if>
  117. <if test="param.auditTimeStart != null and param.auditTimeEnd != null">
  118. and DATE_FORMAT(saa.auditing_time, '%Y-%m-%d') between #{param.auditTimeStart} AND #{param.auditTimeEnd}
  119. </if>
  120. <if test="param.auditingUser != null and param.auditingUser != ''">
  121. and (sua.username = #{param.auditingUser} or sua.mobile = #{param.auditingUser})
  122. </if>
  123. <if test="param.userJzgInfoId != null and param.userJzgInfoId != ''">
  124. and suji.id = #{param.userJzgInfoId}
  125. </if>
  126. <if test="param.auditingStatus != null ">
  127. and saa.auditing_status = #{param.auditingStatus}
  128. </if>
  129. <choose>
  130. <when test="param.receiveUser != null and param.receiveUser != ''">
  131. and saa.receive_user = #{param.receiveUser}
  132. </when>
  133. <otherwise>
  134. and saa.receive_user is null
  135. </otherwise>
  136. </choose>
  137. </where>
  138. ORDER BY saa.create_time desc
  139. </select>
  140. <select id="queryPaymentPage" resultType="com.jzg.commons.entity.vo.AmountAuditVo">
  141. SELECT
  142. saa.id,
  143. saa.create_by as withdrawal_requester,
  144. saa.create_time as withdrawal_request_time,
  145. saa.voucher_id,
  146. saa.auditing_time,
  147. suji.name AS name,
  148. su.mobile AS mobile,
  149. suji.type_attr AS attrType,
  150. sujim.name AS managerName ,
  151. sum.mobile AS managerMobile,
  152. saa.create_time AS createTime,
  153. saa.amount,
  154. saa.balance_amount AS balanceAmount,
  155. saa.account_name AS accountName ,
  156. saa.bank_card_num AS bankCardNum,
  157. saa.bank_name AS bankName,
  158. saa.bank_num AS bankNum,
  159. saa.user_id,
  160. saa.system_code,
  161. saa.auditing_time,
  162. saa.reject_reason, saa.reject_time, saa.reject_person,
  163. saa.account_id, saa.auditing_status,
  164. (select iac.card_name from inv_account_card iac where iac.id = saa.account_id) as pay_account_name,
  165. (select iac.bank_card_num from inv_account_card iac where iac.id = saa.account_id ) as pay_account_bank_no
  166. FROM sys_amount_auditing saa
  167. LEFT JOIN sys_user_jzg_info suji on saa.user_id = suji.user_id AND suji.is_delete = 0
  168. LEFT JOIN sys_user su on su.id = saa.user_id AND su.is_delete = 0
  169. LEFT JOIN sys_user_jzg_info sujim on saa.manager_user_id = sujim.user_id AND sujim.is_delete = 0
  170. LEFT JOIN sys_user sum on sum.id = saa.manager_user_id AND sum.is_delete = 0
  171. LEFT JOIN sys_user_jzg_info sujia on saa.auditing_user_id = sujia.user_id AND sujia.is_delete = 0
  172. LEFT JOIN sys_user sua on sua.id = saa.auditing_user_id AND sua.is_delete = 0
  173. <where>
  174. saa.is_delete = 0
  175. and saa.receive_user = #{userName}
  176. <if test="param.salesman != null and param.salesman != ''">
  177. and (su.username like concat('%', #{param.salesman}, '%') or su.mobile like concat('%', #{param.salesman}, '%'))
  178. </if>
  179. <if test="param.attrType != null ">
  180. and suji.type_attr = #{param.attrType}
  181. </if>
  182. <if test="param.createTimeStart != null and param.createTimeEnd != null">
  183. and DATE_FORMAT(saa.create_time, '%Y-%m-%d') between #{param.createTimeStart} AND #{param.createTimeEnd}
  184. </if>
  185. <if test="param.auditTimeStart != null and param.auditTimeEnd != null">
  186. and DATE_FORMAT(saa.auditing_time, '%Y-%m-%d') between #{param.auditTimeStart} AND #{param.auditTimeEnd}
  187. </if>
  188. <if test="param.auditingUser != null and param.auditingUser != ''">
  189. and (sua.username = #{param.auditingUser} or sua.mobile = #{param.auditingUser})
  190. </if>
  191. <if test="param.auditingStatus != null ">
  192. and saa.auditing_status = #{param.auditingStatus}
  193. </if>
  194. </where>
  195. ORDER BY saa.create_time desc
  196. </select>
  197. <select id="queryPaymentList" resultType="com.jzg.commons.entity.vo.AmountAuditVo">
  198. SELECT
  199. saa.id,suji.name as name, su.mobile as mobile,suji.type_attr as attrType,
  200. sujim.name as managerName,sum.mobile as managerMobile,saa.create_time as createTime,
  201. saa.amount, saa.balance_amount as balanceAmount,saa.account_name AS accountName,
  202. saa.bank_card_num as bankCardNum, saa.bank_name as bankName, saa.bank_num as bankNum
  203. FROM sys_amount_auditing saa
  204. LEFT JOIN sys_user_jzg_info suji on saa.user_id = suji.user_id AND suji.is_delete = 0
  205. LEFT JOIN sys_user su on su.id = saa.user_id AND su.is_delete = 0
  206. LEFT JOIN sys_user_jzg_info sujim on saa.manager_user_id = sujim.user_id AND sujim.is_delete = 0
  207. LEFT JOIN sys_user sum on sum.id = saa.manager_user_id AND sum.is_delete = 0
  208. LEFT JOIN sys_user_jzg_info sujia on saa.auditing_user_id = sujia.user_id AND sujia.is_delete = 0
  209. LEFT JOIN sys_user sua on sua.id = saa.auditing_user_id AND sua.is_delete = 0
  210. <where>
  211. saa.is_delete = 0
  212. and saa.receive_user = #{userName}
  213. <if test="param.salesman != null and param.salesman != ''">
  214. and (su.username like concat('%', #{param.salesman}, '%') or su.mobile like concat('%', #{param.salesman}, '%'))
  215. </if>
  216. <if test="param.attrType != null ">
  217. and suji.type_attr = #{param.attrType}
  218. </if>
  219. <if test="param.createTimeStart != null and param.createTimeEnd != null">
  220. and DATE_FORMAT(saa.create_time, '%Y-%m-%d') between #{param.createTimeStart} AND #{param.createTimeEnd}
  221. </if>
  222. <if test="param.auditTimeStart != null and param.auditTimeEnd != null">
  223. and DATE_FORMAT(saa.auditing_time, '%Y-%m-%d') between #{param.auditTimeStart} AND #{param.auditTimeEnd}
  224. </if>
  225. <if test="param.auditingUser != null and param.auditingUser != ''">
  226. and (sua.username = #{param.auditingUser} or sua.mobile = #{param.auditingUser})
  227. </if>
  228. <if test="param.auditingStatus != null ">
  229. and saa.auditing_status = #{param.auditingStatus}
  230. </if>
  231. </where>
  232. ORDER BY saa.create_time desc
  233. </select>
  234. <select id="queryPaymentByUserId" resultType="com.jzg.commons.entity.po.SysAmountAuditing">
  235. SELECT saa.*
  236. FROM sys_amount_auditing saa
  237. <where>
  238. saa.is_delete = 0
  239. <if test="userId != null and userId != ''">
  240. and saa.user_id = #{userId}
  241. </if>
  242. <if test="auditingStatus != null">
  243. AND saa.auditing_status = #{auditingStatus}
  244. </if>
  245. </where>
  246. </select>
  247. <!-- 查询指定租户下,所有支付中的金额汇总 lipf 2026年7月17日10:26:36 -->
  248. <select id="queryPayingAmountSum" resultType="java.math.BigDecimal">
  249. select sum(COALESCE(saa.amount, 0)) as payingAmountSum from sys_amount_auditing saa where saa.auditing_status = 0
  250. </select>
  251. <!-- 查询收支明细 2026年7月20日15:47:35 -->
  252. <!-- <if test="status != null and status != ''">-->
  253. <!-- and a.status= #{status}-->
  254. <!-- </if>-->
  255. <!-- <if test="incomeAndExpense != null and incomeAndExpense != ''">-->
  256. <!-- and a.incomeAndExpense = #{incomeAndExpense}-->
  257. <!-- </if>-->
  258. <select id="getIncomeAndExpense"
  259. resultType="com.jzg.commons.entity.vo.IncomeAndExpenseList">
  260. select
  261. a.*
  262. from
  263. (
  264. select 'changelog' as source,
  265. abs(suacl.amount) as amount,
  266. CASE
  267. WHEN suacl.amount >= 0 THEN 0
  268. -- 正数或0为收入
  269. ELSE 1
  270. -- 负数为支出
  271. END AS incomeAndExpense,
  272. case
  273. when suacl.is_delete = 0 then 1
  274. when suacl.is_delete = 1 then 2
  275. else -1
  276. end AS status,
  277. suacl.oper_type,
  278. CASE
  279. suacl.oper_type
  280. WHEN 1 THEN '保单费用'
  281. WHEN 2 THEN '保单提成'
  282. WHEN 3 THEN '提现'
  283. WHEN 4 THEN '提现驳回'
  284. ELSE suacl.oper_type
  285. END as remark,
  286. saa.reject_reason,
  287. saa.bank_name,
  288. saa.bank_num as userName,
  289. suacl.bank_card_no_to as bankCardNum,
  290. suacl.user_id,
  291. suacl.create_by,
  292. suacl.create_time,
  293. suacl.update_by,
  294. suacl.update_time,
  295. ioci.license_no,
  296. null as payment_time , null as reject_time , null as auditing_status,
  297. suf.file_name as paymentVoucher, saa.pic_id as picId, suf.bucket_name
  298. from
  299. sys_user_account_change_log suacl
  300. left join sys_amount_auditing saa on suacl.related_amount_auditing_id = saa.id
  301. left join ins_orders_car_info ioci on suacl.related_order_id = ioci.order_no
  302. left join sys_upload_files suf on saa.pic_id = suf.id
  303. where
  304. suacl.system_code = #{systemCode}
  305. union ALL
  306. select 'amount_auditing' as source,
  307. abs(saa.amount) as amount,
  308. 1 as incomeAndExpense,
  309. saa.auditing_status as status,
  310. null as oper_type,
  311. '拒绝付款' as remark,
  312. saa.reject_reason,
  313. saa.bank_name,
  314. saa.bank_num as userName,
  315. saa.bank_card_num,
  316. saa.user_id,
  317. saa.create_by,
  318. saa.create_time,
  319. saa.update_by,
  320. saa.update_time,
  321. null as license_no,
  322. saa.payment_time , saa.reject_time , saa.auditing_status, null as paymentVoucher, null as picId, null as bucket_name
  323. from
  324. sys_amount_auditing saa
  325. where
  326. saa.system_code = #{systemCode}
  327. and saa.auditing_status = 0 ) as a
  328. <where>
  329. a.user_id = #{userId}
  330. <if test="createTimeStart != null and createTimeStart != ''">
  331. and a.create_time &gt;= #{createTimeStart}
  332. </if>
  333. <if test="createTimeEnd != null and createTimeEnd != ''">
  334. and a.create_time &lt;= #{createTimeEnd}
  335. </if>
  336. </where>
  337. </select>
  338. </mapper>