From 9299e747e05d1bc733ce146825d15a48b8c86182 Mon Sep 17 00:00:00 2001 From: mg <maokecheng@163.com> Date: 星期四, 20 十月 2022 17:23:06 +0800 Subject: [PATCH] 环节用时bug修改。 --- 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