RuleEngine-R2-R4: RuleEngineService+RuleEngineJob+前端UI增强+大屏SignalR订阅

This commit is contained in:
2026-06-04 00:24:46 +08:00
parent 0575c1f369
commit 9969d3bf6d
4 changed files with 427 additions and 76 deletions

View File

@@ -1,77 +1,78 @@
// *Authorjxx
// *Contact283591387@qq.com
// *代码由框架生成,任何更改都可能导致被代码生成器覆盖
export default function(){
const table = {
key: 'RuleID',
footer: "Foots",
cnName: '规则',
name: 'warehouse_rule',
newTabEdit: false,
url: "/warehouse_rule/",
sortName: "Title",
fixedSearch:false
};
const tableName = table.name;
const tableCNName = table.cnName;
const newTabEdit = false;
const key = table.key;
const editFormFields = {"Title":"","JudgmentMode":"","JudgmentValue":""};
const editFormOptions = [[{"title":"规则标题","required":true,"field":"Title","colSize":100.0}],
[{"dataKey":"条件判断方式","data":[],"title":"条件判断方式","field":"JudgmentMode","colSize":50.0,"type":"select"},
{"dataKey":"条件判断目标值","data":[],"title":"条件判断目标值","field":"JudgmentValue","colSize":50.0,"type":"select"}]];
const searchFormFields = {};
const searchFormOptions = [];
const columns = [{field:'Title',title:'规则标题',type:'string',link:true,width:150,require:true,align:'left'},
{field:'JudgmentMode',title:'条件判断方式',type:'string',bind:{ key:'条件判断方式',data:[]},width:150,align:'left'},
{field:'JudgmentValue',title:'条件判断目标值',type:'string',bind:{ key:'条件判断目标值',data:[]},width:110,align:'left'},
{field:'RuleID',title:'规则编号',type:'int',width:120,hidden:true,require:true,align:'left'}];
const detail ={columns:[]};
const details = [ {
cnName: '规则条件',
table: 'warehouse_rulecondition',
columns: [{field:'id',title:'条件编号',type:'int',width:110,hidden:true,require:true,align:'left'},
{field:'DeviceId',title:'设备',type:'int',bind:{ key:'所有设备列表',data:[]},width:110,edit:{type:'select'},align:'left'},
{field:'ValueId',title:'变量',type:'int',bind:{ key:'变量列表',data:[]},width:110,edit:{type:'select'},align:'left'},
{field:'Type',title:'比对类型',type:'string',bind:{ key:'比对类型',data:[]},width:150,edit:{type:'select'},align:'left'},
{field:'CompareOperator',title:'比较运算',type:'string',bind:{ key:'比较运算',data:[]},width:150,edit:{type:'select'},align:'left'},
{field:'TargetValue_Switch',title:'目标值开关状态',type:'string',bind:{ key:'开关状态',data:[]},width:120,edit:{type:'select'},align:'left'},
{field:'TargetValue_Number',title:'目标值数值',type:'int',width:120,edit:{type:'number'},align:'left'},
{field:'RuleID',title:'所属规则编号',type:'int',width:120,hidden:true,align:'left'}],
sortName: 'id',
key: 'id',
buttons:[],
delKeys:[],
detail:null
},
{
cnName: '规则动作',
table: 'warehouse_ruleaction',
columns: [{field:'id',title:'动作编号',type:'int',width:110,hidden:true,require:true,align:'left'},
{field:'DeviceId',title:'设备',type:'int',bind:{ key:'所有设备列表',data:[]},width:110,edit:{type:'select'},align:'left'},
{field:'ValueId',title:'变量',type:'int',bind:{ key:'变量列表',data:[]},width:110,edit:{type:'select'},align:'left'},
{field:'Type',title:'值类型',type:'string',bind:{ key:'比对类型',data:[]},width:150,edit:{type:'select'},align:'left'},
{field:'TargetValue_Switch',title:'目标值开状态状态',type:'string',bind:{ key:'开关状态',data:[]},width:120,edit:{type:'select'},align:'left'},
{field:'TargetValue_Number',title:'目标值数值',type:'int',width:120,edit:{type:'number'},align:'left'},
{field:'RuleID',title:'所属规则编号',type:'int',width:120,hidden:true,align:'left'}],
sortName: 'id',
key: 'id',
buttons:[],
delKeys:[],
detail:null
}];
return {
table,
key,
tableName,
tableCNName,
newTabEdit,
editFormFields,
editFormOptions,
searchFormFields,
searchFormOptions,
columns,
detail,
details
// *代码由框架生成,任何更改都可能导致被代码生成器覆盖
export default function(){
const table = {
key: 'RuleID',
footer: "Foots",
cnName: '规则',
name: 'warehouse_rule',
newTabEdit: false,
url: "/warehouse_rule/",
sortName: "Title",
fixedSearch:false
};
const tableName = table.name;
const tableCNName = table.cnName;
const newTabEdit = false;
const key = table.key;
const editFormFields = {"Title":"","JudgmentMode":"","JudgmentValue":"","Enable":"启用","Priority":0,"CooldownSec":60};
const editFormOptions = [
[{"title":"规则标题","required":true,"field":"Title","colSize":60.0},
{"dataKey":"条件判断方式","data":[],"title":"判断方式","field":"JudgmentMode","colSize":40.0,"type":"select"}],
[{"title":"优先级","field":"Priority","colSize":50.0,"type":"number"},
{"title":"冷却时间(秒)","field":"CooldownSec","colSize":50.0,"type":"number"}],
[{"dataKey":"启用状态","data":[],"title":"启用","field":"Enable","colSize":50.0,"type":"select"},
{"dataKey":"条件判断目标值","data":[],"title":"目标值","field":"JudgmentValue","colSize":50.0,"type":"select"}]
];
const searchFormFields = {};
const searchFormOptions = [];
const columns = [
{field:'Title',title:'规则标题',type:'string',link:true,width:150,require:true,align:'left'},
{field:'JudgmentMode',title:'判断方式',type:'string',bind:{ key:'条件判断方式',data:[]},width:100,align:'left'},
{field:'Priority',title:'优先级',type:'int',width:80,align:'left'},
{field:'CooldownSec',title:'冷却(秒)',type:'int',width:80,align:'left'},
{field:'Enable',title:'启用',type:'string',bind:{ key:'启用状态',data:[]},width:80,align:'left'},
{field:'LastTriggered',title:'上次触发',type:'datetime',width:150,align:'left'},
{field:'RuleID',title:'规则编号',type:'int',width:120,hidden:true,require:true,align:'left'}
];
const detail ={columns:[]};
const details = [
{
cnName: '规则条件',
table: 'warehouse_rulecondition',
columns: [
{field:'id',title:'条件编号',type:'int',width:110,hidden:true,require:true,align:'left'},
{field:'DeviceId',title:'设备',type:'int',bind:{ key:'所有设备列表',data:[]},width:110,edit:{type:'select'},align:'left'},
{field:'ValueId',title:'变量',type:'int',width:110,edit:{type:'number'},align:'left'},
{field:'Type',title:'比对类型',type:'string',bind:{ key:'比对类型',data:[]},width:150,edit:{type:'select'},align:'left'},
{field:'CompareOperator',title:'比较运算',type:'string',bind:{ key:'比较运算',data:[]},width:150,edit:{type:'select'},align:'left'},
{field:'TargetValue_Number',title:'目标值',type:'int',width:120,edit:{type:'number'},align:'left'},
{field:'TargetValue_Switch',title:'开关状态',type:'string',bind:{ key:'开关状态',data:[]},width:120,edit:{type:'select'},align:'left'},
{field:'RecoveryThreshold_Numeric',title:'恢复阈值',type:'decimal',width:120,edit:{type:'number'},align:'left'},
{field:'RuleID',title:'所属规则编号',type:'int',width:120,hidden:true,align:'left'}
],
sortName: 'id', key: 'id', buttons:[], delKeys:[], detail:null
},
{
cnName: '规则动作',
table: 'warehouse_ruleaction',
columns: [
{field:'id',title:'动作编号',type:'int',width:110,hidden:true,require:true,align:'left'},
{field:'DeviceId',title:'设备',type:'int',bind:{ key:'所有设备列表',data:[]},width:110,edit:{type:'select'},align:'left'},
{field:'ValueId',title:'变量',type:'int',width:110,edit:{type:'number'},align:'left'},
{field:'ActionType',title:'动作类型',type:'string',bind:{ key:'动作类型',data:[]},width:150,edit:{type:'select'},align:'left'},
{field:'TargetValue_Number',title:'目标值',type:'int',width:120,edit:{type:'number'},align:'left'},
{field:'TargetValue_Switch',title:'开关状态',type:'string',bind:{ key:'开关状态',data:[]},width:120,edit:{type:'select'},align:'left'},
{field:'Alert',title:'生成告警',type:'string',bind:{ key:'开关状态',data:[]},width:100,edit:{type:'select'},align:'left'},
{field:'AlertMessage',title:'告警内容',type:'string',width:200,edit:{type:'text'},align:'left'},
{field:'RuleID',title:'所属规则编号',type:'int',width:120,hidden:true,align:'left'}
],
sortName: 'id', key: 'id', buttons:[], delKeys:[], detail:null
}
];
return {
table, key, tableName, tableCNName, newTabEdit,
editFormFields, editFormOptions, searchFormFields, searchFormOptions,
columns, detail, details
};
}