|
|
|
|
@ -1,4 +1,4 @@
|
|
|
|
|
package com.biutag.supervision.service.subDatav; |
|
|
|
|
package com.biutag.supervision.service.subDatav; |
|
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil; |
|
|
|
|
import cn.hutool.core.collection.CollectionUtil; |
|
|
|
|
@ -19,8 +19,6 @@ import com.biutag.supervision.pojo.param.negativeBlame.NegativeBlameQueryParam;
|
|
|
|
|
import com.biutag.supervision.pojo.request.datav.DataVRequest; |
|
|
|
|
import com.biutag.supervision.pojo.request.subdatav.SubDataVRequest; |
|
|
|
|
import com.biutag.supervision.pojo.vo.*; |
|
|
|
|
import com.biutag.supervision.repository.dataAudit.DataAuditResourceService; |
|
|
|
|
import com.biutag.supervision.repository.dataCaseVerif.DataCaseVerifResourceService; |
|
|
|
|
import com.biutag.supervision.repository.dataPetitionComplaint.DataPetitionComplaintResourceService; |
|
|
|
|
import com.biutag.supervision.repository.mail.MailResourceService; |
|
|
|
|
import com.biutag.supervision.repository.negative.NegativeResourceService; |
|
|
|
|
@ -28,7 +26,10 @@ import com.biutag.supervision.repository.negativeBlame.NegativeBlameResourceServ
|
|
|
|
|
import com.biutag.supervision.repository.reportproject.ReportProjectResourceService; |
|
|
|
|
import com.biutag.supervision.repository.supExternalDepart.SupExternalDepartResourceService; |
|
|
|
|
import com.biutag.supervision.repository.supdepart.SupDepartResourceService; |
|
|
|
|
import com.biutag.supervision.service.*; |
|
|
|
|
import com.biutag.supervision.service.DataMailService; |
|
|
|
|
import com.biutag.supervision.service.DataPetition12337Service; |
|
|
|
|
import com.biutag.supervision.service.NegativeBlameService; |
|
|
|
|
import com.biutag.supervision.service.SuperviseReportService; |
|
|
|
|
import com.biutag.supervision.service.datav.DatavServiceImpl; |
|
|
|
|
import jakarta.annotation.Resource; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
@ -107,6 +108,9 @@ public class SubDatavServiceImpl implements SubDatavService {
|
|
|
|
|
@Resource |
|
|
|
|
private DataCaseVerifMapper dataCaseVerifMapper; |
|
|
|
|
|
|
|
|
|
@Resource |
|
|
|
|
private SuperviseReportService superviseReportService; |
|
|
|
|
|
|
|
|
|
private static final String NO_BLAME = "不予追责"; |
|
|
|
|
|
|
|
|
|
private static final BigDecimal WAN = new BigDecimal("10000"); |
|
|
|
|
@ -557,35 +561,24 @@ public class SubDatavServiceImpl implements SubDatavService {
|
|
|
|
|
if (negatives.isEmpty()) { |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
List<Negative> completedList = negatives.stream().filter(item -> ProcessingStatusEnum.completed.name().equals(item.getProcessingStatus())).toList(); |
|
|
|
|
List<Negative> processingList = negatives.stream().filter(item -> ProcessingStatusEnum.processing.name().equals(item.getProcessingStatus())).toList(); |
|
|
|
|
List<String> negativeIds = negatives.stream() |
|
|
|
|
.filter(item -> InspectCaseEnum.isItTure(item.getCheckStatus())) |
|
|
|
|
.map(Negative::getId) |
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
|
|
long personNumber = negativeIds.isEmpty() ? 0 : negativeBlameService.count(new LambdaQueryWrapper<NegativeBlame>() |
|
|
|
|
.in(NegativeBlame::getNegativeId, negativeIds) |
|
|
|
|
.eq(NegativeBlame::getType, "personal") |
|
|
|
|
.ne(NegativeBlame::getHandleResultName, "涓嶄簣杩借矗") |
|
|
|
|
.isNotNull(NegativeBlame::getHandleResultName) |
|
|
|
|
.ne(NegativeBlame::getHandleResultName, "")); |
|
|
|
|
long departNumber = negativeIds.isEmpty() ? 0 : negativeBlameService.count(new LambdaQueryWrapper<NegativeBlame>() |
|
|
|
|
.in(NegativeBlame::getNegativeId, negativeIds) |
|
|
|
|
.eq(NegativeBlame::getType, "department") |
|
|
|
|
.ne(NegativeBlame::getHandleResultName, "涓嶄簣杩借矗") |
|
|
|
|
.isNotNull(NegativeBlame::getHandleResultName) |
|
|
|
|
.ne(NegativeBlame::getHandleResultName, "")); |
|
|
|
|
|
|
|
|
|
// 通报期数
|
|
|
|
|
LambdaQueryWrapper<SuperviseReport> superviseReportLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
|
|
|
|
superviseReportLambdaQueryWrapper.between(SuperviseReport::getCrtTime, request.getBeginTime(), request.getEndTime()); |
|
|
|
|
superviseReportLambdaQueryWrapper.eq(SuperviseReport::getType, "1"); |
|
|
|
|
superviseReportLambdaQueryWrapper.eq(SuperviseReport::getCrtDepartId, request.getDepartId()); |
|
|
|
|
List<SuperviseReport> superviseReportList = superviseReportService.list(superviseReportLambdaQueryWrapper); |
|
|
|
|
DatavServiceImpl.BlameResult blameResult = this.buildBlameResult(negatives); |
|
|
|
|
SuperviseMapIconVo superviseMapIconVo = new SuperviseMapIconVo(); |
|
|
|
|
superviseMapIconVo.setName(supDepart.getShortName()); |
|
|
|
|
superviseMapIconVo.setDepartId(supDepart.getId()); |
|
|
|
|
superviseMapIconVo.setTotalPro(negatives.size()); |
|
|
|
|
superviseMapIconVo.setCompletedNumber(completedList.size()); |
|
|
|
|
superviseMapIconVo.setProcessingNumber(processingList.size()); |
|
|
|
|
superviseMapIconVo.setPersonNum(String.valueOf(personNumber)); |
|
|
|
|
superviseMapIconVo.setRelationOrg(String.valueOf(departNumber)); |
|
|
|
|
superviseMapIconVo.setPersonNum(String.valueOf(blameResult.personalBlames().size() + blameResult.leadBlames().size())); |
|
|
|
|
superviseMapIconVo.setRelationOrg(String.valueOf(blameResult.unitBlames().size())); |
|
|
|
|
superviseMapIconVo.setReportNumber(String.valueOf(superviseReportList.size())); |
|
|
|
|
superviseTempMapVoList.add(superviseMapIconVo); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -596,77 +589,30 @@ public class SubDatavServiceImpl implements SubDatavService {
|
|
|
|
|
@Override |
|
|
|
|
public Result<JSONObject> getAllSubOneSupervisionNotifyCount(SubDataVRequest request) { |
|
|
|
|
SupervisionNotifyOverView overView = new SupervisionNotifyOverView(); |
|
|
|
|
List<SupDepart> policeDeparts = supDepartMapper.selectPoliceDeparts(Integer.valueOf(request.getDepartId())); |
|
|
|
|
List<String> proCode = List.of(XCDC.getValue(), LMGZ.getValue(), ZXDC.getValue()); |
|
|
|
|
|
|
|
|
|
long problemNumber = 0L; |
|
|
|
|
long processingNumber = 0L; |
|
|
|
|
long completedNumber = 0L; |
|
|
|
|
long reportNumber = 0L; |
|
|
|
|
long departNumber = 0L; |
|
|
|
|
long personNumber = 0L; |
|
|
|
|
|
|
|
|
|
for (SupDepart supDepart : policeDeparts) { |
|
|
|
|
List<Negative> negatives = negativeMapper.getNegativeListData(supDepart.getId(), request.getBeginTime(), request.getEndTime(), proCode); |
|
|
|
|
if (CollectionUtil.isEmpty(negatives)) { |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
List<Negative> completedList = negatives.stream() |
|
|
|
|
.filter(item -> ProcessingStatusEnum.completed.name().equals(item.getProcessingStatus())) |
|
|
|
|
.toList(); |
|
|
|
|
List<Negative> processingList = negatives.stream() |
|
|
|
|
.filter(item -> ProcessingStatusEnum.processing.name().equals(item.getProcessingStatus())) |
|
|
|
|
.toList(); |
|
|
|
|
List<String> negativeIds = negatives.stream() |
|
|
|
|
.filter(item -> CheckStatusEnum.TRUE_SET.contains(item.getCheckStatusCode()) |
|
|
|
|
|| CheckStatusEnum.PART_TRUE_SET.contains(item.getCheckStatusCode())) |
|
|
|
|
.map(Negative::getId) |
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
|
|
List<NegativeBlame> negativeBlames = Collections.emptyList(); |
|
|
|
|
if (!negativeIds.isEmpty()) { |
|
|
|
|
NegativeBlameQueryParam negativeBlameQueryParam = new NegativeBlameQueryParam(); |
|
|
|
|
negativeBlameQueryParam.setNegativeIds(negativeIds); |
|
|
|
|
negativeBlames = negativeBlameResourceService.query(negativeBlameQueryParam); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
List<NegativeBlame> personalBlames = negativeBlames.stream() |
|
|
|
|
.filter(one -> BlameType.personal.name().equals(one.getType())) |
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getHandleResultName())) |
|
|
|
|
.filter(one -> !"不予追责".equals(one.getHandleResultName())) |
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
|
|
Set<String> seenLead = new HashSet<>(); |
|
|
|
|
List<NegativeBlame> leadBlames = negativeBlames.stream() |
|
|
|
|
.filter(one -> BlameType.personal.name().equals(one.getType())) |
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getLeadHandleResultName())) |
|
|
|
|
.filter(one -> !"不予追责".equals(one.getLeadHandleResultName())) |
|
|
|
|
.filter(one -> seenLead.add( |
|
|
|
|
one.getNegativeId() + "_" + one.getLeadHandleResultName() + "_" + one.getLeadName() |
|
|
|
|
)) |
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
|
|
List<NegativeBlame> unitBlames = negativeBlames.stream() |
|
|
|
|
.filter(one -> BlameType.department.name().equals(one.getType())) |
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getHandleResultName())) |
|
|
|
|
.filter(one -> !"不予追责".equals(one.getHandleResultName())) |
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
|
|
problemNumber += negatives.size(); |
|
|
|
|
processingNumber += processingList.size(); |
|
|
|
|
completedNumber += completedList.size(); |
|
|
|
|
reportNumber += 0L; |
|
|
|
|
departNumber += unitBlames.size(); |
|
|
|
|
personNumber += personalBlames.size() + leadBlames.size(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
overView.setProblemNumber(Math.toIntExact(problemNumber)); |
|
|
|
|
overView.setProcessingNumber(processingNumber); |
|
|
|
|
overView.setCompletedNumber(completedNumber); |
|
|
|
|
overView.setReportNumber(reportNumber); |
|
|
|
|
overView.setDepartNumber(departNumber); |
|
|
|
|
overView.setPersonNumber(personNumber); |
|
|
|
|
List<Negative> negatives = negativeMapper.getNegativeListData(request.getDepartId(), request.getBeginTime(), request.getEndTime(), proCode); |
|
|
|
|
List<Negative> completedList = negatives.stream().filter(item -> ProcessingStatusEnum.completed.name().equals(item.getProcessingStatus())).toList(); |
|
|
|
|
List<Negative> processingList = negatives.stream().filter(item -> ProcessingStatusEnum.processing.name().equals(item.getProcessingStatus())).toList(); |
|
|
|
|
SupDepartGroupParam supDepartGroupParam = new SupDepartGroupParam(); |
|
|
|
|
supDepartGroupParam.setGroupId(DepartGroupEnum.COUNTY_CITY_BUREAUS.getId()); |
|
|
|
|
supDepartGroupParam.setParentLevel(2); |
|
|
|
|
supDepartGroupParam.setChildLevel(3); |
|
|
|
|
Map<String, DepartAndSubDepartDto> departAndSubDepart = supDepartResourceService.getDepartAndSubDepart(supDepartGroupParam); |
|
|
|
|
Set<String> allDepartIds = Optional.ofNullable(departAndSubDepart.get(request.getDepartId())) |
|
|
|
|
.map(DepartAndSubDepartDto::getAllDepartIds) |
|
|
|
|
.orElse(Collections.emptySet()); |
|
|
|
|
LambdaQueryWrapper<SuperviseReport> superviseReportLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
|
|
|
|
superviseReportLambdaQueryWrapper.between(SuperviseReport::getCrtTime, request.getBeginTime(), request.getEndTime()); |
|
|
|
|
superviseReportLambdaQueryWrapper.eq(SuperviseReport::getType, "1"); |
|
|
|
|
superviseReportLambdaQueryWrapper.in(CollectionUtil.isNotEmpty(allDepartIds), SuperviseReport::getCrtDepartId, allDepartIds); |
|
|
|
|
List<SuperviseReport> superviseReportList = superviseReportService.list(superviseReportLambdaQueryWrapper); |
|
|
|
|
DatavServiceImpl.BlameResult blameResult = this.buildBlameResult(negatives); |
|
|
|
|
overView.setProblemNumber(negatives.size()); |
|
|
|
|
overView.setProcessingNumber((long) processingList.size()); |
|
|
|
|
overView.setCompletedNumber((long) completedList.size()); |
|
|
|
|
overView.setReportNumber((long) superviseReportList.size()); |
|
|
|
|
overView.setDepartNumber((long) blameResult.unitBlames().size()); |
|
|
|
|
overView.setPersonNumber((long) (blameResult.leadBlames().size() + blameResult.personalBlames().size())); |
|
|
|
|
return Result.success(new JSONObject().fluentPut("overview", overView)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -1318,7 +1264,7 @@ public class SubDatavServiceImpl implements SubDatavService {
|
|
|
|
|
|
|
|
|
|
public DatavServiceImpl.BlameResult buildBlameResult(List<Negative> negativeListData) { |
|
|
|
|
if (CollUtil.isEmpty(negativeListData)) { |
|
|
|
|
return new DatavServiceImpl.BlameResult(List.of(), List.of()); |
|
|
|
|
return new DatavServiceImpl.BlameResult(List.of(), List.of(), List.of()); |
|
|
|
|
} |
|
|
|
|
// 1. 筛选有效 negative
|
|
|
|
|
List<Negative> validNegatives = negativeListData.stream() |
|
|
|
|
@ -1326,7 +1272,7 @@ public class SubDatavServiceImpl implements SubDatavService {
|
|
|
|
|
|| CheckStatusEnum.PART_TRUE_SET.contains(one.getCheckStatusCode())) |
|
|
|
|
.toList(); |
|
|
|
|
if (CollUtil.isEmpty(validNegatives)) { |
|
|
|
|
return new DatavServiceImpl.BlameResult(List.of(), List.of()); |
|
|
|
|
return new DatavServiceImpl.BlameResult(List.of(), List.of(), List.of()); |
|
|
|
|
} |
|
|
|
|
// 2. 查询问责数据
|
|
|
|
|
NegativeBlameQueryParam param = new NegativeBlameQueryParam(); |
|
|
|
|
@ -1335,7 +1281,7 @@ public class SubDatavServiceImpl implements SubDatavService {
|
|
|
|
|
.toList()); |
|
|
|
|
List<NegativeBlame> negativeBlames = negativeBlameResourceService.query(param); |
|
|
|
|
if (CollUtil.isEmpty(negativeBlames)) { |
|
|
|
|
return new DatavServiceImpl.BlameResult(List.of(), List.of()); |
|
|
|
|
return new DatavServiceImpl.BlameResult(List.of(), List.of(), List.of()); |
|
|
|
|
} |
|
|
|
|
// 3. 个人问责
|
|
|
|
|
List<NegativeBlame> personalBlames = negativeBlames.stream() |
|
|
|
|
@ -1352,7 +1298,13 @@ public class SubDatavServiceImpl implements SubDatavService {
|
|
|
|
|
one.getNegativeId() + "_" + one.getLeadHandleResultName() + "_" + one.getLeadName() |
|
|
|
|
)) |
|
|
|
|
.toList(); |
|
|
|
|
return new DatavServiceImpl.BlameResult(personalBlames, leadBlames); |
|
|
|
|
// 5. 单位问责
|
|
|
|
|
List<NegativeBlame> unitBlames = negativeBlames.stream() |
|
|
|
|
.filter(one -> BlameType.department.name().equals(one.getType())) |
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getHandleResultName())) |
|
|
|
|
.filter(one -> !"不予追责".equals(one.getHandleResultName())) |
|
|
|
|
.toList(); |
|
|
|
|
return new DatavServiceImpl.BlameResult(personalBlames, leadBlames, unitBlames); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private LocalDateTime toLocalDateTime(Date date) { |
|
|
|
|
|