|
|
@ -89,7 +89,7 @@ public class UserAnalysisServiceImpl implements UserAnalysisService { |
|
|
|
userSummaryInfoResultDTO=userAnalysisDao.selectRegUserSummaryInfo(myAgencyId); |
|
|
|
} |
|
|
|
if(null!=userSummaryInfoResultDTO){ |
|
|
|
userSummaryInfoResultDTO.setCurrentDate(DateUtils.getDatePointPattern(userSummaryInfoResultDTO.getCurrentDate())); |
|
|
|
userSummaryInfoResultDTO.setCurrentDate(DateUtils.getxAxisDatePattern(userSummaryInfoResultDTO.getCurrentDate(),".")); |
|
|
|
//提取出工具类
|
|
|
|
userSummaryInfoResultDTO.setPartymemberProportion(userSummaryInfoResultDTO.getPartymemberProportionValue().stripTrailingZeros().toPlainString()); |
|
|
|
userSummaryInfoResultDTO.setWarmHeartedProportion(userSummaryInfoResultDTO.getWarmHeartedProportionValue().stripTrailingZeros().toPlainString()); |
|
|
@ -295,6 +295,131 @@ public class UserAnalysisServiceImpl implements UserAnalysisService { |
|
|
|
**/ |
|
|
|
@Override |
|
|
|
public List<UserIncrTrendResultDTO> incrTrend(UserIncrTrendFormDTO formDTO) { |
|
|
|
return null; |
|
|
|
//获取用户所属机关id
|
|
|
|
String myAgencyId = this.getMyAgency(); |
|
|
|
List<UserIncrTrendResultDTO> dimList = this.initUserIncrTrendResultDTO(formDTO.getType()); |
|
|
|
if(CollectionUtils.isEmpty(dimList)){ |
|
|
|
logger.error("横坐标初始失败"); |
|
|
|
return new ArrayList<>(); |
|
|
|
} |
|
|
|
List<UserIncrTrendResDTO> list=new ArrayList<>(); |
|
|
|
if (UserAnalysisConstant.REG_FLAG.equals(formDTO.getRegOrPartiFlag()) && UserAnalysisConstant.DAY_TYPE.equals(formDTO.getType())) { |
|
|
|
//注册用户数、日
|
|
|
|
list=userAnalysisDao.selectRegDayIncr(myAgencyId); |
|
|
|
} else if (UserAnalysisConstant.REG_FLAG.equals(formDTO.getRegOrPartiFlag()) && UserAnalysisConstant.MONTH_TYPE.equals(formDTO.getType())) { |
|
|
|
//注册用户数、月
|
|
|
|
list=userAnalysisDao.selectRegMonthIncr(myAgencyId); |
|
|
|
} else if (UserAnalysisConstant.PARTI_FLAG.equals(formDTO.getRegOrPartiFlag()) && UserAnalysisConstant.DAY_TYPE.equals(formDTO.getType())) { |
|
|
|
//参与用户数、日
|
|
|
|
list=userAnalysisDao.selectParticipationUserDayIncr(myAgencyId); |
|
|
|
} else if (UserAnalysisConstant.PARTI_FLAG.equals(formDTO.getRegOrPartiFlag()) && UserAnalysisConstant.MONTH_TYPE.equals(formDTO.getType())) { |
|
|
|
//参与用户数、月
|
|
|
|
list=userAnalysisDao.selectParticipationUserMonthIncr(myAgencyId); |
|
|
|
} else { |
|
|
|
logger.error("参数错误"); |
|
|
|
return new ArrayList<>(); |
|
|
|
} |
|
|
|
for(UserIncrTrendResultDTO dim:dimList){ |
|
|
|
boolean flag=false; |
|
|
|
for(UserIncrTrendResDTO userIncrTrendResDTO:list){ |
|
|
|
if(dim.getDateOrMonthId().equals(userIncrTrendResDTO.getDateIdOrMonthId())){ |
|
|
|
flag=true; |
|
|
|
//居民、热心居民、党员总数,用于排序
|
|
|
|
switch(dim.getType()){ |
|
|
|
case UserAnalysisConstant.REGISTERED_RESI: |
|
|
|
dim.setValue(userIncrTrendResDTO.getRegIncr()); |
|
|
|
break; |
|
|
|
case UserAnalysisConstant.WARMHEARTED: |
|
|
|
dim.setValue(userIncrTrendResDTO.getWarmIncr()); |
|
|
|
break; |
|
|
|
case UserAnalysisConstant.PARTYMEMBER: |
|
|
|
dim.setValue(userIncrTrendResDTO.getPartymemberIncr()); |
|
|
|
break; |
|
|
|
default: |
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
if(!flag){ |
|
|
|
logger.error(String.format("机关id%s缺少记录dateOrMonthId=%s",myAgencyId,dim.getDateOrMonthId())); |
|
|
|
} |
|
|
|
} |
|
|
|
return dimList; |
|
|
|
} |
|
|
|
|
|
|
|
private List<UserIncrTrendResultDTO> initUserIncrTrendResultDTO(String type) { |
|
|
|
List<UserIncrTrendResultDTO> list=new ArrayList<>(); |
|
|
|
if(UserAnalysisConstant.DAY_TYPE.equals(type)){ |
|
|
|
List<String> dateIdList= DateUtils.getDaysBetween(DateUtils.getBeforeNDay(90), |
|
|
|
DateUtils.getBeforeNDay(1)); |
|
|
|
for(String dateId:dateIdList){ |
|
|
|
String date=DateUtils.getxAxisDatePattern(dateId,"/"); |
|
|
|
//居民
|
|
|
|
UserIncrTrendResultDTO resi=new UserIncrTrendResultDTO(); |
|
|
|
resi.setDate(date); |
|
|
|
resi.setType(UserAnalysisConstant.REGISTERED_RESI); |
|
|
|
resi.setValue(NumConstant.ZERO); |
|
|
|
resi.setDateOrMonthId(dateId); |
|
|
|
//热心居民
|
|
|
|
UserIncrTrendResultDTO warm=new UserIncrTrendResultDTO(); |
|
|
|
warm.setDate(date); |
|
|
|
warm.setType(UserAnalysisConstant.WARMHEARTED); |
|
|
|
warm.setValue(NumConstant.ZERO); |
|
|
|
warm.setDateOrMonthId(dateId); |
|
|
|
//党员
|
|
|
|
UserIncrTrendResultDTO party=new UserIncrTrendResultDTO(); |
|
|
|
party.setDate(date); |
|
|
|
party.setType(UserAnalysisConstant.PARTYMEMBER); |
|
|
|
party.setValue(NumConstant.ZERO); |
|
|
|
party.setDateOrMonthId(dateId); |
|
|
|
list.add(resi); |
|
|
|
list.add(warm); |
|
|
|
list.add(party); |
|
|
|
} |
|
|
|
}else if(UserAnalysisConstant.MONTH_TYPE.equals(type)){ |
|
|
|
List<String> monthList= DateUtils.getMonthBetween(DateUtils.getBeforeNMonth(12), |
|
|
|
DateUtils.getBeforeNMonth(1)); |
|
|
|
for(String monthId:monthList){ |
|
|
|
String date=DateUtils.getxAxisDatePattern(monthId,"/"); |
|
|
|
//居民
|
|
|
|
UserIncrTrendResultDTO resi=new UserIncrTrendResultDTO(); |
|
|
|
resi.setDate(date); |
|
|
|
resi.setType(UserAnalysisConstant.REGISTERED_RESI); |
|
|
|
resi.setValue(NumConstant.ZERO); |
|
|
|
resi.setDateOrMonthId(monthId); |
|
|
|
//热心居民
|
|
|
|
UserIncrTrendResultDTO warm=new UserIncrTrendResultDTO(); |
|
|
|
warm.setDate(date); |
|
|
|
warm.setType(UserAnalysisConstant.WARMHEARTED); |
|
|
|
warm.setValue(NumConstant.ZERO); |
|
|
|
warm.setDateOrMonthId(monthId); |
|
|
|
//党员
|
|
|
|
UserIncrTrendResultDTO party=new UserIncrTrendResultDTO(); |
|
|
|
party.setDate(date); |
|
|
|
party.setType(UserAnalysisConstant.PARTYMEMBER); |
|
|
|
party.setValue(NumConstant.ZERO); |
|
|
|
party.setDateOrMonthId(monthId); |
|
|
|
list.add(resi); |
|
|
|
list.add(warm); |
|
|
|
list.add(party); |
|
|
|
} |
|
|
|
} |
|
|
|
return list; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/*public static void main(String[] args) { |
|
|
|
// System.out.println("前一天"+DateUtils.getBeforeNDay(1));
|
|
|
|
// System.out.println("前90天"+DateUtils.getBeforeNDay(90));
|
|
|
|
List<String> list= DateUtils.getDaysBetween("201912","202005"); |
|
|
|
for(String m:list){ |
|
|
|
System.out.println(m); |
|
|
|
} |
|
|
|
// System.out.println(list.size());
|
|
|
|
System.out.println("上个月"+DateUtils.getBeforeNMonth(1)); |
|
|
|
System.out.println("前8个月"+DateUtils.getBeforeNMonth(8)); |
|
|
|
|
|
|
|
}*/ |
|
|
|
|
|
|
|
} |
|
|
|