|
|
@ -61,7 +61,7 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService |
|
|
|
|
|
|
|
|
|
|
|
//网格内的党员集合
|
|
|
|
List<String> partyMemberUserIds = dimCustomerPartymemberService.getPartyMemberUserIds(customerId, gridId); |
|
|
|
List<String> partyMemberUserIds = dimCustomerPartymemberService.getPartyMemberUserIds(customerId, "grid",gridId); |
|
|
|
|
|
|
|
|
|
|
|
//3、党员发布话题:
|
|
|
@ -71,12 +71,12 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService |
|
|
|
entity.setTopicRatio(BigDecimal.ZERO); |
|
|
|
} else { |
|
|
|
//当前网格内所有话题总数
|
|
|
|
int gridTopicTotal = getGridTopicTotal(customerId, gridId); |
|
|
|
int gridTopicTotal = getGridOrCommunityTopicTotal(customerId, gridId,null); |
|
|
|
entity.setTopicRatio(gridTopicTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(entity.getTopicTotal() / gridTopicTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); |
|
|
|
} |
|
|
|
|
|
|
|
//当前网格内所有议题总数
|
|
|
|
int gridIssueTotal = getGridIssueTotal(customerId, gridId); |
|
|
|
int gridIssueTotal = getGridOrCommunityIssueTotal(customerId, gridId,null); |
|
|
|
if (gridIssueTotal != NumConstant.ZERO) { |
|
|
|
//5、党员发布议题
|
|
|
|
entity.setPublishIssueTotal(getParyPublishIssueTotal(customerId, partyMemberUserIds)); |
|
|
@ -87,36 +87,103 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService |
|
|
|
entity.setPublishIssueRatio(gridIssueTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(entity.getPublishIssueTotal() / gridIssueTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); |
|
|
|
|
|
|
|
//7、议题转项目数
|
|
|
|
entity.setShiftProjectTotal(getGridShiftProjectTotal(customerId, gridId)); |
|
|
|
entity.setShiftProjectTotal(getGridOrCommunityShiftProjectTotal(customerId, gridId,null)); |
|
|
|
//8、议题转项目占比 : 占网格内议题总数的比率
|
|
|
|
entity.setShiftProjectRatio(entity.getShiftProjectTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(entity.getShiftProjectTotal() / gridIssueTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 9、已解决项目
|
|
|
|
entity.setResolvedProjectTotal(getGridClosedProjectTotal(customerId,gridId,"resolved")); |
|
|
|
entity.setResolvedProjectTotal(getGridOrCommunityClosedProjectTotal(customerId,gridId,null,"resolved")); |
|
|
|
if(entity.getResolvedProjectTotal()==NumConstant.ZERO){ |
|
|
|
entity.setResolvedProjectRatio(BigDecimal.ZERO); |
|
|
|
}else{ |
|
|
|
// 10、占总结项目
|
|
|
|
int closedProjectTotal=getGridClosedProjectTotal(customerId,gridId,null); |
|
|
|
int closedProjectTotal=getGridOrCommunityClosedProjectTotal(customerId,gridId,null,null); |
|
|
|
entity.setResolvedProjectRatio(closedProjectTotal==NumConstant.ZERO?BigDecimal.ZERO:new BigDecimal(entity.getResolvedProjectTotal()/closedProjectTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); |
|
|
|
} |
|
|
|
}); |
|
|
|
screenPioneerDataService.delAndSavePioneerData(customerId, "grid", dateId, IndexCalConstant.DELETE_SIZE, gridList); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void extractCommunityPioneerData(String customerId, String dateId) { |
|
|
|
//查询客户下所有的社区,初始数据值为0
|
|
|
|
List<ScreenPioneerDataEntity> communityList = screenPioneerDataService.initPioneerDataList(customerId, "agency", "community"); |
|
|
|
if (CollectionUtils.isEmpty(communityList)) { |
|
|
|
return; |
|
|
|
} |
|
|
|
communityList.forEach(entity -> { |
|
|
|
entity.setDataEndTime(dateId); |
|
|
|
String communityId = entity.getOrgId(); |
|
|
|
//1、党员参与议事 todo
|
|
|
|
entity.setIssueTotal(NumConstant.ZERO); |
|
|
|
//2、党员参与议事占比 todo
|
|
|
|
entity.setIssueRatio(BigDecimal.ZERO); |
|
|
|
|
|
|
|
//社区内的党员集合
|
|
|
|
List<String> partyMemberUserIds = dimCustomerPartymemberService.getPartyMemberUserIds(customerId, "community",communityId); |
|
|
|
|
|
|
|
|
|
|
|
//3、党员发布话题:
|
|
|
|
entity.setTopicTotal(getTopicTotal(customerId, partyMemberUserIds)); |
|
|
|
//4、党员发布话题占比: 网格内注册党员发布的话题总数占 网格内话题总数的 比率
|
|
|
|
if (entity.getTopicTotal() == NumConstant.ZERO) { |
|
|
|
entity.setTopicRatio(BigDecimal.ZERO); |
|
|
|
} else { |
|
|
|
//当前社区内所有话题总数
|
|
|
|
int communityTopicTotal = getGridOrCommunityTopicTotal(customerId, null,communityId); |
|
|
|
entity.setTopicRatio(communityTopicTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(entity.getTopicTotal() / communityTopicTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); |
|
|
|
} |
|
|
|
|
|
|
|
//当前社区内所有议题总数
|
|
|
|
int communityIssueTotal = getGridOrCommunityIssueTotal(customerId, null,communityId); |
|
|
|
if (communityIssueTotal != NumConstant.ZERO) { |
|
|
|
//5、党员发布议题
|
|
|
|
entity.setPublishIssueTotal(getParyPublishIssueTotal(customerId, partyMemberUserIds)); |
|
|
|
//6、党员发布议题占比 : 占社区内所有议题的比率
|
|
|
|
if (entity.getPublishIssueTotal() == NumConstant.ZERO) { |
|
|
|
entity.setPublishIssueRatio(BigDecimal.ZERO); |
|
|
|
} |
|
|
|
entity.setPublishIssueRatio(communityIssueTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(entity.getPublishIssueTotal() / communityIssueTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); |
|
|
|
|
|
|
|
//7、议题转项目数
|
|
|
|
entity.setShiftProjectTotal(getGridOrCommunityShiftProjectTotal(customerId,null, communityId)); |
|
|
|
//8、议题转项目占比 : 占网格内议题总数的比率
|
|
|
|
entity.setShiftProjectRatio(entity.getShiftProjectTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(entity.getShiftProjectTotal() / communityIssueTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 9、已解决项目
|
|
|
|
entity.setResolvedProjectTotal(getGridOrCommunityClosedProjectTotal(customerId,null,communityId,"resolved")); |
|
|
|
if(entity.getResolvedProjectTotal()==NumConstant.ZERO){ |
|
|
|
entity.setResolvedProjectRatio(BigDecimal.ZERO); |
|
|
|
}else{ |
|
|
|
// 10、占总结项目
|
|
|
|
int closedProjectTotal=getGridOrCommunityClosedProjectTotal(customerId,null,communityId,null); |
|
|
|
entity.setResolvedProjectRatio(closedProjectTotal==NumConstant.ZERO?BigDecimal.ZERO:new BigDecimal(entity.getResolvedProjectTotal()/closedProjectTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); |
|
|
|
} |
|
|
|
}); |
|
|
|
screenPioneerDataService.delAndSavePioneerData(customerId, "agency", dateId, IndexCalConstant.DELETE_SIZE, communityList); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void extractexceptCommunityPioneerData(String customerId, String dateId) { |
|
|
|
//todo
|
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @return java.lang.Integer |
|
|
|
* @param customerId |
|
|
|
* @param gridId |
|
|
|
* @param communityId |
|
|
|
* @param closedStatus 结案状态:已解决 resolved,未解决 unresolved |
|
|
|
* @author yinzuomei |
|
|
|
* @description 网格内已解决项目 |
|
|
|
* @Date 2020/9/23 16:24 |
|
|
|
**/ |
|
|
|
private Integer getGridClosedProjectTotal(String customerId, String gridId,String closedStatus) { |
|
|
|
return factOriginProjectMainDailyService.getGridClosedProjectTotal(customerId,gridId,closedStatus); |
|
|
|
private Integer getGridOrCommunityClosedProjectTotal(String customerId, String gridId,String communityId,String closedStatus) { |
|
|
|
return factOriginProjectMainDailyService.getGridOrCommunityClosedProjectTotal(customerId,gridId,communityId,closedStatus); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@ -135,18 +202,6 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService |
|
|
|
return factOriginTopicMainDailyService.calPublishedByPartyTopicCount(customerId, partyMemberUserIds); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @param customerId |
|
|
|
* @param gridId |
|
|
|
* @return int |
|
|
|
* @author yinzuomei |
|
|
|
* @description 当前网格内,发布的话题总数 |
|
|
|
* @Date 2020/9/23 14:18 |
|
|
|
**/ |
|
|
|
private int getGridTopicTotal(String customerId, String gridId) { |
|
|
|
return factOriginTopicMainDailyService.calGridTopicTotalByGrid(customerId, gridId); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @param customerId |
|
|
|
* @param partyMemberUserIds |
|
|
@ -165,50 +220,55 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService |
|
|
|
/** |
|
|
|
* @param customerId |
|
|
|
* @param gridId |
|
|
|
* @return int |
|
|
|
* @return java.lang.Integer |
|
|
|
* @author yinzuomei |
|
|
|
* @description 当前网格内所有议题总数 |
|
|
|
* @Date 2020/9/23 15:21 |
|
|
|
* @description 网格内议题转项目数 |
|
|
|
* @Date 2020/9/23 15:38 |
|
|
|
**/ |
|
|
|
private int getGridIssueTotal(String customerId, String gridId) { |
|
|
|
return factOriginIssueMainDailyService.getGridIssueTotalByGrid(customerId, gridId); |
|
|
|
private Integer getGridOrCommunityShiftProjectTotal(String customerId, String gridId, String communityId) { |
|
|
|
return factOriginIssueMainDailyService.getGridOrCommunityShiftProjectTotal(customerId, gridId, communityId); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* @return int |
|
|
|
* @param customerId |
|
|
|
* @param gridId |
|
|
|
* @return java.lang.Integer |
|
|
|
* @param communityId |
|
|
|
* @author yinzuomei |
|
|
|
* @description 网格内议题转项目数 |
|
|
|
* @Date 2020/9/23 15:38 |
|
|
|
* @description |
|
|
|
* @Date 2020/9/24 10:44 |
|
|
|
**/ |
|
|
|
private Integer getGridShiftProjectTotal(String customerId, String gridId) { |
|
|
|
return factOriginIssueMainDailyService.getShiftProjectTotalByGrid(customerId, gridId); |
|
|
|
private int getGridOrCommunityIssueTotal(String customerId, String gridId,String communityId) { |
|
|
|
return factOriginIssueMainDailyService.getGridOrCommunityIssueTotal(customerId, gridId,communityId); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
public void extractCommunityPioneerData(String customerId, String dateId) { |
|
|
|
|
|
|
|
/** |
|
|
|
* @param customerId |
|
|
|
* @param communityId |
|
|
|
* @return int |
|
|
|
* @author yinzuomei |
|
|
|
* @description 当前社区内所有话题总数 |
|
|
|
* @Date 2020/9/24 10:32 |
|
|
|
**/ |
|
|
|
private int getGridOrCommunityTopicTotal(String customerId, String gridId, String communityId) { |
|
|
|
return factOriginTopicMainDailyService.calGridOrCommunityTopicTotal(customerId, gridId, communityId); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
/*@Override |
|
|
|
public void extractStreetPioneerData(String customerId, String dateId) { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void extractDistrictPioneerData(String customerId, String dateId) { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void extractCityPioneerData(String customerId, String dateId) { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void extractProvincePioneerData(String customerId, String dateId) { |
|
|
|
|
|
|
|
} |
|
|
|
}*/ |
|
|
|
} |
|
|
|