Commit 010c42d8 by 王昆

gsb

parent 8d4b6562
...@@ -84,13 +84,14 @@ class InvoiceCtl extends CtlBase { ...@@ -84,13 +84,14 @@ class InvoiceCtl extends CtlBase {
async platformInvoiceInfo(params, pobj2, req) { async platformInvoiceInfo(params, pobj2, req) {
try { try {
let id = params.id; let id = params.id;
let invoice_type = params.invoice_type;
let apply = await this.saasinvoiceSve.invoiceapplyById(params); let apply = await this.saasinvoiceSve.invoiceapplyById(params);
if (!apply.data || !apply.data.id) { if (!apply.data || !apply.data.id) {
return system.getResult(null, "发票申请不存在"); return system.getResult(null, "发票申请不存在");
} }
// apply = apply.data; // apply = apply.data;
let result = await this.buildTradeInvoice(id); let result = await this.buildTradeInvoice(params);
return system.getResultSuccess(result); return system.getResultSuccess(result);
} catch (error) { } catch (error) {
let msg = error.message; let msg = error.message;
...@@ -101,7 +102,9 @@ class InvoiceCtl extends CtlBase { ...@@ -101,7 +102,9 @@ class InvoiceCtl extends CtlBase {
} }
} }
async buildTradeInvoice(invoiceId) { async buildTradeInvoice(params) {
let invoiceId = params.id;
let invoice_type = params.invoice_type;
// 查交易 // 查交易
let items = await this.tradeSve.itemByInvoiceId({saas_invoice_id: invoiceId}); let items = await this.tradeSve.itemByInvoiceId({saas_invoice_id: invoiceId});
items = items.data; items = items.data;
...@@ -121,10 +124,8 @@ class InvoiceCtl extends CtlBase { ...@@ -121,10 +124,8 @@ class InvoiceCtl extends CtlBase {
businessmenMap = businessmenMap.data; businessmenMap = businessmenMap.data;
let invoiceList = []; let invoiceList = [];
let additional_tax_total = 0; let calcParams = [];
let personal_invoice_tax_total = 0;
let value_added_tax_total = 0;
let service_tax_total = 0;
for (let creditCode in bmMap) { for (let creditCode in bmMap) {
let businessmen = businessmenMap[creditCode]; let businessmen = businessmenMap[creditCode];
let itemList = bmMap[creditCode]; let itemList = bmMap[creditCode];
...@@ -132,59 +133,71 @@ class InvoiceCtl extends CtlBase { ...@@ -132,59 +133,71 @@ class InvoiceCtl extends CtlBase {
for (let item of itemList) { for (let item of itemList) {
amount = amount + Number(item.amt || 0); amount = amount + Number(item.amt || 0);
} }
calcParams.push({
// TODO 总统计算 begin "credit_code": creditCode,
let notifyApi = settings.outApi().deliverNotifyApi; "invoiced_time": moment().format("YYYY-MM-DD hh:mm:ss"),
let data = { "invoice_type": invoice_type,
"credit_code":creditCode, "invoice_amount": amount
"invoiced_time":moment(pobj.invoiced_time).format("YYYY-MM-DD hh:mm:ss"),
"invoice_type":pobj.invoice_type,
"invoice_amount":pobj.invoice_amount
};
// 推送订单到交付平台
let url = settings.deliverSysApi().calcInvoice;
let res = await axios({
method: 'post',
url: url,
data: data
}); });
if(!res || !res.data || res.status !=0){
return system.getResult(null,`试算错误`);
}
let data = res.data;
let invoiceCalc = {
"personal_invoice_tax": data.personal_invoice_tax,
"additional_tax": data.additional_tax,
"service_tax": data.service_tax,
"value_added_tax": data.value_added_tax,
}
// TODO 总统计算 end // TODO 总统计算 end
additional_tax_total = additional_tax_total + Number(invoiceCalc.additional_tax);
personal_invoice_tax_total = personal_invoice_tax_total + Number(invoiceCalc.personal_invoice_tax);
value_added_tax_total = value_added_tax_total + Number(invoiceCalc.value_added_tax);
service_tax_total = service_tax_total + Number(invoiceCalc.service_tax);
invoiceList.push({ invoiceList.push({
"name": businessmen.name, "name": businessmen.name,
"credit_code": creditCode, "credit_code": creditCode,
"is_bank": businessmen.isBank, "is_bank": businessmen.isBank,
"invoice_amount": amount, "invoice_amount": amount,
"personal_invoice_tax": Number(invoiceCalc.personal_invoice_tax), "personal_invoice_tax": 0,
"additional_tax": Number(invoiceCalc.additional_tax), "additional_tax": 0,
"service_tax": Number(invoiceCalc.service_tax), "service_tax": 0,
"value_added_tax": Number(invoiceCalc.value_added_tax), "value_added_tax": 0,
"unit": "", "unit": "",
"quantity": "", "quantity": "",
"price": "", "price": "",
"remark": "" "remark": ""
}); });
} }
let additional_tax_total = 0;
let personal_invoice_tax_total = 0;
let value_added_tax_total = 0;
let service_tax_total = 0;
// TODO 总统计算 begin
// 计算税金
let url = settings.deliverSysApi().calcInvoice;
let res = await axios({
method: 'post',
url: url,
data: calcParams
});
if(!res || !res.data || res.status !=0){
return system.getResult(null,`试算错误`);
}
let calcList = res.data;
let calcMap = {};
for (let c of calcList) {
calcMap[c.credit_code] = c;
}
for (let invoice of invoiceList) {
let invoiceCalc = calcMap[invoice.credit_code];
additional_tax_total = additional_tax_total + Number(invoiceCalc.additional_tax);
personal_invoice_tax_total = personal_invoice_tax_total + Number(invoiceCalc.personal_invoice_tax);
value_added_tax_total = value_added_tax_total + Number(invoiceCalc.value_added_tax);
service_tax_total = service_tax_total + Number(invoiceCalc.service_tax);
invoice.personal_invoice_tax = Number(invoiceCalc.personal_invoice_tax);
invoice.additional_tax = Number(invoiceCalc.additional_tax);
invoice.service_tax = Number(invoiceCalc.service_tax);
invoice.value_added_tax = Number(invoiceCalc.value_added_tax);
}
return { return {
tax: { tax: {
additional_tax_total: additional_tax_total, additional_tax_total: additional_tax_total,
personal_invoice_tax_total: personal_invoice_tax_total, personal_invoice_tax_total: personal_invoice_tax_total,
value_added_tax_total: value_added_tax_total, value_added_tax_total: value_added_tax_total,
service_tax_total: service_tax_total,
}, },
invoiceList: invoiceList invoiceList: invoiceList
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment