@ -148,20 +148,25 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl<FactGridGove
if ( approvalProjectResolvedMap . containsKey ( insertEntity . getGridId ( ) ) ) {
resolveCount = resolveCount + approvalProjectResolvedMap . get ( insertEntity . getGridId ( ) ) ;
}
if ( eventProjectResolvedMap . containsKey ( insertEntity . getGridId ( ) ) ) {
resolveCount = resolveCount + eventProjectResolvedMap . get ( insertEntity . getGridId ( ) ) ;
}
insertEntity . setApprovalProjectResolvedCount ( resolveCount ) ;
// 8、当前网格内:项目立项,结案无需解决数;默认为0,
int unResolveCount = 0 ;
if ( approvalProjectUnResolvedMap . containsKey ( insertEntity . getGridId ( ) ) ) {
unResolveCount = resolveCount + approvalProjectUnResolvedMap . get ( insertEntity . getGridId ( ) ) ;
}
insertEntity . setApprovalProjectUnResolvedCount ( unResolveCount ) ;
// 当前组织内:来源于事件的项目:结案已解决数
if ( eventProjectResolvedMap . containsKey ( insertEntity . getGridId ( ) ) ) {
insertEntity . setEventResolvedCount ( eventProjectResolvedMap . get ( insertEntity . getGridId ( ) ) ) ;
}
// 当前组织内:来源于事件的项目:结案无需解决数
if ( eventProjectUnResolvedMap . containsKey ( insertEntity . getGridId ( ) ) ) {
unResolveCount = resolveCount + eventProjectUnResolvedMap . get ( insertEntity . getGridId ( ) ) ;
insertEntity . setEventUnResolvedCount ( eventProjectUnResolvedMap . get ( insertEntity . getGridId ( ) ) ) ;
}
insertEntity . setApprovalProjectUnResolvedCount ( unResolveCount ) ;
// 党群自治占比:当前组织下,所有小组内关闭(已解决+无需解决)的话题数与问题解决总数之比(未出小组:未转议题的)
// 9、当前网格内,未出小组即未转议题的:话题关闭已解决数
if ( inGroupTopicResolvedMap . containsKey ( insertEntity . getGridId ( ) ) ) {
@ -183,8 +188,7 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl<FactGridGove
insertEntity . setFromAgencyUnResolvedInGridCount ( dtoMap . get ( insertEntity . getGridId ( ) ) . getFromAgencyUnResolvedInGridCount ( ) ) ;
// 所有网格内结案项目数(未出网格)=来源于议题的项目结案已解决+来源于议题的项目结案无需解决+来源于立项的项目结案已解决+来源于立项的项目结案无需解决
// 15、未出当前网格的,结案项目数=11+12+13+14
insertEntity . setGridSelfGovernProjectTotal ( insertEntity . getFromIssueResolvedInGridCount ( ) + insertEntity . getFromIssueUnResolvedInGridCount ( ) +
insertEntity . getFromAgencyResolvedInGridCount ( ) + insertEntity . getFromAgencyUnResolvedInGridCount ( ) ) ;
insertEntity . setGridSelfGovernProjectTotal ( dtoMap . get ( insertEntity . getGridId ( ) ) . getGridSelfGovernProjectTotal ( ) ) ;
//当前网格内出来的项目:由社区结案(已解决+未解决)的项目总数
insertEntity . setCommunityClosedCount ( dtoMap . get ( insertEntity . getGridId ( ) ) . getCommunityClosedCount ( ) ) ;
@ -199,7 +203,13 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl<FactGridGove
+ insertEntity . getIssueResolvedCount ( ) + insertEntity . getIssueUnResolvedCount ( )
+ insertEntity . getIssueProjectResolvedCount ( ) + insertEntity . getIssueProjectUnResolvedCount ( )
+ insertEntity . getApprovalProjectResolvedCount ( ) + insertEntity . getApprovalProjectUnResolvedCount ( ) ) ;
//结案项目数
int projectClosedTotal = insertEntity . getIssueProjectResolvedCount ( )
+ insertEntity . getIssueProjectUnResolvedCount ( )
+ insertEntity . getApprovalProjectResolvedCount ( )
+ insertEntity . getApprovalProjectUnResolvedCount ( )
+ insertEntity . getEventResolvedCount ( )
+ insertEntity . getEventUnResolvedCount ( ) ;
// 党群自治占比:当前组织下,所有小组内关闭(已解决+无需解决)的话题数与问题解决总数之比(未出小组:未转议题的)
//界面展示:2、党群自治占比=(9+10)/PROBLEM_RESOLVED_COUNT; 此列存储的是小数
int groupSelfGovernRatioFz = insertEntity . getInGroupTopicResolvedCount ( ) + insertEntity . getInGroupTopicUnResolvedCount ( ) ;
@ -212,37 +222,37 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl<FactGridGove
// 网格自治占比:当前组织下,所有网格内结案项目数与问题解决总数之比(未出网格)
//界面展示:3、网格自治占比=GRID_SELF_GOVERN_PROJECT_TOTAL/PROBLEM_RESOLVED_COUNT;此列存储的是小数
if ( NumConstant . ZERO = = insertEntity . getGridSelfGovernProjectTotal ( ) | | NumConstant . ZERO = = insertEntity . getProblemResolvedCount ( ) ) {
if ( NumConstant . ZERO = = insertEntity . getGridSelfGovernProjectTotal ( ) | | NumConstant . ZERO = = projectClosedTotal ) {
insertEntity . setGridSelfGovernRatio ( BigDecimal . ZERO ) ;
} else {
String gridSelfGovernRatioStr = numberFormat . format ( ( float ) insertEntity . getGridSelfGovernProjectTotal ( ) / insertEntity . getProblemResolvedCount ( ) ) ;
String gridSelfGovernRatioStr = numberFormat . format ( ( float ) insertEntity . getGridSelfGovernProjectTotal ( ) / projectClosedTotal ) ;
insertEntity . setGridSelfGovernRatio ( new BigDecimal ( gridSelfGovernRatioStr ) ) ;
}
//界面展示:4、社区解决占比=COMMUNITY_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数
//网格内出来的项目,最终由社区结案的项目数
if ( NumConstant . ZERO = = insertEntity . getCommunityClosedCount ( ) | | NumConstant . ZERO = = insertEntity . getProblemResolvedCount ( ) ) {
if ( NumConstant . ZERO = = insertEntity . getCommunityClosedCount ( ) | | NumConstant . ZERO = = projectClosedTotal ) {
insertEntity . setCommunityClosedRatio ( BigDecimal . ZERO ) ;
} else {
String setCommunityClosedRatioStr = numberFormat . format ( ( float ) insertEntity . getCommunityClosedCount ( ) / insertEntity . getProblemResolvedCount ( ) ) ;
String setCommunityClosedRatioStr = numberFormat . format ( ( float ) insertEntity . getCommunityClosedCount ( ) / projectClosedTotal ) ;
insertEntity . setCommunityClosedRatio ( new BigDecimal ( setCommunityClosedRatioStr ) ) ;
}
// 界面展示:5、街道解决占比=STREET_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数
//网格内出来的项目,最终由街道结案的项目数
if ( NumConstant . ZERO = = insertEntity . getStreetClosedCount ( ) | | NumConstant . ZERO = = insertEntity . getProblemResolvedCount ( ) ) {
if ( NumConstant . ZERO = = insertEntity . getStreetClosedCount ( ) | | NumConstant . ZERO = = projectClosedTotal ) {
insertEntity . setStreetClosedRatio ( BigDecimal . ZERO ) ;
} else {
String streetClosedRatioStr = numberFormat . format ( ( float ) insertEntity . getStreetClosedCount ( ) / insertEntity . getProblemResolvedCount ( ) ) ;
String streetClosedRatioStr = numberFormat . format ( ( float ) insertEntity . getStreetClosedCount ( ) / projectClosedTotal ) ;
insertEntity . setStreetClosedRatio ( new BigDecimal ( streetClosedRatioStr ) ) ;
}
//界面展示:6、区直部门解决占比=DISTRICT_DEPT_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数
//网格内出来的项目,最终由区直部门结案的项目数
if ( NumConstant . ZERO = = insertEntity . getDistrictDeptClosedCount ( ) | | NumConstant . ZERO = = insertEntity . getProblemResolvedCount ( ) ) {
if ( NumConstant . ZERO = = insertEntity . getDistrictDeptClosedCount ( ) | | NumConstant . ZERO = = projectClosedTotal ) {
insertEntity . setDistrictDeptClosedRatio ( BigDecimal . ZERO ) ;
} else {
String setDistrictDeptClosedRatioStr = numberFormat . format ( ( float ) insertEntity . getDistrictDeptClosedCount ( ) / insertEntity . getProblemResolvedCount ( ) ) ;
String setDistrictDeptClosedRatioStr = numberFormat . format ( ( float ) insertEntity . getDistrictDeptClosedCount ( ) / projectClosedTotal ) ;
insertEntity . setDistrictDeptClosedRatio ( new BigDecimal ( setDistrictDeptClosedRatioStr ) ) ;
}
@ -310,7 +320,7 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl<FactGridGove
int streetClosedCount = NumConstant . ZERO ; ;
// 当前网格内出来的项目:由街道结案(已解决+未解决)的项目总数
int districtDeptClosedCount = NumConstant . ZERO ;
int gridSelfGovernProjectTotal = NumConstant . ZERO ;
//当前网格内已结案的项目
List < GovernProjectInfoDTO > currentGridClosedProjectList = factOriginProjectMainDailyService . getGridClosedProjectList ( customerId , gridId ,
ProjectConstant . CLOSED , null , null ) ;
@ -339,6 +349,7 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl<FactGridGove
fromAgencyUnResolvedInGridCount + = 1 ;
}
}
gridSelfGovernProjectTotal + = 1 ;
} else {
// 3、出了网格的判断是由谁解决的?
String resolveOrgType = getProjectResolveOrgType ( governProjectInfoDTO . getProjectLogDTOList ( ) ) ;
@ -350,10 +361,12 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl<FactGridGove
// 当前网格内出来的项目:由街道结案(已解决+未解决)的项目总数
log . info ( "projectId=【" + governProjectInfoDTO . getId ( ) + "】属于街道解决" ) ;
streetClosedCount + = 1 ;
} else if ( "districtdept " . equals ( resolveOrgType ) ) {
// 当前网格内出来的项目:由街道 结案(已解决+未解决)的项目总数
} else if ( "district" . equals ( resolveOrgType ) ) {
// 当前网格内出来的项目:由区县 结案(已解决+未解决)的项目总数
log . info ( "projectId=【" + governProjectInfoDTO . getId ( ) + "】属于区直部门解决" ) ;
districtDeptClosedCount + = 1 ;
} else if ( "grid" . equals ( resolveOrgType ) ) {
gridSelfGovernProjectTotal + = 1 ;
}
// todo 可能是 市级解决、省级解决呢???
}
@ -366,6 +379,7 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl<FactGridGove
governGridClosedTotalCommonDTO . setCommunityClosedCount ( communityClosedCount ) ;
governGridClosedTotalCommonDTO . setStreetClosedCount ( streetClosedCount ) ;
governGridClosedTotalCommonDTO . setDistrictDeptClosedCount ( districtDeptClosedCount ) ;
governGridClosedTotalCommonDTO . setGridSelfGovernProjectTotal ( gridSelfGovernProjectTotal ) ;
resultMap . put ( gridId , governGridClosedTotalCommonDTO ) ;
}
return resultMap ;
@ -380,7 +394,7 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl<FactGridGove
private String getProjectResolveOrgType ( List < FactOriginProjectLogDailyDTO > projectLogDTOList ) {
List < Integer > handleLevelList = new ArrayList < > ( ) ;
for ( FactOriginProjectLogDailyDTO logDailyDTO : projectLogDTOList ) {
if ( logDailyDTO . getActionCode ( ) . equals ( DimObjectActionConstant . PROJECT_RETURN ) | | NumConstant . ZERO = = logDailyDTO . getIsActive ( ) ) {
if ( ! logDailyDTO . getActionCode ( ) . equals ( DimObjectActionConstant . PROJECT_CLOSE ) | | NumConstant . ZERO = = logDailyDTO . getIsActive ( ) ) {
//当前操作如果是退回,不参与比较
continue ;
}
@ -395,32 +409,42 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl<FactGridGove
// orgType: 网格grid,部门department,组织:agency
if ( "grid" . equals ( logDailyDTO . getOrgType ( ) ) ) {
handleLevelList . add ( NumConstant . ONE ) ;
return "grid" ;
} else if ( "agency" . equals ( logDailyDTO . getOrgType ( ) ) ) {
CustomerAgencyEntity agencyEntity = customerAgencyService . getAgencyById ( logDailyDTO . getOrgId ( ) ) ;
if ( "community" . equals ( agencyEntity . getLevel ( ) ) ) {
handleLevelList . add ( NumConstant . TWO ) ;
return "community" ;
} else if ( "street" . equals ( agencyEntity . getLevel ( ) ) ) {
handleLevelList . add ( NumConstant . THREE ) ;
return "street" ;
} else if ( "district" . equals ( agencyEntity . getLevel ( ) ) ) {
handleLevelList . add ( NumConstant . FOUR ) ;
return "district" ;
} else if ( "city" . equals ( agencyEntity . getLevel ( ) ) ) {
handleLevelList . add ( NumConstant . FIVE ) ;
return "city" ;
} else if ( "province" . equals ( agencyEntity . getLevel ( ) ) ) {
handleLevelList . add ( NumConstant . SIX ) ;
return "province" ;
}
} else if ( "department" . equals ( logDailyDTO . getOrgType ( ) ) ) {
CustomerAgencyEntity deptAgencyEntity = customerAgencyService . getAgencyByDeptId ( logDailyDTO . getOrgId ( ) ) ;
if ( "district" . equals ( deptAgencyEntity . getLevel ( ) ) ) {
// 区直部门直接返回
return "districtdept " ;
return "district" ;
} else if ( "community" . equals ( deptAgencyEntity . getLevel ( ) ) ) {
handleLevelList . add ( NumConstant . TWO ) ;
return "community" ;
} else if ( "street" . equals ( deptAgencyEntity . getLevel ( ) ) ) {
handleLevelList . add ( NumConstant . THREE ) ;
return "street" ;
} else if ( "city" . equals ( deptAgencyEntity . getLevel ( ) ) ) {
handleLevelList . add ( NumConstant . FIVE ) ;
return "city" ;
} else if ( "province" . equals ( deptAgencyEntity . getLevel ( ) ) ) {
handleLevelList . add ( NumConstant . SIX ) ;
return "province" ;
}
}
}