Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java =================================================================== diff -u -r15173 -r15415 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 15173) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 15415) @@ -937,8 +937,26 @@ buildSqlForGetInvoicePlanByOrgUnitCodingsAndTousseType(orgUnitCodings, applyDate, tousseType); // sql += " ORDER BY sequence, applicationTime"; // return objectDao.findBySql(InvoicePlan.class.getSimpleName(), sql); - String hql = String.format("select distinct po from %s po inner join fetch po.applicationItems %s ORDER BY sequence, applicationTime", InvoicePlan.class.getSimpleName(),sql); - return objectDao.findByHql(hql); + String hql = String.format("select po from %s po inner join fetch po.applicationItems %s ORDER BY sequence, applicationTime", InvoicePlan.class.getSimpleName(),sql); + ///InvoicePlan的字段lendGoodsBrief,加了Clob,使得不能使用distinct,需要过滤重复项 + List list = objectDao.findByHql(hql); + List ret = new ArrayList(); + if(CollectionUtils.isNotEmpty(list)){ + for(InvoicePlan plan : list){ + List find = ret.stream().filter(new java.util.function.Predicate(){ + @Override + public boolean test(InvoicePlan t) { + if(t.getId().equals(plan.getId())){ + return true; + } + return false; + }}).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(find)){ + ret.add(plan); + } + } + } + return ret; } /**