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 | 120 ++++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 84 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/controller/ActivitiController.java b/src/main/java/com/highdatas/mdm/controller/ActivitiController.java index 45c2be7..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,8 +68,12 @@ IMaintainService maintainService; @Autowired ITUserService userService; - @Value("${img.url}") - String basePath; + @Autowired + IMasterModifiedService masterModifiedService; + + @Autowired + IMaintainFieldService maintainFieldService; + @RequestMapping(value = "/list", method = RequestMethod.GET) public Result<List<Map<String, Object>>> list(HttpServletRequest request) throws FileNotFoundException { @@ -87,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); } } @@ -104,9 +106,9 @@ e.printStackTrace(); } finally { - if (fileInputStream != null) { + if (is != null) { try { - fileInputStream.close(); + is.close(); } catch (IOException e) { e.printStackTrace(); } @@ -140,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); @@ -226,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) { @@ -241,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()); @@ -294,12 +313,13 @@ return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED); } HttpSession session = request.getSession(); + //todo 鍒ゆ柇褰撳墠task鏄惁鏄綋鍓嶄汉鑳藉鎵圭殑 taskService.setSession(session); ActivitiStatus status = flows.getStatus(); String workflowId = flows.getWorkflowId(); -// Task task = taskService.geTask(workflowId); +// Task task = TimeTaskService.geTask(workflowId); // String id = task.getId(); String taskId = null; if (taskService.checkClaim(workflowId)) { @@ -331,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)) { @@ -364,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