yangys
2025-12-03 b4d10ff7535002dddb63a0b28ddb37fee7ed1e9d
blade-service/blade-mdm/src/main/java/org/springblade/mdm/thirdpart/service/MesTaskService.java
@@ -4,7 +4,7 @@
import lombok.extern.slf4j.Slf4j;
import org.flowable.engine.RuntimeService;
import org.flowable.engine.runtime.ProcessInstance;
import org.springblade.mdm.flow.constants.FlowVariableContants;
import org.springblade.mdm.flow.constants.FlowVariableConstant;
import org.springblade.mdm.flow.entity.TaskDispatch;
import org.springblade.mdm.flow.service.TaskDispatchService;
import org.springblade.mdm.flow.vo.TaskAssignVO;
@@ -40,6 +40,7 @@
      if(isDuplicate){
         taskDispatch.setStatus(TaskDispatch.STATUS_DUP);
      }
      taskDispatch.setTenantId("000000");
      taskDispatchService.save(taskDispatch);
      taskDispatchService.addDrawingNos(taskDispatch.getDrawingNo());
@@ -48,20 +49,28 @@
   /**
    * mes 完成推送
    * @param finishTaskVO
    * @param finishTaskVO mes完工数据
    */
   public void finishTask(MesTaskFinishVO finishTaskVO) {
      TaskDispatch taskDispatch = taskDispatchService.getByMesTaskId(finishTaskVO.getMesTaskId());
      TaskDispatch taskDispatch = taskDispatchService.getByOperationId(finishTaskVO.getOperationId());
      if(taskDispatch != null && taskDispatch.getProcessInstanceId() != null){
         taskDispatch.setProcessCard(finishTaskVO.getProcessCard());
         taskDispatch.setInspector(finishTaskVO.getInspector());
         taskDispatch.setCheckTime(finishTaskVO.getCheckTime());
         if(finishTaskVO.getInspector() != null) {
            taskDispatch.setInspector(finishTaskVO.getInspector());
         }
         if(finishTaskVO.getOperationFeedbackTime() != null){
            taskDispatch.setOperateTime(finishTaskVO.getOperationFeedbackTime());
         }
         if(finishTaskVO.getAcruslEndTime() !=null ) {
            taskDispatch.setCheckTime(finishTaskVO.getAcruslEndTime());
         }
         taskDispatchService.updateById(taskDispatch);
         ProcessInstance inst = runtimeService.createProcessInstanceQuery()
            .processInstanceId(taskDispatch.getProcessInstanceId()).active().singleResult();
         if(inst != null){
            runtimeService.setVariable(taskDispatch.getProcessInstanceId(), FlowVariableContants.PROCESS_CARD,finishTaskVO.getProcessCard());
            runtimeService.setVariable(taskDispatch.getProcessInstanceId(), FlowVariableConstant.PROCESS_CARD,finishTaskVO.getProcessCard());
         }
      }