From 74472c9d22dddcb41383794caf0011043b20f817 Mon Sep 17 00:00:00 2001
From: kimi <kimi42345@gmail.com>
Date: 星期二, 31 三月 2020 13:25:47 +0800
Subject: [PATCH] fix  数据权限

---
 src/main/java/com/highdatas/mdm/controller/ActivitiController.java |  117 +++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 82 insertions(+), 35 deletions(-)

diff --git a/src/main/java/com/highdatas/mdm/controller/ActivitiController.java b/src/main/java/com/highdatas/mdm/controller/ActivitiController.java
index 3ab3cc5..511b300 100644
--- a/src/main/java/com/highdatas/mdm/controller/ActivitiController.java
+++ b/src/main/java/com/highdatas/mdm/controller/ActivitiController.java
@@ -5,13 +5,11 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.highdatas.mdm.entity.Flows;
 import com.highdatas.mdm.entity.Maintain;
+import com.highdatas.mdm.entity.MaintainField;
 import com.highdatas.mdm.entity.TUser;
 import com.highdatas.mdm.mapper.FlowsMapper;
 import com.highdatas.mdm.pojo.*;
-import com.highdatas.mdm.service.ActivitiService;
-import com.highdatas.mdm.service.IFlowsService;
-import com.highdatas.mdm.service.IMaintainService;
-import com.highdatas.mdm.service.ITUserService;
+import com.highdatas.mdm.service.*;
 import com.highdatas.mdm.service.act.*;
 import com.highdatas.mdm.util.Constant;
 import lombok.extern.slf4j.Slf4j;
@@ -20,13 +18,15 @@
 import org.activiti.engine.task.Task;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
-import java.io.*;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -68,9 +68,12 @@
     IMaintainService maintainService;
     @Autowired
     ITUserService userService;
+    @Autowired
+    IMasterModifiedService masterModifiedService;
 
