@ibiz-template/runtime 0.5.3-beta.0 → 0.5.3-beta.1

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.
Files changed (67) hide show
  1. package/dist/index.esm.js +772 -808
  2. package/dist/index.system.min.js +1 -1
  3. package/out/app-hub.d.ts +12 -1
  4. package/out/app-hub.d.ts.map +1 -1
  5. package/out/app-hub.js +14 -0
  6. package/out/constant/control-type.d.ts +5 -1
  7. package/out/constant/control-type.d.ts.map +1 -1
  8. package/out/constant/control-type.js +4 -0
  9. package/out/controller/control/grid/grid/grid.controller.js +1 -1
  10. package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts +12 -1
  11. package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts.map +1 -1
  12. package/out/interface/service/index.d.ts +0 -1
  13. package/out/interface/service/index.d.ts.map +1 -1
  14. package/out/interface/service/service/i-app-de.service.d.ts +17 -0
  15. package/out/interface/service/service/i-app-de.service.d.ts.map +1 -1
  16. package/out/interface/service/service/i-wf.service.d.ts +5 -4
  17. package/out/interface/service/service/i-wf.service.d.ts.map +1 -1
  18. package/out/service/dto/method.dto.d.ts +0 -10
  19. package/out/service/dto/method.dto.d.ts.map +1 -1
  20. package/out/service/dto/method.dto.js +36 -40
  21. package/out/service/service/entity/de.service.d.ts +6 -9
  22. package/out/service/service/entity/de.service.d.ts.map +1 -1
  23. package/out/service/service/entity/de.service.js +4 -10
  24. package/out/service/service/entity/method/de-action.js +3 -3
  25. package/out/service/service/entity/method/fetch.d.ts.map +1 -1
  26. package/out/service/service/entity/method/fetch.js +17 -21
  27. package/out/service/service/entity/method/method-input.d.ts.map +1 -1
  28. package/out/service/service/entity/method/method-input.js +3 -2
  29. package/out/service/service/entity/method/method-renturn.d.ts.map +1 -1
  30. package/out/service/service/entity/method/method-renturn.js +3 -2
  31. package/out/service/service/work-flow/work-flow.service.d.ts +1 -1
  32. package/out/service/service/work-flow/work-flow.service.d.ts.map +1 -1
  33. package/out/service/service/work-flow/work-flow.service.js +2 -2
  34. package/out/service/utils/de-cache/de-cache.d.ts +0 -10
  35. package/out/service/utils/de-cache/de-cache.d.ts.map +1 -1
  36. package/out/service/utils/de-cache/de-cache.js +1 -78
  37. package/out/service/utils/de-dq-cond-util/de-dq-cond-util.d.ts.map +1 -1
  38. package/out/service/utils/de-dq-cond-util/de-dq-cond-util.js +16 -9
  39. package/out/service/utils/search-filter/search-filter.d.ts +0 -14
  40. package/out/service/utils/search-filter/search-filter.d.ts.map +1 -1
  41. package/out/service/utils/search-filter/search-filter.js +0 -8
  42. package/out/utils/ui-domain/ui-domain.d.ts +7 -7
  43. package/out/utils/ui-domain/ui-domain.d.ts.map +1 -1
  44. package/out/utils/ui-domain/ui-domain.js +5 -9
  45. package/package.json +2 -2
  46. package/src/app-hub.ts +25 -1
  47. package/src/constant/control-type.ts +5 -0
  48. package/src/controller/control/grid/grid/grid.controller.ts +1 -1
  49. package/src/interface/common/i-app-hub-service/i-app-hub-service.ts +17 -1
  50. package/src/interface/service/index.ts +0 -1
  51. package/src/interface/service/service/i-app-de.service.ts +21 -0
  52. package/src/interface/service/service/i-wf.service.ts +5 -4
  53. package/src/service/dto/method.dto.ts +49 -46
  54. package/src/service/service/entity/de.service.ts +22 -15
  55. package/src/service/service/entity/method/de-action.ts +4 -4
  56. package/src/service/service/entity/method/fetch.ts +17 -21
  57. package/src/service/service/entity/method/method-input.ts +3 -1
  58. package/src/service/service/entity/method/method-renturn.ts +3 -1
  59. package/src/service/service/work-flow/work-flow.service.ts +8 -2
  60. package/src/service/utils/de-cache/de-cache.ts +1 -78
  61. package/src/service/utils/de-dq-cond-util/de-dq-cond-util.ts +14 -9
  62. package/src/service/utils/search-filter/search-filter.ts +0 -24
  63. package/src/utils/ui-domain/ui-domain.ts +8 -12
  64. package/out/interface/service/i-parent-config/i-parent-config.d.ts +0 -67
  65. package/out/interface/service/i-parent-config/i-parent-config.d.ts.map +0 -1
  66. package/out/interface/service/i-parent-config/i-parent-config.js +0 -1
  67. package/src/interface/service/i-parent-config/i-parent-config.ts +0 -66
