Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ReviewedBasketManagerImpl.java =================================================================== diff -u -r16828 -r16845 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ReviewedBasketManagerImpl.java (.../ReviewedBasketManagerImpl.java) (revision 16828) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ReviewedBasketManagerImpl.java (.../ReviewedBasketManagerImpl.java) (revision 16845) @@ -290,7 +290,7 @@ @Override public void deleteAllTousse(String reviewBasketId) { if(StringUtils.isNotBlank(reviewBasketId)){ - String sql = "update tousseInstance set reviewBasket_id = null where reviewBasket_id = " + String sql = "update tousseInstance set reviewBasket_id = null,sterilizationBasket = null where reviewBasket_id = " + reviewBasketId; ResultSet rs = objectDao.executeSql(sql); DatabaseUtil.closeResultSetAndStatement(rs); Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r16817 -r16845 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 16817) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 16845) @@ -2263,6 +2263,10 @@ if (reviewedBasket != null) { tousseInstance.setReviewBasket_id(reviewedBasket.getId()); tousseInstance.setVirtualBasketSeqNum(null);//需要将虚拟篮筐的别名字段也删除,防止还能通过别名查到 + Container container = reviewedBasket.getContainer(); + if (container != null) { + tousseInstance.setSterilizationBasket(container.getContainerName()); + } } }else{ //不需要灭菌的器械包实例(消毒物品)集合 @@ -2301,6 +2305,9 @@ if (reviewedBasket != null) { tousseInstance.setReviewBasket_id(reviewedBasket.getId()); tousseInstance.setVirtualBasketSeqNum(null);//需要将虚拟篮筐的别名字段也删除,防止还能通过别名查到 + if (reviewedBasket.getContainer() != null) { + tousseInstance.setSterilizationBasket(reviewedBasket.getContainer().getContainerName()); + } } else { //不传入灭菌篮筐表示需要将该包实例的审核篮筐实例的id设置为空,但本处由于可能在装配时已关联为虚拟篮筐的篮筐实例id,所以不能下一行代码调用.since20151029SYF //removeFromBasket(tousseInstance.getBarcode()); @@ -4282,7 +4289,10 @@ belongVirtualBasket = reviewedBasketList.get(i/packingAmountPerVirtualBasket); tousseInstance.setReviewBasket_id(belongVirtualBasket.getId()); Container container = belongVirtualBasket.getContainer(); - tousseInstance.setVirtualBasketSeqNum(container.getContainerName()); + if (container != null) { //虽然理论上每个灭菌筐关联的Container一定不为空,但是这里还是处理一下空异常比较好 + tousseInstance.setVirtualBasketSeqNum(container.getContainerName()); + tousseInstance.setSterilizationBasket(container.getContainerName()); + } }catch(Exception e){ e.printStackTrace(); } @@ -5525,8 +5535,10 @@ tousseInstance.setReviewBasket_id(belongVirtualBasket .getId()); Container container = belongVirtualBasket.getContainer(); - tousseInstance.setVirtualBasketSeqNum(container - .getContainerName()); + if (container != null) { + tousseInstance.setVirtualBasketSeqNum(container.getContainerName()); + tousseInstance.setSterilizationBasket(container.getContainerName()); + } } catch (Exception e) { e.printStackTrace(); } Index: ssts-web/src/test/java/test/forgon/disinfectsystem/invoicemanager/service/ScanBasketInvoiceTests.java =================================================================== diff -u -r13656 -r16845 --- ssts-web/src/test/java/test/forgon/disinfectsystem/invoicemanager/service/ScanBasketInvoiceTests.java (.../ScanBasketInvoiceTests.java) (revision 13656) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/invoicemanager/service/ScanBasketInvoiceTests.java (.../ScanBasketInvoiceTests.java) (revision 16845) @@ -19,6 +19,7 @@ import com.forgon.disinfectsystem.entity.packing.ReviewedBasket; import com.forgon.disinfectsystem.webservice.service.ServiceManager; import com.forgon.serialnumber.model.SerialNum; +import com.forgon.tools.db.DatabaseUtil; import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.JsonElement; @@ -59,6 +60,12 @@ tousseInstance.setWarningUntil(cal.getTime()); tousseInstance.setOrgUnitCoding(orgUnitCoding); tousseInstance.setReviewBasket_id(reviewBasket_id); + if(DatabaseUtil.isPoIdValid(reviewBasket_id)){ + ReviewedBasket reviewedBasket = (ReviewedBasket)objectDao.getBySql(ReviewedBasket.class.getSimpleName(), " where id=" + reviewBasket_id); + if(reviewedBasket != null && reviewedBasket.getContainer() != null){ + tousseInstance.setSterilizationBasket(reviewedBasket.getContainer().getContainerName()); + } + } tousseInstanceManager.setToDefaultWareHouse(tousseInstance, orgUnitCoding); tousseInstanceManager.saveOrUpdate(tousseInstance); return tousseInstance.getId(); Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java =================================================================== diff -u -r16828 -r16845 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 16828) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 16845) @@ -284,6 +284,7 @@ if (tousseInstances.contains(tousseInstance)) { tousseInstances.remove(tousseInstance); tousseInstance.setReviewBasket_id(null); + tousseInstance.setSterilizationBasket(null); objectDao.saveOrUpdate(tousseInstance); } } Index: ssts-web/src/test/java/test/forgon/disinfectsystem/packing/TousseInstanceReviewManagerTests.java =================================================================== diff -u -r13057 -r16845 --- ssts-web/src/test/java/test/forgon/disinfectsystem/packing/TousseInstanceReviewManagerTests.java (.../TousseInstanceReviewManagerTests.java) (revision 13057) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/packing/TousseInstanceReviewManagerTests.java (.../TousseInstanceReviewManagerTests.java) (revision 16845) @@ -79,6 +79,7 @@ tousseInstance.setVirtualBasketSeqNum("001"); tousseInstance.setReviewBasket_id(null); + tousseInstance.setSterilizationBasket(null); tousseInstance.setPackingRecord_id(null); tousseInstanceManager.setToDefaultWareHouse(tousseInstance, Constants.ORG_UNIT_CODE_CSSD); @@ -137,6 +138,7 @@ tousseInstance.setVirtualBasketSeqNum("001"); tousseInstance.setReviewBasket_id(null); + tousseInstance.setSterilizationBasket(null); tousseInstance.setPackingRecord_id(null); tousseInstanceManager.setToDefaultWareHouse(tousseInstance, Constants.ORG_UNIT_CODE_CSSD); Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java =================================================================== diff -u -r16466 -r16845 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java (.../ForeignProxyDisinfectionManagerImpl.java) (revision 16466) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java (.../ForeignProxyDisinfectionManagerImpl.java) (revision 16845) @@ -566,6 +566,10 @@ } if(basket != null){ tousseInstance.setReviewBasket_id(basket.getId()); + Container container = basket.getContainer(); + if (container != null) { + tousseInstance.setSterilizationBasket(container.getContainerName()); + } } tousseInstance.setForeignProxyItem_id(foreignProxyItem.getId()); tousseInstance.setApplicationTousseItemId(tousseItem.getId()); Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/security/service/WebServiceManagerImpl.java =================================================================== diff -u -r16169 -r16845 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/security/service/WebServiceManagerImpl.java (.../WebServiceManagerImpl.java) (revision 16169) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/security/service/WebServiceManagerImpl.java (.../WebServiceManagerImpl.java) (revision 16845) @@ -1324,6 +1324,9 @@ TousseInstance tousse = tousseInstanceManager .getTousseInstanceByBarcode(toussesBarcode); tousse.setReviewBasket_id(basket.getId()); + if (basket.getContainer() != null) { + tousse.setSterilizationBasket(basket.getContainer().getContainerName()); + } } } int basketTousseAmount = basket.getTousseInstancesAmount(objectDao); Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java =================================================================== diff -u -r16508 -r16845 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java (.../ProxyDisinfectionManagerImpl.java) (revision 16508) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java (.../ProxyDisinfectionManagerImpl.java) (revision 16845) @@ -25,6 +25,7 @@ import com.forgon.disinfectsystem.basedatamanager.container.service.ReviewedBasketManager; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; +import com.forgon.disinfectsystem.entity.basedatamanager.container.Container; import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; @@ -106,7 +107,7 @@ Query query = objectDao .getHibernateSession() .createQuery( - "update TousseInstance set proxyDisinfection_id = null, reviewBasket_id = null where proxyDisinfection_id = :pdId"); + "update TousseInstance set proxyDisinfection_id = null, reviewBasket_id = null,sterilizationBasket = null where proxyDisinfection_id = :pdId"); query.setParameter("pdId", Long.valueOf(id)); query.executeUpdate(); @@ -266,7 +267,7 @@ proxyDisinfection.getId())) { reviewedBasketTousseInstance.setReviewBasket_id(null); - + reviewedBasketTousseInstance.setSterilizationBasket(null); it.remove(); } } @@ -281,6 +282,10 @@ TousseInstance tousseInstance = tousseInstanceManager .getTousseInstanceById(tousseId); tousseInstance.setReviewBasket_id(reviewedBasket.getId()); + Container container = reviewedBasket.getContainer(); + if (container != null) { + tousseInstance.setSterilizationBasket(container.getContainerName()); + } proxyBasketTousses.add(tousseInstance); if (map.get(tousseInstance.getTousseDefinitionName()) == null) { Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r16835 -r16845 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 16835) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 16845) @@ -699,7 +699,7 @@ } String sql = String - .format("update TousseInstance set reviewBasket_ID = null, status = '%s' where id in (select id from barcodeDevice where barcode in (%s))", + .format("update TousseInstance set reviewBasket_ID = null,sterilizationBasket = null, status = '%s' where id in (select id from barcodeDevice where barcode in (%s))", TousseInstance.STATUS_REVIEWED, StringUtils.join(barcodeArray, ",")); objectDao.excuteSQL(sql); } @@ -1029,7 +1029,7 @@ } //必须先把虚拟篮筐编号清空 Query updateQuery = objectDao.getHibernateSession().createQuery("update TousseInstance set virtualBasketSeqNum = null, reviewBasket_id=" + basket.getId() + - " where barcode in :barcode"); + ",sterilizationBasket='" + basket.getContainer().getContainerName() + "' where barcode in :barcode"); updateQuery.setParameterList("barcode", tousseInstanceBarcodes); updateQuery.executeUpdate();