const mysql=require('mysql')
const xlsx=require('node-xlsx')
const fs=require('fs')
const ProgressBar = require('progress')
const dataRow=[
['产品名称','EAS商品编码','EDB仓库编码','EAS仓库编码','物料编码','EDB库存数量','EAS库存']
]
const dataRow2=[
['产品名称','EAS商品编码','EDB仓库编码','EAS仓库编码','物料编码','EDB库存数量','EAS库存']
]
const connection=mysql.createConnection(
{
host:'10.0.254.128',
user:'root',
password:'Bsy
database:'test2'
}
)
connection.connect((err)=>{
if(err){
reject('数据库连接失败')
}
})
let bar = new ProgressBar(':bar', { total: 30 })
bar.tick()
let promise1=new Promise((resolve,reject)=>{
connection.query("SELECT a.`产品名称`, a.EAS商品编码,a.EDB仓库编码,b.`EDB编码` as `EAS仓库编码`,b.`物料编码`,a.`实物库存` as `EDB库存数量` ,b.`基本数量` as `EAS库存` FROM `EDB库存` AS a INNER JOIN ( SELECT `物料编码`, `EDB编码`,SUM(基本数量) AS 基本数量 FROM `EAS库存`GROUP BY 物料编码, EDB编码 ) AS b ON a.`EAS商品编码` = b.`物料编码` WHERE a.实物库存!=b.`基本数量`",function(err,rows){
if(err){reject()}
if(rows){ resolve(rows)}
})
})
let promise2=new Promise((resolve,reject)=>{
connection.query("SELECT a.`产品名称`, a.EAS商品编码, a.EDB仓库编码, b.`EDB编码` as `EAS仓库编码`,b.`物料编码`,a.`实物库存` as `EDB库存数量`,b.`基本数量` as `EAS库存` FROM `EDB康百纳库存` AS a INNER JOIN ( SELECT `物料编码`,`EDB编码`,SUM(基本数量) AS 基本数量 FROM `EAS康百纳库存` GROUP BY 物料编码, EDB编码 ) AS b ON a.`EAS商品编码` = b.`物料编码` WHERE a.实物库存!=b.`基本数量`",function(err,rows){
if(err){reject()}
if(rows){ resolve(rows)}
})
})
Promise.all([promise1,promise2]).then(res=>{
if(res[0]){
res[0].forEach(item => {
dataRow.push([...Object.values(item)])
})
}
if(res[1]){
res[1].forEach(item => {
dataRow2.push([...Object.values(item)])
})
}
let buffer = xlsx.build([
{
name: "EDB校验", data: dataRow
},
{
name: "康百纳校验", data: dataRow2
}
])
fs.writeFileSync('库存校验.xlsx',buffer,{'flag':'w'})
console.log('下载成功')
})
connection.end()