夏文涛 пре 1 година
родитељ
комит
8bf8ad68f9

+ 79 - 0
src/main/java/com/sqx/modules/printInfo/controller/PrintInfoController.java

@@ -193,6 +193,27 @@ public class PrintInfoController {
             } else {
                 ObjectMapper objectMapper = new ObjectMapper();
                 PrintModelResult data = objectMapper.readValue(pis.getBaseInfo(), PrintModelResult.class);
+
+                List<Integer> detailIds = (data.getDetails() != null && data.getDetails().size() > 0) ? data.getDetails().stream().map(PrintModelDetailResult::getId).distinct().collect(Collectors.toList()) : new ArrayList<>();
+
+                List<PrintInfo> nowInfos = infos.stream().filter(e -> e.getTypeId().intValue() == ePrintStatu.Base.getValue() && !detailIds.contains(e.getId())).collect(Collectors.toList());
+                for (PrintInfo nowInfo:nowInfos) {
+                    PrintModelDetailResult detailData = new PrintModelDetailResult();
+                    detailData.setId(nowInfo.getId());
+                    detailData.setPrintField(nowInfo.getPrintField());
+                    detailData.setPrintName(nowInfo.getPrintName());
+                    detailData.setIsCheck(0);
+                    data.getDetails().add(detailData);
+
+                    PrintModelTypeResult typeData = new PrintModelTypeResult();
+                    typeData.setId(nowInfo.getId());
+                    typeData.setIsBlod(0);
+                    typeData.setWordSize(0);
+                    typeData.setPrintField(nowInfo.getPrintField());
+                    typeData.setPrintName(nowInfo.getPrintName());
+                    data.getTypes().add(typeData);
+                }
+
                 result.add(data);
             }
 
@@ -225,6 +246,26 @@ public class PrintInfoController {
             } else {
                 ObjectMapper objectMapper = new ObjectMapper();
                 PrintModelResult data = objectMapper.readValue(pis.getGoodInfo(), PrintModelResult.class);
+                List<Integer> detailIds = (data.getDetails() != null && data.getDetails().size() > 0) ? data.getDetails().stream().map(PrintModelDetailResult::getId).distinct().collect(Collectors.toList()) : new ArrayList<>();
+
+                List<PrintInfo> nowInfos = infos.stream().filter(e -> e.getTypeId().intValue() == ePrintStatu.Good.getValue() && !detailIds.contains(e.getId())).collect(Collectors.toList());
+                for (PrintInfo nowInfo:nowInfos) {
+                    PrintModelDetailResult detailData = new PrintModelDetailResult();
+                    detailData.setId(nowInfo.getId());
+                    detailData.setPrintField(nowInfo.getPrintField());
+                    detailData.setPrintName(nowInfo.getPrintName());
+                    detailData.setIsCheck(0);
+                    data.getDetails().add(detailData);
+
+                    PrintModelTypeResult typeData = new PrintModelTypeResult();
+                    typeData.setId(nowInfo.getId());
+                    typeData.setIsBlod(0);
+                    typeData.setWordSize(0);
+                    typeData.setPrintField(nowInfo.getPrintField());
+                    typeData.setPrintName(nowInfo.getPrintName());
+                    data.getTypes().add(typeData);
+                }
+
                 result.add(data);
             }
 
@@ -257,6 +298,25 @@ public class PrintInfoController {
             } else {
                 ObjectMapper objectMapper = new ObjectMapper();
                 PrintModelResult data = objectMapper.readValue(pis.getPayInfo(), PrintModelResult.class);
+                List<Integer> detailIds = (data.getDetails() != null && data.getDetails().size() > 0) ? data.getDetails().stream().map(PrintModelDetailResult::getId).distinct().collect(Collectors.toList()) : new ArrayList<>();
+
+                List<PrintInfo> nowInfos = infos.stream().filter(e -> e.getTypeId().intValue() == ePrintStatu.Pay.getValue() && !detailIds.contains(e.getId())).collect(Collectors.toList());
+                for (PrintInfo nowInfo:nowInfos) {
+                    PrintModelDetailResult detailData = new PrintModelDetailResult();
+                    detailData.setId(nowInfo.getId());
+                    detailData.setPrintField(nowInfo.getPrintField());
+                    detailData.setPrintName(nowInfo.getPrintName());
+                    detailData.setIsCheck(0);
+                    data.getDetails().add(detailData);
+
+                    PrintModelTypeResult typeData = new PrintModelTypeResult();
+                    typeData.setId(nowInfo.getId());
+                    typeData.setIsBlod(0);
+                    typeData.setWordSize(0);
+                    typeData.setPrintField(nowInfo.getPrintField());
+                    typeData.setPrintName(nowInfo.getPrintName());
+                    data.getTypes().add(typeData);
+                }
                 result.add(data);
             }
 
@@ -289,6 +349,25 @@ public class PrintInfoController {
             } else {
                 ObjectMapper objectMapper = new ObjectMapper();
                 PrintModelResult data = objectMapper.readValue(pis.getUserInfo(), PrintModelResult.class);
+                List<Integer> detailIds = (data.getDetails() != null && data.getDetails().size() > 0) ? data.getDetails().stream().map(PrintModelDetailResult::getId).distinct().collect(Collectors.toList()) : new ArrayList<>();
+
+                List<PrintInfo> nowInfos = infos.stream().filter(e -> e.getTypeId().intValue() == ePrintStatu.User.getValue() && !detailIds.contains(e.getId())).collect(Collectors.toList());
+                for (PrintInfo nowInfo:nowInfos) {
+                    PrintModelDetailResult detailData = new PrintModelDetailResult();
+                    detailData.setId(nowInfo.getId());
+                    detailData.setPrintField(nowInfo.getPrintField());
+                    detailData.setPrintName(nowInfo.getPrintName());
+                    detailData.setIsCheck(0);
+                    data.getDetails().add(detailData);
+
+                    PrintModelTypeResult typeData = new PrintModelTypeResult();
+                    typeData.setId(nowInfo.getId());
+                    typeData.setIsBlod(0);
+                    typeData.setWordSize(0);
+                    typeData.setPrintField(nowInfo.getPrintField());
+                    typeData.setPrintName(nowInfo.getPrintName());
+                    data.getTypes().add(typeData);
+                }
                 result.add(data);
             }