|
- var oracledb = require('oracledb');
- var oracle_func = require('../util/db_oracle.js');
- var sqlServer = require('../util/db_sqlserver.js');
-
- var util = require('../util/util.js');
-
- module.exports.oracleQueryUploadData = async function oracleQueryUploadData(){
- var configjs = util.getConfig();
- var oracleConfig = configjs.database_owner;
- var owner = configjs.database_owner.scheme
-
- var queryGetCabangValue = `select ${owner}.User_Profile_SYS_API.Get_Default_Value(:usercab,:code_cab) as cabang_id , ${owner}.User_Profile_SYS_API.Get_Default_Value(:usercab,:code_company) as company from dual`;
- var paramsGetCabangValue = {usercab:{val:oracleConfig.user}, code_cab:{val:"CABANG_ID"},code_company:{val:"COMPANY"}};
- let resultCabangValue = await oracle_func.getConnected(oracleConfig,queryGetCabangValue,paramsGetCabangValue);
- //console.log(resultCabangValue["DATA"][0].CABANG_ID);
-
-
- if(resultCabangValue["STATUS"] != 0){
- var query = `SELECT COMPANY,ID,ENABLED,TEST_MODE,AUTO_MODE,${owner}.UPLOAD_DATA_DB_CABANG_API.Get_Marking_Trans_Date(COMPANY,ID,:CABANG_ID) AS LAST_DATE
- FROM ${owner}.upload_data_db
- WHERE company=:COMPANY AND enabled='TRUE'
- AND client_mode='TRUE'
- AND UPPER(TRIM(id)) IN(SELECT UPPER(TRIM(id))
- FROM ${owner}.upload_data_db_cabang
- WHERE company=:COMPANY
- AND cabang_id= :CABANG_ID
- AND enabled='TRUE')
- `;
- if(resultCabangValue["DATA"][0].CABANG_ID == null){resultCabangValue["DATA"][0].CABANG_ID = '03'}
- var params = {COMPANY:{val:resultCabangValue["DATA"][0].COMPANY}, CABANG_ID:{val:resultCabangValue["DATA"][0].CABANG_ID}};
- // console.log(params);
- var oracleConfig = configjs.database_owner;
- let data = await oracle_func.getConnected(oracleConfig,query,params);
- // console.log(data);
- return data;
- }
-
-
-
- }
-
- module.exports.oracleQueryUploadDataDet = async function oracleQueryUploadDataDet(id){
- var configjs = util.getConfig();
- var owner = configjs.database_owner.scheme;
- var query = `SELECT *
- FROM ${owner}.upload_data_db_det
- WHERE company=:COMPANY
- AND enabled='TRUE'
- AND UPPER(TRIM(id))=:ID
- `;
- var params = {COMPANY:{val:owner},ID:{val:id}}
- var oracleConfig = configjs.database_owner;
- let data = await oracle_func.getConnected(oracleConfig,query,params);
- return data;
-
- }
-
- module.exports.oracleInsertCollection = async function oracleInsertCollection(data){
- var sqlCollection = await sqlServer.connectCollection();
- var configjs = util.getConfig();
- var owner = configjs.database_sendcol.scheme;
- var oracleConfig = configjs.database_sendcol;
-
- var sendArr = [];
- var indexSendArr = 0 ;
-
- var arrConstructor = data[0];
- var tableConstructor = '';
- var tableBindValue = '';
- for(key in arrConstructor){
- if(key != "SEQ_ID" && key != "FLAG_DELETED"){
- if(key == 'COLLECTION_NAME'){
- tableConstructor += `${key},`;
- tableBindValue += `:${key},`
- }else{
- tableConstructor += `${util.changeColumnOracle(key)},`;
- tableBindValue += `:${key},`;
- }
- }
- }
- tableConstructor = tableConstructor.substr(0,tableConstructor.length-1);
- tableBindValue = tableBindValue.substr(0,tableBindValue.length -1);
- var queryInsertOracle = ` insert into ${owner}.upload_collection_tab(${tableConstructor}) values(${tableBindValue})`;
-
- for(var j = 0 ; j < data.length; j+= 500){
- if(j==0){
- sendArr[indexSendArr] = data.slice(0,500)
- }
- else if(j+500 > data.length){
- sendArr[indexSendArr] = data.slice(j)
- }
- else{
- sendArr[indexSendArr] = data.slice(j,j+500);
- }
- indexSendArr += 1;
- }
-
- for(var k = 0 ; k < sendArr.length; k++){
- var seq_id = [];
- for(row in sendArr[k]){
- seq_id.push(sendArr[k][row].SEQ_ID);
- delete sendArr[k][row].SEQ_ID;
- }
- let result = await oracle_func.getConnectedInsertMany(oracleConfig,queryInsertOracle,sendArr[k]);
- if(result["STATUS"] == 1){
- for(var i = 0 ; i< seq_id.length; i ++){
- var requestUpdateFlagDeleteCollection = sqlCollection.request();
- requestUpdateFlagDeleteCollection.input('SEQ_ID',seq_id[i]);
- var queryUpdateFlagDeleteCollection = `delete from dbo.TEMP_DATA_TAB where SEQ_ID = @SEQ_ID`;
- var resultUpdateFlagDeleteCollection = await requestUpdateFlagDeleteCollection.query(queryUpdateFlagDeleteCollection);
- }
- }
- }
- return {"STATUS":0};
-
- }
-
-
- module.exports.oracleInsertCollectionOne = async function oracleInsertCollectionOne(data){
- var sqlCollection = await sqlServer.connectCollection();
- var configjs = util.getConfig();
- var owner = configjs.database_sendcol.scheme;
- var oracleConfig = configjs.database_sendcol;
- var seq_id = [];
-
- for(row in data){
- seq_id.push(data[row].SEQ_ID);
- delete data[row].SEQ_ID;
- }
- var arrConstructor = data[0];
- var tableConstructor = '';
- var tableBindValue = '';
- for(key in arrConstructor){
- if(key != "SEQ_ID" && key != "FLAG_DELETED"){
- if(key == 'COLLECTION_NAME'){
- tableConstructor += `${key},`;
- tableBindValue += `:${key},`
- }else{
- tableConstructor += `${util.changeColumnOracle(key)},`;
- tableBindValue += `:${key},`;
- }
- }
- }
- tableConstructor = tableConstructor.substr(0,tableConstructor.length-1);
- tableBindValue = tableBindValue.substr(0,tableBindValue.length -1);
-
- var queryInsertOracle = ` insert into ${owner}.upload_collection_tab(${tableConstructor}) values(${tableBindValue})`;
-
- for(var i = 0 ; i < data.length ; i ++){
- let result = await oracle_func.getConnectedInsert(oracleConfig,queryInsertOracle,data[i]);
- if(result["STATUS"] == 1){
- var requestUpdateFlagDeleteCollection = sqlCollection.request();
- requestUpdateFlagDeleteCollection.input('SEQ_ID',seq_id[i]);
- var queryUpdateFlagDeleteCollection = `delete from dbo.TEMP_DATA_TAB where SEQ_ID = @SEQ_ID`;
- var resultUpdateFlagDeleteCollection = await requestUpdateFlagDeleteCollection.query(queryUpdateFlagDeleteCollection);
- }
- }
-
- return;
-
- }
-
- module.exports.oracleUpdateLastDate = async function oracleUpdateLastDate(id){
- var configjs = util.getConfig();
- var oracleConfig = configjs.database_owner;
- var owner = configjs.database_owner.scheme;
-
- var queryGetCabangValue = `select ${owner}.User_Profile_SYS_API.Get_Default_Value(:usercab,:code_cab) as cabang_id , ${owner}.User_Profile_SYS_API.Get_Default_Value(:usercab,:code_company) as company from dual`;
- var paramsGetCabangValue = {usercab:{val:oracleConfig.user}, code_cab:{val:"CABANG_ID"},code_company:{val:"COMPANY"}};
- let resultCabangValue = await oracle_func.getConnected(oracleConfig,queryGetCabangValue,paramsGetCabangValue);
- if(resultCabangValue["DATA"][0].CABANG_ID == null){resultCabangValue["DATA"][0].CABANG_ID = '03'}
- if(resultCabangValue["STATUS"] != 0){
- var query = `BEGIN
- TBS.UPLOAD_DATA_DB_CABANG_API.Update_Marking_Trans_Date(
- company_ => :P_COMPANY,
- id_ => :P_ID,
- cabang_id_ => :P_CABANG_ID,
- marking_trans_date_ => NULL
- );
- END;
- `;
- var params = {P_COMPANY:{val:resultCabangValue["DATA"][0].COMPANY}, P_ID:{val:id}, P_CABANG_ID:{val:resultCabangValue["DATA"][0].CABANG_ID}};
- var oracleConfig = configjs.database_owner;
- let data = await oracle_func.getConnectedInsert(oracleConfig,query,params);
-
- return data;
- }
- }
|