kimi42345
2020-03-11 2c43f24c1a778b48ac20b07e17f5da38136cafb4
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;
@@ -68,6 +66,9 @@
    IMaintainService maintainService;
    @Autowired
    ITUserService userService;
    @Autowired
    IMaintainFieldService maintainFieldService;
    @Value("${img.url}")
    String basePath;
@@ -140,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);
@@ -226,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) {
@@ -241,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());
@@ -299,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)) {
@@ -335,6 +353,10 @@
                        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)) {