utc-wms-dirty-char.js 1.79 KB
Newer Older
Leon's avatar
Leon committed
1 2
var _db = require("topsin.database");
var _error = require("topsin.error");
Leon's avatar
Leon committed
3
var _ = require("lodash");
Leon's avatar
Leon committed
4
var os = require("os");
Leon's avatar
Leon committed
5 6 7 8

try {
  var erp_conn_param = {
    database_type: "mssql",
Leon's avatar
Leon committed
9
    database_host: "10.3.1.250",
Leon's avatar
Leon committed
10 11 12
    database_name: "UniTech3",
    database_user: "TopLinker",
    database_pwd: "837914",
Leon's avatar
Leon committed
13
    auto_close_timeout: -1
Leon's avatar
Leon committed
14
  };
Leon's avatar
Leon committed
15 16 17 18
  if (os.type() == "linux") {
    erp_conn_param.database_host = "10.3.1.250\\MSSQLSERVER";
    erp_conn_param.database_driver = "/usr/local/freetds/lib/libtdsodbc.so.0";
  }
Leon's avatar
Leon committed
19 20 21 22 23 24 25 26
  var ERP_CONN_NAME = 'ERP_CONN_NAME';

  var dist_conn_param = {
    database_type: "pg",
    database_host: "139.196.104.13:5433",
    database_name: "TOPDFM_DEV_V6",
    database_user: "toplinker",
    database_pwd: "TopLinker0510",
Leon's avatar
Leon committed
27
    auto_close_timeout: -1
Leon's avatar
Leon committed
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
  };
  var DIST_CONN_NAME = 'DIST_CONN_NAME';

  _db.addConnection(erp_conn_param, ERP_CONN_NAME);
  var query_erp = _db.query(ERP_CONN_NAME);

  _db.addConnection(dist_conn_param, DIST_CONN_NAME);
  var query_dist = _db.query(DIST_CONN_NAME);

  // query from erp database
  var sql = " \
  SELECT top 1 * \
  FROM dbo.MTL_DemenseDtl \
  WHERE PaperNo = 'BL118040001' AND Item = '7' \
  ";
  var erp_data = query_erp.selectMap(sql, {});
  if (query_erp.lastError().isValid()) {
    throw query_erp.lastError().text();
  }
Leon's avatar
Leon committed
47 48
  print("query result: ", JSON.stringify(erp_data));

Leon's avatar
Leon committed
49
  erp_data = _.mapValues(erp_data, function(v, k){
Leon's avatar
Leon committed
50
    return _.isString(v) ? v.replace(/\u0000/g, '') : v;
Leon's avatar
Leon committed
51
  });
Leon's avatar
Leon committed
52

Leon's avatar
Leon committed
53 54
  print("after mapValues: ", JSON.stringify(erp_data));

Leon's avatar
Leon committed
55 56 57 58 59 60 61 62 63 64 65 66
  // insert to dist database
  query_dist.insertRow({
    table: "tmp_20200106",
    data: erp_data,
    field: ['PaperNo', 'Item', 'StockId', 'MatCode', 'MatName', 'MatGauge', 'Notes']
  });
  if (query_dist.lastError().isValid()) {
    throw query_dist.lastError().text();
  }
} catch (e) {
  print(e);
}