Commit 874eb57a by 王昆

gsb

parent c0b188d5
...@@ -4,6 +4,7 @@ const validation = system.getObject("util.validation"); ...@@ -4,6 +4,7 @@ const validation = system.getObject("util.validation");
var moment = require('moment'); var moment = require('moment');
const settings = require("../../../../config/settings"); const settings = require("../../../../config/settings");
const axios = require("axios"); const axios = require("axios");
class InvoiceCtl extends CtlBase { class InvoiceCtl extends CtlBase {
constructor() { constructor() {
super(); super();
...@@ -145,19 +146,21 @@ class InvoiceCtl extends CtlBase { ...@@ -145,19 +146,21 @@ class InvoiceCtl extends CtlBase {
amount = amount + Number(item.amt || 0); amount = amount + Number(item.amt || 0);
} }
let service_tax = parseFloat((Number(amount) * Number(invoice_service_rate) / 100).toFixed(2)); let service_tax = parseFloat((Number(amount) * Number(invoice_service_rate) / 100).toFixed(2));
if (businessmen.is_bank) {
calcParams.push({ calcParams.push({
"credit_code": creditCode, "credit_code": creditCode,
"invoiced_time": moment().format("YYYY-MM-DD hh:mm:ss"), "invoiced_time": moment().format("YYYY-MM-DD hh:mm:ss"),
"invoice_type": invoice_type, "invoice_type": invoice_type,
"invoice_amount": amount "invoice_amount": amount
}); });
}
// TODO 总统计算 end // TODO 总统计算 end
invoiceList.push({ invoiceList.push({
"name": businessmen.name, "name": businessmen.name,
"credit_code": creditCode, "credit_code": creditCode,
"is_bank": businessmen.isBank, "is_bank": businessmen.is_bank,
"is_bank_name": businessmen.isBank ? "已开户" : "未开户", "is_bank_name": businessmen.is_bank ? "已开户" : "未开户",
"invoice_amount": system.f2y(amount), "invoice_amount": system.f2y(amount),
"personal_invoice_tax": 0, "personal_invoice_tax": 0,
"additional_tax": 0, "additional_tax": 0,
...@@ -178,18 +181,19 @@ class InvoiceCtl extends CtlBase { ...@@ -178,18 +181,19 @@ class InvoiceCtl extends CtlBase {
// TODO 总统计算 begin // TODO 总统计算 begin
// 计算税金 // 计算税金
try { try {
let calcMap = {};
if (calcParams.length > 0) {
let url = settings.deliverSysApi().calcInvoice; let url = settings.deliverSysApi().calcInvoice;
let res = await axios({ let res = await axios({
method: 'post', method: 'post',
url: url, url: url,
data: calcParams data: calcParams
}); });
if(!res || !res.data || res.data.status !=0 || res.data.data.length==0){ if (!res || !res.data || res.data.status != 0 || res.data.data.length == 0) {
return system.getResult(null,`试算错误`); return system.getResult(null, `试算错误`);
} }
let calcList = res.data.data; let calcList = res.data.data;
let calcMap = {};
let errors = []; let errors = [];
for (let c of calcList) { for (let c of calcList) {
calcMap[c.credit_code] = c; calcMap[c.credit_code] = c;
...@@ -201,19 +205,23 @@ class InvoiceCtl extends CtlBase { ...@@ -201,19 +205,23 @@ class InvoiceCtl extends CtlBase {
if (errors.length > 0) { if (errors.length > 0) {
return system.getResult(null, errors.join("、")); return system.getResult(null, errors.join("、"));
} }
}
for (let invoice of invoiceList) { for (let invoice of invoiceList) {
let businessmen = businessmenMap[invoice.credit_code];
if (!businessmen.is_bank) {
service_tax_total = service_tax_total + Number(invoice.service_tax);
let invoiceCalc = calcMap[invoice.credit_code]; let invoiceCalc = calcMap[invoice.credit_code];
additional_tax_total = additional_tax_total + Number(invoiceCalc.additional_tax); additional_tax_total = additional_tax_total + Number(invoiceCalc.additional_tax);
personal_invoice_tax_total = personal_invoice_tax_total + Number(invoiceCalc.personal_invoice_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); value_added_tax_total = value_added_tax_total + Number(invoiceCalc.value_added_tax);
service_tax_total = service_tax_total + Number(invoice.service_tax);
invoice.personal_invoice_tax = system.toFloat(Number(invoiceCalc.personal_invoice_tax)); invoice.personal_invoice_tax = system.toFloat(Number(invoiceCalc.personal_invoice_tax));
invoice.additional_tax = system.toFloat(Number(invoiceCalc.additional_tax)); invoice.additional_tax = system.toFloat(Number(invoiceCalc.additional_tax));
invoice.value_added_tax = system.toFloat(Number(invoiceCalc.value_added_tax)); invoice.value_added_tax = system.toFloat(Number(invoiceCalc.value_added_tax));
} }
}
return system.getResultSuccess({ return system.getResultSuccess({
tax: { tax: {
...@@ -226,7 +234,7 @@ class InvoiceCtl extends CtlBase { ...@@ -226,7 +234,7 @@ class InvoiceCtl extends CtlBase {
}); });
} catch (error) { } catch (error) {
console.log(error); console.log(error);
return system.getResult(null,`系统错误`); return system.getResult(null, `系统错误`);
} }
} }
......
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