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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
let fs = require("fs");
let db = require('topsin.database');
var error = require('topsin.error');
const user_name = "Sys";
try {
db.addConnection({
databse_type:'pg',
database_host:'10.90.2.100:5432',
database_name:'TOPSTQ_ATS_V6',
database_user:'toplinker',
database_pwd:'TopLinker0510'
}, "ATS_DFM_DB");
let query = db.query('ATS_DFM_DB');
// 1.获取客户名称
let customers = query.selectArrayValue({
table:'pub_customer',
field:"code"
});
if (query.lastError().isValid()) throw query.lastError().text();
// 获取远程文件夹
let samba = fs.listDir("\\\\10.90.2.100\\samba", 0)
let sambaDirs:any[] = [];
let sambaFiles:any[] = [];
samba.forEach((v:any) => {
if (v.isDir) {
sambaDirs.push(v)
} else {
sambaFiles.push(v)
}
})
sambaDirs.forEach((v:any) => {
if(customers.indexOf(v.name) >= 0) {
// 获取该客户下所有料号
let jobs = fs.listDir("\\\\10.90.2.100\\samba\\" + v.name, 0).filter((v:any) => v.isDir)
// 获取dfm种已经存在的料号名
let dfm_jobs = query.selectArrayValue({
table:'pdm_job',
field:"jobname",
where: { customer_code: v.name} ,
order:'id DESC'
});
// 循环判断新料号
jobs.forEach((v2:any) => {
if ( /_/.test(v2.name) && dfm_jobs.indexOf(v2.name) < 0) {
// 为该新料号创建报价
let jobId = query.insertRow({
table:'pdm_job',
data:{
jobname:v2.name,
version: '',
customer_code:v.name,
job_type:"normal",
spec_list:`{${v.name},__GENERAL__}`,
job_status:"active",
job_attrs: {"vc_number": v2.name.split("_")[0], "vc_position": v2.name.split("_")[1]},
action_data: {"create_time": query.getNow(), "create_user_id": 1, "create_user_name": user_name}, // ?
sys_data: {"sys_data_version": 0},
spec_mode:0
},
return_field:'id'
});
if (query.lastError().isValid()) throw query.lastError().text();
var flowInfo = query.selectMap({
table: 'pdm_aimdfm_workflow',
where: {
name: "topcam"
}
});
var flowId = flowInfo["id"];
var flowTitle = flowInfo["title"];
// 创建料号任务
query.insertRow({
table: 'pdm_aimdfm_task',
data: {
job_id: jobId,
flow_id: flowId,
status: 'waiting',
user_id: 1,
user_name:user_name,
priority: 0,
task_title: `${v2.name}:${flowTitle}`
}
});
if (query.lastError().isValid()) throw query.lastError().text();
}
})
}
})
}
catch (error) {
console.log("err");
console.log(error);
}