|
@@ -6,12 +6,14 @@ const path = require("path"); |
|
|
var sqliteModel = require("../model/sqliteModel.js"); |
|
|
var sqliteModel = require("../model/sqliteModel.js"); |
|
|
var oracleModel = require("../model/oracleModel.js"); |
|
|
var oracleModel = require("../model/oracleModel.js"); |
|
|
|
|
|
|
|
|
router.post("/uploadSqlitedb", async function (req, res, next) { |
|
|
|
|
|
try { |
|
|
|
|
|
var dbBytes = req.body.byte; |
|
|
|
|
|
|
|
|
//done |
|
|
|
|
|
|
|
|
var company = req.body.company; |
|
|
|
|
|
var cabangId = req.body.cabangId; |
|
|
|
|
|
|
|
|
router.post("/uploadDb", async function (req, res, next) { |
|
|
|
|
|
try { |
|
|
|
|
|
var dbBytes = req.body; |
|
|
|
|
|
var parameter = JSON.parse(req.headers.params); |
|
|
|
|
|
var company = parameter.company; |
|
|
|
|
|
var cabangId = parameter.cabangId; |
|
|
var activeStockTaking = await oracleModel.getActiveStockTakingByCabang( |
|
|
var activeStockTaking = await oracleModel.getActiveStockTakingByCabang( |
|
|
company, |
|
|
company, |
|
|
cabangId |
|
|
cabangId |
|
@@ -34,12 +36,44 @@ router.post("/uploadSqlitedb", async function (req, res, next) { |
|
|
var n = d.getTime(); |
|
|
var n = d.getTime(); |
|
|
var dbName = `${n}.db`; |
|
|
var dbName = `${n}.db`; |
|
|
var dbPath = path.join(dirPath, dbName); |
|
|
var dbPath = path.join(dirPath, dbName); |
|
|
var a = fs.writeFileSync(dbPath, Buffer.from(dbBytes)); |
|
|
|
|
|
return res.json({ |
|
|
|
|
|
STATUS: 1, |
|
|
|
|
|
DATA: "Data send successfully", |
|
|
|
|
|
dbPath: dbPath, |
|
|
|
|
|
|
|
|
// var a = fs.writeFileSync(dbPath, Buffer.from(dbBytes)); |
|
|
|
|
|
// var a = fs.writeFileSync(dbPath, dbBytes); |
|
|
|
|
|
const stream = fs.createWriteStream(dbPath); |
|
|
|
|
|
stream.on("open", () => req.pipe(stream)); |
|
|
|
|
|
stream.on("drain", () => { |
|
|
|
|
|
// Calculate how much data has been piped yet |
|
|
|
|
|
const written = parseInt(stream.bytesWritten); |
|
|
|
|
|
const total = parseInt(req.headers["filesize"]); |
|
|
|
|
|
const pWritten = ((written / total) * 100).toFixed(2); |
|
|
|
|
|
console.log(`Processing ... ${pWritten}% done`); |
|
|
}); |
|
|
}); |
|
|
|
|
|
stream.on("close", () => { |
|
|
|
|
|
// Send a success response back to the client |
|
|
|
|
|
const msg = `Data uploaded to ${dbPath}`; |
|
|
|
|
|
console.log("Processing ... 100%"); |
|
|
|
|
|
console.log(msg); |
|
|
|
|
|
return res.status(200).json({ |
|
|
|
|
|
STATUS: 1, |
|
|
|
|
|
DATA: "Data send successfully", |
|
|
|
|
|
dbPath: dbPath, |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
stream.on("error", (err) => { |
|
|
|
|
|
// Send an error message to the client |
|
|
|
|
|
console.error(err); |
|
|
|
|
|
return res.status(500).json({ |
|
|
|
|
|
STATUS: 1, |
|
|
|
|
|
DATA: "Data send successfully", |
|
|
|
|
|
dbPath: dbPath, |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
// console.log(dirPath, dbPath); |
|
|
|
|
|
// return res.json({ |
|
|
|
|
|
// STATUS: 1, |
|
|
|
|
|
// DATA: "Data send successfully", |
|
|
|
|
|
// dbPath: dbPath, |
|
|
|
|
|
// }); |
|
|
}); |
|
|
}); |
|
|
} catch (e) { |
|
|
} catch (e) { |
|
|
return res.json({ STATUS: 0, DATA: e }); |
|
|
return res.json({ STATUS: 0, DATA: e }); |
|
@@ -47,7 +81,7 @@ router.post("/uploadSqlitedb", async function (req, res, next) { |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
router.post("/unpackDb", async function (req, res, next) { |
|
|
router.post("/unpackDb", async function (req, res, next) { |
|
|
console.log(req.body); |
|
|
|
|
|
|
|
|
// console.log(req.body); |
|
|
var dbPath = req.body.dbPath; |
|
|
var dbPath = req.body.dbPath; |
|
|
var company = req.body.company; |
|
|
var company = req.body.company; |
|
|
var cabangId = req.body.cabangId; |
|
|
var cabangId = req.body.cabangId; |
|
@@ -56,36 +90,79 @@ router.post("/unpackDb", async function (req, res, next) { |
|
|
return res.json(data); |
|
|
return res.json(data); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
router.post("/login", async function (req, res, next) { |
|
|
|
|
|
var username = req.body.User; |
|
|
|
|
|
var password = req.body.Pass; |
|
|
|
|
|
var data = await oracleModel.getDataUser(username, password); |
|
|
|
|
|
return res.send(data); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
//old delete after update |
|
|
|
|
|
router.post("/uploadSqlitedb", async function (req, res, next) { |
|
|
|
|
|
try { |
|
|
|
|
|
var dbBytes = req.body; |
|
|
|
|
|
var parameter = JSON.parse(req.headers.params); |
|
|
|
|
|
var company = parameter.company; |
|
|
|
|
|
var cabangId = parameter.cabangId; |
|
|
|
|
|
var activeStockTaking = await oracleModel.getActiveStockTakingByCabang( |
|
|
|
|
|
company, |
|
|
|
|
|
cabangId |
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
router.post("/getCabangByUser", async function (req, res, next) { |
|
|
|
|
|
var company = req.body.company; |
|
|
|
|
|
var username = req.body.User; |
|
|
|
|
|
var data = await oracleModel.getDataCabangByUser(company, username); |
|
|
|
|
|
return res.send(data); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
if (activeStockTaking == undefined) |
|
|
|
|
|
return res.json({ |
|
|
|
|
|
STATUS: 0, |
|
|
|
|
|
DATA: "Data Stock Taking dalam status tidak Open !", |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
router.post("/submitStock", async function (req, res, next) { |
|
|
|
|
|
console.log(req.body); |
|
|
|
|
|
var company = req.body.company; |
|
|
|
|
|
var stockTakingId = req.body.stockTakingId; |
|
|
|
|
|
var data = await oracleModel.submitStockTaking(company, stockTakingId); |
|
|
|
|
|
return res.send(data); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
var dirPath = path.join( |
|
|
|
|
|
__dirname, |
|
|
|
|
|
`../public/sqlite/upload/${company}/${cabangId}` |
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
router.post("/getStateStockUnit", async function (req, res) { |
|
|
|
|
|
var company = req.body.company; |
|
|
|
|
|
var stockTakingId = req.body.stockTakingId; |
|
|
|
|
|
var stateStockTaking = await oracleModel.getStateStockTaking( |
|
|
|
|
|
company, |
|
|
|
|
|
stockTakingId |
|
|
|
|
|
); |
|
|
|
|
|
return res.send(stateStockTaking); |
|
|
|
|
|
|
|
|
fs.mkdir(dirPath, { recursive: true }, (err) => { |
|
|
|
|
|
// console.log('2',err); |
|
|
|
|
|
var d = new Date(); |
|
|
|
|
|
var n = d.getTime(); |
|
|
|
|
|
var dbName = `${n}.db`; |
|
|
|
|
|
var dbPath = path.join(dirPath, dbName); |
|
|
|
|
|
// var a = fs.writeFileSync(dbPath, Buffer.from(dbBytes)); |
|
|
|
|
|
var a = fs.writeFileSync(dbPath, dbBytes); |
|
|
|
|
|
console.log(dirPath, dbPath); |
|
|
|
|
|
return res.json({ |
|
|
|
|
|
STATUS: 1, |
|
|
|
|
|
DATA: "Data send successfully", |
|
|
|
|
|
dbPath: dbPath, |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
} catch (e) { |
|
|
|
|
|
return res.json({ STATUS: 0, DATA: e }); |
|
|
|
|
|
} |
|
|
}); |
|
|
}); |
|
|
|
|
|
//============================== old route ========================================= |
|
|
|
|
|
// router.post("/login", async function (req, res, next) { |
|
|
|
|
|
// var username = req.body.User; |
|
|
|
|
|
// var password = req.body.Pass; |
|
|
|
|
|
// var data = await oracleModel.getDataUser(username, password); |
|
|
|
|
|
// return res.send(data); |
|
|
|
|
|
// }); |
|
|
|
|
|
|
|
|
|
|
|
// router.post("/getCabangByUser", async function (req, res, next) { |
|
|
|
|
|
// var company = req.body.company; |
|
|
|
|
|
// var username = req.body.User; |
|
|
|
|
|
// var data = await oracleModel.getDataCabangByUser(company, username); |
|
|
|
|
|
// return res.send(data); |
|
|
|
|
|
// }); |
|
|
|
|
|
|
|
|
|
|
|
// router.post("/submitStock", async function (req, res, next) { |
|
|
|
|
|
// console.log(req.body); |
|
|
|
|
|
// var company = req.body.company; |
|
|
|
|
|
// var stockTakingId = req.body.stockTakingId; |
|
|
|
|
|
// var data = await oracleModel.submitStockTaking(company, stockTakingId); |
|
|
|
|
|
// return res.send(data); |
|
|
|
|
|
// }); |
|
|
|
|
|
|
|
|
|
|
|
// router.post("/getStateStockUnit", async function (req, res) { |
|
|
|
|
|
// var company = req.body.company; |
|
|
|
|
|
// var stockTakingId = req.body.stockTakingId; |
|
|
|
|
|
// var stateStockTaking = await oracleModel.getStateStockTaking( |
|
|
|
|
|
// company, |
|
|
|
|
|
// stockTakingId |
|
|
|
|
|
// ); |
|
|
|
|
|
// return res.send(stateStockTaking); |
|
|
|
|
|
// }); |
|
|
|
|
|
|
|
|
module.exports = router; |
|
|
module.exports = router; |