Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java =================================================================== diff -u -r16449 -r16479 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 16449) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 16479) @@ -2170,7 +2170,7 @@ /** * 灭菌记录干预 针对整条记录 */ - public JSONObject saveInterfereSterilizationRecord(String sterilizationRecord_id,String startDate,String endDate,String sterilizationName,String status,String sterilizationPurpose,String sterilizationMethod,String frequency){ + public JSONObject saveInterfereSterilizationRecord(String sterilizationRecord_id,String startDate,String endDate,String sterilizationName,String status,String sterilizationPurpose,String sterilizationMethod,String frequency,boolean sterilizationRecordFinishConfirm){ JSONObject obj = new JSONObject(); try{ SterilizationRecord sr = getSterilizationRecordById(sterilizationRecord_id); @@ -2184,6 +2184,15 @@ }else{ return JSONUtil.buildJsonObject(false, "干预失败,请输入正确的炉号."); } + // 如果要修改非灭菌中或者灭菌中断状态为灭菌中或者灭菌中断,把则校验是否已经有该灭菌炉在灭菌中 + if( !sr.getStatus().equals(status) + && ( !SterilizationRecord.STERILIZATION_STATUS_BEGIN.equals(sr.getStatus()) && !SterilizationRecord.STERILIZATION_STATUS_INTERRUPT.equals(sr.getStatus())) + && (SterilizationRecord.STERILIZATION_STATUS_BEGIN.equals(status) || SterilizationRecord.STERILIZATION_STATUS_INTERRUPT.equals(status))){ + if( !isAllSterilizationEnd(sr.getSterilizerName())) + { + return JSONUtil.buildJsonObject(false, "干预失败,该灭菌记录的灭菌炉正在灭菌."); + } + } if(fre != null && fre <= 0){ return JSONUtil.buildJsonObject(false, "干预失败,炉号不能小于1."); } @@ -2275,12 +2284,16 @@ } }else if(SterilizationRecord.STERILIZATION_STATUS_END.equals(status)){ // 改为灭菌完成 包状态改为‘已灭菌’ - newStatus = TousseInstance.STATUS_STERILED; - if(!TousseInstance.STATUS_STERILED.equals(curStatus)){ - // 从其他状态改为已灭菌,加库存 - GoodsStock goodsStock = TousseInstanceUtils.newGoodsStock(tousseInstance,defaultWareHouse); - inStockTousseList.add(goodsStock); - tousseInstanceManager.setToWarehouse(tousseInstance, defaultWareHouse); + if(sterilizationRecordFinishConfirm){ + newStatus = TousseInstance.STATUS_DELAY_CONFIRM; + }else{ + newStatus = TousseInstance.STATUS_STERILED; + if(!TousseInstance.STATUS_STERILED.equals(curStatus)){ + // 从其他状态改为已灭菌,加库存 + GoodsStock goodsStock = TousseInstanceUtils.newGoodsStock(tousseInstance,defaultWareHouse); + inStockTousseList.add(goodsStock); + tousseInstanceManager.setToWarehouse(tousseInstance, defaultWareHouse); + } } } tousseInstance.setStatus(newStatus); @@ -2292,6 +2305,13 @@ tousseInstance.setSterileEndTime(endDate); tousseInstanceManager.saveOrUpdate(tousseInstance); } + // 如果配了灭菌完成确认,则灭菌完成改为灭菌中,需要清空灭菌确认人,确认标识,确认时间 + if(sterilizationRecordFinishConfirm && SterilizationRecord.STERILIZATION_STATUS_END.equals(sr.getStatus()) + && SterilizationRecord.STERILIZATION_STATUS_BEGIN.equals(status)){ + sr.setSrSituationComfirmer(null); + sr.setSrSituationComfirmTime(null); + sr.setIsSituationComfirm(false); + } //修改库存 try { // 扣减库存 @@ -2335,6 +2355,7 @@ sr.setSterilizationPurpose(sterilizationPurpose); sr.setSterilizationType(sterilizationMethod); sr.setFrequency(fre); + saveOrUpdate(sr); }catch(Exception e) { e.printStackTrace(); Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java =================================================================== diff -u -r16406 -r16479 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 16406) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 16479) @@ -1420,11 +1420,18 @@ String sterilizationPurpose = StrutsParamUtils.getPraramValue("sterilizationPurpose1", null); String sterilizerName = StrutsParamUtils.getPraramValue("sterilizerName1", null); String frequency = StrutsParamUtils.getPraramValue("frequency1", null); + String sterilizationRecordFinishConfirmStr = StrutsParamUtils.getPraramValue("sterilizationRecordFinishConfirm", null); + boolean sterilizationRecordFinishConfirm = false; + if("true".equals(sterilizationRecordFinishConfirmStr)){ + sterilizationRecordFinishConfirm = true; + } + HttpServletResponse response = StrutsParamUtils.getResponse(); JSONObject obj = new JSONObject(); try { obj = sterilizationRecordManager.saveInterfereSterilizationRecord(sterilizationRecord_id, - startDate, endDate, sterilizerName, status,sterilizationPurpose,sterilizationMethod,frequency); + startDate, endDate, sterilizerName, status,sterilizationPurpose,sterilizationMethod,frequency, + sterilizationRecordFinishConfirm); response = StrutsParamUtils.getResponse(); } catch (Exception e) { obj = JSONUtil.buildJsonObject(false, "干预出现异常失败."); Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManager.java =================================================================== diff -u -r16066 -r16479 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManager.java (.../SterilizationRecordManager.java) (revision 16066) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManager.java (.../SterilizationRecordManager.java) (revision 16479) @@ -138,7 +138,7 @@ * @param sterilizationMethod * @param frequency */ - public JSONObject saveInterfereSterilizationRecord(String sterilizationRecord_id,String startDate,String endDate,String sterilizationName,String status,String sterilizationPurpose,String sterilizationMethod,String frequency); + public JSONObject saveInterfereSterilizationRecord(String sterilizationRecord_id,String startDate,String endDate,String sterilizationName,String status,String sterilizationPurpose,String sterilizationMethod,String frequency,boolean sterilizationRecordFinishConfirm); public void tousseConvertSterilizationRecord(Long tousseId,Long recordId,String isBasketConvert,Long reviewedBasketId,String sterilizationBasket); /** * 获取灭菌记录信息 Index: ssts-web/src/main/webapp/disinfectsystem/interfere/interfereSterilizationTab1.js =================================================================== diff -u -r16066 -r16479 --- ssts-web/src/main/webapp/disinfectsystem/interfere/interfereSterilizationTab1.js (.../interfereSterilizationTab1.js) (revision 16066) +++ ssts-web/src/main/webapp/disinfectsystem/interfere/interfereSterilizationTab1.js (.../interfereSterilizationTab1.js) (revision 16479) @@ -51,6 +51,10 @@ id : 'id', name : 'id' },{ + xtype:'hidden', + id : 'sterilizationRecordFinishConfirm', + name : 'sterilizationRecordFinishConfirm' + },{ layout : 'form', columnWidth : .5, cls:'edit-part2-labelwidth', @@ -175,6 +179,11 @@ showResult('请正确填写表单各值'); return false; } + if( (sstsConfig.hasOwnProperty('sterilizationRecordFinishConfirm')) && sstsConfig.sterilizationRecordFinishConfirm ){ + top.Ext.getCmp('sterilizationRecordFinishConfirm').setValue(true); + }else{ + top.Ext.getCmp('sterilizationRecordFinishConfirm').setValue(false); + } formObj.form.submit({ url: WWWROOT + '/disinfectSystem/sterilization/sterilizationRecordAction!interfereSterilizationRecord.do', method:'POST',