Просмотр исходного кода

Merge branch 'release_toaliyun_real_offline_activity' of https://git.malls.iformall.com/server/formallProject into release_toaliyun_real_offline_activity

release_toaliyun_real
xiaohu 1 год назад
Родитель
Сommit
ceb39c97e4
2 измененных файлов: 65 добавлений и 12 удалений
  1. +57
    -9
      mallinkService/src/main/java/com/iformall/print/data/PrintCustomedTableDataHandler.java
  2. +8
    -3
      mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java

+ 57
- 9
mallinkService/src/main/java/com/iformall/print/data/PrintCustomedTableDataHandler.java Просмотреть файл

@@ -1,21 +1,32 @@
package com.iformall.print.data; 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.Iterator;
import java.util.List; 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.Jsoup;
import org.jsoup.nodes.Document; import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element; import org.jsoup.nodes.Element;
import org.jsoup.nodes.Node; import org.jsoup.nodes.Node;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils;
import com.iformall.domain.po.WxFinanceReceive;


@Service @Service
public class PrintCustomedTableDataHandler{ public class PrintCustomedTableDataHandler{


public String getTableContent(String componentContent,JSONArray datas,JSONObject entity){
public String getTableContent(String componentContent,JSONArray datas,JSONObject entity) {
if (null != entity) { if (null != entity) {
for (Iterator<String> it = entity.keySet().iterator(); it.hasNext();) { for (Iterator<String> it = entity.keySet().iterator(); it.hasNext();) {
String fieldName = it.next(); String fieldName = it.next();
@@ -39,52 +50,89 @@ public class PrintCustomedTableDataHandler{
StringBuffer sb = new StringBuffer(); StringBuffer sb = new StringBuffer();
for (int i = 0 ; i < datas.size(); i ++) { for (int i = 0 ; i < datas.size(); i ++) {
JSONObject o = datas.getJSONObject(i); JSONObject o = datas.getJSONObject(i);
Element tr = titleTr.parent().appendElement("tr");
sb.append("<tr "); sb.append("<tr ");
if (StringUtils.isNotBlank(trclass)) { if (StringUtils.isNotBlank(trclass)) {
sb.append(" class = \"").append(trclass).append("\" "); sb.append(" class = \"").append(trclass).append("\" ");
tr.attr("class", trclass);
} }
if (StringUtils.isNotBlank(trstyle)) { if (StringUtils.isNotBlank(trstyle)) {
sb.append(" style = \"").append(trstyle).append("\" "); sb.append(" style = \"").append(trstyle).append("\" ");
tr.attr("style", trstyle);
} }
sb.append(">"); sb.append(">");
for (int j = 0 ; j < titleTds.size() ; j ++) { 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("<td "); sb.append("<td ");
if (StringUtils.isNotBlank(tdclass)) { if (StringUtils.isNotBlank(tdclass)) {
sb.append(" class = \"").append(tdclass).append("\" "); sb.append(" class = \"").append(tdclass).append("\" ");
tre.attr("class", tdclass);
} }
if (StringUtils.isNotBlank(tdstyle)) { if (StringUtils.isNotBlank(tdstyle)) {
sb.append(" style = \"").append(tdstyle).append("\" "); sb.append(" style = \"").append(tdstyle).append("\" ");
tre.attr("style", tdstyle);
} }
if (StringUtils.isNotBlank(tdcolspan)) { if (StringUtils.isNotBlank(tdcolspan)) {
sb.append(" colspan = \"").append(tdcolspan).append("\" "); sb.append(" colspan = \"").append(tdcolspan).append("\" ");
tre.attr("colspan", tdcolspan);
} }
sb.append(">"); sb.append(">");
//取什么属性 //取什么属性
String fieldName = td.attr("fieldName"); String fieldName = td.attr("fieldName");
if (StringUtils.isNotBlank(fieldName)) { if (StringUtils.isNotBlank(fieldName)) {
StringBuffer tdcontent = new StringBuffer();
if (fieldName.contains(",")) { if (fieldName.contains(",")) {
String sep = td.attr("sep"); String sep = td.attr("sep");
String[] fs = fieldName.split(","); String[] fs = fieldName.split(",");
if (null != fs) { if (null != fs) {
for (int k = 0 ; k<fs.length; k++) { for (int k = 0 ; k<fs.length; k++) {
sb.append(o.get(fs[k])).append(sep);
Object v = o.get(fs[k]);
if (k == fs.length-1) {
sep = "";
}
if (null != v) {
tdcontent.append(v).append(sep);
}else {
tdcontent.append("").append(sep);
}
} }
} }
}else { }else {
sb.append(o.get(fieldName));
Object v = o.get(fieldName);
if (null != v) {
tdcontent.append(v);
}else {
tdcontent.append("");
}
} }
tre.appendText(tdcontent.toString());
} }
sb.append("</td>"); sb.append("</td>");
} }
sb.append("</tr>"); sb.append("</tr>");
} }
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 = "<style>table,td,th{border:1px solid #000;border-collapse:collapse}table{width:515px;font-size:10px;text-align:center}tr{height:30px}.one{width:10%}.two{width:16%}.three{width:32.5%}.four{width:10%}.five{width:10%}.six{width:10%}.seven{width:10%}</style><table id=\"fmbraidhtmltable\"><tr id=\"titletr\"><td class=\"one\" fieldName=\"shopNumber\">房间名称</td><td class=\"two\" fieldName=\"feesName\">费用科目</td><td class=\"three\" fieldName=\"starttime,endtime\" sep=\"~\">费用区间</td><td class=\"four\" fieldName=\"receivePay\">应收金额</td><td class=\"five\" fieldName=\"setOff\">冲抵金额</td><td class=\"six\" fieldName=\"youhui\">优惠金额</td><td class=\"seven\" fieldName=\"pay\">实收金额</td></tr></table>";
List<WxFinanceReceive> rlist = new ArrayList<WxFinanceReceive>();
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);
} }
} }

+ 8
- 3
mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java Просмотреть файл

@@ -251,12 +251,14 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService {
String componentContent = ov.getString("value"); String componentContent = ov.getString("value");
if (null != billList) { if (null != billList) {
ov.put("defaultValue",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))));
ov.put("value", "");
} }
}else { }else {
if (isSetDefaultValue) { if (isSetDefaultValue) {
ov.put("defaultValue", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber)); ov.put("defaultValue", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber));
ov.put("value", "");
}else { }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 { }else {
if (isSetDefaultValue) { if (isSetDefaultValue) {
ov.put("defaultValue", printBillDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap)); ov.put("defaultValue", printBillDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap));
ov.put("value", "");
}else { }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"); String componentContent = ov.getString("value");
if (null != sumlist && sumlist.size() > 0 ) { if (null != sumlist && sumlist.size() > 0 ) {
ov.put("defaultValue",printCustomedTableDataHandler.getTableContent(componentContent, JSON.parseArray(JSON.toJSONString(sumlist)),JSON.parseObject(JSON.toJSONString(bq)))); ov.put("defaultValue",printCustomedTableDataHandler.getTableContent(componentContent, JSON.parseArray(JSON.toJSONString(sumlist)),JSON.parseObject(JSON.toJSONString(bq))));
ov.put("value", "");
} }
}else { }else {
if (isSetDefaultValue) { if (isSetDefaultValue) {
ov.put("defaultValue", printMerchantSettleDataHandler.getObjectValue(ov.getString("name"),bq,merchantMap,feesMap)); ov.put("defaultValue", printMerchantSettleDataHandler.getObjectValue(ov.getString("name"),bq,merchantMap,feesMap));
ov.put("value", "");
}else { }else {
ov.put("defaultValue", printMerchantSettleDataHandler.getObjectValue(ov.getString("name"),bq,merchantMap,feesMap));
ov.put("value", printMerchantSettleDataHandler.getObjectValue(ov.getString("name"),bq,merchantMap,feesMap));
} }
} }


Загрузка…
Отмена
Сохранить