1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
var _db = require("topsin.database");
var _error = require("topsin.error");
var _ = require("lodash");
var os = require("os");
try {
var erp_conn_param = {
database_type: "mssql",
database_host: "10.3.1.250",
database_name: "UniTech3",
database_user: "TopLinker",
database_pwd: "837914",
auto_close_timeout: -1
};
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";
}
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",
auto_close_timeout: -1
};
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();
}
print("query result: ", JSON.stringify(erp_data));
erp_data = _.mapValues(erp_data, function(v, k){
return _.isString(v) ? v.replace(/\u0000/g, '') : v;
});
print("after mapValues: ", JSON.stringify(erp_data));
// 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);
}