13 changed files with 523 additions and 15 deletions
@ -0,0 +1,15 @@ |
|||||
|
package com.zdxt.code.service; |
||||
|
|
||||
|
|
||||
|
import com.zdxt.code.domain.EnforcementRegistration; |
||||
|
import com.zdxt.code.domain.SearchType; |
||||
|
import com.zdxt.code.domain.StatisticsIndicatorPart; |
||||
|
import com.zdxt.domain.auth.DictData; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
public interface AnalyseService { |
||||
|
List<StatisticsIndicatorPart> totalPart(SearchType searchType) throws CloneNotSupportedException; |
||||
|
|
||||
|
List<DictData> deptList(List<EnforcementRegistration> enforcementRegistrationList1); |
||||
|
} |
||||
@ -0,0 +1,124 @@ |
|||||
|
package com.zdxt.code.service.impl; |
||||
|
|
||||
|
import com.zdxt.auth.project.system.dept.mapper.DeptMapper; |
||||
|
import com.zdxt.auth.project.system.user.mapper.UserMapper; |
||||
|
import com.zdxt.code.domain.ComplaintStatistics; |
||||
|
import com.zdxt.code.domain.EnforcementRegistration; |
||||
|
import com.zdxt.code.domain.SearchType; |
||||
|
import com.zdxt.code.domain.StatisticsIndicatorPart; |
||||
|
import com.zdxt.code.mapper.ComplaintStatisticsMapper; |
||||
|
import com.zdxt.code.mapper.EnforcementRegistrationMapper; |
||||
|
import com.zdxt.code.mapper.Zfryjdm2405301Mapper; |
||||
|
import com.zdxt.code.service.AnalyseService; |
||||
|
import com.zdxt.domain.auth.DictData; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
import java.util.stream.Collectors; |
||||
|
|
||||
|
@Service |
||||
|
public class AnalyseServiceImpl implements AnalyseService { |
||||
|
|
||||
|
@Autowired |
||||
|
private UserMapper userMapper; |
||||
|
@Autowired |
||||
|
private Zfryjdm2405301Mapper zfryjdm2405301Mapper; |
||||
|
@Autowired |
||||
|
private DeptMapper deptMapper; |
||||
|
@Autowired |
||||
|
private EnforcementRegistrationMapper enforcementRegistrationMapper; |
||||
|
@Autowired |
||||
|
private ComplaintStatisticsMapper complaintStatisticsMapper; |
||||
|
|
||||
|
/** |
||||
|
* 移动端统计--第一部分 |
||||
|
* @param searchType |
||||
|
* @return |
||||
|
* 时间筛选 如本年则dateType=6,本年dateType=5,本季dateType=1,自定义beginTime,endTime |
||||
|
* 在controller传值时第一部分,user_id!=null,dept_id==null |
||||
|
* 无其他类型筛选 |
||||
|
* 返回为指标名称:name,总数:Number,环比:huan,同比:tong,投诉数量:complaint |
||||
|
*/ |
||||
|
@Override |
||||
|
public List<StatisticsIndicatorPart> totalPart(SearchType searchType) throws CloneNotSupportedException { |
||||
|
//筛选对象
|
||||
|
// searchType个人 searchTypeH个人环比 searchTypeT个人同比
|
||||
|
SearchType searchTypeH=(SearchType) searchType.clone(); |
||||
|
SearchType searchTypeT=(SearchType) searchType.clone(); |
||||
|
searchType.setTimeType("new"); |
||||
|
searchTypeH.setTimeType("lastH"); |
||||
|
searchTypeT.setTimeType("lastT"); |
||||
|
// searchTypeDept 部门 searchTypeDeptH 部门环比 searchTypeT个人同比
|
||||
|
SearchType searchTypeDept=(SearchType) searchType.clone(); |
||||
|
SearchType searchTypeDeptH=(SearchType) searchTypeH.clone(); |
||||
|
SearchType searchTypeDeptT=(SearchType) searchTypeT.clone(); |
||||
|
searchType.setBureauDeptId(null); |
||||
|
searchTypeH.setBureauDeptId(null); |
||||
|
searchTypeT.setBureauDeptId(null); |
||||
|
searchTypeDept.setUserId(null); |
||||
|
searchTypeDeptH.setUserId(null); |
||||
|
searchTypeDeptT.setUserId(null); |
||||
|
List<EnforcementRegistration> personList=enforcementRegistrationMapper.selectAppStatisticsPart1(searchType); |
||||
|
List<EnforcementRegistration> personListH=enforcementRegistrationMapper.selectAppStatisticsPart1(searchTypeH); |
||||
|
List<EnforcementRegistration> personListT=enforcementRegistrationMapper.selectAppStatisticsPart1(searchTypeT); |
||||
|
List<EnforcementRegistration> deptList=enforcementRegistrationMapper.selectAppStatisticsPart1(searchTypeDept); |
||||
|
List<EnforcementRegistration> deptListH=enforcementRegistrationMapper.selectAppStatisticsPart1(searchTypeDeptH); |
||||
|
List<EnforcementRegistration> deptListT=enforcementRegistrationMapper.selectAppStatisticsPart1(searchTypeDeptT); |
||||
|
List<EnforcementRegistration> personComplaintList=personList.stream().filter(item->item.getIsComplaint()==1).collect(Collectors.toList()); |
||||
|
/*List<EnforcementRegistration> deptComplaintList=deptList.stream().filter(item->item.getIsComplaint()==1).collect(Collectors.toList());*/ |
||||
|
List<ComplaintStatistics> deptComplaintList=complaintStatisticsMapper.selectAppComplaintStatisticsP1(searchTypeDept); |
||||
|
List<StatisticsIndicatorPart> statisticsIndicatorPartList=new ArrayList<>(); |
||||
|
StatisticsIndicatorPart personSIP=new StatisticsIndicatorPart(); |
||||
|
personSIP.setNumber(personList.size()); |
||||
|
personSIP.setHuan(personList.size()-personListH.size()); |
||||
|
personSIP.setTong(personList.size()-personListT.size()); |
||||
|
personSIP.setComplaint(personComplaintList.size()); |
||||
|
StatisticsIndicatorPart deptSIP=new StatisticsIndicatorPart(); |
||||
|
deptSIP.setNumber(deptList.size()); |
||||
|
deptSIP.setHuan(deptList.size()-deptListH.size()); |
||||
|
deptSIP.setTong(deptList.size()-deptListT.size()); |
||||
|
deptSIP.setComplaint(deptComplaintList.size()); |
||||
|
statisticsIndicatorPartList.add(personSIP); |
||||
|
statisticsIndicatorPartList.add(deptSIP); |
||||
|
return statisticsIndicatorPartList; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 移动端统计第二部分,个人 |
||||
|
* @param searchType |
||||
|
* @return |
||||
|
* 前置处理--区域为文字且已拼接为xx区xx街道,部门为部门id,企业为企业类型(特殊处理),检查类型为value值,投诉类型为value值 |
||||
|
*/ |
||||
|
public List<StatisticsIndicatorPart> partPerson(SearchType searchType){ |
||||
|
|
||||
|
List<StatisticsIndicatorPart> statisticsIndicatorPartList=new ArrayList<>(); |
||||
|
return statisticsIndicatorPartList; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<DictData> deptList(List<EnforcementRegistration> enforcementRegistrationList1){ |
||||
|
List<EnforcementRegistration> enforcementRegistrationList=new ArrayList<>(); |
||||
|
enforcementRegistrationList.addAll(enforcementRegistrationList1); |
||||
|
for(EnforcementRegistration e:enforcementRegistrationList1){ |
||||
|
if(e.getUniteCheck()!=null&&!"".equals(e.getUniteCheck())){ |
||||
|
List<EnforcementRegistration> uniteList=enforcementRegistrationMapper.selectUniteGroupByDeptList(e); |
||||
|
if(uniteList.size()>0){ |
||||
|
enforcementRegistrationList.addAll(uniteList); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
Map<String,List<EnforcementRegistration>> map=enforcementRegistrationList.stream().filter(item->item.getBureauDeptId()!=null&&!"".equals(item.getBureauDeptId())).collect(Collectors.groupingBy(EnforcementRegistration::getBureauDeptId)); |
||||
|
List<DictData> dictDataList=new ArrayList<>(); |
||||
|
for(String s: map.keySet()){ |
||||
|
DictData dictData=new DictData(); |
||||
|
dictData.setDictLabel(map.get(s).get(0).getBureauDeptName()); |
||||
|
dictData.setDictValue(s); |
||||
|
dictDataList.add(dictData); |
||||
|
} |
||||
|
return dictDataList; |
||||
|
} |
||||
|
|
||||
|
} |
||||
Loading…
Reference in new issue