From 1cad14bca191807e18705c3a5526eda8151be439 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期一, 14 四月 2025 23:10:22 +0800
Subject: [PATCH] 批量审核和图片保存bug
---
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java | 72 +++++++++++++++++++++++++++++-------
1 files changed, 58 insertions(+), 14 deletions(-)
diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java
index ccf530a..b0a9382 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java
@@ -4,8 +4,9 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.common.constant.BaseCaseStatus;
+import com.ycl.common.constant.CheckResult;
import com.ycl.common.constant.StepName;
-import com.ycl.dto.caseHandler.ChechParam;
+import com.ycl.dto.caseHandler.CheckParam;
import com.ycl.entity.caseHandler.BaseCase;
import com.ycl.entity.caseHandler.DisposeRecord;
import com.ycl.entity.caseHandler.WorkflowConfigStep;
@@ -19,6 +20,7 @@
import javax.annotation.Resource;
import java.time.LocalDateTime;
+import java.util.List;
/**
* <p>
@@ -41,31 +43,60 @@
WorkflowConfigStepMapper workflowConfigStepMapper;
@Override
- public Boolean check(ChechParam chechParam) {
- //淇敼妗堜欢鐘舵�佷负瀹℃牳
- BaseCase baseCase = new BaseCase();
- baseCase.setId(chechParam.getBaseCaseId());
- baseCase.setState(BaseCaseStatus.CHECK);
- baseCase.setAuditOpinion(chechParam.getCheckOpinion());
- baseCaseMapper.updateById(baseCase);
-
+ public Boolean check(CheckParam checkParam) {
QueryWrapper<WorkflowConfigStep> stepQurey = new QueryWrapper<>();
stepQurey.eq("name", StepName.CHECK.getName());
WorkflowConfigStep workflowConfigStep = workflowConfigStepMapper.selectOne(stepQurey);
+ //淇敼妗堜欢鐘舵�佷负瀹℃牳
+ BaseCase baseCase = new BaseCase();
+ baseCase.setId(checkParam.getBaseCaseId());
+ baseCase.setAuditOpinion(checkParam.getCheckOpinion());
+ //淇敼鏍告煡璁板綍
+ DisposeRecord disposeRecord = new DisposeRecord();
+ //椹冲洖澶勭悊
+ if (CheckResult.REJECT.getName().equals(checkParam.getResult())) {
+ QueryWrapper<WorkflowConfigStep> lastNextqurey = new QueryWrapper<>();
+ lastNextqurey.eq("workflow_config_id", workflowConfigStep.getWorkflowConfigId());
+ lastNextqurey.eq("seq", workflowConfigStep.getSeq());
+ WorkflowConfigStep lastStep = workflowConfigStepMapper.selectOne(lastNextqurey);
+ //鍒犻櫎褰撳墠鏁版嵁
+ UpdateWrapper<DisposeRecord> deleteWrapper = new UpdateWrapper<>();
+ deleteWrapper.eq("base_case_id", checkParam.getBaseCaseId()).eq("workflow_config_step_id", lastStep.getId());
+ disposeRecordMapper.delete(deleteWrapper);
+ //淇敼鐘舵�佷负涓婁竴姝ョ姸鎬�
+ QueryWrapper<WorkflowConfigStep> lastLastNextqurey = new QueryWrapper<>();
+ lastLastNextqurey.eq("workflow_config_id", workflowConfigStep.getWorkflowConfigId());
+ lastLastNextqurey.eq("seq", workflowConfigStep.getSeq() - 1);
+ WorkflowConfigStep lastLastStep = workflowConfigStepMapper.selectOne(lastLastNextqurey);
+
+ UpdateWrapper<DisposeRecord> updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("base_case_id", checkParam.getBaseCaseId()).eq("workflow_config_step_id", lastLastStep.getId());
+
+ //澶勭悊鏈紑濮�
+ disposeRecord.setState(0);
+ disposeRecordMapper.update(disposeRecord, updateWrapper);
+ //璋冨害
+ baseCase.setState(BaseCaseStatus.DISPATCH);
+ baseCaseMapper.updateById(baseCase);
+ return true;
+ }
+ //鏍告煡
+ baseCase.setState(BaseCaseStatus.CHECK);
+ baseCaseMapper.updateById(baseCase);
+
if (workflowConfigStep == null) {
throw new ApiException("鏈煡璇㈠埌璇ユ祦绋嬬幆鑺�");
}
UpdateWrapper<DisposeRecord> updateWrapper = new UpdateWrapper<>();
- updateWrapper.eq("base_case_id", baseCase.getId()).eq("workflow_config_step_id",workflowConfigStep.getId());
+ updateWrapper.eq("base_case_id", baseCase.getId()).eq("workflow_config_step_id", workflowConfigStep.getId());
- //淇敼鏍告煡璁板綍
- DisposeRecord disposeRecord = new DisposeRecord();
- disposeRecord.setHandlerId(chechParam.getCurrentUser());
+ disposeRecord.setHandlerId(checkParam.getCurrentUser());
//鏍告煡宸茬粨鏉�
disposeRecord.setState(1);
+ disposeRecord.setResult(checkParam.getResult());
disposeRecord.setEndTime(LocalDateTime.now());
disposeRecordMapper.update(disposeRecord, updateWrapper);
@@ -83,10 +114,23 @@
//涓婁紶澶勭疆鏈粨鏉�
stepNextRecord.setState(0);
stepNextRecord.setStartTime(LocalDateTime.now());
- stepNextRecord.setCreateUser(chechParam.getCurrentUser());
+ stepNextRecord.setCreateUser(checkParam.getCurrentUser());
stepNextRecord.setCreateTime(LocalDateTime.now());
disposeRecordMapper.insert(stepNextRecord);
return true;
}
+
+ @Override
+ public Boolean checkBatch(List<Long> ids, Long userId) {
+ ids.forEach(id -> {
+ CheckParam checkParam = new CheckParam();
+ checkParam.setCurrentUser(userId);
+ checkParam.setBaseCaseId(id);
+ checkParam.setResult(CheckResult.PASS.getName());
+ checkParam.setCheckOpinion("鍚屾剰");
+ this.check(checkParam);
+ });
+ return null;
+ }
}
--
Gitblit v1.8.0