新增结果总览一键导出报告
This commit is contained in:
@@ -57,6 +57,40 @@
|
||||
<result property="status" column="status"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="ReportUploadSubjectResultMap"
|
||||
type="com.ruoyi.ccdi.project.domain.vo.CcdiProjectOverviewReportUploadSubjectVO">
|
||||
<result property="subjectName" column="subjectName"/>
|
||||
<result property="accountNos" column="accountNos"/>
|
||||
<result property="minTrxDate" column="minTrxDate"/>
|
||||
<result property="maxTrxDate" column="maxTrxDate"/>
|
||||
<result property="fileCount" column="fileCount"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="ReportModelSummaryResultMap"
|
||||
type="com.ruoyi.ccdi.project.domain.vo.CcdiProjectOverviewReportModelSummaryVO">
|
||||
<result property="modelCode" column="modelCode"/>
|
||||
<result property="modelName" column="modelName"/>
|
||||
<result property="warningCount" column="warningCount"/>
|
||||
<result property="peopleCount" column="peopleCount"/>
|
||||
<result property="peopleNames" column="peopleNames"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="ReportSuspiciousTransactionResultMap"
|
||||
type="com.ruoyi.ccdi.project.domain.vo.CcdiProjectOverviewReportSuspiciousTransactionVO">
|
||||
<id property="bankStatementId" column="bankStatementId"/>
|
||||
<result property="trxDate" column="trxDate"/>
|
||||
<result property="leAccountNo" column="leAccountNo"/>
|
||||
<result property="leAccountName" column="leAccountName"/>
|
||||
<result property="customerAccountName" column="customerAccountName"/>
|
||||
<result property="customerAccountNo" column="customerAccountNo"/>
|
||||
<result property="relatedStaffName" column="relatedStaffName"/>
|
||||
<result property="relatedStaffCode" column="relatedStaffCode"/>
|
||||
<result property="userMemo" column="userMemo"/>
|
||||
<result property="cashType" column="cashType"/>
|
||||
<result property="hitTags" column="hitTags"/>
|
||||
<result property="displayAmount" column="displayAmount"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="digitTableSql">
|
||||
select 0 as digit
|
||||
union all select 1
|
||||
@@ -338,6 +372,87 @@
|
||||
order by warning_count desc, model_code asc
|
||||
</select>
|
||||
|
||||
<select id="selectReportUploadSubjects" resultMap="ReportUploadSubjectResultMap">
|
||||
select
|
||||
trim(bs.LE_ACCOUNT_NAME) as subjectName,
|
||||
group_concat(distinct trim(bs.LE_ACCOUNT_NO) order by trim(bs.LE_ACCOUNT_NO) separator '、') as accountNos,
|
||||
date_format(min(
|
||||
case
|
||||
when bs.TRX_DATE is null or trim(bs.TRX_DATE) = '' then null
|
||||
when length(trim(bs.TRX_DATE)) = 10 then str_to_date(concat(trim(bs.TRX_DATE), ' 00:00:00'), '%Y-%m-%d %H:%i:%s')
|
||||
else str_to_date(trim(bs.TRX_DATE), '%Y-%m-%d %H:%i:%s')
|
||||
end
|
||||
), '%Y-%m-%d') as minTrxDate,
|
||||
date_format(max(
|
||||
case
|
||||
when bs.TRX_DATE is null or trim(bs.TRX_DATE) = '' then null
|
||||
when length(trim(bs.TRX_DATE)) = 10 then str_to_date(concat(trim(bs.TRX_DATE), ' 00:00:00'), '%Y-%m-%d %H:%i:%s')
|
||||
else str_to_date(trim(bs.TRX_DATE), '%Y-%m-%d %H:%i:%s')
|
||||
end
|
||||
), '%Y-%m-%d') as maxTrxDate,
|
||||
case
|
||||
when count(distinct fur.id) > 0 then count(distinct fur.id)
|
||||
else count(distinct bs.batch_id)
|
||||
end as fileCount
|
||||
from ccdi_bank_statement bs
|
||||
left join ccdi_file_upload_record fur
|
||||
on fur.project_id = bs.project_id
|
||||
and fur.log_id = bs.batch_id
|
||||
where bs.project_id = #{projectId}
|
||||
and bs.LE_ACCOUNT_NAME is not null
|
||||
and trim(bs.LE_ACCOUNT_NAME) != ''
|
||||
group by trim(bs.LE_ACCOUNT_NAME)
|
||||
order by trim(bs.LE_ACCOUNT_NAME) asc
|
||||
</select>
|
||||
|
||||
<select id="selectReportRiskModelSummaries" resultMap="ReportModelSummaryResultMap">
|
||||
select
|
||||
model_scope.modelCode,
|
||||
max(model_scope.modelName) as modelName,
|
||||
sum(model_scope.warningCount) as warningCount,
|
||||
count(distinct model_scope.staffIdCard) as peopleCount,
|
||||
group_concat(distinct model_scope.staffName order by model_scope.staffName separator '、') as peopleNames
|
||||
from (
|
||||
select
|
||||
result.staff_id_card as staffIdCard,
|
||||
result.staff_name as staffName,
|
||||
json_unquote(json_extract(result.model_hit_summary_json, concat('$[', idx.idx, '].modelCode'))) as modelCode,
|
||||
json_unquote(json_extract(result.model_hit_summary_json, concat('$[', idx.idx, '].modelName'))) as modelName,
|
||||
cast(json_unquote(json_extract(
|
||||
result.model_hit_summary_json,
|
||||
concat('$[', idx.idx, '].warningCount')
|
||||
)) as unsigned) as warningCount
|
||||
from ccdi_project_overview_employee_result result
|
||||
join (
|
||||
<include refid="jsonArrayIndexSql"/>
|
||||
) idx on idx.idx < json_length(result.model_hit_summary_json)
|
||||
where result.project_id = #{projectId}
|
||||
) model_scope
|
||||
where model_scope.modelCode is not null
|
||||
group by model_scope.modelCode
|
||||
order by warningCount desc, model_scope.modelCode asc
|
||||
</select>
|
||||
|
||||
<select id="selectReportRiskPeople" resultMap="RiskModelPeopleItemResultMap">
|
||||
select
|
||||
result.project_id,
|
||||
result.staff_id_card,
|
||||
result.staff_name,
|
||||
result.staff_code,
|
||||
result.dept_name as department,
|
||||
null as selected_model_codes
|
||||
from ccdi_project_overview_employee_result result
|
||||
where result.project_id = #{projectId}
|
||||
order by case result.risk_level_code
|
||||
when 'HIGH' then 1
|
||||
when 'MEDIUM' then 2
|
||||
else 3
|
||||
end,
|
||||
result.model_count desc,
|
||||
result.rule_count desc,
|
||||
result.staff_id_card asc
|
||||
</select>
|
||||
|
||||
<select id="selectRiskModelPeoplePage" resultMap="RiskModelPeopleItemResultMap">
|
||||
<bind name="projectId" value="query.projectId"/>
|
||||
select
|
||||
@@ -615,6 +730,38 @@
|
||||
order by final_result.trxDate desc, final_result.bankStatementId desc
|
||||
</select>
|
||||
|
||||
<select id="selectReportSuspiciousTransactionList" resultMap="ReportSuspiciousTransactionResultMap">
|
||||
select
|
||||
final_result.bankStatementId,
|
||||
final_result.trxDate,
|
||||
bs.LE_ACCOUNT_NO as leAccountNo,
|
||||
bs.LE_ACCOUNT_NAME as leAccountName,
|
||||
bs.CUSTOMER_ACCOUNT_NAME as customerAccountName,
|
||||
bs.CUSTOMER_ACCOUNT_NO as customerAccountNo,
|
||||
final_result.relatedStaffName,
|
||||
final_result.relatedStaffCode,
|
||||
final_result.userMemo,
|
||||
final_result.cashType,
|
||||
tag_result.hitTags,
|
||||
final_result.displayAmount
|
||||
from (
|
||||
<include refid="suspiciousTransactionAggregatedSql"/>
|
||||
) final_result
|
||||
inner join ccdi_bank_statement bs
|
||||
on bs.bank_statement_id = final_result.bankStatementId
|
||||
left join (
|
||||
select
|
||||
tr.bank_statement_id,
|
||||
group_concat(distinct tr.rule_name order by tr.id separator '、') as hitTags
|
||||
from ccdi_bank_statement_tag_result tr
|
||||
where tr.project_id = #{query.projectId}
|
||||
and tr.bank_statement_id is not null
|
||||
group by tr.bank_statement_id
|
||||
) tag_result on tag_result.bank_statement_id = final_result.bankStatementId
|
||||
<include refid="suspiciousTransactionFilterSql"/>
|
||||
order by final_result.trxDate desc, final_result.bankStatementId desc
|
||||
</select>
|
||||
|
||||
<select id="selectEmployeeCreditNegativePage"
|
||||
resultType="com.ruoyi.ccdi.project.domain.vo.CcdiProjectEmployeeCreditNegativeItemVO">
|
||||
select
|
||||
|
||||
Reference in New Issue
Block a user