Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java =================================================================== diff -u -r34880 -r35508 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java (.../ForeignProxyDisinfectionManagerImpl.java) (revision 34880) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java (.../ForeignProxyDisinfectionManagerImpl.java) (revision 35508) @@ -1174,7 +1174,7 @@ obj.put("operationDate", operationTimeStr); // 装配时间 obj.put("inspectorName", ""); // 外来器械申请单没有检查人,设置为空字符串 // 可存放物品的库位编码、库位简称 - List list = tousseDefinition.getStorageLocationList(); + List list = getStorageLocationList(tousseDefinition); List slList = new ArrayList(); slList.addAll(list); String names = ""; @@ -1199,6 +1199,20 @@ } return printParamList; } + + /** + * 查询包定义可以放入的库位 + * @param tousseDefinition + * @return + */ + @SuppressWarnings("unchecked") + private List getStorageLocationList(TousseDefinition tousseDefinition) { + String hql = String.format("select po from %s po join po.tousseDefinitionList td where td.id = %s", + StorageLocation.class.getSimpleName(), + tousseDefinition.getId()); + return objectDao.findByHql(hql); + } + // private void deleteForeignProxyItems( ForeignProxyDisinfection foreignProxyDisinfection, Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java =================================================================== diff -u -r35499 -r35508 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 35499) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 35508) @@ -5599,8 +5599,6 @@ TousseDefinition newForeignTousseDefinition = new TousseDefinition(); try { BeanUtils.copyProperties(newForeignTousseDefinition, foreignTousseDefinition); - // 解决:Caused by: org.hibernate.HibernateException: Found shared references to a collection: com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition.storageLocationList - newForeignTousseDefinition.setStorageLocationList(null); newForeignTousseDefinition.setId(null); newForeignTousseDefinition.setParentID(foreignTousseDefinition.getId()); newForeignTousseDefinition.setAncestorID(foreignTousseDefinition.getAncestorID()); @@ -5769,7 +5767,7 @@ try { BeanUtils.copyProperties(newForeignTousseDefinition, foreignTousseDefinition); //解决:Caused by: org.hibernate.HibernateException: Found shared references to a collection: com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition.storageLocationList - newForeignTousseDefinition.setStorageLocationList(null); + //newForeignTousseDefinition.setStorageLocationList(null); newForeignTousseDefinition.setId(null); newForeignTousseDefinition.setParentID(foreignTousseDefinition.getId()); newForeignTousseDefinition.setAncestorID(foreignTousseDefinition.getAncestorID()); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/useRecord/UseRecordManagerTests.java =================================================================== diff -u -r34770 -r35508 --- ssts-web/src/test/java/test/forgon/disinfectsystem/useRecord/UseRecordManagerTests.java (.../UseRecordManagerTests.java) (revision 34770) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/useRecord/UseRecordManagerTests.java (.../UseRecordManagerTests.java) (revision 35508) @@ -2535,8 +2535,6 @@ objectDao.save(foreignTousseApplication); TousseDefinition foreignTousseDefinition = tousseDefinitionManager.getTousseDefinitionByNameForDisplay("Test骨钩"); - // 解决单元测试报错:Found shared references to a collection error - foreignTousseDefinition.setStorageLocationList(null); TousseDefinition newForeignTousseDefinition = new TousseDefinition(); BeanUtils.copyProperties(newForeignTousseDefinition, foreignTousseDefinition); Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java =================================================================== diff -u -r34226 -r35508 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java (.../TousseDefinition.java) (revision 34226) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java (.../TousseDefinition.java) (revision 35508) @@ -2166,16 +2166,6 @@ this.maxIDCardNum = maxIDCardNum; } - @ManyToMany(fetch = FetchType.LAZY) - @JoinTable(name = "storageLocation_td", joinColumns = { @JoinColumn(name = "tousseDefinition_id") }, inverseJoinColumns = { @JoinColumn(name = "storageLocation_id") }) - public List getStorageLocationList() { - return storageLocationList; - } - - public void setStorageLocationList(List storageLocationList) { - this.storageLocationList = storageLocationList; - } - public Date getModifyTime() { return modifyTime; }