feat: 法规符合性评估流程-生成返回全部数据

This commit is contained in:
2024-07-11 11:20:45 +08:00
parent bb76415d0b
commit 5140d20afb
3 changed files with 36 additions and 44 deletions
@@ -1,6 +1,5 @@
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;
@@ -35,6 +34,7 @@ import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
@@ -118,7 +118,7 @@ public class ProcessStandardComplianceCheckController extends JeroController<Pro
@AutoLog(value = "法规符合性排查流程-生成")
@ApiOperation(value = "法规符合性排查流程-生成", notes = "法规符合性排查流程-生成")
@PostMapping("/generate")
public Result<String> generate(@RequestBody ProcessStandardComplianceCheck scc) throws Exception {
public Result<List<ProcessStandardComplianceCheckDetail>> generate(@RequestBody ProcessStandardComplianceCheck scc) throws Exception {
return Result.OK(MessageUtils.getMessage(ResultCommon.OK), sccService.generate(scc));
}
@@ -176,22 +176,4 @@ public class ProcessStandardComplianceCheckController extends JeroController<Pro
return Result.OK("批量删除成功!");
}
/**
* 业务分派信息-分页列表查询
*
* @param processStandardComplianceCheckDetail
* @param pageNo
* @param pageSize
* @return
*/
@AutoLog(value = "法规符合性排查流程-分页列表查询")
@ApiOperation(value = "法规符合性排查流程-分页列表查询", notes = "法规符合性排查流程-分页列表查询")
@GetMapping(value = "/detailPage")
public Result<IPage<ProcessStandardComplianceCheckDetail>> queryPageList(ProcessStandardComplianceCheckDetail processStandardComplianceCheckDetail,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
IPage<ProcessStandardComplianceCheckDetail> pageList = sccDetailService.queryPage(processStandardComplianceCheckDetail, pageNo, pageSize);
return Result.OK(MessageUtils.getMessage(ResultCommon.OK), pageList);
}
}
@@ -3,9 +3,12 @@ package com.jero.modules.activiti.process.standardComplianceCheck.service;
import com.baomidou.mybatisplus.extension.service.IService;
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.ProcessStandardComplianceCheckDetail;
import com.jero.modules.activiti.process.standardComplianceCheck.entity.vo.ProcessSccVO;
import org.activiti.engine.delegate.DelegateTask;
import java.util.List;
/**
* @author ThinkBook
* @description 针对表【process_standard_compliance_check】的数据库操作Service
@@ -23,5 +26,5 @@ public interface IProcessStandardComplianceCheckService extends IService<Process
void submit(ProcessInfoVO<ProcessSccVO> processInfoVO);
String generate(ProcessStandardComplianceCheck scc) throws Exception;
List<ProcessStandardComplianceCheckDetail> generate(ProcessStandardComplianceCheck scc) throws Exception;
}
@@ -1,7 +1,7 @@
package com.jero.modules.activiti.process.standardComplianceCheck.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.exception.JeroBootException;
@@ -60,13 +60,13 @@ import static com.jero.modules.activiti.common.ActivitiCommon.PASS;
import static com.jero.modules.activiti.process.standardComplianceCheck.common.ProcessStandardComplianceCheckConstants.*;
/**
* @author ThinkBook
* @description 针对表【process_standard_compliance_check】的数据库操作Service实现
* @createDate 2024-07-04 10:21:21
*/
* @author ThinkBook
* @description 针对表【process_standard_compliance_check】的数据库操作Service实现
* @createDate 2024-07-04 10:21:21
*/
@Service
public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<ProcessStandardComplianceCheckMapper, ProcessStandardComplianceCheck>
implements IProcessStandardComplianceCheckService {
implements IProcessStandardComplianceCheckService {
@Resource
private IProcessHandleService processHandleService;
@@ -139,22 +139,31 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
/**
* 第一个节点业务数据处理
*
* @param processInfoVO
*/
private void startNodeBusProcess(ProcessInfoVO<ProcessSccVO> processInfoVO) {
String processInstanceId = processInfoVO.getBasicProcessInfoDTO().getProcessInstanceId();
ProcessSccVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();
String id = businessInfoDTO.getStandardInfo().getId();
if (StrUtil.isNotBlank(id)) {
// 先删除原来保存的数据
removeById(id);
LambdaQueryWrapper<ProcessStandardComplianceCheckDetail> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ProcessStandardComplianceCheckDetail::getCheckId, id);
sccDetailService.remove(queryWrapper);
}
// 主表设置流程实例Id
LambdaUpdateWrapper<ProcessStandardComplianceCheck> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(ProcessStandardComplianceCheck::getProcessInstanceId, processInstanceId);
updateWrapper.eq(ProcessStandardComplianceCheck::getId, id);
this.update(updateWrapper);
ProcessStandardComplianceCheck standardInfo = businessInfoDTO.getStandardInfo();
standardInfo.setProcessInstanceId(processInstanceId);
save(standardInfo);
// 子表设置流程实例Id
LambdaUpdateWrapper<ProcessStandardComplianceCheckDetail> childUpdateWrapper = new LambdaUpdateWrapper<>();
childUpdateWrapper.set(ProcessStandardComplianceCheckDetail::getProcessInstanceId, processInstanceId);
childUpdateWrapper.eq(ProcessStandardComplianceCheckDetail::getCheckId, id);
sccDetailService.update(childUpdateWrapper);
List<ProcessStandardComplianceCheckDetail> detailInfoList = businessInfoDTO.getDetailInfoList();
detailInfoList.forEach(detail -> {
detail.setCheckId(standardInfo.getId());
detail.setProcessInstanceId(processInstanceId);
});
sccDetailService.saveBatch(detailInfoList);
}
private Map<String, Object> setVariables(ProcessInfoVO<ProcessSccVO> businessInfoDTO) {
@@ -245,20 +254,16 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
}
@Override
public String generate(ProcessStandardComplianceCheck scc) throws Exception {
public List<ProcessStandardComplianceCheckDetail> generate(ProcessStandardComplianceCheck scc) throws Exception {
// 获取两个文件
MultipartFile modelFile = this.getFileById(scc.getModelFile());
MultipartFile splitFile = this.getFileById(scc.getSplitFile());
// 文件内容转换
List<ModelExcelVO> modelExcelVOList = this.getModelExcelData(modelFile);
// 新增流程主表数据
this.save(scc);
// 找到拆分数据
List<ProcessStandardComplianceCheckDetail> detailInfoList = this.getSplitData(scc, splitFile);
// 根据主表数据和车型文件生成子表数据并保存
this.saveAllDetailData(modelExcelVOList, detailInfoList);
// 返回主键
return scc.getId();
return this.saveAllDetailData(modelExcelVOList, detailInfoList);
}
private MultipartFile getFileById(String fileId) {
@@ -285,7 +290,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
* @param modelExcelVOList
* @param detailInfoList
*/
private void saveAllDetailData(List<ModelExcelVO> modelExcelVOList, List<ProcessStandardComplianceCheckDetail> detailInfoList) {
private List<ProcessStandardComplianceCheckDetail> saveAllDetailData(List<ModelExcelVO> modelExcelVOList, List<ProcessStandardComplianceCheckDetail> detailInfoList) {
List<ProcessStandardComplianceCheckDetail> result = new ArrayList<>();
for (ProcessStandardComplianceCheckDetail detailInfo : detailInfoList) {
for (ModelExcelVO modelExcelVO : modelExcelVOList) {
@@ -300,11 +305,12 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
result.add(detail);
}
}
sccDetailService.saveBatch(result);
return result;
}
/**
* 获取拆分数据
*
* @param scc
* @param splitFile
* @return
@@ -353,6 +359,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
/**
* 获取分解单Excel内数据
*
* @param splitFile
* @return
*/
@@ -445,7 +452,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
Map<String, Object> userInfoMap = new HashMap<>();
ProcessInfoVO<ProcessDemoVO> processInfoVO = new ProcessInfoVO<>();
BasicProcessInfoDTO basicProcessInfoDTO = new BasicProcessInfoDTO();
String mainInstanceId =(String) delegateTask.getVariable(ActivitiCommon.MAIN_INSTANCE_ID);
String mainInstanceId = (String) delegateTask.getVariable(ActivitiCommon.MAIN_INSTANCE_ID);
//保存父子关联信息
Map<String, Object> variables = new HashMap<>();
variables.put(ActivitiCommon.MAIN_INSTANCE_ID, mainInstanceId != null ? mainInstanceId : processInstanceId);