springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/ExcelDO.java
@@ -31,7 +31,7 @@ @ColumnWidth(20) // 定义列宽 @ExcelProperty(value = {"服务时长"}, index = 5) private Integer serviceTime; private Double serviceTime; @ColumnWidth(20) // 定义列宽 @ExcelProperty(value = {"累计积分"}, index = 6) springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/PartyExcelDO.java
@@ -33,7 +33,7 @@ @ColumnWidth(20) // 定义列宽 @ExcelProperty(value = {"服务时长"}, index = 6) private Integer serviceTime; private Double serviceTime; @ColumnWidth(20) // 定义列宽 @ExcelProperty(value = {"累计积分"}, index = 7) springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/common/PbCheckUnitStatisticsVo.java
@@ -37,5 +37,5 @@ private Integer organSumIntegral; @ApiModelProperty(value = "服务时长") private Long serviceTime; private Double serviceTime; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/neighbor/ActivityAnalysisVO.java
@@ -25,13 +25,13 @@ private Integer unitServiceTotalCount; @ApiModelProperty("机关单位服务总时长") private Integer unitServiceTotalTime; private Double unitServiceTotalTime; @ApiModelProperty("党员服务总次数") private Integer partyMemberServiceTotalCount; @ApiModelProperty("党员服务总时长") private Integer partyMemberServiceTotalTime; private Double partyMemberServiceTotalTime; @ApiModelProperty("报道单位累计总积分") private Long awardSumCount; springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/neighbor/PartyMemberAnalysisVO.java
@@ -32,7 +32,7 @@ private Integer serviceTimes; @ApiModelProperty("服务时长") private Integer serviceTime; private Double serviceTime; @ApiModelProperty("党员id") @JsonSerialize(using = ToStringSerializer.class) springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/neighbor/UnitActivityAnalysisVO.java
@@ -28,7 +28,7 @@ private Integer serviceTimes; @ApiModelProperty("服务时长") private Integer serviceTime; private Double serviceTime; @ApiModelProperty("单位id'") @JsonSerialize(using = ToStringSerializer.class) springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActNeighborCircleDAO.java
@@ -163,8 +163,16 @@ * 单位服务统计 */ List<UnitActivityAnalysisVO> institutionalUnitServiceAnalysis(@Param("beginTime") String beginTime, @Param("endTime") String endTIme, @Param("belongTo") String belongTo,@Param("communityId") Long communityId); List<UnitActivityAnalysisVO> getNewTaskList(@Param("beginTime") String beginTime, @Param("endTime") String endTIme, @Param("belongTo") String belongTo,@Param("communityId") Long communityId); List<UnitActivityAnalysisVO> institutionalUnitActivityAnalysis(@Param("beginTime") String beginTime, @Param("endTime") String endTIme, @Param("belongTo") String belongTo,@Param("communityId") Long communityId); List<PartyMemberAnalysisVO> getNewPartyMemberTaskList(@Param("beginTime") String beginTime, @Param("endTime") String endTIme, @Param("belongTo") String belongTo, @Param("communityId") Long communityId, @Param("unitId") Long unitId, @Param("searchContent") String searchContent ); List<PartyMemberAnalysisVO> institutionalPartyMemberServiceAnalysis(@Param("beginTime") String beginTime, @Param("endTime") String endTIme, @Param("belongTo") String belongTo, springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java
@@ -1202,7 +1202,6 @@ List<ServiceDetailStaticsVO> serviceDetailStaticsVOList=this.baseMapper.selectServiceDetailListForPersonal(checkUnitId, serviceStaticDTO.getPhone(), serviceStaticDTO.getYear(), serviceStaticDTO.getServiceType()); if(serviceStaticDTO.getServiceType()==null || serviceStaticDTO.getServiceType()==1) { //获取新需求服务列表 @@ -1269,6 +1268,9 @@ List<UnitActivityAnalysisVO> unitActivityAnalysisVOS = comActNeighborCircleDAO.institutionalUnitServiceAnalysis(beginTime, endTime, belongTo,communityId); //获取单位活动统计数据(活动) List<UnitActivityAnalysisVO> unitActivityAnalysisVOS1 = comActNeighborCircleDAO.institutionalUnitActivityAnalysis(beginTime, endTime, belongTo,communityId); //获取新双挣双评清单任务 List<UnitActivityAnalysisVO> newTaskList=comActNeighborCircleDAO.getNewTaskList(beginTime, endTime, belongTo,communityId); if (unitActivityAnalysisVOS.size()>0){ for (UnitActivityAnalysisVO unitActivityAnalysisVO : unitActivityAnalysisVOS){ if (ObjectUtils.isNotEmpty(unitActivityAnalysisVO)){ @@ -1283,6 +1285,28 @@ } } } if (newTaskList.size()>0){ for (UnitActivityAnalysisVO item : newTaskList){ if (ObjectUtils.isNotEmpty(item)){ if (ObjectUtils.isNotEmpty(item.getUnitId())){ //设置单位名称 item.setUnitName(comActDAO.selectUnitName(item.getUnitId())); //统计活动表中的活动信息 } if (ObjectUtils.isNotEmpty(item.getCommunityId())){ item.setCommunityName(comActDAO.selectById(item.getCommunityId()).getName()); } double time=(Double.valueOf(item.getServiceTime())/3600000); DecimalFormat df = new DecimalFormat("#.##"); String formattedNumber = df.format(time); double result = Double.parseDouble(formattedNumber); item.setServiceTime(result); } } } //活动表数据处理 if (unitActivityAnalysisVOS1.size()>0){ for (UnitActivityAnalysisVO vo : unitActivityAnalysisVOS1) { @@ -1292,7 +1316,7 @@ Map<String, Integer> param = alreadyAnalysis(vo.getUnitId(), unitActivityAnalysisVOS); if (param.get("flag")==1){ //已有数据,将时长,次数相加 Integer serviceTime = vo.getServiceTime(); Double serviceTime = vo.getServiceTime(); Integer serviceTimes = vo.getServiceTimes(); unitActivityAnalysisVOS.get(param.get("index")).setServiceTime(unitActivityAnalysisVOS.get(param.get("index")).getServiceTime()+serviceTime); unitActivityAnalysisVOS.get(param.get("index")).setServiceTimes(unitActivityAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes); @@ -1313,16 +1337,60 @@ } } } if (newTaskList.size()>0){ for (UnitActivityAnalysisVO item : newTaskList){ if (ObjectUtils.isNotEmpty(item)){ if (ObjectUtils.isNotEmpty(item.getUnitId())){ //判断邻里圈统计中是否已有该单位数据 Map<String, Integer> param = alreadyAnalysis(item.getUnitId(), unitActivityAnalysisVOS); if (param.get("flag")==1){ //已有数据,将时长,次数相加 Double serviceTime = unitActivityAnalysisVOS.get(param.get("index")).getServiceTime()+item.getServiceTime(); Integer serviceTimes = item.getServiceTimes(); double time=(Double.valueOf(serviceTime)/3600000); DecimalFormat df = new DecimalFormat("#.##"); String formattedNumber = df.format(time); double result = Double.parseDouble(formattedNumber); item.setServiceTime(result); unitActivityAnalysisVOS.get(param.get("index")).setServiceTime(result); unitActivityAnalysisVOS.get(param.get("index")).setServiceTimes(unitActivityAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes); }else { //新数据,获取单位,社区名 item.setUnitName(comActDAO.selectUnitName(item.getUnitId())); if (ObjectUtils.isNotEmpty(item.getCommunityId())) { ComActDO actDO=comActDAO.selectById(item.getCommunityId()); if(actDO!=null && !StringUtils.isEmpty(actDO.getName())) { item.setCommunityName(actDO.getName()); } } unitActivityAnalysisVOS.add(item); } } } } } //获取党员活动统计数据 List<PartyMemberAnalysisVO> partyMemberAnalysisVOS = comActNeighborCircleDAO.institutionalPartyMemberServiceAnalysis(beginTime, endTime, belongTo,communityId,unitId,searchContent); List<PartyMemberAnalysisVO> partyMemberAnalysisVOS1 = comActNeighborCircleDAO.institutionalPartyMemberActAnalysis(beginTime, endTime, belongTo,communityId,unitId,searchContent); //获取新双挣双评清单任务 List<PartyMemberAnalysisVO> newPartyMemberList = comActNeighborCircleDAO.getNewPartyMemberTaskList(beginTime, endTime, belongTo,communityId,unitId,searchContent); if (partyMemberAnalysisVOS1.size()>0){ for (PartyMemberAnalysisVO vo : partyMemberAnalysisVOS1) { if (ObjectUtils.isNotEmpty(vo)){ if (ObjectUtils.isNotEmpty(vo.getMemberId())){ Map<String, Integer> param = memberAlreadyAnalysis(vo.getMemberId(), partyMemberAnalysisVOS); if (param.get("flag")==1){ Integer serviceTime = vo.getServiceTime(); Double serviceTime = vo.getServiceTime(); Integer serviceTimes = vo.getServiceTimes(); partyMemberAnalysisVOS.get(param.get("index")).setServiceTime(partyMemberAnalysisVOS.get(param.get("index")).getServiceTime()+serviceTime); partyMemberAnalysisVOS.get(param.get("index")).setServiceTimes(partyMemberAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes); @@ -1333,6 +1401,40 @@ } } } if (newPartyMemberList.size()>0){ for (PartyMemberAnalysisVO item : newPartyMemberList) { if (ObjectUtils.isNotEmpty(item)){ if (ObjectUtils.isNotEmpty(item.getMemberId())){ Map<String, Integer> param = memberAlreadyAnalysis(item.getMemberId(), partyMemberAnalysisVOS); if (param.get("flag")==1){ Double serviceTime = partyMemberAnalysisVOS.get(param.get("index")).getServiceTime()+item.getServiceTime(); Integer serviceTimes = item.getServiceTimes(); double time=(serviceTime/3600000); DecimalFormat df = new DecimalFormat("#.##"); String formattedNumber = df.format(time); double result = Double.parseDouble(formattedNumber); item.setServiceTime(result); partyMemberAnalysisVOS.get(param.get("index")).setServiceTime(result); partyMemberAnalysisVOS.get(param.get("index")).setServiceTimes(partyMemberAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes); }else{ double time=(item.getServiceTime()/3600000); DecimalFormat df = new DecimalFormat("#.##"); String formattedNumber = df.format(time); double result = Double.parseDouble(formattedNumber); item.setServiceTime(result); partyMemberAnalysisVOS.add(item); } } } } } //报道单位统计积分 List<NewFightNeedProblemInventory> allList = newFightNeedProblemInventoryMapper.selectAll(); Map<Long, String> awardMap = allList.stream().filter(Objects::nonNull).collect(Collectors.toMap(NewFightNeedProblemInventory::getId, NewFightNeedProblemInventory::getAward)); @@ -1386,19 +1488,19 @@ //统计总时长和总次数 Integer unitServiceCount=0; Integer unitServiceTotalTime=0; Double unitServiceTotalTime=0.0; Integer memberServiceCount=0; Integer memberServiceTotalTome=0; Double memberServiceTotalTome=0.0; long awardSumCount=0L; long partySumCount=0L; for (UnitActivityAnalysisVO vo : unitActivityAnalysisVOS) { //避免空指针 if (ObjectUtils.isNotEmpty(vo)){ if (ObjectUtils.isNotEmpty(vo.getServiceTime())){ unitServiceCount+=vo.getServiceTime(); unitServiceTotalTime+=vo.getServiceTime(); } if (ObjectUtils.isNotEmpty(vo.getServiceTimes())){ unitServiceTotalTime+=vo.getServiceTimes(); unitServiceCount+=vo.getServiceTimes(); } } } @@ -1406,10 +1508,10 @@ //避免空指针 if (ObjectUtils.isNotEmpty(vo)){ if (ObjectUtils.isNotEmpty(vo.getServiceTime())){ memberServiceCount+=vo.getServiceTime(); memberServiceTotalTome+=vo.getServiceTime(); } if (ObjectUtils.isNotEmpty(vo.getServiceTimes())){ memberServiceTotalTome+=vo.getServiceTimes(); memberServiceCount+=vo.getServiceTimes(); } } } @@ -1480,10 +1582,10 @@ activityVO.setPartyMemberList(memberPage); //党员数据 聚合 Map<String, Long> map = new HashMap<>(); Map<String, Double> map = new HashMap<>(); partyMemberAnalysisVOS.forEach(vo->{ String name = vo.getBelongTo(); Long time = Long.valueOf(vo.getServiceTime()); Double time = vo.getServiceTime(); if (map.containsKey(name)) { time += map.get(name); } @@ -1540,7 +1642,7 @@ Map<String, Integer> param = alreadyAnalysis(vo.getUnitId(), unitActivityAnalysisVOS); if (param.get("flag")==1){ //已有数据,将时长,次数相加 Integer serviceTime = vo.getServiceTime(); Double serviceTime = vo.getServiceTime(); Integer serviceTimes = vo.getServiceTimes(); unitActivityAnalysisVOS.get(param.get("index")).setServiceTime(unitActivityAnalysisVOS.get(param.get("index")).getServiceTime()+serviceTime); unitActivityAnalysisVOS.get(param.get("index")).setServiceTimes(unitActivityAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes); @@ -1615,7 +1717,7 @@ if (ObjectUtils.isNotEmpty(vo.getMemberId())){ Map<String, Integer> param = memberAlreadyAnalysis(vo.getMemberId(), partyMemberAnalysisVOS); if (param.get("flag")==1){ Integer serviceTime = vo.getServiceTime(); Double serviceTime = vo.getServiceTime(); Integer serviceTimes = vo.getServiceTimes(); partyMemberAnalysisVOS.get(param.get("index")).setServiceTime(partyMemberAnalysisVOS.get(param.get("index")).getServiceTime()+serviceTime); partyMemberAnalysisVOS.get(param.get("index")).setServiceTimes(partyMemberAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes); springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActNeighborCircleDOMapper.xml
@@ -633,6 +633,37 @@ having serviceTimes<>'' and serviceTime<>'' order by serviceTime desc </select> <select id="getNewTaskList" resultType="com.panzhihua.common.model.vos.neighbor.UnitActivityAnalysisVO"> SELECT nfnpc.unit_id, sum(nfnpc.service_time) as serviceTime, count(nfnpc.service_time) as serviceTimes, cpcu.belong_to as belongTo, cpcu.org_name as orgName, cpcu.community_id, sum(nfnpi.award) as awardSum FROM new_fight_need_problem_claim as nfnpc left join com_pb_check_unit as cpcu on nfnpc.unit_id=cpcu.id LEFT JOIN new_fight_need_problem_inventory as nfnpi on nfnpc.task_id=nfnpi.id WHERE nfnpc.service_time iS NOT NULL AND nfnpc.unit_id IS NOT NULL <if test="beginTime != null"> and nfnpc.creation_time between #{beginTime} and #{endTime} </if> <if test="belongTo != null and belongTo != ''"> and cpcu.belong_to=#{belongTo} </if> <if test="communityId != null"> and cpcu.community_id=#{communityId} </if> group by nfnpc.unit_id having serviceTimes<>'' and serviceTime<>'' order by serviceTime desc </select> <select id="institutionalUnitActivityAnalysis" resultType="com.panzhihua.common.model.vos.neighbor.UnitActivityAnalysisVO"> SELECT sum(serviceTimes) AS serviceTimes, sum(serviceTime) as serviceTime, unitId, communityId, belong_to, sum(award) as awardSum @@ -657,24 +688,75 @@ SELECT count(id) as serviceTimes, sum(duration) as serviceTime, check_unit_id as unitId, community_id as communityId, belong_to,award FROM( SELECT caa.id, caa.duration, s.check_unit_id , cpcu.community_id , cpcu.belong_to,caa.pb_reward_integral as award FROM com_act_activity caa LEFT JOIN com_act_act_regist s ON caa.id = s.activity_id left join com_pb_check_unit as cpcu on s.check_unit_id = cpcu.id WHERE s.end_time IS NOT NULL AND s.check_unit_id IS NOT NULL <if test="beginTime != null">AND s.start_time BETWEEN #{beginTime} and #{endTime} </if> <if test="belongTo != null and belongTo != ''">and belong_to=#{belongTo} </if> SELECT caa.id, caa.duration, s.check_unit_id , cpcu.community_id , cpcu.belong_to,caa.pb_reward_integral as award FROM com_act_activity caa LEFT JOIN com_act_act_regist s ON caa.id = s.activity_id left join com_pb_check_unit as cpcu on s.check_unit_id = cpcu.id WHERE s.end_time IS NOT NULL AND s.check_unit_id IS NOT NULL <if test="beginTime != null"> AND s.start_time BETWEEN #{beginTime} and #{endTime} </if> <if test="belongTo != null and belongTo != ''"> and belong_to=#{belongTo} </if> <if test="communityId != null"> and caa.community_id=#{communityId} </if> GROUP BY caa.id,s.check_unit_id ) temp GROUP BY check_unit_id ) temp GROUP BY check_unit_id ) temp2 GROUP BY unitId having serviceTimes<>'' and serviceTime<>'' order by serviceTime desc </select> <select id="getNewPartyMemberTaskList" resultType="com.panzhihua.common.model.vos.neighbor.UnitActivityAnalysisVO"> SELECT nfnpc.unit_id, sum(nfnpc.service_time) as serviceTime, count(nfnpc.service_time) as serviceTimes, cpcu.belong_to as belongTo, cpcu.org_name as orgName, cpcu.community_id, sum(nfnpi.award) as partyCount, cpcu.name as unitName, cpcu.org_name as orgName, nfnpc.user_id as memberId, su.name as memberName, cpcu.name as belongUnit, ca.name as belongCommunity FROM new_fight_need_problem_claim as nfnpc left join sys_user as su on nfnpc.user_id=su.user_id left join com_pb_check_unit as cpcu on nfnpc.unit_id=cpcu.id left join com_act as ca on cpcu.community_id=ca.community_id LEFT JOIN new_fight_need_problem_inventory as nfnpi on nfnpc.task_id=nfnpi.id WHERE nfnpc.service_time iS NOT NULL AND nfnpc.unit_id IS NOT NULL <if test="beginTime != null"> and nfnpc.creation_time between #{beginTime} and #{endTime} </if> <if test="belongTo != null and belongTo != ''"> and cpcu.belong_to=#{belongTo} </if> <if test="communityId != null"> and cpcu.community_id=#{communityId} </if> <if test="unitId != null"> and cpcu.id=#{unitId} </if> <if test="searchContent != null and searchContent != ''"> and (su.name like concat('%',#{searchContent},'%') or su.phone like concat('%',#{searchContent},'%') or ca.name like concat('%',#{searchContent},'%') or cpcu.name like concat('%',#{searchContent},'%')) </if> group by nfnpc.user_id having serviceTimes<>'' and serviceTime<>'' order by serviceTime desc </select> <select id="institutionalPartyMemberServiceAnalysis" resultType="com.panzhihua.common.model.vos.neighbor.PartyMemberAnalysisVO"> SELECT count(id) as serviceTimes, sum(duration) as serviceTime, unitId,unitName,orgName, @@ -715,7 +797,7 @@ <select id="institutionalPartyMemberActAnalysis" resultType="com.panzhihua.common.model.vos.neighbor.PartyMemberAnalysisVO"> SELECT count(canc.solve_id) as serviceTimes,sum(canc.real_service_time) as serviceTime ,cpcu.community_id as communityId,canc.solve_id as memberId,su.name as memberName,su.relation_name as belongUnit, ,cpcu.community_id as communityId,canc.solve_id as memberId,su.name as memberName,cpcu.name as belongUnit, ca.name as belongCommunity,cpcu.belong_to FROM `com_act_neighbor_circle` as canc left join sys_user as su on canc.solve_id=su.user_id