| 
						
						
							
								
							
						
						
					 | 
					@ -17,6 +17,7 @@ import com.epmet.service.evaluationindex.extract.toscreen.*; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.service.evaluationindex.indexcal.IndexCalculateService; | 
					 | 
					 | 
					import com.epmet.service.evaluationindex.indexcal.IndexCalculateService; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.service.evaluationindex.screen.*; | 
					 | 
					 | 
					import com.epmet.service.evaluationindex.screen.*; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.service.stats.DimCustomerService; | 
					 | 
					 | 
					import com.epmet.service.stats.DimCustomerService; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					import com.google.common.util.concurrent.ThreadFactoryBuilder; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import lombok.extern.slf4j.Slf4j; | 
					 | 
					 | 
					import lombok.extern.slf4j.Slf4j; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import org.apache.commons.lang3.StringUtils; | 
					 | 
					 | 
					import org.apache.commons.lang3.StringUtils; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import org.springframework.beans.factory.annotation.Autowired; | 
					 | 
					 | 
					import org.springframework.beans.factory.annotation.Autowired; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -26,8 +27,7 @@ import org.springframework.util.CollectionUtils; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import java.time.LocalDate; | 
					 | 
					 | 
					import java.time.LocalDate; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import java.util.ArrayList; | 
					 | 
					 | 
					import java.util.ArrayList; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import java.util.List; | 
					 | 
					 | 
					import java.util.List; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					import java.util.concurrent.ExecutorService; | 
					 | 
					 | 
					import java.util.concurrent.*; | 
				
			
			
				
				
			
		
	
		
		
			
				
					 | 
					 | 
					import java.util.concurrent.Executors; | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					/** | 
					 | 
					 | 
					/** | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 * @Author zxc | 
					 | 
					 | 
					 * @Author zxc | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -36,6 +36,11 @@ import java.util.concurrent.Executors; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					@Service | 
					 | 
					 | 
					@Service | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					@Slf4j | 
					 | 
					 | 
					@Slf4j | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					public class ScreenExtractServiceImpl implements ScreenExtractService { | 
					 | 
					 | 
					public class ScreenExtractServiceImpl implements ScreenExtractService { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					    ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            .setNameFormat("ScreenExtractServiceImpl-pool-%d").build(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					    ExecutorService threadPool = new ThreadPoolExecutor(3, 6, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            10L, TimeUnit.MINUTES, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            new LinkedBlockingQueue<>(500), namedThreadFactory, new ThreadPoolExecutor.CallerRunsPolicy()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    @Autowired | 
					 | 
					 | 
					    @Autowired | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    private DimCustomerService dimCustomerService; | 
					 | 
					 | 
					    private DimCustomerService dimCustomerService; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -101,13 +106,17 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                if (StringUtils.isNotBlank(extractOriginFormDTO.getStartDate()) && StringUtils.isNotBlank(extractOriginFormDTO.getEndDate())) { | 
					 | 
					 | 
					                if (StringUtils.isNotBlank(extractOriginFormDTO.getStartDate()) && StringUtils.isNotBlank(extractOriginFormDTO.getEndDate())) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                    List<String> daysBetween = DateUtils.getDaysBetween(extractOriginFormDTO.getStartDate(), extractOriginFormDTO.getEndDate()); | 
					 | 
					 | 
					                    List<String> daysBetween = DateUtils.getDaysBetween(extractOriginFormDTO.getStartDate(), extractOriginFormDTO.getEndDate()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                    daysBetween.forEach(dateId -> { | 
					 | 
					 | 
					                    daysBetween.forEach(dateId -> { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					                        extractDaily(customerId, dateId); | 
					 | 
					 | 
					                        boolean isLastDay = false; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                        if (dateId.equals(daysBetween.get(daysBetween.size() - 1))) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                            isLastDay = true; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                        extractDaily(customerId, dateId, isLastDay); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                    }); | 
					 | 
					 | 
					                    }); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                } else if (StringUtils.isNotBlank(extractOriginFormDTO.getDateId())) { | 
					 | 
					 | 
					                } else if (StringUtils.isNotBlank(extractOriginFormDTO.getDateId())) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					                    extractDaily(customerId, extractOriginFormDTO.getDateId()); | 
					 | 
					 | 
					                    extractDaily(customerId, extractOriginFormDTO.getDateId(), true); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					                } else { | 
					 | 
					 | 
					                } else { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                    String dateId = LocalDate.now().minusDays(NumConstant.ONE).toString().replace("-", ""); | 
					 | 
					 | 
					                    String dateId = LocalDate.now().minusDays(NumConstant.ONE).toString().replace("-", ""); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					                    extractDaily(customerId, dateId); | 
					 | 
					 | 
					                    extractDaily(customerId, dateId, true); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					                } | 
					 | 
					 | 
					                } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            }); | 
					 | 
					 | 
					            }); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -135,7 +144,7 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                } else if (StringUtils.isNotBlank(formDTO.getMonthId())) { | 
					 | 
					 | 
					                } else if (StringUtils.isNotBlank(formDTO.getMonthId())) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                    extractMonthly(customerId, formDTO.getMonthId()); | 
					 | 
					 | 
					                    extractMonthly(customerId, formDTO.getMonthId()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                } else { | 
					 | 
					 | 
					                } else { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					                    String monthId = LocalDate.now().minusMonths(NumConstant.ONE).toString().replace("-", "").substring(NumConstant.ZERO,NumConstant.SIX); | 
					 | 
					 | 
					                    String monthId = LocalDate.now().minusMonths(NumConstant.ONE).toString().replace("-", "").substring(NumConstant.ZERO, NumConstant.SIX); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					                    extractMonthly(customerId, monthId); | 
					 | 
					 | 
					                    extractMonthly(customerId, monthId); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                } | 
					 | 
					 | 
					                } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            }); | 
					 | 
					 | 
					            }); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -146,135 +155,161 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    /** | 
					 | 
					 | 
					    /** | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					     * @param customerId | 
					 | 
					 | 
					     * @param customerId | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					     * @param dateId | 
					 | 
					 | 
					     * @param dateId | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					     * @param isLast     是否是最后一天 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					     * @Description 按天计算 | 
					 | 
					 | 
					     * @Description 按天计算 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					     * @author zxc | 
					 | 
					 | 
					     * @author zxc | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					     * @date 2020/9/24 10:16 上午 | 
					 | 
					 | 
					     * @date 2020/9/24 10:16 上午 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					     */ | 
					 | 
					 | 
					     */ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					    public void extractDaily(String customerId, String dateId) { | 
					 | 
					 | 
					    public void extractDaily(String customerId, String dateId, boolean isLast) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        //党员基本情况screen_cpc_base_data
 | 
					 | 
					 | 
					        //等待3个线程执行完毕后再 继续执行下一个客户的 避免死锁
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        try { | 
					 | 
					 | 
					        final CountDownLatch latch = new CountDownLatch(NumConstant.FOUR); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            partyBaseInfoService.statsPartyMemberBaseInfoToScreen(customerId,dateId); | 
					 | 
					 | 
					        threadPool.submit(() -> { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					            //党员基本情况screen_cpc_base_data
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("党员基本情况抽取到大屏失败,customerId为:"+customerId+"dateId为:"+dateId, e); | 
					 | 
					 | 
					            try { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        } | 
					 | 
					 | 
					                partyBaseInfoService.statsPartyMemberBaseInfoToScreen(customerId, dateId); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        //先锋模范screen_pioneer_data
 | 
					 | 
					 | 
					            } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        try { | 
					 | 
					 | 
					                log.error("党员基本情况抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            pioneerDataExtractService.extractGridPioneerData(customerId, dateId); | 
					 | 
					 | 
					            } | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					            //先锋模范screen_pioneer_data
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("先锋模范【网格】抽取到大屏失败,customerId为:"+customerId+"dateId为:"+dateId, e); | 
					 | 
					 | 
					            if (isLast) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        } | 
					 | 
					 | 
					                try { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        try { | 
					 | 
					 | 
					                    pioneerDataExtractService.extractGridPioneerData(customerId, dateId); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            pioneerDataExtractService.extractCommunityPioneerData(customerId, dateId); | 
					 | 
					 | 
					                } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					                    log.error("先锋模范【网格】抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("先锋模范【社区】抽取到大屏失败,customerId为:"+customerId+"dateId为:"+dateId, e); | 
					 | 
					 | 
					                } | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        } | 
					 | 
					 | 
					                try { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        try { | 
					 | 
					 | 
					                    pioneerDataExtractService.extractCommunityPioneerData(customerId, dateId); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            pioneerDataExtractService.extractExceptCommunityPioneerData(customerId, dateId); | 
					 | 
					 | 
					                } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					                    log.error("先锋模范【社区】抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("先锋模范【extractExceptCommunityPioneerData】抽取到大屏失败,customerId为:"+customerId+"dateId为:"+dateId, e); | 
					 | 
					 | 
					                } | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        } | 
					 | 
					 | 
					                try { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        //公众参与排行(注册人数、参与人数、话题数、议题数、项目数)screen_public_party_total_data
 | 
					 | 
					 | 
					                    pioneerDataExtractService.extractExceptCommunityPioneerData(customerId, dateId); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        try { | 
					 | 
					 | 
					                } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            publicPartiTotalDataExtractService.extractPublicPartiTotalData(customerId,dateId); | 
					 | 
					 | 
					                    log.error("先锋模范【extractExceptCommunityPioneerData】抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					                } | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("公众参与排行抽取到大屏失败,customerId为:"+customerId+"dateId为:"+dateId, e); | 
					 | 
					 | 
					            } | 
				
			
			
				
				
			
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        //基层治理- 难点赌点 screen_difficulty_data  |  screen_difficulty_img_data
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        try { | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            ScreenCentralZoneDataFormDTO param2 = new ScreenCentralZoneDataFormDTO(); | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            param2.setCustomerId(customerId); | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            param2.setDateId(null); | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            log.info("【难点赌点数据上报开始------】 当前客户Id{}",param2.getCustomerId()); | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            //screenGrassrootsGovernDataAbsorptionService.difficultyDataHub(param);
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            screenGrassrootsGovernDataAbsorptionService.difficultyDataExtract(param2); | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            log.info("【难点赌点数据上报结束------】 当前客户Id{}",param2.getCustomerId()); | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            log.error("基层治理-难点赌点抽取到大屏失败,customerId为:"+customerId+"dateId为:"+dateId, e); | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        ScreenCentralZoneDataFormDTO param = new ScreenCentralZoneDataFormDTO(); | 
					 | 
					 | 
					            latch.countDown(); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        param.setCustomerId(customerId); | 
					 | 
					 | 
					            log.info("extractDaily 1 thread run end ========= dateId:{},customerId:{}", dateId, customerId); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        param.setDateId(dateId); | 
					 | 
					 | 
					        }); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        //中央区 screen_user_total_data
 | 
					 | 
					 | 
					        threadPool.submit(() -> { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        try { | 
					 | 
					 | 
					            //公众参与排行(注册人数、参与人数、话题数、议题数、项目数)screen_public_party_total_data
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            screenCentralZoneDataAbsorptionService.centralZoneDataHub(param); | 
					 | 
					 | 
					            try { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					                publicPartiTotalDataExtractService.extractPublicPartiTotalData(customerId, dateId); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("中央区抽取到大屏失败,customerId为:"+customerId+"dateId为:"+dateId, e); | 
					 | 
					 | 
					            } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        } | 
					 | 
					 | 
					                log.error("公众参与排行抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            if (isLast) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                //基层治理- 难点赌点 screen_difficulty_data  |  screen_difficulty_img_data
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                try { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                    ScreenCentralZoneDataFormDTO param2 = new ScreenCentralZoneDataFormDTO(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                    param2.setCustomerId(customerId); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                    param2.setDateId(null); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                    log.info("【难点赌点数据上报开始------】 当前客户Id{}", param2.getCustomerId()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                    //screenGrassrootsGovernDataAbsorptionService.difficultyDataHub(param);
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        try { | 
					 | 
					 | 
					                    screenGrassrootsGovernDataAbsorptionService.difficultyDataExtract(param2); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            // 项目(事件)分析按网格_按天统计
 | 
					 | 
					 | 
					                    log.info("【难点赌点数据上报结束------】 当前客户Id{}", param2.getCustomerId()); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            screenProjectGridDailyService.extractionProjectGridDaily(customerId, dateId); | 
					 | 
					 | 
					                } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					                    log.error("基层治理-难点赌点抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("项目(事件)分析按网格_按天统计失败,customerId为:"+customerId+"dateId为:"+dateId, e); | 
					 | 
					 | 
					                } | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        } | 
					 | 
					 | 
					            } | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        try { | 
					 | 
					 | 
					            latch.countDown(); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            // 项目(事件)分析按组织_按天统计
 | 
					 | 
					 | 
					            log.info("extractDaily 2 thread run end ========= dateId:{},customerId:{}", dateId, customerId); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            screenProjectOrgDailyService.extractionProjectOrgDaily(customerId, dateId); | 
					 | 
					 | 
					        }); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					        threadPool.submit(() -> { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("项目(事件)分析按组织_按天统计失败,customerId为:"+customerId+"dateId为:"+dateId, e); | 
					 | 
					 | 
					            ScreenCentralZoneDataFormDTO param = new ScreenCentralZoneDataFormDTO(); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        } | 
					 | 
					 | 
					            param.setCustomerId(customerId); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            param.setDateId(dateId); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            //中央区 screen_user_total_data
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            try { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                screenCentralZoneDataAbsorptionService.centralZoneDataHub(param); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            } catch (Exception e) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                log.error("中央区抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        //按天统计:网格内各个分类下的项目总数
 | 
					 | 
					 | 
					            try { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        try{ | 
					 | 
					 | 
					                // 项目(事件)分析按网格_按天统计
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            projectCategoryGridDailyService.extractProjectCategoryData(customerId,dateId); | 
					 | 
					 | 
					                screenProjectGridDailyService.extractionProjectGridDaily(customerId, dateId); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch(Exception e){ | 
					 | 
					 | 
					            } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("按天统计:网格内各个分类下的项目总数,customerId为:"+customerId+"dateId为:"+dateId, e); | 
					 | 
					 | 
					                log.error("项目(事件)分析按网格_按天统计失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        } | 
					 | 
					 | 
					            } | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            try { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                // 项目(事件)分析按组织_按天统计
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                screenProjectOrgDailyService.extractionProjectOrgDaily(customerId, dateId); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            } catch (Exception e) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                log.error("项目(事件)分析按组织_按天统计失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        // 按天统计:组织内各个分类下的项目总数
 | 
					 | 
					 | 
					            //按天统计:网格内各个分类下的项目总数
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        try{ | 
					 | 
					 | 
					            try { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            projectCategoryOrgDailyService.extractProjectCategoryOrgData(customerId,dateId); | 
					 | 
					 | 
					                projectCategoryGridDailyService.extractProjectCategoryData(customerId, dateId); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch(Exception e){ | 
					 | 
					 | 
					            } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("按天统计:组织内各个分类下的项目总数,customerId为:"+customerId+"dateId为:"+dateId, e); | 
					 | 
					 | 
					                log.error("按天统计:网格内各个分类下的项目总数,customerId为:" + customerId + "dateId为:" + dateId, e); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        } | 
					 | 
					 | 
					            } | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        //治理能力排行screen_govern_rank_data
 | 
					 | 
					 | 
					            // 按天统计:组织内各个分类下的项目总数
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        try { | 
					 | 
					 | 
					            try { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            governRankDataExtractService.extractGridDataDaily(customerId, dateId); | 
					 | 
					 | 
					                projectCategoryOrgDailyService.extractProjectCategoryOrgData(customerId, dateId); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					            } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("治理能力排行【网格】抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
					 | 
					 | 
					                log.error("按天统计:组织内各个分类下的项目总数,customerId为:" + customerId + "dateId为:" + dateId, e); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        } | 
					 | 
					 | 
					            } | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        try { | 
					 | 
					 | 
					            latch.countDown(); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            governRankDataExtractService.extractCommunityDataDaily(customerId, dateId); | 
					 | 
					 | 
					            log.info("extractDaily 3 thread run end ========= dateId:{},customerId:{}", dateId, customerId); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					        }); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("治理能力排行【社区】抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
					 | 
					 | 
					        threadPool.submit(() -> { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        } | 
					 | 
					 | 
					            //治理能力排行screen_govern_rank_data
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        try { | 
					 | 
					 | 
					            try { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            governRankDataExtractService.extractStreetDataDaily(customerId, dateId); | 
					 | 
					 | 
					                governRankDataExtractService.extractGridDataDaily(customerId, dateId); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					            } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("治理能力排行【街道】抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
					 | 
					 | 
					                log.error("治理能力排行【网格】抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        } | 
					 | 
					 | 
					            } | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        try { | 
					 | 
					 | 
					            try { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            governRankDataExtractService.extractDistrictDataDaily(customerId, dateId); | 
					 | 
					 | 
					                governRankDataExtractService.extractCommunityDataDaily(customerId, dateId); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					            } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("治理能力排行【全区】抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
					 | 
					 | 
					                log.error("治理能力排行【社区】抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        } | 
					 | 
					 | 
					            } | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            try { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                governRankDataExtractService.extractStreetDataDaily(customerId, dateId); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            } catch (Exception e) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                log.error("治理能力排行【街道】抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            try { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                governRankDataExtractService.extractDistrictDataDaily(customerId, dateId); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            } catch (Exception e) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                log.error("治理能力排行【全区】抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        try{ | 
					 | 
					 | 
					            try { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            ExtractFactGridGovernDailyFromDTO extractFactGridGovernDailyFromDTO=new ExtractFactGridGovernDailyFromDTO(); | 
					 | 
					 | 
					                ExtractFactGridGovernDailyFromDTO extractFactGridGovernDailyFromDTO = new ExtractFactGridGovernDailyFromDTO(); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            extractFactGridGovernDailyFromDTO.setCustomerId(customerId); | 
					 | 
					 | 
					                extractFactGridGovernDailyFromDTO.setCustomerId(customerId); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            extractFactGridGovernDailyFromDTO.setDateId(dateId); | 
					 | 
					 | 
					                extractFactGridGovernDailyFromDTO.setDateId(dateId); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            factGridGovernDailyService.extractFactGridGovernDaily(extractFactGridGovernDailyFromDTO); | 
					 | 
					 | 
					                factGridGovernDailyService.extractFactGridGovernDaily(extractFactGridGovernDailyFromDTO); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch(Exception e){ | 
					 | 
					 | 
					            } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("治理指数-网格fact_grid_govern_daily抽取失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
					 | 
					 | 
					                log.error("治理指数-网格fact_grid_govern_daily抽取失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        } | 
					 | 
					 | 
					            } | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        try{ | 
					 | 
					 | 
					            try { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            factAgencyGovernDailyService.extractFactAgencyGovernDaily(customerId, dateId); | 
					 | 
					 | 
					                factAgencyGovernDailyService.extractFactAgencyGovernDaily(customerId, dateId); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch(Exception e){ | 
					 | 
					 | 
					            } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("治理指数-组织fact_agency_govern_daily抽取失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
					 | 
					 | 
					                log.error("治理指数-组织fact_agency_govern_daily抽取失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        } | 
					 | 
					 | 
					            } | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        try{ | 
					 | 
					 | 
					            try { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            factGridMemberStatisticsDailyService.extractGridMemberStatisticsDaily(customerId, dateId); | 
					 | 
					 | 
					                factGridMemberStatisticsDailyService.extractGridMemberStatisticsDaily(customerId, dateId); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch(Exception e){ | 
					 | 
					 | 
					            } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("网格员数据统计fact_grid_member_statistics_daily抽取失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
					 | 
					 | 
					                log.error("网格员数据统计fact_grid_member_statistics_daily抽取失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            extractPartData(customerId, dateId); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            latch.countDown(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            log.info("extractDaily 4 thread run end ========= dateId:{},customerId:{}", dateId, customerId); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        }); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        try { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            latch.await(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        } catch (InterruptedException e) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            log.error("extractDaily run exception", e); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        extractPartData(customerId, dateId); | 
					 | 
					 | 
					        log.info("===== extractDaily method end customerId:{}======",customerId); | 
				
			
			
				
				
			
		
	
		
		
			
				
					 | 
					 | 
					        log.info("===== extractDaily method end ======"); | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    @Override | 
					 | 
					 | 
					    @Override | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -283,11 +318,11 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        param.setCustomerId(customerId); | 
					 | 
					 | 
					        param.setCustomerId(customerId); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        param.setDateId(dateId); | 
					 | 
					 | 
					        param.setDateId(dateId); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        try{ | 
					 | 
					 | 
					        try { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					            //大屏项目数据抽取_按天抽取
 | 
					 | 
					 | 
					            //大屏项目数据抽取_按天抽取
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            screenProjectSettleService.extractScreenData(param); | 
					 | 
					 | 
					            screenProjectSettleService.extractScreenData(param); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					        } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("大屏项目数据抽取_按天抽取_按天统计失败,customerId为:"+customerId+"dateId为:"+dateId, e); | 
					 | 
					 | 
					            log.error("大屏项目数据抽取_按天抽取_按天统计失败,customerId为:" + customerId + "dateId为:" + dateId, e); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -304,56 +339,56 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        //基层治理-公众参与screen_user_join
 | 
					 | 
					 | 
					        //基层治理-公众参与screen_user_join
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        try { | 
					 | 
					 | 
					        try { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            publicPartExtractService.extractTotalDataMonthly(formDTO); | 
					 | 
					 | 
					            publicPartExtractService.extractTotalDataMonthly(formDTO); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					        } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("基层治理-公众参与抽取到大屏失败,参数为:"+ JSON.toJSONString(formDTO), e); | 
					 | 
					 | 
					            log.error("基层治理-公众参与抽取到大屏失败,参数为:" + JSON.toJSONString(formDTO), e); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        //治理能力排行screen_govern_rank_data
 | 
					 | 
					 | 
					        //治理能力排行screen_govern_rank_data
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        try { | 
					 | 
					 | 
					        try { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            governRankDataExtractService.extractGridData(customerId, monthId); | 
					 | 
					 | 
					            governRankDataExtractService.extractGridData(customerId, monthId); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					        } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("治理能力排行【网格】抽取到大屏失败,参数为:"+ JSON.toJSONString(formDTO), e); | 
					 | 
					 | 
					            log.error("治理能力排行【网格】抽取到大屏失败,参数为:" + JSON.toJSONString(formDTO), e); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        try { | 
					 | 
					 | 
					        try { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            governRankDataExtractService.extractCommunityData(customerId, monthId); | 
					 | 
					 | 
					            governRankDataExtractService.extractCommunityData(customerId, monthId); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					        } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("治理能力排行【社区】抽取到大屏失败,参数为:"+ JSON.toJSONString(formDTO), e); | 
					 | 
					 | 
					            log.error("治理能力排行【社区】抽取到大屏失败,参数为:" + JSON.toJSONString(formDTO), e); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        try { | 
					 | 
					 | 
					        try { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            governRankDataExtractService.extractStreetData(customerId, monthId); | 
					 | 
					 | 
					            governRankDataExtractService.extractStreetData(customerId, monthId); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					        } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("治理能力排行【街道】抽取到大屏失败,参数为:"+ JSON.toJSONString(formDTO), e); | 
					 | 
					 | 
					            log.error("治理能力排行【街道】抽取到大屏失败,参数为:" + JSON.toJSONString(formDTO), e); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        try { | 
					 | 
					 | 
					        try { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            governRankDataExtractService.extractDistrictData(customerId, monthId); | 
					 | 
					 | 
					            governRankDataExtractService.extractDistrictData(customerId, monthId); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					        } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("治理能力排行【全区】抽取到大屏失败,参数为:"+ JSON.toJSONString(formDTO), e); | 
					 | 
					 | 
					            log.error("治理能力排行【全区】抽取到大屏失败,参数为:" + JSON.toJSONString(formDTO), e); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        //先进排行 screen_org_rank_data
 | 
					 | 
					 | 
					        //先进排行 screen_org_rank_data
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        try { | 
					 | 
					 | 
					        try { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            orgRankExtractService.extractGridData(customerId, monthId); | 
					 | 
					 | 
					            orgRankExtractService.extractGridData(customerId, monthId); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					        } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("先进排行【网格】抽取到大屏失败,参数为:"+ JSON.toJSONString(formDTO), e); | 
					 | 
					 | 
					            log.error("先进排行【网格】抽取到大屏失败,参数为:" + JSON.toJSONString(formDTO), e); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        try { | 
					 | 
					 | 
					        try { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            orgRankExtractService.extractCommunityData(customerId, monthId); | 
					 | 
					 | 
					            orgRankExtractService.extractCommunityData(customerId, monthId); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					        } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("先进排行【社区】抽取到大屏失败,参数为:"+ JSON.toJSONString(formDTO), e); | 
					 | 
					 | 
					            log.error("先进排行【社区】抽取到大屏失败,参数为:" + JSON.toJSONString(formDTO), e); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        try { | 
					 | 
					 | 
					        try { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            orgRankExtractService.extractStreetData(customerId, monthId); | 
					 | 
					 | 
					            orgRankExtractService.extractStreetData(customerId, monthId); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					        } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("先进排行【街道】抽取到大屏失败,参数为:"+ JSON.toJSONString(formDTO), e); | 
					 | 
					 | 
					            log.error("先进排行【街道】抽取到大屏失败,参数为:" + JSON.toJSONString(formDTO), e); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        try { | 
					 | 
					 | 
					        try { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            orgRankExtractService.extractDistrictData(customerId, monthId); | 
					 | 
					 | 
					            orgRankExtractService.extractDistrictData(customerId, monthId); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					        } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("先进排行【全区】抽取到大屏失败,参数为:"+ JSON.toJSONString(formDTO), e); | 
					 | 
					 | 
					            log.error("先进排行【全区】抽取到大屏失败,参数为:" + JSON.toJSONString(formDTO), e); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        // 党建引领 screen_party_branch_data,screen_party_link_masses_data
 | 
					 | 
					 | 
					        // 党建引领 screen_party_branch_data,screen_party_link_masses_data
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        try { | 
					 | 
					 | 
					        try { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            partyGuideService.partyGuideExtract(formDTO); | 
					 | 
					 | 
					            partyGuideService.partyGuideExtract(formDTO); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					        } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("党建引领抽取到大屏失败,参数为:"+ JSON.toJSONString(formDTO), e); | 
					 | 
					 | 
					            log.error("党建引领抽取到大屏失败,参数为:" + JSON.toJSONString(formDTO), e); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        try { | 
					 | 
					 | 
					        try { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            //基层治理 - 热心市民 screen_party_user_rank_data
 | 
					 | 
					 | 
					            //基层治理 - 热心市民 screen_party_user_rank_data
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -361,20 +396,20 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            param.setCustomerId(customerId); | 
					 | 
					 | 
					            param.setCustomerId(customerId); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            param.setDateId(monthId); | 
					 | 
					 | 
					            param.setDateId(monthId); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            screenGrassrootsGovernDataAbsorptionService.userScoreDataHub(param); | 
					 | 
					 | 
					            screenGrassrootsGovernDataAbsorptionService.userScoreDataHub(param); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch(Exception e){ | 
					 | 
					 | 
					        } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					            log.error("大屏热心市民/党员得分数据写入失败,参数为:{}" + JSON.toJSONString(formDTO), e); | 
					 | 
					 | 
					            log.error("大屏热心市民/党员得分数据写入失败,参数为:{}" + JSON.toJSONString(formDTO), e); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        try { | 
					 | 
					 | 
					        try { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            // 项目(事件)数量分析按网格_按月统计
 | 
					 | 
					 | 
					            // 项目(事件)数量分析按网格_按月统计
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            screenProjectQuantityGridMonthlyService.extractionProjectGridMonthly(customerId, monthId); | 
					 | 
					 | 
					            screenProjectQuantityGridMonthlyService.extractionProjectGridMonthly(customerId, monthId); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					        } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("项目(事件)数量分析按网格_按月统计失败,参数为{}" + JSON.toJSONString(formDTO),e); | 
					 | 
					 | 
					            log.error("项目(事件)数量分析按网格_按月统计失败,参数为{}" + JSON.toJSONString(formDTO), e); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        try { | 
					 | 
					 | 
					        try { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            // 项目(事件)数量分析按组织_按月统计
 | 
					 | 
					 | 
					            // 项目(事件)数量分析按组织_按月统计
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            screenProjectQuantityOrgMonthlyService.extractionProjectOrgMonthly(customerId, monthId); | 
					 | 
					 | 
					            screenProjectQuantityOrgMonthlyService.extractionProjectOrgMonthly(customerId, monthId); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        }catch (Exception e){ | 
					 | 
					 | 
					        } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            log.error("项目(事件)数量分析按组织_按月统计失败,参数为{}" + JSON.toJSONString(formDTO),e); | 
					 | 
					 | 
					            log.error("项目(事件)数量分析按组织_按月统计失败,参数为{}" + JSON.toJSONString(formDTO), e); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        //此方法保持在最后即可   计算指标分数 todo 优化 手动创建线程池 控制任务数量
 | 
					 | 
					 | 
					        //此方法保持在最后即可   计算指标分数 todo 优化 手动创建线程池 控制任务数量
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        ExecutorService pool = Executors.newSingleThreadExecutor(); | 
					 | 
					 | 
					        ExecutorService pool = Executors.newSingleThreadExecutor(); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  |