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); } } 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..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,12 +251,14 @@ 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("defaultValue", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber)); + ov.put("value", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber)); } } } @@ -294,8 +296,9 @@ 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("defaultValue", printBillDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap)); + ov.put("value", printBillDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap)); } } @@ -355,12 +358,14 @@ 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", ""); } }else { if (isSetDefaultValue) { ov.put("defaultValue", printMerchantSettleDataHandler.getObjectValue(ov.getString("name"),bq,merchantMap,feesMap)); + ov.put("value", ""); }else { - ov.put("defaultValue", printMerchantSettleDataHandler.getObjectValue(ov.getString("name"),bq,merchantMap,feesMap)); + ov.put("value", printMerchantSettleDataHandler.getObjectValue(ov.getString("name"),bq,merchantMap,feesMap)); } }