owl-cli 7.44.0 → 7.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
//#import @handlers/include/diff.jsx
|
|
11
11
|
//#import $owl_task_info:services/modelService.jsx
|
|
12
12
|
|
|
13
|
-
function trim(s){
|
|
14
|
-
if(s){
|
|
13
|
+
function trim(s) {
|
|
14
|
+
if (s) {
|
|
15
15
|
return s.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
|
|
16
16
|
}
|
|
17
17
|
return ""
|
|
@@ -22,6 +22,11 @@ var @projectCodeService = (function (pigeon) {
|
|
|
22
22
|
var listPrefix = '@projectCode'
|
|
23
23
|
|
|
24
24
|
var spec = @spec
|
|
25
|
+
var meta = spec['#meta'];
|
|
26
|
+
var pigeonName = meta["pigeon"];
|
|
27
|
+
if (pigeonName && pigeon.setPigeon) {
|
|
28
|
+
pigeon.setPigeon(pigeonName);
|
|
29
|
+
}
|
|
25
30
|
|
|
26
31
|
var formSpecs = @formSpecs
|
|
27
32
|
|
|
@@ -37,24 +42,23 @@ var @projectCodeService = (function (pigeon) {
|
|
|
37
42
|
getId: function (data) {
|
|
38
43
|
//默认实现是直接返回一个递增的Id
|
|
39
44
|
//其他实现方式包括从data中获取数据构造出一个Id
|
|
40
|
-
if(data.id){
|
|
45
|
+
if (data.id) {
|
|
41
46
|
return data.id;
|
|
42
47
|
}
|
|
43
48
|
//@idOrig
|
|
44
49
|
if (idFunc) {
|
|
45
50
|
return objPrefix + '_' + idFunc(data)
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
51
|
+
} else {
|
|
48
52
|
var seq = pigeon.getId(objPrefix)
|
|
49
53
|
return objPrefix + '_' + seq
|
|
50
54
|
}
|
|
51
55
|
},
|
|
52
56
|
|
|
53
|
-
getSpec:function(){
|
|
57
|
+
getSpec: function () {
|
|
54
58
|
return spec;
|
|
55
59
|
},
|
|
56
60
|
|
|
57
|
-
getFormSpec:function(){
|
|
61
|
+
getFormSpec: function () {
|
|
58
62
|
return formSpecs;
|
|
59
63
|
},
|
|
60
64
|
|
|
@@ -62,16 +66,15 @@ var @projectCodeService = (function (pigeon) {
|
|
|
62
66
|
//@lockOrig
|
|
63
67
|
if (lockFunc) {
|
|
64
68
|
return lockFunc(data)
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
69
|
+
} else {
|
|
67
70
|
return data['id']
|
|
68
71
|
}
|
|
69
72
|
},
|
|
70
73
|
|
|
71
|
-
lock:function(key){
|
|
74
|
+
lock: function (key) {
|
|
72
75
|
pigeon.lock(key);
|
|
73
76
|
},
|
|
74
|
-
unlock:function(key){
|
|
77
|
+
unlock: function (key) {
|
|
75
78
|
pigeon.unlock(key);
|
|
76
79
|
},
|
|
77
80
|
|
|
@@ -82,7 +85,8 @@ var @projectCodeService = (function (pigeon) {
|
|
|
82
85
|
* 适用范围是中小型电商系统的商品分类数,地区管理等
|
|
83
86
|
*
|
|
84
87
|
*/
|
|
85
|
-
getTree(){
|
|
88
|
+
getTree() {
|
|
89
|
+
},
|
|
86
90
|
|
|
87
91
|
getAllListName: function (data) {
|
|
88
92
|
return listPrefix + '_all'
|
|
@@ -93,29 +97,27 @@ var @projectCodeService = (function (pigeon) {
|
|
|
93
97
|
var curData = data
|
|
94
98
|
for (var i = 0; i < path.length; i++) {
|
|
95
99
|
var curKey = path[i]
|
|
96
|
-
if (typeof(curData) == 'object' && curData != null) {
|
|
100
|
+
if (typeof (curData) == 'object' && curData != null) {
|
|
97
101
|
curData = curData[curKey]
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
102
|
+
} else {
|
|
100
103
|
return null
|
|
101
104
|
}
|
|
102
105
|
}
|
|
103
106
|
return curData
|
|
104
107
|
},
|
|
105
|
-
deleteValue:function(fullkey,data){
|
|
108
|
+
deleteValue: function (fullkey, data) {
|
|
106
109
|
var path = fullkey.split('.')
|
|
107
110
|
var curData = data
|
|
108
|
-
for (var i = 0; i < path.length-1; i++) {
|
|
111
|
+
for (var i = 0; i < path.length - 1; i++) {
|
|
109
112
|
var curKey = path[i]
|
|
110
|
-
if (typeof(curData) == 'object' && curData != null) {
|
|
113
|
+
if (typeof (curData) == 'object' && curData != null) {
|
|
111
114
|
curData = curData[curKey]
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
115
|
+
} else {
|
|
114
116
|
return null
|
|
115
117
|
}
|
|
116
118
|
}
|
|
117
|
-
if(curData){
|
|
118
|
-
var lastKey = path[path.length-1];
|
|
119
|
+
if (curData) {
|
|
120
|
+
var lastKey = path[path.length - 1];
|
|
119
121
|
delete curData[lastKey];
|
|
120
122
|
}
|
|
121
123
|
},
|
|
@@ -148,8 +150,8 @@ var @projectCodeService = (function (pigeon) {
|
|
|
148
150
|
}
|
|
149
151
|
if (v.indexOf('$') == 0) {
|
|
150
152
|
var fullkey = v.substring(1)
|
|
151
|
-
var newValue =
|
|
152
|
-
if(newValue){
|
|
153
|
+
var newValue = f.getValue(fullkey, env);
|
|
154
|
+
if (newValue) {
|
|
153
155
|
return newValue;
|
|
154
156
|
}
|
|
155
157
|
}
|
|
@@ -157,11 +159,10 @@ var @projectCodeService = (function (pigeon) {
|
|
|
157
159
|
},
|
|
158
160
|
|
|
159
161
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
var pigeonKey = objPrefix+ '_' + key + '_' + DigestUtil.md5(value)
|
|
162
|
+
getUniqueObj: function (key, value) {
|
|
163
|
+
var pigeonKey = objPrefix + '_' + key + '_' + DigestUtil.md5(value)
|
|
163
164
|
var obj = pigeon.getObject(pigeonKey);
|
|
164
|
-
if(obj==null){
|
|
165
|
+
if (obj == null) {
|
|
165
166
|
return null;
|
|
166
167
|
}
|
|
167
168
|
var id = obj.id;
|
|
@@ -181,7 +182,6 @@ var @projectCodeService = (function (pigeon) {
|
|
|
181
182
|
},
|
|
182
183
|
|
|
183
184
|
|
|
184
|
-
|
|
185
185
|
saveUniqueValue: function (objId, key, value) {
|
|
186
186
|
var md5 = DigestUtil.md5(value)
|
|
187
187
|
var pigeonKey = objPrefix + '_' + key + '_' + md5
|
|
@@ -206,19 +206,19 @@ var @projectCodeService = (function (pigeon) {
|
|
|
206
206
|
for (var i = 0; i < fields.length; i++) {
|
|
207
207
|
var field = fields[i]
|
|
208
208
|
var value = f.getValue(field.key, data)
|
|
209
|
-
if(value==null || typeof(value)=='undefined'){
|
|
209
|
+
if (value == null || typeof (value) == 'undefined') {
|
|
210
210
|
value = field.defaultValue;
|
|
211
211
|
f.setValue(field.key, value, data)
|
|
212
212
|
}
|
|
213
|
-
if (typeof(value) == 'string' && value.indexOf('$') == 0) {
|
|
213
|
+
if (typeof (value) == 'string' && value.indexOf('$') == 0) {
|
|
214
214
|
value = f.getEnvValue(value, env)
|
|
215
215
|
f.setValue(field.key, value, data)
|
|
216
216
|
}
|
|
217
|
-
if(((!value) || typeof(value)=='undefined') && field.autoGen=='true'){
|
|
218
|
-
value
|
|
219
|
-
f.setValue(field.key,value,data);
|
|
217
|
+
if (((!value) || typeof (value) == 'undefined') && field.autoGen == 'true') {
|
|
218
|
+
value = $.getUUID()
|
|
219
|
+
f.setValue(field.key, value, data);
|
|
220
220
|
}
|
|
221
|
-
if ((value==null || typeof(value)=='undefined') && field.required == 'true') {
|
|
221
|
+
if ((value == null || typeof (value) == 'undefined') && field.required == 'true') {
|
|
222
222
|
return {'state': 'err', msg: field.fieldLabel + '不能为空。', code: 'required'}
|
|
223
223
|
}
|
|
224
224
|
|
|
@@ -232,28 +232,28 @@ var @projectCodeService = (function (pigeon) {
|
|
|
232
232
|
}
|
|
233
233
|
|
|
234
234
|
var arrFields = flattenedSpecs.details;
|
|
235
|
-
for(var j=0; j<arrFields.length; j++){
|
|
235
|
+
for (var j = 0; j < arrFields.length; j++) {
|
|
236
236
|
var arrFieldInfo = arrFields[j];
|
|
237
|
-
var rows = f.getValue(arrFieldInfo.name,data);
|
|
238
|
-
if(rows){
|
|
239
|
-
for(var k=0; k<rows.length; k++){
|
|
237
|
+
var rows = f.getValue(arrFieldInfo.name, data);
|
|
238
|
+
if (rows) {
|
|
239
|
+
for (var k = 0; k < rows.length; k++) {
|
|
240
240
|
var row = rows[k];
|
|
241
|
-
for(var l=0; l<arrFieldInfo.fields.length; l++){
|
|
241
|
+
for (var l = 0; l < arrFieldInfo.fields.length; l++) {
|
|
242
242
|
var subField = arrFieldInfo.fields[l];
|
|
243
243
|
var value = row[subField.origKey];
|
|
244
|
-
if(value==null || typeof value=='undefined'){
|
|
244
|
+
if (value == null || typeof value == 'undefined') {
|
|
245
245
|
value = subField.defaultValue;
|
|
246
246
|
row[subField.origKey] = value;
|
|
247
247
|
}
|
|
248
|
-
if (typeof(value) == 'string' && value.indexOf('$') == 0) {
|
|
248
|
+
if (typeof (value) == 'string' && value.indexOf('$') == 0) {
|
|
249
249
|
value = f.getEnvValue(value, env)
|
|
250
250
|
row[subField.origKey] = value;
|
|
251
251
|
}
|
|
252
|
-
if(((!value) || typeof(value)=='undefined') && subField.autoGen=='true'){
|
|
252
|
+
if (((!value) || typeof (value) == 'undefined') && subField.autoGen == 'true') {
|
|
253
253
|
value = $.getUUID()
|
|
254
254
|
row[subField.origKey] = value;
|
|
255
255
|
}
|
|
256
|
-
if ((value==null || typeof(value)=='undefined') && subField.required == 'true') {
|
|
256
|
+
if ((value == null || typeof (value) == 'undefined') && subField.required == 'true') {
|
|
257
257
|
return {'state': 'err', msg: arrFieldInfo.field.fieldLabel + '.' + subField.fieldLabel + '不能为空。出错的行数为:' + k, code: 'required'}
|
|
258
258
|
}
|
|
259
259
|
}
|
|
@@ -270,7 +270,7 @@ var @projectCodeService = (function (pigeon) {
|
|
|
270
270
|
//对于unique的字段,检查有没有重复
|
|
271
271
|
if (field.unique === 'true') {
|
|
272
272
|
var value = f.getValue(field.key, data)
|
|
273
|
-
if (!value || (typeof(value) == 'string' && value.indexOf('$') == 0)) {
|
|
273
|
+
if (!value || (typeof (value) == 'string' && value.indexOf('$') == 0)) {
|
|
274
274
|
value = f.getEnvValue(field.defaultValue, env)
|
|
275
275
|
if (value) {
|
|
276
276
|
f.setValue(field.key, value, data)
|
|
@@ -280,7 +280,7 @@ var @projectCodeService = (function (pigeon) {
|
|
|
280
280
|
throw {'state': 'err', msg: field.fieldLabel + '不能为空。', code: 'required'}
|
|
281
281
|
}
|
|
282
282
|
|
|
283
|
-
if(value && typeof(value)=='string'){
|
|
283
|
+
if (value && typeof (value) == 'string') {
|
|
284
284
|
if (f.isDuplicated(data.id, field.key, value)) {
|
|
285
285
|
throw {'state': 'err', msg: field.fieldLabel + '不能重复。value=' + value, code: 'duplicated'}
|
|
286
286
|
}
|
|
@@ -300,13 +300,13 @@ var @projectCodeService = (function (pigeon) {
|
|
|
300
300
|
//对于unique的字段,检查有没有重复
|
|
301
301
|
if (field.unique === 'true') {
|
|
302
302
|
var value = f.getValue(field.key, data)
|
|
303
|
-
if (!value || (typeof(value) == 'string' && value.indexOf('$') == 0)) {
|
|
303
|
+
if (!value || (typeof (value) == 'string' && value.indexOf('$') == 0)) {
|
|
304
304
|
value = f.getEnvValue(field.defaultValue, env)
|
|
305
305
|
if (value) {
|
|
306
306
|
f.setValue(field.key, value, data)
|
|
307
307
|
}
|
|
308
308
|
}
|
|
309
|
-
if(value && typeof(value)=='string'){
|
|
309
|
+
if (value && typeof (value) == 'string') {
|
|
310
310
|
f.removeUniqueValue(data.id, field.key, value)
|
|
311
311
|
}
|
|
312
312
|
}
|
|
@@ -339,10 +339,10 @@ var @projectCodeService = (function (pigeon) {
|
|
|
339
339
|
}
|
|
340
340
|
},
|
|
341
341
|
|
|
342
|
-
getField:function(fullKey){
|
|
343
|
-
var matchedField=null;
|
|
344
|
-
f.tranverseFields(formSpecs,function(field,ctx){
|
|
345
|
-
if(field.key===fullKey){
|
|
342
|
+
getField: function (fullKey) {
|
|
343
|
+
var matchedField = null;
|
|
344
|
+
f.tranverseFields(formSpecs, function (field, ctx) {
|
|
345
|
+
if (field.key === fullKey) {
|
|
346
346
|
matchedField = field;
|
|
347
347
|
}
|
|
348
348
|
});
|
|
@@ -352,12 +352,10 @@ var @projectCodeService = (function (pigeon) {
|
|
|
352
352
|
formSpec.fields.forEach(function (field) {
|
|
353
353
|
if (field['_ft'] == 'field') {
|
|
354
354
|
callback(field, ctx)
|
|
355
|
-
}
|
|
356
|
-
else if (field['_ft'] == 'subform') {
|
|
355
|
+
} else if (field['_ft'] == 'subform') {
|
|
357
356
|
var context = {parentField: field}
|
|
358
357
|
f.tranverseFields(field, callback, context)
|
|
359
|
-
}
|
|
360
|
-
else if (field['_ft'] == 'array') {
|
|
358
|
+
} else if (field['_ft'] == 'array') {
|
|
361
359
|
var context = {parentField: field}
|
|
362
360
|
f.tranverseFields(field, callback, context)
|
|
363
361
|
}
|
|
@@ -370,27 +368,25 @@ var @projectCodeService = (function (pigeon) {
|
|
|
370
368
|
}
|
|
371
369
|
switch (spec.fieldType) {
|
|
372
370
|
case 'string':
|
|
373
|
-
if(typeof value=='number'){
|
|
371
|
+
if (typeof value == 'number') {
|
|
374
372
|
value = value + '';
|
|
375
373
|
}
|
|
376
374
|
return value + ''
|
|
377
375
|
case 'number':
|
|
378
376
|
if (isNaN(value)) {
|
|
379
377
|
return null
|
|
380
|
-
}
|
|
381
|
-
else {
|
|
378
|
+
} else {
|
|
382
379
|
value = Number(value)
|
|
383
380
|
return value
|
|
384
381
|
}
|
|
385
382
|
case 'date':
|
|
386
|
-
try{
|
|
387
|
-
if(isNaN(value)){
|
|
383
|
+
try {
|
|
384
|
+
if (isNaN(value)) {
|
|
388
385
|
return value;
|
|
389
386
|
}
|
|
390
387
|
|
|
391
388
|
return new Date(Number(value)).toISOString();
|
|
392
|
-
}
|
|
393
|
-
catch(e){
|
|
389
|
+
} catch (e) {
|
|
394
390
|
return null;
|
|
395
391
|
}
|
|
396
392
|
|
|
@@ -410,12 +406,12 @@ var @projectCodeService = (function (pigeon) {
|
|
|
410
406
|
var obj = JSON.parse(JSON.stringify(data))
|
|
411
407
|
|
|
412
408
|
var newObj = {};
|
|
413
|
-
if(indexFields && indexFields.length>0){
|
|
414
|
-
for(var i=0; i<indexFields.length; i++){
|
|
409
|
+
if (indexFields && indexFields.length > 0) {
|
|
410
|
+
for (var i = 0; i < indexFields.length; i++) {
|
|
415
411
|
var key = indexFields[i];
|
|
416
|
-
var value = f.getValue(key,obj);
|
|
417
|
-
if(value){
|
|
418
|
-
f.setValue(key,value,newObj);
|
|
412
|
+
var value = f.getValue(key, obj);
|
|
413
|
+
if (value) {
|
|
414
|
+
f.setValue(key, value, newObj);
|
|
419
415
|
}
|
|
420
416
|
}
|
|
421
417
|
newObj['del'] = obj['del'];
|
|
@@ -424,18 +420,17 @@ var @projectCodeService = (function (pigeon) {
|
|
|
424
420
|
|
|
425
421
|
|
|
426
422
|
var fields = formSpecs.fields;
|
|
427
|
-
for(var i=0; i<fields.length; i++){
|
|
428
|
-
var field= fields[i];
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
}
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
}
|
|
423
|
+
for (var i = 0; i < fields.length; i++) {
|
|
424
|
+
var field = fields[i];
|
|
425
|
+
if (field['_ft'] === 'subform' || field['_ft'] === 'array') {
|
|
426
|
+
var meta = field.meta;
|
|
427
|
+
if (meta.index === 'no') {
|
|
428
|
+
delete obj[field.key]
|
|
429
|
+
}
|
|
430
|
+
} else if (field['_ft'] === 'field') {
|
|
431
|
+
if (field.index === 'no') {
|
|
432
|
+
delete obj[field.key]
|
|
433
|
+
}
|
|
439
434
|
|
|
440
435
|
}
|
|
441
436
|
}
|
|
@@ -445,7 +440,7 @@ var @projectCodeService = (function (pigeon) {
|
|
|
445
440
|
if (items) {
|
|
446
441
|
for (var i = 0; i < items.length; i++) {
|
|
447
442
|
var item = items[i]
|
|
448
|
-
if(field.index==='no'){
|
|
443
|
+
if (field.index === 'no') {
|
|
449
444
|
delete item[field.origKey]
|
|
450
445
|
continue;
|
|
451
446
|
}
|
|
@@ -454,17 +449,14 @@ var @projectCodeService = (function (pigeon) {
|
|
|
454
449
|
item[field.origKey] = value
|
|
455
450
|
}
|
|
456
451
|
}
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
f.deleteValue(field.key,obj);
|
|
452
|
+
} else {
|
|
453
|
+
if (indexFields && indexFields.length > 0) {
|
|
454
|
+
if (indexFields.indexOf(field.key) == -1) {
|
|
455
|
+
f.deleteValue(field.key, obj);
|
|
462
456
|
}
|
|
463
|
-
}
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
}
|
|
467
|
-
else{
|
|
457
|
+
} else if (field.index === 'no') {
|
|
458
|
+
f.deleteValue(field.key, obj);
|
|
459
|
+
} else {
|
|
468
460
|
var value = f.getValue(field.key, obj)
|
|
469
461
|
value = f.normalizeValue(value, field)
|
|
470
462
|
f.setValue(field.key, value, obj)
|
|
@@ -474,10 +466,10 @@ var @projectCodeService = (function (pigeon) {
|
|
|
474
466
|
}, {})
|
|
475
467
|
|
|
476
468
|
//专门处理一下owl_modifyTime和owl_createTime
|
|
477
|
-
if(obj.owl_modifyTime){
|
|
469
|
+
if (obj.owl_modifyTime) {
|
|
478
470
|
obj.owl_modifyTime = new Date(obj.owl_modifyTime).toISOString();
|
|
479
471
|
}
|
|
480
|
-
if(obj.owl_createTime){
|
|
472
|
+
if (obj.owl_createTime) {
|
|
481
473
|
obj.owl_createTime = new Date(obj.owl_createTime).toISOString();
|
|
482
474
|
}
|
|
483
475
|
return obj
|
|
@@ -493,7 +485,7 @@ var @projectCodeService = (function (pigeon) {
|
|
|
493
485
|
if (data['shopId']) {
|
|
494
486
|
m.push(data['shopId'])
|
|
495
487
|
}
|
|
496
|
-
if(data['shop_id']){
|
|
488
|
+
if (data['shop_id']) {
|
|
497
489
|
m.push(data['shop_id'])
|
|
498
490
|
}
|
|
499
491
|
data._m = m;
|
|
@@ -513,31 +505,29 @@ var @projectCodeService = (function (pigeon) {
|
|
|
513
505
|
var r = JSON.parse(s)
|
|
514
506
|
if (!r.result) {
|
|
515
507
|
$.log(data.id + ',index error:' + JSON.stringify(s))
|
|
516
|
-
}
|
|
517
|
-
else {
|
|
508
|
+
} else {
|
|
518
509
|
// $.log('index ok...')
|
|
519
510
|
}
|
|
520
511
|
},
|
|
521
512
|
|
|
522
|
-
updateParentPath(treeNode){
|
|
513
|
+
updateParentPath(treeNode) {
|
|
523
514
|
/*工具类,用于更新对应的parentPathIds和pathPathNames*/
|
|
524
515
|
var parentId = treeNode.parent_id;
|
|
525
516
|
var parentPathIds = [];
|
|
526
517
|
var parentPathNames = [];
|
|
527
518
|
var nSteps = 0;
|
|
528
519
|
//获得parentId对应的node
|
|
529
|
-
while(parentId && parentId!=='0'){
|
|
520
|
+
while (parentId && parentId !== '0') {
|
|
530
521
|
nSteps++;
|
|
531
|
-
if(nSteps>15){
|
|
522
|
+
if (nSteps > 15) {
|
|
532
523
|
break;
|
|
533
524
|
}
|
|
534
525
|
var parentNode = f.get(parentId);
|
|
535
|
-
if(parentNode){
|
|
526
|
+
if (parentNode) {
|
|
536
527
|
parentPathIds.push(parentNode.id);
|
|
537
528
|
parentPathNames.push(parentNode.name);
|
|
538
529
|
parentId = parentNode.parent_id;
|
|
539
|
-
}
|
|
540
|
-
else{
|
|
530
|
+
} else {
|
|
541
531
|
break;
|
|
542
532
|
}
|
|
543
533
|
}
|
|
@@ -546,13 +536,13 @@ var @projectCodeService = (function (pigeon) {
|
|
|
546
536
|
treeNode.parentPathIds = parentPathIds.reverse();
|
|
547
537
|
treeNode.fullPathIds = treeNode.parentPathIds.concat([treeNode.id]);
|
|
548
538
|
treeNode.parentPathNames = parentPathNames.reverse();
|
|
549
|
-
if(treeNode.parentPathNames
|
|
539
|
+
if (treeNode.parentPathNames) {
|
|
550
540
|
var sep = "";
|
|
551
541
|
var meta = spec['#meta'];
|
|
552
|
-
if(meta && meta.pathSep){
|
|
542
|
+
if (meta && meta.pathSep) {
|
|
553
543
|
sep = meta.pathSep;
|
|
554
544
|
}
|
|
555
|
-
treeNode.fullPathName = treeNode.parentPathNames.join(sep)+sep+treeNode.name;
|
|
545
|
+
treeNode.fullPathName = treeNode.parentPathNames.join(sep) + sep + treeNode.name;
|
|
556
546
|
}
|
|
557
547
|
|
|
558
548
|
|
|
@@ -561,11 +551,11 @@ var @projectCodeService = (function (pigeon) {
|
|
|
561
551
|
f.checkData(data);
|
|
562
552
|
env = env || {}
|
|
563
553
|
var ret = f.validate(data, env)
|
|
564
|
-
if(ret.state!='ok'){
|
|
554
|
+
if (ret.state != 'ok') {
|
|
565
555
|
throw JSON.stringify(ret);
|
|
566
556
|
}
|
|
567
557
|
|
|
568
|
-
if(data.__force !== 'T'){
|
|
558
|
+
if (data.__force !== 'T') {
|
|
569
559
|
data['owl_createTime'] = new Date().getTime();
|
|
570
560
|
data['owl_modifyTime'] = new Date().getTime();
|
|
571
561
|
}
|
|
@@ -578,7 +568,7 @@ var @projectCodeService = (function (pigeon) {
|
|
|
578
568
|
|
|
579
569
|
EventBusService.fire(spec['_t'] + '_add_before', {data: data, env: env})
|
|
580
570
|
data.id = f.getId(data)
|
|
581
|
-
if(meta.isTree){
|
|
571
|
+
if (meta.isTree) {
|
|
582
572
|
f.updateParentPath(data);
|
|
583
573
|
}
|
|
584
574
|
pigeon.lock(f.getLock(data))
|
|
@@ -587,26 +577,25 @@ var @projectCodeService = (function (pigeon) {
|
|
|
587
577
|
f.addToList(data)
|
|
588
578
|
f.index(data)
|
|
589
579
|
|
|
590
|
-
if(meta && meta.enableJDBC){
|
|
580
|
+
if (meta && meta.enableJDBC) {
|
|
591
581
|
var sqls = insertObject(data);
|
|
592
582
|
// $.log(sqls.join(";\n"));
|
|
593
583
|
}
|
|
594
584
|
// $.log("add,meta.push=" +meta.push + ",id=" + data.id);
|
|
595
|
-
if(meta && meta.push){
|
|
596
|
-
KafkaUtil.send('owlchange',"add",data.id);
|
|
585
|
+
if (meta && meta.push) {
|
|
586
|
+
KafkaUtil.send('owlchange', "add", data.id);
|
|
597
587
|
}
|
|
598
588
|
EventBusService.fire(spec['_t'] + '_add_after', {data: data, env: env})
|
|
599
589
|
return data
|
|
600
|
-
}
|
|
601
|
-
finally {
|
|
590
|
+
} finally {
|
|
602
591
|
pigeon.unlock(f.getLock(data))
|
|
603
592
|
}
|
|
604
593
|
|
|
605
594
|
},
|
|
606
595
|
|
|
607
|
-
get: function (id,includeDeleted) {
|
|
596
|
+
get: function (id, includeDeleted) {
|
|
608
597
|
var meta = spec['#meta'];
|
|
609
|
-
if(meta && meta.push) {
|
|
598
|
+
if (meta && meta.push) {
|
|
610
599
|
var cachedObj = appData.getObservableObject(id);
|
|
611
600
|
if (cachedObj) {
|
|
612
601
|
if (cachedObj.del === 'T' && !includeDeleted) {
|
|
@@ -615,10 +604,9 @@ var @projectCodeService = (function (pigeon) {
|
|
|
615
604
|
return cachedObj;
|
|
616
605
|
}
|
|
617
606
|
var obj = pigeon.getObject(id)
|
|
618
|
-
if(obj){
|
|
619
|
-
appData.setObservableObject(id,obj);
|
|
620
|
-
}
|
|
621
|
-
else{
|
|
607
|
+
if (obj) {
|
|
608
|
+
appData.setObservableObject(id, obj);
|
|
609
|
+
} else {
|
|
622
610
|
appData.removeObservableObject(id);
|
|
623
611
|
}
|
|
624
612
|
|
|
@@ -626,8 +614,7 @@ var @projectCodeService = (function (pigeon) {
|
|
|
626
614
|
return null;
|
|
627
615
|
}
|
|
628
616
|
return obj;
|
|
629
|
-
}
|
|
630
|
-
else{
|
|
617
|
+
} else {
|
|
631
618
|
var obj = pigeon.getObject(id)
|
|
632
619
|
if (obj && obj.del === 'T' && !includeDeleted) {
|
|
633
620
|
return null;
|
|
@@ -636,24 +623,22 @@ var @projectCodeService = (function (pigeon) {
|
|
|
636
623
|
}
|
|
637
624
|
},
|
|
638
625
|
|
|
639
|
-
getEx:function(id,refresh){
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
return f.get(id);
|
|
656
|
-
}
|
|
626
|
+
getEx: function (id, refresh) {
|
|
627
|
+
if (refresh) {
|
|
628
|
+
var obj = pigeon.getObject(id);
|
|
629
|
+
|
|
630
|
+
if (obj) {
|
|
631
|
+
appData.setObservableObject(id, obj);
|
|
632
|
+
} else {
|
|
633
|
+
appData.removeObservableObject(id);
|
|
634
|
+
}
|
|
635
|
+
if (obj && obj.del === 'T') {
|
|
636
|
+
return null;
|
|
637
|
+
}
|
|
638
|
+
return obj;
|
|
639
|
+
} else {
|
|
640
|
+
return f.get(id);
|
|
641
|
+
}
|
|
657
642
|
},
|
|
658
643
|
|
|
659
644
|
saveTempData: function (key, data) {
|
|
@@ -673,10 +658,10 @@ var @projectCodeService = (function (pigeon) {
|
|
|
673
658
|
var meta = spec['#meta'];
|
|
674
659
|
// 检查数据是否合法
|
|
675
660
|
var checkData = meta.checkData;
|
|
676
|
-
if(checkData){
|
|
677
|
-
if(checkData.maxSize){
|
|
661
|
+
if (checkData) {
|
|
662
|
+
if (checkData.maxSize) {
|
|
678
663
|
var s = JSON.stringify(data);
|
|
679
|
-
if(s.length>checkData.maxSize){
|
|
664
|
+
if (s.length > checkData.maxSize) {
|
|
680
665
|
throw {code: 'dataTooLarge', msg: '数据太大,超过了' + checkData.maxSize + '字节'}
|
|
681
666
|
}
|
|
682
667
|
}
|
|
@@ -690,16 +675,16 @@ var @projectCodeService = (function (pigeon) {
|
|
|
690
675
|
|
|
691
676
|
try {
|
|
692
677
|
var meta = spec['#meta'];
|
|
693
|
-
if(meta.isTree){
|
|
678
|
+
if (meta.isTree) {
|
|
694
679
|
f.updateParentPath(data);
|
|
695
680
|
}
|
|
696
681
|
pigeon.lock(f.getLock(data))
|
|
697
|
-
var obj = f.get(data.id,true)
|
|
682
|
+
var obj = f.get(data.id, true)
|
|
698
683
|
if (!obj) {
|
|
699
684
|
throw {msg: '对象不存在!id=' + data.id, code: 'notFound'}
|
|
700
685
|
}
|
|
701
686
|
if (obj._v != data._v) {
|
|
702
|
-
throw {code: 'concurrentupdate', msg: '对象已经修改过,本次修改被拒绝。old._v=' + obj._v + ',new._v=' + data._v+ ", id=" + obj.id}
|
|
687
|
+
throw {code: 'concurrentupdate', msg: '对象已经修改过,本次修改被拒绝。old._v=' + obj._v + ',new._v=' + data._v + ", id=" + obj.id}
|
|
703
688
|
}
|
|
704
689
|
var oldObj = JSON.parse(JSON.stringify(obj))
|
|
705
690
|
//深度合并
|
|
@@ -708,9 +693,9 @@ var @projectCodeService = (function (pigeon) {
|
|
|
708
693
|
obj['_v'] = Number(obj['_v']) + 1
|
|
709
694
|
f.validate(obj, env)
|
|
710
695
|
data._v = obj._v
|
|
711
|
-
if(obj.__force!=='T'){
|
|
696
|
+
if (obj.__force !== 'T') {
|
|
712
697
|
//如果__force为T,则不更新时间,这代表了强制更新,可以用于数据迁移的场景,希望更新时间保留为旧系统时间
|
|
713
|
-
obj.owl_modifyTime=new Date().getTime();
|
|
698
|
+
obj.owl_modifyTime = new Date().getTime();
|
|
714
699
|
}
|
|
715
700
|
|
|
716
701
|
EventBusService.fire(spec['_t'] + '_update_before', {old: oldObj, data: obj, env: env})
|
|
@@ -720,37 +705,40 @@ var @projectCodeService = (function (pigeon) {
|
|
|
720
705
|
f.saveUniqueFields(data, env)
|
|
721
706
|
f.index(obj)
|
|
722
707
|
|
|
723
|
-
if(formSpecs && formSpecs.meta && formSpecs.meta.changeLogEnabled){
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
708
|
+
if (formSpecs && formSpecs.meta && formSpecs.meta.changeLogEnabled) {
|
|
709
|
+
var id = oldObj.id;
|
|
710
|
+
oldObj.id = id + "vvv" + oldObj._v;
|
|
711
|
+
if (formSpecs.meta.logPigeon) {
|
|
712
|
+
pigeon.getPigeon(formSpecs.meta.logPigeon).saveObject(oldObj.id, oldObj);
|
|
713
|
+
} else {
|
|
714
|
+
pigeon.saveObject(oldObj.id, oldObj);
|
|
715
|
+
}
|
|
716
|
+
oldObj.id = id;
|
|
728
717
|
}
|
|
729
|
-
|
|
718
|
+
|
|
730
719
|
var meta = spec['#meta'];
|
|
731
|
-
if(meta && meta.enableJDBC){
|
|
720
|
+
if (meta && meta.enableJDBC) {
|
|
732
721
|
var sqls = updateObject(obj);
|
|
733
722
|
// $.log(sqls.join(";\n"));
|
|
734
723
|
}
|
|
735
|
-
if(meta){
|
|
724
|
+
if (meta) {
|
|
736
725
|
// $.log("updating meta.push=" + meta.push + ", id=" + obj.id);
|
|
737
726
|
}
|
|
738
727
|
|
|
739
|
-
if(meta && meta.push){
|
|
728
|
+
if (meta && meta.push) {
|
|
740
729
|
// $.log("send owlchange," + obj.id)
|
|
741
|
-
KafkaUtil.send('owlchange',"update",obj.id);
|
|
730
|
+
KafkaUtil.send('owlchange', "update", obj.id);
|
|
742
731
|
}
|
|
743
732
|
EventBusService.fire(spec['_t'] + '_update_after', {old: oldObj, data: obj, env: env})
|
|
744
733
|
return data
|
|
745
|
-
}
|
|
746
|
-
finally {
|
|
734
|
+
} finally {
|
|
747
735
|
pigeon.unlock(f.getLock(data))
|
|
748
736
|
}
|
|
749
737
|
},
|
|
750
738
|
|
|
751
|
-
del: function (id,userId,ip,ua) {
|
|
739
|
+
del: function (id, userId, ip, ua) {
|
|
752
740
|
//只做软删除
|
|
753
|
-
var data = f.get(id,true)
|
|
741
|
+
var data = f.get(id, true)
|
|
754
742
|
if (!data) {
|
|
755
743
|
throw '对象不存在!id=' + id
|
|
756
744
|
}
|
|
@@ -793,17 +781,17 @@ var @projectCodeService = (function (pigeon) {
|
|
|
793
781
|
f.removeUniqueFields(data, {})
|
|
794
782
|
var meta = spec['#meta'];
|
|
795
783
|
|
|
796
|
-
if(meta && meta.enableJDBC){
|
|
784
|
+
if (meta && meta.enableJDBC) {
|
|
797
785
|
var sqls = deleteObject(data);
|
|
798
786
|
// $.log(sqls.join(";\n"));
|
|
799
787
|
}
|
|
800
788
|
|
|
801
|
-
if(meta){
|
|
789
|
+
if (meta) {
|
|
802
790
|
// $.log("del meta.push=" + meta.push + ", id=" + data.id);
|
|
803
791
|
}
|
|
804
792
|
|
|
805
|
-
if(meta && meta.push){
|
|
806
|
-
KafkaUtil.send('owlchange',"del",data.id);
|
|
793
|
+
if (meta && meta.push) {
|
|
794
|
+
KafkaUtil.send('owlchange', "del", data.id);
|
|
807
795
|
}
|
|
808
796
|
EventBusService.fire(spec['_t'] + '_delete_after', {data: data})
|
|
809
797
|
},
|
|
@@ -831,13 +819,13 @@ var @projectCodeService = (function (pigeon) {
|
|
|
831
819
|
addExportTask: function (query, env) {
|
|
832
820
|
var now = new Date().getTime()
|
|
833
821
|
var taskInfo = {
|
|
834
|
-
submitUserId:env.loginId,
|
|
822
|
+
submitUserId: env.loginId,
|
|
835
823
|
submitTime: now,
|
|
836
824
|
beginTime: null,
|
|
837
825
|
processState: 'notstart',
|
|
838
|
-
appId:"owl_" + spec['_t'],
|
|
839
|
-
params:JSON.stringify(env.params),
|
|
840
|
-
taskId:null
|
|
826
|
+
appId: "owl_" + spec['_t'],
|
|
827
|
+
params: JSON.stringify(env.params),
|
|
828
|
+
taskId: null
|
|
841
829
|
}
|
|
842
830
|
taskInfo.taskId = '';
|
|
843
831
|
|
|
@@ -847,7 +835,7 @@ var @projectCodeService = (function (pigeon) {
|
|
|
847
835
|
var taskId = JobsService.submitExportTask('@projectCode', 'tasks/export.jsx', {
|
|
848
836
|
query: query,
|
|
849
837
|
env: env,
|
|
850
|
-
taskInfoId:taskInfo.id
|
|
838
|
+
taskInfoId: taskInfo.id
|
|
851
839
|
}, now)
|
|
852
840
|
|
|
853
841
|
|
|
@@ -861,7 +849,7 @@ var @projectCodeService = (function (pigeon) {
|
|
|
861
849
|
var now = new Date().getTime()
|
|
862
850
|
var taskInfo = {
|
|
863
851
|
// loginUser: f.getEnvValue('$loginUser', env),
|
|
864
|
-
loginUserId:env.loginUserId,
|
|
852
|
+
loginUserId: env.loginUserId,
|
|
865
853
|
submitTime: now,
|
|
866
854
|
startTime: 0,
|
|
867
855
|
processState: 'processing',
|
|
@@ -885,11 +873,11 @@ var @projectCodeService = (function (pigeon) {
|
|
|
885
873
|
return taskInfoId
|
|
886
874
|
},
|
|
887
875
|
|
|
888
|
-
addZipExportTask
|
|
876
|
+
addZipExportTask: function (env) {
|
|
889
877
|
var now = new Date().getTime()
|
|
890
878
|
var taskInfo = {
|
|
891
879
|
// loginUser: f.getEnvValue('$loginUser', env),
|
|
892
|
-
loginUserId:env.loginUserId,
|
|
880
|
+
loginUserId: env.loginUserId,
|
|
893
881
|
submitTime: now,
|
|
894
882
|
startTime: 0,
|
|
895
883
|
processState: 'processing',
|
|
@@ -912,7 +900,7 @@ var @projectCodeService = (function (pigeon) {
|
|
|
912
900
|
},
|
|
913
901
|
|
|
914
902
|
getExportTaskInfo: function (taskInfoId) {
|
|
915
|
-
|
|
903
|
+
return owl_task_infoService.get(taskInfoId);
|
|
916
904
|
},
|
|
917
905
|
|
|
918
906
|
updateExportTaskInfo: function (taskInfoId, taskInfo) {
|
|
@@ -943,13 +931,13 @@ var @projectCodeService = (function (pigeon) {
|
|
|
943
931
|
}
|
|
944
932
|
},
|
|
945
933
|
|
|
946
|
-
getAllSize:function(){
|
|
934
|
+
getAllSize: function () {
|
|
947
935
|
var listName = f.getAllListName();
|
|
948
936
|
var count = pigeon.getListSize(listName);
|
|
949
937
|
return count;
|
|
950
938
|
},
|
|
951
939
|
|
|
952
|
-
getAllObjects:function(){
|
|
940
|
+
getAllObjects: function () {
|
|
953
941
|
var result = [];
|
|
954
942
|
var listName = f.getAllListName()
|
|
955
943
|
var count = pigeon.getListSize(listName)
|
|
@@ -967,71 +955,66 @@ var @projectCodeService = (function (pigeon) {
|
|
|
967
955
|
return result;
|
|
968
956
|
},
|
|
969
957
|
|
|
970
|
-
getAllObjectsEx:function(from,count){
|
|
958
|
+
getAllObjectsEx: function (from, count) {
|
|
971
959
|
var listName = f.getAllListName()
|
|
972
960
|
var allsize = pigeon.getListSize(listName)
|
|
973
961
|
var pos = from
|
|
974
|
-
if(count+pos > allsize){
|
|
962
|
+
if (count + pos > allsize) {
|
|
975
963
|
count = allsize - pos;
|
|
976
964
|
}
|
|
977
965
|
var objs = pigeon.getListObjects(listName, pos, count)
|
|
978
966
|
return objs;
|
|
979
967
|
},
|
|
980
968
|
|
|
981
|
-
createQuery:function(searchArgs){
|
|
969
|
+
createQuery: function (searchArgs) {
|
|
982
970
|
var filters = [];
|
|
983
|
-
for(var k in searchArgs){
|
|
971
|
+
for (var k in searchArgs) {
|
|
984
972
|
var v = searchArgs[k];
|
|
985
|
-
|
|
986
|
-
if(Array.isArray(v.args)){
|
|
973
|
+
if (typeof v === 'object' && v.type === 'or') {
|
|
974
|
+
if (Array.isArray(v.args)) {
|
|
987
975
|
var shouldClauses = [];
|
|
988
|
-
v.args.forEach(function(q){
|
|
976
|
+
v.args.forEach(function (q) {
|
|
989
977
|
var qFilters = f.createQuery(q);
|
|
990
|
-
if(qFilters.length > 0){
|
|
978
|
+
if (qFilters.length > 0) {
|
|
991
979
|
shouldClauses.push({
|
|
992
|
-
"bool":{
|
|
993
|
-
filters:qFilters
|
|
980
|
+
"bool": {
|
|
981
|
+
filters: qFilters
|
|
994
982
|
}
|
|
995
983
|
})
|
|
996
984
|
}
|
|
997
985
|
});
|
|
998
986
|
|
|
999
|
-
filters.push({bool:{should:shouldClauses}});
|
|
1000
|
-
}
|
|
1001
|
-
else if(v.args && typeof(v.args)=='object'){
|
|
987
|
+
filters.push({bool: {should: shouldClauses}});
|
|
988
|
+
} else if (v.args && typeof (v.args) == 'object') {
|
|
1002
989
|
var shouldClauses = [];
|
|
1003
990
|
var qFilters = f.createQuery(v.args);
|
|
1004
|
-
shouldClauses.push({bool:{filters:qFilters}});
|
|
1005
|
-
filters.push({bool:{should:shouldClauses}});
|
|
991
|
+
shouldClauses.push({bool: {filters: qFilters}});
|
|
992
|
+
filters.push({bool: {should: shouldClauses}});
|
|
1006
993
|
}
|
|
1007
994
|
|
|
1008
|
-
}
|
|
1009
|
-
|
|
1010
|
-
var range={}
|
|
995
|
+
} else if (typeof (v) == 'object' && Array.isArray(v)) {
|
|
996
|
+
var range = {}
|
|
1011
997
|
range[k] = {
|
|
1012
|
-
'gte':v[0],
|
|
1013
|
-
'lte':v[1]
|
|
998
|
+
'gte': v[0],
|
|
999
|
+
'lte': v[1]
|
|
1014
1000
|
}
|
|
1015
|
-
filters.push({range:range});
|
|
1016
|
-
}
|
|
1017
|
-
else if(typeof(v)=='object' && v.type==='terms'){
|
|
1001
|
+
filters.push({range: range});
|
|
1002
|
+
} else if (typeof (v) == 'object' && v.type === 'terms') {
|
|
1018
1003
|
var terms = {};
|
|
1019
|
-
if(v.values){
|
|
1004
|
+
if (v.values) {
|
|
1020
1005
|
terms[k + ".keyword"] = v.values;
|
|
1021
|
-
filters.push({terms:terms});
|
|
1006
|
+
filters.push({terms: terms});
|
|
1022
1007
|
}
|
|
1023
|
-
}
|
|
1024
|
-
else{
|
|
1008
|
+
} else {
|
|
1025
1009
|
var term = {};
|
|
1026
|
-
if(typeof v == 'string'
|
|
1027
|
-
if(v){
|
|
1028
|
-
term[k+".keyword"] = trim('' + v)
|
|
1029
|
-
filters.push({term:term})
|
|
1010
|
+
if (typeof v == 'string') {
|
|
1011
|
+
if (v) {
|
|
1012
|
+
term[k + ".keyword"] = trim('' + v)
|
|
1013
|
+
filters.push({term: term})
|
|
1030
1014
|
}
|
|
1031
|
-
}
|
|
1032
|
-
else if (typeof v == 'number'){
|
|
1015
|
+
} else if (typeof v == 'number') {
|
|
1033
1016
|
term[k] = trim('' + v)
|
|
1034
|
-
filters.push({term:term})
|
|
1017
|
+
filters.push({term: term})
|
|
1035
1018
|
}
|
|
1036
1019
|
}
|
|
1037
1020
|
}
|
|
@@ -1039,7 +1022,7 @@ var @projectCodeService = (function (pigeon) {
|
|
|
1039
1022
|
},
|
|
1040
1023
|
|
|
1041
1024
|
// 构建通配查询(将 SQL 风格的 % 转为 ES 的 *)
|
|
1042
|
-
buildWildcardQuery:function(k, v){
|
|
1025
|
+
buildWildcardQuery: function (k, v) {
|
|
1043
1026
|
// v 预期包含 % 作为通配符标记,转换为 ES 的 *
|
|
1044
1027
|
var value = ('' + v).replace(/%/g, '*');
|
|
1045
1028
|
var field = k + ".keyword";
|
|
@@ -1049,181 +1032,167 @@ var @projectCodeService = (function (pigeon) {
|
|
|
1049
1032
|
// 在 ES 7.10+ 支持不区分大小写
|
|
1050
1033
|
case_insensitive: true
|
|
1051
1034
|
};
|
|
1052
|
-
return {
|
|
1035
|
+
return {wildcard: wildcard};
|
|
1053
1036
|
},
|
|
1054
1037
|
|
|
1055
|
-
buildQuery:function(mfilters,searchArgs,keyword,isRecycleBin,meta_fields){
|
|
1056
|
-
if(!meta_fields){
|
|
1038
|
+
buildQuery: function (mfilters, searchArgs, keyword, isRecycleBin, meta_fields) {
|
|
1039
|
+
if (!meta_fields) {
|
|
1057
1040
|
var meta = spec["#meta"];
|
|
1058
|
-
if(meta){
|
|
1041
|
+
if (meta) {
|
|
1059
1042
|
meta_fields = spec["#meta"]["keyword_fields"];
|
|
1060
1043
|
}
|
|
1061
1044
|
}
|
|
1062
1045
|
delete searchArgs.keyword;
|
|
1063
1046
|
var filters = [];
|
|
1064
1047
|
var must_not = [{
|
|
1065
|
-
term:{
|
|
1066
|
-
"del.keyword":'T'
|
|
1048
|
+
term: {
|
|
1049
|
+
"del.keyword": 'T'
|
|
1067
1050
|
}
|
|
1068
1051
|
}];
|
|
1069
1052
|
|
|
1070
|
-
if(isRecycleBin){
|
|
1053
|
+
if (isRecycleBin) {
|
|
1071
1054
|
must_not = [];
|
|
1072
1055
|
filters.push({
|
|
1073
|
-
term:{
|
|
1074
|
-
"del.keyword":'T'
|
|
1056
|
+
term: {
|
|
1057
|
+
"del.keyword": 'T'
|
|
1075
1058
|
}
|
|
1076
1059
|
});
|
|
1077
1060
|
}
|
|
1078
|
-
for(var k in searchArgs){
|
|
1061
|
+
for (var k in searchArgs) {
|
|
1079
1062
|
|
|
1080
1063
|
var v = searchArgs[k];
|
|
1081
1064
|
|
|
1082
1065
|
var isNotClause = false;
|
|
1083
|
-
if(k.indexOf("!")===0){
|
|
1066
|
+
if (k.indexOf("!") === 0) {
|
|
1084
1067
|
isNotClause = true;
|
|
1085
1068
|
k = k.substring(1);
|
|
1086
1069
|
}
|
|
1087
|
-
if(typeof v === 'object' && v.type === 'or'){
|
|
1070
|
+
if (typeof v === 'object' && v.type === 'or') {
|
|
1088
1071
|
var shouldClauses = [];
|
|
1089
|
-
if(Array.isArray(v.args)){
|
|
1090
|
-
v.args.forEach(function(q){
|
|
1072
|
+
if (Array.isArray(v.args)) {
|
|
1073
|
+
v.args.forEach(function (q) {
|
|
1091
1074
|
var shouldQueries = f.createQuery(q);
|
|
1092
|
-
if(shouldQueries.length>0){
|
|
1093
|
-
shouldClauses.push({bool:{filter:shouldQueries}});
|
|
1075
|
+
if (shouldQueries.length > 0) {
|
|
1076
|
+
shouldClauses.push({bool: {filter: shouldQueries}});
|
|
1094
1077
|
}
|
|
1095
1078
|
|
|
1096
1079
|
});
|
|
1097
|
-
if(isNotClause){
|
|
1098
|
-
must_not.push({bool:{should:shouldClauses}});
|
|
1099
|
-
}else{
|
|
1100
|
-
filters.push({bool:{should:shouldClauses}});
|
|
1080
|
+
if (isNotClause) {
|
|
1081
|
+
must_not.push({bool: {should: shouldClauses}});
|
|
1082
|
+
} else {
|
|
1083
|
+
filters.push({bool: {should: shouldClauses}});
|
|
1101
1084
|
}
|
|
1102
1085
|
|
|
1086
|
+
} else {
|
|
1087
|
+
//do noting,所以 or 语句不支持 单个对象,必须带一个 args 数组
|
|
1103
1088
|
}
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
}
|
|
1108
|
-
else if(typeof(v)=='object' && Array.isArray(v)){
|
|
1109
|
-
var range={}
|
|
1110
|
-
if(v.length==2){
|
|
1089
|
+
} else if (typeof (v) == 'object' && Array.isArray(v)) {
|
|
1090
|
+
var range = {}
|
|
1091
|
+
if (v.length == 2) {
|
|
1111
1092
|
range[k] = {
|
|
1112
|
-
'gte':v[0],
|
|
1113
|
-
'lte':v[1]
|
|
1093
|
+
'gte': v[0],
|
|
1094
|
+
'lte': v[1]
|
|
1114
1095
|
}
|
|
1115
|
-
}
|
|
1116
|
-
else if(v.length==1){
|
|
1096
|
+
} else if (v.length == 1) {
|
|
1117
1097
|
range[k] = {
|
|
1118
|
-
'gte':v[0]
|
|
1098
|
+
'gte': v[0]
|
|
1119
1099
|
}
|
|
1120
|
-
}
|
|
1121
|
-
else if(v.length==3){
|
|
1100
|
+
} else if (v.length == 3) {
|
|
1122
1101
|
range[k] = {
|
|
1123
|
-
'lte':v[0]
|
|
1102
|
+
'lte': v[0]
|
|
1124
1103
|
}
|
|
1125
|
-
}
|
|
1126
|
-
else if(v.length==4){
|
|
1104
|
+
} else if (v.length == 4) {
|
|
1127
1105
|
range[k] = {
|
|
1128
|
-
'gt':v[0],
|
|
1129
|
-
'lt':v[1]
|
|
1106
|
+
'gt': v[0],
|
|
1107
|
+
'lt': v[1]
|
|
1130
1108
|
}
|
|
1131
|
-
}
|
|
1132
|
-
else if(v.length==5){
|
|
1109
|
+
} else if (v.length == 5) {
|
|
1133
1110
|
range[k] = {
|
|
1134
1111
|
'gt': v[0]
|
|
1135
1112
|
}
|
|
1136
|
-
}
|
|
1137
|
-
else if(v.length==6) {
|
|
1113
|
+
} else if (v.length == 6) {
|
|
1138
1114
|
range[k] = {
|
|
1139
1115
|
'lt': v[0]
|
|
1140
1116
|
}
|
|
1141
1117
|
}
|
|
1142
1118
|
|
|
1143
|
-
if(isNotClause){
|
|
1144
|
-
must_not.push({range:range});
|
|
1145
|
-
}else{
|
|
1146
|
-
filters.push({range:range});
|
|
1119
|
+
if (isNotClause) {
|
|
1120
|
+
must_not.push({range: range});
|
|
1121
|
+
} else {
|
|
1122
|
+
filters.push({range: range});
|
|
1147
1123
|
}
|
|
1148
|
-
}
|
|
1149
|
-
else if(typeof(v)=='object' && v.type==='terms'){
|
|
1124
|
+
} else if (typeof (v) == 'object' && v.type === 'terms') {
|
|
1150
1125
|
var terms = {};
|
|
1151
|
-
if(v.values){
|
|
1126
|
+
if (v.values) {
|
|
1152
1127
|
terms[k + ".keyword"] = v.values;
|
|
1153
|
-
if(isNotClause){
|
|
1154
|
-
must_not.push({terms:terms});
|
|
1155
|
-
}else{
|
|
1156
|
-
filters.push({terms:terms});
|
|
1128
|
+
if (isNotClause) {
|
|
1129
|
+
must_not.push({terms: terms});
|
|
1130
|
+
} else {
|
|
1131
|
+
filters.push({terms: terms});
|
|
1157
1132
|
}
|
|
1158
1133
|
}
|
|
1159
|
-
}
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
filters.push({exists:{field:k}});
|
|
1134
|
+
} else if (typeof (v) === 'object' && v.type === 'exists') {
|
|
1135
|
+
if (isNotClause) {
|
|
1136
|
+
must_not.push({exists: {field: k}});
|
|
1137
|
+
} else {
|
|
1138
|
+
filters.push({exists: {field: k}});
|
|
1165
1139
|
}
|
|
1166
|
-
}
|
|
1167
|
-
else{
|
|
1140
|
+
} else {
|
|
1168
1141
|
var term = {};
|
|
1169
|
-
if(typeof v == 'string'
|
|
1170
|
-
if(v){
|
|
1171
|
-
term[k+".keyword"] = trim('' + v)
|
|
1172
|
-
if(isNotClause){
|
|
1173
|
-
if(v.indexOf('%')
|
|
1142
|
+
if (typeof v == 'string') {
|
|
1143
|
+
if (v) {
|
|
1144
|
+
term[k + ".keyword"] = trim('' + v)
|
|
1145
|
+
if (isNotClause) {
|
|
1146
|
+
if (v.indexOf('%') > -1) {
|
|
1174
1147
|
must_not.push(f.buildWildcardQuery(k, v));
|
|
1148
|
+
} else {
|
|
1149
|
+
must_not.push({term: term});
|
|
1175
1150
|
}
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
}
|
|
1179
|
-
}else{
|
|
1180
|
-
if(v.indexOf('%')>-1){
|
|
1151
|
+
} else {
|
|
1152
|
+
if (v.indexOf('%') > -1) {
|
|
1181
1153
|
filters.push(f.buildWildcardQuery(k, v));
|
|
1182
|
-
}
|
|
1183
|
-
|
|
1184
|
-
filters.push({term:term});
|
|
1154
|
+
} else {
|
|
1155
|
+
filters.push({term: term});
|
|
1185
1156
|
}
|
|
1186
1157
|
}
|
|
1187
1158
|
|
|
1188
1159
|
}
|
|
1189
|
-
}
|
|
1190
|
-
else if (typeof v == 'number'){
|
|
1160
|
+
} else if (typeof v == 'number') {
|
|
1191
1161
|
term[k] = trim('' + v)
|
|
1192
|
-
if(isNotClause){
|
|
1193
|
-
must_not.push({term:term});
|
|
1194
|
-
}else{
|
|
1195
|
-
filters.push({term:term});
|
|
1162
|
+
if (isNotClause) {
|
|
1163
|
+
must_not.push({term: term});
|
|
1164
|
+
} else {
|
|
1165
|
+
filters.push({term: term});
|
|
1196
1166
|
}
|
|
1197
1167
|
}
|
|
1198
1168
|
}
|
|
1199
1169
|
}
|
|
1200
|
-
if(mfilters && Array.isArray(mfilters) && mfilters.length>0){
|
|
1170
|
+
if (mfilters && Array.isArray(mfilters) && mfilters.length > 0) {
|
|
1201
1171
|
filters = filters.concat(mfilters);
|
|
1202
1172
|
}
|
|
1203
1173
|
|
|
1204
1174
|
//getKeyword query
|
|
1205
1175
|
var keywordQuery = "";
|
|
1206
|
-
if(keyword && trim(keyword).length>0){
|
|
1176
|
+
if (keyword && trim(keyword).length > 0) {
|
|
1207
1177
|
keywordQuery = "\"" + trim(keyword) + "\""
|
|
1208
|
-
}
|
|
1209
|
-
else{
|
|
1178
|
+
} else {
|
|
1210
1179
|
keywordQuery = "*"
|
|
1211
1180
|
}
|
|
1212
1181
|
var keyword_fields = null;
|
|
1213
|
-
if(meta_fields && Array.isArray(meta_fields) && meta_fields.length>0){
|
|
1182
|
+
if (meta_fields && Array.isArray(meta_fields) && meta_fields.length > 0) {
|
|
1214
1183
|
keyword_fields = meta_fields;
|
|
1215
1184
|
}
|
|
1216
1185
|
var queryStringQuery = {
|
|
1217
1186
|
"query_string": {
|
|
1218
|
-
"query":keywordQuery
|
|
1187
|
+
"query": keywordQuery
|
|
1219
1188
|
}
|
|
1220
1189
|
}
|
|
1221
1190
|
|
|
1222
|
-
if(keyword_fields && keyword_fields.length>0){
|
|
1191
|
+
if (keyword_fields && keyword_fields.length > 0) {
|
|
1223
1192
|
queryStringQuery = {
|
|
1224
1193
|
"query_string": {
|
|
1225
|
-
"query":keywordQuery,
|
|
1226
|
-
"fields":keyword_fields,
|
|
1194
|
+
"query": keywordQuery,
|
|
1195
|
+
"fields": keyword_fields,
|
|
1227
1196
|
}
|
|
1228
1197
|
}
|
|
1229
1198
|
}
|
|
@@ -1238,86 +1207,86 @@ var @projectCodeService = (function (pigeon) {
|
|
|
1238
1207
|
}
|
|
1239
1208
|
return query;
|
|
1240
1209
|
},
|
|
1241
|
-
count:function(mfilters,searchArgs,keyword,dataSource,isRecycleBin,meta_fields){
|
|
1242
|
-
var query = f.buildQuery(mfilters,searchArgs,keyword,isRecycleBin,meta_fields);
|
|
1243
|
-
var elasticSearchUrl = $.getEnv(
|
|
1210
|
+
count: function (mfilters, searchArgs, keyword, dataSource, isRecycleBin, meta_fields) {
|
|
1211
|
+
var query = f.buildQuery(mfilters, searchArgs, keyword, isRecycleBin, meta_fields);
|
|
1212
|
+
var elasticSearchUrl = $.getEnv("elasticSearchUrl");
|
|
1244
1213
|
|
|
1245
|
-
var headers = {
|
|
1214
|
+
var headers = {"Content-Type": "application/json;charset=utf-8"};
|
|
1246
1215
|
var elasticSearchUser = $.getEnv("elasticSearchUser");
|
|
1247
1216
|
var elasticSearchPass = $.getEnv("elasticSearchPass");
|
|
1248
|
-
if(elasticSearchUser && elasticSearchPass){
|
|
1249
|
-
var auth =Base64.encode(elasticSearchUser + ":" + elasticSearchPass);
|
|
1217
|
+
if (elasticSearchUser && elasticSearchPass) {
|
|
1218
|
+
var auth = Base64.encode(elasticSearchUser + ":" + elasticSearchPass);
|
|
1250
1219
|
var basicAuth = "Basic " + auth;
|
|
1251
1220
|
headers["Authorization"] = basicAuth;
|
|
1252
1221
|
}
|
|
1253
|
-
var searchUrl = elasticSearchUrl+"/@projectCode/_count";
|
|
1254
|
-
if(dataSource){
|
|
1222
|
+
var searchUrl = elasticSearchUrl + "/@projectCode/_count";
|
|
1223
|
+
if (dataSource) {
|
|
1255
1224
|
searchUrl = elasticSearchUrl + "/" + dataSource + "/_count";
|
|
1256
1225
|
}
|
|
1257
1226
|
|
|
1258
1227
|
var sndTxt = JSON.stringify(query);
|
|
1259
|
-
var s = HttpUtils.postRaw(
|
|
1228
|
+
var s = HttpUtils.postRaw(searchUrl, sndTxt, headers);
|
|
1260
1229
|
var result = JSON.parse(s);
|
|
1261
|
-
if(result.count){
|
|
1230
|
+
if (result.count) {
|
|
1262
1231
|
return result.count;
|
|
1263
1232
|
}
|
|
1264
1233
|
return 0;
|
|
1265
1234
|
},
|
|
1266
|
-
executeSearchQuery:function(query,dataSource){
|
|
1267
|
-
var elasticSearchUrl = $.getEnv(
|
|
1235
|
+
executeSearchQuery: function (query, dataSource) {
|
|
1236
|
+
var elasticSearchUrl = $.getEnv("elasticSearchUrl");
|
|
1268
1237
|
|
|
1269
|
-
var headers = {
|
|
1238
|
+
var headers = {"Content-Type": "application/json;charset=utf-8"};
|
|
1270
1239
|
var elasticSearchUser = $.getEnv("elasticSearchUser");
|
|
1271
1240
|
var elasticSearchPass = $.getEnv("elasticSearchPass");
|
|
1272
|
-
if(elasticSearchUser && elasticSearchPass){
|
|
1273
|
-
var auth =Base64.encode(elasticSearchUser + ":" + elasticSearchPass);
|
|
1241
|
+
if (elasticSearchUser && elasticSearchPass) {
|
|
1242
|
+
var auth = Base64.encode(elasticSearchUser + ":" + elasticSearchPass);
|
|
1274
1243
|
var basicAuth = "Basic " + auth;
|
|
1275
1244
|
headers["Authorization"] = basicAuth;
|
|
1276
1245
|
}
|
|
1277
|
-
var searchUrl = elasticSearchUrl+"/@projectCode/_search";
|
|
1278
|
-
if(dataSource){
|
|
1246
|
+
var searchUrl = elasticSearchUrl + "/@projectCode/_search";
|
|
1247
|
+
if (dataSource) {
|
|
1279
1248
|
searchUrl = elasticSearchUrl + "/" + dataSource + "/_search";
|
|
1280
1249
|
}
|
|
1281
1250
|
|
|
1282
1251
|
var sndTxt = JSON.stringify(query);
|
|
1283
|
-
return HttpUtils.postRaw(
|
|
1252
|
+
return HttpUtils.postRaw(searchUrl, sndTxt, headers);
|
|
1284
1253
|
},
|
|
1285
1254
|
|
|
1286
|
-
search: function(mfilters, searchArgs, keyword,from, pageSize, sort, dataSource,isRecycleBin,meta_fields){
|
|
1287
|
-
var query = f.buildQuery(mfilters,searchArgs,keyword,isRecycleBin,meta_fields);
|
|
1288
|
-
var effectiveSort = [{owl_createTime:{order:"desc"}}];
|
|
1289
|
-
if(sort){
|
|
1255
|
+
search: function (mfilters, searchArgs, keyword, from, pageSize, sort, dataSource, isRecycleBin, meta_fields) {
|
|
1256
|
+
var query = f.buildQuery(mfilters, searchArgs, keyword, isRecycleBin, meta_fields);
|
|
1257
|
+
var effectiveSort = [{owl_createTime: {order: "desc"}}];
|
|
1258
|
+
if (sort) {
|
|
1290
1259
|
effectiveSort = sort;
|
|
1291
1260
|
}
|
|
1292
1261
|
query.from = from;
|
|
1293
1262
|
query.size = pageSize;
|
|
1294
1263
|
query.sort = effectiveSort;
|
|
1295
1264
|
|
|
1296
|
-
var elasticSearchUrl = $.getEnv(
|
|
1265
|
+
var elasticSearchUrl = $.getEnv("elasticSearchUrl");
|
|
1297
1266
|
|
|
1298
|
-
var headers = {
|
|
1267
|
+
var headers = {"Content-Type": "application/json;charset=utf-8"};
|
|
1299
1268
|
var elasticSearchUser = $.getEnv("elasticSearchUser");
|
|
1300
1269
|
var elasticSearchPass = $.getEnv("elasticSearchPass");
|
|
1301
|
-
if(elasticSearchUser && elasticSearchPass){
|
|
1302
|
-
var auth =Base64.encode(elasticSearchUser + ":" + elasticSearchPass);
|
|
1270
|
+
if (elasticSearchUser && elasticSearchPass) {
|
|
1271
|
+
var auth = Base64.encode(elasticSearchUser + ":" + elasticSearchPass);
|
|
1303
1272
|
var basicAuth = "Basic " + auth;
|
|
1304
1273
|
headers["Authorization"] = basicAuth;
|
|
1305
1274
|
}
|
|
1306
|
-
var searchUrl = elasticSearchUrl+"/@projectCode/_search";
|
|
1307
|
-
if(dataSource){
|
|
1275
|
+
var searchUrl = elasticSearchUrl + "/@projectCode/_search";
|
|
1276
|
+
if (dataSource) {
|
|
1308
1277
|
searchUrl = elasticSearchUrl + "/" + dataSource + "/_search";
|
|
1309
1278
|
}
|
|
1310
1279
|
|
|
1311
1280
|
var sndTxt = JSON.stringify(query);
|
|
1312
|
-
var s = HttpUtils.postRaw(
|
|
1281
|
+
var s = HttpUtils.postRaw(searchUrl, sndTxt, headers);
|
|
1313
1282
|
var result = JSON.parse(s);
|
|
1314
1283
|
|
|
1315
|
-
if(!result.hits || !result.hits.hits){
|
|
1316
|
-
$.log("error search:sndQuery=" + sndTxt + "------\nresponse:\n" + s
|
|
1284
|
+
if (!result.hits || !result.hits.hits) {
|
|
1285
|
+
$.log("error search:sndQuery=" + sndTxt + "------\nresponse:\n" + s);
|
|
1317
1286
|
var ret = {
|
|
1318
|
-
state:'err',
|
|
1319
|
-
list:[],
|
|
1320
|
-
total:{value:0}
|
|
1287
|
+
state: 'err',
|
|
1288
|
+
list: [],
|
|
1289
|
+
total: {value: 0}
|
|
1321
1290
|
}
|
|
1322
1291
|
return ret;
|
|
1323
1292
|
}
|
|
@@ -1325,33 +1294,38 @@ var @projectCodeService = (function (pigeon) {
|
|
|
1325
1294
|
var hits = result.hits.hits;
|
|
1326
1295
|
var total = result.hits.total;
|
|
1327
1296
|
|
|
1328
|
-
var objs = hits.map(function(hit){
|
|
1297
|
+
var objs = hits.map(function (hit) {
|
|
1298
|
+
return hit._source
|
|
1299
|
+
});
|
|
1329
1300
|
|
|
1330
1301
|
|
|
1331
1302
|
var ret = {
|
|
1332
|
-
state:'ok',
|
|
1333
|
-
list:objs,
|
|
1334
|
-
total:total
|
|
1303
|
+
state: 'ok',
|
|
1304
|
+
list: objs,
|
|
1305
|
+
total: total
|
|
1335
1306
|
}
|
|
1336
1307
|
|
|
1337
1308
|
return ret;
|
|
1338
1309
|
|
|
1339
1310
|
},
|
|
1340
|
-
getHistory:function(objId, from, size){
|
|
1311
|
+
getHistory: function (objId, from, size) {
|
|
1341
1312
|
var objs = [];
|
|
1342
|
-
var obj = f.get(objId,true);
|
|
1313
|
+
var obj = f.get(objId, true);
|
|
1343
1314
|
var currentVersion = obj._v;
|
|
1344
1315
|
|
|
1316
|
+
var logPigeon = pigeon;
|
|
1317
|
+
if (formSpecs.meta.logPigeon) {
|
|
1318
|
+
logPigeon = pigeon.getPigeon(formSpecs.meta.logPigeon);
|
|
1319
|
+
}
|
|
1345
1320
|
|
|
1346
|
-
|
|
1347
|
-
for(var i=0; i<size; i++){
|
|
1321
|
+
for (var i = 0; i < size; i++) {
|
|
1348
1322
|
var ver = currentVersion - i - from;
|
|
1349
|
-
if(ver<0){
|
|
1323
|
+
if (ver < 0) {
|
|
1350
1324
|
break;
|
|
1351
1325
|
}
|
|
1352
1326
|
var id = objId + "vvv" + ver;
|
|
1353
|
-
var vobj =
|
|
1354
|
-
if(vobj){
|
|
1327
|
+
var vobj = logPigeon.getObject(id)
|
|
1328
|
+
if (vobj) {
|
|
1355
1329
|
objs.push(vobj);
|
|
1356
1330
|
}
|
|
1357
1331
|
}
|