diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/controller/ProcessStandardComplianceCheckController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/controller/ProcessStandardComplianceCheckController.java index 76abf395..129b5ca3 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/controller/ProcessStandardComplianceCheckController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/controller/ProcessStandardComplianceCheckController.java @@ -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 generate(@RequestBody ProcessStandardComplianceCheck scc) throws Exception { + public Result> 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> queryPageList(ProcessStandardComplianceCheckDetail processStandardComplianceCheckDetail, - @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { - IPage pageList = sccDetailService.queryPage(processStandardComplianceCheckDetail, pageNo, pageSize); - return Result.OK(MessageUtils.getMessage(ResultCommon.OK), pageList); - } - } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/IProcessStandardComplianceCheckService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/IProcessStandardComplianceCheckService.java index 94db7a8f..fb7c92b5 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/IProcessStandardComplianceCheckService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/IProcessStandardComplianceCheckService.java @@ -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 processInfoVO); - String generate(ProcessStandardComplianceCheck scc) throws Exception; + List generate(ProcessStandardComplianceCheck scc) throws Exception; } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/impl/ProcessStandardComplianceCheckServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/impl/ProcessStandardComplianceCheckServiceImpl.java index 7ac34210..1948f1fe 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/impl/ProcessStandardComplianceCheckServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/impl/ProcessStandardComplianceCheckServiceImpl.java @@ -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 - implements IProcessStandardComplianceCheckService { + implements IProcessStandardComplianceCheckService { @Resource private IProcessHandleService processHandleService; @@ -139,22 +139,31 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl processInfoVO) { String processInstanceId = processInfoVO.getBasicProcessInfoDTO().getProcessInstanceId(); ProcessSccVO businessInfoDTO = processInfoVO.getBusinessInfoDTO(); String id = businessInfoDTO.getStandardInfo().getId(); + if (StrUtil.isNotBlank(id)) { + // 先删除原来保存的数据 + removeById(id); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ProcessStandardComplianceCheckDetail::getCheckId, id); + sccDetailService.remove(queryWrapper); + } // 主表设置流程实例Id - LambdaUpdateWrapper 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 childUpdateWrapper = new LambdaUpdateWrapper<>(); - childUpdateWrapper.set(ProcessStandardComplianceCheckDetail::getProcessInstanceId, processInstanceId); - childUpdateWrapper.eq(ProcessStandardComplianceCheckDetail::getCheckId, id); - sccDetailService.update(childUpdateWrapper); + List detailInfoList = businessInfoDTO.getDetailInfoList(); + detailInfoList.forEach(detail -> { + detail.setCheckId(standardInfo.getId()); + detail.setProcessInstanceId(processInstanceId); + }); + sccDetailService.saveBatch(detailInfoList); } private Map setVariables(ProcessInfoVO businessInfoDTO) { @@ -245,20 +254,16 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl generate(ProcessStandardComplianceCheck scc) throws Exception { // 获取两个文件 MultipartFile modelFile = this.getFileById(scc.getModelFile()); MultipartFile splitFile = this.getFileById(scc.getSplitFile()); // 文件内容转换 List modelExcelVOList = this.getModelExcelData(modelFile); - // 新增流程主表数据 - this.save(scc); // 找到拆分数据 List 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 modelExcelVOList, List detailInfoList) { + private List saveAllDetailData(List modelExcelVOList, List detailInfoList) { List result = new ArrayList<>(); for (ProcessStandardComplianceCheckDetail detailInfo : detailInfoList) { for (ModelExcelVO modelExcelVO : modelExcelVOList) { @@ -300,11 +305,12 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl userInfoMap = new HashMap<>(); ProcessInfoVO 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 variables = new HashMap<>(); variables.put(ActivitiCommon.MAIN_INSTANCE_ID, mainInstanceId != null ? mainInstanceId : processInstanceId);