winter 1 год назад
Родитель
Сommit
094d211b3c
6 измененных файлов: 118 добавлений и 11 удалений
  1. +5
    -0
      mallinkService/pom.xml
  2. +7
    -1
      mallinkService/src/main/java/com/iformall/print/PrintComponentHandler.java
  3. +64
    -0
      mallinkService/src/main/java/com/iformall/print/data/PrintCustomedTableDataHandler.java
  4. +1
    -6
      mallinkService/src/main/java/com/iformall/print/data/PrintFinanceReceiveDataHandler.java
  5. +2
    -0
      mallinkService/src/main/java/com/iformall/print/entity/component/html/PrintHtml.java
  6. +39
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java

+ 5
- 0
mallinkService/pom.xml Просмотреть файл

@@ -40,6 +40,11 @@
<artifactId>alipay-easysdk</artifactId> <artifactId>alipay-easysdk</artifactId>
<version>2.2.0</version> <version>2.2.0</version>
</dependency> </dependency>
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.13.1</version>
</dependency>
</dependencies> </dependencies>


</project> </project>

+ 7
- 1
mallinkService/src/main/java/com/iformall/print/PrintComponentHandler.java Просмотреть файл

@@ -78,9 +78,15 @@ public class PrintComponentHandler implements Serializable {
PrintHtml html = new PrintHtml(); PrintHtml html = new PrintHtml();
html.setTitle(data.getName()); html.setTitle(data.getName());
html.setIsEdit(data.getIsEdit()); html.setIsEdit(data.getIsEdit());
html.setName("html");
html.setValue(dataJson.getString("html")); html.setValue(dataJson.getString("html"));
return html; return html;
}else if ("braid-html-table".equals(data.getPrintDataType())) {
PrintHtml html = new PrintHtml();
html.setTitle(data.getName());
html.setIsEdit(data.getIsEdit());
html.setValue(dataJson.getString("html"));
html.setIsFmCustomizedTable(EnumYesOrNo.YES.getCode());
return html;
} }
return null; return null;
} }


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

@@ -0,0 +1,64 @@
package com.iformall.print.data;

import java.util.List;

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.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils;

@Service
public class PrintCustomedTableDataHandler{


public String getTableContent(String componentContent,JSONArray datas){
if (null == datas || datas.size() <= 0) {
return componentContent;
}
Document doc = Jsoup.parse(componentContent);
Element titleTr = doc.getElementById("titletr");
List<Node> titleTds = titleTr.childNodes();
String trclass = titleTr.attr("class");
String trstyle = titleTr.attr("style");
StringBuffer sb = new StringBuffer();
for (int i = 0 ; i < datas.size(); i ++) {
JSONObject o = datas.getJSONObject(i);
sb.append("<tr ");
if (StringUtils.isNotBlank(trclass)) {
sb.append(" class = \"").append(trclass).append("\" ");
}
if (StringUtils.isNotBlank(trstyle)) {
sb.append(" style = \"").append(trstyle).append("\" ");
}
sb.append(">");
for (int j = 0 ; j < titleTds.size() ; j ++) {
Node td = titleTds.get(i);
String tdclass = titleTr.attr("class");
String tdstyle = titleTr.attr("style");
String tdcolspan = titleTr.attr("colspan");
sb.append("<td ");
if (StringUtils.isNotBlank(tdclass)) {
sb.append(" class = \"").append(tdclass).append("\" ");
}
if (StringUtils.isNotBlank(tdstyle)) {
sb.append(" style = \"").append(tdstyle).append("\" ");
}
if (StringUtils.isNotBlank(tdcolspan)) {
sb.append(" colspan = \"").append(tdcolspan).append("\" ");
}
sb.append(">");
//取什么属性
String fieldName = td.attr("fieldName");
sb.append(o.get(fieldName));
sb.append("</td>");
}
sb.append("</tr>");
}
return null;
}
}

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

@@ -23,7 +23,7 @@ import com.iformall.utils.DateUtils;
@Service @Service
public class PrintFinanceReceiveDataHandler { public class PrintFinanceReceiveDataHandler {


public Object getObjectValue(String name, Object o,Map<Long,WxMerchant> merchantMap,Map<Long,WxEnergyFees> feesMap,Map<Long,String> shopNumber,List<WxAllBill> billList) {
public Object getObjectValue(String name, Object o,Map<Long,WxMerchant> merchantMap,Map<Long,WxEnergyFees> feesMap,Map<Long,String> shopNumber) {
WxFinanceReceive receive = (WxFinanceReceive) o; WxFinanceReceive receive = (WxFinanceReceive) o;
if (name.equals("id")) { if (name.equals("id")) {
return receive.getId(); return receive.getId();
@@ -58,11 +58,6 @@ public class PrintFinanceReceiveDataHandler {
return shopNumber.get(receive.getMerchantId()); return shopNumber.get(receive.getMerchantId());
} }
return ""; return "";
}else if (name.equals("billList")) {
if (null == billList) {
return new ArrayList<WxAllBill>();
}
return billList;
} }
return null; return null;
} }


+ 2
- 0
mallinkService/src/main/java/com/iformall/print/entity/component/html/PrintHtml.java Просмотреть файл

@@ -10,4 +10,6 @@ public class PrintHtml extends PrintComponent {
private String type="braid-html"; private String type="braid-html";
//打印项默认内容 //打印项默认内容
private String defaultValue; private String defaultValue;
//是否是定制化的表格
public Integer isFmCustomizedTable = 0;
} }

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

