法规技术评估-流程对接。。

法规技术评估-导入条款接口。
This commit is contained in:
wangzhijiang
2022-07-13 15:43:48 +08:00
parent 7a68ea700e
commit a813e55f09
7 changed files with 76 additions and 32 deletions
@@ -20,6 +20,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -201,4 +202,12 @@ public class LawsTechnologyEvaluationEOController extends JeroController<LawsTec
public void exportItemTemplate(@RequestParam(name = "cut") String cut, HttpServletResponse response, HttpServletRequest request) throws Exception {
this.lawsTechnologyEvaluationEOService.exportItemTemplate(cut,response,request);
}
@AutoLog(value = "条款导入")
@ApiOperation(value = "条款导入")
@GetMapping(value = "/importItemExcel")
public List<Map<String,Object>> importItemExcel(MultipartFile file, @RequestParam(name = "cut") String cut, HttpServletRequest request) throws Exception {
List<Map<String,Object>> result = this.lawsTechnologyEvaluationEOService.importItemExcel(file,cut,request);
return result;
}
}
@@ -68,8 +68,9 @@ public class LawsTechnologyEvaluationResultEOController extends JeroController<L
@AutoLog(value = "法规技术评估-评估结果表-列表查询")
@ApiOperation(value="法规技术评估-评估结果表-列表查询", notes="法规技术评估-评估结果表-列表查询")
@GetMapping(value = "/list")
public Result<List<LawsTechnologyEvaluationResultEO>> queryList() {
List<LawsTechnologyEvaluationResultEO> list = lawsTechnologyEvaluationResultEOService.queryList();
public Result<List<LawsTechnologyEvaluationResultEO>> queryList(LawsTechnologyEvaluationResultEO lawsTechnologyEvaluationResultEO,
HttpServletRequest req) {
List<LawsTechnologyEvaluationResultEO> list = lawsTechnologyEvaluationResultEOService.queryList(lawsTechnologyEvaluationResultEO,req);
return Result.OK(list);
}
@@ -1,8 +1,6 @@
package com.jero.modules.lawsTechnologyEvaluation.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -10,13 +8,10 @@ import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
/**
* @Description: 法规技术评估-评估结果表
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.common.api.vo.Result;
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -83,4 +84,6 @@ public interface ILawsTechnologyEvaluationEOService extends IService<LawsTechnol
IPage getPageDummy(Map<String, Object> parameter);
void exportItemTemplate(String cut, HttpServletResponse response, HttpServletRequest request);
List<Map<String,Object>> importItemExcel(MultipartFile file, String cut, HttpServletRequest request)throws Exception;
}
@@ -3,6 +3,8 @@ package com.jero.modules.lawsTechnologyEvaluation.service;
import com.alibaba.fastjson.JSONObject;
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationResultEO;
import com.baomidou.mybatisplus.extension.service.IService;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
@@ -58,7 +60,8 @@ public interface ILawsTechnologyEvaluationResultEOService extends IService<LawsT
*
* @return
*/
List<LawsTechnologyEvaluationResultEO> queryList();
List<LawsTechnologyEvaluationResultEO> queryList(LawsTechnologyEvaluationResultEO lawsTechnologyEvaluationResultEO,
HttpServletRequest req);
/**
* 评估人保存/提交
@@ -1,17 +1,13 @@
package com.jero.modules.lawsTechnologyEvaluation.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.constant.CommonConstant;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.constant.enums.ModuleEnum;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.util.TokenUtils;
import com.jero.generater.modules.online.cgform.entity.OnlCgformField;
import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl;
import com.jero.modules.document.enums.FieldTypeEnum;
@@ -22,12 +18,10 @@ import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluation
import com.jero.modules.lawsTechnologyEvaluation.mapper.LawsTechnologyEvaluationEOMapper;
import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationEOService;
import com.jero.modules.project.enums.OperatorTypeEnum;
import com.jero.modules.project.enums.ProjectInventoryFieldEnum;
import com.jero.modules.project.enums.RequestSourceEnum;
import com.jero.modules.split.entity.SarFileSplitInfoEO;
import com.jero.modules.split.service.ISarFileSplitInfoService;
import com.jero.modules.system.entity.SysCategory;
import com.jero.modules.system.entity.SysCategoryTreeVO;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
@@ -38,15 +32,8 @@ import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFRichTextString;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@@ -57,6 +44,7 @@ import java.util.*;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -314,21 +302,17 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
@Override
public void exportItemTemplate(String cut, HttpServletResponse response, HttpServletRequest request) {
//验证token
// String token = request.getHeader("X-Access-Token");
// TokenUtils.verifyToken(token, sysBaseAPI, redisUtil);
OutputStream os = null;
HSSFWorkbook workbook = new HSSFWorkbook();
String fileOriName = "";
String filePath = uploadpath + File.separator + fileOriName;
try {
String titleOne = "";
String title = "";
if (CutEnum.CN.getValue().equals(cut)) {
titleOne = "条款号,条款名称,条款内容";
title = "条款号,条款名称,条款内容";
fileOriName = "条款信息导入模板.xls";
} else {
titleOne = "Item num,Item name,Item Contents";
title = "Item num,Item name,Item Contents";
fileOriName = "Item information is imported into the template.xls";
}
@@ -362,7 +346,7 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
//表头
Row row = sheet.createRow(0);//开始创建标题行
String[] headerArr = titleOne.split(",");
String[] headerArr = title.split(",");
for (int m = 0; m < headerArr.length; m++) {
row.createCell(m).setCellValue(headerArr[m]);
}
@@ -389,6 +373,46 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
}
@Override
public List<Map<String,Object>> importItemExcel(MultipartFile file, String cut, HttpServletRequest request)throws Exception {
//校验文件格式
int pos = file.getOriginalFilename().lastIndexOf(".");
String fileSuffixStr = file.getOriginalFilename().substring(pos+1).toLowerCase();
if(!StringUtils.equals(fileSuffixStr,"xls")){
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
throw new JeroBootException("请上传xls文件");
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
throw new JeroBootException("Please upload a xls file");
}
}
String fileName = file.getOriginalFilename();
List<Map<String, Object>> result = new ArrayList<>();
File excelFile = File.createTempFile(fileName, fileSuffixStr);
file.transferTo(excelFile);
Workbook workbook = WorkbookFactory.create(excelFile);
if (workbook != null) {
Sheet sheet = workbook.getSheetAt(0);
if (sheet != null) {
int rowNos = sheet.getPhysicalNumberOfRows();// 得到excel的总记录条数
for (int i = 0; i < rowNos ; i++) {
Row row = sheet.getRow(i + 1);
String itemNum = row.getCell(0, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).toString();
String itemName = row.getCell(1, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).toString();
String itemContents = row.getCell(2, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).toString();
Map<String,Object> itemInfoMap = new HashMap<>();
itemInfoMap.put("itemNum",itemNum);
itemInfoMap.put("itemName",itemName);
itemInfoMap.put("itemContent",itemContents);
result.add(itemInfoMap);
}
}
}
return result;
}
private String getTreeName(String cut, List<SysCategory> categoryList, List<String> technologyTerritoryList) {
StringBuilder sb = new StringBuilder();
for (String technologyTerritory : technologyTerritoryList) {
@@ -3,6 +3,7 @@ package com.jero.modules.lawsTechnologyEvaluation.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationComplianceResultEO;
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationResultEO;
import com.jero.modules.lawsTechnologyEvaluation.mapper.LawsTechnologyEvaluationResultEOMapper;
@@ -17,6 +18,8 @@ import java.util.List;
import java.util.Date;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import javax.servlet.http.HttpServletRequest;
/**
* @Description: 法规技术评估-评估结果表
* @Author: jero-boot
@@ -95,8 +98,11 @@ public class LawsTechnologyEvaluationResultEOServiceImpl extends ServiceImpl<Law
* @return
*/
@Override
public List<LawsTechnologyEvaluationResultEO> queryList() {
return list();
public List<LawsTechnologyEvaluationResultEO> queryList(LawsTechnologyEvaluationResultEO lawsTechnologyEvaluationResultEO,
HttpServletRequest req) {
QueryWrapper<LawsTechnologyEvaluationResultEO> queryWrapper = QueryGenerator.initQueryWrapper(lawsTechnologyEvaluationResultEO, req.getParameterMap());
List<LawsTechnologyEvaluationResultEO> evaluationResultEOList = this.baseMapper.selectList(queryWrapper);
return evaluationResultEOList;
}
@Override
@@ -129,6 +135,9 @@ public class LawsTechnologyEvaluationResultEOServiceImpl extends ServiceImpl<Law
LawsTechnologyEvaluationResultEO evaluationResultEO = null;
for (Object evaluationResult : evaluationResultList) {
evaluationResultEO = JSONObject.parseObject(JSONObject.toJSONString(evaluationResult),LawsTechnologyEvaluationResultEO.class);
evaluationResultEO.setActiProcInstId(actiProcInstId);
evaluationResultEO.setLawsTechnologyEvaluationId(lawsTechnologyEvaluationId);
evaluationResultEO.setSubmitTime(new Date());
evaluationResultEOList.add(evaluationResultEO);
}
if(CollectionUtils.isNotEmpty(evaluationResultEOList)){