| | |
| | | String instId = props.getProcessInstanceId(); |
| | | |
| | | String programPkgName = NcNodeService.genProgramName(props.getDrawingNo(),props.getProcessNo()); |
| | | createProgramNodes(props); |
| | | //NcNode packageNode =createProgramNodes(props); |
| | | NcNode packageNode;// = ncNodeAutoCreateService.createNodeTreeWithProgram(props); |
| | | if(FlowContants.Y.equals(props.getHasCuredProgram()) && FlowContants.Y.equals(props.getCureProgramUseable())){ |
| | | //有固化,且程序可用 |
| | | packageNode = ncNodeService.getById(props.getCuredNodeId()); |
| | | |
| | | //TODO 偏离单,和已经固化的程序,没有处理,:已经处理没有验证 |
| | | NcNode packageNode; |
| | | }else{ |
| | | packageNode = ncNodeAutoCreateService.createNodeTreeWithProgram(props); |
| | | } |
| | | |
| | | if(FlowContants.Y.equals(props.getHasCuredProgram()) && FlowContants.N.equals(props.getCureProgramUseable())){ |
| | | //有固化 但不可用,试切节点的新节点 版本号为 固化版本号+1 |
| | | NcNode curedPackageNode = ncNodeService.getById(props.getCuredNodeId()); |
| | | packageNode.setVersionNumber(curedPackageNode.genNewVersionNumber()); |
| | | ncNodeService.updateById(packageNode); |
| | | } |
| | | //NcNode packageNode; |
| | | /* |
| | | if(FlowContants.Y.equals(props.getHasCuredProgram())){ |
| | | //有固化,且程序可用,从固化树查询节点.使用流程中保存的节点 |
| | | //packageNode = ncNodeService.getLastEditionCuredProgramPackage(programPkgName,props.getProcessEdition()); |
| | | if(FlowContants.Y.equals(props.getCureProgramUseable())) { |
| | | packageNode = ncNodeService.getById(props.getCuredNodeId()); |
| | | }else{ |
| | | //不可用,去固化找最新节点 |
| | | packageNode = ncNodeService.getLastEditionCuredProgramPackage(programPkgName,props.getProcessEdition()); |
| | | //不可用,去试切找最新节点 |
| | | //packageNode = ncNodeService.getLastEditionCuredProgramPackage(programPkgName,props.getProcessEdition()); |
| | | packageNode = ncNodeService.getLastEditionTryingProgramPackage(programPkgName,props.getProcessEdition()); |
| | | //不可用的固化程序锁定 |
| | | packageNode.lock(); |
| | | ncNodeService.updateById(packageNode); |
| | | } |
| | | }else if(Func.isNotBlank(props.getDeviation())){ |
| | | //有偏离单 |
| | | packageNode = ncNodeService.getLastEditionDeviationProgramPackage(programPkgName,props.getProcessEdition()); |
| | | }else{ |
| | | //普通试切,或者有固化不可用 |
| | | //普通试切 |
| | | packageNode = ncNodeService.getLastEditionTryingProgramPackage(programPkgName,props.getProcessEdition()); |
| | | } |
| | | |
| | | */ |
| | | addApproveTable(packageNode,props); |
| | | updateApproveRecordNodeId(instId, packageNode.getId()); |
| | | log.info("普通流程已完成in DispatchFinishListener"); |
| | |
| | | * 自动创建程序节点 |
| | | * @param progProperties 流程属性 |
| | | */ |
| | | void createProgramNodes(FlowProgramProperties progProperties){ |
| | | NcNode createProgramNodes(FlowProgramProperties progProperties){ |
| | | NcNode programPkgNode = null; |
| | | if(FlowContants.N.equals(progProperties.getHasCuredProgram())) { |
| | | //无固化:(试切或者偏离) |
| | | ncNodeAutoCreateService.createNodeTreeWithProgram(progProperties); |
| | | programPkgNode = ncNodeAutoCreateService.createNodeTreeWithProgram(progProperties); |
| | | }else{ |
| | | //有固化,程序不可用 |
| | | if(FlowContants.N.equals(progProperties.getCureProgramUseable())) { |
| | | programPkgNode = ncNodeAutoCreateService.createNodeTreeWithProgram(progProperties);//暂时与上面使用相同代码,createNodeTreeWithProgram中区分了普通试切和不可用的情况 |
| | | } |
| | | //有固化,程序不可用,应该去试切建立节点 |
| | | /* |
| | | if(FlowContants.N.equals(progProperties.getCureProgramUseable())) { |
| | | //固化程序不可用,需要重新建立程序包名和文件节点;可用情况在流程审批中已经升级过节点了 |
| | | NcNode curedProgramPackage = ncNodeService.getById(progProperties.getCuredNodeId()); |
| | |
| | | curedProgramPackage.setIsLastEdition(0); |
| | | curedProgramPackage.setIsLocked(1); |
| | | ncNodeService.updateById(curedProgramPackage); |
| | | } |
| | | }*/ |
| | | } |
| | | |
| | | return programPkgNode; |
| | | } |
| | | |
| | | /** |