浏览代码

order by tipe

master
jefry 3 年前
父节点
当前提交
b1b7e1c36b
共有 2 个文件被更改,包括 2 次插入349 次删除
  1. +2
    -1
      model/oracleModel.js
  2. +0
    -348
      model/sqliteModel.js.bak

+ 2
- 1
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 = {


+ 0
- 348
model/sqliteModel.js.bak 查看文件

@@ -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
};

正在加载...
取消
保存