From 2c43f24c1a778b48ac20b07e17f5da38136cafb4 Mon Sep 17 00:00:00 2001 From: kimi42345 <kimi42345@outlook.com> Date: 星期三, 11 三月 2020 13:28:10 +0800 Subject: [PATCH] no message --- src/main/java/com/highdatas/mdm/controller/ActivitiController.java | 113 +++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 90 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/controller/ActivitiController.java b/src/main/java/com/highdatas/mdm/controller/ActivitiController.java index 2655142..8cee716 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,12 +18,13 @@ 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.FileNotFoundException; +import java.io.*; import java.util.*; import java.util.stream.Collectors; @@ -68,6 +67,10 @@ @Autowired ITUserService userService; + @Autowired + IMaintainFieldService maintainFieldService; + @Value("${img.url}") + String basePath; @RequestMapping(value = "/list", method = RequestMethod.GET) public Result<List<Map<String, Object>>> list(HttpServletRequest request) throws FileNotFoundException { @@ -78,12 +81,50 @@ List<Map<String, Object>> list = flowsMapper.selectVersion(filterSegment); for (Map<String, Object> one : list) { String newModelId = (String) one.get(Constant.ID); - String url = "processes/" + newModelId + "/" + newModelId + ".png"; + String url = "act/img/" + newModelId; one.put("imgurl",url); } return Result.success(list); } + @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; + 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) { + outputStream.write(b, 0, len); + } + } + catch (Exception e) { + e.printStackTrace(); + } + finally { + if (fileInputStream != null) { + try { + fileInputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + } + @RequestMapping(value = "/deleteModel/{modelId}", method = RequestMethod.GET) + public Result deleteModel(@PathVariable String modelId) { + boolean b = repositoryService.deleteModel(modelId); + if (b) { + return Result.success(null); + } else { + return Result.error(CodeMsg.DELETE_ERROR); + } + } @RequestMapping(value = "/processlist", method = RequestMethod.GET) public Result<Result<JSONArray>> processlist(HttpServletRequest request) { Result<JSONArray> processList = repositoryService.getProcessList(); @@ -100,23 +141,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); @@ -186,6 +233,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) { @@ -201,6 +249,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()); @@ -259,7 +317,7 @@ 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)) { @@ -286,10 +344,19 @@ } else { flows.setStatus(ActivitiStatus.open); } + + if (!pass) { + flows.setStatus(ActivitiStatus.close); + } + if (flows.getBusinessType().equals(ActivitiBusinessType.maintain)){ String maintainId = flows.getBusinessId(); maintainService.dealFlow(maintainId, flows.getStatus()); } + if (flows.getBusinessType().equals(ActivitiBusinessType.field)){ + String maintainId = flows.getBusinessId(); + maintainFieldService.dealFlow(maintainId, flows.getStatus()); + } } else { if (pass && flows.getStatus().equals(ActivitiStatus.refuse)) { -- Gitblit v1.8.0