jsharmony-workflow 1.0.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.
- package/.eslintrc.js +47 -0
- package/.eslintrc_models.js +64 -0
- package/LICENSE +165 -0
- package/README.md +29 -0
- package/index.js +20 -0
- package/jsHarmonyWorkflow.js +55 -0
- package/jsHarmonyWorkflowConfig.js +43 -0
- package/jsHarmonyWorkflowProcessor.js +517 -0
- package/jsHarmonyWorkflowTransform.Classic.js +83 -0
- package/jsHarmonyWorkflowTransform.js +80 -0
- package/lint.cmd +2 -0
- package/models/Admin/TaskDef.json +26 -0
- package/models/Admin/TaskDef_Func.json +21 -0
- package/models/Admin/TaskDef_Listing.json +28 -0
- package/models/Admin/TaskDef_Tabs.json +19 -0
- package/models/Admin/WkflowDef.json +25 -0
- package/models/Admin/WkflowDef_Listing.json +26 -0
- package/models/Admin/WkflowDef_State.json +26 -0
- package/models/Admin/WkflowDef_State_Action.json +25 -0
- package/models/Admin/WkflowDef_State_Action_Listing.json +25 -0
- package/models/Admin/WkflowDef_State_Listing.json +45 -0
- package/models/Admin/WkflowDef_State_Tabs.json +20 -0
- package/models/Admin/WkflowDef_State_Tran.json +28 -0
- package/models/Admin/WkflowDef_State_Tran_Listing.json +27 -0
- package/models/Admin/WkflowDef_Tabs.json +20 -0
- package/models/Admin/WkflowDef_Tran_Start.json +28 -0
- package/models/Admin/WkflowDef_Tran_Start_Listing.json +34 -0
- package/models/Wkflow/Task.json +27 -0
- package/models/Wkflow/Task_Listing.json +45 -0
- package/models/Wkflow/Task_Tabs.json +18 -0
- package/models/Wkflow/Wkflow.json +31 -0
- package/models/Wkflow/Wkflow_Listing.json +38 -0
- package/models/Wkflow/Wkflow_Tabs.json +18 -0
- package/models/_config.json +48 -0
- package/models/sql/objects/task.json +152 -0
- package/models/sql/objects/wkflow.json +383 -0
- package/package.json +21 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Wkflow_Listing":{
|
|
3
|
+
"layout": "grid",
|
|
4
|
+
"title": "Workflows",
|
|
5
|
+
"table": "wkflow",
|
|
6
|
+
"menu": "Wkflow/Wkflow_Listing",
|
|
7
|
+
"caption": ["","Workflow","Workflows"],
|
|
8
|
+
"actions": "B",
|
|
9
|
+
"sort": ["vwkflow_id"],
|
|
10
|
+
"buttons":[
|
|
11
|
+
{ "name":"addWkflow", "link":"insert:Wkflow","icon":"add","text":"Add Workflow" },
|
|
12
|
+
],
|
|
13
|
+
"fields": [
|
|
14
|
+
{"name":"wkflow_id", "caption":"ID"},
|
|
15
|
+
{"name":"wkflow_sts", "caption":"Status", "lov": { "{{code_sys}}": "wkflow_sts" }},
|
|
16
|
+
{"name":"wkflow_def_name", "caption":"Workflow", "link": "update:Wkflow_Tabs", "sqlselect": "(select wkflow_def_name from {schema}.wkflow_def where wkflow_def.wkflow_def_id = wkflow.wkflow_def_id)"},
|
|
17
|
+
{"name":"wkflow_def_state_name", "caption":"State", "link": "update:Wkflow_Tabs", "sqlselect": "(select wkflow_def_state_name from {schema}.wkflow_def_state where wkflow_def_state.wkflow_def_state_id = wkflow.wkflow_def_state_id)"},
|
|
18
|
+
|
|
19
|
+
{"name":"wkflow_etstmp", "caption":"Entered", "format":["date","MM/DD/YYYY h:mm A"]},
|
|
20
|
+
{"name":"wkflow_euser", "caption":"Entered By", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_euser)"},
|
|
21
|
+
{"name":"wkflow_mtstmp", "caption":"Modified", "format":["date","MM/DD/YYYY h:mm A"]},
|
|
22
|
+
{"name":"wkflow_muser", "caption":"Modified By", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_muser)"},
|
|
23
|
+
{"name":"wkflow_snotes", "caption":"System Notes"},
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"Wkflow_Listing_Active": {
|
|
27
|
+
"inherits": "Wkflow_Listing",
|
|
28
|
+
"title": "Active Workflows",
|
|
29
|
+
"menu": "Wkflow/Wkflow_Listing_Active",
|
|
30
|
+
"sqlwhere": "wkflow_sts = 'ACTIVE'",
|
|
31
|
+
},
|
|
32
|
+
"Wkflow_Listing_History": {
|
|
33
|
+
"inherits": "Wkflow_Listing",
|
|
34
|
+
"title": "Workflow History",
|
|
35
|
+
"menu": "Wkflow/Wkflow_Listing_History",
|
|
36
|
+
"sqlwhere": "wkflow_sts <> 'ACTIVE'",
|
|
37
|
+
},
|
|
38
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Wkflow_Tabs":{
|
|
3
|
+
"layout": "form",
|
|
4
|
+
"title": "Workflow: <#=data.wkflow_def_name#>",
|
|
5
|
+
"table": "wkflow",
|
|
6
|
+
"actions": "B",
|
|
7
|
+
"caption": [ 0, "Workflow", "Workflows" ],
|
|
8
|
+
"tabpos":"bottom",
|
|
9
|
+
"tabs":[
|
|
10
|
+
{"name":"General","target":"Wkflow"},
|
|
11
|
+
],
|
|
12
|
+
"popup":[1300,700],
|
|
13
|
+
"fields":[
|
|
14
|
+
{"name":"wkflow_id","type":"bigint","key":true,"control":"hidden"},
|
|
15
|
+
{"name":"wkflow_def_name","control":"hidden","sqlselect":"(select wkflow_def_name from {schema}.wkflow_def where wkflow_def.wkflow_def_id = wkflow.wkflow_def_id)"},
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"modules": {
|
|
3
|
+
"jsHarmonyFactory": {
|
|
4
|
+
"static_menu": {
|
|
5
|
+
"main_menu": [
|
|
6
|
+
{ "menu_name": "Wkflow", "menu_desc": "Workflow", "menu_cmd": "{namespace}Wkflow/Wkflow_Listing_Active", "menu_subcmd": null, "menu_seq": 20000, "menu_id": 200, "roles": { "main": [ "SYSADMIN", "DEV" ] } }
|
|
7
|
+
],
|
|
8
|
+
"sub_menu": [
|
|
9
|
+
{ "menu_name": "Wkflow/Wkflow_Listing_Active", "menu_desc": "Active Workflows", "menu_cmd": "{namespace}Wkflow/Wkflow_Listing_Active", "menu_subcmd": null, "menu_seq": 20001, "menu_id": 20001, "menu_parent_name": "Wkflow", "roles": { "main": [ "SYSADMIN", "DEV" ] } },
|
|
10
|
+
{ "menu_name": "Wkflow/Wkflow_Listing_History", "menu_desc": "Workflow History", "menu_cmd": "{namespace}Wkflow/Wkflow_Listing_History", "menu_subcmd": null, "menu_seq": 20002, "menu_id": 20002, "menu_parent_name": "Wkflow", "roles": { "main": [ "SYSADMIN", "DEV" ] } },
|
|
11
|
+
{ "menu_name": "Wkflow/Task_Listing_MyCurrent", "menu_desc": "My Current Tasks", "menu_cmd": "{namespace}Wkflow/Task_Listing_MyCurrent", "menu_subcmd": null, "menu_seq": 20003, "menu_id": 20003, "menu_parent_name": "Wkflow", "roles": { "main": [ "SYSADMIN", "DEV" ] } },
|
|
12
|
+
{ "menu_name": "Wkflow/Task_Listing_MyHistory", "menu_desc": "Task History", "menu_cmd": "{namespace}Wkflow/Task_Listing_MyHistory", "menu_subcmd": null, "menu_seq": 20004, "menu_id": 20004, "menu_parent_name": "Wkflow", "roles": { "main": [ "SYSADMIN", "DEV" ] } },
|
|
13
|
+
{ "menu_name": "Wkflow/Task_Listing_AllUsers", "menu_desc": "All User Tasks", "menu_cmd": "{namespace}Wkflow/Task_Listing_AllUsers", "menu_subcmd": null, "menu_seq": 20004, "menu_id": 20005, "menu_parent_name": "Wkflow", "roles": { "main": [ "SYSADMIN", "DEV" ] } },
|
|
14
|
+
|
|
15
|
+
{ "menu_name": "Admin/WkflowDef_Listing", "menu_desc": "Workflow Definitions", "menu_cmd": "{namespace}Admin/WkflowDef_Listing", "menu_subcmd": null, "menu_seq": 80071, "menu_id": 80071, "menu_parent_name": "Admin", "roles": { "main": [ "SYSADMIN", "DEV" ] } },
|
|
16
|
+
{ "menu_name": "Admin/TaskDef_Listing", "menu_desc": "Task Definitions", "menu_cmd": "{namespace}Admin/TaskDef_Listing", "menu_subcmd": null, "menu_seq": 80072, "menu_id": 80072, "menu_parent_name": "Admin", "roles": { "main": [ "SYSADMIN", "DEV" ] } },
|
|
17
|
+
],
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
"field_mapping": {
|
|
22
|
+
"{{code_val}}": "code_val",
|
|
23
|
+
"{{code_val1}}": "code_val1",
|
|
24
|
+
"{{code_val2}}": "code_val2",
|
|
25
|
+
"{{code_txt}}": "code_txt",
|
|
26
|
+
"{{code_seq}}": "code_seq",
|
|
27
|
+
"{{code_parent}}": "code_parent",
|
|
28
|
+
"code_end_date": "code_end_dt",
|
|
29
|
+
"timestamp": "get_tstmp",
|
|
30
|
+
"current_user": "context_user",
|
|
31
|
+
"{{code_sys}}": "code_sys_prefix",
|
|
32
|
+
"{{code_app}}": "code_app_prefix",
|
|
33
|
+
"{{code2_sys}}": "code2_sys_prefix",
|
|
34
|
+
"{{code2_app}}": "code2_app_prefix",
|
|
35
|
+
"code": "code_prefix",
|
|
36
|
+
"code2": "code2_prefix",
|
|
37
|
+
},
|
|
38
|
+
"ui_field_mapping": {
|
|
39
|
+
"{{code_val}}": "code_val",
|
|
40
|
+
"{{code_txt}}": "code_txt",
|
|
41
|
+
"{{code_parent_id}}": "code_parent_id",
|
|
42
|
+
"{{code_icon}}": "code_icon",
|
|
43
|
+
"{{code_id}}": "code_id",
|
|
44
|
+
"{{code_parent}}": "code_parent",
|
|
45
|
+
"{{code_seq}}": "code_seq",
|
|
46
|
+
"{{code_type}}": "code_type"
|
|
47
|
+
},
|
|
48
|
+
}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
{
|
|
2
|
+
"code_task_def_sts": {
|
|
3
|
+
"type": "code",
|
|
4
|
+
"caption": "Task Definition Status",
|
|
5
|
+
"init_data": [
|
|
6
|
+
{"code_seq":1, "code_val":"ACTIVE", "code_txt":"Active"},
|
|
7
|
+
{"code_seq":2, "code_val":"HOLD", "code_txt":"Hold"},
|
|
8
|
+
{"code_seq":3, "code_val":"CLOSED", "code_txt":"Closed"},
|
|
9
|
+
]
|
|
10
|
+
},
|
|
11
|
+
|
|
12
|
+
"code_task_def_dur_type": {
|
|
13
|
+
"type": "code",
|
|
14
|
+
"caption": "Task Definition Status",
|
|
15
|
+
"init_data": [
|
|
16
|
+
{"code_seq":1, "code_val":"CALDAYS", "code_txt":"Calendar Days"},
|
|
17
|
+
{"code_seq":2, "code_val":"BUSDAYS", "code_txt":"Business Days"},
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
"code_task_sts": {
|
|
22
|
+
"type": "code",
|
|
23
|
+
"caption": "Task Status",
|
|
24
|
+
"init_data": [
|
|
25
|
+
{"code_seq":1, "code_val":"ACTIVE", "code_txt":"Active"},
|
|
26
|
+
{"code_seq":2, "code_val":"HOLD", "code_txt":"Hold"},
|
|
27
|
+
{"code_seq":3, "code_val":"COMPLETE", "code_txt":"Complete"},
|
|
28
|
+
{"code_seq":4, "code_val":"CANCELED", "code_txt":"Canceled"},
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
|
|
32
|
+
"task_def": {
|
|
33
|
+
"type": "table",
|
|
34
|
+
"caption": "task_def",
|
|
35
|
+
"table": "task_def",
|
|
36
|
+
"columns": [
|
|
37
|
+
{"name":"task_def_id", "type":"bigint", "key":true, "identity": true, "null":false},
|
|
38
|
+
{"name":"task_def_sts", "type":"varchar", "length":32, "foreignkey":{"code_task_def_sts":"code_val"}, "null":false, "default": "ACTIVE"},
|
|
39
|
+
{"name":"task_def_code", "type":"varchar", "length":32, "null":false},
|
|
40
|
+
{"name":"task_def_name", "type":"varchar", "length":64, "null":false},
|
|
41
|
+
{"name":"task_def_desc", "type":"varchar", "length":1024},
|
|
42
|
+
{"name":"task_def_dur", "type":"int"},
|
|
43
|
+
{"name":"task_def_dur_type", "type":"varchar", "length":32, "foreignkey":{"code_task_def_dur_type":"code_val"}},
|
|
44
|
+
{"name":"task_def_euser", "type":"varchar", "length":20, "default": { "sql": "%%%%%%jsh.map.current_user%%%%%%" }},
|
|
45
|
+
{"name":"task_def_etstmp", "type":"datetime", "precision":7, "default": { "sql": "%%%%%%jsh.map.timestamp%%%%%%" }},
|
|
46
|
+
{"name":"task_def_muser", "type":"varchar", "length":20},
|
|
47
|
+
{"name":"task_def_mtstmp", "type":"datetime", "precision":7},
|
|
48
|
+
{"name":"task_def_snotes", "type":"varchar", "length":1024}
|
|
49
|
+
],
|
|
50
|
+
"index": [
|
|
51
|
+
{ "columns": ["task_def_sts"] },
|
|
52
|
+
{ "columns": ["task_def_code"] },
|
|
53
|
+
],
|
|
54
|
+
"triggers": [
|
|
55
|
+
{ "on": ["update", "insert"], "exec": [
|
|
56
|
+
"set(task_def_mtstmp,%%%%%%jsh.map.timestamp%%%%%%);",
|
|
57
|
+
"set(task_def_muser,%%%%%%jsh.map.current_user%%%%%%);",
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
{ "on": ["insert"], "exec": [
|
|
61
|
+
"jsharmony.log_audit_insert('task_def',inserted(task_def_id),task_def_id)",
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
{ "on": ["update"], "exec": [
|
|
65
|
+
"jsharmony.log_audit_update_mult('task_def',deleted(task_def_id),[\"task_def_sts\",\"task_def_code\",\"task_def_name\",\"task_def_desc\",\"task_def_dur\",\"task_def_dur_type\"])",
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
{ "on": ["delete"], "exec": [
|
|
69
|
+
"jsharmony.log_audit_delete_mult('task_def',deleted(task_def_id),[\"task_def_sts\",\"task_def_code\",\"task_def_name\",\"task_def_desc\",\"task_def_dur\",\"task_def_dur_type\"])",
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
},
|
|
74
|
+
|
|
75
|
+
"task": {
|
|
76
|
+
"type": "table",
|
|
77
|
+
"caption": "task",
|
|
78
|
+
"table": "task",
|
|
79
|
+
"columns": [
|
|
80
|
+
{"name":"task_id", "type":"bigint", "key":true, "identity": true, "null":false},
|
|
81
|
+
{"name":"task_sts", "type":"varchar", "length":32, "foreignkey":{"code_task_sts":"code_val"}, "null":false, "default": "ACTIVE"},
|
|
82
|
+
{"name":"task_sts_user", "type":"varchar", "length":20, "default": { "sql": "%%%%%%jsh.map.current_user%%%%%%" }},
|
|
83
|
+
{"name":"task_sts_tstmp", "type":"datetime", "precision":7, "default": { "sql": "%%%%%%jsh.map.timestamp%%%%%%" }},
|
|
84
|
+
{"name":"wkflow_id", "type":"bigint", "foreignkey":{"wkflow":"wkflow_id"}},
|
|
85
|
+
{"name":"task_def_id", "type":"bigint", "foreignkey":{"task_def":"task_def_id"}, "null":false},
|
|
86
|
+
{"name":"task_due", "type":"datetime", "precision":7},
|
|
87
|
+
{"name":"task_unotes", "type":"varchar", "length": "4000"},
|
|
88
|
+
{"name":"task_euser", "type":"varchar", "length":20, "default": { "sql": "%%%%%%jsh.map.current_user%%%%%%" }},
|
|
89
|
+
{"name":"task_etstmp", "type":"datetime", "precision":7, "default": { "sql": "%%%%%%jsh.map.timestamp%%%%%%" }},
|
|
90
|
+
{"name":"task_muser", "type":"varchar", "length":20},
|
|
91
|
+
{"name":"task_mtstmp", "type":"datetime", "precision":7},
|
|
92
|
+
{"name":"task_snotes", "type":"varchar", "length":1024}
|
|
93
|
+
],
|
|
94
|
+
"index": [
|
|
95
|
+
{ "columns": ["task_sts"] },
|
|
96
|
+
{ "columns": ["wkflow_id"] },
|
|
97
|
+
{ "columns": ["task_def_id"] },
|
|
98
|
+
{ "columns": ["task_due"] },
|
|
99
|
+
],
|
|
100
|
+
"triggers": [
|
|
101
|
+
{ "on": ["update", "insert"], "exec": [
|
|
102
|
+
"set(task_mtstmp,%%%%%%jsh.map.timestamp%%%%%%);",
|
|
103
|
+
"set(task_muser,%%%%%%jsh.map.current_user%%%%%%);",
|
|
104
|
+
"setif(update(task_sts),task_sts_tstmp,%%%%%%jsh.map.timestamp%%%%%%);",
|
|
105
|
+
"setif(update(task_sts),task_sts_user,%%%%%%jsh.map.current_user%%%%%%);",
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
{ "on": ["insert"], "exec": [
|
|
109
|
+
"jsharmony.log_audit_insert('task',inserted(task_id),task_id)",
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
{ "on": ["update"], "exec": [
|
|
113
|
+
"jsharmony.log_audit_update_mult('task',deleted(task_id),[\"task_sts\",\"wkflow_id\",\"task_def_id\",\"task_due\",\"task_unotes\"])",
|
|
114
|
+
]
|
|
115
|
+
},
|
|
116
|
+
{ "on": ["delete"], "exec": [
|
|
117
|
+
"jsharmony.log_audit_delete_mult('task',deleted(task_id),[\"task_sts\",\"wkflow_id\",\"task_def_id\",\"task_due\",\"task_unotes\"])",
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
|
|
123
|
+
"task_def_sys_func": {
|
|
124
|
+
"type": "table",
|
|
125
|
+
"caption": "task",
|
|
126
|
+
"table": "task",
|
|
127
|
+
"columns": [
|
|
128
|
+
{"name":"task_def_sys_func_id", "type":"bigint", "key":true, "identity": true, "null":false},
|
|
129
|
+
{"name":"task_def_id", "type":"bigint", "foreignkey":{"task_def":"task_def_id"}, "null":false},
|
|
130
|
+
{"name":"sys_func_name", "type":"varchar", "length":16, "foreignkey":{"jsharmony.sys_func":"sys_func_name"}, "null":false},
|
|
131
|
+
{"name":"task_def_sys_func_snotes", "type":"varchar", "length":1024},
|
|
132
|
+
],
|
|
133
|
+
"index": [
|
|
134
|
+
{ "columns": ["task_def_id"] },
|
|
135
|
+
{ "columns": ["wkflow_id"] },
|
|
136
|
+
],
|
|
137
|
+
"triggers": [
|
|
138
|
+
{ "on": ["insert"], "exec": [
|
|
139
|
+
"jsharmony.log_audit_insert('task_def_sys_func',inserted(task_def_sys_func_id),task_def_sys_func_id)",
|
|
140
|
+
]
|
|
141
|
+
},
|
|
142
|
+
{ "on": ["update"], "exec": [
|
|
143
|
+
"jsharmony.log_audit_update_mult('task_def_sys_func',deleted(task_def_sys_func_id),[\"task_def_id\",\"sys_func_name\"])",
|
|
144
|
+
]
|
|
145
|
+
},
|
|
146
|
+
{ "on": ["delete"], "exec": [
|
|
147
|
+
"jsharmony.log_audit_delete_mult('task_def_sys_func',deleted(task_def_sys_func_id),[\"task_def_id\",\"sys_func_name\"])",
|
|
148
|
+
]
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
}
|
|
152
|
+
}
|