geely/src/team.js
2024-12-12 21:17:10 +08:00

84 lines
2.5 KiB
JavaScript

const XLSX = require('xlsx');
if ( process.argv.length < 3 ) {
console.log("没有传递目录")
process.exit(-1)
}
let path = process.argv[2]
console.log("工作于 " + path)
const workbook4 = (function () {
const workbook = XLSX.readFile(path + '/金额.xlsx');
const worksheet = workbook.Sheets[workbook.SheetNames[0]];
const jsonData = XLSX.utils.sheet_to_json(worksheet);
let map = {}
for ( let record of jsonData ) {
map[`${record["TEAM号"]}-${record["关键词"]}费用-${record["类别"]}`] = record["金额"]
}
return map;
})()
const workbook = XLSX.readFile(path + '/1.团队开票申请表.xlsx');
const worksheet = workbook.Sheets[workbook.SheetNames[0]];
const jsonData = XLSX.utils.sheet_to_json(worksheet);
for (let record of jsonData) {
console.log("---------------------")
console.table(record)
// console.log(`序号 ${record['序号']}, 结算明细 ${record['结算明细']}`)
switch ( record['结算明细'] ) {
case "国际票":
case "机票行程单":
case "附加项":
console.log("账单总金额 = 行程单金额")
record[' 账单总金额 '] = record[' 行程单金额 ']
break;
case "酒店费用":
case "国际酒店费用":
// 房费
let key = `${record['结算账户']}-${record["结算明细"]}-房费`;
let fang = workbook4[key];
record[' 房费 '] = fang ? fang : 0
// 商旅服务费
key = `${record['结算账户']}-${record["结算明细"]}-服务费`;
let fuwu = workbook4[key];
record[' 商旅服务费 '] = fuwu ? fuwu : 0
record[' 账单总金额 '] = fang + fuwu
break;
case "火车票":
console.log("账单总金额 = 火车票 ")
record[' 账单总金额 '] = record[' 火车票 ']
break;
case "服务费":
console.log("账单总金额 = 商旅服务费 ")
record[' 账单总金额 '] = record[' 商旅服务费 ']
break;
default :
console.error("不支持的类型: " + record['结算明细'])
}
console.log("+++++++++++++++++")
console.log(record)
}
const worksheetout = XLSX.utils.json_to_sheet(jsonData);
const workbookout = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workbookout, worksheetout, 'Sheet1');
XLSX.writeFile(workbookout, path + '/1.团队开票申请表.done.xlsx');