Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/service/ExpensiveGoodsApplicationManagerImpl.java =================================================================== diff -u -r21976 -r21983 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/service/ExpensiveGoodsApplicationManagerImpl.java (.../ExpensiveGoodsApplicationManagerImpl.java) (revision 21976) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/service/ExpensiveGoodsApplicationManagerImpl.java (.../ExpensiveGoodsApplicationManagerImpl.java) (revision 21983) @@ -87,15 +87,17 @@ @Override public void saveOrUpdate(ExpensiveGoodsApplication expensiveGoodsApplication, boolean commit, JSONArray items) { + NodeDefinition firstNodeDefinition = nodeDefinitionManager.getFirstNodeDefinition(InvoicePlan.TYPE_EXPENSIVEGOODS_FORM); + if (firstNodeDefinition == null) { + throw new RuntimeException("请先配置高值耗材申请单的审批流程!"); + } + String deliverStatus = expensiveGoodsApplication.getDeliverStatus(); boolean originalCommittedStatus = Boolean.valueOf(BooleanUtils.toBoolean(expensiveGoodsApplication.getCommittedStatus())); //提交状态 if (StringTools.isNotBlank(deliverStatus) && !InvoicePlan.DELIVERSTATUS_AWAITDELIVER.equals(deliverStatus)) { throw new RuntimeException("发货状态必须为待发货才能修改!"); } -// if (originalCommittedStatus) { -// throw new RuntimeException("此单已经提交不能修改!"); -// } boolean update = DatabaseUtil.isPoIdValid(expensiveGoodsApplication.getId()) ? true : false; //是否更新操作 if (items != null && items.size() > 0) { @@ -128,9 +130,7 @@ objectDao.saveOrUpdate(expensiveGoodsApplication); //5、如果是提交操作立即启动审批流程 - if (commit /*&& (StringTools.isBlank(expensiveGoodsApplication.getProcessStatus()) - || expensiveGoodsApplication.getProcessStatus().equals(ExpensiveGoodsApplication.PROCESSSTATUS_NOT_STARTED))*/) { - NodeDefinition firstNodeDefinition = nodeDefinitionManager.getFirstNodeDefinition(InvoicePlan.TYPE_EXPENSIVEGOODS_FORM); + if (commit) { expensiveGoodsApplication.setCurrentNodeDefinitionId(firstNodeDefinition.getId()); expensiveGoodsApplication.setCurrentNodeDefinitionName(firstNodeDefinition.getName()); expensiveGoodsApplication.setProcessStatus(InvoicePlan.PROCESSSTATUS_START_PROCESS); @@ -288,10 +288,10 @@ setTousseItem(expensiveGoodsApplication, items); //2、设置上一个审批节点的信息 - NodeDefinition nextNodeDefinition = nodeDefinitionManager.getLastNodeDefinition(expensiveGoodsApplication.getCurrentNodeDefinitionId()); - if (nextNodeDefinition != null) { - expensiveGoodsApplication.setCurrentNodeDefinitionId(nextNodeDefinition.getId()); - expensiveGoodsApplication.setCurrentNodeDefinitionName(nextNodeDefinition.getName()); + NodeDefinition lastNodeDefinition = nodeDefinitionManager.getLastNodeDefinition(expensiveGoodsApplication.getCurrentNodeDefinitionId()); + if (lastNodeDefinition != null) { + expensiveGoodsApplication.setCurrentNodeDefinitionId(lastNodeDefinition.getId()); + expensiveGoodsApplication.setCurrentNodeDefinitionName(lastNodeDefinition.getName()); } else { expensiveGoodsApplication.setCurrentNodeDefinitionId(null); expensiveGoodsApplication.setCurrentNodeDefinitionName(null);