Browse Source

增加重点单位信息、排查、走访导入功能

dev
luyan 2 years ago
parent
commit
38ea976f15
  1. 76
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/EnterpriseInterviewController.java
  2. 77
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/EnterpriseInvestigateController.java
  3. 64
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/KeyEnterpriseController.java
  4. 35
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/EnterpriseInterviewImportExcel.java
  5. 31
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/EnterpriseInvestigateImportExcel.java
  6. 25
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/KeyEnterpriseExcel.java
  7. BIN
      epmet-module/gov-org/gov-org-server/src/main/resources/excel/enterpriseInterview_template.xlsx
  8. BIN
      epmet-module/gov-org/gov-org-server/src/main/resources/excel/enterpriseInvestigate_template.xlsx
  9. BIN
      epmet-module/gov-org/gov-org-server/src/main/resources/excel/keyEnterprise_template.xlsx

76
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/EnterpriseInterviewController.java

@ -1,8 +1,11 @@
package com.epmet.controller;
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.ExcelPoiUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
@ -13,19 +16,32 @@ import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.EnterpriseInterviewDTO;
import com.epmet.dto.KeyEnterpriseDTO;
import com.epmet.dto.form.EnterpriseInterviewFormDTO;
import com.epmet.dto.form.KeyEnterpriseFormDTO;
import com.epmet.entity.EnterpriseInterviewEntity;
import com.epmet.excel.EnterpriseInterviewExcel;
import com.epmet.excel.EnterpriseInterviewImportExcel;
import com.epmet.service.EnterpriseInterviewService;
import com.epmet.service.KeyEnterpriseService;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* 日照企业走访
* 日照重点单位走访
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-06-19
@ -101,4 +117,62 @@ public class EnterpriseInterviewController {
}
}
@RequestMapping(value = "exportTemplate", method = {RequestMethod.GET, RequestMethod.POST})
public void downloadTemplate(HttpServletResponse response) throws IOException {
response.setCharacterEncoding("UTF-8");
response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition");
response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("重点单位走访信息导入模版", "UTF-8") + ".xlsx");
InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/enterpriseInterview_template.xlsx");
try {
ServletOutputStream os = response.getOutputStream();
IOUtils.copy(is, os);
} finally {
if (is != null) {
is.close();
}
}
}
@PostMapping("import")
public Result importExcel(@RequestParam("file") MultipartFile file) {
if (!file.isEmpty()) {
KeyEnterpriseFormDTO formDto = new KeyEnterpriseFormDTO();
formDto.setPageSize(10000);
PageData<KeyEnterpriseDTO> dtoList = keyEnterpriseService.search(formDto);
if (null != dtoList && dtoList.getList().size() > 0) {
try {
ExcelImportResult<EnterpriseInterviewImportExcel> formDTOList = ExcelPoiUtils.importExcel1(file.getInputStream(), 0, 1, EnterpriseInterviewImportExcel.class);
List<EnterpriseInterviewEntity> entities = new ArrayList<>();
if (null != formDTOList.getList() && formDTOList.getList().size() > 0) {
formDTOList.getList().stream().forEach(form -> {
dtoList.getList().forEach(dto -> {
if (dto.getUnitName().equals(form.getUnitName())) {
EnterpriseInterviewEntity entity = ConvertUtils.sourceToTarget(form, EnterpriseInterviewEntity.class);
entity.setEnterpriseId(dto.getId());
try {
entity.setInvTime(new SimpleDateFormat("yyyy-MM-dd").parse(form.getInvTime()));
} catch (ParseException e) {
e.printStackTrace();
}
entity.setInterviewType(form.getInterviewType().equals("电话走访") ? "0" : "1");
entities.add(entity);
}
});
});
enterpriseInterviewService.saveOrUpdateBatch(entities);
}
} catch (Exception e) {
return new Result().error(8000, e.getMessage());
}
} else {
return new Result().error(8000, "请先维护企业信息");
}
} else {
return new Result().error(8000, "请选择正确的文件!");
}
return new Result().ok("导入成功!");
}
}

77
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/EnterpriseInvestigateController.java

