@ -13,9 +13,12 @@ import com.biutag.supervision.pojo.dto.common.BarItem;
import com.biutag.supervision.pojo.dto.common.PieItem ;
import com.biutag.supervision.pojo.dto.common.PieItem ;
import com.biutag.supervision.pojo.entity.* ;
import com.biutag.supervision.pojo.entity.* ;
import com.biutag.supervision.pojo.entity.mailbox.Mail ;
import com.biutag.supervision.pojo.entity.mailbox.Mail ;
import com.biutag.supervision.pojo.entity.report.ReportProject ;
import com.biutag.supervision.pojo.param.* ;
import com.biutag.supervision.pojo.param.* ;
import com.biutag.supervision.pojo.param.dataAudit.DataAuditQueryParam ;
import com.biutag.supervision.pojo.request.subdatav.SubDataVRequest ;
import com.biutag.supervision.pojo.request.subdatav.SubDataVRequest ;
import com.biutag.supervision.pojo.vo.* ;
import com.biutag.supervision.pojo.vo.* ;
import com.biutag.supervision.repository.dataAudit.DataAuditResourceService ;
import com.biutag.supervision.repository.dataPetitionComplaint.DataPetitionComplaintResourceService ;
import com.biutag.supervision.repository.dataPetitionComplaint.DataPetitionComplaintResourceService ;
import com.biutag.supervision.repository.mail.MailResourceService ;
import com.biutag.supervision.repository.mail.MailResourceService ;
import com.biutag.supervision.repository.negative.NegativeResourceService ;
import com.biutag.supervision.repository.negative.NegativeResourceService ;
@ -30,6 +33,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal ;
import java.math.BigDecimal ;
import java.math.RoundingMode ;
import java.math.RoundingMode ;
import java.time.ZoneId ;
import java.util.* ;
import java.util.* ;
import java.util.stream.Collectors ;
import java.util.stream.Collectors ;
import java.util.stream.Stream ;
import java.util.stream.Stream ;
@ -45,6 +49,10 @@ import static com.biutag.supervision.constants.enums.ProblemSourcesEnum.*;
@Service
@Service
public class SubDatavServiceImpl implements SubDatavService {
public class SubDatavServiceImpl implements SubDatavService {
@Resource
private DataAuditResourceService dataAuditResourceService ;
@Resource
@Resource
private ReportProjectResourceService reportProjectResourceService ;
private ReportProjectResourceService reportProjectResourceService ;
@ -95,6 +103,9 @@ public class SubDatavServiceImpl implements SubDatavService {
private AccountabilityCountUtil accountabilityCountUtil ;
private AccountabilityCountUtil accountabilityCountUtil ;
@Resource
private DataPetition12337Mapper dataPetition12337Mapper ;
private final String VALID_SIGN = "terminated" ;
private final String VALID_SIGN = "terminated" ;
private final String EX_SOURCE = "局长信箱" ;
private final String EX_SOURCE = "局长信箱" ;
@ -123,26 +134,32 @@ public class SubDatavServiceImpl implements SubDatavService {
} )
} )
. toList ( ) ;
. toList ( ) ;
List < Date > dates = Arrays . asList ( request . getBeginTime ( ) , request . getEndTime ( ) ) ;
for ( SupDepart pcs : pcsList ) {
for ( SupDepart pcs : pcsList ) {
List < Negative > negatives = negativeMapper . getNegativeListData ( pcs . getId ( ) , request . getBeginTime ( ) , request . getEndTime ( ) , ALL ) ;
if ( negatives . isEmpty ( ) ) {
NegativeQueryParam negativeQueryParam = new NegativeQueryParam ( ) ;
continue ;
negativeQueryParam . setCrtTime ( dates ) ;
}
negativeQueryParam . setInvolveDepartIds ( Collections . singleton ( pcs . getId ( ) ) ) ;
OrganizeProblemRankVo organizeProblemRankVo = new OrganizeProblemRankVo ( ) ;
// 问题数
organizeProblemRankVo . setLabel ( pcs . getShortName ( ) ) ;
long count = negativeResourceService . count ( negativeQueryParam ) ;
organizeProblemRankVo . setValue ( String . valueOf ( negatives . size ( ) ) ) ;
OrganizeProblemRankVo organizeProblemRankVo = OrganizeProblemRankVo . of ( pcs . getShortName ( ) ) ;
if ( count > 0 ) {
organizeProblemRankVo . setValue ( String . valueOf ( count ) ) ;
fxsjlist . add ( organizeProblemRankVo ) ;
fxsjlist . add ( organizeProblemRankVo ) ;
}
}
for ( SupDepart dw : dwList ) {
List < Negative > negatives = negativeMapper . getNegativeListData ( dw . getId ( ) , request . getBeginTime ( ) , request . getEndTime ( ) , ALL ) ;
if ( negatives . isEmpty ( ) ) {
continue ;
}
}
OrganizeProblemRankVo organizeProblemRankVo = new OrganizeProblemRankVo ( ) ;
for ( SupDepart dw : dwList ) {
organizeProblemRankVo . setLabel ( dw . getShortName ( ) ) ;
NegativeQueryParam negativeQueryParam = new NegativeQueryParam ( ) ;
organizeProblemRankVo . setValue ( String . valueOf ( negatives . size ( ) ) ) ;
negativeQueryParam . setCrtTime ( dates ) ;
negativeQueryParam . setInvolveDepartIds ( Collections . singleton ( dw . getId ( ) ) ) ;
// 问题数
long count = negativeResourceService . count ( negativeQueryParam ) ;
OrganizeProblemRankVo organizeProblemRankVo = OrganizeProblemRankVo . of ( dw . getShortName ( ) ) ;
if ( count > 0 ) {
organizeProblemRankVo . setValue ( String . valueOf ( count ) ) ;
jsdwlist . add ( organizeProblemRankVo ) ;
jsdwlist . add ( organizeProblemRankVo ) ;
}
}
}
// 排序
// 排序
fxsjlist . sort (
fxsjlist . sort (
@ -188,13 +205,17 @@ public class SubDatavServiceImpl implements SubDatavService {
szdcQueryParam . setProblemSourcesCode ( ProblemSourcesEnum . GROUP_14_15_16 ) ;
szdcQueryParam . setProblemSourcesCode ( ProblemSourcesEnum . GROUP_14_15_16 ) ;
long szdcCount = negativeResourceService . count ( szdcQueryParam ) ;
long szdcCount = negativeResourceService . count ( szdcQueryParam ) ;
// 案件核查
// 案件核查
List < String > proCode = List . of ( A12389 . getValue ( ) , SLDJB . getValue ( ) , ZDDJB . getValue ( ) , SJJB . getValue ( ) , STXF . getValue ( ) ) ;
LambdaQueryWrapper < DataCaseVerif > dataCaseVerifLambdaQueryWrapper = new LambdaQueryWrapper < > ( ) ;
LambdaQueryWrapper < DataCaseVerif > dataCaseVerifLambdaQueryWrapper = new LambdaQueryWrapper < > ( ) ;
dataCaseVerifLambdaQueryWrapper . between ( DataCaseVerif : : getCreateTime , request . getBeginTime ( ) , request . getEndTime ( ) ) ;
dataCaseVerifLambdaQueryWrapper . between ( DataCaseVerif : : getCreateTime , request . getBeginTime ( ) , request . getEndTime ( ) ) ;
List < DataCaseVerif > dataCaseVerifs = dataCaseVerifMapper . getListData ( request . getDepartId ( ) , request . getBeginTime ( ) , request . getEndTime ( ) ) ;
dataCaseVerifLambdaQueryWrapper . in ( DataCaseVerif : : getSecondDepartId , request . getDepartId ( ) ) ;
List < Negative > negatives = negativeMapper . getNegativeListData ( request . getDepartId ( ) , request . getBeginTime ( ) , request . getEndTime ( ) , proCode ) ;
List < DataCaseVerif > dataCaseVerifs = dataCaseVerifMapper . selectList ( dataCaseVerifLambdaQueryWrapper ) ;
NegativeQueryParam negativeQueryParam = new NegativeQueryParam ( ) ;
negativeQueryParam . setCrtTime ( List . of ( request . getBeginTime ( ) , request . getEndTime ( ) ) ) ;
negativeQueryParam . setProblemSourcesCode ( List . of ( A12389 . getValue ( ) , SLDJB . getValue ( ) , ZDDJB . getValue ( ) , SJJB . getValue ( ) ) ) ;
List < Negative > negatives = negativeResourceService . query ( negativeQueryParam ) ;
// 交办案件数
// 交办案件数
List < Negative > jbNegatvieList = negatives . stream ( ) . filter ( one - > proCode . contains ( one . getProblemSourcesCode ( ) ) ) . toList ( ) ;
Set < String > ldjbCode = Set . of ( SLDJB . getValue ( ) , ZDDJB . getValue ( ) , SJJB . getValue ( ) ) ;
List < Negative > jbNegatvieList = negatives . stream ( ) . filter ( one - > ldjbCode . contains ( one . getProblemSourcesCode ( ) ) ) . toList ( ) ;
long ajhcCount = dataCaseVerifs . size ( ) + jbNegatvieList . size ( ) ;
long ajhcCount = dataCaseVerifs . size ( ) + jbNegatvieList . size ( ) ;
@ -205,17 +226,23 @@ public class SubDatavServiceImpl implements SubDatavService {
List < SupExternalDepart > supExternalDepartList = supExternalDepartResourceService . query ( supExternalDepartQueryParam ) ;
List < SupExternalDepart > supExternalDepartList = supExternalDepartResourceService . query ( supExternalDepartQueryParam ) ;
Set < String > supExternalDepartIdSet = supExternalDepartList . stream ( ) . map ( SupExternalDepart : : getExternalId ) . collect ( Collectors . toSet ( ) ) ;
Set < String > supExternalDepartIdSet = supExternalDepartList . stream ( ) . map ( SupExternalDepart : : getExternalId ) . collect ( Collectors . toSet ( ) ) ;
MailQueryParam mailQueryParam = new MailQueryParam ( ) ;
LambdaQueryWrapper < Mail > mailQueryWrapper = new LambdaQueryWrapper < > ( ) ;
mailQueryParam . setSecondDeptIds ( supExternalDepartIdSet ) ;
mailQueryWrapper . ne ( Mail : : getMailState , VALID_SIGN ) ;
mailQueryParam . setMailTime ( dates ) ;
mailQueryWrapper . in ( Mail : : getSecondDeptId , supExternalDepartIdSet ) ;
long mailCount = mailResourceService . count ( mailQueryParam ) ;
mailQueryWrapper . between ( Mail : : getMailTime , request . getBeginTime ( ) , request . getEndTime ( ) ) ;
long mailCount = mailMapper . selectCount ( mailQueryWrapper ) ;
// 12337
// 12337
NegativeQueryParam xf12337Param = new NegativeQueryParam ( ) ;
QueryWrapper < DataPetition12337 > queryWrapper12337 = new QueryWrapper < > ( ) ;
xf12337Param . setCrtTime ( dates ) ;
queryWrapper12337 . between ( "discover_time" , request . getBeginTime ( ) , request . getEndTime ( ) ) ;
xf12337Param . setProblemSourcesCode ( Collections . singletonList ( ProblemSourcesEnum . XF12337 . getValue ( ) ) ) ;
queryWrapper12337 . and ( wrapper - > wrapper
xf12337Param . setInvolveDepartIds ( allDepartIds ) ;
. in ( "third_depart_id" , allDepartIds )
long xf12337Count = negativeResourceService . count ( xf12337Param ) ;
. or ( )
. in ( "second_depart_id" , allDepartIds ) ) ;
long xf12337Count = dataPetition12337Mapper . selectCount ( queryWrapper12337 ) ;
// 国家信访
// 国家信访
DataPetitionComplaintQueryParam countryParam = new DataPetitionComplaintQueryParam ( ) ;
DataPetitionComplaintQueryParam countryParam = new DataPetitionComplaintQueryParam ( ) ;
countryParam . setCreateTime ( dates ) ;
countryParam . setCreateTime ( dates ) ;
@ -231,10 +258,18 @@ public class SubDatavServiceImpl implements SubDatavService {
// 审计项目数
// 审计项目数
ReportProjectQueryParam reportProjectQueryParam = new ReportProjectQueryParam ( ) ;
ReportProjectQueryParam reportProjectQueryParam = new ReportProjectQueryParam ( ) ;
reportProjectQueryParam . setArchivingStart ( request . getBeginTime ( ) ) ;
reportProjectQueryParam . setPublicationDateStart ( request . getBeginTime ( ) ) ;
reportProjectQueryParam . setArchivingEnd ( request . getEndTime ( ) ) ;
reportProjectQueryParam . setPublicationDateEnd ( request . getEndTime ( ) ) ;
reportProjectQueryParam . setAuditUnitIds ( allDepartIds ) ;
// 用报审单位
long sjxmCount = reportProjectResourceService . count ( reportProjectQueryParam ) ;
reportProjectQueryParam . setProjectUnitIds ( Collections . singleton ( request . getDepartId ( ) ) ) ;
List < ReportProject > reportProjects = reportProjectResourceService . query ( reportProjectQueryParam ) ;
// 其他项目总数
DataAuditQueryParam dataAuditQueryParam = new DataAuditQueryParam ( ) ;
dataAuditQueryParam . setAuditTimeStart ( request . getBeginTime ( ) . toInstant ( ) . atZone ( ZoneId . systemDefault ( ) ) . toLocalDateTime ( ) ) ;
dataAuditQueryParam . setAuditTimeEnd ( request . getEndTime ( ) . toInstant ( ) . atZone ( ZoneId . systemDefault ( ) ) . toLocalDateTime ( ) ) ;
dataAuditQueryParam . setSecondLevelDeptId ( Long . valueOf ( request . getDepartId ( ) ) ) ;
List < DataAudit > dataAuditList = dataAuditResourceService . query ( dataAuditQueryParam ) ;
long sjxmCount = reportProjects . size ( ) + dataAuditList . size ( ) ;
overview . setSupervisionPro ( xcdcCount ) ;
overview . setSupervisionPro ( xcdcCount ) ;
overview . setNumSupervisionPro ( szdcCount ) ;
overview . setNumSupervisionPro ( szdcCount ) ;
@ -247,6 +282,108 @@ public class SubDatavServiceImpl implements SubDatavService {
return Result . success ( data ) ;
return Result . success ( data ) ;
}
}
// 二级首页地图
@Override
public Result < JSONObject > getSubOneGlobalMap ( SubDataVRequest request ) {
List < GlobalMapIconVo > globalMapIconVoList = new ArrayList < > ( ) ;
List < Date > dates = Arrays . asList ( request . getBeginTime ( ) , request . getEndTime ( ) ) ;
List < SupDepart > policeDeparts = supDepartMapper . selectPoliceDeparts ( Integer . valueOf ( request . getDepartId ( ) ) ) ;
for ( SupDepart childDepart : policeDeparts ) {
String childDepartId = childDepart . getId ( ) ;
GlobalMapIconVo globalMapIconVo = GlobalMapIconVo . of ( childDepartId , childDepart . getShortName ( ) ) ;
// 现场督查
NegativeQueryParam group13Param = new NegativeQueryParam ( ) ;
group13Param . setCrtTime ( dates ) ;
group13Param . setInvolveDepartIds ( Set . of ( childDepartId ) ) ;
group13Param . setProblemSourcesCode ( ProblemSourcesEnum . GROUP_13 ) ;
long supervisionProCount = negativeResourceService . count ( group13Param ) ;
// 数字督察
NegativeQueryParam group14To16Param = new NegativeQueryParam ( ) ;
group14To16Param . setCrtTime ( dates ) ;
group14To16Param . setInvolveDepartIds ( Set . of ( childDepartId ) ) ;
group14To16Param . setProblemSourcesCode ( ProblemSourcesEnum . GROUP_14_15_16 ) ;
long numSupervisionProCount = negativeResourceService . count ( group14To16Param ) ;
// 案件核查 = 12389 + 交办
List < String > proCode = List . of ( A12389 . getValue ( ) , SLDJB . getValue ( ) , ZDDJB . getValue ( ) , SJJB . getValue ( ) ) ;
List < Negative > negatives = negativeMapper . getNegativeListData ( childDepartId , request . getBeginTime ( ) , request . getEndTime ( ) , proCode ) ;
LambdaQueryWrapper < DataCaseVerif > caseVerifLambdaQueryWrapper = new LambdaQueryWrapper < > ( ) ;
caseVerifLambdaQueryWrapper . between ( DataCaseVerif : : getDiscoveryTime , dates . get ( 0 ) , dates . get ( 1 ) ) ;
caseVerifLambdaQueryWrapper . eq ( DataCaseVerif : : getThirdDepartId , childDepartId ) ;
long dataCaseVerifs = dataCaseVerifMapper . selectCount ( caseVerifLambdaQueryWrapper ) ;
Set < String > ldjbCode = Set . of ( SLDJB . getValue ( ) , ZDDJB . getValue ( ) , SJJB . getValue ( ) ) ;
List < Negative > jbNegatvieList = negatives . stream ( ) . filter ( one - > ldjbCode . contains ( one . getProblemSourcesCode ( ) ) ) . toList ( ) ;
long caseVerificationProCount = dataCaseVerifs + jbNegatvieList . size ( ) ;
// 12337
NegativeQueryParam xf12337Param = new NegativeQueryParam ( ) ;
xf12337Param . setCrtTime ( dates ) ;
xf12337Param . setInvolveDepartIds ( Set . of ( childDepartId ) ) ;
xf12337Param . setProblemSourcesCode ( Collections . singletonList ( ProblemSourcesEnum . XF12337 . getValue ( ) ) ) ;
long xf12337Count = negativeResourceService . count ( xf12337Param ) ;
// 国家信访
DataPetitionComplaintQueryParam countryParam = new DataPetitionComplaintQueryParam ( ) ;
countryParam . setCreateTime ( dates ) ;
countryParam . setThirdDepartIds ( Collections . singleton ( childDepartId ) ) ;
countryParam . setProblemSourcesCode ( ProblemSourcesEnum . GJXFPT . getValue ( ) ) ;
long countryMail = dataPetitionComplaintResourceService . count ( countryParam ) ;
// 公安部门信访
DataPetitionComplaintQueryParam policeParam = new DataPetitionComplaintQueryParam ( ) ;
policeParam . setCreateTime ( dates ) ;
policeParam . setThirdDepartIds ( Collections . singleton ( childDepartId ) ) ;
policeParam . setProblemSourcesCode ( ProblemSourcesEnum . GABXF . getValue ( ) ) ;
long policeMail = dataPetitionComplaintResourceService . count ( policeParam ) ;
// 审计项目数
ReportProjectQueryParam reportProjectQueryParam = new ReportProjectQueryParam ( ) ;
reportProjectQueryParam . setPublicationDateStart ( request . getBeginTime ( ) ) ;
reportProjectQueryParam . setPublicationDateEnd ( request . getEndTime ( ) ) ;
// 用报审单位
reportProjectQueryParam . setProjectUnitIds ( Collections . singleton ( childDepartId ) ) ;
List < ReportProject > reportProjects = reportProjectResourceService . query ( reportProjectQueryParam ) ;
// 其他项目总数
DataAuditQueryParam dataAuditQueryParam = new DataAuditQueryParam ( ) ;
dataAuditQueryParam . setAuditTimeStart ( request . getBeginTime ( ) . toInstant ( ) . atZone ( ZoneId . systemDefault ( ) ) . toLocalDateTime ( ) ) ;
dataAuditQueryParam . setAuditTimeEnd ( request . getEndTime ( ) . toInstant ( ) . atZone ( ZoneId . systemDefault ( ) ) . toLocalDateTime ( ) ) ;
dataAuditQueryParam . setThirdLevelDeptId ( Long . valueOf ( childDepartId . trim ( ) ) ) ;
List < DataAudit > dataAuditList = dataAuditResourceService . query ( dataAuditQueryParam ) ;
long sjxmCount = reportProjects . size ( ) + dataAuditList . size ( ) ;
// 局长信箱
long mailCount = 0 ;
SupExternalDepartQueryParam externalDepartQueryParam = new SupExternalDepartQueryParam ( ) ;
externalDepartQueryParam . setInternalIds ( Collections . singleton ( childDepartId ) ) ;
externalDepartQueryParam . setSource ( "局长信箱" ) ;
List < SupExternalDepart > supExternalDepartList = supExternalDepartResourceService . query ( externalDepartQueryParam ) ;
if ( CollectionUtil . isNotEmpty ( supExternalDepartList ) ) {
SupExternalDepart externalDepart = supExternalDepartList . get ( 0 ) ;
MailQueryParam mailQueryParam = new MailQueryParam ( ) ;
mailQueryParam . setThreeDeptIds ( Collections . singleton ( externalDepart . getExternalId ( ) ) ) ;
mailQueryParam . setMailTime ( dates ) ;
mailCount = mailResourceService . count ( mailQueryParam ) ;
}
globalMapIconVo . setSupervisionPro ( supervisionProCount ) ;
globalMapIconVo . setNumSupervisionPro ( numSupervisionProCount ) ;
globalMapIconVo . setCaseVerificationPro ( caseVerificationProCount ) ;
globalMapIconVo . setComplaintPro ( xf12337Count + countryMail + policeMail ) ;
globalMapIconVo . setAuditPro ( sjxmCount ) ;
globalMapIconVo . setMailboxNumber ( mailCount ) ;
globalMapIconVo . setTalkPro ( 0L ) ;
globalMapIconVo . calcTotal ( ) ;
globalMapIconVoList . add ( globalMapIconVo ) ;
}
JSONObject mapData = new JSONObject ( ) . fluentPut ( "globalTempMapVoList" , globalMapIconVoList ) ;
return Result . success ( mapData ) ;
}
// endregion
// endregion
// region 视频督察二级
// region 视频督察二级