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 c28e752..b32b88f 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 @@ -77,7 +77,34 @@ public class WebserviceResponseHandler implements SOAPHandler"+childNode.getNodeValue()+""; +// CDATASection cdata = childNode.getOwnerDocument().createCDATASection(cdatameg); +// node.removeChild(childNode); +// node.appendChild(cdata); +// } +// else if (childNode.getNodeType() == Node.TEXT_NODE) { +// if (!childNode.getNodeValue().isEmpty()) { +// CDATASection cdata = childNode.getOwnerDocument().createCDATASection(childNode.getNodeValue()); +// node.removeChild(childNode); +// node.appendChild(cdata); +// } +// } +// } +// } + + // 提到外面的 + // TODO 未修完成 // public static void addCDataToLeafNodes(Node node){ // NodeList childNodes = node.getChildNodes(); // for (int i = 0; i < childNodes.getLength(); i++){ @@ -87,7 +114,11 @@ public class WebserviceResponseHandler implements SOAPHandler"+xiaochildNode.getNodeValue()+""; +// String cdatameg = "<"+childNode.getNodeName()+">"+""; +// 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); // } diff --git a/jianshui-admin/src/main/java/com/jianshui/api/controller/webservice/income/v1/impl/InvoiceCheckWebServiceImpl.java b/jianshui-admin/src/main/java/com/jianshui/api/controller/webservice/income/v1/impl/InvoiceCheckWebServiceImpl.java index f26f973..16e5fe4 100644 --- a/jianshui-admin/src/main/java/com/jianshui/api/controller/webservice/income/v1/impl/InvoiceCheckWebServiceImpl.java +++ b/jianshui-admin/src/main/java/com/jianshui/api/controller/webservice/income/v1/impl/InvoiceCheckWebServiceImpl.java @@ -33,6 +33,7 @@ import org.springframework.stereotype.Component; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; + import javax.jws.WebMethod; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; @@ -133,7 +134,7 @@ public class InvoiceCheckWebServiceImpl { return buildResult(result, "1", "开票日期不能为空", null); } boolean isMatch = ReUtil.isMatch("^\\d{4}-\\d{2}-\\d{2}$", InvTime); - if(!isMatch){ + if (!isMatch) { return buildResult(result, "1", "开票日期格式错误 yyyy-MM-dd", null); } // 如果Jym这个参数为空,我就去判断InvOther是否为6位且不带小数点,如果确实如此,那就直接将InvOther作为校验码传给大象 @@ -200,7 +201,7 @@ public class InvoiceCheckWebServiceImpl { request.put("fphm", InvNo); request.put("jym", Jym); AjaxResult invoiceResult = incomeService.checkInvoiceSingle(companyservice, request); - log.info("【发票查询结果】companyid:{},serviceKey:{},param:{},invoiceResult:{}", companyservice.getCompanyid(), serviceKey, request,JSONObject.toJSONString(invoiceResult)); + log.info("【发票查询结果】companyid:{},serviceKey:{},param:{},invoiceResult:{}", companyservice.getCompanyid(), serviceKey, request, JSONObject.toJSONString(invoiceResult)); // JSONObject data = JSONObject.parseObject("{\n" + // " \"robUserMoney\": 0,\n" + // " \"resultContent\": {\n" + @@ -291,16 +292,16 @@ public class InvoiceCheckWebServiceImpl { // " }"); // AjaxResult invoiceResult = AjaxResult.success(data); if (invoiceResult.isError()) { - if ("超过该张票当天查验次数".equals(invoiceResult.getMsg())){ - return buildResult(result,"002","超过该张发票当日查验次数(请于次日再次查验)!",null); - }else if ("查验异常".equals(invoiceResult.getMsg())){ - return buildResult(result,"084","开票金额或校验码不合法!",null); - }else if ("请求不合法".equals(invoiceResult.getMsg())){ - return buildResult(result,"005","请求不合法!",null); - }else if ("发票不存在".equals(invoiceResult.getMsg())){ - return buildResult(result,"009","查无此票!",null); - }else { - return buildResult(result, StrUtil.padPre(String.valueOf(invoiceResult.getCode()), 3, '0') , invoiceResult.getMsg(), null); + if ("超过该张票当天查验次数".equals(invoiceResult.getMsg())) { + return buildResult(result, "002", "超过该张发票当日查验次数(请于次日再次查验)!", null); + } else if ("查验异常".equals(invoiceResult.getMsg())) { + return buildResult(result, "084", "开票金额或校验码不合法!", null); + } else if ("请求不合法".equals(invoiceResult.getMsg())) { + return buildResult(result, "005", "请求不合法!", null); + } else if ("发票不存在".equals(invoiceResult.getMsg())) { + return buildResult(result, "009", "查无此票!", null); + } else { + return buildResult(result, StrUtil.padPre(String.valueOf(invoiceResult.getCode()), 3, '0'), invoiceResult.getMsg(), null); } } @@ -327,9 +328,9 @@ public class InvoiceCheckWebServiceImpl { simpleDateFormat.applyPattern("yyyy-MM-dd"); newKprq = simpleDateFormat.format(parseKprq); } catch (ParseException e) { - new JianshuiServiceException("日期转换错误"); + new JianshuiServiceException("日期转换错误"); } - if (InvoiceType.ER_SHOU_CHE_PIAO.getCode().equals(invoiceCheck.getFpzl())){ + if (InvoiceType.ER_SHOU_CHE_PIAO.getCode().equals(invoiceCheck.getFpzl())) { //二手车相关结果 getInvoiceVO.setFpdm(invoiceCheck.getFpdm()); getInvoiceVO.setFphm(invoiceCheck.getFphm()); @@ -362,7 +363,7 @@ public class InvoiceCheckWebServiceImpl { getInvoiceVO.setFplx(invoiceCheck.getFpzl()); getInvoiceVO.setZfbz(invoiceCheck.getZfbz()); getInvoiceVO.setBz(invoiceCheck.getBz()); - }else if (InvoiceType.JI_DONG_CHE_PIAO.getCode().equals(invoiceCheck.getFpzl())){ + } else if (InvoiceType.JI_DONG_CHE_PIAO.getCode().equals(invoiceCheck.getFpzl())) { //机动车相关结果 getInvoiceVO.setFpdm(invoiceCheck.getFpdm()); getInvoiceVO.setFphm(invoiceCheck.getFphm()); @@ -377,9 +378,9 @@ public class InvoiceCheckWebServiceImpl { getInvoiceVO.setSjdh(invoiceCheck.getInvoiceCheckCar().getSjdh()); getInvoiceVO.setFdjhm(invoiceCheck.getInvoiceCheckCar().getFdjhm()); getInvoiceVO.setClsbdh(invoiceCheck.getInvoiceCheckCar().getClsbh()); - if (invoiceCheck.getInvoiceCheckCar().getJszmsh() == null){ + if (invoiceCheck.getInvoiceCheckCar().getJszmsh() == null) { getInvoiceVO.setJkzmsh(""); - }else { + } else { getInvoiceVO.setJkzmsh(invoiceCheck.getInvoiceCheckCar().getJszmsh()); } getInvoiceVO.setXfmc(invoiceCheck.getXhfmc()); @@ -399,7 +400,7 @@ public class InvoiceCheckWebServiceImpl { getInvoiceVO.setFpje(invoiceCheck.getFpje()); getInvoiceVO.setFpse(invoiceCheck.getFpse()); getInvoiceVO.setJshj(invoiceCheck.getJshj()); - }else if (InvoiceType.JUAN_PIAO.getCode().equals(invoiceCheck.getFpzl())){ + } else if (InvoiceType.JUAN_PIAO.getCode().equals(invoiceCheck.getFpzl())) { //卷票 getInvoiceVO.setFpdm(invoiceCheck.getFpdm()); getInvoiceVO.setFphm(invoiceCheck.getFphm()); @@ -420,7 +421,7 @@ public class InvoiceCheckWebServiceImpl { getInvoiceVO.setFpse(invoiceCheck.getFpse()); getInvoiceVO.setJshj(invoiceCheck.getJshj()); getInvoiceVO.setZfbz(invoiceCheck.getZfbz()); - }else if (InvoiceType.QUAN_DIAN_ZHUAN_PIAO.getCode().equals(invoiceCheck.getFpzl()) || InvoiceType.QUAN_DIAN_PU_PIAO.getCode().equals(invoiceCheck.getFpzl())){ + } else if (InvoiceType.QUAN_DIAN_ZHUAN_PIAO.getCode().equals(invoiceCheck.getFpzl()) || InvoiceType.QUAN_DIAN_PU_PIAO.getCode().equals(invoiceCheck.getFpzl())) { getInvoiceVO.setFpdm(invoiceCheck.getFpdm()); getInvoiceVO.setFphm(invoiceCheck.getFphm()); getInvoiceVO.setKprq(newKprq); @@ -441,7 +442,7 @@ public class InvoiceCheckWebServiceImpl { getInvoiceVO.setFpse(invoiceCheck.getFpse()); getInvoiceVO.setJshj(invoiceCheck.getJshj()); getInvoiceVO.setZfbz(invoiceCheck.getZfbz()); - }else if (InvoiceType.TONG_XING_FEI_FA_PIAO.getCode().equals(invoiceCheck.getFpzl())){ + } else if (InvoiceType.TONG_XING_FEI_FA_PIAO.getCode().equals(invoiceCheck.getFpzl())) { getInvoiceVO.setFpdm(invoiceCheck.getFpdm()); getInvoiceVO.setFphm(invoiceCheck.getFphm()); getInvoiceVO.setKprq(newKprq); @@ -461,7 +462,7 @@ public class InvoiceCheckWebServiceImpl { getInvoiceVO.setFpje(invoiceCheck.getFpje()); getInvoiceVO.setFpse(invoiceCheck.getFpse()); getInvoiceVO.setJshj(invoiceCheck.getJshj()); - }else if (InvoiceType.ZHUAN_PIAO.getCode().equals(invoiceCheck.getFpzl())){ + } else if (InvoiceType.ZHUAN_PIAO.getCode().equals(invoiceCheck.getFpzl())) { // 专票结果 getInvoiceVO.setFpdm(invoiceCheck.getFpdm()); getInvoiceVO.setFphm(invoiceCheck.getFphm()); @@ -482,7 +483,7 @@ public class InvoiceCheckWebServiceImpl { getInvoiceVO.setFpje(invoiceCheck.getFpje()); getInvoiceVO.setFpse(invoiceCheck.getFpse()); getInvoiceVO.setJshj(invoiceCheck.getJshj()); - }else if (InvoiceType.DIAN_ZI_PU_PIAO.getCode().equals(invoiceCheck.getFpzl())){ + } else if (InvoiceType.DIAN_ZI_PU_PIAO.getCode().equals(invoiceCheck.getFpzl())) { // 电子普票 getInvoiceVO.setFpdm(invoiceCheck.getFpdm()); getInvoiceVO.setFphm(invoiceCheck.getFphm()); @@ -503,7 +504,7 @@ public class InvoiceCheckWebServiceImpl { getInvoiceVO.setFpje(invoiceCheck.getFpje()); getInvoiceVO.setFpse(invoiceCheck.getFpse()); getInvoiceVO.setJshj(invoiceCheck.getJshj()); - }else if (InvoiceType.ZHENG_ZHI_SHUI_PU_TONG_FA_PIAO.getCode().equals(invoiceCheck.getFpzl())){ + } else if (InvoiceType.ZHENG_ZHI_SHUI_PU_TONG_FA_PIAO.getCode().equals(invoiceCheck.getFpzl())) { // 增值税普通发票 getInvoiceVO.setFpdm(invoiceCheck.getFpdm()); getInvoiceVO.setFphm(invoiceCheck.getFphm()); @@ -524,7 +525,7 @@ public class InvoiceCheckWebServiceImpl { getInvoiceVO.setFpje(invoiceCheck.getFpje()); getInvoiceVO.setFpse(invoiceCheck.getFpse()); getInvoiceVO.setJshj(invoiceCheck.getJshj()); - }else if (InvoiceType.DIAN_ZI_ZHUAN_YONG_FA_PIAO.getCode().equals(invoiceCheck.getFpzl())){ + } else if (InvoiceType.DIAN_ZI_ZHUAN_YONG_FA_PIAO.getCode().equals(invoiceCheck.getFpzl())) { // 电子专用发票 getInvoiceVO.setFpdm(invoiceCheck.getFpdm()); getInvoiceVO.setFphm(invoiceCheck.getFphm()); @@ -545,28 +546,28 @@ public class InvoiceCheckWebServiceImpl { getInvoiceVO.setFpje(invoiceCheck.getFpje()); getInvoiceVO.setFpse(invoiceCheck.getFpse()); getInvoiceVO.setJshj(invoiceCheck.getJshj()); - }else { + } else { //通用结果 getInvoiceVO.setXfmc(invoiceCheck.getXhfmc()); getInvoiceVO.setXfsbh(invoiceCheck.getXhfsbh()); getInvoiceVO.setXfdzdh(invoiceCheck.getXhfdzdh()); getInvoiceVO.setXfyhzh(invoiceCheck.getXhfyhzh()); BeanUtils.copyProperties(invoiceCheck, getInvoiceVO); - BeanUtils.copyProperties(invoiceCheck.getInvoiceCheckToll(),getInvoiceVO); - BeanUtils.copyProperties(invoiceCheck.getInvoiceCheckFreight(),getInvoiceVO); - BeanUtils.copyProperties(invoiceCheck.getInvoiceCheckHangkong(),getInvoiceVO); - BeanUtils.copyProperties(invoiceCheck.getInvoiceCheckTielu(),getInvoiceVO); + BeanUtils.copyProperties(invoiceCheck.getInvoiceCheckToll(), getInvoiceVO); + BeanUtils.copyProperties(invoiceCheck.getInvoiceCheckFreight(), getInvoiceVO); + BeanUtils.copyProperties(invoiceCheck.getInvoiceCheckHangkong(), getInvoiceVO); + BeanUtils.copyProperties(invoiceCheck.getInvoiceCheckTielu(), getInvoiceVO); getInvoiceVO.setZfbz(invoiceCheck.getZfbz()); getInvoiceVO.setKprq(newKprq); } String zfbz = getInvoiceVO.getZfbz(); - if (InvoiceType.ER_SHOU_CHE_PIAO.getCode().equals(invoiceCheck.getFpzl())){ + if (InvoiceType.ER_SHOU_CHE_PIAO.getCode().equals(invoiceCheck.getFpzl())) { // 二手车不用返回红冲标志 invoiceCheck.getFpzl(); - }else if (InvoiceType.JI_DONG_CHE_PIAO.getCode().equals(invoiceCheck.getFpzl())){ + } else if (InvoiceType.JI_DONG_CHE_PIAO.getCode().equals(invoiceCheck.getFpzl())) { // 机动车不用返回红冲标志 invoiceCheck.getFpzl(); - }else { + } else { if (StringUtils.equals(zfbz, "Y")) { getInvoiceVO.setZfbz("Y"); getInvoiceVO.setHcbz("N"); @@ -585,7 +586,7 @@ public class InvoiceCheckWebServiceImpl { if (CollectionUtil.isNotEmpty(details)) { for (InvoiceCheckDetail detail : details) { GetInvoiceSphVO getInvoiceSphVO = new GetInvoiceSphVO(); - if (InvoiceType.JUAN_PIAO.getCode().equals(invoiceCheck.getFpzl())){ + if (InvoiceType.JUAN_PIAO.getCode().equals(invoiceCheck.getFpzl())) { // 卷票详情 getInvoiceSphVO.setHwmc(detail.getHwmc()); getInvoiceSphVO.setGgxh(detail.getGgxh()); @@ -603,7 +604,7 @@ public class InvoiceCheckWebServiceImpl { getInvoiceSphVO.setSsflbm(detail.getSsflbm()); getInvoiceSphVO.setSpsl(detail.getSpsl()); getInvoiceSphVOList.add(getInvoiceSphVO); - }else if (InvoiceType.QUAN_DIAN_ZHUAN_PIAO.getCode().equals(invoiceCheck.getFpzl()) || InvoiceType.QUAN_DIAN_PU_PIAO.getCode().equals(invoiceCheck.getFpzl())){ + } else if (InvoiceType.QUAN_DIAN_ZHUAN_PIAO.getCode().equals(invoiceCheck.getFpzl()) || InvoiceType.QUAN_DIAN_PU_PIAO.getCode().equals(invoiceCheck.getFpzl())) { // 全电专票详情 getInvoiceSphVO.setHwmc(detail.getHwmc()); getInvoiceSphVO.setGgxh(detail.getGgxh()); @@ -616,10 +617,10 @@ public class InvoiceCheckWebServiceImpl { getInvoiceSphVO.setSsflbm(detail.getSsflbm()); getInvoiceSphVO.setSpsl(detail.getSpsl()); getInvoiceSphVOList.add(getInvoiceSphVO); - }else if (InvoiceType.JI_DONG_CHE_PIAO.getCode().equals(invoiceCheck.getFpzl())){ + } else if (InvoiceType.JI_DONG_CHE_PIAO.getCode().equals(invoiceCheck.getFpzl())) { // 机动车没有详情 getInvoiceSphVO.getLx(); - }else if (InvoiceType.TONG_XING_FEI_FA_PIAO.getCode().equals(invoiceCheck.getFpzl())){ + } else if (InvoiceType.TONG_XING_FEI_FA_PIAO.getCode().equals(invoiceCheck.getFpzl())) { // 通行发票 getInvoiceSphVO.setHwmc(detail.getHwmc()); getInvoiceSphVO.setCph(detail.getCph()); @@ -631,10 +632,10 @@ public class InvoiceCheckWebServiceImpl { getInvoiceSphVO.setSl(detail.getSl()); getInvoiceSphVO.setSsflbm(detail.getSsflbm()); getInvoiceSphVOList.add(getInvoiceSphVO); - }else if (InvoiceType.ER_SHOU_CHE_PIAO.getCode().equals(invoiceCheck.getFpzl())){ + } else if (InvoiceType.ER_SHOU_CHE_PIAO.getCode().equals(invoiceCheck.getFpzl())) { // 二手车没有详情 getInvoiceVO.getFplx(); - }else if (InvoiceType.ZHUAN_PIAO.getCode().equals(invoiceCheck.getFpzl())){ + } else if (InvoiceType.ZHUAN_PIAO.getCode().equals(invoiceCheck.getFpzl())) { // 专票详情 getInvoiceSphVO.setHwmc(detail.getHwmc()); getInvoiceSphVO.setGgxh(detail.getGgxh()); @@ -646,7 +647,7 @@ public class InvoiceCheckWebServiceImpl { getInvoiceSphVO.setSl(detail.getSl()); getInvoiceSphVO.setSsflbm(detail.getSsflbm()); getInvoiceSphVOList.add(getInvoiceSphVO); - }else if (InvoiceType.DIAN_ZI_PU_PIAO.getCode().equals(invoiceCheck.getFpzl())){ + } else if (InvoiceType.DIAN_ZI_PU_PIAO.getCode().equals(invoiceCheck.getFpzl())) { // 电子普票 getInvoiceSphVO.setHwmc(detail.getHwmc()); getInvoiceSphVO.setGgxh(detail.getGgxh()); @@ -658,7 +659,7 @@ public class InvoiceCheckWebServiceImpl { getInvoiceSphVO.setSl(detail.getSl()); getInvoiceSphVO.setSsflbm(detail.getSsflbm()); getInvoiceSphVOList.add(getInvoiceSphVO); - }else if (InvoiceType.ZHENG_ZHI_SHUI_PU_TONG_FA_PIAO.getCode().equals(invoiceCheck.getFpzl())){ + } else if (InvoiceType.ZHENG_ZHI_SHUI_PU_TONG_FA_PIAO.getCode().equals(invoiceCheck.getFpzl())) { // 增值税普通发票 getInvoiceSphVO.setHwmc(detail.getHwmc()); getInvoiceSphVO.setGgxh(detail.getGgxh()); @@ -670,7 +671,7 @@ public class InvoiceCheckWebServiceImpl { getInvoiceSphVO.setSl(detail.getSl()); getInvoiceSphVO.setSsflbm(detail.getSsflbm()); getInvoiceSphVOList.add(getInvoiceSphVO); - }else if (InvoiceType.DIAN_ZI_ZHUAN_YONG_FA_PIAO.getCode().equals(invoiceCheck.getFpzl())){ + } else if (InvoiceType.DIAN_ZI_ZHUAN_YONG_FA_PIAO.getCode().equals(invoiceCheck.getFpzl())) { // 电子专用发票 getInvoiceSphVO.setHwmc(detail.getHwmc()); getInvoiceSphVO.setGgxh(detail.getGgxh()); @@ -682,7 +683,7 @@ public class InvoiceCheckWebServiceImpl { getInvoiceSphVO.setSl(detail.getSl()); getInvoiceSphVO.setSsflbm(detail.getSsflbm()); getInvoiceSphVOList.add(getInvoiceSphVO); - }else { + } else { getInvoiceSphVO.setSsflbm(detail.getSpbmjc()); BeanUtils.copyProperties(detail, getInvoiceSphVO); // 含税金额 @@ -695,10 +696,9 @@ public class InvoiceCheckWebServiceImpl { } - // getInvoiceVO转成JSONObject // JSONObject getInvoiceVOJson = (JSONObject) JSONObject.toJSON(getInvoiceVO); - String getInvoiceVOJsonStr = JSON.toJSONString(getInvoiceVO,SerializerFeature.WriteSlashAsSpecial); + String getInvoiceVOJsonStr = JSON.toJSONString(getInvoiceVO, SerializerFeature.WriteSlashAsSpecial); JSONObject getInvoiceVOJson = JSONObject.parseObject(getInvoiceVOJsonStr); Element getInvoiceDoc = json2Element(result, "Fp", getInvoiceVOJson); @@ -708,19 +708,13 @@ public class InvoiceCheckWebServiceImpl { // 航信明细行从1开始 getInvoiceSphVO.setId(getInvoiceSphVO.getId() + count); // 防止转义 - if (!InvoiceType.DIAN_ZI_PU_PIAO.getCode().equals(invoiceCheck.getFpzl())){ - String getInvoiceSphVOJsonStr = JSON.toJSONString(getInvoiceSphVO, SerializerFeature.WriteSlashAsSpecial); - getInvoiceSphVOJsonStr = getInvoiceSphVOJsonStr.replace("免税","0.0%").replace("***","0.00"); - JSONObject getInvoiceSphVOJson = JSONObject.parseObject(getInvoiceSphVOJsonStr); - Element sphElement = json2Element(result, "Sph", getInvoiceSphVOJson); - getInvoiceDoc.appendChild(sphElement); - }else { - String getInvoiceSphVOJsonStr = JSON.toJSONString(getInvoiceSphVO, SerializerFeature.WriteSlashAsSpecial); - JSONObject getInvoiceSphVOJson = JSONObject.parseObject(getInvoiceSphVOJsonStr); - Element sphElement = json2Element(result, "Sph", getInvoiceSphVOJson); - getInvoiceDoc.appendChild(sphElement); - } - count ++; + String getInvoiceSphVOJsonStr = JSON.toJSONString(getInvoiceSphVO, SerializerFeature.WriteSlashAsSpecial); +// getInvoiceSphVOJsonStr = getInvoiceSphVOJsonStr.replace("免税","0.0%").replace("***","0.00"); + JSONObject getInvoiceSphVOJson = JSONObject.parseObject(getInvoiceSphVOJsonStr); + Element sphElement = json2Element(result, "Sph", getInvoiceSphVOJson); + getInvoiceDoc.appendChild(sphElement); + + count++; } return buildResult(result, "1", "查验成功", getInvoiceDoc);