@ -1,8 +1,11 @@
package com.epmet.controller;
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.ExcelPoiUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
@ -13,19 +16,32 @@ import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.EnterpriseInvestigateDTO;
import com.epmet.dto.KeyEnterpriseDTO;
import com.epmet.dto.form.EnterpriseInvestigateFormDTO;
import com.epmet.dto.form.KeyEnterpriseFormDTO;
import com.epmet.entity.EnterpriseInvestigateEntity;
import com.epmet.excel.EnterpriseInvestigateExcel;
import com.epmet.excel.EnterpriseInvestigateImportExcel;
import com.epmet.service.EnterpriseInvestigateService;
import com.epmet.service.KeyEnterpriseService;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* 日照企业排查管理
* 日照重点单位排查
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-06-19
@ -96,10 +112,67 @@ public class EnterpriseInvestigateController {
}
}
@PostMapping("search")
public Result<PageData<EnterpriseInvestigateDTO>> search(@RequestBody EnterpriseInvestigateFormDTO formDto) {
return new Result().ok(enterpriseInvestigateService.search(formDto));
}
@RequestMapping(value = "exportTemplate", method = {RequestMethod.GET, RequestMethod.POST})
public void downloadTemplate(HttpServletResponse response) throws IOException {
response.setCharacterEncoding("UTF-8");
response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition");
response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("重点单位排查信息导入模版", "UTF-8") + ".xlsx");
InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/enterpriseInvestigate_template.xlsx");
try {
ServletOutputStream os = response.getOutputStream();
IOUtils.copy(is, os);
} finally {
if (is != null) {
is.close();
}
}
}
@PostMapping("import")
public Result importExcel(@RequestParam("file") MultipartFile file) {
if (!file.isEmpty()) {
KeyEnterpriseFormDTO formDto = new KeyEnterpriseFormDTO();
formDto.setPageSize(10000);
PageData<KeyEnterpriseDTO> dtoList = keyEnterpriseService.search(formDto);
if (null != dtoList && dtoList.getList().size() > 0) {
try {
ExcelImportResult<EnterpriseInvestigateImportExcel> formDTOList = ExcelPoiUtils.importExcel1(file.getInputStream(), 0, 1, EnterpriseInvestigateImportExcel.class);
List<EnterpriseInvestigateEntity> entities = new ArrayList<>();
if (null != formDTOList.getList() && formDTOList.getList().size() > 0) {
formDTOList.getList().stream().forEach(form -> {
dtoList.getList().forEach(dto -> {
if (dto.getUnitName().equals(form.getUnitName())) {
EnterpriseInvestigateEntity entity = ConvertUtils.sourceToTarget(form, EnterpriseInvestigateEntity.class);
entity.setEnterpriseId(dto.getId());
try {
entity.setInvTime(new SimpleDateFormat("yyyy-MM-dd").parse(form.getInvTime()));
} catch (ParseException e) {
e.printStackTrace();
}
entity.setConsequence(form.getConsequence().equals("合格") ? "0" : "1");
entities.add(entity);
}
});
});
enterpriseInvestigateService.saveOrUpdateBatch(entities);
}
} catch (Exception e) {
return new Result().error(8000, e.getMessage());
}
} else {
return new Result().error(8000, "请先维护企业信息");
}
} else {
return new Result().error(8000, "请选择正确的文件!");
}
return new Result().ok("导入成功!");
}
}

64
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/KeyEnterpriseController.java

