Эх сурвалжийг харах

材料进场分页查询优化

lvy 1 сар өмнө
parent
commit
081ee9479c

+ 18 - 1
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TrialMaterialMobilizationServiceImpl.java

@@ -152,7 +152,24 @@ public class TrialMaterialMobilizationServiceImpl extends BaseServiceImpl<TrialM
 
         IPage<TrialMaterialMobilizationVO> trialMaterialMobilizationVOIPage = TrialMaterialMobilizationWarpper.build().pageVO(pages);
         List<TrialMaterialMobilizationVO> records = trialMaterialMobilizationVOIPage.getRecords();
-        Map<String, String> fileMaps = jdbcTemplate.query("select link,original_name from blade_attach", new BeanPropertyRowMapper<>(Attach.class)).stream().collect(Collectors.toMap(Attach::getLink, Attach::getOriginalName, (key1, key2) -> key2));
+        StringBuilder links = new StringBuilder();
+        records.forEach(record -> {
+            if (StringUtil.hasText(record.getOtherAccessories())) {
+                links.append("'").append(record.getOtherAccessories()).append("',");
+            }
+            if (StringUtil.hasText(record.getProductionCertificate())) {
+                links.append("'").append(record.getProductionCertificate()).append("',");
+            }
+            if (StringUtil.hasText(record.getQualityInspectionReport())) {
+                links.append("'").append(record.getQualityInspectionReport()).append("',");
+            }
+        });
+        Map<String, String> fileMaps = new HashMap<>();
+        if (links.length() > 1) {
+            links.deleteCharAt(links.length() - 1);
+            fileMaps = jdbcTemplate.query("select link,original_name from blade_attach where link in (" + links + ")", new BeanPropertyRowMapper<>(Attach.class))
+                    .stream().collect(Collectors.toMap(Attach::getLink, Attach::getOriginalName, (key1, key2) -> key2));
+        }
         for (TrialMaterialMobilizationVO record : records) {
             for (User user : userList) {
                 if (user.getId().equals(record.getUserId())) {