|
@ -1,61 +1,61 @@ |
|
|
package com.epmet.dataaggre.service.datastats.impl; |
|
|
package com.epmet.dataaggre.service.datastats.impl; |
|
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
import com.alibaba.fastjson.JSON; |
|
|
import com.epmet.commons.dynamic.datasource.annotation.DataSource; |
|
|
import com.epmet.commons.dynamic.datasource.annotation.DataSource; |
|
|
import com.epmet.commons.tools.constant.NumConstant; |
|
|
import com.epmet.commons.tools.constant.NumConstant; |
|
|
import com.epmet.commons.tools.enums.OrgLevelEnum; |
|
|
import com.epmet.commons.tools.enums.OrgLevelEnum; |
|
|
import com.epmet.commons.tools.enums.OrgTypeEnum; |
|
|
import com.epmet.commons.tools.enums.OrgTypeEnum; |
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
import com.epmet.commons.tools.feign.ResultDataResolver; |
|
|
import com.epmet.commons.tools.feign.ResultDataResolver; |
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
import com.epmet.commons.tools.utils.DateUtils; |
|
|
import com.epmet.commons.tools.utils.DateUtils; |
|
|
import com.epmet.commons.tools.utils.ExcelUtils; |
|
|
import com.epmet.commons.tools.utils.ExcelUtils; |
|
|
import com.epmet.dataaggre.constant.DataSourceConstant; |
|
|
import com.epmet.dataaggre.constant.DataSourceConstant; |
|
|
import com.epmet.dataaggre.constant.OrgConstant; |
|
|
import com.epmet.dataaggre.constant.OrgConstant; |
|
|
import com.epmet.dataaggre.dao.datastats.DataStatsDao; |
|
|
import com.epmet.dataaggre.dao.datastats.DataStatsDao; |
|
|
import com.epmet.dataaggre.dao.datastats.FactGridMemberStatisticsDailyDao; |
|
|
import com.epmet.dataaggre.dao.datastats.FactGridMemberStatisticsDailyDao; |
|
|
import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO; |
|
|
import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO; |
|
|
import com.epmet.dataaggre.dto.datastats.form.*; |
|
|
import com.epmet.dataaggre.dto.datastats.form.*; |
|
|
import com.epmet.dataaggre.dto.datastats.result.*; |
|
|
import com.epmet.dataaggre.dto.datastats.result.*; |
|
|
import com.epmet.dataaggre.dto.epmetuser.FactIcuserCategoryAnalysisDailyDTO; |
|
|
import com.epmet.dataaggre.dto.epmetuser.FactIcuserCategoryAnalysisDailyDTO; |
|
|
import com.epmet.dataaggre.dto.epmetuser.form.GridMemberPatrolListFormDTO; |
|
|
import com.epmet.dataaggre.dto.epmetuser.form.GridMemberPatrolListFormDTO; |
|
|
import com.epmet.dataaggre.dto.epmetuser.result.GridMemberPatrolListResultDTO; |
|
|
import com.epmet.dataaggre.dto.epmetuser.result.GridMemberPatrolListResultDTO; |
|
|
import com.epmet.dataaggre.dto.epmetuser.result.PatrolDailySumResult; |
|
|
import com.epmet.dataaggre.dto.epmetuser.result.PatrolDailySumResult; |
|
|
import com.epmet.dataaggre.dto.evaluationindex.ScreenAgencyOrGridListDTO; |
|
|
import com.epmet.dataaggre.dto.evaluationindex.ScreenAgencyOrGridListDTO; |
|
|
import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerAgencyDTO; |
|
|
import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerAgencyDTO; |
|
|
import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerGridDTO; |
|
|
import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerGridDTO; |
|
|
import com.epmet.dataaggre.dto.evaluationindex.ScreenGovernRankDataDailyDTO; |
|
|
import com.epmet.dataaggre.dto.evaluationindex.ScreenGovernRankDataDailyDTO; |
|
|
import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO; |
|
|
import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO; |
|
|
import com.epmet.dataaggre.dto.govorg.result.GridDateIdResultDTO; |
|
|
import com.epmet.dataaggre.dto.govorg.result.GridDateIdResultDTO; |
|
|
import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO; |
|
|
import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO; |
|
|
import com.epmet.dataaggre.dto.govproject.form.ProjectTotalFormDTO; |
|
|
import com.epmet.dataaggre.dto.govproject.form.ProjectTotalFormDTO; |
|
|
import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO; |
|
|
import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO; |
|
|
import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO; |
|
|
import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO; |
|
|
import com.epmet.dataaggre.entity.datastats.DimAgencyEntity; |
|
|
import com.epmet.dataaggre.entity.datastats.DimAgencyEntity; |
|
|
import com.epmet.dataaggre.entity.datastats.FactAgencyGovernDailyEntity; |
|
|
import com.epmet.dataaggre.entity.datastats.FactAgencyGovernDailyEntity; |
|
|
import com.epmet.dataaggre.excel.CustomerDataManageExcel; |
|
|
import com.epmet.dataaggre.excel.CustomerDataManageExcel; |
|
|
import com.epmet.dataaggre.service.datastats.DataStatsService; |
|
|
import com.epmet.dataaggre.service.datastats.DataStatsService; |
|
|
import com.epmet.dataaggre.service.epmetuser.StatsStaffPatrolRecordDailyService; |
|
|
import com.epmet.dataaggre.service.epmetuser.StatsStaffPatrolRecordDailyService; |
|
|
import com.epmet.dataaggre.service.evaluationindex.EvaluationIndexService; |
|
|
import com.epmet.dataaggre.service.evaluationindex.EvaluationIndexService; |
|
|
import com.epmet.dataaggre.service.govorg.GovOrgService; |
|
|
import com.epmet.dataaggre.service.govorg.GovOrgService; |
|
|
import com.epmet.dataaggre.service.opercrm.CustomerRelation; |
|
|
import com.epmet.dataaggre.service.opercrm.CustomerRelation; |
|
|
import com.github.pagehelper.PageHelper; |
|
|
import com.github.pagehelper.PageHelper; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import org.apache.commons.collections4.CollectionUtils; |
|
|
import org.apache.commons.collections4.CollectionUtils; |
|
|
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; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
import java.math.BigDecimal; |
|
|
import java.math.BigDecimal; |
|
|
import java.math.RoundingMode; |
|
|
import java.math.RoundingMode; |
|
|
import java.text.NumberFormat; |
|
|
import java.text.NumberFormat; |
|
|
import java.text.ParseException; |
|
|
import java.text.ParseException; |
|
|
import java.text.SimpleDateFormat; |
|
|
import java.text.SimpleDateFormat; |
|
|
import java.util.*; |
|
|
import java.util.*; |
|
|
import java.util.concurrent.atomic.AtomicInteger; |
|
|
import java.util.concurrent.atomic.AtomicInteger; |
|
|
import java.util.concurrent.atomic.AtomicReference; |
|
|
import java.util.concurrent.atomic.AtomicReference; |
|
|
import java.util.stream.Collectors; |
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* @Author sun |
|
|
* @Author sun |
|
@ -1386,7 +1386,7 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve |
|
|
return o2.getGroupSelfGovernRatio().compareTo(o1.getGroupSelfGovernRatio()); |
|
|
return o2.getGroupSelfGovernRatio().compareTo(o1.getGroupSelfGovernRatio()); |
|
|
} else if ("grid".equals(formDTO.getType())) { |
|
|
} else if ("grid".equals(formDTO.getType())) { |
|
|
return o2.getGridSelfGovernRatio().compareTo(o1.getGridSelfGovernRatio()); |
|
|
return o2.getGridSelfGovernRatio().compareTo(o1.getGridSelfGovernRatio()); |
|
|
} else if ("community".equals(formDTO.getType())) { |
|
|
} else if (OrgLevelEnum.COMMUNITY.getCode().equals(formDTO.getType())) { |
|
|
return o2.getCommunityResolvedRatio().compareTo(o1.getCommunityResolvedRatio()); |
|
|
return o2.getCommunityResolvedRatio().compareTo(o1.getCommunityResolvedRatio()); |
|
|
} else if ("department".equals(formDTO.getType())) { |
|
|
} else if ("department".equals(formDTO.getType())) { |
|
|
return o2.getDistrictDeptResolvedRatio().compareTo(o1.getDistrictDeptResolvedRatio()); |
|
|
return o2.getDistrictDeptResolvedRatio().compareTo(o1.getDistrictDeptResolvedRatio()); |
|
@ -1679,7 +1679,7 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve |
|
|
|
|
|
|
|
|
//根据组织级别判断查询直属下级组织或网格数据
|
|
|
//根据组织级别判断查询直属下级组织或网格数据
|
|
|
//2.直属网格
|
|
|
//2.直属网格
|
|
|
if ("community".equals(formDTO.getAgencyLevel())) { |
|
|
if (OrgLevelEnum.COMMUNITY.getCode().equals(formDTO.getAgencyLevel())) { |
|
|
//2-1.查询组织直属网格列表【网格维度】
|
|
|
//2-1.查询组织直属网格列表【网格维度】
|
|
|
List<ScreenCustomerGridDTO> gridList = indexService.getSubGridList(formDTO.getAgencyId()); |
|
|
List<ScreenCustomerGridDTO> gridList = indexService.getSubGridList(formDTO.getAgencyId()); |
|
|
if (gridList.size() < NumConstant.ONE) { |
|
|
if (gridList.size() < NumConstant.ONE) { |
|
@ -1755,7 +1755,7 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve |
|
|
|
|
|
|
|
|
//根据组织级别判断查询直属下级组织或网格数据
|
|
|
//根据组织级别判断查询直属下级组织或网格数据
|
|
|
//2.直属网格
|
|
|
//2.直属网格
|
|
|
if ("community".equals(formDTO.getAgencyLevel())) { |
|
|
if (OrgLevelEnum.COMMUNITY.getCode().equals(formDTO.getAgencyLevel())) { |
|
|
//2-1.查询组织直属网格列表【网格维度】
|
|
|
//2-1.查询组织直属网格列表【网格维度】
|
|
|
List<ScreenCustomerGridDTO> gridList = indexService.getSubGridList(formDTO.getAgencyId()); |
|
|
List<ScreenCustomerGridDTO> gridList = indexService.getSubGridList(formDTO.getAgencyId()); |
|
|
if (gridList.size() < NumConstant.ONE) { |
|
|
if (gridList.size() < NumConstant.ONE) { |
|
@ -1888,6 +1888,7 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve |
|
|
c.setProjectCount(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getProjectCount).sum()); |
|
|
c.setProjectCount(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getProjectCount).sum()); |
|
|
c.setClosedProjectCount(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getClosedProjectCount).sum()); |
|
|
c.setClosedProjectCount(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getClosedProjectCount).sum()); |
|
|
c.setPatrolPeopleCount(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getPatrolPeopleCount).sum()); |
|
|
c.setPatrolPeopleCount(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getPatrolPeopleCount).sum()); |
|
|
|
|
|
c.setPatrolRoutineWorkTimes(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getPatrolRoutineWorkTimes).sum()); |
|
|
c.setPatrolCount(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getPatrolCount).sum()); |
|
|
c.setPatrolCount(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getPatrolCount).sum()); |
|
|
c.setPatrolDurationInteger(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getPatrolDurationInteger).sum()); |
|
|
c.setPatrolDurationInteger(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getPatrolDurationInteger).sum()); |
|
|
c.setPatrolDuration(getHm(c.getPatrolDurationInteger())); |
|
|
c.setPatrolDuration(getHm(c.getPatrolDurationInteger())); |
|
@ -2002,6 +2003,12 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve |
|
|
patrolForm.setStartTime(startTimeForm); |
|
|
patrolForm.setStartTime(startTimeForm); |
|
|
List<CustomerDataManageResultDTO.CustomerDataManage> patrolEnd = statsStaffPatrolRecordDailyService.patrolList(patrolForm); |
|
|
List<CustomerDataManageResultDTO.CustomerDataManage> patrolEnd = statsStaffPatrolRecordDailyService.patrolList(patrolForm); |
|
|
|
|
|
|
|
|
|
|
|
//获取例行工作次数
|
|
|
|
|
|
List<CustomerDataManageResultDTO.CustomerDataManage> workCountList = statsStaffPatrolRecordDailyService.getPatrolRecordCount(patrolForm); |
|
|
|
|
|
Map<String, List<CustomerDataManageResultDTO.CustomerDataManage>> workCountMap = null; |
|
|
|
|
|
if(workCountList != null && workCountList.size() > NumConstant.ZERO && workCountList.get(NumConstant.ZERO) != null){ |
|
|
|
|
|
workCountMap = workCountList.stream().collect(Collectors.groupingBy(CustomerDataManageResultDTO.CustomerDataManage::getOrgId)); |
|
|
|
|
|
} |
|
|
//NumConstant.FOUR.判断是否需要查询起始日期用户、群组、话题、议题、项目、巡查数据
|
|
|
//NumConstant.FOUR.判断是否需要查询起始日期用户、群组、话题、议题、项目、巡查数据
|
|
|
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> uStartMap = new HashMap<>(); |
|
|
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> uStartMap = new HashMap<>(); |
|
|
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> gStartMap = new HashMap<>(); |
|
|
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> gStartMap = new HashMap<>(); |
|
@ -2023,50 +2030,50 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//5.封装数据
|
|
|
//5.封装数据
|
|
|
agencyGrid.getAgencyGridList().forEach(org -> { |
|
|
for (ScreenAgencyOrGridListDTO.AgencyGrid org : agencyGrid.getAgencyGridList()) { |
|
|
CustomerDataManageResultDTO.CustomerDataManage dto = new CustomerDataManageResultDTO.CustomerDataManage(); |
|
|
CustomerDataManageResultDTO.CustomerDataManage dto = new CustomerDataManageResultDTO.CustomerDataManage(); |
|
|
dto.setOrgId(org.getOrgId()); |
|
|
dto.setOrgId(org.getOrgId()); |
|
|
dto.setOrgName(org.getOrgName()); |
|
|
dto.setOrgName(org.getOrgName()); |
|
|
int user = NumConstant.ZERO; |
|
|
int user = NumConstant.ZERO; |
|
|
int resi = NumConstant.ZERO; |
|
|
int resi = NumConstant.ZERO; |
|
|
int part = NumConstant.ZERO; |
|
|
int part = NumConstant.ZERO; |
|
|
if(uEndMap.containsKey(org.getOrgId())){ |
|
|
if (uEndMap.containsKey(org.getOrgId())) { |
|
|
user = uEndMap.get(org.getOrgId()).getUserCount(); |
|
|
user = uEndMap.get(org.getOrgId()).getUserCount(); |
|
|
resi = uEndMap.get(org.getOrgId()).getResidentCount(); |
|
|
resi = uEndMap.get(org.getOrgId()).getResidentCount(); |
|
|
part = uEndMap.get(org.getOrgId()).getPartyMemberCount(); |
|
|
part = uEndMap.get(org.getOrgId()).getPartyMemberCount(); |
|
|
if ("Interval".equals(formDTO.getType())&&uStartMap.containsKey(org.getOrgId())) { |
|
|
if ("Interval".equals(formDTO.getType()) && uStartMap.containsKey(org.getOrgId())) { |
|
|
user = user - uStartMap.get(org.getOrgId()).getUserCount(); |
|
|
user = user - uStartMap.get(org.getOrgId()).getUserCount(); |
|
|
resi = resi - uStartMap.get(org.getOrgId()).getResidentCount(); |
|
|
resi = resi - uStartMap.get(org.getOrgId()).getResidentCount(); |
|
|
part = part - uStartMap.get(org.getOrgId()).getPartyMemberCount(); |
|
|
part = part - uStartMap.get(org.getOrgId()).getPartyMemberCount(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
int group = NumConstant.ZERO; |
|
|
int group = NumConstant.ZERO; |
|
|
if(gEndMap.containsKey(org.getOrgId())){ |
|
|
if (gEndMap.containsKey(org.getOrgId())) { |
|
|
group = gEndMap.get(org.getOrgId()).getGroupCount(); |
|
|
group = gEndMap.get(org.getOrgId()).getGroupCount(); |
|
|
if ("Interval".equals(formDTO.getType())&&gStartMap.containsKey(org.getOrgId())) { |
|
|
if ("Interval".equals(formDTO.getType()) && gStartMap.containsKey(org.getOrgId())) { |
|
|
group = group - gStartMap.get(org.getOrgId()).getGroupCount(); |
|
|
group = group - gStartMap.get(org.getOrgId()).getGroupCount(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
int topic = NumConstant.ZERO; |
|
|
int topic = NumConstant.ZERO; |
|
|
if(tEndMap.containsKey(org.getOrgId())){ |
|
|
if (tEndMap.containsKey(org.getOrgId())) { |
|
|
topic = tEndMap.get(org.getOrgId()).getTopicCount(); |
|
|
topic = tEndMap.get(org.getOrgId()).getTopicCount(); |
|
|
if ("Interval".equals(formDTO.getType())&&tStartMap.containsKey(org.getOrgId())) { |
|
|
if ("Interval".equals(formDTO.getType()) && tStartMap.containsKey(org.getOrgId())) { |
|
|
topic = topic - tStartMap.get(org.getOrgId()).getTopicCount(); |
|
|
topic = topic - tStartMap.get(org.getOrgId()).getTopicCount(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
int issue = NumConstant.ZERO; |
|
|
int issue = NumConstant.ZERO; |
|
|
if(iEndMap.containsKey(org.getOrgId())){ |
|
|
if (iEndMap.containsKey(org.getOrgId())) { |
|
|
issue = iEndMap.get(org.getOrgId()).getIssueCount(); |
|
|
issue = iEndMap.get(org.getOrgId()).getIssueCount(); |
|
|
if ("Interval".equals(formDTO.getType())&&iStartMap.containsKey(org.getOrgId())) { |
|
|
if ("Interval".equals(formDTO.getType()) && iStartMap.containsKey(org.getOrgId())) { |
|
|
issue = issue - iStartMap.get(org.getOrgId()).getIssueCount(); |
|
|
issue = issue - iStartMap.get(org.getOrgId()).getIssueCount(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
int project = NumConstant.ZERO; |
|
|
int project = NumConstant.ZERO; |
|
|
int closed = NumConstant.ZERO; |
|
|
int closed = NumConstant.ZERO; |
|
|
if(pEndMap.containsKey(org.getOrgId())){ |
|
|
if (pEndMap.containsKey(org.getOrgId())) { |
|
|
project = pEndMap.get(org.getOrgId()).getProjectCount(); |
|
|
project = pEndMap.get(org.getOrgId()).getProjectCount(); |
|
|
closed = pEndMap.get(org.getOrgId()).getClosedProjectCount(); |
|
|
closed = pEndMap.get(org.getOrgId()).getClosedProjectCount(); |
|
|
if ("Interval".equals(formDTO.getType())&&pStartMap.containsKey(org.getOrgId())) { |
|
|
if ("Interval".equals(formDTO.getType()) && pStartMap.containsKey(org.getOrgId())) { |
|
|
project = project - pStartMap.get(org.getOrgId()).getProjectCount(); |
|
|
project = project - pStartMap.get(org.getOrgId()).getProjectCount(); |
|
|
closed = closed - pStartMap.get(org.getOrgId()).getClosedProjectCount(); |
|
|
closed = closed - pStartMap.get(org.getOrgId()).getClosedProjectCount(); |
|
|
} |
|
|
} |
|
@ -2076,19 +2083,41 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve |
|
|
String patrolDuration = ""; |
|
|
String patrolDuration = ""; |
|
|
int patrolDurationInteger = NumConstant.ZERO; |
|
|
int patrolDurationInteger = NumConstant.ZERO; |
|
|
HashSet set = new HashSet(); |
|
|
HashSet set = new HashSet(); |
|
|
|
|
|
List<CustomerDataManageResultDTO.CustomerDataManage> workCountListTemp; |
|
|
for (CustomerDataManageResultDTO.CustomerDataManage u : patrolEnd) { |
|
|
for (CustomerDataManageResultDTO.CustomerDataManage u : patrolEnd) { |
|
|
if ("community".equals(agencyGrid.getLevel()) && org.getOrgId().equals(u.getOrgId())) { |
|
|
if (OrgLevelEnum.COMMUNITY.getCode().equals(agencyGrid.getLevel()) && org.getOrgId().equals(u.getOrgId())) { |
|
|
patroCount += u.getPatrolCount(); |
|
|
patroCount += u.getPatrolCount(); |
|
|
patrolDurationInteger += u.getPatrolDurationInteger(); |
|
|
patrolDurationInteger += u.getPatrolDurationInteger(); |
|
|
set.add(u.getStaffId()); |
|
|
set.add(u.getStaffId()); |
|
|
} |
|
|
} |
|
|
if (!"community".equals(agencyGrid.getLevel()) && u.getOrgId().contains(org.getOrgId())) { |
|
|
if (!OrgLevelEnum.COMMUNITY.getCode().equals(agencyGrid.getLevel()) && u.getOrgId().contains(org.getOrgId())) { |
|
|
patroCount += u.getPatrolCount(); |
|
|
patroCount += u.getPatrolCount(); |
|
|
patrolDurationInteger += u.getPatrolDurationInteger(); |
|
|
patrolDurationInteger += u.getPatrolDurationInteger(); |
|
|
set.add(u.getStaffId()); |
|
|
set.add(u.getStaffId()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
//例行工作次数累加
|
|
|
|
|
|
int patrolRoutineWorkTimes = NumConstant.ZERO; |
|
|
|
|
|
if (workCountMap != null){ |
|
|
|
|
|
workCountListTemp = workCountMap.get(org.getOrgId()); |
|
|
|
|
|
if (CollectionUtils.isNotEmpty(workCountListTemp)) { |
|
|
|
|
|
if (OrgLevelEnum.COMMUNITY.getCode().equals(agencyGrid.getLevel())) { |
|
|
|
|
|
for (CustomerDataManageResultDTO.CustomerDataManage work : workCountListTemp) { |
|
|
|
|
|
patrolRoutineWorkTimes += work.getPatrolRoutineWorkTimes(); |
|
|
|
|
|
set.add(work.getStaffId()); |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
if (!OrgLevelEnum.COMMUNITY.getCode().equals(agencyGrid.getLevel())) { |
|
|
|
|
|
for (CustomerDataManageResultDTO.CustomerDataManage work : workCountListTemp) { |
|
|
|
|
|
patrolRoutineWorkTimes += work.getPatrolRoutineWorkTimes(); |
|
|
|
|
|
set.add(work.getStaffId()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
patro = set.size(); |
|
|
patro = set.size(); |
|
|
Integer minutes = patrolDurationInteger / 60; |
|
|
Integer minutes = patrolDurationInteger / 60; |
|
|
patrolDuration = (minutes / 60 > NumConstant.ZERO ? minutes / 60 + "小时" : "") + (minutes % 60 > NumConstant.ZERO ? minutes % 60 + "分钟" : "0分钟"); |
|
|
patrolDuration = (minutes / 60 > NumConstant.ZERO ? minutes / 60 + "小时" : "") + (minutes % 60 > NumConstant.ZERO ? minutes % 60 + "分钟" : "0分钟"); |
|
@ -2106,8 +2135,10 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve |
|
|
dto.setPatrolDuration(patrolDuration); |
|
|
dto.setPatrolDuration(patrolDuration); |
|
|
dto.setPatrolDurationInteger(patrolDurationInteger); |
|
|
dto.setPatrolDurationInteger(patrolDurationInteger); |
|
|
|
|
|
|
|
|
|
|
|
dto.setPatrolRoutineWorkTimes(patrolRoutineWorkTimes); |
|
|
|
|
|
|
|
|
dataManageList.add(dto); |
|
|
dataManageList.add(dto); |
|
|
}); |
|
|
} |
|
|
|
|
|
|
|
|
//NumConstant.SIX.默认按用户总数降序
|
|
|
//NumConstant.SIX.默认按用户总数降序
|
|
|
Collections.sort(dataManageList, new Comparator<CustomerDataManageResultDTO.CustomerDataManage>() { |
|
|
Collections.sort(dataManageList, new Comparator<CustomerDataManageResultDTO.CustomerDataManage>() { |
|
|