@ -1,10 +1,12 @@
package com.epmet.controller;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.enums.DictTypeEnum;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.ExcelPoiUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
@ -14,22 +16,32 @@ import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.KeyEnterpriseDTO;
import com.epmet.dto.form.KeyEnterpriseFormDTO;
import com.epmet.entity.KeyEnterpriseEntity;
import com.epmet.excel.KeyEnterpriseExcel;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.service.KeyEnterpriseService;
import com.epmet.util.ExcelPoiUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 日照重点单位管理
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-06-19
*/
@ -94,10 +106,48 @@ public class KeyEnterpriseController {
return new Result();
}
@PostMapping("exportTemplate")
public void exportTemplate(HttpServletResponse response) throws Exception {
TemplateExportParams templatePath = new TemplateExportParams("excel/keyEnterprise_template.xlsx");
ExcelPoiUtils.exportExcel(templatePath, new HashMap<>(), "重点企业信息录入表", response);
@RequestMapping(value = "exportTemplate", method = {RequestMethod.GET, RequestMethod.POST})
public void downloadTemplate(HttpServletResponse response) throws IOException {
response.setCharacterEncoding("UTF-8");
response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition");
response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("重点单位信息导入模版", "UTF-8") + ".xlsx");
InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/keyEnterprise_template.xlsx");
try {
ServletOutputStream os = response.getOutputStream();
IOUtils.copy(is, os);
} finally {
if (is != null) {
is.close();
}
}
}
@PostMapping("import")
public Result importExcel(@RequestParam("file") MultipartFile file) {
if (!file.isEmpty()) {
Result<Map<String, String>> dictMapRes = adminOpenFeignClient.dictMap(DictTypeEnum.UNIT_TYPE.getCode());
Map<String, String> dictMap = dictMapRes.getData().entrySet().stream()
.collect(Collectors.toMap(entry -> entry.getValue(), entry -> entry.getKey()));
try {
ExcelImportResult<KeyEnterpriseExcel> formDTOList = ExcelPoiUtils.importExcel1(file.getInputStream(), 0, 1, KeyEnterpriseExcel.class);
List<KeyEnterpriseEntity> entities = new ArrayList<>();
if (null != formDTOList.getList() && formDTOList.getList().size() > 0) {
formDTOList.getList().stream().forEach(form -> {
if (null != form.getUnitType()) {
form.setUnitType(dictMap.get(form.getUnitType()));
entities.add(ConvertUtils.sourceToTarget(form, KeyEnterpriseEntity.class));
}
});
keyEnterpriseService.saveOrUpdateBatch(entities);
}
} catch (Exception e) {
return new Result().error(8000, e.getMessage());
}
} else {
return new Result().error(8000, "请选择正确的文件!");
}
return new Result().ok("导入成功!");
}
@RequestMapping(value = "/exportExcel")

35
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/EnterpriseInterviewImportExcel.java

@ -0,0 +1,35 @@
package com.epmet.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
/**
* @author yan Lu
* @description 描述
* @create 2023/6/26 15:37
*/
@Data
public class EnterpriseInterviewImportExcel {
@Excel(name = "企业名称")
private String unitName;
@Excel(name = "走访时间")
private String invTime;
@Excel(name = "走访人员(多个以“,”相隔)")
private String staffs;
@Excel(name = "走访人员职务")
private String jobType;
@Excel(name = "走访方式")
private String interviewType;
@Excel(name = "企业问题")
private String problem;
@Excel(name = "备注")
private String remark;
}

31
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/EnterpriseInvestigateImportExcel.java

@ -0,0 +1,31 @@
package com.epmet.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
/**
* @author yan Lu
* @description 描述
* @create 2023/6/26 15:57
*/
@Data
public class EnterpriseInvestigateImportExcel {
@Excel(name = "排查企业名称")
private String unitName;
@Excel(name = "排查主题")
private String title;
@Excel(name = "排查时间")
private String invTime;
@Excel(name = "排查人员(多个以“,”相隔)")
private String staffs;
@Excel(name = "排查结果")
private String consequence;
@Excel(name = "备注")
private String remark;
}

25
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/KeyEnterpriseExcel.java

@ -3,8 +3,6 @@ package com.epmet.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
*
*
@ -14,14 +12,12 @@ import java.util.Date;
@Data
public class KeyEnterpriseExcel {
@Excel(name = "主键ID")
private String id;
@Excel(name = "单位名称")
private String unitName;
@Excel(name = "单位类型")
private Integer unitType;
private String unitType;
@Excel(name = "主营业务")
private String business;
@ -41,23 +37,4 @@ public class KeyEnterpriseExcel {
@Excel(name = "纬度")
private String latitude;
@Excel(name = "删除标识:0.未删除 1.已删除")
private Integer delFlag;
@Excel(name = "乐观锁")
private Integer revision;
@Excel(name = "创建人")
private String createdBy;
@Excel(name = "创建时间")
private Date createdTime;
@Excel(name = "更新人")
private String updatedBy;
@Excel(name = "更新时间")
private Date updatedTime;
}

BIN
epmet-module/gov-org/gov-org-server/src/main/resources/excel/enterpriseInterview_template.xlsx

Binary file not shown.

BIN
epmet-module/gov-org/gov-org-server/src/main/resources/excel/enterpriseInvestigate_template.xlsx

Binary file not shown.

BIN
epmet-module/gov-org/gov-org-server/src/main/resources/excel/keyEnterprise_template.xlsx

Binary file not shown.
Loading…
Cancel
Save