package com.boco.nbd.wios.flow.process; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; import com.boco.nbd.cams.core.util.LambdaUtils; 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.bo.LocalSubmitFlowBO; import com.boco.nbd.wios.flow.entity.po.OrderPO; 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:04 * @version:V1.0 * @description:Process101 * @modify: */ @Service("Process101") public class Process101 extends AbstractFlow { /** * 预处理(业务数据调整) * * @param request */ @Override protected void preProcess(SubmitFlowRequest request) { LocalSubmitFlowBO bo = (LocalSubmitFlowBO) request; if (SubmitTypeEnum.TaskFlow.equals(bo.getSubmitType())) { bo.setNextNodeEnum(FlowNodeEnum.NODE_102); bo.getBusiness().setConnectTime(new Date()); bo.getBusiness().setConnectPerson(bo.getSubmitUserId()); bo.getBusiness().setConnectPersonName(bo.getSubmitUserName()); StringBuffer builder = new StringBuffer(); boolean refuseFlag = ProcessUtil.compare(bo.getBusiness().getWhether(), 0); builder.append(refuseFlag ? "预约失败" : "预约成功"); boolean addMsg = (refuseFlag && bo.getBusiness().getSurveyFollowTime() != null); addMsg = (addMsg || (!refuseFlag && bo.getBusiness().getSurveyReserveTime() != null)); if (addMsg) { builder.append(";" + System.lineSeparator()); builder.append(refuseFlag ? LambdaUtils.getFieldApiModelProperty(OrderPO::getSurveyFollowTime) : LambdaUtils.getFieldApiModelProperty(OrderPO::getSurveyReserveTime)); builder.append(";" + System.lineSeparator()); builder.append(refuseFlag ? DateUtil.format(bo.getBusiness().getSurveyFollowTime(), DatePattern.NORM_DATETIME_PATTERN) : DateUtil.format(bo.getBusiness().getSurveyReserveTime(), DatePattern.NORM_DATETIME_PATTERN)); } bo.setCommentMsg(builder.toString()); //不更新order中address bo.getBusiness().setAddress(null); //默认勘测 bo.getBusinessSurvey().setType(1); } } /** * 验证参数 * * @param request */ @Override protected void verifyParam(SubmitFlowRequest request) { } /** * 后续处理 * * @param request */ @Override protected void postProcess(SubmitFlowRequest request) { } }