@@ -1 +1 @@
1
- {"version":3,"file":"work-flow.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/work-flow/work-flow.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgB,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAe,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEnE;;;;;;;GAOG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IAmB1C,SAAS,CAAC,KAAK,EAAE,cAAc;IAlB3C,OAAO,CAAC,GAAG,CAAe;IAE1B;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa,CAAc;IAEnC;;;;;OAKG;gBACmB,KAAK,EAAE,cAAc;IAQ3C;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU;IAIlB;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IAOrB;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;;;;;OAOG;IACG,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAOjE;;;;;;;;OAQG;IACG,SAAS,CACb,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;IASlC;;;;;;;OAOG;IACG,YAAY,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IASpE;;;;;;;OAOG;IACG,mBAAmB,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAc3E;;;;;;OAMG;IACG,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAInD;;;;;;;;;OASG;IACG,OAAO,CACX,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAYhC;;;;;;;;;OASG;IACG,QAAQ,CACZ,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAYhC;;;;;;;;;OASG;IACG,UAAU,CACd,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAYhC;;;;;;;;;OASG;IACG,UAAU,CACd,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAYhC;;;;;;;;;OASG;IACG,eAAe,CACnB,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAYhC;;;;;;;;;OASG;IACG,cAAc,CAClB,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAYhC;;;;;;;;;OASG;IACG,UAAU,CACd,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAYhC;;;;;;;;;OASG;IACG,UAAU,CACd,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAYhC;;;;;;;;;;OAUG;IACG,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,EACpB,IAAI,GAAE,KAAU,GACf,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;CAqBjC"}
1
+ {"version":3,"file":"work-flow.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/work-flow/work-flow.service.ts"],"names":[],"mappings":"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"}
@@ -129,8 +129,8 @@ export class WorkFlowService {
129
129
  * @date 2022-09-29 14:09:45
130
130
  * @returns {*} {Promise<IHttpResponse<IData>>}
131
131
  */
132
- async getWFVersion() {
133
- return this.app.net.get(`${this.getBaseUrl()}/process-definitions2`);
132
+ async getWFVersion(srfWFTag) {
133
+ return this.app.net.get(`/wfcore/${ibiz.appData.context.srfsystemid}-app-${this.app.model.codeName.toLowerCase()}/${this.model.name.toLowerCase()}${srfWFTag ? `-${srfWFTag}` : ''}/process-definitions2`);
134
134
  }
135
135
  /**
136
136
  * 启动工作流
@@ -146,16 +146,6 @@ export declare class DECache {
146
146
  * @return {*} {IDataEntity[]}
147
147
  */
148
148
  getList(): IDataEntity[];
149
- /**
150
- * 根据条件查找数据,未设置条件默认返回全部
151
- *
152
- * @author chitanda
153
- * @date 2023-12-22 13:12:28
154
- * @param {IContext} context
155
- * @param {IParams} [params={}]
156
- * @return {*} {IDataEntity[]}
157
- */
158
- select(context: IContext, params?: IParams): IDataEntity[];
159
149
  /**
160
150
  * 根据条件生成查询
161
151
  *
@@ -1 +1 @@
1
- {"version":3,"file":"de-cache.d.ts","sourceRoot":"","sources":["../../../../src/service/utils/de-cache/de-cache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMlD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD;;;;;;;GAOG;AACH,qBAAa,OAAO;IAoBN,SAAS,CAAC,MAAM,EAAE,cAAc;IAnB5C;;;;;;;OAOG;IACH,SAAS,KAAK,UAAU,IAAI,OAAO,CAElC;IAED;;;;;;OAMG;gBACmB,MAAM,EAAE,cAAc;IAE5C;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAa;IAExD;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAQvD;;;;;;;OAOG;IACH,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAK1D;;;;;;;OAOG;IACH,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAKrD;;;;;;;OAOG;IACH,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI;IAyB/D;;;;;;;OAOG;IACH,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAY1D;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI;IA+BlE;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAkB7D;;;;;;;;OAQG;IACH,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE;IAqBtE;;;;;;;;OAQG;IACH,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE;IA0BtE;;;;;;;;OAQG;IACH,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IA2B3D;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAItD;;;;;;OAMG;IACH,OAAO,IAAI,WAAW,EAAE;IAKxB;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAE,OAAY,GAAG,WAAW,EAAE;IAoE9D;;;;;;;OAOG;IACH,YAAY,CAAC,MAAM,GAAE,OAAY,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,OAAO;IAgB9D;;;;;OAKG;IACH,KAAK,IAAI,IAAI;IAOb;;;;;OAKG;IACH,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;CAehD"}
1
+ {"version":3,"file":"de-cache.d.ts","sourceRoot":"","sources":["../../../../src/service/utils/de-cache/de-cache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMlD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD;;;;;;;GAOG;AACH,qBAAa,OAAO;IAoBN,SAAS,CAAC,MAAM,EAAE,cAAc;IAnB5C;;;;;;;OAOG;IACH,SAAS,KAAK,UAAU,IAAI,OAAO,CAElC;IAED;;;;;;OAMG;gBACmB,MAAM,EAAE,cAAc;IAE5C;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAa;IAExD;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAQvD;;;;;;;OAOG;IACH,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAK1D;;;;;;;OAOG;IACH,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAKrD;;;;;;;OAOG;IACH,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI;IAyB/D;;;;;;;OAOG;IACH,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAY1D;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI;IA+BlE;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAkB7D;;;;;;;;OAQG;IACH,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE;IAqBtE;;;;;;;;OAQG;IACH,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE;IA0BtE;;;;;;;;OAQG;IACH,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IA2B3D;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAItD;;;;;;OAMG;IACH,OAAO,IAAI,WAAW,EAAE;IAKxB;;;;;;;OAOG;IACH,YAAY,CAAC,MAAM,GAAE,OAAY,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,OAAO;IAgB9D;;;;;OAKG;IACH,KAAK,IAAI,IAAI;IAOb;;;;;OAKG;IACH,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;CAehD"}
@@ -1,5 +1,5 @@
1
1
  import { where, equals, clone, isNil, isEmpty } from 'ramda';
2
- import { ascSort, createUUID } from 'qx-util';
2
+ import { createUUID } from 'qx-util';
3
3
  import { RuntimeError } from '@ibiz-template/core';
4
4
  import { isExistSessionId, isExistSrfKey, } from '../service-exist-util/service-exist-util';
5
5
  import { findModelChild } from '../../../model';
@@ -315,83 +315,6 @@ export class DECache {
315
315
  const values = this.cacheMap.values();
316
316
  return Array.from(values);
317
317
  }
318
- /**
319
- * 根据条件查找数据,未设置条件默认返回全部
320
- *
321
- * @author chitanda
322
- * @date 2023-12-22 13:12:28
323
- * @param {IContext} context
324
- * @param {IParams} [params={}]
325
- * @return {*} {IDataEntity[]}
326
- */
327
- select(context, params = {}) {
328
- try {
329
- isExistSessionId('getList', context);
330
- const values = this.cacheMap.values();
331
- let items = Array.from(values);
332
- items = ascSort(items, 'srfordervalue');
333
- // 查询数据条件集
334
- const data = {};
335
- // if (notNilEmpty(context)) {
336
- // const map = this.entity.majorKeyMap;
337
- // if (map) {
338
- // for (const key in map) {
339
- // if (Object.prototype.hasOwnProperty.call(map, key)) {
340
- // const val = map[key];
341
- // if (notNilEmpty(context[key])) {
342
- // data[val] = equals(context[key]);
343
- // }
344
- // }
345
- // }
346
- // }
347
- // }
348
- const nullData = {};
349
- const undefinedData = {};
350
- const emptyData = {};
351
- if (params.srfkey) {
352
- data.srfkey = equals(params.srfkey);
353
- delete params.srfkey;
354
- }
355
- for (const key in params) {
356
- if (Object.prototype.hasOwnProperty.call(params, key)) {
357
- const val = params[key];
358
- if (val == null) {
359
- nullData[key] = equals(null);
360
- undefinedData[key] = equals(undefined);
361
- emptyData[key] = equals('');
362
- }
363
- else {
364
- data[key] = equals(val);
365
- }
366
- }
367
- }
368
- if (!isEmpty(data)) {
369
- // 返回柯里化函数,用于判断数据是否满足要求
370
- const pred = where(data);
371
- const nullPred = where(nullData);
372
- const undefinedPred = where(undefinedData);
373
- const emptyPred = where(emptyData);
374
- items = items.filter(obj => {
375
- if (isEmpty(nullData)) {
376
- if (pred(obj)) {
377
- return true;
378
- }
379
- }
380
- else if (pred(obj) &&
381
- (nullPred(obj) || undefinedPred(obj) || emptyPred(obj))) {
382
- return true;
383
- }
384
- return false;
385
- });
386
- }
387
- const list = items.map(obj => obj.clone());
388
- return list;
389
- }
390
- catch (err) {
391
- ibiz.log.error(err);
392
- return [];
393
- }
394
- }
395
318
  /**
396
319
  * 根据条件生成查询
397
320
  *
@@ -1 +1 @@
1
- {"version":3,"file":"de-dq-cond-util.d.ts","sourceRoot":"","sources":["../../../../src/service/utils/de-dq-cond-util/de-dq-cond-util.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,cAAc,EAGf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE;;;;;;;GAOG;AACH,qBAAa,YAAY;IACvB;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAC9C;IAEhB;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,gBAAgB,GAAG,IAAI;IAc/D;;;;;;;;;OASG;IACH,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,OAAO,EAAE;CAyC9D"}
1
+ {"version":3,"file":"de-dq-cond-util.d.ts","sourceRoot":"","sources":["../../../../src/service/utils/de-dq-cond-util/de-dq-cond-util.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,cAAc,EAGf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE;;;;;;;GAOG;AACH,qBAAa,YAAY;IACvB;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAC9C;IAEhB;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,gBAAgB,GAAG,IAAI;IAkB/D;;;;;;;;;OASG;IACH,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,OAAO,EAAE;CA0C9D"}
@@ -25,7 +25,12 @@ export class DEDQCondUtil {
25
25
  const groups = dataSet.dedqgroupConditions;
26
26
  if (groups) {
27
27
  const cond = new PSDEDQCondEngine();
28
- cond.parse(['OR', this.calcCond(groups)]);
28
+ if (groups.length === 1) {
29
+ cond.parse(this.calcCond(groups)[0]);
30
+ }
31
+ else if (groups.length > 1) {
32
+ cond.parse(['AND', this.calcCond(groups)][0]);
33
+ }
29
34
  this.map.set(dataSet, cond);
30
35
  return cond;
31
36
  }
@@ -62,16 +67,18 @@ export class DEDQCondUtil {
62
67
  }
63
68
  else if (item.condType === 'SINGLE') {
64
69
  const cond = item;
70
+ condArr.push(cond.condOp);
65
71
  condArr.push(cond.fieldName);
66
72
  if (cond.condValue) {
67
- // if (cond.getPSVARTypeId()) {
68
- // condArr.push({
69
- // type: cond.getPSVARTypeId(),
70
- // value: cond.getPSVARTypeId(),
71
- // });
72
- // } else {
73
- // condArr.push(cond.condValue);
74
- // }
73
+ if (cond.vartypeId) {
74
+ condArr.push({
75
+ type: cond.vartypeId,
76
+ value: cond.condValue,
77
+ });
78
+ }
79
+ else {
80
+ condArr.push(cond.condValue);
81
+ }
75
82
  }
76
83
  else {
77
84
  // 无条件值为空字符串
@@ -13,20 +13,6 @@ export declare class SearchFilter {
13
13
  * @type {IParams}
14
14
  */
15
15
  readonly context: IContext;
16
- /**
17
- * 父关系实体
18
- *
19
- * @type {string}
20
- * @memberof SearchFilter
21
- */
22
- readonly srfparentdename?: string;
23
- /**
24
- * 指定父数据主键
25
- *
26
- * @type {string}
27
- * @memberof SearchFilter
28
- */
29
- readonly srfparentkey?: string;
30
16
  /**
31
17
  * 分页
32
18
  *
@@ -1 +1 @@
1
- {"version":3,"file":"search-filter.d.ts","sourceRoot":"","sources":["../../../../src/service/utils/search-filter/search-filter.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,qBAAa,YAAY;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAE3B;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAElC;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,KAAK;IAElB;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,QAAQ;IAErB;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAG,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAM;IAE1B;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,mBAAmB;IAErC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,MAAM,CAAS;IAE1C;;;;;;OAMG;gBACS,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,KAAK;IAqC3C;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAM/B"}
1
+ {"version":3,"file":"search-filter.d.ts","sourceRoot":"","sources":["../../../../src/service/utils/search-filter/search-filter.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,qBAAa,YAAY;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAE3B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,KAAK;IAElB;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,QAAQ;IAErB;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAG,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAM;IAE1B;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,mBAAmB;IAErC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,MAAM,CAAS;IAE1C;;;;;;OAMG;gBACS,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,KAAK;IA6B3C;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAM/B"}
@@ -70,19 +70,11 @@ export class SearchFilter {
70
70
  this.sortMode = arr[1].toUpperCase();
71
71
  }
72
72
  }
73
- if (!isNil(data.srfparentkey) && !isEmpty(data.srfparentkey)) {
74
- this.srfparentkey = data.srfparentkey;
75
- }
76
- if (!isNil(data.srfparentdename) && !isEmpty(data.srfparentdename)) {
77
- this.srfparentdename = data.srfparentdename;
78
- }
79
73
  this.data = Object.assign({}, data);
80
74
  delete this.data.page;
81
75
  delete this.data.size;
82
76
  delete this.data.query;
83
77
  delete this.data.sort;
84
- delete this.data.srfparentkey;
85
- delete this.data.srfparentdename;
86
78
  }
87
79
  }
88
80
  /**
@@ -1,4 +1,4 @@
1
- import { IParentConfig } from '../../interface';
1
+ import { IAppDERS } from '@ibiz/model-core';
2
2
  /**
3
3
  * 界面域
4
4
  *
@@ -22,9 +22,9 @@ export declare class UIDomain {
22
22
  * @author chitanda
23
23
  * @date 2023-12-26 15:12:13
24
24
  * @protected
25
- * @type {Map<string, IParentConfig[]>}
25
+ * @type {Map<string, IAppDERS[]>}
26
26
  */
27
- protected rsMap: Map<string, IParentConfig[]>;
27
+ protected rsMap: Map<string, IAppDERS[]>;
28
28
  /**
29
29
  * Creates an instance of UIDomain.
30
30
  *
@@ -40,18 +40,18 @@ export declare class UIDomain {
40
40
  * @author chitanda
41
41
  * @date 2023-12-26 15:12:31
42
42
  * @param {string} entity
43
- * @param {IParentConfig} config
43
+ * @param {IAppDERS} configs
44
44
  */
45
- setDERConfig(deCodeName: string, config: IParentConfig): void;
45
+ setDERConfig(deCodeName: string, configs: IAppDERS[]): void;
46
46
  /**
47
47
  * 获取当前界面域下,具体实体的关系(在数据加载完成之后才有值)
48
48
  *
49
49
  * @author chitanda
50
50
  * @date 2023-12-26 16:12:07
51
51
  * @param {string} deCodeName
52
- * @return {*} {IParentConfig[]}
52
+ * @return {*} {IAppDERS[]}
53
53
  */
54
- getDERConfig(deCodeName: string): IParentConfig[];
54
+ getDERConfig(deCodeName: string): IAppDERS[];
55
55
  /**
56
56
  * 界面域销毁
57
57
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ui-domain.d.ts","sourceRoot":"","sources":["../../../src/utils/ui-domain/ui-domain.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;GAOG;AACH,qBAAa,QAAQ;IACnB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAa;IAE1D;;;;;;;OAOG;gBACS,EAAE,CAAC,EAAE,MAAM;IAQvB;;;;;;;OAOG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAQ7D;;;;;;;OAOG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,EAAE;IAOjD;;;;;OAKG;IACH,OAAO,IAAI,IAAI;CAWhB"}
1
+ {"version":3,"file":"ui-domain.d.ts","sourceRoot":"","sources":["../../../src/utils/ui-domain/ui-domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C;;;;;;;GAOG;AACH,qBAAa,QAAQ;IACnB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAa;IAErD;;;;;;;OAOG;gBACS,EAAE,CAAC,EAAE,MAAM;IAQvB;;;;;;;OAOG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI;IAI3D;;;;;;;OAOG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,EAAE;IAO5C;;;;;OAKG;IACH,OAAO,IAAI,IAAI;CAWhB"}
@@ -23,7 +23,7 @@ export class UIDomain {
23
23
  * @author chitanda
24
24
  * @date 2023-12-26 15:12:13
25
25
  * @protected
26
- * @type {Map<string, IParentConfig[]>}
26
+ * @type {Map<string, IAppDERS[]>}
27
27
  */
28
28
  this.rsMap = new Map();
29
29
  if (id) {
@@ -39,14 +39,10 @@ export class UIDomain {
39
39
  * @author chitanda
40
40
  * @date 2023-12-26 15:12:31
41
41
  * @param {string} entity
42
- * @param {IParentConfig} config
42
+ * @param {IAppDERS} configs
43
43
  */
44
- setDERConfig(deCodeName, config) {
45
- if (!this.rsMap.has(deCodeName)) {
46
- this.rsMap.set(deCodeName, []);
47
- }
48
- const arr = this.rsMap.get(deCodeName);
49
- arr.push(config);
44
+ setDERConfig(deCodeName, configs) {
45
+ this.rsMap.set(deCodeName, configs);
50
46
  }
51
47
  /**
52
48
  * 获取当前界面域下,具体实体的关系(在数据加载完成之后才有值)
@@ -54,7 +50,7 @@ export class UIDomain {
54
50
  * @author chitanda
55
51
  * @date 2023-12-26 16:12:07
56
52
  * @param {string} deCodeName
57
- * @return {*} {IParentConfig[]}
53
+ * @return {*} {IAppDERS[]}
58
54
  */
59
55
  getDERConfig(deCodeName) {
60
56
  if (this.rsMap.has(deCodeName)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/runtime",
3
- "version": "0.5.3-beta.0",
3
+ "version": "0.5.3-beta.1",
4
4
  "description": "控制器包",
5
5
  "type": "module",
6
6
  "main": "out/index.js",
@@ -59,5 +59,5 @@
59
59
  "qx-util": "^0.4.8",
60
60
  "ramda": "^0.29.0"
61
61
  },
62
- "gitHead": "5eb401038895adf73adda7baf784193ef0f40ce5"
62
+ "gitHead": "abce1a3f4ba865163181e1e3f33e688726fcddc9"
63
63
  }
package/src/app-hub.ts CHANGED
@@ -1,7 +1,12 @@
1
1
  import { IAppDataEntity, IAppView, IApplication } from '@ibiz/model-core';
2
2
  import { RuntimeError } from '@ibiz-template/core';
3
3
  import { Application } from './application';
4
- import { IAppHubService, IAppService, ModelLoaderProvider } from './interface';
4
+ import {
5
+ IAppDEService,
6
+ IAppHubService,
7
+ IAppService,
8
+ ModelLoaderProvider,
9
+ } from './interface';
5
10
  import { AppConfigService, Convert } from './hub';
6
11
  import { HubController } from './controller';
7
12
  import { ConfigService } from './service';
@@ -372,6 +377,25 @@ export class AppHub implements IAppHubService {
372
377
  return [];
373
378
  }
374
379
 
380
+ /**
381
+ * 获取应用实体服务
382
+ *
383
+ * @author chitanda
384
+ * @date 2024-01-10 13:01:01
385
+ * @param {string} appId
386
+ * @param {string} entityId
387
+ * @param {IContext} context
388
+ * @return {*} {Promise<IAppDEService>}
389
+ */
390
+ async getAppDEService(
391
+ appId: string,
392
+ entityId: string,
393
+ context: IContext,
394
+ ): Promise<IAppDEService> {
395
+ const app = await this.getAppAsync(appId);
396
+ return app.deService.getService(context, entityId);
397
+ }
398
+
375
399
  reset(): void {
376
400
  this.appMap.clear();
377
401
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -213,4 +213,9 @@ export enum ControlType {
213
213
  * 标题栏
214
214
  */
215
215
  CAPTIONBAR = 'CAPTIONBAR',
216
+
217
+ /**
218
+ * 上下文菜单
219
+ */
220
+ CONTEXT_MENU = 'CONTEXTMENU',
216
221
  }
@@ -724,7 +724,7 @@ export class GridController<
724
724
  this.state.columnStates.push({
725
725
  key: column.codeName!,
726
726
  caption: column.caption!,
727
- hidden: !!column.hideDefault,
727
+ hidden: !!column.hideDefault || !!column.hiddenDataItem,
728
728
  uaColumn: column.columnType === 'UAGRIDCOLUMN',
729
729
  });
730
730
  }
@@ -3,7 +3,7 @@ import { Convert } from '../../../hub';
3
3
  import { ModelLoaderProvider } from '../../provider';
4
4
  import { IAppConfigService } from '../i-app-config-service/i-app-config-service';
5
5
  import { IHubController } from '../../controller';
6
- import { IConfigService } from '../../service';
6
+ import { IAppDEService, IConfigService } from '../../service';
7
7
  import { IAppService } from '../i-app-service/i-app-service';
8
8
 
9
9
  /**
@@ -182,6 +182,22 @@ export interface IAppHubService {
182
182
  */
183
183
  getAllApps(): IAppService[];
184
184
 
185
+ /**
186
+ * 获取应用实体服务
187
+ *
188
+ * @author chitanda
189
+ * @date 2024-01-10 13:01:40
190
+ * @param {string} appId
191
+ * @param {string} entityId
192
+ * @param {IContext} context
193
+ * @return {*} {IAppDEService}
194
+ */
195
+ getAppDEService(
196
+ appId: string,
197
+ entityId: string,
198
+ context: IContext,
199
+ ): Promise<IAppDEService>;
200
+
185
201
  /**
186
202
  * 重置清空基座
187
203
  * @author lxm
@@ -1,4 +1,3 @@
1
1
  export type { CodeListItem } from './code-list-item/code-list-item';
2
2
  export type { IDataEntity } from './i-data-entity/i-data-entity';
3
- export type { IParentConfig } from './i-parent-config/i-parent-config';
4
3
  export type * from './service';
@@ -1,9 +1,11 @@
1
1
  import { IHttpResponse, IPortalAsyncAction } from '@ibiz-template/core';
2
+ import { IAppDEMethodDTO } from '@ibiz/model-core';
2
3
  import { DECache } from '../../../service/utils';
3
4
  import { IFileService } from './i-file.service';
4
5
  import { IWorkFlowService } from './i-wf.service';
5
6
  import { IConfigService } from './i-config.service';
6
7
  import { IDataEntity } from '../i-data-entity/i-data-entity';
8
+ import { MethodDto } from '../../../service';
7
9
 
8
10
  /**
9
11
  * 实体服务
@@ -342,4 +344,23 @@ export interface IAppDEService {
342
344
  * @return {*} {void}
343
345
  */
344
346
  destroy(): void;
347
+
348
+ /**
349
+ * 创建DTO实例
350
+ * @author lxm
351
+ * @date 2024-01-10 09:48:34
352
+ * @param {IAppDEMethodDTO} [dto] dto模型对象
353
+ * @param {{
354
+ * isLocalMode?: boolean; 是否是临时模式
355
+ * inSelfLoop?: boolean; 是否是自关系递归
356
+ * }} [opts]
357
+ * @return {*} {MethodDto}
358
+ */
359
+ createMethodDto(
360
+ dto?: IAppDEMethodDTO,
361
+ opts?: {
362
+ isLocalMode?: boolean;
363
+ inSelfLoop?: boolean;
364
+ },
365
+ ): MethodDto;
345
366
  }
@@ -45,11 +45,12 @@ export interface IWorkFlowService {
45
45
  /**
46
46
  * 获取标准工作流版本信息
47
47
  *
48
- * @author lxm
49
- * @date 2022-09-29 14:09:45
50
- * @returns {*} {Promise<IHttpResponse<IData>>}
48
+ * @author chitanda
49
+ * @date 2024-01-10 16:01:30
50
+ * @param {string} srfWFTag
51
+ * @return {*} {Promise<IHttpResponse<IData>>}
51
52
  */
52
- getWFVersion(): Promise<IHttpResponse<IData>>;
53
+ getWFVersion(srfWFTag: string): Promise<IHttpResponse<IData>>;
53
54
 
54
55
  /**
55
56
  * 工作流撤销
@@ -4,7 +4,8 @@ import {
4
4
  IAppDEMethodDTO,
5
5
  IAppDEMethodDTOField,
6
6
  } from '@ibiz/model-core';
7
- import { ModelError } from '@ibiz-template/core';
7
+ import { ModelError, RuntimeModelError } from '@ibiz-template/core';
8
+ import { clone } from 'ramda';
8
9
  import { findModelChild } from '../../model';
9
10
  import { IAppDEService, IAppService, IDataEntity } from '../../interface';
10
11
 
@@ -62,19 +63,6 @@ export class MethodDto {
62
63
  }
63
64
  }
64
65
 
65
- /**
66
- * 查找本地 DTO 存储数据
67
- *
68
- * @author chitanda
69
- * @date 2023-12-22 14:12:19
70
- * @param {IContext} context
71
- * @param {IParams} [params]
72
- * @return {*} {IDataEntity[]}
73
- */
74
- select(context: IContext, params?: IParams): IDataEntity[] {
75
- return this.service.local.select(context, params);
76
- }
77
-
78
66
  /**
79
67
  * 转换数组成ListMap
80
68
  *
@@ -148,27 +136,45 @@ export class MethodDto {
148
136
  }
149
137
 
150
138
  // 获取当前需要打包子数据的关系配置
151
- let configs = uiDomain.getDERConfig(field.refAppDataEntityId!);
152
- // 找到当前层级所在下标
153
- const index = configs.findIndex(
154
- config => config.majorDECodeName === this.entity.codeName,
155
- );
156
- // 过滤出当前层级之后的关系配置
157
- configs = configs.slice(index + 1);
139
+ const configs = uiDomain.getDERConfig(field.refAppDataEntityId!);
158
140
 
141
+ // 获取指定子关系的 dto
159
142
  const dto = await this.getFieldDto(context, field);
160
- // 子数据过滤参数
161
- const filterParams: IParams = {};
162
- if (field.refPickupAppDEFieldId) {
163
- filterParams[field.refPickupAppDEFieldId!] = data.srfkey;
164
- }
165
- // 子层级数据过滤参数对象必须为空
166
- configs.forEach(config => {
167
- filterParams[config.pickupDEFName.toLowerCase()] = null;
168
- });
169
143
 
170
- const items = await dto.select(context, filterParams);
171
- if (items) {
144
+ // 获取 dto 实体对应的服务
145
+ const service = await ibiz.hub.getAppDEService(
146
+ dto.entity.appId,
147
+ field.refAppDataEntityId!,
148
+ context,
149
+ );
150
+ // 查找当前 dto 实体在关系配置中和本实体的关系配置
151
+ const deRs = configs.find(rs => {
152
+ return rs.majorAppDataEntityId === this.entity.id;
153
+ });
154
+ // 根据关系配置中的嵌套数据集获取数据,如果没有嵌套数据集则使用默认数据集
155
+ let res;
156
+ if (deRs && deRs.nestedAppDEDataSetId) {
157
+ const _context = clone(context);
158
+ _context[this.entity.codeName!.toLowerCase()] = data.srfkey;
159
+ const _params: IParams = {};
160
+ if (deRs.parentAppDEFieldId) {
161
+ _params[deRs.parentAppDEFieldId] = data.srfkey;
162
+ }
163
+ res = await service.exec(
164
+ deRs.nestedAppDEDataSetId,
165
+ _context,
166
+ _params,
167
+ );
168
+ } else if (dto.entity.id !== this.entity.id) {
169
+ res = await service.exec('FetchDefault', context);
170
+ } else {
171
+ throw new RuntimeModelError(
172
+ field,
173
+ `子关系未配置嵌套关系数据集, 会导致递归查询死循环,请配置!`,
174
+ );
175
+ }
176
+ if (res.ok) {
177
+ const items = res.data as IData[];
172
178
  const arr = [];
173
179
  for (let j = 0; j < items.length; j++) {
174
180
  arr.push(await dto.get(context, items[j], true));
@@ -272,20 +278,14 @@ export class MethodDto {
272
278
  continue;
273
279
  }
274
280
  const configs = uiDomain.getDERConfig(field.refAppDataEntityId!);
275
- const index = configs.findIndex(
276
- config => config.pickupDEFName === field.refPickupAppDEFieldId!,
277
- );
278
- if (index === -1) {
281
+ if (configs.length === 0) {
279
282
  const dto = await this.getFieldDto(context, field);
280
- uiDomain.setDERConfig(field.refAppDataEntityId!, {
281
- majorDEName: this.entity.name!,
282
- majorDECodeName: this.entity.codeName!,
283
- majorDECodeName2: this.entity.codeName2!,
284
- minorDEName: dto.entity.name!,
285
- minorDECodeName: dto.entity.codeName!,
286
- minorDECodeName2: dto.entity.codeName2!,
287
- pickupDEFName: field.refPickupAppDEFieldId!,
288
- });
283
+ if (dto.entity.minorAppDERSs) {
284
+ uiDomain.setDERConfig(
285
+ field.refAppDataEntityId!,
286
+ dto.entity.minorAppDERSs.filter(rs => rs.rsmode === 1),
287
+ );
288
+ }
289
289
  await dto.calcRs(context, depth);
290
290
  }
291
291
  }
@@ -319,7 +319,10 @@ export class MethodDto {
319
319
  const inSelfLoop = this.entity.codeName === entity.codeName;
320
320
  const service = await this.app!.deService.getService(context, entity.id!);
321
321
  service.isLocalMode = true;
322
- const dto = new MethodDto(service, entity, true, methodDto, inSelfLoop);
322
+ const dto = service.createMethodDto(methodDto, {
323
+ isLocalMode: true,
324
+ inSelfLoop,
325
+ });
323
326
  this.dtoMap.set(field.codeName!, dto);
324
327
  return dto;
325
328
  }