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