-    @Value("${img.url}")
-    String basePath;
+    @Autowired
+    IMaintainFieldService maintainFieldService;
+
 
     @RequestMapping(value = "/list", method = RequestMethod.GET)
     public Result<List<Map<String, Object>>> list(HttpServletRequest request) throws FileNotFoundException {
@@ -88,16 +91,14 @@
     }
     @RequestMapping(value = "/img/{modelId}", method = RequestMethod.GET)
     public void image(@PathVariable String modelId, HttpServletResponse response)  {
-        String filePath = basePath   + modelId +"/"+ modelId + ".png";
-        File file = new File(filePath);
-        FileInputStream fileInputStream = null;
+        InputStream is = repositoryService.getModelImg(modelId);
+
         response.setHeader("Content-Type", "image/png");
         try{
-            fileInputStream = new FileInputStream(file);
             OutputStream outputStream = response.getOutputStream();
             byte[] b = new byte[1024];
             int len;
-            while ((len = fileInputStream.read(b, 0, 1024)) != -1) {
+            while ((len = is.read(b, 0, 1024)) != -1) {
                 outputStream.write(b, 0, len);
             }
         }
@@ -105,9 +106,9 @@
             e.printStackTrace();
         }
         finally {
-            if (fileInputStream != null) {
+            if (is != null) {
                 try {
-                    fileInputStream.close();
+                    is.close();
                 } catch (IOException e) {
                     e.printStackTrace();
                 }
@@ -141,23 +142,29 @@
     @RequestMapping(value = "/start/{key}", method = RequestMethod.GET)
     public Result<Object> start(@PathVariable String key,@RequestParam String businessId, HttpServletRequest request)  {
         if (StringUtils.isEmpty(key)) {
-                return Result.error(new CodeMsg(1000, "key is not found"));
+            return Result.error(new CodeMsg(1000, "key is not found"));
+        }
+        String desp = request.getParameter("desp");
+        String businessType = request.getParameter("businessType");
+        ActivitiBusinessType type;
+        if (StringUtils.isEmpty(businessType)) {
+            type = ActivitiBusinessType.maintain;
+        } else {
+            type = ActivitiBusinessType.valueOf(businessType);
+        }
+        HttpSession session = request.getSession();
+        Flows flows = activitiService.start(key, session, businessId, type);
+        if (flows == null) {
+            return Result.error(CodeMsg.INSERT_ERROR);
+        }  else {
+            if (type.equals(ActivitiBusinessType.field)) {
+                MaintainField maintainField = maintainFieldService.selectById(businessId);
+                maintainField.setFlowId(flows.getId());
+                maintainField.setDesp(desp);
+                maintainField.updateById();
+                return Result.success(flows.getId());
             }
-            String desp = request.getParameter("desp");
-            String businessType = request.getParameter("businessType");
-            ActivitiBusinessType type;
-            if (StringUtils.isEmpty(businessType)) {
-                type = ActivitiBusinessType.maintain;
-            } else {
-                type = ActivitiBusinessType.valueOf(businessType);
-            }
-            HttpSession session = request.getSession();
-            Flows flows = activitiService.start(key, session, businessId, type);
-            if (flows == null) {
-                return Result.error(CodeMsg.INSERT_ERROR);
-            }  else {
-
-            if (type.equals(ActivitiBusinessType.maintain)) {
+            else if (type.equals(ActivitiBusinessType.maintain)) {
                 Maintain maintain = maintainService.selectById(businessId);
                 maintain.setFlowId(flows.getId());
                 maintain.setDesp(desp);
@@ -227,6 +234,7 @@
         if (!StringUtils.isEmpty(pageSizeStr)) {
             page.setPageSize(Integer.valueOf(pageSizeStr));
         }
+
         subList = subList.stream().skip(page.getBeginRecordNo_1()).limit(page.getPageSize()).collect(Collectors.toList());
         ArrayList<Map<String, Object>> result = new ArrayList<>();
         for (HistoricProcessInstance historicProcessInstance : subList) {
@@ -242,6 +250,16 @@
             one.put("createTime", flows.getCreateTime());
             result.add(one);
         }
+
+        Collections.sort(result, new Comparator<Map<String, Object>>() {
+            @Override
+            public int compare(Map<String, Object> o1, Map<String, Object> o2) {
+                Date o1Date = (Date) o1.get("createTime");
+                Date o2Date = (Date) o2.get("createTime");
+                return o2Date.compareTo(o1Date);
+            }
+        });
+
         JSONObject object = new JSONObject();
         object.fluentPut("total", page.getRecordCount());
         object.fluentPut("size", page.getPageSize());
@@ -295,6 +313,7 @@
             return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
         }
         HttpSession session = request.getSession();
+        //todo 鍒ゆ柇褰撳墠task鏄惁鏄綋鍓嶄汉鑳藉鎵圭殑
 
         taskService.setSession(session);
         ActivitiStatus status = flows.getStatus();
@@ -332,10 +351,8 @@
                         flows.setStatus(ActivitiStatus.close);
                     }
 
-                    if (flows.getBusinessType().equals(ActivitiBusinessType.maintain)){
-                        String maintainId = flows.getBusinessId();
-                        maintainService.dealFlow(maintainId, flows.getStatus());
-                    }
+
+                    flowsService.aduitFinish(flows);
 
                 } else {
                     if (pass && flows.getStatus().equals(ActivitiStatus.refuse)) {
@@ -365,4 +382,34 @@
             return Result.success(CodeMsg.INSERT_ERROR);
         }
     }
+
+    @RequestMapping(value = "/addActUser")
+    public Result addActUser(@RequestParam String userId){
+        return identityService.addUser(userId);
+    }
+
+    @RequestMapping(value = "/addActRole")
+    public Result addActRole(@RequestParam String roleId){
+        return identityService.addRole(roleId);
+    }
+
+    @RequestMapping(value = "/addActUserRole")
+    public Result addActUserRole(@RequestParam String roleId, @RequestParam String userId){
+        return identityService.addUserRole(roleId,userId);
+    }
+    @RequestMapping(value = "/deleteActUserRole")
+    public Result deleteActUserRole(@RequestParam String roleId, @RequestParam String userId){
+        return identityService.deleteUserRole(roleId,userId);
+    }
+
+    @RequestMapping(value = "/deleteActRole")
+    public Result deleteActRole(@RequestParam String roleId){
+        return identityService.deleteRole(roleId);
+    }
+
+    @RequestMapping(value = "/deleteActUser")
+    public Result deleteActUser(@RequestParam String userId){
+        return identityService.deleteUser(userId);
+    }
+
 }

--
Gitblit v1.8.0