Index: ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/tousse/service/IDCardInstanceBindInstrumentManagerImpl.java =================================================================== diff -u -r37880 -r40866 --- ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/tousse/service/IDCardInstanceBindInstrumentManagerImpl.java (.../IDCardInstanceBindInstrumentManagerImpl.java) (revision 37880) +++ ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/tousse/service/IDCardInstanceBindInstrumentManagerImpl.java (.../IDCardInstanceBindInstrumentManagerImpl.java) (revision 40866) @@ -195,13 +195,42 @@ //绑定器械实例 bindInstrumentInstance.setIdCardInstanceId(iDCardInstance.getId()); + //设置器械实例的状态BJDXZLYY-70 + setInstrumentInstanceStatus(bindInstrumentInstance, IDCardInstance.STATUS_BINDED); objectDao.saveOrUpdate(bindInstrumentInstance); //设置绑定器械实例的标志(初始值为0,绑定后置为1) iDCardInstance.setBindInstrumentInstanceFlag(IDCardInstance.STATUS_BINDED); objectDao.saveOrUpdate(iDCardInstance); } /** + * 设置器械实例的状态BJDXZLYY-70 + * 器械实例绑定标识牌时: + * 器械实例状态由“待使用”变成“使用中”; + * 器械实例解除绑定标识牌时: + * 器械实例状态由“使用中”变成“待使用”; + * @param instrumentInstance 器械实例id + * @param operateType 操作类型,1为添加,0为移除 + */ + private void setInstrumentInstanceStatus(InstrumentInstance instrumentInstance, int operateType) { + if(instrumentInstance == null){ + return; + } + if(IDCardInstance.STATUS_BINDED == operateType){ + if(StringUtils.equals(InstrumentInstance.REPAIR_STATUS_WAITE_USE, instrumentInstance.getRepairStatus())){ + //被放置到器械包中的器械,状态“待使用”变成"使用中" + instrumentInstance.setRepairStatus(InstrumentInstance.REPAIR_STATUS_IN_USE); + } + }else if(IDCardInstance.STATUS_UNBIND == operateType){ + //器械实例绑定标识牌 + if(StringUtils.equals(InstrumentInstance.REPAIR_STATUS_IN_USE, instrumentInstance.getRepairStatus())){ + //器械实例和标识牌解除绑定由“使用中”变成“待使用” + instrumentInstance.setRepairStatus(InstrumentInstance.REPAIR_STATUS_WAITE_USE); + } + } + } + + /** * 返回被替换的材料定义ID * @param bindOperateType 绑定类型:MANUALADD("手工添加"),REPLACEADD("替换添加") * @param bindInstrumentInstance 绑定的材料实例 @@ -342,6 +371,8 @@ //绑定器械实例 instrumentInstance.setIdCardInstanceId(null); + //设置器械实例状态BJDXZLYY-70 + setInstrumentInstanceStatus(instrumentInstance, IDCardInstance.STATUS_UNBIND); objectDao.saveOrUpdate(instrumentInstance); } @@ -463,6 +494,8 @@ for(int i=0;i