package com.boco.nbd.wios.flow.process; import com.boco.nbd.framework.workflow.entity.SubmitFlowRequest; import com.boco.nbd.framework.workflow.entity.SubmitTypeEnum; import com.boco.nbd.framework.workflow.flow.AbstractFlow; import com.boco.nbd.wios.flow.entity.FlowConstant; import com.boco.nbd.wios.flow.entity.bo.LocalSubmitFlowBO; import com.boco.nbd.wios.flow.enums.FlowNodeEnum; import com.boco.nbd.wios.flow.util.ProcessUtil; import org.springframework.stereotype.Service; import java.util.Date; /** * @author:cao hai * @date:2022/6/30 17:05 * @version:V1.0 * @description:Process108 * @modify: */ @Service("Process108") public class Process108 extends AbstractFlow { /** * 预处理(业务数据调整) * * @param request */ @Override protected void preProcess(SubmitFlowRequest request) { LocalSubmitFlowBO bo = (LocalSubmitFlowBO) request; if (SubmitTypeEnum.Transfer.equals(bo.getSubmitType())) { bo.userNamesHandler(); bo.getTaskParam().put(FlowConstant.SUPPLIER_ID, bo.getBusiness().getInstallSupplierId()); bo.getTaskParam().put(FlowConstant.SUPPLIER_NAME, bo.getBusiness().getInstallSupplierName()); bo.setCommentMsg(bo.getCurrentNodeEnum().getValue() + "工单转派" + bo.getBusiness().getInstallStaffName()); } else if (SubmitTypeEnum.TaskFlow.equals(bo.getSubmitType())) { StringBuffer builder = new StringBuffer(); boolean refuseFlag = ProcessUtil.compare(bo.getBusiness().getWhether(), 0); builder.append(FlowNodeEnum.NODE_108.getValue() + ":"); builder.append(refuseFlag ? "预约失败;" : "预约成功"); if (refuseFlag) { if (bo.getBusiness().getInstallStaffId() == null) { //只更新数据 bo.setSubmitType(SubmitTypeEnum.UpdateVariable); } else { bo.getUserNames().add(bo.getBusiness().getInstallStaffId() + ""); bo.setNextNodeEnum(FlowNodeEnum.NODE_109); } } else { bo.setNextNodeEnum(FlowNodeEnum.NODE_110); bo.getBusiness().setInstallReserveTime(new Date()); bo.userNamesHandler(); } bo.setCommentMsg(builder.toString()); } } /** * 验证参数 * * @param request */ @Override protected void verifyParam(SubmitFlowRequest request) { } /** * 后续处理 * * @param request */ @Override protected void postProcess(SubmitFlowRequest request) { } }