| | |
| | | import org.flowable.engine.impl.persistence.entity.ExecutionEntity; |
| | | import org.flowable.engine.runtime.ProcessInstance; |
| | | import org.flowable.task.api.Task; |
| | | import org.springblade.common.constant.AuditStatusConstant; |
| | | import org.springblade.common.enums.DictEnum; |
| | | import org.springblade.common.utils.CommonUtil; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | |
| | | applicationVO.setBasicInfoEntity(basicInfoService.getOne(Condition.getQueryWrapper(new BasicInfoEntity(applicationId)))); |
| | | applicationVO.setSchemeEntity(schemeService.getOne(Condition.getQueryWrapper(new SchemeEntity(applicationId)))); |
| | | applicationVO.setPlanEntity(planService.getOne(Condition.getQueryWrapper(new PlanEntity(applicationId)))); |
| | | applicationVO.setCarEntity(carService.getOne(Condition.getQueryWrapper(new CarEntity(applicationId)))); |
| | | |
| | | CarEntity carEntity = new CarEntity(); |
| | | carEntity.setApplicationId(applicationId); |
| | | carEntity.setStatus("1"); |
| | | applicationVO.setCarEntity(carService.getOne(Condition.getQueryWrapper(carEntity))); |
| | | |
| | | applicationVO.setBasicInfoEntity(basicInfoService.getOne(Condition.getQueryWrapper(new BasicInfoEntity(applicationId)))); |
| | | |
| | | GoodsEntity goods = goodsService.getOne(Condition.getQueryWrapper(new GoodsEntity(applicationId))); |
| | |
| | | BladeFlow flow = flowService.startProcessInstanceById(application.getProcessDefinitionId(), FlowUtil.getBusinessKey(businessTable, String.valueOf(application.getId())), variables); |
| | | if (Func.isNotEmpty(flow)) { |
| | | log.error("流程已启动,流程ID:" + flow.getProcessInstanceId()); |
| | | // 返回流程id写入leave |
| | | // 返回流程id |
| | | application.setProcessInstanceId(flow.getProcessInstanceId()); |
| | | updateById(application); |
| | | } else { |
| | |
| | | if (!StringUtil.isBlank(applicationEntity.getSuggestion())){ |
| | | entity.setSuggestion(applicationEntity.getSuggestion()); |
| | | } |
| | | if (entity.getStatus() == 1){ |
| | | entity.setStatus(2); |
| | | if (entity.getStatus() == AuditStatusConstant.COMMIT){ |
| | | entity.setStatus(AuditStatusConstant.PROCESSING); |
| | | } |
| | | |
| | | String processInstanceId = flow.getProcessInstanceId(); |
| | |
| | | //判读是否有末尾节点 |
| | | if (getEndNode(task,entity.getProcessDefinitionId())){ |
| | | //判断是否pass |
| | | if ((Boolean)variables.get(ProcessConstant.PASS_KEY)){ |
| | | if (flow.isPass()){ |
| | | //改变业务状态 |
| | | entity.setStatus(10); |
| | | entity.setStatus(AuditStatusConstant.PASS_DISTRIBUTE); |
| | | //生成通行证 |
| | | PassEntity passEntity = new PassEntity(); |
| | | passEntity.setNo(entity.getNo()); |
| | |
| | | EvaluationEntity evaluationEntity = new EvaluationEntity(); |
| | | evaluationEntity.setNo(entity.getNo()); |
| | | evaluationService.save(evaluationEntity); |
| | | // //修改车辆信息状态 |
| | | // CarEntity carEntity = new CarEntity(); |
| | | // carEntity.setApplicationId(entity.getId().toString()); |
| | | // carEntity.setStatus("3"); |
| | | // CarEntity one = carService.getOne(Condition.getQueryWrapper(carEntity)); |
| | | // one.setStatus("1"); |
| | | // carService.updateById(one); |
| | | }else if (!applicationEntity.getIsSuggestion()&&!flow.isPass()){ |
| | | //判断是否拒绝受理 |
| | | entity.setStatus(AuditStatusConstant.REJECT_AUDIT); |
| | | |
| | | } |
| | | } |
| | | boolean update = updateById(entity); |
| | |
| | | */ |
| | | public boolean getEndNode(Task task,String definitionId){ |
| | | boolean isEnd=false; |
| | | boolean isAuditTask2 = false; |
| | | boolean finalTask = false; |
| | | BpmnModel bpmnModel = repositoryService.getBpmnModel(definitionId); |
| | | FlowNode flowNode = (FlowNode) bpmnModel.getFlowElement(task.getTaskDefinitionKey()); |
| | | List<SequenceFlow> outgoingFlows = flowNode.getOutgoingFlows(); |
| | | for (SequenceFlow outgoingFlow : outgoingFlows) { |
| | | FlowElement targetFlowElement = outgoingFlow.getTargetFlowElement(); |
| | | FlowElement sourceFlowElement = outgoingFlow.getSourceFlowElement(); |
| | | if (sourceFlowElement.getId().equals("auditTask_2")){ |
| | | isAuditTask2 = true; |
| | | if (sourceFlowElement.getId().equals("finalTask")){ |
| | | finalTask = true; |
| | | } |
| | | if (targetFlowElement instanceof EndEvent){ |
| | | isEnd = true; |
| | | break; |
| | | } |
| | | } |
| | | return isEnd&&isAuditTask2; |
| | | return isEnd&&finalTask; |
| | | } |
| | | } |