zouyx 2 years ago
parent
commit
e762c7199a
  1. 3
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/StatisticsIndicatorPart.java
  2. 4
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/StatisticalPaneService.java
  3. 133
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/StatisticalPaneImpl.java

3
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/StatisticsIndicatorPart.java

@ -38,4 +38,7 @@ public class StatisticsIndicatorPart extends BaseDomain {
*/ */
private String month; private String month;
private String beginTime;
private String endTime;
} }

4
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/StatisticalPaneService.java

@ -1,4 +1,8 @@
package com.zdxt.code.service; package com.zdxt.code.service;
import com.zdxt.code.domain.StatisticsIndicatorPart;
public interface StatisticalPaneService { public interface StatisticalPaneService {
StatisticsIndicatorPart complaint(StatisticsIndicatorPart statisticsIndicatorPart);
} }

133
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/StatisticalPaneImpl.java

@ -1,8 +1,141 @@
package com.zdxt.code.service.impl; package com.zdxt.code.service.impl;
import com.zdxt.code.domain.ComplaintStatistics;
import com.zdxt.code.domain.EnterpriseComplaint;
import com.zdxt.code.domain.StatisticsIndicatorPart;
import com.zdxt.code.service.ComplaintStatisticsService;
import com.zdxt.code.service.IEnterpriseComplaintService;
import com.zdxt.code.service.StatisticalPaneService; import com.zdxt.code.service.StatisticalPaneService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service @Service
public class StatisticalPaneImpl implements StatisticalPaneService { public class StatisticalPaneImpl implements StatisticalPaneService {
@Autowired
private ComplaintStatisticsService complaintStatisticsService;
@Override
/**
* 年度:year!==null,quarter==null,month==null
* 季度:year!==null,quarter!==null,month==null
* 月度:year!==null,quarter!==null,month!==null
*/
public StatisticsIndicatorPart complaint(StatisticsIndicatorPart statisticsIndicatorPart){
StatisticsIndicatorPart sNow=nowDataMake(statisticsIndicatorPart);
StatisticsIndicatorPart sLast=lastDataMake(statisticsIndicatorPart,sNow.getBeginTime());
ComplaintStatistics complaintStatisticsNow=new ComplaintStatistics();
ComplaintStatistics complaintStatisticsLast=new ComplaintStatistics();
complaintStatisticsNow.setBeginTime(sNow.getBeginTime());
complaintStatisticsNow.setEndTime(sNow.getEndTime());
complaintStatisticsLast.setBeginTime(sLast.getBeginTime());
complaintStatisticsLast.setEndTime(sLast.getEndTime());
List<ComplaintStatistics> complaintStatisticsListNow=complaintStatisticsService.selectComplaintStatisticsList(complaintStatisticsNow);
List<ComplaintStatistics> complaintStatisticsListLast=complaintStatisticsService.selectComplaintStatisticsList(complaintStatisticsLast);
StatisticsIndicatorPart p1=new StatisticsIndicatorPart();
p1.setName("执法投诉数量");
p1.setTotal(complaintStatisticsListNow.size());
p1.setHuan(complaintStatisticsListNow.size()-complaintStatisticsListLast.size());
List<ComplaintStatistics> rqbsmNow=complaintStatisticsListNow.stream().filter(item->item.getComplaintType()==3).collect(Collectors.toList());
List<ComplaintStatistics> rqbsmLast=complaintStatisticsListLast.stream().filter(item->item.getComplaintType()==3).collect(Collectors.toList());
StatisticsIndicatorPart p2=new StatisticsIndicatorPart();
p2.setName("入企不扫码");
p2.setTotal(rqbsmNow.size());
p2.setHuan(rqbsmNow.size()-rqbsmLast.size());
Map<String,Long> btsbmNow=complaintStatisticsListNow.stream().collect(Collectors.groupingBy(ComplaintStatistics::getComplaintDepartmentId,Collectors.counting()));
Map<String,Long> btsbmLast=complaintStatisticsListLast.stream().collect(Collectors.groupingBy(ComplaintStatistics::getComplaintDepartmentId,Collectors.counting()));
StatisticsIndicatorPart p3=new StatisticsIndicatorPart();
p3.setName("入企不扫码");
p3.setTotal(btsbmNow.size());
p3.setHuan(btsbmNow.size()-btsbmLast.size());
StatisticsIndicatorPart p=new StatisticsIndicatorPart();
List<StatisticsIndicatorPart> statisticsIndicatorPartList=new ArrayList<>();
p.setName("执法投诉");
statisticsIndicatorPartList.add(p1);
statisticsIndicatorPartList.add(p2);
statisticsIndicatorPartList.add(p2);
p.setStatisticsIndicatorPartList(statisticsIndicatorPartList);
return p;
}
/**
* 当前时间处理--转换成beginTime和endTime的形式
*/
public StatisticsIndicatorPart nowDataMake(StatisticsIndicatorPart sip){
LocalDate localDate=LocalDate.now();
DateTimeFormatter str=DateTimeFormatter.ofPattern("yyyy-MM-dd");
StatisticsIndicatorPart statisticsIndicatorPart=new StatisticsIndicatorPart();
if(sip.getYear()==null||"".equals(sip.getYear())){
sip.setYear(localDate.getYear()+"");
}
if(sip.getMonth()!=null&&!"".equals(sip.getMonth())) {
LocalDate beginTime = localDate.withYear(Integer.valueOf(sip.getYear())).withMonth(Integer.valueOf(sip.getMonth())).withDayOfMonth(1);
LocalDate endTime = beginTime.with(TemporalAdjusters.lastDayOfMonth());
statisticsIndicatorPart.setBeginTime(str.format(beginTime));
statisticsIndicatorPart.setEndTime(str.format(endTime));
}else if(sip.getQuarter()!=null&&!"".equals(sip.getQuarter())){
LocalDate beginTime=LocalDate.now();
LocalDate endTime=LocalDate.now();
switch (sip.getQuarter()) {
case 1:
beginTime = localDate.withYear(Integer.valueOf(sip.getYear())).withMonth(1).withDayOfMonth(1);
endTime = beginTime.withMonth(3).with(TemporalAdjusters.lastDayOfMonth());
break;
case 2:
beginTime = localDate.withYear(Integer.valueOf(sip.getYear())).withMonth(4).withDayOfMonth(1);
endTime = beginTime.withMonth(6).with(TemporalAdjusters.lastDayOfMonth());
break;
case 3:
beginTime = localDate.withYear(Integer.valueOf(sip.getYear())).withMonth(7).withDayOfMonth(1);
endTime = beginTime.withMonth(9).with(TemporalAdjusters.lastDayOfMonth());
break;
case 4:
beginTime = localDate.withYear(Integer.valueOf(sip.getYear())).withMonth(10).withDayOfMonth(1);
endTime = beginTime.withMonth(12).with(TemporalAdjusters.lastDayOfMonth());
break;
}
statisticsIndicatorPart.setBeginTime(str.format(beginTime));
statisticsIndicatorPart.setEndTime(str.format(endTime));
}else {
LocalDate beginTime=localDate.withYear(Integer.valueOf(sip.getYear())).withMonth(1).withDayOfMonth(1);
LocalDate endTime = localDate.withYear(Integer.valueOf(sip.getYear())).withMonth(12).with(TemporalAdjusters.lastDayOfMonth());
statisticsIndicatorPart.setBeginTime(str.format(beginTime));
statisticsIndicatorPart.setEndTime(str.format(endTime));
}
return statisticsIndicatorPart;
}
/**
* 上一时间处理--转换成beginTime和endTime的形式
*/
public StatisticsIndicatorPart lastDataMake(StatisticsIndicatorPart sip,String nowBeginData){
DateTimeFormatter str3=DateTimeFormatter.ofPattern("MM");
DateTimeFormatter str=DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate localDate= LocalDate.parse(nowBeginData, str);
StatisticsIndicatorPart statisticsIndicatorPart=new StatisticsIndicatorPart();
if(sip.getMonth()!=null&&!"".equals(sip.getMonth())) {
LocalDate beginTime=localDate.minusMonths(1).withDayOfMonth(1);
LocalDate endTime = localDate.minusMonths(1).with(TemporalAdjusters.lastDayOfMonth());
sip.setBeginTime(str.format(beginTime));
sip.setEndTime(str.format(endTime));
}else if(sip.getQuarter()!=null&&!"".equals(sip.getQuarter())){
localDate=localDate.minusMonths(3);
int quarter=(int)Math.ceil(Double.valueOf(str3.format(localDate))/3);
LocalDate beginTime=localDate.withMonth(quarter*3-2).withDayOfMonth(1);
LocalDate endTime=localDate.withMonth(quarter*3).with(TemporalAdjusters.lastDayOfMonth());
sip.setBeginTime(str.format(beginTime));
sip.setEndTime(str.format(endTime));
}else {
LocalDate beginTime=localDate.minusYears(1).withMonth(1).withDayOfMonth(1);
LocalDate endTime=localDate.minusYears(1).withMonth(12).with(TemporalAdjusters.lastDayOfMonth());
sip.setBeginTime(str.format(beginTime));
sip.setEndTime(str.format(endTime));
}
return statisticsIndicatorPart;
}
} }

Loading…
Cancel
Save