diff --git a/src/pages/DigitalElectronics/index.tsx b/src/pages/DigitalElectronics/index.tsx
index f26669a..cf5669e 100644
--- a/src/pages/DigitalElectronics/index.tsx
+++ b/src/pages/DigitalElectronics/index.tsx
@@ -4,7 +4,8 @@ import { FormInstance, Button, message, Tag, Popconfirm } from "antd";
import { useRef, useState } from "react";
import { connect } from "umi";
import { Datum } from "@/types/invoice";
-import { handleGetAppToken, handleGetKaiPiao, handleGetSDToken } from "./service";
+import { handleGetAppToken, handleGetKaiPiao, handleGetSDToken, handleSynchroBILLInterface } from "./service";
+import moment from "moment";
interface ConnectState {
user: {
@@ -51,19 +52,10 @@ const DigitalElectronics: React.FC<{ currentUser: any }> = (props) => {
buyerRecipientMail: record?.buyerRecipientMail || "",// 购方收件邮箱
redReason: record?.redReason,
blueinvoiceNo: record?.blueinvoiceNo,
- billDetail: [
- {
- amount: record?.amount, // 明细金额 明细金额,含税标识includeTaxFlag=1时该金额为含税金额
- detailId: record?.detailId,// 业务系统明细id 业务系统明细id,用于反写回原业务系统明细 【长度:50】
- goodsName: record?.goodsName,// 商品名称 商品名称,与商品编码2填1,需提前在系统维护【长度:GBK92字节】
- lineProperty: 2,// 行性质 行性质,1折扣行(折扣行必须紧跟被折扣的正常商品行),2正常商品行
- price: record?.price, // 单价 单价【长度:整数位加小数位最大16位,小数位最多13,小数点占1位】,price有值则quantity必填,含税标识includeTaxFlag=1时该金额为含税金额
- quantity: record?.quantity,// 数量 数量【长度:整数位加小数位最大16位,小数位最多13,小数点占1位】,quantity有值则price必填
- revenueCode: record?.revenueCode,// 税收分类编码 税收分类编码,开票项补全或映射会补全税收分类编码,未走开票项补全或映射必填
- taxRate: record?.taxRate,// 税率 税率,【0.13,0.09,0.06等】。不传时根据开票项匹配税率
- units: record?.units// 计量单位 计量单位,【长度:GBK22字节】
- }
- ]
+ originalIssueTime: record?.originalIssueTime,
+ blueInvoiceType: record?.blueInvoiceType,
+ blueinvoiceCode: record?.blueinvoiceCode,
+ billDetail: record?.billDetail
}
console.log('objobj', obj);
@@ -84,6 +76,12 @@ const DigitalElectronics: React.FC<{ currentUser: any }> = (props) => {
data: encryptedData // 加密后的data字符串
};
+ console.log('加密前的请求参数:', {
+ businessSystemCode: "BUSINESS_YCIC", // 来源系统编码
+ interfaceCode: "BILL.PUSH", // 接口业务编码
+ requestId: Date.now().toString(), // 时间戳作为请求ID
+ data: obj // 加密后的data字符串
+ });
console.log('原始数据:', originalData);
console.log('JSON字符串:', dataString);
console.log('Base64加密后:', encryptedData);
@@ -97,8 +95,12 @@ const DigitalElectronics: React.FC<{ currentUser: any }> = (props) => {
let res: any = JSON.parse(decodeURIComponent(escape(atob(response.data))));
console.log('最终结果:', res);
-
message.success({ content: `单据 ${record.billNo} 开票申请已提交成功`, key: 'invoice' });
+
+ // 他们的调用成功了 再调用我们自己的 同步票据信息表 的接口
+ handleSynchroBILL(record)
+
+
} else {
message.error({ content: `开票申请失败: ${response?.message || '未知错误'}`, key: 'invoice' });
}
@@ -209,6 +211,72 @@ const DigitalElectronics: React.FC<{ currentUser: any }> = (props) => {
},
]
+ const handleSynchroBILL = async (obj: any) => {
+ console.log('调用同步接口', obj);
+
+
+ // 发票明细列表
+ let detailList: any = []
+ if (obj?.billDetail && obj?.billDetail.length > 0) {
+ obj?.billDetail.forEach((item: any) => {
+ detailList.push({
+ ITEM_NAME: item.goodsName,// 款项名称
+ ITEM_RULE: item.specification,// 规格型号
+ ITEM_UNIT: item.units,// 计量单位
+ INVOICE_COUNT: item.quantity,// 开票数量
+ INVOICE_PRICE: item.price,// 开票单价
+ INVOICE_AMOUNT: item.amount,// 开票金额
+ DUTY_PARAGRAPH: item.taxRate,// 开票税率
+ INVOICE_TAX: item.taxAmount,// 开票税额
+ INVOICE_DISCOUNT: item.discountAmount,// 折扣金额
+ INVOICE_DISCOUNTTAX: "",// 折扣税额
+ ITEM_ACTAMOUNT: "",// 款项价税合计
+ ITEM_DEDUCTIONAMOUNT: "",// 扣除额
+ ITEM_ID: "",// 关联数据表内码(多个)
+ TABLE_NAME: "",// 数据表名称
+ OPERATE_DATE: moment().format('YYYY-MM-DD HH:mm:ss'),// 操作时间
+ })
+ })
+ }
+
+ let req: any = {
+ BILL_TYPE: obj.invoiceType === '08xdp' ? '1000' : obj.invoiceType === '10xdp' ? '2000' : '', // 票据类型(1000:增值税专用发票;2000:普通发票) ,
+ BILL_NO: obj?.billNo || "",//票据编号
+ SERIAL_NO: obj?.billNo || "",// 流水号(实际发票号码)
+ BILL_TAXAMOUNT: obj?.includeTaxFlag === '1' ? obj?.totalAmount : '',// 含税开票金额
+ BILL_AMOUNT: obj?.includeTaxFlag === '1' ? '' : obj?.totalAmount,// 除税开票金额
+ DUTY_PARAGRAPH: "",// 开票税率
+ INVOICE_TAXAMOUNT: "",// 含税费用金额
+ INVOICE_AMOUNT: "",// 除税费用金额
+ TAXTAIL_DIFFERENCE: "",// 含税尾差
+ TAIL_DIFFERENCE: "",// 除税尾差
+ TAX_PRICE: "",// 开票税金
+ SERVERPART_ID: "416",
+ SERVERPART_NAME: "新桥服务区",
+ SERVERPARTSHOP_ID: "",// 门店内码
+ SERVERPARTSHOP_NAME: "",// 门店名称
+ MERCHANTS_ID: "",// 商户内码
+ MERCHANTS_NAME: "",// 商户名称
+ BILL_PERSON: obj?.buyerName,// 开票人
+ BILL_DATE: moment().format('YYYY-MM-DD'),// 开票日期
+ BANK_NAME: obj?.buyerBankAndAccount,// 开户银行
+ BANK_ACCOUNT: obj?.buyerBankAndAccount,// 银行账号
+ TAXPAYER_IDENTIFYCODE: obj?.buyerTaxpayerId,// 统一信用代码
+ INTERBANK_NO: "",// 联行号
+ TAXPAYER_CODE: obj?.sellerTaxpayerId,// 开票方纳税人识别号
+ ACCOUNTED_TYPE: "",// 入账类型
+ ACCOUNTED_DATE: "",// 入账时间
+ DOWNLOAD_URL: "",// 下载地址
+ BILL_STATE: "",// 票据状态
+ DetailList: detailList,// 发票明细列表
+ }
+
+ const data = await handleSynchroBILLInterface(req)
+ console.log('data2222', data);
+
+ }
+
+
return (
= (props) => {
// 模拟数据
const mockData: any = [
+ // // 专票
+ // {
+ // billNo: "SRM_202508220957", // 单据编号
+ // billDate: "2025-08-22", // 单据日期
+ // totalAmount: 10, // 单据金额
+ // includeTaxFlag: "1",// 判断是否含税
+ // autoInvoice: "1",// 自动开票标记
+ // invoiceType: "10xdp", //发票种类
+ // buyerName: "深圳市顺丰快运有限公司test01", // 购买方名称
+ // buyerProperty: "0", // 购买方性质
+ // sellerTaxpayerId: "91530112MA7MQ2JR9U", // 销方税号 写死
+ // sellerName: "云南交投集团经营开发有限公司彩云驿商业管理分公司", // 销方名称 写死
+ // sellerBankAndAccount: "13710884704", // 销方银行和账号 写死
+ // sellerAddressAndTel: "", // 销方地址和电话 写死 应该可以不传
+ // drawer: "测试人",// 开票人
+ // buyerRecipientPhone: "18158132615",// 购方收票手机号
+ // buyerRecipientMail: "",// 购方收件邮箱
+ // amount: 10, // 明细金额 明细金额,含税标识includeTaxFlag=1时该金额为含税金额
+ // detailId: "1194121661989796666",// 业务系统明细id 业务系统明细id,用于反写回原业务系统明细 【长度:50】
+ // goodsName: "蜂胶口腔膜",// 商品名称 商品名称,与商品编码2填1,需提前在系统维护【长度:GBK92字节】
+ // lineProperty: 2,// 行性质 行性质,1折扣行(折扣行必须紧跟被折扣的正常商品行),2正常商品行
+ // price: 10,// 单价 单价【长度:整数位加小数位最大16位,小数位最多13,小数点占1位】,price有值则quantity必填,含税标识includeTaxFlag=1时该金额为含税金额
+ // quantity: 1,// 数量 数量【长度:整数位加小数位最大16位,小数位最多13,小数点占1位】,quantity有值则price必填
+ // revenueCode: "1070304990000000000",// 税收分类编码 税收分类编码,开票项补全或映射会补全税收分类编码,未走开票项补全或映射必填
+ // taxRate: "0.13",// 税率 税率,【0.13,0.09,0.06等】。不传时根据开票项匹配税率
+ // units: "个"// 计量单位 计量单位,【长度:GBK22字节】
+
+ // // billDetail: [
+ // // {
+
+ // // }
+ // // ]
+ // },
+ // {
+ // billNo: "SRM_202508220966", // 单据编号
+ // billDate: "2025-08-22", // 单据日期
+ // totalAmount: 10, // 单据金额
+ // includeTaxFlag: "1",// 判断是否含税
+ // autoInvoice: "1",// 自动开票标记
+ // invoiceType: "10xdp", //发票种类
+ // buyerName: "深圳市顺丰快运有限公司test01", // 购买方名称
+ // buyerProperty: "0", // 购买方性质
+ // sellerTaxpayerId: "91530112MA7MQ2JR9U", // 销方税号 写死
+ // sellerName: "云南交投集团经营开发有限公司彩云驿商业管理分公司", // 销方名称 写死
+ // sellerBankAndAccount: "13710884704", // 销方银行和账号 写死
+ // sellerAddressAndTel: "", // 销方地址和电话 写死 应该可以不传
+ // drawer: "测试人",// 开票人
+ // buyerRecipientPhone: "18158132615",// 购方收票手机号
+ // buyerRecipientMail: "",// 购方收件邮箱
+ // amount: 10, // 明细金额 明细金额,含税标识includeTaxFlag=1时该金额为含税金额
+ // detailId: "1194121661989796666",// 业务系统明细id 业务系统明细id,用于反写回原业务系统明细 【长度:50】
+ // goodsName: "蜂胶口腔膜",// 商品名称 商品名称,与商品编码2填1,需提前在系统维护【长度:GBK92字节】
+ // lineProperty: 2,// 行性质 行性质,1折扣行(折扣行必须紧跟被折扣的正常商品行),2正常商品行
+ // price: 10,// 单价 单价【长度:整数位加小数位最大16位,小数位最多13,小数点占1位】,price有值则quantity必填,含税标识includeTaxFlag=1时该金额为含税金额
+ // quantity: 1,// 数量 数量【长度:整数位加小数位最大16位,小数位最多13,小数点占1位】,quantity有值则price必填
+ // revenueCode: "1070304990000000000",// 税收分类编码 税收分类编码,开票项补全或映射会补全税收分类编码,未走开票项补全或映射必填
+ // taxRate: "0.13",// 税率 税率,【0.13,0.09,0.06等】。不传时根据开票项匹配税率
+ // units: "个"// 计量单位 计量单位,【长度:GBK22字节】
+
+ // // billDetail: [
+ // // {
+
+ // // }
+ // // ]
+ // },
+ // // 普票
+ // {
+ // billNo: "SRM_202508221427", // 单据编号
+ // billDate: "2025-08-22", // 单据日期
+ // totalAmount: -10, // 单据金额
+ // includeTaxFlag: "1",// 判断是否含税
+ // invoiceProperty: 0,
+ // autoMerge: 1,
+ // autoInvoice: 1,// 自动开票标记
+ // invoiceType: "10xdp", //发票种类
+ // buyerName: "深圳市顺丰快运有限公司test01", // 购买方名称
+ // buyerProperty: "0", // 购买方性质
+ // sellerTaxpayerId: "91530112MA7MQ2JR9U", // 销方税号 写死
+ // sellerName: "云南交投集团经营开发有限公司彩云驿商业管理分公司", // 销方名称 写死
+ // sellerBankAndAccount: "13710884704", // 销方银行和账号 写死
+ // sellerAddressAndTel: "", // 销方地址和电话 写死 应该可以不传
+ // drawer: "测试人",// 开票人
+ // buyerRecipientPhone: "18158132615",// 购方收票手机号
+ // buyerRecipientMail: "",// 购方收件邮箱
+ // amount: -10, // 明细金额 明细金额,含税标识includeTaxFlag=1时该金额为含税金额
+ // detailId: "1194121661989796666",// 业务系统明细id 业务系统明细id,用于反写回原业务系统明细 【长度:50】
+ // goodsName: "蜂胶口腔膜",// 商品名称 商品名称,与商品编码2填1,需提前在系统维护【长度:GBK92字节】
+ // lineProperty: 2,// 行性质 行性质,1折扣行(折扣行必须紧跟被折扣的正常商品行),2正常商品行
+ // price: -10,// 单价 单价【长度:整数位加小数位最大16位,小数位最多13,小数点占1位】,price有值则quantity必填,含税标识includeTaxFlag=1时该金额为含税金额
+ // quantity: 1,// 数量 数量【长度:整数位加小数位最大16位,小数位最多13,小数点占1位】,quantity有值则price必填
+ // revenueCode: "1070304990000000000",// 税收分类编码 税收分类编码,开票项补全或映射会补全税收分类编码,未走开票项补全或映射必填
+ // taxRate: "0.13",// 税率 税率,【0.13,0.09,0.06等】。不传时根据开票项匹配税率
+ // units: "个",// 计量单位 计量单位,【长度:GBK22字节】
+ // redReason: "2",
+ // blueInvoiceType: "026",
+ // originalIssueTime: "2025-08-24 15:00:00",
+ // blueinvoiceCode: "testBlueCode2025-08-25",
+ // blueinvoiceNo: "testBlueNo2025-08-25"
+ // // billDetail: [
+ // // {
+
+ // // }
+ // // ]
+ // },
+ // {
+ // billNo: "202508220003",
+ // billDate: "2025-08-22",
+ // autoInvoice: "1",
+ // includeTaxFlag: "0",
+ // invoiceProperty: "1",
+ // invoiceType: "10xdp",
+ // totalAmount: -8.85,
+ // buyerTaxpayerId: "91440300MA5G9GK78Y",
+ // buyerName: "深圳市顺丰快运有限公司test01",
+ // sellerTaxpayerId: "91530112MA7MQ2JR9U",
+ // sellerName: "云南交投集团经营开发有限公司彩云驿商业管理分公司",
+ // sellerBankAndAccount: "13710884704",
+ // sellerAddressAndTel: "高新技术产业园南区科技南十二路58996989",
+ // drawer: "王协芬",
+ // autoMerge: "0",
+ // blueinvoiceNo: "SRM_202508220966",
+ // redReason: "2",
+ // amount: -8.85,
+ // goodsName: "通天口服液",
+ // lineProperty: 2,
+ // price: -12,
+ // quantity: 5,
+ // revenueCode: "1070304990000000000",
+ // taxRate: "0.09",
+ // units: "盒"
+ // },
// 专票
{
- billNo: "SRM_202508220945", // 单据编号
- billDate: "2025-08-22", // 单据日期
- totalAmount: 10, // 单据金额
- includeTaxFlag: "1",// 判断是否含税
- autoInvoice: "1",// 自动开票标记
- invoiceType: "08xdp", //发票种类
- buyerName: "深圳市顺丰快运有限公司test01", // 购买方名称
- buyerProperty: "0", // 购买方性质
- sellerTaxpayerId: "91530112MA7MQ2JR9U", // 销方税号 写死
- sellerName: "云南交投集团经营开发有限公司彩云驿商业管理分公司", // 销方名称 写死
- sellerBankAndAccount: "13710884704", // 销方银行和账号 写死
- sellerAddressAndTel: "", // 销方地址和电话 写死 应该可以不传
- drawer: "测试人",// 开票人
- buyerRecipientPhone: "18158132615",// 购方收票手机号
- buyerRecipientMail: "",// 购方收件邮箱
- amount: 10, // 明细金额 明细金额,含税标识includeTaxFlag=1时该金额为含税金额
- detailId: "1194121661989796666",// 业务系统明细id 业务系统明细id,用于反写回原业务系统明细 【长度:50】
- goodsName: "蜂胶口腔膜",// 商品名称 商品名称,与商品编码2填1,需提前在系统维护【长度:GBK92字节】
- lineProperty: 2,// 行性质 行性质,1折扣行(折扣行必须紧跟被折扣的正常商品行),2正常商品行
- price: 10,// 单价 单价【长度:整数位加小数位最大16位,小数位最多13,小数点占1位】,price有值则quantity必填,含税标识includeTaxFlag=1时该金额为含税金额
- quantity: 1,// 数量 数量【长度:整数位加小数位最大16位,小数位最多13,小数点占1位】,quantity有值则price必填
- revenueCode: "1070304990000000000",// 税收分类编码 税收分类编码,开票项补全或映射会补全税收分类编码,未走开票项补全或映射必填
- taxRate: "0.13",// 税率 税率,【0.13,0.09,0.06等】。不传时根据开票项匹配税率
- units: "个"// 计量单位 计量单位,【长度:GBK22字节】
-
- // billDetail: [
- // {
-
- // }
- // ]
- },
- {
- billNo: "SRM_202508220966", // 单据编号
- billDate: "2025-08-22", // 单据日期
- totalAmount: 10, // 单据金额
- includeTaxFlag: "1",// 判断是否含税
- autoInvoice: "1",// 自动开票标记
- invoiceType: "10xdp", //发票种类
- buyerName: "深圳市顺丰快运有限公司test01", // 购买方名称
- buyerProperty: "0", // 购买方性质
- sellerTaxpayerId: "91530112MA7MQ2JR9U", // 销方税号 写死
- sellerName: "云南交投集团经营开发有限公司彩云驿商业管理分公司", // 销方名称 写死
- sellerBankAndAccount: "13710884704", // 销方银行和账号 写死
- sellerAddressAndTel: "", // 销方地址和电话 写死 应该可以不传
- drawer: "测试人",// 开票人
- buyerRecipientPhone: "18158132615",// 购方收票手机号
- buyerRecipientMail: "",// 购方收件邮箱
- amount: 10, // 明细金额 明细金额,含税标识includeTaxFlag=1时该金额为含税金额
- detailId: "1194121661989796666",// 业务系统明细id 业务系统明细id,用于反写回原业务系统明细 【长度:50】
- goodsName: "蜂胶口腔膜",// 商品名称 商品名称,与商品编码2填1,需提前在系统维护【长度:GBK92字节】
- lineProperty: 2,// 行性质 行性质,1折扣行(折扣行必须紧跟被折扣的正常商品行),2正常商品行
- price: 10,// 单价 单价【长度:整数位加小数位最大16位,小数位最多13,小数点占1位】,price有值则quantity必填,含税标识includeTaxFlag=1时该金额为含税金额
- quantity: 1,// 数量 数量【长度:整数位加小数位最大16位,小数位最多13,小数点占1位】,quantity有值则price必填
- revenueCode: "1070304990000000000",// 税收分类编码 税收分类编码,开票项补全或映射会补全税收分类编码,未走开票项补全或映射必填
- taxRate: "0.13",// 税率 税率,【0.13,0.09,0.06等】。不传时根据开票项匹配税率
- units: "个"// 计量单位 计量单位,【长度:GBK22字节】
-
- // billDetail: [
- // {
-
- // }
- // ]
- },
- // 普票
- {
- billNo: "SRM_202508221427", // 单据编号
- billDate: "2025-08-22", // 单据日期
- totalAmount: -10, // 单据金额
- includeTaxFlag: "1",// 判断是否含税
- invoiceProperty: 1,
- autoMerge: 1,
- autoInvoice: "1",// 自动开票标记
- invoiceType: "10xdp", //发票种类
- buyerName: "深圳市顺丰快运有限公司test01", // 购买方名称
- buyerProperty: "0", // 购买方性质
- sellerTaxpayerId: "91530112MA7MQ2JR9U", // 销方税号 写死
- sellerName: "云南交投集团经营开发有限公司彩云驿商业管理分公司", // 销方名称 写死
- sellerBankAndAccount: "13710884704", // 销方银行和账号 写死
- sellerAddressAndTel: "", // 销方地址和电话 写死 应该可以不传
- drawer: "测试人",// 开票人
- buyerRecipientPhone: "18158132615",// 购方收票手机号
- buyerRecipientMail: "",// 购方收件邮箱
- amount: -10, // 明细金额 明细金额,含税标识includeTaxFlag=1时该金额为含税金额
- detailId: "1194121661989796666",// 业务系统明细id 业务系统明细id,用于反写回原业务系统明细 【长度:50】
- goodsName: "蜂胶口腔膜",// 商品名称 商品名称,与商品编码2填1,需提前在系统维护【长度:GBK92字节】
- lineProperty: 2,// 行性质 行性质,1折扣行(折扣行必须紧跟被折扣的正常商品行),2正常商品行
- price: -10,// 单价 单价【长度:整数位加小数位最大16位,小数位最多13,小数点占1位】,price有值则quantity必填,含税标识includeTaxFlag=1时该金额为含税金额
- quantity: 1,// 数量 数量【长度:整数位加小数位最大16位,小数位最多13,小数点占1位】,quantity有值则price必填
- revenueCode: "1070304990000000000",// 税收分类编码 税收分类编码,开票项补全或映射会补全税收分类编码,未走开票项补全或映射必填
- taxRate: "0.13",// 税率 税率,【0.13,0.09,0.06等】。不传时根据开票项匹配税率
- units: "个",// 计量单位 计量单位,【长度:GBK22字节】
- redReason: "2",
- blueinvoiceNo: "200_20250822181151135_0001"
- // billDetail: [
- // {
-
- // }
- // ]
- },
- {
- billNo: "202508220003",
- billDate: "2025-08-22",
+ billNo: "SRM_202509011365",
+ billDate: "2025-09-01",
autoInvoice: "1",
- includeTaxFlag: "0",
- invoiceProperty: "1",
+ includeTaxFlag: "1",
+ invoiceProperty: "0",
invoiceType: "10xdp",
- totalAmount: -60,
+ totalAmount: 10.00,
buyerTaxpayerId: "91440300MA5G9GK78Y",
- buyerName: "金蝶票据云科技(深圳)有限公司",
+ buyerName: "深圳市顺丰快运有限公司test01",
sellerTaxpayerId: "91530112MA7MQ2JR9U",
sellerName: "云南交投集团经营开发有限公司彩云驿商业管理分公司",
sellerBankAndAccount: "13710884704",
sellerAddressAndTel: "高新技术产业园南区科技南十二路58996989",
drawer: "王协芬",
- autoMerge: "0",
- blueinvoiceNo: "22871379197244241920",
- redReason: "2",
+ buyerRecipientPhone: "18158132615",
+ buyerRecipientMail: "",
billDetail: [
{
- amount: -60,
+ amount: 5,
+ detailId: "11112222333344445555",
goodsName: "通天口服液",
lineProperty: 2,
- price: -12,
- quantity: 5,
+ price: 5,
+ quantity: 1,
revenueCode: "1070304990000000000",
- taxRate: "0.09",
+ taxRate: "0.13",
+ units: "盒"
+ },
+ {
+ amount: 5,
+ detailId: "55554444333322221111",
+ goodsName: "通天口服液2",
+ lineProperty: 2,
+ price: 5,
+ quantity: 1,
+ revenueCode: "1070304990000000000",
+ taxRate: "0.13",
units: "盒"
}
- ]
+ ],
}
];
diff --git a/src/pages/DigitalElectronics/service.ts b/src/pages/DigitalElectronics/service.ts
index c2fa5ce..a7338bf 100644
--- a/src/pages/DigitalElectronics/service.ts
+++ b/src/pages/DigitalElectronics/service.ts
@@ -1,4 +1,5 @@
import requestKaiPiao from "@/utils/requestKaiPiao"
+import requestOld from "@/utils/requestOld"
// 获取app_token
@@ -42,3 +43,8 @@ export async function handleGetInvoiceSearch(bodyData: any, accessToken: string)
}
+// 我们自己的 开票同步接口
+export async function handleSynchroBILLInterface(params: any) {
+ const data = await requestOld.post('/Invoice/SynchroBILL', params)
+ return data
+}
\ No newline at end of file
diff --git a/src/pages/InvoiceSearch/index.tsx b/src/pages/InvoiceSearch/index.tsx
index c2d1b8e..8bd5e81 100644
--- a/src/pages/InvoiceSearch/index.tsx
+++ b/src/pages/InvoiceSearch/index.tsx
@@ -2,7 +2,7 @@ import React, { useRef, useState } from 'react';
import ProTable, { ActionType, ProColumns } from '@ant-design/pro-table';
import { Button, message, Tag, FormInstance, Popconfirm } from 'antd';
import { handleGetInvoicePageTable } from '../Invoicing/service';
-import { handleGetAppToken, handleGetInvoiceSearch, handleGetSDToken } from '../DigitalElectronics/service';
+import { handleGetAppToken, handleGetInvoiceSearch, handleGetKaiPiao, handleGetSDToken } from '../DigitalElectronics/service';
// 定义查询接口的返回类型
export interface ApifoxModel {
@@ -242,37 +242,106 @@ const InvoiceSearch: React.FC = () => {
// 红冲
const handleRedReversal = async (params: any) => {
- const queryData = {
- billNo: params?.billNo || "",
- drawer: params?.drawer || "",
- orgCode: params?.orgCode || "",
- sellerTaxpayerId: "91530112MA7MQ2JR9U",
- redReason: "",
- };
- // 将data字段进行base64加密
- const dataString = JSON.stringify(queryData);
- const encryptedData = btoa(unescape(encodeURIComponent(dataString)));
- const req: any = {
- requestId: Date.now().toString(),
- businessSystemCode: "BUSINESS_YCIC",
- interfaceCode: "BILL.QUICK.RED",
- data: encryptedData
- }
- // 他这个接口 就一个地址 改不一样的参数就能调不一样的接口
- const data = await handleGetInvoiceSearch(req, accessToken)
- console.log('datadatadatadata', data);
+ // 整单红冲 不需要调用红冲接口 申请里面放蓝票信息 就是红冲
+ console.log('paramsparams', params);
- if (data && data.success) {
- let res = JSON.parse(decodeURIComponent(escape(atob(data.data))))
- console.log('resresresresres', res);
- if (res && res.length > 0) {
- let result = res[0]
- message.success(result.message)
- actionRef.current?.reload()
- }
- } else {
- message.error(data?.message || '查询失败');
+ let obj: any = {
+ billNo: "SRM_202509011366",
+ billDate: "2025-09-01",
+ autoInvoice: "1",
+ includeTaxFlag: "1",
+ invoiceProperty: "1",
+ totalAmount: -10,
+ invoiceType: "10xdp",
+ buyerTaxpayerId: "91440300MA5G9GK78Y",
+ buyerName: "深圳市顺丰快运有限公司test01",
+ sellerTaxpayerId: "91530112MA7MQ2JR9U",
+ sellerName: "云南交投集团经营开发有限公司彩云驿商业管理分公司",
+ sellerBankAndAccount: "13710884704",
+ sellerAddressAndTel: "高新技术产业园南区科技南十二路58996989",
+ drawer: "王协芬",
+ buyerRecipientPhone: "18158132615",
+ buyerRecipientMail: "",
+ autoMerge: "0",
+ blueinvoiceCode: "",
+ blueinvoiceNo: "22944630796032563200",
+ redReason: "2",
+ billDetail: [
+ {
+ amount: -5,
+ detailId: "11112222333344445555",
+ goodsName: "通天口服液",
+ lineProperty: 2,
+ price: 5,
+ quantity: -1,
+ revenueCode: "1070304990000000000",
+ taxRate: "0.13",
+ units: "盒"
+ },
+ {
+ amount: -5,
+ detailId: "55554444333322221111",
+ goodsName: "通天口服液2",
+ lineProperty: 2,
+ price: 5,
+ quantity: -1,
+ revenueCode: "1070304990000000000",
+ taxRate: "0.13",
+ units: "盒"
+ }
+ ]
}
+ console.log('objobjobj', obj);
+
+ // 构造原始数据
+ const originalData = [obj]; // 将record作为data数组的一项
+ // 将data字段进行base64加密
+ const dataString = JSON.stringify(originalData);
+ const encryptedData = btoa(unescape(encodeURIComponent(dataString))); // base64编码,支持中文
+ // 构造开票请求数据
+ const invoiceData = {
+ businessSystemCode: "BUSINESS_YCIC", // 来源系统编码
+ interfaceCode: "BILL.PUSH", // 接口业务编码
+ requestId: Date.now().toString(), // 时间戳作为请求ID
+ data: encryptedData // 加密后的data字符串
+ };
+ const response = await handleGetKaiPiao(invoiceData, accessToken);
+
+ console.log('responseresponseresponse', response);
+
+ // const queryData = {
+ // billNo: params?.billNo || "",
+ // drawer: params?.drawer || "",
+ // orgCode: params?.orgCode || "",
+ // sellerTaxpayerId: "91530112MA7MQ2JR9U",
+ // redReason: "111",
+ // };
+ // console.log('queryDataqueryDataqueryData', queryData);
+
+ // // 将data字段进行base64加密
+ // const dataString = JSON.stringify(queryData);
+ // const encryptedData = btoa(unescape(encodeURIComponent(dataString)));
+ // const req: any = {
+ // requestId: Date.now().toString(),
+ // businessSystemCode: "BUSINESS_YCIC",
+ // interfaceCode: "BILL.QUICK.RED",
+ // data: encryptedData
+ // }
+ // // 他这个接口 就一个地址 改不一样的参数就能调不一样的接口
+ // const data = await handleGetInvoiceSearch(req, accessToken)
+ // console.log('datadatadatadata', data);
+
+ // if (data && data.success) {
+ // let res = JSON.parse(decodeURIComponent(escape(atob(data.data))))
+ // console.log('resresresresres', res);
+ // if (res && res.length > 0) {
+ // let result = res[0]
+ // message.success(result.message)
+ // actionRef.current?.reload()
+ // }
+ // } else {
+ // message.error(data?.message || '查询失败');
+ // }
}
// 请求表格数据
@@ -307,7 +376,7 @@ const InvoiceSearch: React.FC = () => {
// 构造查询数据
const queryData = {
sellerTaxpayerId: "91530112MA7MQ2JR9U",
- serialNo: params.serialNo || "SRM_202508220966",
+ serialNo: params.serialNo || "SRM_202509011363",
};
// 将data字段进行base64加密