From 4392c50500241216824cc03ccc38721a2dd740fd Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 10 Aug 2024 11:29:44 +0800 Subject: [PATCH 1/5] fix --- .../data/PrintCustomedTableDataHandler.java | 66 ++++++++++++++++--- 1 file changed, 57 insertions(+), 9 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/print/data/PrintCustomedTableDataHandler.java b/mallinkService/src/main/java/com/iformall/print/data/PrintCustomedTableDataHandler.java index c7a0043b9..09ead6131 100644 --- a/mallinkService/src/main/java/com/iformall/print/data/PrintCustomedTableDataHandler.java +++ b/mallinkService/src/main/java/com/iformall/print/data/PrintCustomedTableDataHandler.java @@ -1,21 +1,32 @@ package com.iformall.print.data; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.StringReader; +import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.xpath.XPath; +import javax.xml.xpath.XPathFactory; + import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.nodes.Node; import org.springframework.stereotype.Service; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; +import com.iformall.domain.po.WxFinanceReceive; @Service public class PrintCustomedTableDataHandler{ - public String getTableContent(String componentContent,JSONArray datas,JSONObject entity){ + public String getTableContent(String componentContent,JSONArray datas,JSONObject entity) { if (null != entity) { for (Iterator it = entity.keySet().iterator(); it.hasNext();) { String fieldName = it.next(); @@ -39,52 +50,89 @@ public class PrintCustomedTableDataHandler{ StringBuffer sb = new StringBuffer(); for (int i = 0 ; i < datas.size(); i ++) { JSONObject o = datas.getJSONObject(i); + Element tr = titleTr.parent().appendElement("tr"); sb.append(""); for (int j = 0 ; j < titleTds.size() ; j ++) { - Node td = titleTds.get(j); - String tdclass = titleTr.attr("class"); - String tdstyle = titleTr.attr("style"); - String tdcolspan = titleTr.attr("colspan"); + Node td = titleTds.get(j); + Element tre = tr.appendElement("td"); + String tdclass = td.attr("class"); + String tdstyle = td.attr("style"); + String tdcolspan = td.attr("colspan"); sb.append(""); //取什么属性 String fieldName = td.attr("fieldName"); if (StringUtils.isNotBlank(fieldName)) { + StringBuffer tdcontent = new StringBuffer(); if (fieldName.contains(",")) { String sep = td.attr("sep"); String[] fs = fieldName.split(","); if (null != fs) { for (int k = 0 ; k"); } sb.append(""); + } - titleTr.parent().appendText(sb.toString()); - return doc.html(); + return doc.head().html() + doc.body().html(); + } + + public static void main(String[] args) { + PrintCustomedTableDataHandler p = new PrintCustomedTableDataHandler(); + String s = "
房间名称费用科目费用区间应收金额冲抵金额优惠金额实收金额
"; + List rlist = new ArrayList(); + WxFinanceReceive r1 = new WxFinanceReceive(); + r1.setFeesName("adssasd"); + WxFinanceReceive r2 = new WxFinanceReceive(); + r2.setFeesName("11111"); + rlist.add(r1); + rlist.add(r2); + String sss = p.getTableListContent(s, JSON.parseArray(JSON.toJSONString(rlist))); + System.out.println(sss); } } From a339ba0ecb8a7ff8a7211ee848eb23e9c94d7fee Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 10 Aug 2024 11:34:07 +0800 Subject: [PATCH 2/5] fix --- .../iformall/service/impl/WxFinancePrintServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java index 525ba56d3..f07aadb8f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java @@ -250,13 +250,13 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { //表格解析 String componentContent = ov.getString("value"); if (null != billList) { - ov.put("defaultValue",printCustomedTableDataHandler.getTableContent(componentContent, JSON.parseArray(JSON.toJSONString(billList)),JSON.parseObject(JSON.toJSONString(re)))); + ov.put("value",printCustomedTableDataHandler.getTableContent(componentContent, JSON.parseArray(JSON.toJSONString(billList)),JSON.parseObject(JSON.toJSONString(re)))); } }else { if (isSetDefaultValue) { - ov.put("defaultValue", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber)); + ov.put("value", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber)); }else { - ov.put("defaultValue", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber)); + ov.put("value", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber)); } } } From f0bd1e87da680d1c807a150670dc3cb78e48d02c Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 10 Aug 2024 11:37:55 +0800 Subject: [PATCH 3/5] fix --- .../iformall/service/impl/WxFinancePrintServiceImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java index f07aadb8f..a7f7efba9 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java @@ -250,11 +250,11 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { //表格解析 String componentContent = ov.getString("value"); if (null != billList) { - ov.put("value",printCustomedTableDataHandler.getTableContent(componentContent, JSON.parseArray(JSON.toJSONString(billList)),JSON.parseObject(JSON.toJSONString(re)))); + ov.put("defaultValue",printCustomedTableDataHandler.getTableContent(componentContent, JSON.parseArray(JSON.toJSONString(billList)),JSON.parseObject(JSON.toJSONString(re)))); } }else { if (isSetDefaultValue) { - ov.put("value", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber)); + ov.put("defaultValue", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber)); }else { ov.put("value", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber)); } @@ -295,7 +295,7 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { if (isSetDefaultValue) { ov.put("defaultValue", printBillDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap)); }else { - ov.put("defaultValue", printBillDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap)); + ov.put("value", printBillDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap)); } } @@ -360,7 +360,7 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { if (isSetDefaultValue) { ov.put("defaultValue", printMerchantSettleDataHandler.getObjectValue(ov.getString("name"),bq,merchantMap,feesMap)); }else { - ov.put("defaultValue", printMerchantSettleDataHandler.getObjectValue(ov.getString("name"),bq,merchantMap,feesMap)); + ov.put("value", printMerchantSettleDataHandler.getObjectValue(ov.getString("name"),bq,merchantMap,feesMap)); } } From dbdeabef97cdecc081b388b48fecbe512a8ed2d7 Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 10 Aug 2024 11:48:16 +0800 Subject: [PATCH 4/5] fix --- .../com/iformall/service/impl/WxFinancePrintServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java index a7f7efba9..44d58b902 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java @@ -355,6 +355,7 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { String componentContent = ov.getString("value"); if (null != sumlist && sumlist.size() > 0 ) { ov.put("defaultValue",printCustomedTableDataHandler.getTableContent(componentContent, JSON.parseArray(JSON.toJSONString(sumlist)),JSON.parseObject(JSON.toJSONString(bq)))); + ov.put("value", null); } }else { if (isSetDefaultValue) { From 938177cfa49ad7e9b4cb0dc427bad3b0f2492b33 Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 10 Aug 2024 11:52:04 +0800 Subject: [PATCH 5/5] fix --- .../iformall/service/impl/WxFinancePrintServiceImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java index 44d58b902..c6e24fd37 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java @@ -251,10 +251,12 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { String componentContent = ov.getString("value"); if (null != billList) { ov.put("defaultValue",printCustomedTableDataHandler.getTableContent(componentContent, JSON.parseArray(JSON.toJSONString(billList)),JSON.parseObject(JSON.toJSONString(re)))); + ov.put("value", ""); } }else { if (isSetDefaultValue) { ov.put("defaultValue", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber)); + ov.put("value", ""); }else { ov.put("value", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber)); } @@ -294,6 +296,7 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { }else { if (isSetDefaultValue) { ov.put("defaultValue", printBillDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap)); + ov.put("value", ""); }else { ov.put("value", printBillDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap)); } @@ -355,11 +358,12 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { String componentContent = ov.getString("value"); if (null != sumlist && sumlist.size() > 0 ) { ov.put("defaultValue",printCustomedTableDataHandler.getTableContent(componentContent, JSON.parseArray(JSON.toJSONString(sumlist)),JSON.parseObject(JSON.toJSONString(bq)))); - ov.put("value", null); + ov.put("value", ""); } }else { if (isSetDefaultValue) { ov.put("defaultValue", printMerchantSettleDataHandler.getObjectValue(ov.getString("name"),bq,merchantMap,feesMap)); + ov.put("value", ""); }else { ov.put("value", printMerchantSettleDataHandler.getObjectValue(ov.getString("name"),bq,merchantMap,feesMap)); }