@@ -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) { | |||