From b43362f688e046cf04b47ba37540be4d4ba1ae73 Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期三, 19 十月 2022 11:37:47 +0800
Subject: [PATCH] 我的待办逻辑修改 修改细节
---
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 101 insertions(+), 3 deletions(-)
diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java
index 444a47f..f7db044 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java
@@ -1,10 +1,30 @@
package com.ycl.service.caseHandler.impl;
-import com.ycl.entity.caseHandler.DisposeRecord;
-import com.ycl.mapper.caseHandler.DisposeRecordMapper;
-import com.ycl.service.caseHandler.IDisposeRecordService;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.common.constant.StepName;
+import com.ycl.entity.caseHandler.BaseCase;
+import com.ycl.entity.caseHandler.DisposeRecord;
+import com.ycl.entity.caseHandler.WorkflowConfigStep;
+import com.ycl.entity.user.UmsAdminRoleRelation;
+import com.ycl.exception.ApiException;
+import com.ycl.mapper.caseHandler.BaseCaseMapper;
+import com.ycl.mapper.caseHandler.DisposeRecordMapper;
+import com.ycl.mapper.caseHandler.WorkflowConfigStepMapper;
+import com.ycl.mapper.user.UmsAdminRoleRelationMapper;
+import com.ycl.service.caseHandler.IDisposeRecordService;
+import com.ycl.vo.MyBacklogVO;
+import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
/**
* <p>
@@ -17,4 +37,82 @@
@Service
public class DisposeRecordServiceImpl extends ServiceImpl<DisposeRecordMapper, DisposeRecord> implements IDisposeRecordService {
+ @Resource
+ BaseCaseMapper baseCaseMapper;
+
+ @Resource
+ DisposeRecordMapper disposeRecordMapper;
+ @Resource
+ WorkflowConfigStepMapper workflowConfigStepMapper;
+
+ @Resource
+ UmsAdminRoleRelationMapper umsAdminRoleRelationMapper;
+
+ @Override
+ public List<MyBacklogVO> listMyTask(String num, Long userId) {
+ ArrayList<MyBacklogVO> myBacklogVOS = new ArrayList<>();
+ umsAdminRoleRelationMapper
+ .selectList(new LambdaQueryWrapper<UmsAdminRoleRelation>()
+ .eq(UmsAdminRoleRelation::getAdminId, userId))
+ .forEach(item1 ->
+ myBacklogVOS.addAll(disposeRecordMapper.selectList(
+ new LambdaQueryWrapper<DisposeRecord>()
+ .eq(DisposeRecord::getHandlerRoleId, item1.getRoleId())
+ .isNull(DisposeRecord::getEndTime))
+ .stream()
+ .filter(item -> {
+ if (StringUtils.isBlank(num)) {
+ return true;
+ } else {
+ BaseCase baseCase = baseCaseMapper.selectById(item.getBaseCaseId());
+ if (baseCase.getCode().contains(num)) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+ })
+ .map(item -> {
+ MyBacklogVO myBacklogVO = new MyBacklogVO();
+ BeanUtils.copyProperties(item, myBacklogVO);
+ BaseCase baseCase = baseCaseMapper.selectById(item.getBaseCaseId());
+ myBacklogVO.setCategory(baseCase.getCategory());
+ myBacklogVO.setEventSource(baseCase.getEventSource());
+ myBacklogVO.setCode(baseCase.getCode());
+ return myBacklogVO;
+ }).collect(Collectors.toList()))
+ );
+ return myBacklogVOS;
+ }
+
+ @Override
+ public Boolean addRecord(DisposeRecord disposeRecord) {
+
+ //缁撴潫涓婁紶澶勭疆娴佺▼
+ String stepName = StepName.DISPOSE.getName();
+ QueryWrapper<WorkflowConfigStep> qureyDispatch = new QueryWrapper<>();
+ qureyDispatch.eq("name", stepName);
+ WorkflowConfigStep dispatchStep = workflowConfigStepMapper.selectOne(qureyDispatch);
+
+ UpdateWrapper<DisposeRecord> updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("base_case_id", disposeRecord.getBaseCaseId()).eq("workflow_config_step_id", dispatchStep.getId());
+
+ DisposeRecord updateRecord = new DisposeRecord();
+ updateRecord.setState(1);
+ updateRecord.setEndTime(LocalDateTime.now());
+ updateRecord.setHandlerId(disposeRecord.getCreateUser());
+ baseMapper.update(updateRecord, updateWrapper);
+
+ QueryWrapper<WorkflowConfigStep> stepQurey = new QueryWrapper<>();
+ stepQurey.eq("name", disposeRecord.getStepName());
+ WorkflowConfigStep workflowConfigStep = workflowConfigStepMapper.selectOne(stepQurey);
+ if (workflowConfigStep == null) {
+ throw new ApiException("鏈煡璇㈠埌璇ユ祦绋嬬幆鑺�");
+ }
+ //璁剧疆娴佺▼鐜妭鏁版嵁
+ disposeRecord.setWorkflowConfigStepId(workflowConfigStep.getId());
+ disposeRecord.setHandlerRoleId(workflowConfigStep.getRoleId());
+ baseMapper.insert(disposeRecord);
+ return true;
+ }
}
--
Gitblit v1.8.0