@@ -20,7 +20,6 @@ import com.iformall.domain.po.WxFinanceReceive;
import com.iformall.domain.po.WxFinanceReceiveBill; import com.iformall.domain.po.WxFinanceReceiveBill;
import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.po.base.BaseEntity;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.PrintMerchantSettleVo; import com.iformall.domain.vo.PrintMerchantSettleVo;
import com.iformall.domain.vo.PrintVo; import com.iformall.domain.vo.PrintVo;
import com.iformall.enums.EnumFinancePrintDataType; import com.iformall.enums.EnumFinancePrintDataType;
@@ -30,6 +29,7 @@ import com.iformall.mapper.WxFinancePrintDataMapper;
import com.iformall.mapper.WxFinancePrintTemplateMapper; import com.iformall.mapper.WxFinancePrintTemplateMapper;
import com.iformall.print.PrintComponentHandler; import com.iformall.print.PrintComponentHandler;
import com.iformall.print.data.PrintBillDataHandler; import com.iformall.print.data.PrintBillDataHandler;
import com.iformall.print.data.PrintCustomedTableDataHandler;
import com.iformall.print.data.PrintFinanceReceiveDataHandler; import com.iformall.print.data.PrintFinanceReceiveDataHandler;
import com.iformall.print.data.PrintMerchantSettleDataHandler; import com.iformall.print.data.PrintMerchantSettleDataHandler;
import com.iformall.service.WxAllBillService; import com.iformall.service.WxAllBillService;
@@ -77,6 +77,9 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService {
@Autowired @Autowired
PrintMerchantSettleDataHandler printMerchantSettleDataHandler; PrintMerchantSettleDataHandler printMerchantSettleDataHandler;
@Autowired
PrintCustomedTableDataHandler printCustomedTableDataHandler;
@Lazy @Lazy
@Autowired @Autowired
WxMerchantService wxMerchantService; WxMerchantService wxMerchantService;
@@ -229,7 +232,17 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService {
if (null != items) { if (null != items) {
for (int j = 0 ; j < items.size() ; j ++) { for (int j = 0 ; j < items.size() ; j ++) {
JSONObject ov = items.getJSONObject(j); JSONObject ov = items.getJSONObject(j);
ov.put("value", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber,billList));
//是否是定制化的表格
Integer isCustomedTable = ov.getInteger("isFmCustomizedTable");
if (null != isCustomedTable && EnumYesOrNo.YES.getCode().intValue() == isCustomedTable.intValue()) {
//表格解析
String componentContent = ov.getString("value");
if (null != billList) {
printCustomedTableDataHandler.getTableContent(componentContent, JSON.parseArray(JSON.toJSONString(billList)));
}
}else {
ov.put("value", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber));
}
} }
} }
vo.setTemplate(o); vo.setTemplate(o);
@@ -252,7 +265,18 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService {
if (null != items) { if (null != items) {
for (int j = 0 ; j < items.size() ; j ++) { for (int j = 0 ; j < items.size() ; j ++) {
JSONObject ov = items.getJSONObject(j); JSONObject ov = items.getJSONObject(j);
ov.put("value", printBillDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap));
//是否是定制化的表格
Integer isCustomedTable = ov.getInteger("isFmCustomizedTable");
if (null != isCustomedTable && EnumYesOrNo.YES.getCode().intValue() == isCustomedTable.intValue()) {
//表格解析
String componentContent = ov.getString("value");
//if (null != billList) {
// printCustomedTableDataHandler.getTableContent(componentContent, JSON.parseArray(JSON.toJSONString(billList)));
//}
}else {
ov.put("value", printBillDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap));
}
} }
} }
vo.setTemplate(o); vo.setTemplate(o);
@@ -275,7 +299,18 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService {
if (null != items) { if (null != items) {
for (int j = 0 ; j < items.size() ; j ++) { for (int j = 0 ; j < items.size() ; j ++) {
JSONObject ov = items.getJSONObject(j); JSONObject ov = items.getJSONObject(j);
ov.put("value", printMerchantSettleDataHandler.getObjectValue(ov.getString("name"),sv,merchantMap,feesMap));
//是否是定制化的表格
Integer isCustomedTable = ov.getInteger("isFmCustomizedTable");
if (null != isCustomedTable && EnumYesOrNo.YES.getCode().intValue() == isCustomedTable.intValue()) {
//表格解析
String componentContent = ov.getString("value");
//if (null != billList) {
// printCustomedTableDataHandler.getTableContent(componentContent, JSON.parseArray(JSON.toJSONString(billList)));
//}
}else {
ov.put("value", printMerchantSettleDataHandler.getObjectValue(ov.getString("name"),sv,merchantMap,feesMap));
}
} }
} }
vo.setTemplate(o); vo.setTemplate(o);


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