diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/user/FactParticipationUserGridDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/user/FactParticipationUserGridDailyDTO.java index a0d86d6164..2be14c087f 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/user/FactParticipationUserGridDailyDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/user/FactParticipationUserGridDailyDTO.java @@ -19,6 +19,8 @@ package com.epmet.dto.stats.user; import java.io.Serializable; import java.util.Date; + +import com.epmet.commons.tools.constant.NumConstant; import lombok.Data; import java.math.BigDecimal; @@ -150,4 +152,16 @@ public class FactParticipationUserGridDailyDTO implements Serializable { */ private String delFlag; + public FactParticipationUserGridDailyDTO() { + this.regTotal = NumConstant.ZERO; + this.resiTotal = NumConstant.ZERO; + this.warmHeartedTotal = NumConstant.ZERO; + this.partymemberTotal = NumConstant.ZERO; + this.regIncr = NumConstant.ZERO; + this.warmIncr = NumConstant.ZERO; + this.partymemberIncr = NumConstant.ZERO; + this.resiProportion = NumConstant.ZERO_DECIMAL; + this.partymemberProportion = NumConstant.ZERO_DECIMAL; + this.warmHeartedProportion = NumConstant.ZERO_DECIMAL; + } } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/user/FactParticipationUserGridMonthlyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/user/FactParticipationUserGridMonthlyDTO.java index 15221181a8..be34873cf6 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/user/FactParticipationUserGridMonthlyDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/user/FactParticipationUserGridMonthlyDTO.java @@ -19,6 +19,8 @@ package com.epmet.dto.stats.user; import java.io.Serializable; import java.util.Date; + +import com.epmet.commons.tools.constant.NumConstant; import lombok.Data; import java.math.BigDecimal; @@ -149,4 +151,16 @@ public class FactParticipationUserGridMonthlyDTO implements Serializable { */ private String delFlag; + public FactParticipationUserGridMonthlyDTO() { + this.regTotal = NumConstant.ZERO; + this.resiTotal = NumConstant.ZERO; + this.warmHeartedTotal = NumConstant.ZERO; + this.partymemberTotal = NumConstant.ZERO; + this.regIncr = NumConstant.ZERO; + this.warmIncr = NumConstant.ZERO; + this.partymemberIncr = NumConstant.ZERO; + this.partymemberProportion = NumConstant.ZERO_DECIMAL; + this.resiProportion = NumConstant.ZERO_DECIMAL; + this.warmHeartedProportion = NumConstant.ZERO_DECIMAL; + } } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/user/FactRegUserGridDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/user/FactRegUserGridDailyDTO.java index cf2d64b687..ea99e123f8 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/user/FactRegUserGridDailyDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/user/FactRegUserGridDailyDTO.java @@ -19,6 +19,8 @@ package com.epmet.dto.stats.user; import java.io.Serializable; import java.util.Date; + +import com.epmet.commons.tools.constant.NumConstant; import lombok.Data; import java.math.BigDecimal; @@ -149,4 +151,16 @@ public class FactRegUserGridDailyDTO implements Serializable { */ private String delFlag; + public FactRegUserGridDailyDTO() { + this.regTotal = NumConstant.ZERO; + this.resiTotal = NumConstant.ZERO; + this.warmHeartedTotal = NumConstant.ZERO; + this.partymemberTotal = NumConstant.ZERO; + this.regIncr = NumConstant.ZERO; + this.warmIncr = NumConstant.ZERO; + this.partymemberIncr = NumConstant.ZERO; + this.resiProportion = NumConstant.ZERO_DECIMAL; + this.partymemberProportion = NumConstant.ZERO_DECIMAL; + this.warmHeartedProportion = NumConstant.ZERO_DECIMAL; + } } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/user/FactRegUserGridMonthlyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/user/FactRegUserGridMonthlyDTO.java index 51308b4d4c..4060d75e7f 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/user/FactRegUserGridMonthlyDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/user/FactRegUserGridMonthlyDTO.java @@ -19,6 +19,8 @@ package com.epmet.dto.stats.user; import java.io.Serializable; import java.util.Date; + +import com.epmet.commons.tools.constant.NumConstant; import lombok.Data; import java.math.BigDecimal; @@ -149,4 +151,16 @@ public class FactRegUserGridMonthlyDTO implements Serializable { */ private String delFlag; + public FactRegUserGridMonthlyDTO() { + this.regTotal = NumConstant.ZERO; + this.resiTotal = NumConstant.ZERO; + this.warmHeartedTotal = NumConstant.ZERO; + this.partymemberTotal = NumConstant.ZERO; + this.regIncr = NumConstant.ZERO; + this.warmIncr = NumConstant.ZERO; + this.partymemberIncr = NumConstant.ZERO; + this.warmHeartedProportion = NumConstant.ZERO_DECIMAL; + this.resiProportion = NumConstant.ZERO_DECIMAL; + this.partymemberProportion = NumConstant.ZERO_DECIMAL; + } } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/user/result/UserStatisticalData.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/user/result/UserStatisticalData.java index 40315afc0c..22e6955a83 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/user/result/UserStatisticalData.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/user/result/UserStatisticalData.java @@ -5,6 +5,7 @@ import com.epmet.dto.stats.user.*; import lombok.Data; import java.io.Serializable; +import java.util.ArrayList; import java.util.List; /** @@ -71,4 +72,15 @@ public class UserStatisticalData implements Serializable { * yyyyMM */ private String monthId; + + public UserStatisticalData() { + this.partiAgencyDailyList = new ArrayList<>(); + this.partiGridDailyList = new ArrayList<>(); + this.partiAgencyMonthlyList = new ArrayList<>(); + this.partiGridMonthlyList = new ArrayList<>(); + this.regAgencyDailyList = new ArrayList<>(); + this.regGridDailyList = new ArrayList<>(); + this.regAgencyMonthlyList = new ArrayList<>(); + this.regGridMonthlyList = new ArrayList<>(); + } } diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/IncrAndTotalUserIdsResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/IncrAndTotalUserIdsResultDTO.java new file mode 100644 index 0000000000..77591143e1 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/IncrAndTotalUserIdsResultDTO.java @@ -0,0 +1,26 @@ +package com.epmet.dto.user.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2021/7/27 10:41 上午 + * @DESC + */ +@Data +public class IncrAndTotalUserIdsResultDTO implements Serializable { + + private static final long serialVersionUID = 9116867002773352209L; + + private String gridId; + + private List userIds; + + /** + * userId类型:daily:日,monthly:月 + */ + private String type; +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/IncrWithinTimeRangeResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/IncrWithinTimeRangeResultDTO.java new file mode 100644 index 0000000000..e922a0e3a6 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/IncrWithinTimeRangeResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.user.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/7/28 10:58 上午 + * @DESC 查询指定时间范围内注册/参与用户增量 + */ +@Data +public class IncrWithinTimeRangeResultDTO implements Serializable { + + private static final long serialVersionUID = 6199087464367184830L; + + private String gridId; + + private Integer userCount; +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/PartyTotalAndIncrResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/PartyTotalAndIncrResultDTO.java new file mode 100644 index 0000000000..2dcdcdc8f4 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/PartyTotalAndIncrResultDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.user.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/7/27 4:53 下午 + * @DESC + */ +@Data +public class PartyTotalAndIncrResultDTO implements Serializable { + + private static final long serialVersionUID = 6546408164027047797L; + + private String gridId; + + private Integer dailyIncr; + + private Integer monthlyIncr; + + private Integer total; +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/TotalAndIncrResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/TotalAndIncrResultDTO.java new file mode 100644 index 0000000000..f0886b0399 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/TotalAndIncrResultDTO.java @@ -0,0 +1,31 @@ +package com.epmet.dto.user.result; + +import com.epmet.commons.tools.constant.NumConstant; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/7/27 10:14 上午 + * @DESC + */ +@Data +public class TotalAndIncrResultDTO implements Serializable { + + private static final long serialVersionUID = -3184476610188193106L; + + private Integer total; + + private Integer dailyIncr; + + private Integer monthlyIncr; + + private String gridId; + + public TotalAndIncrResultDTO() { + this.total = NumConstant.ZERO; + this.dailyIncr = NumConstant.ZERO; + this.monthlyIncr = NumConstant.ZERO; + } +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/TotalUserIdsResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/TotalUserIdsResultDTO.java new file mode 100644 index 0000000000..1536055246 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/TotalUserIdsResultDTO.java @@ -0,0 +1,21 @@ +package com.epmet.dto.user.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2021/7/27 10:57 上午 + * @DESC + */ +@Data +public class TotalUserIdsResultDTO implements Serializable { + + private static final long serialVersionUID = 8236061658552220549L; + + private String gridId; + + private List userIds; +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/WarmTotalAndIncrResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/WarmTotalAndIncrResultDTO.java new file mode 100644 index 0000000000..2b9b86e2f0 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/WarmTotalAndIncrResultDTO.java @@ -0,0 +1,37 @@ +package com.epmet.dto.user.result; + +import com.epmet.commons.tools.constant.NumConstant; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/7/27 1:30 下午 + * @DESC + */ +@Data +public class WarmTotalAndIncrResultDTO implements Serializable { + + private static final long serialVersionUID = -4864864583111279861L; + + private String gridId; + + private Integer total; + + /** + * 日增 + */ + private Integer dailyIncr; + + /** + * 月增 + */ + private Integer monthlyIncr; + + public WarmTotalAndIncrResultDTO() { + this.total = NumConstant.ZERO; + this.dailyIncr = NumConstant.ZERO; + this.monthlyIncr = NumConstant.ZERO; + } +} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactGroupGridDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactGroupGridDailyDao.java index 5dfd4bc79d..c468f3a27c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactGroupGridDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactGroupGridDailyDao.java @@ -48,7 +48,7 @@ public interface FactGroupGridDailyDao extends BaseDao * @param dateId * @author zxc */ - void deleteInsertDateId(@Param("dateId")String dateId,@Param("customerId")String customerId); + Integer deleteInsertDateId(@Param("dateId")String dateId,@Param("customerId")String customerId); /** * @Description 根据机关级别查询小组数据 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactParticipationUserAgencyDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactParticipationUserAgencyDailyDao.java index f74e27ede1..8231cc4e7a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactParticipationUserAgencyDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactParticipationUserAgencyDailyDao.java @@ -37,7 +37,7 @@ public interface FactParticipationUserAgencyDailyDao extends BaseDao list); - void deleteByParams(@Param("dateId")String dateId,@Param("customerId")String customerId); + Integer deleteByParams(@Param("dateId")String dateId,@Param("customerId")String customerId); /** * @Description 查询机关下用户信息 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactParticipationUserAgencyMonthlyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactParticipationUserAgencyMonthlyDao.java index d52897c4b9..4f3f570d27 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactParticipationUserAgencyMonthlyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactParticipationUserAgencyMonthlyDao.java @@ -36,6 +36,6 @@ public interface FactParticipationUserAgencyMonthlyDao extends BaseDao list); - void deleteByParams(@Param("monthId")String monthId,@Param("customerId")String customerId); + Integer deleteByParams(@Param("monthId")String monthId,@Param("customerId")String customerId); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactParticipationUserGridDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactParticipationUserGridDailyDao.java index 687e8650d6..acd5329dd4 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactParticipationUserGridDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactParticipationUserGridDailyDao.java @@ -38,7 +38,7 @@ public interface FactParticipationUserGridDailyDao extends BaseDao list); - void deleteByParams(@Param("dateId")String dateId,@Param("customerId")String customerId); + Integer deleteByParams(@Param("dateId")String dateId,@Param("customerId")String customerId); /** * @Description 查询网格下用户信息 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactParticipationUserGridMonthlyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactParticipationUserGridMonthlyDao.java index b67adec9dc..ec04d3a275 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactParticipationUserGridMonthlyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactParticipationUserGridMonthlyDao.java @@ -36,5 +36,5 @@ public interface FactParticipationUserGridMonthlyDao extends BaseDao list); - void deleteByParams(@Param("monthId")String monthId,@Param("customerId")String customerId); + Integer deleteByParams(@Param("monthId")String monthId,@Param("customerId")String customerId); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactRegUserAgencyDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactRegUserAgencyDailyDao.java index e22a094565..b26b96ec63 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactRegUserAgencyDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactRegUserAgencyDailyDao.java @@ -36,6 +36,6 @@ public interface FactRegUserAgencyDailyDao extends BaseDao list); - void deleteByParams(@Param("dateId")String dateId,@Param("customerId")String customerId); + Integer deleteByParams(@Param("dateId")String dateId,@Param("customerId")String customerId); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactRegUserAgencyMonthlyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactRegUserAgencyMonthlyDao.java index 5df37b7ff5..633df1abb2 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactRegUserAgencyMonthlyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactRegUserAgencyMonthlyDao.java @@ -37,7 +37,7 @@ public interface FactRegUserAgencyMonthlyDao extends BaseDao list); - void deleteByParams(@Param("monthId") String monthId, @Param("customerId") String customerId); + Integer deleteByParams(@Param("monthId") String monthId, @Param("customerId") String customerId); List selectAgencyUserCount(@Param("customerId") String customerId, @Param("monthId") String monthId); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactRegUserGridDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactRegUserGridDailyDao.java index ba2c53eb2c..d0b24b16f3 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactRegUserGridDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactRegUserGridDailyDao.java @@ -37,7 +37,7 @@ public interface FactRegUserGridDailyDao extends BaseDao list); - void deleteByParams(@Param("dateId")String dateId,@Param("customerId")String customerId); + Integer deleteByParams(@Param("dateId")String dateId,@Param("customerId")String customerId); /** * @Description 根据机构级别查询用户数与党员数 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactRegUserGridMonthlyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactRegUserGridMonthlyDao.java index 744f9ffd0a..3eef3fda97 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactRegUserGridMonthlyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/user/FactRegUserGridMonthlyDao.java @@ -37,7 +37,7 @@ public interface FactRegUserGridMonthlyDao extends BaseDao list); - void deleteByParams(@Param("monthId")String monthId,@Param("customerId")String customerId); + Integer deleteByParams(@Param("monthId")String monthId,@Param("customerId")String customerId); /** * @Description 查询网格下的客户 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java index 3d63f88ce5..8e03a5abc2 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java @@ -5,11 +5,7 @@ import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO; import com.epmet.dto.extract.result.UserPartyResultDTO; import com.epmet.dto.screen.ScreenProjectDataDTO; import com.epmet.dto.stats.form.GmUploadEventFormDTO; -import com.epmet.dto.user.result.CommonTotalAndIncCountResultDTO; -import com.epmet.dto.user.result.StaffRoleInfoDTO; -import com.epmet.dto.user.result.CustomerStaffDTO; -import com.epmet.dto.user.result.StaffPatrolRecordResult; -import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO; +import com.epmet.dto.user.result.*; import com.epmet.entity.evaluationindex.screen.ScreenPartyUserRankDataEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -36,6 +32,16 @@ public interface UserDao { **/ CommonTotalAndIncCountResultDTO selectResiTotalAndIncrByLevel(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set gridIds, @Param("targetDate") Date targetDate); + /** + * @Description 查询注册用户的总量与增量【新方法】 + * @Param regOrPartiFlag + * @Param gridIds + * @Param targetDate + * @author zxc + * @date 2021/7/27 10:20 上午 + */ + List selectResiTotalAndIncrByGridIds(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set gridIds, @Param("targetDate") Date targetDate,@Param("startDate")Date startDate); + /** * @param * @return @@ -45,6 +51,15 @@ public interface UserDao { **/ CommonTotalAndIncCountResultDTO selectPartyTotalAndIncr(@Param("userIds") List userIds, @Param("incrUserIds") List incrUserIds, @Param("targetDate") Date targetDate); + /** + * @Description 查询党员的总量与增量【新方法】 + * @Param targetDate + * @Param regOrPartiFlag + * @author zxc + * @date 2021/7/27 5:08 下午 + */ + List selectPartyTotalAndIncrNew(@Param("targetDate") Date targetDate,@Param("regOrPartiFlag") String regOrPartiFlag,@Param("startDate") Date startDate); + /** * @param * @return @@ -54,6 +69,18 @@ public interface UserDao { **/ CommonTotalAndIncCountResultDTO selectWarmTotalAndIncr(@Param("userIds") List userIds, @Param("incrUserIds") List incrUserIds, @Param("gridIds") Set gridIds, @Param("targetDate") Date targetDate); + /** + * @Description 查询热心居民的总量与增量【新方法】 + * @Param userIds 总注册用户 + * @Param incrUserIds 增长注册用户 + * @Param gridIds 网格IDS + * @Param targetDate dateId eg:2021-07-27 + * @author zxc + * @date 2021/7/27 1:31 下午 + */ + List selectWarmTotalAndIncrByGrids(@Param("userIds") List userIds, @Param("incrDailyUserIds") List incrDailyUserIds, @Param("gridIds") Set gridIds, + @Param("targetDate") Date targetDate,@Param("startDate") Date startDate,@Param("incrMonthlyUserIds") List incrMonthlyUserIds); + /** * @param * @return @@ -72,6 +99,27 @@ public interface UserDao { **/ List selectTotalUserIds(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set gridIds, @Param("targetDate") Date targetDate); + /** + * @Description 查询指定网格范围下单位时间内新增的注册用户Id【新方法】 + * @Param regOrPartiFlag + * @Param gridIds + * @Param targetDate + * @author zxc + * @date 2021/7/27 10:41 上午 + */ + List selectIncrUserIdsByGrids(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set gridIds, @Param("targetDate") Date targetDate, + @Param("startDate")Date startDate); + + /** + * @Description 查询指定网格范围下单位时间内全部的注册用户Id【新方法】 + * @Param regOrPartiFlag + * @Param gridIds + * @Param targetDate + * @author zxc + * @date 2021/7/29 10:08 上午 + */ + List selectTotalUserIdsByGrids(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set gridIds, @Param("targetDate") Date targetDate); + /** * @param * @return @@ -90,6 +138,17 @@ public interface UserDao { **/ Integer selectResiIncrWithinTimeRange(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set gridIds, @Param("startDate") Date startDate, @Param("endDate") Date endDate); + /** + * @Description 查询指定时间范围内注册/参与用户增量【新方法】 + * @Param regOrPartiFlag + * @Param gridIds + * @Param startDate + * @Param endDate + * @author zxc + * @date 2021/7/28 11:00 上午 + */ + List selectIncrWithinTimeRangeByGrids(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set gridIds, @Param("startDate") Date startDate, @Param("endDate") Date endDate); + /** * @param * @return diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/group/impl/GroupDataServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/group/impl/GroupDataServiceImpl.java index a7a596ca10..9263313f48 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/group/impl/GroupDataServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/group/impl/GroupDataServiceImpl.java @@ -64,11 +64,7 @@ public class GroupDataServiceImpl implements GroupDataService { formDTO.setCustomerId(customerId); formDTO.setDateId(dateId); List gridGroupTotalResultDTOS = groupDataDao.selectGridGroupTotal(formDTO); - if (gridGroupTotalResultDTOS.size() == NumConstant.ZERO){ - result.forEach(grid -> { - grid.setGroupTotal(NumConstant.ZERO); - }); - }else { + if (!CollectionUtils.isEmpty(gridGroupTotalResultDTOS)){ result.forEach(grid -> { gridGroupTotalResultDTOS.forEach(groupTotal -> { if (grid.getGridId().equals(groupTotal.getGridId())) { diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactGroupGridDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactGroupGridDailyServiceImpl.java index d59d82e1e0..f0c8d90832 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactGroupGridDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactGroupGridDailyServiceImpl.java @@ -32,10 +32,12 @@ import com.epmet.dto.stats.FactGroupGridDailyDTO; import com.epmet.entity.stats.FactGroupGridDailyEntity; import com.epmet.service.StatsGroupService; import com.epmet.service.stats.FactGroupGridDailyService; +import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import java.util.Arrays; import java.util.List; @@ -114,12 +116,18 @@ public class FactGroupGridDailyServiceImpl extends BaseServiceImpl formDto,String customerId) { - if (formDto.size() == NumConstant.ZERO){ + if (CollectionUtils.isEmpty(formDto)){ return; } String dateId = formDto.get(NumConstant.ZERO).getDateId(); - baseDao.deleteInsertDateId(dateId,customerId); - baseDao.insertGroupGridDaily(formDto); + Integer delNum; + do { + delNum = baseDao.deleteInsertDateId(dateId,customerId); + }while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); + List> partition = ListUtils.partition(formDto, NumConstant.ONE_HUNDRED); + partition.forEach(p -> { + baseDao.insertGroupGridDaily(p); + }); } } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/user/impl/UserStatisticalServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/user/impl/UserStatisticalServiceImpl.java index f42f74645c..50b3ade54f 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/user/impl/UserStatisticalServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/user/impl/UserStatisticalServiceImpl.java @@ -3,8 +3,10 @@ package com.epmet.service.stats.user.impl; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.dao.stats.user.*; +import com.epmet.dto.stats.user.*; import com.epmet.dto.stats.user.result.UserStatisticalData; import com.epmet.service.stats.user.UserStatisticalService; +import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -12,6 +14,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.List; + /** * @Description * @ClassName UserStatisticalServiceImpl @@ -59,58 +63,91 @@ public class UserStatisticalServiceImpl implements UserStatisticalService { } if(null != data.getPartiAgencyDailyList() && data.getPartiAgencyDailyList().size() > NumConstant.ZERO){ - - participationUserAgencyDailyDao.deleteByParams(data.getDateId(),data.getCustomerId()); - participationUserAgencyDailyDao.insertBatch(data.getPartiAgencyDailyList()); + Integer delNum; + do { + delNum = participationUserAgencyDailyDao.deleteByParams(data.getDateId(),data.getCustomerId()); + }while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); + List> partition = ListUtils.partition(data.getPartiAgencyDailyList(), NumConstant.ONE_HUNDRED); + partition.forEach(p -> { + participationUserAgencyDailyDao.insertBatch(p); + }); } if(null != data.getPartiAgencyMonthlyList() && data.getPartiAgencyMonthlyList().size() > NumConstant.ZERO){ - - participationUserAgencyMonthlyDao.deleteByParams(data.getMonthId(),data.getCustomerId()); - participationUserAgencyMonthlyDao.insertBatch(data.getPartiAgencyMonthlyList()); - + Integer delNum; + do { + delNum = participationUserAgencyMonthlyDao.deleteByParams(data.getMonthId(),data.getCustomerId()); + }while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); + List> partition = ListUtils.partition(data.getPartiAgencyMonthlyList(), NumConstant.ONE_HUNDRED); + partition.forEach(p -> { + participationUserAgencyMonthlyDao.insertBatch(p); + }); } if(null != data.getPartiGridMonthlyList() && data.getPartiGridMonthlyList().size() > NumConstant.ZERO){ - - participationUserGridMonthlyDao.deleteByParams(data.getMonthId(),data.getCustomerId()); - participationUserGridMonthlyDao.insertBatch(data.getPartiGridMonthlyList()); - + Integer delNum; + do { + delNum = participationUserGridMonthlyDao.deleteByParams(data.getMonthId(),data.getCustomerId()); + }while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); + List> partition = ListUtils.partition(data.getPartiGridMonthlyList(), NumConstant.ONE_HUNDRED); + partition.forEach(p -> { + participationUserGridMonthlyDao.insertBatch(p); + }); } if(null != data.getPartiGridDailyList() && data.getPartiGridDailyList().size() > NumConstant.ZERO){ - - participationUserGridDailyDao.deleteByParams(data.getDateId(),data.getCustomerId()); - participationUserGridDailyDao.insertBatch(data.getPartiGridDailyList()); - + Integer delNum; + do { + delNum = participationUserGridDailyDao.deleteByParams(data.getDateId(),data.getCustomerId()); + }while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); + List> partition = ListUtils.partition(data.getPartiGridDailyList(), NumConstant.ONE_HUNDRED); + partition.forEach(p -> { + participationUserGridDailyDao.insertBatch(p); + }); } if(null != data.getRegAgencyDailyList() && data.getRegAgencyDailyList().size() > NumConstant.ZERO){ - - regUserAgencyDailyDao.deleteByParams(data.getDateId(),data.getCustomerId()); - regUserAgencyDailyDao.insertBatch(data.getRegAgencyDailyList()); - + Integer delNum; + do { + delNum = regUserAgencyDailyDao.deleteByParams(data.getDateId(),data.getCustomerId()); + }while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); + List> partition = ListUtils.partition(data.getRegAgencyDailyList(), NumConstant.ONE_HUNDRED); + partition.forEach(p -> { + regUserAgencyDailyDao.insertBatch(p); + }); } if(null != data.getRegAgencyMonthlyList() && data.getRegAgencyMonthlyList().size() > NumConstant.ZERO){ - - regUserAgencyMonthlyDao.deleteByParams(data.getMonthId(),data.getCustomerId()); - regUserAgencyMonthlyDao.insertBatch(data.getRegAgencyMonthlyList()); - + Integer delNum; + do { + delNum = regUserAgencyMonthlyDao.deleteByParams(data.getMonthId(),data.getCustomerId()); + }while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); + List> partition = ListUtils.partition(data.getRegAgencyMonthlyList(), NumConstant.ONE_HUNDRED); + partition.forEach(p -> { + regUserAgencyMonthlyDao.insertBatch(p); + }); } if(null != data.getRegGridDailyList() && data.getRegGridDailyList().size() > NumConstant.ZERO){ - - regUserGridDailyDao.deleteByParams(data.getDateId(),data.getCustomerId()); - regUserGridDailyDao.insertBatch(data.getRegGridDailyList()); - + Integer delNum; + do { + delNum = regUserGridDailyDao.deleteByParams(data.getDateId(),data.getCustomerId()); + }while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); + List> partition = ListUtils.partition(data.getRegGridDailyList(), NumConstant.ONE_HUNDRED); + partition.forEach(p -> { + regUserGridDailyDao.insertBatch(p); + }); } if(null != data.getRegGridMonthlyList() && data.getRegGridMonthlyList().size() > NumConstant.ZERO){ - - regUserGridMonthlyDao.deleteByParams(data.getMonthId(),data.getCustomerId()); - regUserGridMonthlyDao.insertBatch(data.getRegGridMonthlyList()); - + Integer delNum; + do { + delNum = regUserGridMonthlyDao.deleteByParams(data.getMonthId(),data.getCustomerId()); + }while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); + List> partition = ListUtils.partition(data.getRegGridMonthlyList(), NumConstant.ONE_HUNDRED); + partition.forEach(p -> { + regUserGridMonthlyDao.insertBatch(p); + }); } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java index 6cfcc8e89e..c154ead20b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java @@ -17,11 +17,7 @@ import com.epmet.dto.screen.ScreenProjectDataDTO; import com.epmet.dto.stats.form.GmUploadEventFormDTO; import com.epmet.dto.stats.user.*; import com.epmet.dto.stats.user.result.UserStatisticalData; -import com.epmet.dto.user.result.CommonTotalAndIncCountResultDTO; -import com.epmet.dto.user.result.StaffRoleInfoDTO; -import com.epmet.dto.user.result.CustomerStaffDTO; -import com.epmet.dto.user.result.StaffPatrolRecordResult; -import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO; +import com.epmet.dto.user.result.*; import com.epmet.entity.evaluationindex.screen.ScreenPartyUserRankDataEntity; import com.epmet.service.user.UserService; import com.epmet.util.DimIdGenerator; @@ -120,14 +116,16 @@ public class UserServiceImpl implements UserService { if(null != agencyMap && agencyMap.size() > NumConstant.ZERO){ agencyMap.forEach((agencyId,v) -> { if(null != v && v.size() > NumConstant.ZERO){ - queryUserData(ModuleConstant.DIM_BELONGING_GRID, + /*queryUserData(ModuleConstant.DIM_BELONGING_GRID, agencyId, // v.get(NumConstant.ZERO).getPid(), v.get(NumConstant.ZERO).getCustomerId(), new HashSet<>(v.get(NumConstant.ZERO).getGridIds()), targetDate, dataPacket, - timeDimension); + timeDimension);*/ + traverseGridUserDispose(agencyId,v.get(NumConstant.ZERO).getCustomerId(),new HashSet<>(v.get(NumConstant.ZERO).getGridIds()) + ,targetDate,dataPacket,timeDimension); } }); } @@ -709,6 +707,244 @@ public class UserServiceImpl implements UserService { } + /** + * @Description + * @Param agencyId 组织ID + * @Param customerId 客户ID + * @Param gridIds 网格IDS + * @Param targetDate dateId 日期 eg:2021-07-27 + * @Param dataPacket 数据包 + * @Param timeDimension 日期维度 + * @author zxc + * @date 2021/7/27 9:53 上午 + */ + void traverseGridUserDispose(String agencyId,String customerId, Set gridIds, Date targetDate, UserStatisticalData dataPacket, DimIdGenerator.DimIdBean timeDimension){ + if (CollectionUtils.isEmpty(gridIds)){ + return; + } + dataPacket.setCustomerId(customerId); + //计算百分比使用,保留小数点后两位 + NumberFormat numberFormat = NumberFormat.getInstance(); + numberFormat.setMaximumFractionDigits(NumConstant.SIX); + Calendar calendar = Calendar.getInstance(); + //求出这个月的第一天 + calendar.set(Calendar.DAY_OF_MONTH, NumConstant.ONE); + calendar.set(Calendar.HOUR_OF_DAY, NumConstant.ZERO); + calendar.set(Calendar.MINUTE, NumConstant.ZERO); + calendar.set(Calendar.SECOND, NumConstant.ZERO); + //1.计算机关下注册用户一个时间单位内的累计与 [月增长,日增长] + List regData = userDao.selectResiTotalAndIncrByGridIds(ModuleConstant.REG_OR_PARTI_FLAG_REG, gridIds, targetDate,calendar.getTime()); + //2.查询注册用户的Id列表 + // 增长 + List incrRegUsers = userDao.selectIncrUserIdsByGrids(ModuleConstant.REG_OR_PARTI_FLAG_REG, gridIds, targetDate,calendar.getTime()); + List incrDailyUserIds = new ArrayList<>(); + List incrMonthlyUserIds = new ArrayList<>(); + if (!CollectionUtils.isEmpty(incrRegUsers)){ + // 月增长 和 日增长 分开 + Map> groupByType = incrRegUsers.stream().collect(Collectors.groupingBy(IncrAndTotalUserIdsResultDTO::getType)); + if (!CollectionUtils.isEmpty(groupByType.get(ModuleConstant.DAILY))){ + groupByType.get(ModuleConstant.DAILY).forEach(d -> { + if (!CollectionUtils.isEmpty(d.getUserIds())){ + // 日增长 + incrDailyUserIds.addAll(d.getUserIds()); + } + }); + } + if (!CollectionUtils.isEmpty(groupByType.get(ModuleConstant.MONTHLY))){ + groupByType.get(ModuleConstant.MONTHLY).forEach(m -> { + if (!CollectionUtils.isEmpty(m.getUserIds())){ + // 月增长 + incrMonthlyUserIds.addAll(m.getUserIds()); + } + }); + } + } + // 全部 + List totalRegUsers = userDao.selectTotalUserIdsByGrids(ModuleConstant.REG_OR_PARTI_FLAG_REG, gridIds, targetDate); + List totalUserIds = new ArrayList<>(); + if (!CollectionUtils.isEmpty(totalRegUsers)){ + totalRegUsers.forEach(t -> { + if (!CollectionUtils.isEmpty(t.getUserIds())){ + totalUserIds.addAll(t.getUserIds()); + } + }); + } + //3.查询机关下一个时间单位内热心居民的累计与增量(注册用户) + List warmRegData = userDao.selectWarmTotalAndIncrByGrids(totalUserIds, incrDailyUserIds, gridIds, targetDate,calendar.getTime(),incrMonthlyUserIds); + //4.查询机关下一个时间单位内党员的累计与增量(注册用户) + List partyRegData = userDao.selectPartyTotalAndIncrNew(targetDate, ModuleConstant.REG_OR_PARTI_FLAG_REG,calendar.getTime()); + + //参与用户 + //1.计算机关下参与用户一个时间单位内的累计与 [月增长,日增长] + List partiData = userDao.selectResiTotalAndIncrByGridIds(ModuleConstant.REG_OR_PARTI_FLAG_PARTI, gridIds, targetDate,calendar.getTime()); + //2.查询参与用户的Id列表[增长] + List incrPartiUsers = userDao.selectIncrUserIdsByGrids(ModuleConstant.REG_OR_PARTI_FLAG_PARTI, gridIds, targetDate, calendar.getTime()); + List incrDailyPartiUserIds = new ArrayList<>(); + List incrMonthlyPartiUserIds = new ArrayList<>(); + if (!CollectionUtils.isEmpty(incrPartiUsers)){ + // 月增长 和 天增长 分开 + Map> groupByType = incrRegUsers.stream().collect(Collectors.groupingBy(IncrAndTotalUserIdsResultDTO::getType)); + if (!CollectionUtils.isEmpty(groupByType.get(ModuleConstant.DAILY))){ + groupByType.get(ModuleConstant.DAILY).forEach(d -> { + if (!CollectionUtils.isEmpty(d.getUserIds())){ + // 日增长 + incrDailyPartiUserIds.addAll(d.getUserIds()); + } + }); + } + if (!CollectionUtils.isEmpty(groupByType.get(ModuleConstant.MONTHLY))){ + groupByType.get(ModuleConstant.MONTHLY).forEach(m -> { + if (!CollectionUtils.isEmpty(m.getUserIds())){ + // 月增长 + incrMonthlyPartiUserIds.addAll(m.getUserIds()); + } + }); + } + } + // 查询参与用户的Id列表[全部] + List totalPartiUsers = userDao.selectTotalUserIdsByGrids(ModuleConstant.REG_OR_PARTI_FLAG_PARTI, gridIds, targetDate); + List totalPartiUserIds = new ArrayList<>(); + if (!CollectionUtils.isEmpty(totalPartiUsers)){ + totalPartiUsers.forEach(t -> { + if (!CollectionUtils.isEmpty(t.getUserIds())){ + totalPartiUserIds.addAll(t.getUserIds()); + } + }); + } + //3.查询机关下一个时间单位内热心居民的累计与增量(参与用户) + List warmPartiData = userDao.selectWarmTotalAndIncrByGrids(totalPartiUserIds, incrDailyPartiUserIds, gridIds, targetDate,calendar.getTime(),incrMonthlyPartiUserIds); + //4.查询机关下一个时间单位内党员的累计与增量(参与用户) + List partyPartiData = userDao.selectPartyTotalAndIncrNew(targetDate, ModuleConstant.REG_OR_PARTI_FLAG_PARTI,calendar.getTime()); + + /** ==================== *开始组装数据* ==================== **/ + gridIds.forEach(gridId -> { + //注册用户网格级别 + FactRegUserGridDailyDTO regGridD = new FactRegUserGridDailyDTO(); + regGridD.setCustomerId(customerId); + regGridD.setGridId(gridId); + regGridD.setAgencyId(agencyId); + regGridD.setDateId(timeDimension.getDateId()); + regGridD.setWeekId(timeDimension.getWeekId()); + regGridD.setYearId(timeDimension.getYearId()); + regGridD.setCreatedBy(ModuleConstant.CREATED_BY_STATISTICAL_ROBOT); + regGridD.setResiProportion(new BigDecimal(NumConstant.ONE)); + //参与用户网格级别 + FactParticipationUserGridDailyDTO partiGridD = new FactParticipationUserGridDailyDTO(); + partiGridD.setCustomerId(customerId); + partiGridD.setGridId(gridId); + partiGridD.setAgencyId(agencyId); + partiGridD.setDateId(timeDimension.getDateId()); + partiGridD.setWeekId(timeDimension.getWeekId()); + partiGridD.setYearId(timeDimension.getYearId()); + partiGridD.setCreatedBy(ModuleConstant.CREATED_BY_STATISTICAL_ROBOT); + partiGridD.setResiProportion(new BigDecimal(NumConstant.ONE)); + FactRegUserGridMonthlyDTO regGridM = new FactRegUserGridMonthlyDTO(); + regGridM.setCustomerId(customerId); + regGridM.setGridId(gridId); + regGridM.setAgencyId(agencyId); + regGridM.setMonthId(timeDimension.getMonthId()); + regGridM.setQuarterId(timeDimension.getQuarterId()); + regGridM.setYearId(timeDimension.getYearId()); + regGridM.setPartymemberProportion(regGridD.getPartymemberProportion()); + regGridM.setWarmHeartedProportion(regGridD.getWarmHeartedProportion()); + regGridM.setCreatedBy(ModuleConstant.CREATED_BY_STATISTICAL_ROBOT); + regGridM.setResiProportion(new BigDecimal(NumConstant.ONE)); + FactParticipationUserGridMonthlyDTO partiGridM = new FactParticipationUserGridMonthlyDTO(); + partiGridM.setCustomerId(customerId); + partiGridM.setGridId(gridId); + partiGridM.setAgencyId(agencyId); + partiGridM.setMonthId(timeDimension.getMonthId()); + partiGridM.setQuarterId(timeDimension.getQuarterId()); + partiGridM.setYearId(timeDimension.getYearId()); + partiGridM.setCreatedBy(ModuleConstant.CREATED_BY_STATISTICAL_ROBOT); + partiGridM.setResiProportion(new BigDecimal(NumConstant.ONE)); + if (!CollectionUtils.isEmpty(regData)){ + for (TotalAndIncrResultDTO r : regData) { + if (gridId.equals(r.getGridId())){ + regGridD.setResiTotal(r.getTotal()); + regGridD.setRegTotal(r.getTotal()); + regGridD.setRegIncr(r.getDailyIncr()); + regGridM.setRegTotal(r.getTotal()); + regGridM.setResiTotal(r.getTotal()); + regGridM.setRegIncr(r.getMonthlyIncr()); + break; + } + } + } + if (!CollectionUtils.isEmpty(warmRegData)){ + for (WarmTotalAndIncrResultDTO w : warmRegData) { + if (gridId.equals(w.getGridId())){ + regGridD.setWarmHeartedTotal(w.getTotal()); + regGridD.setWarmIncr(w.getDailyIncr()); + regGridM.setWarmHeartedTotal(w.getTotal()); + regGridM.setWarmIncr(w.getMonthlyIncr()); + break; + } + } + } + if (!CollectionUtils.isEmpty(partiData)){ + for (TotalAndIncrResultDTO p : partiData) { + if (gridId.equals(p.getGridId())){ + partiGridD.setResiTotal(p.getTotal()); + partiGridD.setRegTotal(p.getTotal()); + partiGridD.setRegIncr(p.getDailyIncr()); + partiGridM.setRegTotal(p.getTotal()); + partiGridM.setResiTotal(p.getTotal()); + partiGridM.setRegIncr(p.getMonthlyIncr()); + break; + } + } + } + if (!CollectionUtils.isEmpty(partyRegData)){ + for (PartyTotalAndIncrResultDTO p : partyRegData) { + if (gridId.equals(p.getGridId())){ + regGridD.setPartymemberTotal(p.getTotal()); + regGridD.setPartymemberIncr(p.getDailyIncr()); + regGridM.setPartymemberTotal(p.getTotal()); + regGridM.setPartymemberIncr(p.getMonthlyIncr()); + regGridM.setPartymemberTotal(p.getTotal()); + regGridM.setPartymemberIncr(p.getMonthlyIncr()); + break; + } + } + } + if (!CollectionUtils.isEmpty(warmPartiData)){ + for (WarmTotalAndIncrResultDTO w : warmPartiData) { + if (gridId.equals(w.getGridId())){ + partiGridD.setWarmHeartedTotal(w.getTotal()); + partiGridD.setWarmIncr(w.getDailyIncr()); + partiGridM.setWarmHeartedTotal(w.getTotal()); + partiGridM.setWarmIncr(w.getMonthlyIncr()); + break; + } + } + } + if (!CollectionUtils.isEmpty(partyPartiData)){ + for (PartyTotalAndIncrResultDTO p : partyPartiData) { + if (gridId.equals(p.getGridId())){ + partiGridD.setPartymemberTotal(p.getTotal()); + partiGridD.setPartymemberIncr(p.getDailyIncr()); + partiGridM.setPartymemberTotal(p.getTotal()); + partiGridM.setPartymemberIncr(p.getMonthlyIncr()); + break; + } + } + } + regGridD.setPartymemberProportion(regGridD.getRegTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float)regGridD.getPartymemberTotal()/(float)regGridD.getRegTotal()))); + regGridD.setWarmHeartedProportion(regGridD.getRegTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float)regGridD.getWarmHeartedTotal()/(float)regGridD.getRegTotal()))); + partiGridD.setPartymemberProportion(partiGridD.getPartymemberTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float)partiGridD.getPartymemberTotal()/(float)partiGridD.getRegTotal() ))); + partiGridD.setWarmHeartedProportion(partiGridD.getPartymemberTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float)partiGridD.getWarmHeartedTotal()/(float)partiGridD.getRegTotal() ))); + regGridM.setPartymemberProportion(regGridD.getPartymemberProportion()); + regGridM.setWarmHeartedProportion(regGridD.getWarmHeartedProportion()); + partiGridM.setPartymemberProportion(partiGridD.getPartymemberProportion()); + partiGridM.setWarmHeartedProportion(partiGridD.getWarmHeartedProportion()); + dataPacket.getRegGridDailyList().add(regGridD); + dataPacket.getPartiGridDailyList().add(partiGridD); + dataPacket.getRegGridMonthlyList().add(regGridM); + dataPacket.getPartiGridMonthlyList().add(partiGridM); + }); + + } /** * @return java.util.List diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/util/ModuleConstant.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/util/ModuleConstant.java index 1881ed5c77..8b06b9688b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/util/ModuleConstant.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/util/ModuleConstant.java @@ -43,4 +43,8 @@ public interface ModuleConstant { String TOPIC_STATUS_SHIFT_ISSUE = "shift_issue"; String NEED_UPDATE_STATUS_TOPIC = "needUpdateStatusTopic"; + + String MONTHLY = "monthly"; + + String DAILY = "daily"; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactGroupGridDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactGroupGridDailyDao.xml index 7b4c669324..0f3e92b1d6 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactGroupGridDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactGroupGridDailyDao.xml @@ -74,6 +74,7 @@ WHERE date_id = #{dateId} AND customer_id = #{customerId} + limit 1000 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactParticipationUserAgencyDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactParticipationUserAgencyDailyDao.xml index f23abdcbf1..b59659027a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactParticipationUserAgencyDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactParticipationUserAgencyDailyDao.xml @@ -100,6 +100,7 @@ AND CUSTOMER_ID = #{customerId} + LIMIT 1000 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactParticipationUserAgencyMonthlyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactParticipationUserAgencyMonthlyDao.xml index 7215527ed6..3ff5542f39 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactParticipationUserAgencyMonthlyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactParticipationUserAgencyMonthlyDao.xml @@ -100,6 +100,7 @@ AND CUSTOMER_ID = #{customerId} + LIMIT 1000 \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactParticipationUserGridDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactParticipationUserGridDailyDao.xml index 30c5f5c39c..6777cfdbbe 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactParticipationUserGridDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactParticipationUserGridDailyDao.xml @@ -105,6 +105,7 @@ AND CUSTOMER_ID = #{customerId} + LIMIT 1000 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactParticipationUserGridMonthlyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactParticipationUserGridMonthlyDao.xml index cfe17cd854..e365dd1022 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactParticipationUserGridMonthlyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactParticipationUserGridMonthlyDao.xml @@ -104,6 +104,7 @@ AND CUSTOMER_ID = #{customerId} + LIMIT 1000 \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactRegUserAgencyDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactRegUserAgencyDailyDao.xml index 185a97da77..85baff9c08 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactRegUserAgencyDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactRegUserAgencyDailyDao.xml @@ -100,6 +100,7 @@ AND CUSTOMER_ID = #{customerId} + LIMIT 1000 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactRegUserAgencyMonthlyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactRegUserAgencyMonthlyDao.xml index 7d01629a99..f3a23413cc 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactRegUserAgencyMonthlyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactRegUserAgencyMonthlyDao.xml @@ -100,6 +100,7 @@ AND CUSTOMER_ID = #{customerId} + LIMIT 1000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DELETE FROM