Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java =================================================================== diff -u -r32088 -r32211 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 32088) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 32211) @@ -8345,13 +8345,19 @@ // 按发货日期时间降序,即优先从最近的发货物品里面录入使用记录 String isNullFunction = DatabaseUtil.getSqlIsNullFunctionName(dbConnection); + //根据config.js配置项invoice_groupBy(发货科室依据)来决定使用记录录入一次性物品的检查科室SSTS-423 + String invoiceGroupBy = ConfigUtils.getSystemSetConfigByName("invoice_groupBy", "departCoding"); + if(!StringUtils.equals(invoiceGroupBy, "departCoding") && !StringUtils.equals(invoiceGroupBy, "settleAccountsDepartCoding")){ + invoiceGroupBy = "departCoding"; + } + String invoiceGroupBySql = " and i." + invoiceGroupBy + " = '" + departCoding + "' "; String sql = String - .format(" select d from %s i,%s d where i.id = d.invoice.id and i.settleAccountsDepartCoding = '%s' " + .format(" select d from %s i,%s d where i.id = d.invoice.id %s " + "and d.disposableGoodsID=%s %s and (d.amount > (%s(d.returnedAmount,0)+%s(d.useAmount,0))) " + "and d.identificationID is not null and d.invoiceItemID is not null order by i.applicationTime desc", Invoice.class.getSimpleName(), - DiposableGoodsItem.class.getSimpleName(), departCoding, + DiposableGoodsItem.class.getSimpleName(), invoiceGroupBySql, disposableGoodsID,DatabaseUtil.isPoIdValid(disposableGoodsBatchID) ? " and disposableGoodsBatchID=" + disposableGoodsBatchID : "", isNullFunction, isNullFunction); list = objectDao.findByHql(sql, 0, batchCount);