From 9b617964f5f492247d68aa069fbad4558edc5134 Mon Sep 17 00:00:00 2001 From: liwenxuan <1298531568@qq.com> Date: Thu, 18 Jul 2024 15:16:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=B3=E8=81=94=E8=A1=A8?= =?UTF-8?q?=E5=8D=95=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AssociatedFormsController.java | 3 ++ .../CustomerFormTableSingleFieldValue.java | 21 ++++++++++++ .../service/impl/CustomerFormServiceImpl.java | 34 +++++++++++++++++++ 3 files changed, 58 insertions(+) diff --git a/src/main/java/com/hxgk/lowcode/controller/AssociatedFormsController.java b/src/main/java/com/hxgk/lowcode/controller/AssociatedFormsController.java index 1689dfa..6542164 100644 --- a/src/main/java/com/hxgk/lowcode/controller/AssociatedFormsController.java +++ b/src/main/java/com/hxgk/lowcode/controller/AssociatedFormsController.java @@ -140,6 +140,9 @@ public class AssociatedFormsController { for(AsfDataTitlesByIdsQueryParam a: param){ ArrayList dataTitles = customerFormService.getAsfDataTitlesByIds(a.getFormId(),a.getAsfToSelectIds()); + /*for(CustomerFormTableSingleFieldValue customerFormTableSingleFieldValue:dataTitles){ + customerFormTableSingleFieldValue.setField(a.getField()); + }*/ AsfDataTitlesByIdsResponseEntity asfDataTitlesByIdsResponseEntity = new AsfDataTitlesByIdsResponseEntity(); asfDataTitlesByIdsResponseEntity.setField(a.getField()); diff --git a/src/main/java/com/hxgk/lowcode/model/entity/CustomerFormTableSingleFieldValue.java b/src/main/java/com/hxgk/lowcode/model/entity/CustomerFormTableSingleFieldValue.java index 2e13418..707cde1 100644 --- a/src/main/java/com/hxgk/lowcode/model/entity/CustomerFormTableSingleFieldValue.java +++ b/src/main/java/com/hxgk/lowcode/model/entity/CustomerFormTableSingleFieldValue.java @@ -11,6 +11,9 @@ public class CustomerFormTableSingleFieldValue { private String asfMasterId; + private String field; + + public String getValue() { return value; } @@ -35,6 +38,14 @@ public class CustomerFormTableSingleFieldValue { this.asfMasterId = asfMasterId; } + public String getField() { + return field; + } + + public void setField(String field) { + this.field = field; + } + public CustomerFormTableSingleFieldValue(String value, String label, String asfMasterId) { this.value = value; this.label = label; @@ -43,4 +54,14 @@ public class CustomerFormTableSingleFieldValue { public CustomerFormTableSingleFieldValue() { } + + @Override + public String toString() { + return "CustomerFormTableSingleFieldValue{" + + "value='" + value + '\'' + + ", label='" + label + '\'' + + ", asfMasterId='" + asfMasterId + '\'' + + ", field='" + field + '\'' + + '}'; + } } diff --git a/src/main/java/com/hxgk/lowcode/service/impl/CustomerFormServiceImpl.java b/src/main/java/com/hxgk/lowcode/service/impl/CustomerFormServiceImpl.java index eac7a16..d9c073f 100644 --- a/src/main/java/com/hxgk/lowcode/service/impl/CustomerFormServiceImpl.java +++ b/src/main/java/com/hxgk/lowcode/service/impl/CustomerFormServiceImpl.java @@ -731,9 +731,43 @@ public class CustomerFormServiceImpl implements CustomerFormService { toReturnSortedDataTitleList.add(customerFormTableSingleFieldValue); } matchAndUpdate(toReturnSortedDataTitleList,ids); + toReturnSortedDataTitleList = addToReturnSortedDataTitleList(ids,toReturnSortedDataTitleList); return toReturnSortedDataTitleList; } + + private ArrayList addToReturnSortedDataTitleList(ArrayList> ids, ArrayList toReturnSortedDataTitleList) { + ArrayList list = new ArrayList<>(); + //toReturnSortedDataTitleList中缺少的asfMasterId的map + ArrayList> toAddMaplist = new ArrayList<>(); + for(HashMap map : ids){ + int i = 0; + for(CustomerFormTableSingleFieldValue c : toReturnSortedDataTitleList){ + if(c.getAsfMasterId().equals(map.get("asfMasterId"))){ + i++; + } + } + if (i==0) {//本map的asfMasterId在toReturnSortedDataTitleList中从未出现 + toAddMaplist.add(map); + } + } + + for(HashMap map : toAddMaplist){ + for(CustomerFormTableSingleFieldValue c : toReturnSortedDataTitleList){ + if(map.get("asfId").equals(c.getValue())){ + CustomerFormTableSingleFieldValue customerFormTableSingleFieldValue = new CustomerFormTableSingleFieldValue(); + customerFormTableSingleFieldValue.setAsfMasterId(map.get("asfMasterId")); + customerFormTableSingleFieldValue.setLabel(c.getLabel()); + customerFormTableSingleFieldValue.setField(c.getField()); + customerFormTableSingleFieldValue.setValue(c.getValue()); + list.add(customerFormTableSingleFieldValue); + } + } + } + list.addAll(toReturnSortedDataTitleList); + return list; + } + public static ArrayList getAsfIds(ArrayList> list) { ArrayList asfIdList = new ArrayList<>(); for (HashMap map : list) {