Index: forgon-tools/src/main/java/com/forgon/Constants.java =================================================================== diff -u -r33959 -r34101 --- forgon-tools/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 33959) +++ forgon-tools/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 34101) @@ -27,7 +27,7 @@ "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.72","4.9.73","4.9.74","4.9.75","4.9.76","4.9.77","4.9.78","4.9.79","4.9.80","4.9.81","4.9.82","4.9.83","4.9.84","4.9.85", - "4.9.86","4.9.87","4.9.88","4.9.89","4.9.90","4.9.91","4.9.92"}; + "4.9.86","4.9.87","4.9.88","4.9.89","4.9.90","4.9.91","4.9.92","4.9.93"}; // 版本列表(4.0版本升级4.1版需要分两步:先从4.0升到4.1.0、然后从4.1.0升级4.1最新版本) /*public final static String[] SOFTWARE_VERSION_ARRAY = new String[] { Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/action/SupplyRoomConfigAction.java =================================================================== diff -u -r33687 -r34101 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/action/SupplyRoomConfigAction.java (.../SupplyRoomConfigAction.java) (revision 33687) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/action/SupplyRoomConfigAction.java (.../SupplyRoomConfigAction.java) (revision 34101) @@ -966,6 +966,9 @@ } supplyRoomConfig.setIsCustomTousseCleanEntirely(rq.getParameter("isCustomTousseCleanEntirely")); supplyRoomConfig.setForeignTousseCleanedEntirely(rq.getParameter("foreignTousseCleanedEntirely")); + //归还后释放清洗篮筐SZSDSRMYY-83 + String ftReleaseBasketAfterReturn = StrutsParamUtils.getPraramValue("ftReleaseBasketAfterReturn", Constants.STR_NO); + supplyRoomConfig.setFtReleaseBasketAfterReturn(ftReleaseBasketAfterReturn); String foreignTousseNeedReview = StrutsParamUtils.getPraramValue("foreignTousseNeedReview", Constants.STR_YES); //外来器械是否需要二次回收 String foreignTousseIsSecondRecycle = StrutsParamUtils.getPraramValue("foreignTousseIsSecondRecycle", Constants.STR_YES); Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/supplyroomconfig/SupplyRoomConfig.java =================================================================== diff -u -r33687 -r34101 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/supplyroomconfig/SupplyRoomConfig.java (.../SupplyRoomConfig.java) (revision 33687) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/supplyroomconfig/SupplyRoomConfig.java (.../SupplyRoomConfig.java) (revision 34101) @@ -350,6 +350,10 @@ */ private String foreignTousseCleanedEntirely; /** + * 外来器械归还后释放清洗篮筐,默认值为“否”(SZSDSRMYY-83) + */ + private String ftReleaseBasketAfterReturn = com.forgon.Constants.STR_NO; + /** * 外来器械是否审核 */ private String foreignTousseNeedReview = com.forgon.Constants.STR_YES; @@ -965,6 +969,17 @@ this.foreignTousseCleanedEntirely = foreignTousseCleanedEntirely; } + public String getFtReleaseBasketAfterReturn() { + if (StringTools.isBlank(ftReleaseBasketAfterReturn)) { + return Constants.STR_NO; + } + return ftReleaseBasketAfterReturn; + } + + public void setFtReleaseBasketAfterReturn(String ftReleaseBasketAfterReturn) { + this.ftReleaseBasketAfterReturn = ftReleaseBasketAfterReturn; + } + public String getForeignTousseNeedReview() { return foreignTousseNeedReview; } Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java =================================================================== diff -u -r33781 -r34101 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 33781) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 34101) @@ -34,13 +34,16 @@ import com.forgon.directory.service.OrgUnitManager; import com.forgon.directory.vo.LoginUserData; import com.forgon.disinfectsystem.adverseeventrecord.service.AdverseEventRecordManager; +import com.forgon.disinfectsystem.barcode.service.BarcodeManager; +import com.forgon.disinfectsystem.basedatamanager.container.service.ContainerManager; import com.forgon.disinfectsystem.basedatamanager.goodsstock.service.GoodsStockManager; import com.forgon.disinfectsystem.basedatamanager.supplier.service.SupplierManager; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; import com.forgon.disinfectsystem.basedatamanager.urgent.service.UrgentLevelManager; import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; import com.forgon.disinfectsystem.common.CssdUtils; import com.forgon.disinfectsystem.entity.adverseeventrecord.AdverseEventRecord; +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; @@ -50,6 +53,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.basedatamanager.videomanager.VideoFile; +import com.forgon.disinfectsystem.entity.becleanitem.ClassifyBasket; import com.forgon.disinfectsystem.entity.foreigntousseapplication.ForeignTousseApplication; import com.forgon.disinfectsystem.entity.foreigntoussecharge.ForeignTousseChargeMode; import com.forgon.disinfectsystem.entity.foreigntoussecharge.ForeignTousseSpecification; @@ -59,6 +63,7 @@ import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan; import com.forgon.disinfectsystem.entity.packing.PackingRecord; import com.forgon.disinfectsystem.entity.packing.PackingTask; +import com.forgon.disinfectsystem.entity.recyclingrecord.RecyclingRecord; import com.forgon.disinfectsystem.entity.tousseitem.MaterialModifyRecord; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; import com.forgon.disinfectsystem.entity.urgent.UrgentLevel; @@ -139,6 +144,18 @@ private DateQueryAdapter dateQueryAdapter; + private BarcodeManager barcodeManager; + + private ContainerManager containerManager; + + public void setContainerManager(ContainerManager containerManager) { + this.containerManager = containerManager; + } + + public void setBarcodeManager(BarcodeManager barcodeManager) { + this.barcodeManager = barcodeManager; + } + public void setDateQueryAdapter(DateQueryAdapter dateQueryAdapter) { this.dateQueryAdapter = dateQueryAdapter; } @@ -1497,9 +1514,49 @@ } objectDao.saveOrUpdate(foreignTousseApplication); } + //【归还后释放清洗篮筐】值为“是”:在外来器械包申请单管理界面,将外来器械包归还之后,释放外来器械包所在的清洗篮筐,清洗篮筐的状态变为空闲。SZSDSRMYY-83 + releaseBasketAfterReturn(foreignTousseApplication); } } + /** + * 归还后释放清洗篮筐 + * @param foreignTousseApplication + */ + private void releaseBasketAfterReturn(ForeignTousseApplication foreignTousseApplication) { + + //【归还后释放清洗篮筐】值为“是”:在外来器械包申请单管理界面,将外来器械包归还之后,释放外来器械包所在的清洗篮筐,清洗篮筐的状态变为空闲。SZSDSRMYY-83 + SupplyRoomConfig systemParams = supplyRoomConfigManager.getSystemParamsObj(); + if(systemParams == null || !StringUtils.equals(Constants.STR_YES, systemParams.getFtReleaseBasketAfterReturn())){ + return; + } + String recyclingTimesSql = ""; + if(StringUtils.equals(foreignTousseApplication.getRecyclingStatus(), ForeignTousseApplication.RECYCLINGSTATUS_SECRECYCLED)){ + recyclingTimesSql = " and po.recyclingTimes = " + RecyclingRecord.RECYCLINGTIMES_TWO; + } + String hql = String.format("select po from %s po where po.recyclingApplication.id = %s %s order by po.id desc ", + RecyclingRecord.class.getSimpleName(), + foreignTousseApplication.getId(), + recyclingTimesSql); + @SuppressWarnings("unchecked") + List list = objectDao.findByHql(hql, 0, 1); + if(CollectionUtils.isNotEmpty(list)){ + RecyclingRecord recyclingRecord = list.get(0); + List classifyBaskets = recyclingRecord.getClassifyBaskets(); + if(CollectionUtils.isNotEmpty(classifyBaskets)){ + for (ClassifyBasket classifyBasket : classifyBaskets) { + Container container = (Container) barcodeManager.getBarcodeByBarcode(classifyBasket.getContainerBarcode()); + if(container != null){ + if(containerManager.isEmpty(container.getBarcode())){ + container.setStatus(Container.CONTAINER_STATUS_FREE); + containerManager.saveOrUpdate(container); + } + } + } + } + } + } + @Override public boolean isForeignTousseInstanceUsed( ForeignTousseApplication foreignTousseApplication) { Index: ssts-web/src/main/webapp/dataUpdater/sqls/4.9.92_4.9.93.sql =================================================================== diff -u --- ssts-web/src/main/webapp/dataUpdater/sqls/4.9.92_4.9.93.sql (revision 0) +++ ssts-web/src/main/webapp/dataUpdater/sqls/4.9.92_4.9.93.sql (revision 34101) @@ -0,0 +1 @@ +update SupplyRoomConfig set ftReleaseBasketAfterReturn = '否' where ftReleaseBasketAfterReturn is null; \ No newline at end of file