From e4f93c399d523a0e193426533fabc5bfb72610c8 Mon Sep 17 00:00:00 2001 From: yefei Date: Tue, 21 Mar 2023 21:39:24 +0800 Subject: [PATCH] =?UTF-8?q?ariesy=20=E5=AF=B9=E6=8E=A5=E5=BC=80=E6=94=BE?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E6=9F=A5=E9=AA=8C-=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E5=BC=80=E6=94=BE=E5=B9=B3=E5=8F=B0=E6=88=90=E5=8A=9F=20v3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SDNYMainProcessController.java | 1 + .../erp/service/SNPushCheckRecordService.java | 83 ++++++++++++++----- .../java/com/dxhy/erp/utils/ApiUtils.java | 2 +- 3 files changed, 65 insertions(+), 21 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 76d917d2..909b5a74 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 @@ -147,6 +147,7 @@ public class SDNYMainProcessController extends AbstractController { //入票池 + //推送到SAP List invoiceInfoList = snRequestObject.getInvoiceInfoList(); 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 6e5cffc2..fa18222e 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 @@ -3,21 +3,26 @@ package com.dxhy.erp.service; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; import cn.hutool.http.HttpUtil; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dxhy.common.constant.DbConstant; import com.dxhy.common.datasource.config.DynamicContextHolder; import com.dxhy.common.util.InvoiceUtil; import com.dxhy.common.vo.UserInfo; import com.dxhy.erp.dao.AreaDao; import com.dxhy.erp.dao.OrgUserInfoDao; +import com.dxhy.erp.entity.BaseTDxRecordInvoice; import com.dxhy.erp.entity.kfpt.ApiCheckInvoiceSingleRequest; import com.dxhy.erp.entity.kfpt.ApiRequest; import com.dxhy.erp.entity.kfpt.ApiResponse; import com.dxhy.erp.entity.kfpt.TokenResponse; import com.dxhy.erp.entity.sdny.InvoiceDetail; import com.dxhy.erp.entity.sdny.InvoiceInfo; +import com.dxhy.erp.entity.sdny.SNRequestObject; import com.dxhy.erp.entity.sdny.area.Area; import com.dxhy.erp.utils.*; +import com.google.gson.JsonArray; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -85,6 +90,45 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { return post; } + public String pushInvoiceToRecordInvoice(SNRequestObject snRequestObject) throws Exception { + + +// QueryWrapper currentWrapper = new QueryWrapper<>(); +// currentWrapper.eq("taxno", gfsbh); +// DynamicContextHolder.push("business" + DbConstant.BUSINESS_READ); +// BaseTDxTaxCurrent current = baseTDxTaxCurrentDao.selectOne(currentWrapper); +// +// +// BaseTDxRecordInvoice recordInvoice = new BaseTDxRecordInvoice(); +// recordInvoice.setUuid(fpdm + fphm); +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// try { +// recordInvoice.setInvoiceDate(sdf.parse(kprq)); +// } catch (ParseException e) { +// e.printStackTrace(); +// } +// recordInvoice.setInvoiceCode(fpdm); +// recordInvoice.setInvoiceNo(fphm); +// recordInvoice.setInvoiceAmount(new BigDecimal(je)); +// recordInvoice.setTaxAmount(new BigDecimal(se)); +// recordInvoice.setXfTaxNo(xfsh); +// recordInvoice.setGfTaxNo(gfsbh); +// recordInvoice.setGfName(gfmc); +// recordInvoice.setRzlx("5"); +// recordInvoice.setYqsqStatus("1"); +// recordInvoice.setYqCurrentPeriod(current.getCurrentTaxPeriod()); +// recordInvoice.setCreateDate(new Date()); +// recordInvoice.setYqsqDate(new Date()); +// recordInvoice.setSourceSystem("2"); +// recordInvoice.setInvoiceStatus("0"); +// recordInvoice.setInvoiceType(invoiceType); +// recordInvoice.setCompany((String)pramsMap.get("company")); +// baseTDxRecordInvoiceDao.insert(recordInvoice); + + + return ""; + } + public JSONObject checkInvoice(Map pramsMap, UserInfo userInfo) { @@ -158,11 +202,12 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { private JSONObject convertToSnObject(String content, JSONObject jsonObject, String invoiceType) { - HashMap contentMap = JSONObject.parseObject(Base64.decode(content).toString(), HashMap.class); + String con = new String(Base64.decode(content)); + HashMap contentMap = JSONObject.parseObject(con, HashMap.class); if ("0000".equals(contentMap.get("code"))) { - HashMap invoiceData = (HashMap) contentMap.get("data"); + HashMap invoiceData = JSONObject.parseObject(contentMap.get("data").toString(), HashMap.class); jsonObject.put("invoiceType", invoiceType); jsonObject.put("administrativeDivisionNo", ""); @@ -212,26 +257,24 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { jsonObject.put("idcardNo", invoiceData.get("sfzh")); List> returnDetailList = new ArrayList<>(); - String detailListStr = invoiceData.get("detailList"); - List> detailList = JSONObject.parseObject(detailListStr, List.class); - int i = 1; - for (Map detail : detailList) { - + JSONArray detailList = (JSONArray) invoiceData.get("detailList"); + for (int i = 0;i snDetailMap = new HashMap(); snDetailMap.put("rowNo", i + ""); - snDetailMap.put("commodityCode", detail.get("mxbh")); - snDetailMap.put("commodityName", detail.get("hwmc")); - snDetailMap.put("specificationModel", detail.get("ggxh")); - snDetailMap.put("unit", detail.get("jldw")); - snDetailMap.put("quantity", detail.get("spsl")); - snDetailMap.put("unitPrice", detail.get("hsdj")); - snDetailMap.put("amount", detail.get("je")); - snDetailMap.put("taxRate", detail.get("sl")); - snDetailMap.put("tax", detail.get("se")); - snDetailMap.put("currentDateEnd", detail.get("txrqz")); - snDetailMap.put("currentDateStart", detail.get("txrqq")); - snDetailMap.put("licensePlateNum", detail.get("cph")); - snDetailMap.put("type", detail.get("lx")); + 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++; diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/utils/ApiUtils.java b/dxhy-erp/src/main/java/com/dxhy/erp/utils/ApiUtils.java index 36e8e58e..71b3ea15 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/utils/ApiUtils.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/utils/ApiUtils.java @@ -53,7 +53,7 @@ public class ApiUtils { apiRequest.setEntCode(entCode); apiRequest.setDataExchangeId(requestId); String body = JSONObject.toJSONString(apiRequest); - url = url + "?access_token=" + accessToken; + url = url + accessToken; String result = null; try { result = HttpClientUtils.post(url, body, contentType, charset, connTimeout, readTimeout);