diff --git a/jianshui-admin/src/main/java/com/jianshui/api/config/WebserviceResponseHandler.java b/jianshui-admin/src/main/java/com/jianshui/api/config/WebserviceResponseHandler.java index fccfa7f..75b2054 100644 --- a/jianshui-admin/src/main/java/com/jianshui/api/config/WebserviceResponseHandler.java +++ b/jianshui-admin/src/main/java/com/jianshui/api/config/WebserviceResponseHandler.java @@ -4,10 +4,7 @@ import cn.hutool.core.util.XmlUtil; import org.w3c.dom.*; import javax.xml.namespace.QName; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; import javax.xml.soap.SOAPBody; -import javax.xml.soap.SOAPException; import javax.xml.soap.SOAPMessage; import javax.xml.ws.handler.MessageContext; import javax.xml.ws.handler.soap.SOAPHandler; @@ -35,25 +32,94 @@ public class WebserviceResponseHandler implements SOAPHandler"; + /* String cdatameg = XmlUtil.toStr(returnNode.getFirstChild(), "GBK", false, false); +// CDATASection cdata = childNode.getOwnerDocument().createCDATASection(cdatameg); + cdatameg = cdatameg.replaceAll("&gt;", ">").replaceAll("<", "<").replaceAll(">", ">"); + + String modifiedContent = cdatameg.replace("]]>", "]] >>"); + Element element = body.getOwnerDocument().createElement("return"); + + CDATASection cdata = body.getFirstChild().getFirstChild().getOwnerDocument().createCDATASection(modifiedContent); + element.appendChild(cdata); + body.removeContents(); + body.appendChild(element); + + body.getOwnerDocument().getOwnerDocument().getTextContent().replaceAll("]] >>", "]]>");*/ +// returnNode.removeChild(dataNode); +// returnNode.getParentNode().appendChild(element); + + + /* System.out.println(cdatameg); + returnNode.setTextContent(cdatameg); + + String modifiedContent = cdatameg.replace("]]>", "]] >"); + Element element = body.getFirstChild().getFirstChild().getOwnerDocument().createElement("AAD"); + CDATASection cdata = body.getFirstChild().getFirstChild().getOwnerDocument().createCDATASection(modifiedContent); + element.appendChild(cdata); + body.appendChild(element);*/ +// +// +// String returnNodeStr = XmlUtil.toStr(returnNode).replaceAll("]]>","]]]]>" + returnNode.getNodeName() + returnNode.getNodeValue()); + System.out.println("1=>" + body.getFirstChild()); + + CDATASection cdataSection = returnNode.getOwnerDocument().createCDATASection( returnNode.getTextContent() ); + returnNode.replaceChild(cdataSection, dataNode); + System.out.println("2=>" + returnNode);*/ + + + message.saveChanges(); + + + // 修改CDATA标签位置 // addCDataToLeafNodes(dataNode); // CDATASection cdata = dataNode.getOwnerDocument().createCDATASection(XmlUtil.toStr(dataNode,"GBK",false,false)); // returnNode.removeChild(dataNode); // returnNode.appendChild(cdata); +// addCDataToLeafNodes(cdata); + +// CDATASection cdata = dataNode.getOwnerDocument().createCDATASection(XmlUtil.toStr(dataNode,"GBK",false,false)); +// returnNode.removeChild(dataNode); +// returnNode.appendChild(cdata); + + // TODO: 2023/7/12 +// addCDataToLeafNodes(dataNode); + + +// String nodeStr = XmlUtil.toStr(returnNode.getFirstChild(), "GBK", false, false) +// .replaceAll("<","<").replaceAll(">",">"); +// nodeStr = ""; + +// dataNode.setTextContent(nodeStr); +// returnNode.replaceChild(dataNode,XmlUtil.parseXml(nodeStr)); +// System.out.println(nodeStr); + // 将处理后的XML重新设到SOAP消息中 +// System.out.println(nodeStr); + // body.getFirstChild().removeChild(body.getFirstChild().getFirstChild()); // CDATASection cdata = Data.getOwnerDocument().createCDATASection(XmlUtil.toStr(fp, "GBK", false, true)); // body.setTextContent(XmlUtil.toStr(body.getFirstChild())); - message.saveChanges(); - } catch (SOAPException e) { + + }catch (Exception e) { throw new RuntimeException(e); } } else { @@ -62,6 +128,19 @@ public class WebserviceResponseHandler implements SOAPHandler"+">"; -// CDATASection cdata = childNode.getOwnerDocument().createCDATASection(cdatameg); -// node.replaceChild(cdata,childNode); -// }else { -// // 内容不为空 -// String cdatameg = "<"+childNode.getNodeName()+">"+"]]]] >>"; -// CDATASection cdata = childNode.getOwnerDocument().createCDATASection(cdatameg); -// node.replaceChild(cdata,childNode); -// } -// } -// } + + for (int i = 0; i < childNodes.getLength(); i++) { + Node childNode = childNodes.item(i); + Node firstChild = childNode.getFirstChild(); + if (firstChild != null && childNode.getNodeType() == Node.ELEMENT_NODE) { + addCDataToLeafNodes(childNode); + } else if (childNode.getNodeType() == Node.TEXT_NODE) { + String cdatameg = "<" + childNode.getNodeName() + ">>"; + String cdatamegRes = cdatameg.replaceAll("<#text>", "").replaceAll("", ""); + childNode.setTextContent(cdatamegRes); + } else { + + String cdatameg = ">>"; + } + System.out.println(a); + + + } + + public static void main(String[] args) { + + String aaaa = "\n" + + " \n" + + " \n" + + " 2019-05-23\n" + + " 54.00\n" + + " 92370100MA3EKX4426\n" + + " \n" + + " \n" + + " 高新开发区舜华惠嘉餐厅\n" + + " N\n" + + " 99424340\n" + + " 661720186729\n" + + " 037001700107\n" + + " N\n" + + " 1.57\n" + + " 个人\n" + + " \n" + + " 11\n" + + " \n" + + " 52.43\n" + + " 781948\n" + + " \n" + + " \n" + + " 1\n" + + " \n" + + " 1.57\n" + + " 3070401000000000000\n" + + " *餐饮服务*餐费\n" + + " \n" + + " \n" + + " \n" + + " 52.43\n" + + " 3%\n" + + " \n" + + " \n" + + " \n" + + " 1\n" + + " 查验成功\n" + + " \n" + + " "; + + String nodeStr = aaaa; + String[] nodeStrList = nodeStr.split(">"; + + } + /*String[] aRs = a.split("]]]]"); + String b = ""; + for (String aR : aRs) { + b = b + " details = printDTO.getDetails(); @@ -838,7 +841,17 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService { //必填参数校验 ValidateUtils.validate(printInvoiceDTO,companyservice,null); - printInvoiceDTO.setPrintKind(0); + // 处理打印标识 + String fpbs = printDTO.getFpbs(); + if("0".equals(fpbs)){ + fpbs = "1"; + }else if("1".equals(fpbs)){ + fpbs = "0"; + }else { + fpbs = "0"; + } + + printInvoiceDTO.setPrintKind(Integer.valueOf(fpbs)); printInvoiceDTO.setShowPrintDlg(0); //发起请求