Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManager.java =================================================================== diff -u -r40348 -r40422 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManager.java (.../ForeignTousseApplicationManager.java) (revision 40348) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManager.java (.../ForeignTousseApplicationManager.java) (revision 40422) @@ -69,10 +69,11 @@ * 提前归还:提前归还的外来器械包,必须为已接收的状态, * 1、在装配前提前归还的删除对应的装配任务及发货计划, * 2、在装配后提前归还的废弃对应的已装配的器械包及删除发货计划 - * @param foreignTousseApplication - * @param tousseItems + * @param foreignTousseApplication 外来器械包申请单 + * @param tousseItems 申请项 + * @param cleanQualified 是否清洗合格 */ - public void earlyReturnPartOfTousseItem(ForeignTousseApplication foreignTousseApplication, List tousseItems); + public void earlyReturnPartOfTousseItem(ForeignTousseApplication foreignTousseApplication, List tousseItems, String cleanQualified); /** * 判断外来器械包申请单关联的器械包实例是否已经使用。如果有一个器械包实例被使用了,则认为已经使用 @@ -101,8 +102,9 @@ * @param returneeOfSupplier 外来器械供应商联系人(开启enableReturneeOfForeignTousseSupplier配置项时需要传) * @param returnMan 供应室归还人(开启enableReturneeOfForeignTousseSupplier配置项时需要传) * @param completeness "本次归还的物品,包内材料是否齐全" DGSDBZXYY-239 + * @param cleanQualified “清洗合格”,用于设置本次归还的外来器械包是否已经清洗合格;QHRSGZZYY-13 */ - public void confirmReturnOrEarlyReturn(List ids, String returnType, String returneeOfSupplier, String returnMan, String completeness); + public void confirmReturnOrEarlyReturn(List ids, String returnType, String returneeOfSupplier, String returnMan, String completeness, String cleanQualified); /** * 批量确认归还或者提前归还,支持部分物品归还 @@ -113,10 +115,11 @@ * @param returneeOfSupplier 外来器械供应商联系人(开启enableReturneeOfForeignTousseSupplier配置项时需要传) * @param returnMan 供应室归还人(开启enableReturneeOfForeignTousseSupplier配置项时需要传) * @param completeness "本次归还的物品,包内材料是否齐全" DGSDBZXYY-239 + * @param cleanQualified 清洗合格QHRSGZZYY-13 */ public void confirmReturnOrEarlyReturnPartOfTousseItem(Long id, List tousseItemIds, List returnTousseDefinitionIdList, String returnType, String returneeOfSupplier, - String returnMan, String completeness); + String returnMan, String completeness, String cleanQualified); /** * 更改外来器械申请单的病人信息; @@ -260,8 +263,9 @@ * @param returneeOfSupplier 归还供应商 * @param returnMan 归还人 * @param completeness 归还功能中新增字段“是否齐全”DGSDBZXYY-239 + * @param cleanQualified 清洗合格字段QHRSGZZYY-13 */ public void confirmReturnOrEarlyReturnPartOfForeignTousse(Long id, List returnTousseDefinitionIdList, String returnType, - String returneeOfSupplier, String returnMan, String completeness); + String returneeOfSupplier, String returnMan, String completeness, String cleanQualified); } Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java =================================================================== diff -u -r40325 -r40422 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 40325) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 40422) @@ -3906,7 +3906,7 @@ || StringUtils.equals(tousseItem.getPackageStatus(), TousseItem.PACKAGE_STATUS_TOBERETURNED)){ foreignTousseApplicationManager.confirmReturnPartOfTousseItem(foreignTousseApplication, tousseItems); } else { - foreignTousseApplicationManager.earlyReturnPartOfTousseItem(foreignTousseApplication, tousseItems); + foreignTousseApplicationManager.earlyReturnPartOfTousseItem(foreignTousseApplication, tousseItems, Constants.STR_YES); } } } Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java =================================================================== diff -u -r40348 -r40422 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java (.../ForeignTousseApplicationAction.java) (revision 40348) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java (.../ForeignTousseApplicationAction.java) (revision 40422) @@ -581,10 +581,12 @@ String returnMan = StrutsParamUtils.getPraramValue("returnMan1", ""); //归还功能中新增字段“是否齐全”DGSDBZXYY-239 String completeness = StrutsParamUtils.getPraramValue("completeness", ""); + //新增字段“清洗合格”,用于设置本次归还的外来器械包是否已经清洗合格;QHRSGZZYY-13 + String cleanQualified = StrutsParamUtils.getPraramValue("cleanQualified", null); if (StringTools.isNotBlank(ids)) { JSONObject result = JSONUtil.buildJsonObject(true, String.format("%s成功!", returnType)); try { - foreignTousseApplicationManager.confirmReturnOrEarlyReturn(Arrays.asList(ids.split(";")), returnType, returneeOfSupplier, returnMan, completeness); + foreignTousseApplicationManager.confirmReturnOrEarlyReturn(Arrays.asList(ids.split(";")), returnType, returneeOfSupplier, returnMan, completeness, cleanQualified); } catch (Exception e) { e.printStackTrace(); result = JSONUtil.buildJsonObject(false, e.getMessage()); @@ -606,16 +608,18 @@ String tousseDefinitionIds = StrutsParamUtils.getPraramValue("tousseDefinitionIds", ""); //归还功能中新增字段“是否齐全”DGSDBZXYY-239 String completeness = StrutsParamUtils.getPraramValue("completeness", ""); + //新增字段“清洗合格”,用于设置本次归还的外来器械包是否已经清洗合格;QHRSGZZYY-13 + String cleanQualified = StrutsParamUtils.getPraramValue("cleanQualified", null); JSONObject result = JSONUtil.buildJsonObject(true, String.format("%s成功!", returnType)); try { //需要归还的外来器械包拆分小包id List returnTousseDefinitionIdList = (List) StringTools.parseToLongs(tousseDefinitionIds, ";"); if(CollectionUtils.isNotEmpty(returnTousseDefinitionIdList)){ //根据器械包定义id归还 - foreignTousseApplicationManager.confirmReturnOrEarlyReturnPartOfForeignTousse(id, returnTousseDefinitionIdList, returnType, returneeOfSupplier, returnMan, completeness); + foreignTousseApplicationManager.confirmReturnOrEarlyReturnPartOfForeignTousse(id, returnTousseDefinitionIdList, returnType, returneeOfSupplier, returnMan, completeness, cleanQualified); }else{ //根据申请项id归还 - foreignTousseApplicationManager.confirmReturnOrEarlyReturnPartOfTousseItem(id, Arrays.asList(tousseItemIds.split(";")), returnTousseDefinitionIdList, returnType, returneeOfSupplier, returnMan, completeness); + foreignTousseApplicationManager.confirmReturnOrEarlyReturnPartOfTousseItem(id, Arrays.asList(tousseItemIds.split(";")), returnTousseDefinitionIdList, returnType, returneeOfSupplier, returnMan, completeness, cleanQualified); } } catch (Exception e) { e.printStackTrace(); Index: ssts-web/src/main/webapp/dataUpdater/sqls/5.0.43_5.0.44.sql =================================================================== diff -u --- ssts-web/src/main/webapp/dataUpdater/sqls/5.0.43_5.0.44.sql (revision 0) +++ ssts-web/src/main/webapp/dataUpdater/sqls/5.0.43_5.0.44.sql (revision 40422) @@ -0,0 +1 @@ +update TousseItem set cleanQualified = '是' where packageStatus in ('已归还','提前归还') and cleanQualified is null; \ No newline at end of file Index: forgon-tools/src/main/java/com/forgon/Constants.java =================================================================== diff -u -r40417 -r40422 --- forgon-tools/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 40417) +++ forgon-tools/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 40422) @@ -29,7 +29,7 @@ "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.93","4.9.94","4.9.95","4.9.96","4.9.97","4.9.98","4.9.99","5.0.0","5.0.1","5.0.2","5.0.3","5.0.4","5.0.5","5.0.6","5.0.7", "5.0.8","5.0.9","5.0.10","5.0.11","5.0.12","5.0.13","5.0.14","5.0.15","5.0.16","5.0.17","5.0.18","5.0.19","5.0.20","5.0.21","5.0.22","5.0.23","5.0.24","5.0.25","5.0.26","5.0.27","5.0.28","5.0.29","5.0.30","5.0.31", - "5.0.32","5.0.33","5.0.34","5.0.35","5.0.36","5.0.37","5.0.38","5.0.39","5.0.40","5.0.41","5.0.42","5.0.43"}; + "5.0.32","5.0.33","5.0.34","5.0.35","5.0.36","5.0.37","5.0.38","5.0.39","5.0.40","5.0.41","5.0.42","5.0.43","5.0.44"}; // 版本列表(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-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r40302 -r40422 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 40302) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 40422) @@ -8999,7 +8999,7 @@ tousseItemIdList = Arrays.asList(tousseItemIds.split(";")); } JSONObject result = JSONUtil.buildJsonObject(true, String.format("%s成功!", returnType)); - foreignTousseApplicationManager.confirmReturnOrEarlyReturnPartOfTousseItem(id, tousseItemIdList, null, returnType, returneeOfSupplier, returnMan, null); + foreignTousseApplicationManager.confirmReturnOrEarlyReturnPartOfTousseItem(id, tousseItemIdList, null, returnType, returneeOfSupplier, returnMan, null, Constants.STR_YES); JSONObject data = new JSONObject(); data.put("id", Long.parseLong(tousseItemIdList.get(0))); JSONUtil.addDataProperty(result, data); Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java =================================================================== diff -u -r40366 -r40422 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 40366) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 40422) @@ -2077,7 +2077,7 @@ } if(CollectionUtils.isNotEmpty(earlyReturnTousseItems)){ - this.earlyReturnPartOfTousseItem(foreignTousseApplication, earlyReturnTousseItems); + this.earlyReturnPartOfTousseItem(foreignTousseApplication, earlyReturnTousseItems, Constants.STR_YES); } } } @@ -2120,7 +2120,7 @@ } @Override - public void confirmReturnOrEarlyReturn(List ids, String returnType, String returneeOfSupplier, String returnMan, String completeness) { + public void confirmReturnOrEarlyReturn(List ids, String returnType, String returneeOfSupplier, String returnMan, String completeness, String cleanQualified) { if (CollectionUtils.isNotEmpty(ids) && (ForeignTousseApplication.ACTION_TYPE_CONFIRM_RETURN.equals(returnType) || ForeignTousseApplication.ACTION_TYPE_EARLY_RETURN.equals(returnType))) { @@ -2180,9 +2180,9 @@ } if(CollectionUtils.isNotEmpty(tousseItemList)){ if(ForeignTousseApplication.ACTION_TYPE_CONFIRM_RETURN.equals(returnType)){ - this.confirmReturnPartOfTousseItem(foreignTousseApplication, tousseItemList, null, returneeOfSupplier, returnMan, returnTime); + this.confirmReturnPartOfTousseItem(foreignTousseApplication, tousseItemList, null, returneeOfSupplier, returnMan, returnTime, cleanQualified); }else if(ForeignTousseApplication.ACTION_TYPE_EARLY_RETURN.equals(returnType)){ - this.earlyReturnPartOfTousseItem(foreignTousseApplication, tousseItemList); + this.earlyReturnPartOfTousseItem(foreignTousseApplication, tousseItemList, cleanQualified); } //设置外来器械包内材料是否齐全DGSDBZXYY-239 setTousseItemCompleteness(tousseItemList, completeness); @@ -3450,7 +3450,7 @@ @Override public void confirmReturnOrEarlyReturnPartOfTousseItem(Long foreignTousseApplicationId, List tousseItemIds, List returnTousseDefinitionIdList, String returnType, String returneeOfSupplier, - String returnMan, String completeness) { + String returnMan, String completeness, String cleanQualified) { if(!DatabaseUtil.isPoIdValid(foreignTousseApplicationId)){ throw new SystemException("申请单ID无效!"); } @@ -3502,9 +3502,9 @@ Date returnTime = new Date(); if (ForeignTousseApplication.ACTION_TYPE_CONFIRM_RETURN.equals(returnType)) { - this.confirmReturnPartOfTousseItem(foreignTousseApplication, tousseItemList, returnTousseDefinitionIdList, returneeOfSupplier, returnMan, returnTime); + this.confirmReturnPartOfTousseItem(foreignTousseApplication, tousseItemList, returnTousseDefinitionIdList, returneeOfSupplier, returnMan, returnTime, cleanQualified); } else if (ForeignTousseApplication.ACTION_TYPE_EARLY_RETURN.equals(returnType)){ - this.earlyReturnPartOfTousseItem(foreignTousseApplication, tousseItemList); + this.earlyReturnPartOfTousseItem(foreignTousseApplication, tousseItemList, cleanQualified); } else { throw new SystemException("returnType参数无效!"); } @@ -3551,7 +3551,7 @@ @Override public void earlyReturnPartOfTousseItem( ForeignTousseApplication foreignTousseApplication, - List tousseItems) { + List tousseItems, String cleanQualified) { if(foreignTousseApplication != null && CollectionUtils.isNotEmpty(tousseItems)){ @@ -3649,6 +3649,13 @@ } } //修改申请项的包状态为“已归还”,并终止申请项 + //启用归还清洗合格功能QHRSGZZYY-13 + boolean enableTheReturnCleaningQualifiedFunction = ConfigUtils.getSystemSetConfigByNameBool("enableTheReturnCleaningQualifiedFunction"); + if(enableTheReturnCleaningQualifiedFunction){ + if(StringUtils.isBlank(cleanQualified)){ + throw new SystemException("清洗合格字段不能为空。"); + } + } if(CollectionUtils.isNotEmpty(willReturnTousseItems)){ List willTerminateTousseItems = new ArrayList(); for (TousseItem tousseItem : willReturnTousseItems) { @@ -3662,6 +3669,9 @@ willTerminateTousseItems.add(tousseItem); } tousseItem.setPackageStatus(TousseItem.PACKAGE_STATUS_INADVANCERETURNED); + if(enableTheReturnCleaningQualifiedFunction){ + tousseItem.setCleanQualified(cleanQualified); + } objectDao.saveOrUpdate(tousseItem); } } @@ -3704,9 +3714,10 @@ * @param returneeOfSupplier 供应商归还人 * @param returnMan 归还人 * @param returnTime 归还时间 + * @param cleanQualified 清洗合格 */ public void confirmReturnPartOfTousseItem(ForeignTousseApplication foreignTousseApplication, - List tousseItemList, List returnTousseDefinitionIdList, String returneeOfSupplier, String returnMan, Date returnTime) { + List tousseItemList, List returnTousseDefinitionIdList, String returneeOfSupplier, String returnMan, Date returnTime, String cleanQualified) { if(!StringUtils.equals(foreignTousseApplication.getRecyclingStatus(), InvoicePlan.RECYCLINGSTATUS_RECYCLED) && !StringUtils.equals(foreignTousseApplication.getRecyclingStatus(), InvoicePlan.RECYCLINGSTATUS_SECRECYCLED) @@ -3735,11 +3746,21 @@ return; } + //启用归还清洗合格功能QHRSGZZYY-13 + boolean enableTheReturnCleaningQualifiedFunction = ConfigUtils.getSystemSetConfigByNameBool("enableTheReturnCleaningQualifiedFunction"); + if(enableTheReturnCleaningQualifiedFunction){ + if(StringUtils.isBlank(cleanQualified)){ + throw new SystemException("清洗合格字段不能为空。"); + } + } for (TousseItem tousseItem : allMaterialReturnTousseItemList) { if(!TousseItem.PACKAGE_STATUS_TOBERETURNED.equals(tousseItem.getPackageStatus())){ throw new SystemException(String.format("%s的包状态为“%s”,无法进行归还。", tousseItem.getTousseName(), tousseItem.getPackageStatus())); } tousseItem.setPackageStatus(TousseItem.PACKAGE_STATUS_RETURNED); + if(enableTheReturnCleaningQualifiedFunction){ + tousseItem.setCleanQualified(cleanQualified); + } objectDao.saveOrUpdate(tousseItem); } //设置外来器械包申请单的归还信息 @@ -5312,7 +5333,7 @@ ForeignTousseApplication foreignTousseApplication, List tousseItemList){ Date returnTime = new Date(); - confirmReturnPartOfTousseItem(foreignTousseApplication, tousseItemList, null, null, null, returnTime); + confirmReturnPartOfTousseItem(foreignTousseApplication, tousseItemList, null, null, null, returnTime, Constants.STR_YES); } /** @@ -5844,7 +5865,7 @@ @Override public void confirmReturnOrEarlyReturnPartOfForeignTousse(Long id, List returnTousseDefinitionIdList, String returnType, - String returneeOfSupplier, String returnMan, String completeness) { + String returneeOfSupplier, String returnMan, String completeness, String cleanQualified) { ForeignTousseApplication foreignTousseApplication = this.get(id); if(foreignTousseApplication == null){ throw new SystemException("无效的申请单id" + id); @@ -5880,7 +5901,7 @@ } List tousseItemIds = new ArrayList(tousseItemIdStrSet); - this.confirmReturnOrEarlyReturnPartOfTousseItem(id, tousseItemIds , returnSplitTousseDefinitionIdList, returnType, returneeOfSupplier, returnMan, completeness); + this.confirmReturnOrEarlyReturnPartOfTousseItem(id, tousseItemIds , returnSplitTousseDefinitionIdList, returnType, returneeOfSupplier, returnMan, completeness, cleanQualified); } } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/tousseitem/TousseItem.java =================================================================== diff -u -r39735 -r40422 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/tousseitem/TousseItem.java (.../TousseItem.java) (revision 39735) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/tousseitem/TousseItem.java (.../TousseItem.java) (revision 40422) @@ -425,6 +425,14 @@ */ private Long usedAgainTousseItemId; + /** + * 清洗合格 + * 配置项enableTheReturnCleaningQualifiedFunction为true时, + * 在【外来器械包申请】的归还提示页面中,新增字段“清洗合格”, + * 用于设置本次归还的外来器械包是否已经清洗合格;QHRSGZZYY-13 + */ + private String cleanQualified; + public String getSpelling() { return spelling; } @@ -1273,6 +1281,14 @@ this.usedAgainTousseItemId = usedAgainTousseItemId; } + public String getCleanQualified() { + return cleanQualified; + } + + public void setCleanQualified(String cleanQualified) { + this.cleanQualified = cleanQualified; + } + @Override public String toString() { return "{id:" + id + ", tousseName:'" + tousseName