Browse Source

企业类型统计导出

v4
zouyx 2 years ago
parent
commit
4ae51be8ae
  1. 74
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/controller/StatisticsEnterpriseController.java
  2. 10
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/StatisticsEnterpriseService.java
  3. 52
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/StatisticsEnterpriseServiceImpl.java

74
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/controller/StatisticsEnterpriseController.java

@ -1,21 +1,21 @@
package com.zdxt.code.controller; package com.zdxt.code.controller;
import com.zdxt.auth.project.system.dict.service.IDictDataService; import com.zdxt.auth.project.system.dict.service.IDictDataService;
import com.zdxt.code.domain.ComplaintStatistics; import com.zdxt.code.domain.*;
import com.zdxt.code.domain.EnterpriseInformation;
import com.zdxt.code.domain.SearchType;
import com.zdxt.code.domain.StatisticsIndicator;
import com.zdxt.code.service.IEnterpriseInformationService; import com.zdxt.code.service.IEnterpriseInformationService;
import com.zdxt.code.service.StatisticsEnterpriseService;
import com.zdxt.common.controller.BaseController; import com.zdxt.common.controller.BaseController;
import com.zdxt.common.util.IdCardCryptoUtil;
import com.zdxt.domain.auth.DictData; import com.zdxt.domain.auth.DictData;
import org.apache.poi.hssf.usermodel.*;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters; import java.time.temporal.TemporalAdjusters;
@ -32,6 +32,8 @@ public class StatisticsEnterpriseController extends BaseController {
private IEnterpriseInformationService iEnterpriseInformationService; private IEnterpriseInformationService iEnterpriseInformationService;
@Autowired @Autowired
private IDictDataService iDictDataService; private IDictDataService iDictDataService;
@Autowired
private StatisticsEnterpriseService statisticsEnterpriseService;
@RequiresPermissions("code:statisticsEnterprise:view") @RequiresPermissions("code:statisticsEnterprise:view")
@GetMapping() @GetMapping()
@ -257,28 +259,7 @@ public class StatisticsEnterpriseController extends BaseController {
/*EnterpriseInformation enterpriseInformation=dateMake(searchType); /*EnterpriseInformation enterpriseInformation=dateMake(searchType);
List<EnterpriseInformation> enterpriseInformationList=iEnterpriseInformationService.selectEnterpriseInformationList1(enterpriseInformation);*/ List<EnterpriseInformation> enterpriseInformationList=iEnterpriseInformationService.selectEnterpriseInformationList1(enterpriseInformation);*/
List<EnterpriseInformation> enterpriseInformationList=iEnterpriseInformationService.selectEnterpriseInformationList1(new EnterpriseInformation()); List<EnterpriseInformation> enterpriseInformationList=iEnterpriseInformationService.selectEnterpriseInformationList1(new EnterpriseInformation());
List<DictData>list=iDictDataService.selectDictDataByType("enterpriseType"); return statisticsEnterpriseService.type(enterpriseInformationList);
List<DictData>dictDataList=list.subList(0,4);//截取掉其他
List<StatisticsIndicator> statisticsIndicatorList=new ArrayList<>();
for(DictData d:dictDataList){
List<EnterpriseInformation> type=enterpriseInformationList.stream().filter(item->item.getCompanyOrgType().contains(d.getDictLabel())).collect(Collectors.toList());
if(type!=null&&type.size()>0){
StatisticsIndicator s=new StatisticsIndicator();
s.setName(d.getDictLabel());
s.setValue(type.size());
s.setPercentage((double)type.size()/enterpriseInformationList.size());
statisticsIndicatorList.add(s);
}
}
List<EnterpriseInformation> qtList=enterpriseInformationList.stream().filter(item->!typeMake(dictDataList,item.getCompanyOrgType())).collect(Collectors.toList());
if(qtList!=null&&qtList.size()>0){
StatisticsIndicator s=new StatisticsIndicator();
s.setName("其他");
s.setValue(qtList.size());
s.setPercentage((double)qtList.size()/enterpriseInformationList.size());
statisticsIndicatorList.add(s);
}
return statisticsIndicatorList;
} }
@RequiresPermissions("code:statisticsEnterprise:view") @RequiresPermissions("code:statisticsEnterprise:view")
@GetMapping("/search") @GetMapping("/search")
@ -335,6 +316,41 @@ public class StatisticsEnterpriseController extends BaseController {
} }
return false; return false;
} }
@PostMapping("/export2")
@ResponseBody
public void exportDept(HttpServletResponse httpServletResponse) throws IOException {
List<EnterpriseInformation> enterpriseInformationList=iEnterpriseInformationService.selectEnterpriseInformationList1(new EnterpriseInformation());
List<StatisticsIndicator> statisticsIndicatorList=statisticsEnterpriseService.type(enterpriseInformationList);
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("企业类型统计");
//设置文件名称
String fileName = "企业类型统计.xls";
//设置表头
String[] headerList = {"企业类型", "企业数量", "占比"};
HSSFRow headerRow = sheet.createRow(0);
for (int i = 0; i < headerList.length; i++) {
HSSFCell cell = headerRow.createCell(i);
HSSFRichTextString text = new HSSFRichTextString(headerList[i]);
cell.setCellValue(text);
}
for(int i=0;i<statisticsIndicatorList.size();i++){
HSSFRow row = sheet.createRow(i+1);
HSSFCell cell1=row.createCell(0);
HSSFCell cell2=row.createCell(1);
HSSFCell cell3=row.createCell(2);
cell1.setCellValue(statisticsIndicatorList.get(i).getName());
cell2.setCellValue(statisticsIndicatorList.get(i).getValue());
cell3.setCellValue(statisticsIndicatorList.get(i).getPercentage());
}
httpServletResponse.setCharacterEncoding("UTF-8");
httpServletResponse.setContentType("application/vnd.ms-excel");
httpServletResponse.setHeader("Content-disposition", "attachment;filename=" + fileName);
httpServletResponse.flushBuffer();
workbook.write(httpServletResponse.getOutputStream());
workbook.close();
}
private EnterpriseInformation dateMake(SearchType searchType){ private EnterpriseInformation dateMake(SearchType searchType){
LocalDate localDate=LocalDate.now(); LocalDate localDate=LocalDate.now();
DateTimeFormatter str=DateTimeFormatter.ofPattern("yyyy-MM-dd"); DateTimeFormatter str=DateTimeFormatter.ofPattern("yyyy-MM-dd");

10
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/StatisticsEnterpriseService.java

@ -0,0 +1,10 @@
package com.zdxt.code.service;
import com.zdxt.code.domain.EnterpriseInformation;
import com.zdxt.code.domain.StatisticsIndicator;
import java.util.List;
public interface StatisticsEnterpriseService {
List<StatisticsIndicator> type(List<EnterpriseInformation> enterpriseInformationList);
}

52
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/StatisticsEnterpriseServiceImpl.java

@ -0,0 +1,52 @@
package com.zdxt.code.service.impl;
import com.zdxt.auth.project.system.dict.service.IDictDataService;
import com.zdxt.code.domain.EnterpriseInformation;
import com.zdxt.code.domain.StatisticsIndicator;
import com.zdxt.code.service.StatisticsEnterpriseService;
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.stream.Collectors;
@Service
public class StatisticsEnterpriseServiceImpl implements StatisticsEnterpriseService {
@Autowired
private IDictDataService iDictDataService;
@Override
public List<StatisticsIndicator> type(List<EnterpriseInformation> enterpriseInformationList){
List<DictData>list=iDictDataService.selectDictDataByType("enterpriseType");
List<DictData>dictDataList=list.subList(0,4);//截取掉其他
List<StatisticsIndicator> statisticsIndicatorList=new ArrayList<>();
for(DictData d:dictDataList){
List<EnterpriseInformation> type=enterpriseInformationList.stream().filter(item->item.getCompanyOrgType().contains(d.getDictLabel())).collect(Collectors.toList());
if(type!=null&&type.size()>0){
StatisticsIndicator s=new StatisticsIndicator();
s.setName(d.getDictLabel());
s.setValue(type.size());
s.setPercentage((double)type.size()/enterpriseInformationList.size());
statisticsIndicatorList.add(s);
}
}
List<EnterpriseInformation> qtList=enterpriseInformationList.stream().filter(item->!typeMake(dictDataList,item.getCompanyOrgType())).collect(Collectors.toList());
if(qtList!=null&&qtList.size()>0){
StatisticsIndicator s=new StatisticsIndicator();
s.setName("其他");
s.setValue(qtList.size());
s.setPercentage((double)qtList.size()/enterpriseInformationList.size());
statisticsIndicatorList.add(s);
}
return statisticsIndicatorList;
}
public Boolean typeMake(List<DictData> dictDataList,String s){
for(DictData d:dictDataList){
if(s.contains(d.getDictLabel())){
return true;
}
}
return false;
}
}
Loading…
Cancel
Save