From b1b7e1c36bef616b9a6537531d239e1980030ba6 Mon Sep 17 00:00:00 2001 From: jefry Date: Sat, 30 Oct 2021 08:59:57 +0700 Subject: [PATCH] order by tipe --- model/oracleModel.js | 3 +- model/sqliteModel.js.bak | 348 ----------------------------------------------- 2 files changed, 2 insertions(+), 349 deletions(-) delete mode 100644 model/sqliteModel.js.bak diff --git a/model/oracleModel.js b/model/oracleModel.js index c9c06fb..67815a4 100644 --- a/model/oracleModel.js +++ b/model/oracleModel.js @@ -323,7 +323,8 @@ async function getActiveStockCollection( where c.COMPANY = :COMPANY AND c.stock_taking_unit_id = :STOCK_TAKING_UNIT_ID AND lob_id IS NOT NULL - ) + ) + ORDER by tipe `; var paramsDataUnit = { diff --git a/model/sqliteModel.js.bak b/model/sqliteModel.js.bak deleted file mode 100644 index 3c51633..0000000 --- a/model/sqliteModel.js.bak +++ /dev/null @@ -1,348 +0,0 @@ -const sqlite3 = require('sqlite3').verbose(); -var sqliteFunc = require('../util/db_sqlite.js'); -var oracleModel = require('./oracleModel.js'); -const oracledb = require('oracledb'); -const path = require('path'); -const fs = require('fs'); - -async function insertRefTable(db,dataUnitCabang){ - try{ - var runQuery = 'insert into refTable(mesin,tipe,rangka,warna,kode,tahun,state) 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"]}')`); - } - 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"]}'), `); - } - - } - var insertTable = await sqliteFunc.runQuery(db,runQuery); - if(insertTable["STATUS"] == 0) throw insertTable["DATA"] - } - catch(e){ - throw e; - } - -} - - -async function insertJenisFoto(db,jenisFoto){ - try{ - var valBlobTable = ''; - for(var i = 0 ; i < jenisFoto.length ; i++){ - if(i == jenisFoto.length -1) { - valBlobTable = valBlobTable.concat(`('${jenisFoto[i]["NO_URUT"]}','${jenisFoto[i]["JENIS"]}')`); - } - else{ - valBlobTable = valBlobTable.concat(`('${jenisFoto[i]["NO_URUT"]}','${jenisFoto[i]["JENIS"]}'),`); - } - - } - var insertJenisBlobQuery = ` - Insert Into jenisBlobTable Values ${valBlobTable} - - `; - - var insertBlobQuery = await sqliteFunc.runQuery(db,insertJenisBlobQuery); - if(insertBlobQuery["STATUS"] == 0) throw insertBlobQuery["DATA"] - } - catch(e){ - throw e; - } -} - - -async function insertUnitDetPic(db,dataUnitPic){ - try{ - var valDetPic = ''; - for(var i = 0 ; i < dataUnitPic.length ; i++){ - if(i == dataUnitPic.length -1) { - valDetPic = valDetPic.concat(`('${dataUnitPic[i]["MESIN"]}','${dataUnitPic[i]["NO_URUT"]}', - null,'${dataUnitPic[i]["JENIS"]}',null,null)`); - } - else{ - valDetPic = valDetPic.concat(`('${dataUnitPic[i]["MESIN"]}','${dataUnitPic[i]["NO_URUT"]}', - null,'${dataUnitPic[i]["JENIS"]}',null,null),`); - } - - } - var insertJenisBlobQuery = ` - Insert Into blobTable(MESIN,NO_URUT,BLOB_FILE,JENIS,LATITUDE,LONGITUDE) Values ${valDetPic}; - - `; - - var insertBlobQuery = await sqliteFunc.runQuery(db,insertJenisBlobQuery); - if(insertBlobQuery["STATUS"] == 0 ) throw insertBlobQuery["DATA"] - } - catch(e){ - throw e; - } -} - -async function getValueTableByName(db,name){ - var query = ` - select VALUE from - valueTable - where name = '${name}' - LIMIT 1 - `; - - var selectInsertTable = await sqliteFunc.selectQuery(db,query); - if(selectInsertTable["STATUS"] == 0) throw Error(selectInsertTable["DATA"]); - var data = selectInsertTable["DATA"]; - var value = data[0]["VALUE"]; - return value; - -} -async function getInsertedData(db){ - try{ - var query = ` - select - MESIN, - TIMESTAMP - from refTable - where flag_insert = 'TRUE' - `; - - var selectTimestampInsert = await sqliteFunc.selectQuery(db,query); - if(selectTimestampInsert["STATUS"] == 0) throw selectTimestampInsert["DATA"]; - return selectTimestampInsert["DATA"]; - } - catch(e){ - throw e; - } -} - -async function getInsertedPic(db){ - try{ - var query = ` - select - BLOB_FILE, - jenis, - latitude, - LONGITUDE, - MESIN, - NO_URUT - from blobTable where - blob_file IS NOT NULL - `; - var selectBlobTable = await sqliteFunc.selectQuery(db,query); - if(selectBlobTable["STATUS"] == 0) throw selectBlobTable["DATA"]; - return selectBlobTable["DATA"]; - } - catch(e){ - throw e; - } - -} - -async function unpackAndInsert(dbPath = null, company , cabangId){ - let db; - try{ - //var dbPath = path.join(__dirname , `../public/sqlite/upload/uploadDB.db`); - db = new sqlite3.Database(dbPath, sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE); - var stockTakingUnitId = await getValueTableByName(db,'STOCK_TAKING_UNIT_ID'); - var insertedData = await getInsertedData(db); - var insertedPic = await getInsertedPic(db); - var stockTakingData = {"company" : company , "cabangId" : cabangId, "stockTakingUnitId" : stockTakingUnitId}; - var result = await oracleModel.insertStockUnitData(stockTakingData,insertedData,insertedPic); - if(db.open){ - return new Promise(function(resolve,reject){ - db.close(function(data){ - fs.unlinkSync(dbPath); - resolve({"STATUS" : 1 ,"DATA" : result}); - }) - }) - - } - else{ - fs.unlinkSync(dbPath); - return {"STATUS" : 1 ,"DATA" : result}; - } - - } - catch(e){ - console.log(e); - - if(db.open){ - - return new Promise(function(resolve,reject){ - db.close(function(data){ - - resolve({"STATUS" : 0 ,"DATA" : e}); - }) - }) - // db.close(function(data){ - // return {"STATUS" : 0 ,"DATA" : e}; - // }) - } - else{ - return {"STATUS" : 0 ,"DATA" : e}; - } - - } -} - - // var dbPath = path.join(__dirname , `../public/sqlite/testaplod3.db`); - // unpackAndInsert(dbPath,'TBS','02'); - - - -async function CreateDataCollection(company = '' , cabangId = ''){ - var dbPath; - let db; - try { - var checkStockTaking = await oracleModel.getActiveStockTakingByCabang(company,cabangId); - var oracleData; - if(checkStockTaking == undefined){ - oracleData = await oracleModel.prepareStockCollection(company,cabangId); - } - else { - let state = checkStockTaking["STATE"]; - if(state == 'Submitted'){ - throw 'Gagal dalam mengambil data, mohon menunggu review data yang disubmit sebelumnya.'; - } - oracleData = await oracleModel.getActiveStockCollection(company,cabangId,checkStockTaking["STOCK_TAKING_UNIT_ID"]); - } - - var stockTakingUnitId = oracleData["stockTakingUnitId"]; - var dataUnitCabang = oracleData["dataUnitCabang"]; - var dataUnitPic = oracleData["dataUnitPic"]; - var jenisFoto = oracleData["jenisFoto"]; - var dirPath = path.join(__dirname , `../public/sqlite/db/${company}/${cabangId}`); - var resultDirPath = fs.mkdirSync(dirPath, { recursive: true }); - - - var d = new Date(); - var n = d.getTime(); - var dbName = `${n}.db`; - - dbPath = path.join(dirPath ,dbName); - db = new sqlite3.Database(dbPath, sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE); - - // Create Table Reference - var refTableQuery = `CREATE TABLE refTable( - ID INTEGER PRIMARY KEY AUTOINCREMENT, - MESIN TEXT, - TIPE TEXT, - RANGKA TEXT, - WARNA TEXT, - KODE TEXT, - TAHUN TEXT, - STATE TEXT, - TIMESTAMP TEXT DEFAULT NULL, - FLAG_INSERT TEXT DEFAULT 'FALSE' - )`; - var createRefTable = await sqliteFunc.runQuery(db,refTableQuery); - if(createRefTable["STATUS"] == 0) throw createRefTable; - - // var insertTableQuery = `CREATE TABLE insertTable( - // ID INTEGER PRIMARY KEY AUTOINCREMENT, - // MESIN TEXT, - // TIMESTAMP TEXT - // )`; - - // var createInsertTable = await sqliteFunc.runQuery(db,insertTableQuery); - // if(createInsertTable["STATUS"] == 0) throw createInsertTable; - - var insertTableBlob = `CREATE TABLE blobTable( - BLOB_ID INTEGER PRIMARY KEY AUTOINCREMENT, - MESIN TEXT, - NO_URUT TEXT, - BLOB_FILE BLOB, - JENIS TEXT, - LATITUDE TEXT, - LONGITUDE TEXT - )`; - - - var createBlobTable = await sqliteFunc.runQuery(db,insertTableBlob); - if(createBlobTable["STATUS"] == 0) throw createInsertTable; - - - var valueTableQuery = ` - CREATE TABLE valueTable( - NAME TEXT, - VALUE TEXT - ) - `; - - var createValueTable = await sqliteFunc.runQuery(db,valueTableQuery); - if(createValueTable["STATUS"] == 0) throw createValueTable; - - var queryValueTableInsert = `insert into valueTable(name,value) VALUES ('STOCK_TAKING_UNIT_ID',${stockTakingUnitId})`; - var insertValueTableInsert = await sqliteFunc.runQuery(db,queryValueTableInsert); - if(insertValueTableInsert["STATUS"] == 0) throw insertValueTableInsert; - - - var jenisBlobQuery = ` - CREATE TABLE jenisBlobTable( - NO_URUT TEXT, - VALUE TEXT - ) - `; - var createJenisBlobTable = await sqliteFunc.runQuery(db,jenisBlobQuery); - if(createJenisBlobTable["STATUS"] == 0) throw createJenisBlobTable; - - //----------- JENIS FOTO---------------------------------------------- - await insertJenisFoto(db,jenisFoto); - - if(dataUnitCabang.length > 0){ - //----------- REF TABLE---------------------------------------------- - await insertRefTable(db,dataUnitCabang); - - //----------- UNIT DET PIC---------------------------------------------- - await insertUnitDetPic(db,dataUnitPic); - } - - - if(db.open){ - return new Promise(function(resolve,reject){ - db.close(function(data){ - resolve({"STATUS" : 1 ,"DATA" : dbPath}); - }) - }); - // db.close(function(data){ - // return {"STATUS" : 1, "DATA" : dbPath}; - // }) - } - else{ - return {"STATUS" : 1, "DATA" : dbPath}; - } - - } - catch(e){ - if(db){ - if(db.open){ - return new Promise(function(resolve,reject){ - db.close(function(data){ - fs.unlinkSync(dbPath); - resolve({"STATUS" : 0 ,"DATA" : e}); - }) - }); - // db.close(function(data){ - // fs.unlinkSync(dbPath); - // return {"STATUS" : 0 , "DATA": e}; - // }); - } - } - - else{ - if(dbPath){ - fs.unlinkSync(dbPath); - } - console.log(e); - return {"STATUS" : 0 , "DATA": e}; - } - } -} -//CreateDataCollection("TBS",'02'); - - -module.exports = { - CreateDataCollection : CreateDataCollection, - unpackAndInsert : unpackAndInsert -}; \ No newline at end of file