From 758ec75694996e8f2342bb0e38314e6aa5432d3b Mon Sep 17 00:00:00 2001 From: wangzhikun Date: Wed, 22 Mar 2023 09:13:25 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=BF=9B=E9=A1=B9=E7=A8=8E=E8=BD=AC?= =?UTF-8?q?=E5=87=BA=E4=B8=9A=E5=8A=A1id=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/dxhy/erp/controller/InterfaceController.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java b/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java index 5250940e..00103e84 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java @@ -1144,7 +1144,8 @@ public class InterfaceController extends AbstractController { //同步 凭证号 判断自动认证接口开发 if("FI847".equals(requestParam.getIS_INPUT().getIFYWID())){ resultString = receiveErpInvoiceMessage(requestParam); - }else if("FI110".equals(requestParam.getIS_INPUT().getIFYWID())){ + //进项税转出 + }else if("FI849".equals(requestParam.getIS_INPUT().getIFYWID())){ resultString = transferOut(requestParam); } return resultString; From c45cd7318632499bd914c76a48b47b5ff6ceb34e Mon Sep 17 00:00:00 2001 From: yefei Date: Wed, 22 Mar 2023 09:59:08 +0800 Subject: [PATCH 2/2] =?UTF-8?q?ariesy=20=E5=AE=8C=E5=96=84=E6=9F=A5?= =?UTF-8?q?=E9=AA=8C=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SDNYMainProcessController.java | 13 +- .../erp/service/SNPushCheckRecordService.java | 163 ++++++++++-------- 2 files changed, 97 insertions(+), 79 deletions(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java b/dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java index a87688ba..fe2bbc39 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java @@ -62,8 +62,6 @@ public class SDNYMainProcessController extends AbstractController { return ResponseEntity.ok(R.error("发票代码不能为空!")); } -// pramsMap.put("invoiceType", iu.getFplxdm()); - if (pramsMap.get("invoiceNumber").isEmpty()) { return ResponseEntity.ok(R.error("发票号码不能为空!")); @@ -80,6 +78,10 @@ public class SDNYMainProcessController extends AbstractController { return ResponseEntity.ok(R.error("开票日期不能为空!")); } + if (pramsMap.get("invoiceType").isEmpty()) { + return ResponseEntity.ok(R.error("开票日期不能为空!")); + } + if (SNFplxEnum.ZP.getSnFplxDm().equals(pramsMap.get("invoiceType")) || SNFplxEnum.JDC.getSnFplxDm().equals(pramsMap.get("invoiceType")) || SNFplxEnum.DZZP.getSnFplxDm().equals(pramsMap.get("invoiceType")) @@ -113,9 +115,12 @@ public class SDNYMainProcessController extends AbstractController { || SNFplxEnum.QDPP.getSnFplxDm().equals(pramsMap.get("invoiceType")) ) { - pramsMap.put("invoiceType", fplxdm); //查验发票数据 - checkInvoiceResult = snPushCheckRecordService.singleCheckInvoice(pramsMap); + try { + checkInvoiceResult = snPushCheckRecordService.singleCheckInvoice(pramsMap); + } catch (Exception e) { + e.printStackTrace(); + } if (!checkInvoiceResult.containsKey("code")) { return ResponseEntity.ok(R.ok().put("data", checkInvoiceResult)); diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java index ab562ad2..d477eb45 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java @@ -88,8 +88,6 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { private BaseTDxRecordInvoiceDao baseTDxRecordInvoiceDao; public String pushCheckResultToSAP(JSONObject result) throws Exception { - result.put("systemSign", ""); - result.put("roleIds", ""); log.info("获取角色请求参数:{} , 请求地址:{}", result, snYxUrl); String post = HttpUtil.post(snYxUrl, result, 30000); log.info("获取角色返回信息:{}", post); @@ -113,6 +111,13 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { String fpdm = snInvoice.getInvoiceCode(); String fphm = snInvoice.getInvoiceNumber(); + + QueryWrapper recordWrapper = new QueryWrapper<>(); + currentWrapper.eq("uuid", fpdm + fphm); + + BaseTDxRecordInvoice baseTDxRecordInvoice = baseTDxRecordInvoiceDao.selectOne(recordWrapper); + + String kprq = snInvoice.getBillingDate(); String je = snInvoice.getTotalAmount(); String xfsh = snInvoice.getSalesTaxNo(); @@ -145,7 +150,12 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { recordInvoice.setInvoiceStatus("0"); recordInvoice.setInvoiceType(invoiceType); recordInvoice.setCompany(company); - baseTDxRecordInvoiceDao.insert(recordInvoice); + + if(baseTDxRecordInvoice != null) { + baseTDxRecordInvoiceDao.update(recordInvoice,recordWrapper); + }else{ + baseTDxRecordInvoiceDao.insert(recordInvoice); + } } } @@ -185,7 +195,7 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { return queryInvoiceResult; } - public JSONObject singleCheckInvoice(Map pramsMap) { + public JSONObject singleCheckInvoice(Map pramsMap) throws Exception{ //1.封装查验参数 ApiRequest apiRequest = new ApiRequest(); @@ -231,80 +241,83 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { if ("0000".equals(contentMap.get("code"))) { HashMap invoiceData = JSONObject.parseObject(contentMap.get("data").toString(), HashMap.class); + if("0001".equals(invoiceData.get("cyjg"))) { + jsonObject.put("invoiceType", invoiceType); + jsonObject.put("administrativeDivisionNo", ""); + jsonObject.put("administrativeDivisionName", ""); + + jsonObject.put("invoiceCode", invoiceData.get("fpdm")); + jsonObject.put("invoiceNumber", invoiceData.get("fphm")); + jsonObject.put("billingDate", invoiceData.get("kprq")); + jsonObject.put("purchaserName", invoiceData.get("gmfmc")); + jsonObject.put("purchaserTaxNo", invoiceData.get("gmfsbh")); + jsonObject.put("purchaserBank", invoiceData.get("gmfyhzh")); + jsonObject.put("purchaserAddressPhone", invoiceData.get("gmfdzdh")); + jsonObject.put("salesName", invoiceData.get("xhfmc")); + jsonObject.put("salesTaxNo", invoiceData.get("xhfsbh")); + jsonObject.put("salesAddressPhone", invoiceData.get("xhfdzdh")); + jsonObject.put("salesBank", invoiceData.get("xhfyhzh")); + jsonObject.put("totalAmount", invoiceData.get("totalAmount")); + jsonObject.put("totalTax", invoiceData.get("fpse")); + jsonObject.put("amountTax", invoiceData.get("jshj")); + jsonObject.put("amountTaxCN", ""); + jsonObject.put("checkCode", invoiceData.get("jym")); + jsonObject.put("state", invoiceData.get("zfbz")); + jsonObject.put("carrierName", invoiceData.get("cyrmc")); + jsonObject.put("carrierTaxNo", invoiceData.get("cyrsbh")); + jsonObject.put("draweeName", invoiceData.get("spfmc")); + jsonObject.put("draweeTaxNo", invoiceData.get("spfsbh")); + jsonObject.put("cargoInformation", invoiceData.get("ysgwxx")); + jsonObject.put("transportRoute", invoiceData.get("qydjyddd")); + jsonObject.put("machineCode", invoiceData.get("skph")); + jsonObject.put("tonnage", invoiceData.get("ccdw")); + jsonObject.put("taxAuthorityNo", invoiceData.get("zgswjgdm")); + jsonObject.put("taxAuthorityName", invoiceData.get("zgswjgmc")); + jsonObject.put("remarks", invoiceData.get("bz")); + jsonObject.put("vehicleType", invoiceData.get("cllx")); + jsonObject.put("brandModel", invoiceData.get("cpxh")); + jsonObject.put("originPlace", invoiceData.get("cd")); + jsonObject.put("certificateNo", invoiceData.get("hgzs")); + jsonObject.put("inspectionListNo", invoiceData.get("sjdh")); + jsonObject.put("engineNo", invoiceData.get("fdjhm")); + jsonObject.put("vehicleNo", invoiceData.get("clsbh")); + jsonObject.put("importCertificateNo", invoiceData.get("jszmsh")); + jsonObject.put("paymentVoucherNo", invoiceData.get("wspzhm")); + jsonObject.put("passengersLimited", invoiceData.get("xcrs")); + jsonObject.put("tollSign", invoiceData.get("txfbz")); + jsonObject.put("zeroTaxRateSign", invoiceData.get("lslbs")); + jsonObject.put("source", ""); + jsonObject.put("idcardNo", invoiceData.get("sfzh")); + + List> returnDetailList = new ArrayList<>(); + JSONArray detailList = (JSONArray) invoiceData.get("detailList"); + for (int i = 0; i < detailList.size(); i++) { + JSONObject detail = (JSONObject) detailList.get(i); + Map snDetailMap = new HashMap(); + snDetailMap.put("rowNo", ++i + ""); + snDetailMap.put("commodityCode", detail.getString("mxbh")); + snDetailMap.put("commodityName", detail.getString("hwmc")); + snDetailMap.put("specificationModel", detail.getString("ggxh")); + snDetailMap.put("unit", detail.getString("jldw")); + snDetailMap.put("quantity", detail.getString("spsl")); + snDetailMap.put("unitPrice", detail.getString("hsdj")); + snDetailMap.put("amount", detail.getString("je")); + snDetailMap.put("taxRate", detail.getString("sl")); + snDetailMap.put("tax", detail.getString("se")); + snDetailMap.put("currentDateEnd", detail.getString("txrqz")); + snDetailMap.put("currentDateStart", detail.getString("txrqq")); + snDetailMap.put("licensePlateNum", detail.getString("cph")); + snDetailMap.put("type", detail.getString("lx")); + + returnDetailList.add(snDetailMap); + } - jsonObject.put("invoiceType", invoiceType); - jsonObject.put("administrativeDivisionNo", ""); - jsonObject.put("administrativeDivisionName", ""); - - jsonObject.put("invoiceCode", invoiceData.get("fpdm")); - jsonObject.put("invoiceNumber", invoiceData.get("fphm")); - jsonObject.put("billingDate", invoiceData.get("kprq")); - jsonObject.put("purchaserName", invoiceData.get("gmfmc")); - jsonObject.put("purchaserTaxNo", invoiceData.get("gmfsbh")); - jsonObject.put("purchaserBank", invoiceData.get("gmfyhzh")); - jsonObject.put("purchaserAddressPhone", invoiceData.get("gmfdzdh")); - jsonObject.put("salesName", invoiceData.get("xhfmc")); - jsonObject.put("salesTaxNo", invoiceData.get("xhfsbh")); - jsonObject.put("salesAddressPhone", invoiceData.get("xhfdzdh")); - jsonObject.put("salesBank", invoiceData.get("xhfyhzh")); - jsonObject.put("totalAmount", invoiceData.get("totalAmount")); - jsonObject.put("totalTax", invoiceData.get("fpse")); - jsonObject.put("amountTax", invoiceData.get("jshj")); - jsonObject.put("amountTaxCN", ""); - jsonObject.put("checkCode", invoiceData.get("jym")); - jsonObject.put("state", invoiceData.get("zfbz")); - jsonObject.put("carrierName", invoiceData.get("cyrmc")); - jsonObject.put("carrierTaxNo", invoiceData.get("cyrsbh")); - jsonObject.put("draweeName", invoiceData.get("spfmc")); - jsonObject.put("draweeTaxNo", invoiceData.get("spfsbh")); - jsonObject.put("cargoInformation", invoiceData.get("ysgwxx")); - jsonObject.put("transportRoute", invoiceData.get("qydjyddd")); - jsonObject.put("machineCode", invoiceData.get("skph")); - jsonObject.put("tonnage", invoiceData.get("ccdw")); - jsonObject.put("taxAuthorityNo", invoiceData.get("zgswjgdm")); - jsonObject.put("taxAuthorityName", invoiceData.get("zgswjgmc")); - jsonObject.put("remarks", invoiceData.get("bz")); - jsonObject.put("vehicleType", invoiceData.get("cllx")); - jsonObject.put("brandModel", invoiceData.get("cpxh")); - jsonObject.put("originPlace", invoiceData.get("cd")); - jsonObject.put("certificateNo", invoiceData.get("hgzs")); - jsonObject.put("inspectionListNo", invoiceData.get("sjdh")); - jsonObject.put("engineNo", invoiceData.get("fdjhm")); - jsonObject.put("vehicleNo", invoiceData.get("clsbh")); - jsonObject.put("importCertificateNo", invoiceData.get("jszmsh")); - jsonObject.put("paymentVoucherNo", invoiceData.get("wspzhm")); - jsonObject.put("passengersLimited", invoiceData.get("xcrs")); - jsonObject.put("tollSign", invoiceData.get("txfbz")); - jsonObject.put("zeroTaxRateSign", invoiceData.get("lslbs")); - jsonObject.put("source", ""); - jsonObject.put("idcardNo", invoiceData.get("sfzh")); - - List> returnDetailList = new ArrayList<>(); - JSONArray detailList = (JSONArray) invoiceData.get("detailList"); - for (int i = 0;i snDetailMap = new HashMap(); - snDetailMap.put("rowNo", i + ""); - snDetailMap.put("commodityCode", detail.getString("mxbh")); - snDetailMap.put("commodityName", detail.getString("hwmc")); - snDetailMap.put("specificationModel", detail.getString("ggxh")); - snDetailMap.put("unit", detail.getString("jldw")); - snDetailMap.put("quantity", detail.getString("spsl")); - snDetailMap.put("unitPrice", detail.getString("hsdj")); - snDetailMap.put("amount", detail.getString("je")); - snDetailMap.put("taxRate", detail.getString("sl")); - snDetailMap.put("tax", detail.getString("se")); - snDetailMap.put("currentDateEnd", detail.getString("txrqz")); - snDetailMap.put("currentDateStart", detail.getString("txrqq")); - snDetailMap.put("licensePlateNum", detail.getString("cph")); - snDetailMap.put("type", detail.getString("lx")); - - returnDetailList.add(snDetailMap); - i++; + jsonObject.put("invoiceLineList", returnDetailList); + }else{ + jsonObject.put("cyjg",invoiceData.get("cyjg")); + jsonObject.put("cyjgxx",invoiceData.get("cyjgxx")); } - jsonObject.put("invoiceLineList", returnDetailList); - } else { jsonObject.put("code", contentMap.get("code")); jsonObject.put("message", contentMap.get("message"));