Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java =================================================================== diff -u -r29768 -r29790 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 29768) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 29790) @@ -1226,28 +1226,18 @@ applicationIdList.add(foreignTousseApplication.getId()); } Map> supplierNameMap = new HashMap>(); - String sql = String.format("select ip.id,td.supplierName from %s ip join %s ti on ti.invoicePlanID = ip.id " - + " join %s td on td.id = ti.tousseDefinition_id and %s " - + " group by td.supplierName, ip.id ", - InvoicePlan.class.getSimpleName(), TousseInstance.class.getSimpleName(), - TousseDefinition.class.getSimpleName(), SqlUtils.getNonStringFieldInLargeCollectionsPredicate("ip.id", applicationIdList)); - ResultSet rs = null; - try { - rs = objectDao.executeSql(sql); - while(rs.next()){ - String supplierName = rs.getString("supplierName"); - Long id = rs.getLong("id"); - Set supplierNameSet = supplierNameMap.get(id); - if(supplierNameSet == null){ - supplierNameSet = new HashSet(); + for (ForeignTousseApplication app : list) { + String supplierNames = app.getSupplierName(); + if(StringUtils.isNotBlank(supplierNames)){ + List supplierNameList = Arrays.asList(supplierNames.split(";")); + Set supplierNameSet = new HashSet(); + if(CollectionUtils.isNotEmpty(supplierNameList)){ + for (String supplierName : supplierNameList) { + supplierNameSet.add(supplierName); + } + supplierNameMap.put(app.getId(), supplierNameSet); } - supplierNameSet.add(supplierName); - supplierNameMap.put(id, supplierNameSet); } - } catch (Exception e) { - e.printStackTrace(); - } finally { - DatabaseUtil.closeResultSetAndStatement(rs); } for(Long id : supplierNameMap.keySet()){ Set supplierNameSet = supplierNameMap.get(id);