| @@ -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); | |||
| } | |||
| @@ -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' | |||
| )`; | |||
| @@ -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) { | |||