fix: POS刷卡推荐,功能优化。
This commit is contained in:
@@ -53,6 +53,14 @@ public class AccountsVo extends Accounts
|
||||
|
||||
private String advicePosNames;
|
||||
|
||||
/** 银行名称 */
|
||||
@ApiModelProperty(value="银行名称")
|
||||
private String bankName;
|
||||
|
||||
/** 是否多账户合并出账,1:是,0:否 */
|
||||
@ApiModelProperty(value="是否多账户合并出账")
|
||||
private String multiAccountConsolidated;
|
||||
|
||||
|
||||
/** 最新交易时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
|
||||
@@ -179,69 +179,87 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
<select id="selectCreditPosList" parameterType="AccountsDto" resultType="AccountsVo">
|
||||
select
|
||||
a."name",
|
||||
a.code,
|
||||
a.available_limit as availableLimit,
|
||||
bcl.bill_date || '日' as billDateName,
|
||||
bbi.bank_name as name,
|
||||
STRING_AGG(distinct a.code, '、' order by a.code) as code,
|
||||
sum(a.available_limit) as availableLimit,
|
||||
STRING_AGG(distinct bcl.bill_date || '日', '、' order by bcl.bill_date || '日') as billDateName,
|
||||
bbi.bank_name as bankName,
|
||||
bbi.multi_account_consolidated as multiAccountConsolidated,
|
||||
(
|
||||
select
|
||||
STRING_AGG(to_char(atr.create_time,
|
||||
'yyyy-MM-dd')|| '-' || pm.name || '(' || pm.merchant_name || ')'|| '-' ||bcl.name || '-刷卡' ||atr.amount ::text,
|
||||
STRING_AGG(distinct to_char(atr.create_time,
|
||||
'yyyy-MM-dd')|| '-' || pm.name || '(' || pm.merchant_name || ')'|| '-' ||bcl2.name||'-' ||a2.name||a2.code || '-刷卡' ||atr.amount ::text,
|
||||
'、'
|
||||
order by
|
||||
atr.create_time) as posNames
|
||||
to_char(atr.create_time, 'yyyy-MM-dd')|| '-' || pm.name || '(' || pm.merchant_name || ')'|| '-' ||bcl2.name||'-' ||a2.name||a2.code || '-刷卡' ||atr.amount ::text) as posNames
|
||||
from
|
||||
accounts_transfer_record atr
|
||||
left join pos_machine pm on
|
||||
pm.id = atr.pos_id
|
||||
left join bank_card_lend bcl on
|
||||
bcl.id = pm.debit_card
|
||||
left join bank_card_lend bcl2 on
|
||||
bcl2.id = pm.debit_card
|
||||
inner join accounts a2 on
|
||||
a2.id = atr.out_account_id
|
||||
inner join bank_card_lend bcl_inner on
|
||||
bcl_inner.id = a2.id
|
||||
where
|
||||
atr.out_account_id = a.id
|
||||
bcl_inner.bank_id = bbi.id
|
||||
and atr.create_time >= CURRENT_DATE - interval '1 months'
|
||||
and atr.del_flag = '0'
|
||||
and a2.del_flag = '0'
|
||||
and a2.status = '1'
|
||||
|
||||
) as remark,
|
||||
(
|
||||
select
|
||||
STRING_AGG(pm.name || '(' || pm.merchant_name || ')'|| '-' ||bcl.name ::text,
|
||||
STRING_AGG(distinct pm.name || '(' || pm.merchant_name || ')'|| '-' ||bcl3.name ::text,
|
||||
'、'
|
||||
order by
|
||||
pm.name || '(' || pm.merchant_name || ')'|| '-' ||bcl3.name ::text
|
||||
)
|
||||
from
|
||||
pos_machine pm
|
||||
left join bank_card_lend bcl on
|
||||
bcl.id = pm.debit_card
|
||||
left join bank_card_lend bcl3 on
|
||||
bcl3.id = pm.debit_card
|
||||
where
|
||||
pm.status = '1'
|
||||
and bcl.name not like '%' || a.name || '%'
|
||||
and pm.del_flag = '0'
|
||||
and pm.id not in
|
||||
(
|
||||
select
|
||||
atr.pos_id
|
||||
from
|
||||
accounts_transfer_record atr
|
||||
left join pos_machine pm on
|
||||
pm.id = atr.pos_id
|
||||
and not exists (
|
||||
select 1
|
||||
from accounts_transfer_record atr
|
||||
inner join accounts a3 on a3.id = atr.out_account_id
|
||||
inner join bank_card_lend bcl_check on bcl_check.id = a3.id
|
||||
where
|
||||
atr.out_account_id = a.id
|
||||
atr.pos_id = pm.id
|
||||
and bcl_check.bank_id = bbi.id
|
||||
and atr.create_time >= CURRENT_DATE - interval '1 months'
|
||||
and atr.del_flag = '0'
|
||||
) ) as advicePosNames
|
||||
and a3.del_flag = '0'
|
||||
and a3.status = '1'
|
||||
)
|
||||
and bcl3.name not like '%' || bbi.bank_name || '%'
|
||||
) as advicePosNames
|
||||
from
|
||||
accounts a
|
||||
left join bank_card_lend bcl on
|
||||
inner join bank_card_lend bcl on
|
||||
bcl.id = a.id
|
||||
inner join bank_base_info bbi on
|
||||
bbi.id = bcl.bank_id
|
||||
and bbi.del_flag = '0'
|
||||
where
|
||||
a."type" = '2'
|
||||
and a.status = '1'
|
||||
and a.del_flag = '0'
|
||||
<if test="name != null and name != ''"> and a.name like '%'|| #{name}||'%'</if>
|
||||
<if test="name != null and name != ''"> and (a.name like '%'|| #{name}||'%' or bbi.bank_name like '%'|| #{name}||'%')</if>
|
||||
<if test="code != null and code != ''"> and a.code like '%'|| #{code}||'%'</if>
|
||||
<if test="accountId != null"> and a.id = #{accountId}</if>
|
||||
<!-- 数据范围过滤 -->
|
||||
${params.dataScope}
|
||||
group by
|
||||
bbi.id,
|
||||
bbi.bank_name,
|
||||
bbi.multi_account_consolidated
|
||||
order by
|
||||
a.available_limit desc
|
||||
sum(a.available_limit) desc
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user