Dpack get data Node : V10
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

188 regels
7.2 KiB

  1. var oracledb = require('oracledb');
  2. var oracle_func = require('../util/db_oracle.js');
  3. var sqlServer = require('../util/db_sqlserver.js');
  4. var util = require('../util/util.js');
  5. module.exports.oracleQueryUploadData = async function oracleQueryUploadData(){
  6. var configjs = util.getConfig();
  7. var oracleConfig = configjs.database_owner;
  8. var owner = configjs.database_owner.scheme
  9. 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`;
  10. var paramsGetCabangValue = {usercab:{val:oracleConfig.user}, code_cab:{val:"CABANG_ID"},code_company:{val:"COMPANY"}};
  11. let resultCabangValue = await oracle_func.getConnected(oracleConfig,queryGetCabangValue,paramsGetCabangValue);
  12. //console.log(resultCabangValue["DATA"][0].CABANG_ID);
  13. if(resultCabangValue["STATUS"] != 0){
  14. 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
  15. FROM ${owner}.upload_data_db
  16. WHERE company=:COMPANY AND enabled='TRUE'
  17. AND client_mode='TRUE'
  18. AND UPPER(TRIM(id)) IN(SELECT UPPER(TRIM(id))
  19. FROM ${owner}.upload_data_db_cabang
  20. WHERE company=:COMPANY
  21. AND cabang_id= :CABANG_ID
  22. AND enabled='TRUE')
  23. `;
  24. if(resultCabangValue["DATA"][0].CABANG_ID == null){resultCabangValue["DATA"][0].CABANG_ID = '03'}
  25. var params = {COMPANY:{val:resultCabangValue["DATA"][0].COMPANY}, CABANG_ID:{val:resultCabangValue["DATA"][0].CABANG_ID}};
  26. // console.log(params);
  27. var oracleConfig = configjs.database_owner;
  28. let data = await oracle_func.getConnected(oracleConfig,query,params);
  29. // console.log(data);
  30. return data;
  31. }
  32. }
  33. module.exports.oracleQueryUploadDataDet = async function oracleQueryUploadDataDet(id){
  34. var configjs = util.getConfig();
  35. var owner = configjs.database_owner.scheme;
  36. var query = `SELECT *
  37. FROM ${owner}.upload_data_db_det
  38. WHERE company=:COMPANY
  39. AND enabled='TRUE'
  40. AND UPPER(TRIM(id))=:ID
  41. `;
  42. var params = {COMPANY:{val:owner},ID:{val:id}}
  43. var oracleConfig = configjs.database_owner;
  44. let data = await oracle_func.getConnected(oracleConfig,query,params);
  45. return data;
  46. }
  47. module.exports.oracleInsertCollection = async function oracleInsertCollection(data){
  48. var sqlCollection = await sqlServer.connectCollection();
  49. var configjs = util.getConfig();
  50. var owner = configjs.database_sendcol.scheme;
  51. var oracleConfig = configjs.database_sendcol;
  52. var sendArr = [];
  53. var indexSendArr = 0 ;
  54. var arrConstructor = data[0];
  55. var tableConstructor = '';
  56. var tableBindValue = '';
  57. for(key in arrConstructor){
  58. if(key != "SEQ_ID" && key != "FLAG_DELETED"){
  59. if(key == 'COLLECTION_NAME'){
  60. tableConstructor += `${key},`;
  61. tableBindValue += `:${key},`
  62. }else{
  63. tableConstructor += `${util.changeColumnOracle(key)},`;
  64. tableBindValue += `:${key},`;
  65. }
  66. }
  67. }
  68. tableConstructor = tableConstructor.substr(0,tableConstructor.length-1);
  69. tableBindValue = tableBindValue.substr(0,tableBindValue.length -1);
  70. var queryInsertOracle = ` insert into ${owner}.upload_collection_tab(${tableConstructor}) values(${tableBindValue})`;
  71. for(var j = 0 ; j < data.length; j+= 500){
  72. if(j==0){
  73. sendArr[indexSendArr] = data.slice(0,500)
  74. }
  75. else if(j+500 > data.length){
  76. sendArr[indexSendArr] = data.slice(j)
  77. }
  78. else{
  79. sendArr[indexSendArr] = data.slice(j,j+500);
  80. }
  81. indexSendArr += 1;
  82. }
  83. for(var k = 0 ; k < sendArr.length; k++){
  84. var seq_id = [];
  85. for(row in sendArr[k]){
  86. seq_id.push(sendArr[k][row].SEQ_ID);
  87. delete sendArr[k][row].SEQ_ID;
  88. }
  89. let result = await oracle_func.getConnectedInsertMany(oracleConfig,queryInsertOracle,sendArr[k]);
  90. if(result["STATUS"] == 1){
  91. for(var i = 0 ; i< seq_id.length; i ++){
  92. var requestUpdateFlagDeleteCollection = sqlCollection.request();
  93. requestUpdateFlagDeleteCollection.input('SEQ_ID',seq_id[i]);
  94. var queryUpdateFlagDeleteCollection = `delete from dbo.TEMP_DATA_TAB where SEQ_ID = @SEQ_ID`;
  95. var resultUpdateFlagDeleteCollection = await requestUpdateFlagDeleteCollection.query(queryUpdateFlagDeleteCollection);
  96. }
  97. }
  98. }
  99. return {"STATUS":0};
  100. }
  101. module.exports.oracleInsertCollectionOne = async function oracleInsertCollectionOne(data){
  102. var sqlCollection = await sqlServer.connectCollection();
  103. var configjs = util.getConfig();
  104. var owner = configjs.database_sendcol.scheme;
  105. var oracleConfig = configjs.database_sendcol;
  106. var seq_id = [];
  107. for(row in data){
  108. seq_id.push(data[row].SEQ_ID);
  109. delete data[row].SEQ_ID;
  110. }
  111. var arrConstructor = data[0];
  112. var tableConstructor = '';
  113. var tableBindValue = '';
  114. for(key in arrConstructor){
  115. if(key != "SEQ_ID" && key != "FLAG_DELETED"){
  116. if(key == 'COLLECTION_NAME'){
  117. tableConstructor += `${key},`;
  118. tableBindValue += `:${key},`
  119. }else{
  120. tableConstructor += `${util.changeColumnOracle(key)},`;
  121. tableBindValue += `:${key},`;
  122. }
  123. }
  124. }
  125. tableConstructor = tableConstructor.substr(0,tableConstructor.length-1);
  126. tableBindValue = tableBindValue.substr(0,tableBindValue.length -1);
  127. var queryInsertOracle = ` insert into ${owner}.upload_collection_tab(${tableConstructor}) values(${tableBindValue})`;
  128. for(var i = 0 ; i < data.length ; i ++){
  129. let result = await oracle_func.getConnectedInsert(oracleConfig,queryInsertOracle,data[i]);
  130. if(result["STATUS"] == 1){
  131. var requestUpdateFlagDeleteCollection = sqlCollection.request();
  132. requestUpdateFlagDeleteCollection.input('SEQ_ID',seq_id[i]);
  133. var queryUpdateFlagDeleteCollection = `delete from dbo.TEMP_DATA_TAB where SEQ_ID = @SEQ_ID`;
  134. var resultUpdateFlagDeleteCollection = await requestUpdateFlagDeleteCollection.query(queryUpdateFlagDeleteCollection);
  135. }
  136. }
  137. return;
  138. }
  139. module.exports.oracleUpdateLastDate = async function oracleUpdateLastDate(id){
  140. var configjs = util.getConfig();
  141. var oracleConfig = configjs.database_owner;
  142. var owner = configjs.database_owner.scheme;
  143. 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`;
  144. var paramsGetCabangValue = {usercab:{val:oracleConfig.user}, code_cab:{val:"CABANG_ID"},code_company:{val:"COMPANY"}};
  145. let resultCabangValue = await oracle_func.getConnected(oracleConfig,queryGetCabangValue,paramsGetCabangValue);
  146. if(resultCabangValue["DATA"][0].CABANG_ID == null){resultCabangValue["DATA"][0].CABANG_ID = '03'}
  147. if(resultCabangValue["STATUS"] != 0){
  148. var query = `BEGIN
  149. TBS.UPLOAD_DATA_DB_CABANG_API.Update_Marking_Trans_Date(
  150. company_ => :P_COMPANY,
  151. id_ => :P_ID,
  152. cabang_id_ => :P_CABANG_ID,
  153. marking_trans_date_ => NULL
  154. );
  155. END;
  156. `;
  157. var params = {P_COMPANY:{val:resultCabangValue["DATA"][0].COMPANY}, P_ID:{val:id}, P_CABANG_ID:{val:resultCabangValue["DATA"][0].CABANG_ID}};
  158. var oracleConfig = configjs.database_owner;
  159. let data = await oracle_func.getConnectedInsert(oracleConfig,query,params);
  160. return data;
  161. }
  162. }