From c2be8b6fd026bd93c09891febedc1cc06e5bed7e Mon Sep 17 00:00:00 2001
From: mg <maokecheng@163.com>
Date: 星期三, 19 十月 2022 14:07:09 +0800
Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/sccg_server

---
 ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java |   96 ++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 81 insertions(+), 15 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 1777567..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,17 +1,28 @@
 package com.ycl.service.caseHandler.impl;
 
 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;
 
@@ -31,22 +42,77 @@
 
     @Resource
     DisposeRecordMapper disposeRecordMapper;
+    @Resource
+    WorkflowConfigStepMapper workflowConfigStepMapper;
+
+    @Resource
+    UmsAdminRoleRelationMapper umsAdminRoleRelationMapper;
 
     @Override
-    public List<MyBacklogVO> listMyTask(Integer caseId, Long userId) {
-        return disposeRecordMapper.selectList(
-                        new LambdaQueryWrapper<DisposeRecord>()
-                                .eq(DisposeRecord::getHandlerId, userId.intValue())
-                                .isNull(DisposeRecord::getEndTime))
-                .stream()
-                .map(item -> {
-                    MyBacklogVO myBacklogVO = new MyBacklogVO();
-                    BeanUtils.copyProperties(item, myBacklogVO);
-                    BaseCase baseCase = baseCaseMapper.selectById(caseId);
-                    myBacklogVO.setCategory(baseCase.getCategory());
-                    myBacklogVO.setEventSource(baseCase.getEventSource());
-                    myBacklogVO.setCode(baseCase.getCode());
-                    return myBacklogVO;
-                }).collect(Collectors.toList());
+    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