Commit 6b282219 authored by hcing's avatar hcing

feat(tcm): 优化风险报告查询和展示逻辑

parent 88b4a945
...@@ -127,4 +127,7 @@ public class RiskReportDto extends BaseDto { ...@@ -127,4 +127,7 @@ public class RiskReportDto extends BaseDto {
@ApiModelProperty(value = "风险处置单位") @ApiModelProperty(value = "风险处置单位")
private List<RiskProcesses> riskProcesses; private List<RiskProcesses> riskProcesses;
@ApiModelProperty(value = "是否显示【确认已处置】")
private Boolean showConfirmDisposal = false;
} }
...@@ -63,25 +63,32 @@ ...@@ -63,25 +63,32 @@
select * FROM select * FROM
( (
SELECT * FROM ( SELECT * FROM (
-- 风险单位
-- 风险单位 只显示下发整改和整改上报后的
<include refid="baseSelectForRiskReport"/> <include refid="baseSelectForRiskReport"/>
FROM tzs_risk_report AS rr1 FROM tzs_risk_report AS rr1
WHERE rr1."risk_company_code" = #{dto.riskCompanyCode} WHERE rr1."risk_company_code" = #{dto.riskCompanyCode} AND rr1."current_status" != '草稿' AND
rr1."current_status" != '待处理'
AND EXISTS (
SELECT 1
FROM tzs_risk_processes trp
WHERE rr1."sequence_nbr" = trp."risk_report_seq" AND trp."disposal_way_code" = '10003'
)
UNION UNION
-- 报送单位(排除草稿) -- 报送单位
<include refid="baseSelectForRiskReport"/> <include refid="baseSelectForRiskReport"/>
FROM tzs_risk_report AS rr2 FROM tzs_risk_report AS rr2
WHERE rr2."report_company_code" = #{dto.reportCompanyCode} WHERE rr2."report_company_code" = #{dto.reportCompanyCode} AND rr2."current_status" != '草稿'
AND rr2."current_status" != '草稿'
<!-- 处置单位 --> <!-- 处置单位 -->
<if test='dto.unitType != null and dto.unitType != "" and dto.unitType == "supervision"'> <if test='dto.unitType != null and dto.unitType != "" and dto.unitType == "supervision"'>
UNION UNION
<include refid="baseSelectForRiskReport"/> <include refid="baseSelectForRiskReport"/>
FROM tzs_risk_report AS rr3 FROM tzs_risk_report AS rr3
WHERE rr3."all_risk_disposal_unit_org_code" like CONCAT('%', #{dto.riskDisposalUnitOrgCode}, '%') WHERE rr3."current_status" != '草稿' AND rr3."all_risk_disposal_unit_org_code" like CONCAT('%',
#{dto.riskDisposalUnitOrgCode}, '%')
</if> </if>
<!-- 自己的草稿状态 --> <!-- 自己的草稿状态 -->
......
...@@ -45,6 +45,7 @@ import java.util.*; ...@@ -45,6 +45,7 @@ import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream;
/** /**
* 风险报送表服务实现类 * 风险报送表服务实现类
...@@ -110,6 +111,9 @@ public class RiskReportServiceImpl extends BaseService<RiskReport, RiskReport, R ...@@ -110,6 +111,9 @@ public class RiskReportServiceImpl extends BaseService<RiskReport, RiskReport, R
log.info("查询企业的监管机构:{}", enterSeq); log.info("查询企业的监管机构:{}", enterSeq);
Map<String, String> company = riskReportMapper.getCompanyBySeq(enterSeq); Map<String, String> company = riskReportMapper.getCompanyBySeq(enterSeq);
CompanyModel companyModel = Privilege.companyClient.seleteOne(Long.parseLong(String.valueOf(company.get("companyParentId")))).getResult(); CompanyModel companyModel = Privilege.companyClient.seleteOne(Long.parseLong(String.valueOf(company.get("companyParentId")))).getResult();
if (ObjectUtils.isEmpty(companyModel)) {
return new JSONObject();
}
return new JSONObject().fluentPut("key", companyModel.getSequenceNbr()) return new JSONObject().fluentPut("key", companyModel.getSequenceNbr())
.fluentPut("value", companyModel.getSequenceNbr() + "_" + companyModel.getCompanyName()) .fluentPut("value", companyModel.getSequenceNbr() + "_" + companyModel.getCompanyName())
.fluentPut("label", companyModel.getCompanyName()); .fluentPut("label", companyModel.getCompanyName());
...@@ -171,7 +175,7 @@ public class RiskReportServiceImpl extends BaseService<RiskReport, RiskReport, R ...@@ -171,7 +175,7 @@ public class RiskReportServiceImpl extends BaseService<RiskReport, RiskReport, R
String[] riskDisposalUnit = ObjectUtils.isEmpty(dto.getRiskDisposalUnit()) ? new String[]{} : dto.getRiskDisposalUnit().split("_"); String[] riskDisposalUnit = ObjectUtils.isEmpty(dto.getRiskDisposalUnit()) ? new String[]{} : dto.getRiskDisposalUnit().split("_");
Map<String, String> riskCompanyMap = new HashMap<>(); Map<String, String> riskCompanyMap = new HashMap<>();
Map<String, String> riskDisposalUnitMap = new HashMap<>(); Map<String, String> riskDisposalUnitMap = new HashMap<>();
if (riskCompany.length > 1 && riskDisposalUnit.length > 1) { if (riskCompany.length > 0 && riskDisposalUnit.length > 0) {
riskCompanyMap = this.getCompanyBySeq(riskCompany[0]); riskCompanyMap = this.getCompanyBySeq(riskCompany[0]);
riskDisposalUnitMap = this.getCompanyBySeq(riskDisposalUnit[0]); riskDisposalUnitMap = this.getCompanyBySeq(riskDisposalUnit[0]);
} }
...@@ -214,10 +218,11 @@ public class RiskReportServiceImpl extends BaseService<RiskReport, RiskReport, R ...@@ -214,10 +218,11 @@ public class RiskReportServiceImpl extends BaseService<RiskReport, RiskReport, R
if (!ObjectUtils.isEmpty(sequenceNbr)) { if (!ObjectUtils.isEmpty(sequenceNbr)) {
String riskDisposalUnitOrgCode = riskReportMapper.getRiskDisposalUnitOrgCode(sequenceNbr); String riskDisposalUnitOrgCode = riskReportMapper.getRiskDisposalUnitOrgCode(sequenceNbr);
if (!ObjectUtils.isEmpty(riskDisposalUnitOrgCode)) { if (!ObjectUtils.isEmpty(riskDisposalUnitOrgCode)) {
String collect = Arrays.stream(riskDisposalUnitOrgCode.split(",")) return String.join(",", Stream.concat(
.filter(item -> !item.equals(defaultOrgCode)) Arrays.stream(riskDisposalUnitOrgCode.split(",")),
.collect(Collectors.joining(",")); Stream.of(defaultOrgCode)
return defaultOrgCode + "," + collect; ).collect(Collectors.toSet())
);
} }
} }
return defaultOrgCode; return defaultOrgCode;
...@@ -278,17 +283,20 @@ public class RiskReportServiceImpl extends BaseService<RiskReport, RiskReport, R ...@@ -278,17 +283,20 @@ public class RiskReportServiceImpl extends BaseService<RiskReport, RiskReport, R
@Override @Override
public RiskReportDto selectRiskDetail(Long sequenceNbr) { public RiskReportDto selectRiskDetail(Long sequenceNbr) {
CompanyBo company = getSelectedOrgInfo().getCompany();
RiskReport riskReport = this.baseMapper.selectOne(new LambdaQueryWrapper<RiskReport>() RiskReport riskReport = this.baseMapper.selectOne(new LambdaQueryWrapper<RiskReport>()
.select(RiskReport::getSequenceNbr, .select(RiskReport::getSequenceNbr,
RiskReport::getReportNo, RiskReport::getReportNo,
RiskReport::getRiskTypeCode, RiskReport::getRiskTypeCode,
RiskReport::getRiskTypeName, RiskReport::getRiskTypeName,
RiskReport::getReportCompanySeq, RiskReport::getReportCompanySeq,
RiskReport::getReportCompanyCode,
RiskReport::getReportCompanyName, RiskReport::getReportCompanyName,
RiskReport::getRiskCompanySeq, RiskReport::getRiskCompanySeq,
RiskReport::getRiskCompanyName, RiskReport::getRiskCompanyName,
RiskReport::getRiskDisposalUnitSeq, RiskReport::getRiskDisposalUnitSeq,
RiskReport::getRiskDisposalUnitName, RiskReport::getRiskDisposalUnitName,
RiskReport::getRiskDisposalUnitCode,
RiskReport::getRiskDisposalUnitOrgCode, RiskReport::getRiskDisposalUnitOrgCode,
RiskReport::getAllRiskDisposalUnitOrgCode, RiskReport::getAllRiskDisposalUnitOrgCode,
RiskReport::getRiskEquipRecord, RiskReport::getRiskEquipRecord,
...@@ -306,14 +314,18 @@ public class RiskReportServiceImpl extends BaseService<RiskReport, RiskReport, R ...@@ -306,14 +314,18 @@ public class RiskReportServiceImpl extends BaseService<RiskReport, RiskReport, R
RiskReport::getReportUserPhone RiskReport::getReportUserPhone
) )
.eq(RiskReport::getSequenceNbr, sequenceNbr)); .eq(RiskReport::getSequenceNbr, sequenceNbr));
boolean isDisposalUnit = Arrays.stream(Objects.toString(riskReport.getAllRiskDisposalUnitOrgCode(), "").split(",")).anyMatch(item -> company.getOrgCode().equals(item));
List<RiskProcesses> riskProcesses = riskProcessesService.getBaseMapper().selectList(new LambdaQueryWrapper<RiskProcesses>() List<RiskProcesses> riskProcesses = riskProcessesService.getBaseMapper().selectList(new LambdaQueryWrapper<RiskProcesses>()
// 排除转办的记录 // 非处置单位或上报单位 排除转办的记录
// .ne(RiskProcesses::getDisposalWayCode, DisposalMethodEnums.REPORT_FOR_WARDE.getCode()) .ne(!isDisposalUnit && !riskReport.getReportCompanyCode().equals(company.getCompanyCode()), RiskProcesses::getDisposalWayCode, DisposalMethodEnums.REPORT_FOR_WARDE.getCode())
.eq(RiskProcesses::getRiskReportSeq, sequenceNbr) .eq(RiskProcesses::getRiskReportSeq, sequenceNbr)
.eq(RiskProcesses::getIsDelete, Boolean.FALSE) .eq(RiskProcesses::getIsDelete, Boolean.FALSE)
.orderByAsc(RiskProcesses::getCreateDate)); .orderByAsc(RiskProcesses::getCreateDate));
RiskReportDto riskReportDto = new RiskReportDto(); RiskReportDto riskReportDto = new RiskReportDto();
BeanUtils.copyProperties(riskReport, riskReportDto); BeanUtils.copyProperties(riskReport, riskReportDto);
// 清除单位code,避免泄露信息
riskReportDto.setRiskDisposalUnitCode(null);
riskReportDto.setReportCompanyCode(null);
riskReportDto.setRiskProcesses(riskProcesses); riskReportDto.setRiskProcesses(riskProcesses);
if (riskReport.getRiskCompanySeq() != null) { if (riskReport.getRiskCompanySeq() != null) {
riskReportDto.setRiskCompany(riskReport.getRiskCompanySeq() + "_" + riskReport.getRiskCompanyName()); riskReportDto.setRiskCompany(riskReport.getRiskCompanySeq() + "_" + riskReport.getRiskCompanyName());
...@@ -322,6 +334,9 @@ public class RiskReportServiceImpl extends BaseService<RiskReport, RiskReport, R ...@@ -322,6 +334,9 @@ public class RiskReportServiceImpl extends BaseService<RiskReport, RiskReport, R
riskReportDto.setRiskDisposalUnit(riskReport.getRiskDisposalUnitSeq() + "_" + riskReport.getRiskDisposalUnitName()); riskReportDto.setRiskDisposalUnit(riskReport.getRiskDisposalUnitSeq() + "_" + riskReport.getRiskDisposalUnitName());
} }
riskReportDto.setRiskMainFile(JSONArray.parseArray(riskReport.getRiskMainFile())); riskReportDto.setRiskMainFile(JSONArray.parseArray(riskReport.getRiskMainFile()));
// 是否显示【确认已处置】
RiskProcesses hasReport = riskProcesses.stream().filter(item -> item.getDisposalWayCode().equals(DisposalMethodEnums.REPORT_DISPOSAL.getCode())).findFirst().orElse(null);
riskReportDto.setShowConfirmDisposal(hasReport != null);
return riskReportDto; return riskReportDto;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment