fix: 法规符合性排查流程-生成
This commit is contained in:
@@ -8,4 +8,5 @@ public class ActivitiCommon {
|
||||
public static final String PASS = "pass";
|
||||
public static final String MAIN_INSTANCE_ID = "mainInstanceId";
|
||||
public static final String PARENT_TASK_ID = "parentTaskId";
|
||||
public static final String DISTRIBUTE = "distribute";
|
||||
}
|
||||
|
||||
+17
-19
@@ -2,6 +2,7 @@ package com.jero.modules.activiti.process.standardComplianceCheck.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.Translation;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
@@ -29,7 +30,6 @@ import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
|
||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||
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 javax.annotation.Resource;
|
||||
@@ -95,10 +95,9 @@ public class ProcessStandardComplianceCheckController extends JeroController<Pro
|
||||
|
||||
/**
|
||||
* 转办
|
||||
*
|
||||
*/
|
||||
@AutoLog(value = "法规符合性排查流程-转办")
|
||||
@ApiOperation(value="法规符合性排查流程-转办", notes="法规符合性排查流程-转办")
|
||||
@ApiOperation(value = "法规符合性排查流程-转办", notes = "法规符合性排查流程-转办")
|
||||
@PostMapping(value = "/transfer")
|
||||
public Result<?> transfer(@RequestBody TransferVO transferVO) {
|
||||
processHandleService.transfer(transferVO.getTaskId(), transferVO.getUserId());
|
||||
@@ -107,10 +106,11 @@ public class ProcessStandardComplianceCheckController extends JeroController<Pro
|
||||
|
||||
/**
|
||||
* 保存到待办
|
||||
*
|
||||
* @param taskId
|
||||
*/
|
||||
@AutoLog(value = "法规符合性排查流程-办理")
|
||||
@ApiOperation(value="法规符合性排查流程-办理", notes="法规符合性排查流程-办理")
|
||||
@ApiOperation(value = "法规符合性排查流程-办理", notes = "法规符合性排查流程-办理")
|
||||
@GetMapping("/handle/{taskId}")
|
||||
@Translation
|
||||
public Result<?> handle(@PathVariable("taskId") String taskId) {
|
||||
@@ -123,16 +123,14 @@ public class ProcessStandardComplianceCheckController extends JeroController<Pro
|
||||
|
||||
/**
|
||||
* 生成
|
||||
*
|
||||
* @param scc
|
||||
*/
|
||||
@AutoLog(value = "法规符合性排查流程-生成")
|
||||
@ApiOperation(value="法规符合性排查流程-生成", notes="法规符合性排查流程-生成")
|
||||
@ApiOperation(value = "法规符合性排查流程-生成", notes = "法规符合性排查流程-生成")
|
||||
@PostMapping("/generate")
|
||||
@Translation
|
||||
public Result<?> generate(@RequestPart("scc") ProcessStandardComplianceCheck scc,
|
||||
@RequestPart("modelFile") MultipartFile modelFile,
|
||||
@RequestPart(name = "splitFile", required = false) MultipartFile splitFile) throws Exception {
|
||||
return Result.OK(sccService.generate(scc, modelFile, splitFile));
|
||||
public Result<String> generate(@RequestBody ProcessStandardComplianceCheck scc) throws Exception {
|
||||
return Result.OK(ResultCommon.OK, sccService.generate(scc));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -146,12 +144,12 @@ public class ProcessStandardComplianceCheckController extends JeroController<Pro
|
||||
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
|
||||
String title = "车型批量导入模板";
|
||||
//此处设置的filename无效 ,前端会重更新设置一下
|
||||
mv.addObject(FILE_NAME, title);
|
||||
mv.addObject(FILE_NAME);
|
||||
mv.addObject(CLASS, ModelExcelVO.class);
|
||||
ExportParams exportParams=new ExportParams(title, title);
|
||||
ExportParams exportParams = new ExportParams(null, title);
|
||||
// 导出xls
|
||||
exportParams.setType(ExcelType.HSSF);
|
||||
mv.addObject(PARAMS,exportParams);
|
||||
mv.addObject(PARAMS, exportParams);
|
||||
mv.addObject(NormalExcelConstants.DATA_LIST, new ArrayList<T>());
|
||||
return mv;
|
||||
}
|
||||
@@ -169,10 +167,10 @@ public class ProcessStandardComplianceCheckController extends JeroController<Pro
|
||||
//此处设置的filename无效 ,前端会重更新设置一下
|
||||
mv.addObject(FILE_NAME, title);
|
||||
mv.addObject(CLASS, SplitExcelVO.class);
|
||||
ExportParams exportParams=new ExportParams(title, title);
|
||||
ExportParams exportParams = new ExportParams(null, title);
|
||||
// 导出xls
|
||||
exportParams.setType(ExcelType.HSSF);
|
||||
mv.addObject(PARAMS,exportParams);
|
||||
mv.addObject(PARAMS, exportParams);
|
||||
mv.addObject(NormalExcelConstants.DATA_LIST, new ArrayList<T>());
|
||||
return mv;
|
||||
}
|
||||
@@ -180,9 +178,9 @@ public class ProcessStandardComplianceCheckController extends JeroController<Pro
|
||||
@PostMapping({"/deleteBatch"})
|
||||
@ApiOperation(value = "法规符合性排查流程-批量删除", notes = "法规符合性排查流程-批量删除")
|
||||
@AutoLog(value = "法规符合性排查流程-批量删除")
|
||||
public Result<String> deleteBatch(@RequestBody Map<String,String> map) {
|
||||
public Result<String> deleteBatch(@RequestBody Map<String, String> map) {
|
||||
String var1 = map.get("ids");
|
||||
if(StringUtils.isBlank(var1)){
|
||||
if (StringUtils.isBlank(var1)) {
|
||||
return Result.error("参数不识别!");
|
||||
}
|
||||
this.sccService.removeByIds(Arrays.asList(var1.split(",")));
|
||||
@@ -197,8 +195,8 @@ public class ProcessStandardComplianceCheckController extends JeroController<Pro
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "法规符合性评估库-法规符合性评估库-分页列表查询")
|
||||
@ApiOperation(value = "法规符合性评估库-法规符合性评估库-分页列表查询", notes = "法规符合性评估库-法规符合性评估库-分页列表查询")
|
||||
@AutoLog(value = "法规符合性排查流程-分页列表查询")
|
||||
@ApiOperation(value = "法规符合性排查流程-分页列表查询", notes = "法规符合性排查流程-分页列表查询")
|
||||
@GetMapping(value = "/detailPage")
|
||||
public Result<IPage<ProcessStandardComplianceCheckDetail>> queryPageList(ProcessStandardComplianceCheckDetail processStandardComplianceCheckDetail,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
|
||||
+18
@@ -94,12 +94,16 @@ public class ProcessStandardComplianceCheck implements Serializable {
|
||||
/**
|
||||
* 新生产车实施日期
|
||||
*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "新生产车实施日期")
|
||||
private Date newProductImplDate;
|
||||
|
||||
/**
|
||||
* 新认证车实施日期
|
||||
*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "新认证车实施日期")
|
||||
private Date newAuthImplDate;
|
||||
|
||||
@@ -121,6 +125,20 @@ public class ProcessStandardComplianceCheck implements Serializable {
|
||||
@ApiModelProperty(value = "是否与上一版相同")
|
||||
private String isSameLastVersion;
|
||||
|
||||
/**
|
||||
* 车型上传文件Id
|
||||
*/
|
||||
@ApiModelProperty(value = "车型上传文件Id")
|
||||
@TableField(exist = false)
|
||||
private String modelFile;
|
||||
|
||||
/**
|
||||
* 拆解单上传文件Id
|
||||
*/
|
||||
@ApiModelProperty(value = "拆解单上传文件Id")
|
||||
@TableField(exist = false)
|
||||
private String splitFile;
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
+1
-2
@@ -5,7 +5,6 @@ import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.process.standardComplianceCheck.entity.ProcessStandardComplianceCheck;
|
||||
import com.jero.modules.activiti.process.standardComplianceCheck.entity.vo.ProcessSccVO;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
@@ -24,5 +23,5 @@ public interface IProcessStandardComplianceCheckService extends IService<Process
|
||||
|
||||
void submit(ProcessInfoVO<ProcessSccVO> processInfoVO);
|
||||
|
||||
String generate(ProcessStandardComplianceCheck scc, MultipartFile modelFile, MultipartFile splitFile) throws Exception;
|
||||
String generate(ProcessStandardComplianceCheck scc) throws Exception;
|
||||
}
|
||||
|
||||
+59
-13
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.util.MinioUtil;
|
||||
import com.jero.modules.activiti.common.ActivitiCommon;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
@@ -31,23 +32,30 @@ import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.activiti.util.ExcelUtils;
|
||||
import com.jero.modules.laws.documenttool.service.IDocumentSplitService;
|
||||
import com.jero.modules.laws.enterprise.util.BeanCopyUtils;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.modules.sys.utils.UserUtils;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.http.entity.ContentType;
|
||||
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||
import org.jeecgframework.poi.excel.entity.ImportParams;
|
||||
import org.springframework.mock.web.MockMultipartFile;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.jero.modules.activiti.common.ActivitiCommon.DISTRIBUTE;
|
||||
import static com.jero.modules.activiti.common.ActivitiCommon.PASS;
|
||||
import static com.jero.modules.activiti.process.standardComplianceCheck.common.ProcessStandardComplianceCheckConstants.*;
|
||||
|
||||
@@ -84,6 +92,9 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
@Resource
|
||||
private IDocumentSplitService documentSplitService;
|
||||
|
||||
@Resource
|
||||
private IOSSFileService ossFileService;
|
||||
|
||||
@Override
|
||||
public void startProcess(ProcessInfoVO<ProcessSccVO> processInfoVO) {
|
||||
// 流程Key
|
||||
@@ -166,16 +177,31 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
ProcessApprovalRecord record = actFlowCommonService.getNodeIdByTaskId(taskId);
|
||||
String xmlNodeId = record.getNodeId();
|
||||
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
|
||||
// 获取当前流程
|
||||
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
|
||||
String processDefinitionId = processInstance.getProcessDefinitionId();
|
||||
Map<String, Object> userMap = new HashMap<>();
|
||||
Map<String, Object> flowUser;
|
||||
// 更新审批表为完成,填充数据
|
||||
actFlowCommonService.updateApprovalInfo(processTask, taskId);
|
||||
String curUserId;
|
||||
String curUserId = UserUtils.getUserId();
|
||||
switch (xmlNodeId) {
|
||||
|
||||
case DEPT_USER_DISTRIBUTE:
|
||||
break;
|
||||
case MAIN_CHECK_USER_DISTRIBUTE:
|
||||
// this.mainCheckUserDistribute()
|
||||
runtimeService.setVariable(processInstanceId, DISTRIBUTE, true);
|
||||
break;
|
||||
case MAIN_CHECK_USER_REDISTRIBUTE:
|
||||
runtimeService.setVariable(processInstanceId, DISTRIBUTE, true);
|
||||
break;
|
||||
case MAIN_CHECK_USER_COLLECT:
|
||||
break;
|
||||
case COUNTERSIGN:
|
||||
break;
|
||||
case MANAGER_APPROVAL:
|
||||
break;
|
||||
case SENIOR_MANAGER_APPROVAL:
|
||||
break;
|
||||
case DESIGNER_ENGINEER_EVALUATION:
|
||||
break;
|
||||
case MAIN_CHECK_USER_APPROVAL:
|
||||
break;
|
||||
}
|
||||
// TODO 转办修改流程变量逻辑
|
||||
switch (xmlNodeId) {
|
||||
@@ -184,7 +210,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
}
|
||||
runtimeService.setVariable(processInstanceId, PASS, pass);
|
||||
// 审批节点
|
||||
actFlowCommonService.completeTask(taskId, userId);
|
||||
actFlowCommonService.completeTask(taskId, curUserId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -193,7 +219,10 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
}
|
||||
|
||||
@Override
|
||||
public String generate(ProcessStandardComplianceCheck scc, MultipartFile modelFile, MultipartFile splitFile) throws Exception {
|
||||
public String generate(ProcessStandardComplianceCheck scc) throws Exception {
|
||||
// 获取两个文件
|
||||
MultipartFile modelFile = this.getFileById(scc.getModelFile());
|
||||
MultipartFile splitFile = this.getFileById(scc.getSplitFile());
|
||||
// 文件内容转换
|
||||
List<ModelExcelVO> modelExcelVOList = this.getModelExcelData(modelFile);
|
||||
// 新增流程主表数据
|
||||
@@ -206,6 +235,24 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
return scc.getId();
|
||||
}
|
||||
|
||||
private MultipartFile getFileById(String fileId) {
|
||||
List<OSSFile> fileInfos = ossFileService.getFileInfos(fileId);
|
||||
if (fileInfos == null || fileInfos.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
OSSFile fileInfo = fileInfos.get(0);
|
||||
String fileName = fileInfo.getFileName();
|
||||
String url = fileInfo.getUrl();
|
||||
try (InputStream originalInputStream = MinioUtil.getMinioFile(MinioUtil.getBucketName(), url)) {
|
||||
if (originalInputStream == null) {
|
||||
return null;
|
||||
}
|
||||
return new MockMultipartFile(fileName, fileName, ContentType.APPLICATION_OCTET_STREAM.toString(), originalInputStream);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 循环生成所有数据
|
||||
*
|
||||
@@ -224,6 +271,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
detail.setTermContent(detail.getTermContent());
|
||||
detail.setAuthDept(detailInfo.getAuthDept());
|
||||
detail.setCheckId(detailInfo.getCheckId());
|
||||
result.add(detail);
|
||||
}
|
||||
}
|
||||
sccDetailService.saveBatch(result);
|
||||
@@ -297,8 +345,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
throw new JeroBootException("上传模板错误,请检查后重试。");
|
||||
}
|
||||
ImportParams params = new ImportParams();
|
||||
params.setTitleRows(1);
|
||||
params.setHeadRows(1);
|
||||
params.setHeadRows(0);
|
||||
params.setNeedSave(true);
|
||||
List<ModelExcelVO> splitExcelVOList;
|
||||
try {
|
||||
@@ -330,8 +377,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
throw new JeroBootException("上传模板错误,请检查后重试。");
|
||||
}
|
||||
ImportParams params = new ImportParams();
|
||||
params.setTitleRows(1);
|
||||
params.setHeadRows(1);
|
||||
params.setHeadRows(0);
|
||||
params.setNeedSave(true);
|
||||
List<ModelExcelVO> modelExcelVOList;
|
||||
try {
|
||||
|
||||
@@ -19,7 +19,6 @@ import org.apache.poi.ss.usermodel.Cell;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.jeecgframework.poi.excel.ExcelExportUtil;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||
@@ -89,11 +88,11 @@ public class ExcelUtils {
|
||||
public static List<String> getHeaderFromExcel(InputStream is) throws Exception {
|
||||
List<String> headers = new ArrayList<>();
|
||||
|
||||
Workbook workbook = new XSSFWorkbook(is);
|
||||
Workbook workbook = new HSSFWorkbook(is);
|
||||
Sheet sheet = workbook.getSheetAt(0);
|
||||
|
||||
// HeadRow在index 1
|
||||
for (int rowIndex = 1; rowIndex <= 1; rowIndex++) {
|
||||
for (int rowIndex = 0; rowIndex <= 0; rowIndex++) {
|
||||
Row row = sheet.getRow(rowIndex);
|
||||
for (Cell cell : row) {
|
||||
headers.add(cell.getStringCellValue());
|
||||
|
||||
Reference in New Issue
Block a user