查验问题修复

beta-prop-all^2
kane 2 years ago
parent 7d2c2d3bdd
commit c2a4f9880a
  1. 22
      jianshui-admin/src/main/java/com/jianshui/api/config/WebserviceResponseHandler.java
  2. 20
      jianshui-admin/src/main/java/com/jianshui/api/controller/webservice/income/v1/impl/InvoiceCheckWebServiceImpl.java

@ -1,6 +1,5 @@
package com.jianshui.api.config;
import cn.hutool.core.util.XmlUtil;
import org.w3c.dom.*;
import javax.xml.namespace.QName;
@ -58,8 +57,6 @@ public class WebserviceResponseHandler implements SOAPHandler<SOAPMessageContext
addCDataToLeafNodes(dataNode);
// String xmlStr = XmlUtil.toStr(dataNode,"GBK",false,false).replaceAll("&lt;","<").replaceAll("&gt;",">");
//
// System.out.println(xmlStr);
@ -158,7 +155,7 @@ public class WebserviceResponseHandler implements SOAPHandler<SOAPMessageContext
// CDATASection cdata = Data.getOwnerDocument().createCDATASection(XmlUtil.toStr(fp, "GBK", false, true));
// body.setTextContent(XmlUtil.toStr(body.getFirstChild()));
}catch (Exception e) {
} catch (Exception e) {
throw new RuntimeException(e);
}
} else {
@ -188,19 +185,29 @@ public class WebserviceResponseHandler implements SOAPHandler<SOAPMessageContext
* @Return
*/
public static void addCDataToLeafNodes(Node returnNode) {
NodeList childNodes = returnNode.getChildNodes();
for (int i = 0; i < childNodes.getLength(); i++) {
Node childNode = childNodes.item(i);
if (childNode.getNodeType() == Node.ELEMENT_NODE) {
addCDataToLeafNodes(childNode);
}
else if (childNode.getNodeType() == Node.TEXT_NODE) {
} else if (childNode.getNodeType() == Node.TEXT_NODE) {
String nodeValue = childNode.getNodeValue();
if ("Code".equals(returnNode.getNodeName()) ||
"Message".equals(returnNode.getNodeName()) ||
"Fpdm".equals(returnNode.getNodeName()) ) {
childNode.setNodeValue(nodeValue);
} else if ("00".equals(nodeValue)) {
CDATASection cdata = childNode.getOwnerDocument().createCDATASection("");
returnNode.removeChild(childNode);
returnNode.appendChild(cdata);
} else {
CDATASection cdata = childNode.getOwnerDocument().createCDATASection(childNode.getNodeValue());
returnNode.removeChild(childNode);
returnNode.appendChild(cdata);
}
}
}
}
/*String nodeStr = XmlUtil.toStr(returnNode);
String[] nodeStrList = nodeStr.split("<");
@ -211,7 +218,6 @@ public class WebserviceResponseHandler implements SOAPHandler<SOAPMessageContext
System.out.println(a);*/
}
/*public static void addCDataToLeafNodes(Node returnNode) {
NodeList childNodes = returnNode.getChildNodes();

@ -441,6 +441,13 @@ public class InvoiceCheckWebServiceImpl {
getInvoiceMap.put("ZFBZ",getInvoiceVO.getZfbz());
getInvoiceMap.put("HCBZ",getInvoiceVO.getHcbz());
}
Set<Map.Entry<String, String>> entries = getInvoiceMap.entrySet();
for (Map.Entry<String, String> entry : entries) {
String value = entry.getValue();
if ("".equals(value)){
entry.setValue("00");
}
}
Element getInvoiceDoc = json2Element(result, "Fp", getInvoiceMap);
// 详情获取
List<InvoiceCheckDetail> details = invoiceCheck.getInvoiceCheckDetail();
@ -495,6 +502,13 @@ public class InvoiceCheckWebServiceImpl {
}
if (!InvoiceType.JI_DONG_CHE_PIAO.getCode().equals(invoiceCheck.getFpzl()) &&
!InvoiceType.ER_SHOU_CHE_PIAO.getCode().equals(invoiceCheck.getFpzl())){
Set<Map.Entry<String, String>> entries1 = getInvoiceSphVOMap.entrySet();
for (Map.Entry<String, String> stringStringEntry : entries1) {
String value = stringStringEntry.getValue();
if ("".equals(value)){
stringStringEntry.setValue("00");
}
}
Element sphElement = json2Element(result, "Sph", getInvoiceSphVOMap);
getInvoiceDoc.appendChild(sphElement);
count++;
@ -505,19 +519,19 @@ public class InvoiceCheckWebServiceImpl {
if (!InvoiceType.ER_SHOU_CHE_PIAO.getCode().equals(invoiceCheck.getFpzl())){
// je标签添加
LinkedHashMap<String, String> jeLinkedHashMap = new LinkedHashMap<>();
jeLinkedHashMap.put("je",invoiceCheck.getFpje());
jeLinkedHashMap.put("je",StringUtils.isEmpty(invoiceCheck.getFpje())? "00" :invoiceCheck.getFpje());
Element je = jsonElement(result, "je", jeLinkedHashMap);
getInvoiceDoc.appendChild(je);
// se标签添加
LinkedHashMap<String, String> seLinkedHashMap = new LinkedHashMap<>();
seLinkedHashMap.put("se",invoiceCheck.getFpse());
seLinkedHashMap.put("se",StringUtils.isEmpty(invoiceCheck.getFpse())? "00" :invoiceCheck.getFpse());
Element se = jsonElement(result, "se", seLinkedHashMap);
getInvoiceDoc.appendChild(se);
// jshj标签添加
LinkedHashMap<String, String> jshjLinkedHashMap = new LinkedHashMap<>();
jshjLinkedHashMap.put("jshj",invoiceCheck.getJshj());
jshjLinkedHashMap.put("jshj",StringUtils.isEmpty(invoiceCheck.getJshj())? "00" :invoiceCheck.getJshj());
Element jshj = jsonElement(result, "jshj", jshjLinkedHashMap);
getInvoiceDoc.appendChild(jshj);
}