diff --git a/model/oracleModel.js b/model/oracleModel.js index 67815a4..3907260 100644 --- a/model/oracleModel.js +++ b/model/oracleModel.js @@ -137,20 +137,23 @@ async function getActiveStockTakingByCabang(company, cabangId) { async function getDataUnit(conn, company, cabangId) { var query = `SELECT - company, - cabang_id, - mesin, - kode, - rangka, - tipe, - warna, - tahun, - state - FROM ${owner}.unit_baru - WHERE company = :COMPANY - AND cabang_id = :CABANG_ID - AND state IN ('Ready','OnChannel') - ORDER BY tipe + u.company, + u.cabang_id, + u.mesin, + u.kode, + u.rangka, + u.tipe, + u.warna, + u.tahun, + u.state, + c.channel_name channel + FROM ${owner}.unit_baru u + left join ${owner}.CHANNEL c on + u.channel_id = c.channel_id + WHERE u.company = :COMPANY + AND u.cabang_id = :CABANG_ID + AND u.state IN ('OnTheWay','Ready','OnChannel','InRepair') + ORDER BY u.tipe `; var params = { COMPANY: company, CABANG_ID: cabangId }; @@ -312,11 +315,14 @@ async function getActiveStockCollection( b.tipe, b.warna, b.tahun, - b.state + b.state, + c.channel_name channel from ${owner}.stock_taking_unit_det a LEFT JOIN ${owner}.unit_baru b ON a.company = b.company and a.mesin = b.mesin and b.cabang_id = :CABANG_ID + left join ${owner}.CHANNEL c on + b.channel_id = c.channel_id where a.company = :COMPANY and a.stock_taking_unit_id = :STOCK_TAKING_UNIT_ID and a.mesin NOT IN (select mesin from ${owner}.stock_taking_unit_det_pic c @@ -385,7 +391,7 @@ async function getActiveStockCollection( } } -async function insertStockUnitData(stockTakingData, dataUnit, dataFoto) { +async function insertStockUnitData(stockTakingData, dataUnit, dataFoto,userId) { let conn; try { conn = await oracleFunc.getConnection(); @@ -425,7 +431,7 @@ async function insertStockUnitData(stockTakingData, dataUnit, dataFoto) { COMPANY: stockTakingData["company"], STOCK_TAKING_UNIT_ID: stockTakingData["stockTakingUnitId"], MESIN: dataUnit[i]["MESIN"], - KETERANGAN: dataUnit[i]["TIMESTAMP"], + KETERANGAN: `${dataUnit[i]["TIMESTAMP"]}${(userId!= null || userId=='')?' by '+ userId:''}`, }; paramsUpdateKeteranganDet.push(temp); } diff --git a/model/sqliteModel.js b/model/sqliteModel.js index 6406224..7c7c78e 100644 --- a/model/sqliteModel.js +++ b/model/sqliteModel.js @@ -8,14 +8,14 @@ const fs = require("fs"); async function insertRefTable(db, dataUnitCabang) { try { var runQuery = - "insert into refTable(mesin,tipe,rangka,warna,kode,tahun,state) VALUES "; + "insert into refTable(mesin,tipe,rangka,warna,kode,tahun,state,channel) VALUES "; for (var i = 0; i < dataUnitCabang.length; i++) { if (i == dataUnitCabang.length - 1) { runQuery = runQuery.concat(`('${dataUnitCabang[i]["MESIN"]}','${dataUnitCabang[i]["TIPE"]}','${dataUnitCabang[i]["RANGKA"]}','${dataUnitCabang[i]["WARNA"]}', - '${dataUnitCabang[i]["KODE"]}','${dataUnitCabang[i]["TAHUN"]}','${dataUnitCabang[i]["STATE"]}')`); + '${dataUnitCabang[i]["KODE"]}','${dataUnitCabang[i]["TAHUN"]}','${dataUnitCabang[i]["STATE"]}','${dataUnitCabang[i]["CHANNEL"]}')`); } else { runQuery = runQuery.concat(`('${dataUnitCabang[i]["MESIN"]}','${dataUnitCabang[i]["TIPE"]}','${dataUnitCabang[i]["RANGKA"]}','${dataUnitCabang[i]["WARNA"]}', - '${dataUnitCabang[i]["KODE"]}','${dataUnitCabang[i]["TAHUN"]}','${dataUnitCabang[i]["STATE"]}'), `); + '${dataUnitCabang[i]["KODE"]}','${dataUnitCabang[i]["TAHUN"]}','${dataUnitCabang[i]["STATE"]}','${dataUnitCabang[i]["CHANNEL"]}'), `); } } var insertTable = await sqliteFunc.runQuery(db, runQuery); @@ -136,7 +136,7 @@ async function getInsertedPic(db) { } } -async function unpackAndInsert(dbPath = null, company, cabangId) { +async function unpackAndInsert(dbPath = null, company, cabangId,userId=null) { let db; try { //var dbPath = path.join(__dirname , `../public/sqlite/upload/uploadDB.db`); @@ -160,7 +160,8 @@ async function unpackAndInsert(dbPath = null, company, cabangId) { var result = await oracleModel.insertStockUnitData( stockTakingData, insertedData, - insertedPic + insertedPic, + userId ); if (db.open) { return new Promise(function (resolve, reject) { @@ -250,6 +251,7 @@ async function CreateDataCollection(company = "", cabangId = "") { KODE TEXT, TAHUN TEXT, STATE TEXT, + CHANNEL TEXT, TIMESTAMP TEXT DEFAULT NULL, FLAG_INSERT TEXT DEFAULT 'FALSE' )`; diff --git a/routes/datapost.js b/routes/datapost.js index fef20d2..d312db8 100644 --- a/routes/datapost.js +++ b/routes/datapost.js @@ -133,13 +133,17 @@ router.post("/uploadSqlitedb", async function (req, res, next) { }); router.post("/unpackDb", async function (req, res, next) { - console.log(req.body); + // console.log(req.body); + var userId = req.body.userId; var dbPath = req.body.dbPath; var company = req.body.company; var cabangId = req.body.cabangId; - var data = await sqliteModel.unpackAndInsert(dbPath, company, cabangId); - - return res.json(data); + if(dbPath && company && cabangId){ + var data = await sqliteModel.unpackAndInsert(dbPath, company, cabangId,userId); + return res.json(data); + } + else return res.json({"STATUS":0,"DATA":"Input parameter tidak lengkap!!"}); + }); router.post("/login", async function (req, res, next) {