项目库详情-导出不符合项列表接口开发。

This commit is contained in:
wangzhijiang
2023-04-26 16:04:52 +08:00
parent 2c163200c8
commit 410091d828
3 changed files with 76 additions and 0 deletions
@@ -539,4 +539,18 @@ public class ProjectLawsInventoryEOController extends JeroController<ProjectLaws
List<Map<String,Object>> result = this.projectLawsInventoryEOService.queryNotComplianList(params);
return Result.OK(result);
}
/**
* 导出不符合项列表
* @param request
* @param params
*/
@AutoLog(value = "项目库-法规清单表-导出不符合项列表")
@ApiOperation(value="项目库-法规清单表-导出不符合项列表", notes="项目库-法规清单表-导出不符合项列表")
@RequestMapping(value = "/exportNotComplianList")
public void exportNotComplianList(HttpServletResponse response,
HttpServletRequest request,
@RequestParam Map<String,Object> params) {
this.projectLawsInventoryEOService.exportNotComplianList(response,request, params);
}
}
@@ -279,4 +279,6 @@ public interface IProjectLawsInventoryEOService extends IService<ProjectLawsInve
List<Map<String, Object>> getVerifyComplianceStatistice(List<ProjectLawsInventoryEO> projectLawsInventoryEOList);
List<Map<String,Object>> queryNotComplianList(Map<String, Object> params);
void exportNotComplianList(HttpServletResponse response, HttpServletRequest request, Map<String, Object> params);
}
@@ -12612,6 +12612,66 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
return result;
}
@Override
public void exportNotComplianList(HttpServletResponse response, HttpServletRequest request, Map<String, Object> params) {
String cut = (String) params.get("cut");
String header = "";
String sheetName = "未符合项";
if (StringUtils.equals(cut,CutEnum.CN.getValue())) {
header = "编号,标题,流程类型,责任领域,问题类型,发起人,责任人";
} else if (StringUtils.equals(cut,CutEnum.EN.getValue())) {
header = "Number,Title,Process Type,Responsible Field,Issue Type,Creator,Assignee";
sheetName = "Non-compliant";
}
OutputStream os = null;
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet(sheetName);
List<Map<String, Object>> dataList = this.queryNotComplianList(params);
CellStyle cellStyle = workbook.createCellStyle();
cellStyle.setAlignment(HorizontalAlignment.CENTER);
Row rowHeader = sheet.createRow(0);//开始创建标题行
if (com.jero.modules.system.util.StringUtils.isNotBlank(header)) {
String[] headerArr = header.split(",");
for (int i = 0; i < headerArr.length; i++) {
sheet.setColumnWidth(i, 5000); // 设置列宽度为5000
Cell cellHeader = rowHeader.createCell(i);
cellHeader.setCellStyle(cellStyle);
cellHeader.setCellValue(headerArr[i]);
}
}
if(CollectionUtils.isNotEmpty(dataList)){
for (int i = 0; i < dataList.size(); i++) {
Row row = sheet.createRow(i + 1);
row.createCell(0).setCellValue((String) dataList.get(i).get("serialNumber"));
row.createCell(1).setCellValue((String) dataList.get(i).get("title"));
row.createCell(2).setCellValue((String) dataList.get(i).get("flowTypeName"));
row.createCell(3).setCellValue((String) dataList.get(i).get("dutyTerritory_dictText"));
row.createCell(4).setCellValue((String) dataList.get(i).get("flowStatusName"));
row.createCell(5).setCellValue((String) dataList.get(i).get("regulationOwnerIdName"));
row.createCell(6).setCellValue((String) dataList.get(i).get("dutyIdName"));
}
}
try {
os = response.getOutputStream();
workbook.write(os);
os.flush();
} catch (IOException e) {
e.printStackTrace();
if(CutEnum.CN.getValue().equals(cut)){
throw new JeroBootException("导出失败");
}else{
throw new JeroBootException("Export failure");
}
} finally {
IOUtils.closeQuietly(os);
}
}
/**
* 设计符合性相关待办任务强制转办
* @param projectLibraryId