Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java =================================================================== diff -u -r30680 -r30937 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 30680) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 30937) @@ -58,6 +58,7 @@ import com.forgon.disinfectsystem.entity.assestmanagement.DiposableGoodsInstance; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; +import com.forgon.disinfectsystem.entity.basedatamanager.container.Container; import com.forgon.disinfectsystem.entity.basedatamanager.imagefilemanager.ImageFile; import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.materialinstance.MaterialInstance; @@ -3792,6 +3793,11 @@ //源器械包名称 String origineTdName = origineTd.getName(); + // 修改器械包定义的“优先处理科室”后,联动修改标识牌的篮筐的所属科室departCode(NYSY-26) + if(!StringTools.equals(origineTd.getHandlerDepartCode(), tousseDefinition.getHandlerDepartCode())){ + updateIDCardDefinitionContainerDepart(origineTd, tousseDefinition); + } + //(*注意!)复制需要保存的器械包定义的属性 BeanUtils.copyProperties(tousseDefinition, origineTd, "id","materialInstances","diposableGoodsItems"); tousseDefinition = origineTd; @@ -3811,6 +3817,7 @@ // Log.MODEL_TOUSSEDEFINITION, Log.TYPE_UPDATE, String.format("联动修改相关联的业务的器械包名称,id:%s,修改前名称:%s,修改后名称:%s", // tousseDefinition.getId(),tousseDefinition.getOrginalName(),tousseDefinition.getName())); } + } if (StringUtils.isNotBlank(modifyStr) || origineTd == null) { @@ -3994,6 +4001,17 @@ } /** + * 修改器械包定义的“优先处理科室”后,联动修改标识牌的篮筐的所属科室departCode(NYSY-26) + * @param origineTd + * @param tousseDefinition + */ + private void updateIDCardDefinitionContainerDepart(TousseDefinition origineTd, TousseDefinition tousseDefinition) { + String sql = String.format("update %s set departCode = '%s', departName = '%s' where idCardDefinitionId in (select id from IDCardDefinition where tousseDefinitionID = %s)", + Container.class.getSimpleName(), tousseDefinition.getHandlerDepartCode(), tousseDefinition.getHandlerDepartName(), + origineTd.getId()); + objectDao.excuteSQL(sql); + } + /** * 自定义器械包启用/停用后,联动启用/停用同名的器械包和自定义器械包 * @param tousseDefinition */ Index: ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcarddefinition/service/IDCardDefinitionManagerImpl.java =================================================================== diff -u -r30207 -r30937 --- ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcarddefinition/service/IDCardDefinitionManagerImpl.java (.../IDCardDefinitionManagerImpl.java) (revision 30207) +++ ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcarddefinition/service/IDCardDefinitionManagerImpl.java (.../IDCardDefinitionManagerImpl.java) (revision 30937) @@ -1005,6 +1005,15 @@ container.setContainerName(String.format("%s(标识牌%s)", tousseName,idCardDefinition.getId())); SupplyRoomConfig supplyRoom = supplyRoomConfigManager .getFirstSupplyRoomConfig(); + // 篮筐的科室优先设置为器械包定义的“优先处理科室”(NYSY-26 凡是二级供应室的器械只能显示在二级供应室的清洗消毒功能列表中,不能显示在一级供应室的清洗消毒功能列表里面) + String handlerDepartCode = tousseDefinition.getHandlerDepartCode(); + String where = " from " + SupplyRoomConfig.class.getSimpleName() + " po where po.orgUnitCoding = '" + handlerDepartCode + "' and po.supplyRoomType in (" + SupplyRoomConfig.SUPPLYROOM_TYPE_FIRST_SUPPLYROOM + ", " + + SupplyRoomConfig.SUPPLYROOM_TYPE_SECOND_SUPPLYROOM + ")"; + @SuppressWarnings("unchecked") + List list = objectDao.findByHql(where, 0, 1); + if(CollectionUtils.isNotEmpty(list)){ + supplyRoom = list.get(0); + } if (supplyRoom != null) { container.setDepartCode(supplyRoom.getOrgUnitCoding()); container.setDepartName(supplyRoom.getOrgUnitName()); Index: ssts-web/src/main/webapp/dataUpdater/sqls/4.9.71_4.9.72.sql =================================================================== diff -u --- ssts-web/src/main/webapp/dataUpdater/sqls/4.9.71_4.9.72.sql (revision 0) +++ ssts-web/src/main/webapp/dataUpdater/sqls/4.9.71_4.9.72.sql (revision 30937) @@ -0,0 +1 @@ +update Container set departCode = (select handlerDepartCode from TousseDefinition td where td.id = (select tousseDefinitionID from IDCardDefinition where id = Container.idCardDefinitionId)), departName = (select handlerDepartName from TousseDefinition td where td.id = (select tousseDefinitionID from IDCardDefinition where id = Container.idCardDefinitionId)) where idCardDefinitionId is not null; \ No newline at end of file Index: forgon-tools/src/main/java/com/forgon/Constants.java =================================================================== diff -u -r30765 -r30937 --- forgon-tools/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 30765) +++ forgon-tools/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 30937) @@ -26,7 +26,7 @@ "4.9.7","4.9.8","4.9.9","4.9.10","4.9.11","4.9.12","4.9.13","4.9.14","4.9.15","4.9.16","4.9.17","4.9.18","4.9.19","4.9.20","4.9.21","4.9.22","4.9.23","4.9.24", "4.9.25","4.9.26","4.9.27","4.9.28","4.9.29","4.9.30","4.9.31","4.9.32","4.9.33","4.9.34","4.9.35","4.9.36","4.9.37","4.9.38","4.9.39","4.9.40","4.9.41","4.9.42","4.9.43","4.9.44", "4.9.45","4.9.46","4.9.47","4.9.48","4.9.49","4.9.50","4.9.51","4.9.52","4.9.53","4.9.54","4.9.55","4.9.56","4.9.57","4.9.58","4.9.59","4.9.60","4.9.61","4.9.62", - "4.9.63","4.9.64","4.9.65","4.9.66","4.9.67","4.9.68","4.9.69","4.9.70","4.9.71"}; + "4.9.63","4.9.64","4.9.65","4.9.66","4.9.67","4.9.68","4.9.69","4.9.70","4.9.71","4.9.72"}; // 版本列表(4.0版本升级4.1版需要分两步:先从4.0升到4.1.0、然后从4.1.0升级4.1最新版本) /*public final static String[] SOFTWARE_VERSION_ARRAY = new String[] {