Index: ssts-web/src/main/webapp/dataUpdater/sqls/5.0.44_5.0.45_oracle.sql =================================================================== diff -u --- ssts-web/src/main/webapp/dataUpdater/sqls/5.0.44_5.0.45_oracle.sql (revision 0) +++ ssts-web/src/main/webapp/dataUpdater/sqls/5.0.44_5.0.45_oracle.sql (revision 40457) @@ -0,0 +1 @@ +execute immediate 'alter table UseRecord modify remark varchar2(4000)'; \ No newline at end of file Index: ssts-web/src/main/webapp/dataUpdater/sqls/5.0.44_5.0.45_tidb.sql =================================================================== diff -u --- ssts-web/src/main/webapp/dataUpdater/sqls/5.0.44_5.0.45_tidb.sql (revision 0) +++ ssts-web/src/main/webapp/dataUpdater/sqls/5.0.44_5.0.45_tidb.sql (revision 40457) @@ -0,0 +1 @@ +alter table UseRecord modify column remark varchar(4000); \ No newline at end of file Index: forgon-tools/src/main/java/com/forgon/Constants.java =================================================================== diff -u -r40422 -r40457 --- forgon-tools/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 40422) +++ forgon-tools/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 40457) @@ -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.44"}; + "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","5.0.45"}; // 版本列表(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-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java =================================================================== diff -u -r40449 -r40457 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 40449) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 40457) @@ -3648,7 +3648,8 @@ //使用记录转换申请单时外来器械包是否与普通器械包合并到一个申请单 boolean foreignTousseAndInsideTousseMergeToTheSameComboApplicationAfterUseRecordConvert = CssdUtils.getSystemSetConfigByNameBool("foreignTousseAndInsideTousseMergeToTheSameComboApplicationAfterUseRecordConvert"); - + //启用使用次数达到上限不申请SZSDSRMYY-203 + boolean enableNoRequestWhenUsageReachesLimit = ConfigUtils.getSystemSetConfigByNameBool("enableNoRequestWhenUsageReachesLimit"); SupplyRoomConfig supplyRoomConfig = supplyRoomConfigManager.getSystemParamsObj(); for (Long id : ids) { UseRecord useRecord = get(id); @@ -3727,6 +3728,8 @@ } //每个包实例的数量 int amountOfOneTousseInstance = 1; + //标识牌使用次数达到上限的器械包 + List autoDiscardCountIDCardInstanceTousseInstanceList = new ArrayList(); for (TousseInstance tousseInstance : tousseInstanceList) { //如果是聚合包,也暂时不转换为申请单 if(tousseInstance.isComboTousse()){ @@ -3786,6 +3789,17 @@ IDCardInstance clothInstance = idCardInstanceManager.getIDCardInstanceByTousseInstanceBarcode(tousseInstance.getBarcode()); if (clothInstance != null) { + //新增含标识牌物品使用次数达到上限时不再申请SZSDSRMYY-203 + if(enableNoRequestWhenUsageReachesLimit){ + int autoDiscardCount = TousseDefinitionUtils.getAutoDiscardCount(tousseDefinition); + if(autoDiscardCount > 0){ + if(autoDiscardCount <= clothInstance.getUseAmount()){ + //新增含标识牌物品使用次数达到上限时不再申请SZSDSRMYY-203 + autoDiscardCountIDCardInstanceTousseInstanceList.add(tousseInstance); + continue; + } + } + } IDCardDefinition idCardDefinition = clothInstance.getIDCardDefinition(objectDao); Long tousseDefinitionId = null; if(idCardDefinition != null){ @@ -4058,6 +4072,9 @@ } } + //在对应的使用记录中的字段“备注”中追加说明,说明格式为“物品名称1(包实例条码1),物品名称2(包实例条码2) 使用次数达到上限,本次转单不进行回收。SZSDSRMYY-203 + appendUseRecordNoRequestWhenUsageReachesLimitRemark(useRecord, autoDiscardCountIDCardInstanceTousseInstanceList); + //循环使用记录所有的聚合包的子包录入的使用记录明细 @SuppressWarnings("unchecked") List subComboTousseUseRecordList = @@ -4119,6 +4136,38 @@ } /** + * 成功转换申请单后,在对应的使用记录中的字段“备注”中追加说明,说明格式为“物品名称1(包实例条码1),物品名称2(包实例条码2) 使用次数达到上限,本次转单不进行回收。”SZSDSRMYY-203 + * @param useRecord 使用记录 + * @param autoDiscardCountIDCardInstanceTousseInstanceList 标识牌达到最大使用次数的器械包实例 + */ + private void appendUseRecordNoRequestWhenUsageReachesLimitRemark(UseRecord useRecord, List autoDiscardCountIDCardInstanceTousseInstanceList) { + if(useRecord == null || CollectionUtils.isEmpty(autoDiscardCountIDCardInstanceTousseInstanceList)){ + return; + } + List tousseNameAndBarcodeList = new ArrayList(); + for (TousseInstance tousseInstance : autoDiscardCountIDCardInstanceTousseInstanceList) { + tousseNameAndBarcodeList.add(String.format("%s(%s)", tousseInstance.getTousseName(), tousseInstance.getBarcode())); + } + StringBuffer logBuffer = new StringBuffer(StringTools.join(tousseNameAndBarcodeList, ",")); + logBuffer.append("使用次数达到上限,本次转单不进行回收。"); + + String remark = useRecord.getRemark(); + if(StringUtils.isBlank(remark)){ + remark = logBuffer.toString(); + }else{ + remark += ";" + logBuffer.toString(); + } + + if(remark.length() >= 1000){ + remark = remark.substring(0, 1000); + } + useRecord.setRemark(remark); + + appLogManager.saveLog(AcegiHelper.getLoginUser(), Log.MODEL_USERECORD, "根据使用记录转换申请单", logBuffer.toString()); + + } + + /** * 表格列“结算科室”中选择的科室已经设置了默认结算科室,则取值默认结算科室中设定的值; * @param settleAccountsDepartCode * @return Index: ssts-web/src/main/webapp/dataUpdater/sqls/5.0.44_5.0.45_sqlserver.sql =================================================================== diff -u --- ssts-web/src/main/webapp/dataUpdater/sqls/5.0.44_5.0.45_sqlserver.sql (revision 0) +++ ssts-web/src/main/webapp/dataUpdater/sqls/5.0.44_5.0.45_sqlserver.sql (revision 40457) @@ -0,0 +1 @@ +alter table UseRecord alter column remark varchar(4000); \ No newline at end of file