Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java =================================================================== diff -u -r14341 -r14440 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java (.../TousseDefinition.java) (revision 14341) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java (.../TousseDefinition.java) (revision 14440) @@ -40,6 +40,7 @@ import com.forgon.disinfectsystem.entity.idcarddefinition.IDCardDefinition; import com.forgon.tools.crypto.coder.CoderEncryption; import com.forgon.tools.hibernate.ObjectDao; +import com.forgon.tools.string.StringTools; import com.forgon.tools.util.ForgonStringUtils; /** @@ -505,6 +506,14 @@ public void setIsRecycling(String isRecycling) { this.isRecycling = isRecycling; } + /** + * 判断是否回收 + * @return + */ + @Transient + public boolean recycling(){ + return StringTools.equals(STR_YES,isRecycling); + } @Transient public String getTousseDefinitionShowName() { Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java =================================================================== diff -u -r14435 -r14440 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 14435) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 14440) @@ -4206,17 +4206,19 @@ } @Override - public void recycleTousseInstance(String tousseInstanceId) { + public String recycleTousseInstance(String tousseInstanceId) { if(!DatabaseUtil.isPoIdValid(tousseInstanceId)){ - return; + return ""; } TousseInstance tousseInstance = tousseInstanceManager.getTousseInstanceById(tousseInstanceId); - if(tousseInstance == null){ - return; + if(tousseInstance == null || tousseInstance.getTousseDefinition().isDressing() + || !tousseInstance.getTousseDefinition().recycling()){ + String msg = "敷料包和不回收的器械包,不生成回收申请单"; + return msg; } //已装配、已审核、已灭菌、灭菌中才能处理 if(tousseInstance.isPacked() || tousseInstance.isReviewed() || tousseInstance.isSteriling() - || tousseInstance.isSteriled()){ + || tousseInstance.isSteriled() || tousseInstance.isDisinfected()){ List itemvos = new ArrayList(); TousseItemVo itemVo = new TousseItemVo(); @@ -4234,10 +4236,12 @@ createQualityMonitorRecyclingApplication(itemvos); //源器械包废弃 tousseInstanceManager.discardTousseInstance(tousseInstance, "质量监测重新回收"); - + return ""; }else{ - throw new RuntimeException("器械包状态只能是" + TousseInstance.STATUS_PACKED + "或者" + TousseInstance.STATUS_REVIEWED - + "或者" + TousseInstance.STATUS_STERILING + "或者" + TousseInstance.STATUS_STERILED + ".当前包状态为:" + tousseInstance.getStatus()); + return "器械包状态只能是" + TousseInstance.STATUS_PACKED + "或者" + TousseInstance.STATUS_REVIEWED + + "或者" + TousseInstance.STATUS_STERILING + "或者" + TousseInstance.STATUS_STERILED + + "或者" + TousseInstance.STATUS_DISINFECTED + + ".当前包状态为:" + tousseInstance.getStatus() + ",不生成申请单"; } } @@ -4281,6 +4285,8 @@ //此申请单的发货状态为空,不发货 recyclingApplication.setDeliverStatus(""); recyclingApplication.setRemark("质量监测生成申请单"); + recyclingApplication.setRecyclingStatus(InvoicePlan.RECYCLINGSTATUS_AWAITRECYCLE); + recyclingApplication.setIncludeRecyclingItems(1); saveOrUpdate(recyclingApplication); return recyclingApplication; Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseInstance.java =================================================================== diff -u -r14422 -r14440 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseInstance.java (.../TousseInstance.java) (revision 14422) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseInstance.java (.../TousseInstance.java) (revision 14440) @@ -844,6 +844,10 @@ return false; } @Transient + public boolean isDisinfected(){ + return StringUtils.equals(STATUS_DISINFECTED, status); + } + @Transient public boolean isShipped() { if (StringUtils.equals(STATUS_SHIPPED, status)) { return true; Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManager.java =================================================================== diff -u -r14423 -r14440 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManager.java (.../RecyclingApplicationManager.java) (revision 14423) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManager.java (.../RecyclingApplicationManager.java) (revision 14440) @@ -145,7 +145,7 @@ * 质量监测不合格器械包回收 * @param tousseInstanceId 器械包id */ - public void recycleTousseInstance(String tousseInstanceId); + public String recycleTousseInstance(String tousseInstanceId); /** * 创建质量监测回收申请单 * @return Index: ssts-web/src/main/java/com/forgon/disinfectsystem/qualitymonitoringmanager/qualitymonitoring/action/QualityMonitoringAction.java =================================================================== diff -u -r14437 -r14440 --- ssts-web/src/main/java/com/forgon/disinfectsystem/qualitymonitoringmanager/qualitymonitoring/action/QualityMonitoringAction.java (.../QualityMonitoringAction.java) (revision 14437) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/qualitymonitoringmanager/qualitymonitoring/action/QualityMonitoringAction.java (.../QualityMonitoringAction.java) (revision 14440) @@ -105,13 +105,16 @@ String tousseInstanceId = map.get("tousseInstanceId"); try { boolean saved = DatabaseUtil.isPoIdValid(qualityMonitoring.getId()); //记录原来是否已经保存过 + String ret = ""; qualityMonitoringManager.saveQualityMonitoring(qualityMonitoring,map); if(isRecycle && !saved){ //已经保存过都不处理 - recyclingApplicationManager.recycleTousseInstance(tousseInstanceId); + ret = recyclingApplicationManager.recycleTousseInstance(tousseInstanceId); }else if(isRepacking && !saved){//已经保存过都不处理 packingManager.createPackingTaskForRepacking(tousseInstanceId); } - + if(StringTools.isNotEmpty(ret)){ + msg += ret; + } }catch(RuntimeException e){ success = false; msg = e.getMessage(); Index: ssts-web/src/main/webapp/disinfectsystem/qualitymonitoring/qualitymonitoringForm.js =================================================================== diff -u -r14436 -r14440 --- ssts-web/src/main/webapp/disinfectsystem/qualitymonitoring/qualitymonitoringForm.js (.../qualitymonitoringForm.js) (revision 14436) +++ ssts-web/src/main/webapp/disinfectsystem/qualitymonitoring/qualitymonitoringForm.js (.../qualitymonitoringForm.js) (revision 14440) @@ -217,14 +217,15 @@ waitMsg : '正在保存数据,请稍候', waitTitle : '提交表单', success : function(form, action) { - + var result = top.Ext.decode(action.response.responseText); + showResult(result.message); if(saveAndCreate){ - showResult('保存成功'); + //showResult('保存成功'); qualityMonitoringWin.close(); addQualityMonitoring(""); grid.getStore().reload(); }else{ - showResult('保存成功'); + //showResult('保存成功'); qualityMonitoringWin.close(); grid.getStore().reload(); }