Browse Source

增加手工打包代码生成

master
hejl 2 months ago
parent
commit
3d93d9f400
  1. 18
      win_text_editor/assets/config/uft_macro_list.yaml
  2. 7
      win_text_editor/lib/modules/memory_table/models/memory_table.dart
  3. 2
      win_text_editor/lib/modules/memory_table/widgets/memory_table_right_side.dart
  4. 8
      win_text_editor/lib/modules/uft_component/models/uft_component.dart
  5. 2
      win_text_editor/lib/modules/uft_component/widgets/uft_component_right_side.dart

18
win_text_editor/assets/config/uft_macro_list.yaml

@ -14,7 +14,7 @@ templates:
[继续执行] [继续执行]
[记录为空][{{tableName}}] [记录为空][{{tableName}}]
{ {
[报错返回][ERR_???][{{#keyFields}}{{name}} = @{{name}}{{^isLast}}, {{/isLast}}{{/keyFields}}] [报错返回][ERR_???][{{#keyFields}}@{{name}}{{^isLast}}, {{/isLast}}{{/keyFields}}]
}else{ }else{
} }
@ -172,7 +172,7 @@ templates:
获取组件: 获取组件:
body: | body: |
{{#hasIndex}}[组件排序][{{name}}(index.name)]{{/hasIndex}} {{#hasIndex}}[组件排序][{{name}}(index.name)]{{/hasIndex}}
[获取组件][{{name}}{{#hasIndex}}({{index.name}}){{/hasIndex}}][{{^hasIndex}}[@num][{{/hasIndex}} [获取组件][{{name}}{{#hasIndex}}({{index.name}}){{/hasIndex}}][{{^hasIndex}}@num][{{/hasIndex}}
{{#hasIndex}} {{#hasIndex}}
{{#index.fields}} {{#index.fields}}
{{name}} = @{{#partnerName}}{{partnerName}}.{{/partnerName}}{{name}}{{^isLast}}, {{/isLast}} {{name}} = @{{#partnerName}}{{partnerName}}.{{/partnerName}}{{name}}{{^isLast}}, {{/isLast}}
@ -187,7 +187,7 @@ templates:
获取组件_ALL: 获取组件_ALL:
body: | body: |
{{#hasIndex}}[组件排序][{{name}}(index.name)]{{/hasIndex}} {{#hasIndex}}[组件排序][{{name}}(index.name)]{{/hasIndex}}
[获取组件][{{name}}{{#hasIndex}}({{index.name}}){{/hasIndex}}][{{^hasIndex}}[@num][{{/hasIndex}} [获取组件][{{name}}{{#hasIndex}}({{index.name}}){{/hasIndex}}][{{^hasIndex}}@num][{{/hasIndex}}
{{#hasIndex}} {{#hasIndex}}
{{#index.fields}} {{#index.fields}}
{{name}} = @{{#partnerName}}{{partnerName}}.{{/partnerName}}{{name}}{{^isLast}}, {{/isLast}} {{name}} = @{{#partnerName}}{{partnerName}}.{{/partnerName}}{{name}}{{^isLast}}, {{/isLast}}
@ -256,7 +256,7 @@ templates:
普通调用: 普通调用:
body: | body: |
<Z>[{{chineseName}}][ <M>[{{chineseName}}][
{{#selectedInput}} {{#selectedInput}}
{{name}} = @{{#partnerName}}{{partnerName}}.{{/partnerName}}{{name}}{{^isLast}},{{/isLast}} {{name}} = @{{#partnerName}}{{partnerName}}.{{/partnerName}}{{name}}{{^isLast}},{{/isLast}}
{{/selectedInput}} {{/selectedInput}}
@ -280,7 +280,7 @@ templates:
事务调用: 事务调用:
body: | body: |
[事务处理开始] [事务处理开始]
<Z>[{{chineseName}}][ <M>[{{chineseName}}][
{{#selectedInput}} {{#selectedInput}}
{{name}} = @{{#partnerName}}{{partnerName}}.{{/partnerName}}{{name}}{{^isLast}},{{/isLast}} {{name}} = @{{#partnerName}}{{partnerName}}.{{/partnerName}}{{name}}{{^isLast}},{{/isLast}}
{{/selectedInput}} {{/selectedInput}}
@ -304,7 +304,7 @@ templates:
事务调用_ALL: 事务调用_ALL:
body: | body: |
[事务处理开始] [事务处理开始]
<Z>[{{chineseName}}][ <M>[{{chineseName}}][
{{#input}} {{#input}}
{{name}} = @{{#partnerName}}{{partnerName}}.{{/partnerName}}{{name}}{{^isLast}},{{/isLast}} {{name}} = @{{#partnerName}}{{partnerName}}.{{/partnerName}}{{name}}{{^isLast}},{{/isLast}}
{{/input}} {{/input}}
@ -333,4 +333,10 @@ templates:
[记录日志][CNST_DLOG_ERROR][]["获取因子RS_{{functionNo}}失败"][] [记录日志][CNST_DLOG_ERROR][]["获取因子RS_{{functionNo}}失败"][]
} }
lpIUFTContext->AsyncExecMsg((void*) lpOpenRisk, lpIUFTContext, (void*)&p_C{{factorParam}}); lpIUFTContext->AsyncExecMsg((void*) lpOpenRisk, lpIUFTContext, (void*)&p_C{{factorParam}});
手工打包:
body: |
[手工打包头][{{#selectedFields}}{{name}}{{^isLast}}, {{/isLast}}{{/selectedFields}}]
[手工打包体][{{#selectedFields}}@{{parentName}}.{{name}}{{^isLast}}, {{/isLast}}{{/selectedFields}}]
[手工打包结束]

7
win_text_editor/lib/modules/memory_table/models/memory_table.dart

@ -70,6 +70,7 @@ class MemoryTable {
Map<String, dynamic> toMap() { Map<String, dynamic> toMap() {
var index = selectIndexOrKey; var index = selectIndexOrKey;
return { return {
'name': tableName,
'tableName': tableName, 'tableName': tableName,
'fields': 'fields':
columns columns
@ -78,6 +79,7 @@ class MemoryTable {
'id': field.id, 'id': field.id,
'name': field.name, 'name': field.name,
'chineseName': field.chineseName, 'chineseName': field.chineseName,
'parentName': tableName,
'type': field.type, 'type': field.type,
'isLast': columns.indexOf(field) == columns.length - 1, 'isLast': columns.indexOf(field) == columns.length - 1,
'partnerName': 'partnerName':
@ -97,6 +99,7 @@ class MemoryTable {
'id': field.id, 'id': field.id,
'name': field.name, 'name': field.name,
'chineseName': field.chineseName, 'chineseName': field.chineseName,
'parentName': tableName,
'type': field.type, 'type': field.type,
'isLast': selectFields.indexOf(field) == selectFields.length - 1, 'isLast': selectFields.indexOf(field) == selectFields.length - 1,
'partnerName': 'partnerName':
@ -116,6 +119,7 @@ class MemoryTable {
index.fields.asMap().entries.map((entry) { index.fields.asMap().entries.map((entry) {
return { return {
'name': entry.value, 'name': entry.value,
'parentName': tableName,
'partnerName': 'partnerName':
codePartners codePartners
.firstWhere( .firstWhere(
@ -123,7 +127,7 @@ class MemoryTable {
orElse: () => CodePartner(name: null, fields: []), orElse: () => CodePartner(name: null, fields: []),
) )
.name, .name,
'isLast': entry.key == keyFields.length - 1, 'isLast': entry.key == index.fields.length - 1,
}; };
}).toList(), }).toList(),
'rule': index.rule, 'rule': index.rule,
@ -133,6 +137,7 @@ class MemoryTable {
keyFields.asMap().entries.map((entry) { keyFields.asMap().entries.map((entry) {
return { return {
'name': entry.value, 'name': entry.value,
'parentName': tableName,
'partnerName': 'partnerName':
codePartners codePartners
.firstWhere( .firstWhere(

2
win_text_editor/lib/modules/memory_table/widgets/memory_table_right_side.dart

@ -46,7 +46,7 @@ class _MemoryTableRightSideState extends State<MemoryTableRightSide> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final operations = ['获取记录', '获取记录数', '插入记录', '修改记录', '删除记录', '遍历记录']; final operations = ['获取记录', '获取记录数', '插入记录', '修改记录', '删除记录', '遍历记录','手工打包'];
return CodeGenerationSection( return CodeGenerationSection(
title: '生成代码', title: '生成代码',

8
win_text_editor/lib/modules/uft_component/models/uft_component.dart

@ -38,6 +38,7 @@ class UftComponent implements SelectableItem {
'id': field.id, 'id': field.id,
'name': field.name, 'name': field.name,
'chineseName': field.chineseName, 'chineseName': field.chineseName,
'parentName': name,
'type': field.type, 'type': field.type,
'isLast': fields.indexOf(field) == fields.length - 1, 'isLast': fields.indexOf(field) == fields.length - 1,
'partnerName': 'partnerName':
@ -57,6 +58,7 @@ class UftComponent implements SelectableItem {
'id': field.id, 'id': field.id,
'name': field.name, 'name': field.name,
'chineseName': field.chineseName, 'chineseName': field.chineseName,
'parentName': name,
'type': field.type, 'type': field.type,
'isLast': selectFields.indexOf(field) == selectFields.length - 1, 'isLast': selectFields.indexOf(field) == selectFields.length - 1,
'partnerName': 'partnerName':
@ -77,7 +79,11 @@ class UftComponent implements SelectableItem {
'name': index.indexName, 'name': index.indexName,
'fields': 'fields':
index.fields.asMap().entries.map((entry) { index.fields.asMap().entries.map((entry) {
return {'name': entry.value, 'isLast': entry.key == index.fields.length - 1}; return {
'name': entry.value,
'parentName': name,
'isLast': entry.key == index.fields.length - 1,
};
}).toList(), }).toList(),
'rule': index.rule, 'rule': index.rule,
}, },

2
win_text_editor/lib/modules/uft_component/widgets/uft_component_right_side.dart

@ -46,7 +46,7 @@ class _UftComponentRightSideState extends State<UftComponentRightSide> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final operations = ['插入组件', '修改组件', '获取组件', '遍历组件', '组件大小', '尾部插入组件']; final operations = ['插入组件', '修改组件', '获取组件', '遍历组件', '组件大小', '尾部插入组件', '手工打包'];
return CodeGenerationSection( return CodeGenerationSection(
title: '生成代码', title: '生成代码',

Loading…
Cancel
Save