提交 94b52b8b 编写于 作者: ibizdev's avatar ibizdev

lab_xuhui 发布系统代码 [ibz-dst,应用]

上级 132d41e1
......@@ -104,14 +104,14 @@ function getLocaleResourceBase(){
},
},
gridviewtoolbar_toolbar: {
tbitem1_import: {
caption: commonLogic.appcommonhandle("模型导入",null),
tip: commonLogic.appcommonhandle("模型导入",null),
},
tbitem1_export: {
caption: commonLogic.appcommonhandle("模型导出",null),
tip: commonLogic.appcommonhandle("模型导出",null),
},
tbitem1_import: {
caption: commonLogic.appcommonhandle("模型导入",null),
tip: commonLogic.appcommonhandle("模型导入",null),
},
tbitem2: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
......
......@@ -104,14 +104,14 @@ function getLocaleResourceBase(){
},
},
gridviewtoolbar_toolbar: {
tbitem1_import: {
caption: commonLogic.appcommonhandle("模型导入",null),
tip: commonLogic.appcommonhandle("模型导入",null),
},
tbitem1_export: {
caption: commonLogic.appcommonhandle("模型导出",null),
tip: commonLogic.appcommonhandle("模型导出",null),
},
tbitem1_import: {
caption: commonLogic.appcommonhandle("模型导入",null),
tip: commonLogic.appcommonhandle("模型导入",null),
},
tbitem2: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
......
......@@ -104,14 +104,14 @@ function getLocaleResourceBase(){
},
},
gridviewtoolbar_toolbar: {
tbitem1_import: {
caption: commonLogic.appcommonhandle("模型导入",null),
tip: commonLogic.appcommonhandle("模型导入",null),
},
tbitem1_export: {
caption: commonLogic.appcommonhandle("模型导出",null),
tip: commonLogic.appcommonhandle("模型导出",null),
},
tbitem1_import: {
caption: commonLogic.appcommonhandle("模型导入",null),
tip: commonLogic.appcommonhandle("模型导入",null),
},
tbitem2: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
......
......@@ -82,6 +82,14 @@ function getLocaleResourceBase(){
},
},
gridviewtoolbar_toolbar: {
tbitem1_cleankc: {
caption: commonLogic.appcommonhandle("清除规则缓存",null),
tip: commonLogic.appcommonhandle("清除规则缓存",null),
},
tbitem2: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem3: {
caption: commonLogic.appcommonhandle("新建",null),
tip: commonLogic.appcommonhandle("新建",null),
......
......@@ -82,6 +82,14 @@ function getLocaleResourceBase(){
},
},
gridviewtoolbar_toolbar: {
tbitem1_cleankc: {
caption: commonLogic.appcommonhandle("清除规则缓存",null),
tip: commonLogic.appcommonhandle("清除规则缓存",null),
},
tbitem2: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem3: {
caption: commonLogic.appcommonhandle("New",null),
tip: commonLogic.appcommonhandle("New",null),
......
......@@ -82,6 +82,14 @@ function getLocaleResourceBase(){
},
},
gridviewtoolbar_toolbar: {
tbitem1_cleankc: {
caption: commonLogic.appcommonhandle("清除规则缓存",null),
tip: commonLogic.appcommonhandle("清除规则缓存",null),
},
tbitem2: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem3: {
caption: commonLogic.appcommonhandle("新建",null),
tip: commonLogic.appcommonhandle("新建",null),
......
......@@ -163,6 +163,44 @@ mock.onPost(new RegExp(/^\/ruleengines\/?([a-zA-Z0-9\-\;]{0,35})\/checkkey$/)).r
return [status, data];
});
// CleanKC
mock.onPost(new RegExp(/^\/ruleengines\/?([a-zA-Z0-9\-\;]{0,35})\/cleankc$/)).reply((config: any) => {
console.groupCollapsed("实体:ruleengine 方法: CleanKC");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['engine_id'];
const matchArray:any = new RegExp(/^\/ruleengines\/([a-zA-Z0-9\-\;]{1,35})\/cleankc$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
//let items = mockDatas ? mockDatas : [];
//let _items = items.find((item: any) => Object.is(item.engine_id, tempValue.engine_id));
let data = JSON.parse(config.data);
mockDatas.forEach((item)=>{
if(item['engine_id'] == tempValue['engine_id'] ){
for(let value in data){
if(item.hasOwnProperty(value)){
item[value] = data[value];
}
}
}
})
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(data);
console.groupEnd();
console.groupEnd();
return [status, data];
});
// Create
mock.onPost(new RegExp(/^\/ruleengines\/?([a-zA-Z0-9\-\;]{0,35})$/)).reply((config: any) => {
console.groupCollapsed("实体:ruleengine 方法: Create");
......
......@@ -13,18 +13,18 @@
<div class='pull-right'>
<div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem1_import.visabled" :disabled="toolBarModels.tbitem1_import.disabled" class='' v-loading:i-button @click="toolbar_click({ tag: 'tbitem1_import' }, $event)">
<i-button v-show="toolBarModels.tbitem1_export.visabled" :disabled="toolBarModels.tbitem1_export.disabled" class='' v-loading:i-button @click="toolbar_click({ tag: 'tbitem1_export' }, $event)">
<i class=''></i>
<span class='caption'>{{$t('entities.metamodel.gridviewtoolbar_toolbar.tbitem1_import.caption')}}</span>
<span class='caption'>{{$t('entities.metamodel.gridviewtoolbar_toolbar.tbitem1_export.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.metamodel.gridviewtoolbar_toolbar.tbitem1_import.tip')}}</div>
<div slot='content'>{{$t('entities.metamodel.gridviewtoolbar_toolbar.tbitem1_export.tip')}}</div>
</tooltip>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem1_export.visabled" :disabled="toolBarModels.tbitem1_export.disabled" class='' v-loading:i-button @click="toolbar_click({ tag: 'tbitem1_export' }, $event)">
<i-button v-show="toolBarModels.tbitem1_import.visabled" :disabled="toolBarModels.tbitem1_import.disabled" class='' v-loading:i-button @click="toolbar_click({ tag: 'tbitem1_import' }, $event)">
<i class=''></i>
<span class='caption'>{{$t('entities.metamodel.gridviewtoolbar_toolbar.tbitem1_export.caption')}}</span>
<span class='caption'>{{$t('entities.metamodel.gridviewtoolbar_toolbar.tbitem1_import.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.metamodel.gridviewtoolbar_toolbar.tbitem1_export.tip')}}</div>
<div slot='content'>{{$t('entities.metamodel.gridviewtoolbar_toolbar.tbitem1_import.tip')}}</div>
</tooltip>
<span class='seperator'>|</span>
<tooltip :transfer="true" :max-width="600">
......@@ -384,10 +384,10 @@ export default class MetaModelGridViewBase extends Vue {
* @memberof MetaModelGridView
*/
public toolBarModels: any = {
tbitem1_import: { name: 'tbitem1_import', actiontarget: 'NONE', caption: '模型导入', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'import', target: 'NONE' } },
tbitem1_export: { name: 'tbitem1_export', actiontarget: 'NONE', caption: '模型导出', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'export', target: 'MULTIKEY' } },
tbitem1_import: { name: 'tbitem1_import', actiontarget: 'NONE', caption: '模型导入', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'import', target: 'NONE' } },
tbitem2: { name: 'tbitem2', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem3: { name: 'tbitem3', actiontarget: 'NONE', caption: '新建', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'New', target: '' } },
......@@ -860,12 +860,12 @@ export default class MetaModelGridViewBase extends Vue {
* @memberof MetaModelGridViewBase
*/
public toolbar_click($event: any, $event2?: any) {
if (Object.is($event.tag, 'tbitem1_import')) {
this.toolbar_tbitem1_import_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem1_export')) {
this.toolbar_tbitem1_export_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem1_import')) {
this.toolbar_tbitem1_import_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem3')) {
this.toolbar_tbitem3_click(null, '', $event2);
}
......@@ -920,7 +920,7 @@ export default class MetaModelGridViewBase extends Vue {
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem1_import_click(params: any = {}, tag?: any, $event?: any) {
public toolbar_tbitem1_export_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
......@@ -938,7 +938,7 @@ export default class MetaModelGridViewBase extends Vue {
}
// 界面行为
const curUIService:MetaModelUIService = new MetaModelUIService();
curUIService.MetaModel_import(datas,contextJO, paramJO, $event, xData,this,"MetaModel");
curUIService.MetaModel_export(datas,contextJO, paramJO, $event, xData,this,"MetaModel");
}
/**
......@@ -949,7 +949,7 @@ export default class MetaModelGridViewBase extends Vue {
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem1_export_click(params: any = {}, tag?: any, $event?: any) {
public toolbar_tbitem1_import_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
......@@ -967,7 +967,7 @@ export default class MetaModelGridViewBase extends Vue {
}
// 界面行为
const curUIService:MetaModelUIService = new MetaModelUIService();
curUIService.MetaModel_export(datas,contextJO, paramJO, $event, xData,this,"MetaModel");
curUIService.MetaModel_import(datas,contextJO, paramJO, $event, xData,this,"MetaModel");
}
/**
......
......@@ -12,6 +12,14 @@
<i-input v-show="!isExpandSearchForm" v-model="query" search enter-button @on-search="onSearch($event)" class='quick-search-input' style='max-width: 400px;padding-left: 24px' placeholder="名称" />
<div class='pull-right'>
<div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem1_cleankc.visabled" :disabled="toolBarModels.tbitem1_cleankc.disabled" class='' v-loading:i-button @click="toolbar_click({ tag: 'tbitem1_cleankc' }, $event)">
<i class=''></i>
<span class='caption'>{{$t('entities.ruleengine.gridviewtoolbar_toolbar.tbitem1_cleankc.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ruleengine.gridviewtoolbar_toolbar.tbitem1_cleankc.tip')}}</div>
</tooltip>
<span class='seperator'>|</span>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem3.visabled" :disabled="toolBarModels.tbitem3.disabled" class='' v-loading:i-button @click="toolbar_click({ tag: 'tbitem3' }, $event)">
<i class='fa fa-file-text-o'></i>
......@@ -369,6 +377,9 @@ export default class RuleEngineGridViewBase extends Vue {
* @memberof RuleEngineGridView
*/
public toolBarModels: any = {
tbitem1_cleankc: { name: 'tbitem1_cleankc', actiontarget: 'NONE', caption: '清除规则缓存', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'CleanKC', target: 'NONE' } },
tbitem2: { name: 'tbitem2', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem3: { name: 'tbitem3', actiontarget: 'NONE', caption: '新建', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'New', target: '' } },
tbitem4: { name: 'tbitem4', actiontarget: 'NONE', caption: '编辑', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Edit', target: 'SINGLEKEY' } },
......@@ -840,6 +851,9 @@ export default class RuleEngineGridViewBase extends Vue {
* @memberof RuleEngineGridViewBase
*/
public toolbar_click($event: any, $event2?: any) {
if (Object.is($event.tag, 'tbitem1_cleankc')) {
this.toolbar_tbitem1_cleankc_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem3')) {
this.toolbar_tbitem3_click(null, '', $event2);
}
......@@ -886,6 +900,35 @@ export default class RuleEngineGridViewBase extends Vue {
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem1_cleankc_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
const curUIService:RuleEngineUIService = new RuleEngineUIService();
curUIService.RuleEngine_CleanKC(datas,contextJO, paramJO, $event, xData,this,"RuleEngine");
}
/**
* 逻辑事件
*
......
......@@ -80,6 +80,34 @@ export default class RuleEngineServiceBase extends EntityService {
return res;
}
/**
* CleanKC接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof RuleEngineServiceBase
*/
public async CleanKC(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = Http.getInstance().post(`/ruleengines/${context.ruleengine}/cleankc`,data,isloading);
return res;
}
/**
* CleanKCBatch接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof RuleEngineServiceBase
*/
public async CleanKCBatch(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let tempData:any = JSON.parse(JSON.stringify(data));
return await Http.getInstance().post(`/ruleengines/cleankcbatch`,tempData,isloading);
}
/**
* Create接口方法
*
......
......@@ -197,6 +197,95 @@ export default class RuleEngineUIServiceBase extends UIService {
backend();
}
/**
* 清除规则缓存
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public async RuleEngine_CleanKC(args: any[],context:any = {}, params:any = {}, $event?: any, xData?: any,actionContext?: any,srfParentDeName?:string){
let confirmResult:boolean = await new Promise((resolve: any, reject: any) => {
actionContext.$Modal.confirm({
title: '警告',
content: '确认清除规则缓存?',
onOk: () => {resolve(true);},
onCancel: () => {resolve(false);}
});
});
if(!confirmResult){
return;
}
let data: any = {};
let parentContext:any = {};
let parentViewParam:any = {};
const _this: any = actionContext;
const _args: any[] = Util.deepCopy(args);
const actionTarget: string | null = 'NONE';
if(_this.context){
parentContext = _this.context;
}
if(_this.viewparams){
parentViewParam = _this.viewparams;
}
context = UIActionTool.handleContextParam(actionTarget,_args,parentContext,parentViewParam,context);
data = UIActionTool.handleActionParam(actionTarget,_args,parentContext,parentViewParam,params);
if(Object.is(actionTarget,"MULTIKEY")){
let tempDataArray:Array<any> = [];
if((_args.length >1) && (Object.keys(data).length >0)){
for(let i =0;i<_args.length;i++){
let tempObject:any = {};
Object.keys(data).forEach((key:string) =>{
Object.assign(tempObject,{[key]:data[key].split(',')[i]});
})
tempDataArray.push(tempObject);
}
}else{
tempDataArray.push(data);
}
data = tempDataArray;
}
context = Object.assign({},actionContext.context,context);
let parentObj:any = {srfparentdename:srfParentDeName?srfParentDeName:null,srfparentkey:srfParentDeName?context[srfParentDeName.toLowerCase()]:null};
if(!Object.is(actionTarget,"MULTIKEY")){
Object.assign(data,parentObj);
}
Object.assign(context,parentObj);
// 直接调实体服务需要转换的数据
if(context && context.srfsessionid){
context.srfsessionkey = context.srfsessionid;
delete context.srfsessionid;
}
const backend = () => {
const curService:RuleEngineService = new RuleEngineService();
curService.CleanKC(context,data, true).then((response: any) => {
if (!response || response.status !== 200) {
actionContext.$Notice.error({ title: '错误', desc: response.message });
return;
}
actionContext.$Notice.success({ title: '成功', desc: '清除成功!' });
const _this: any = actionContext;
return response;
}).catch((response: any) => {
if (response && response.status && response.data) {
actionContext.$Notice.error({ title: (actionContext.$t('app.commonWords.wrong') as string), desc: response.data.message });
return;
}
if (!response || !response.status || !response.data) {
actionContext.$Notice.error({ title: (actionContext.$t('app.commonWords.wrong') as string), desc: (actionContext.$t('app.commonWords.sysException') as string) });
return;
}
return response;
});
};
backend();
}
/**
* 运行
*
......
......@@ -393,20 +393,6 @@ export default class MainBase extends Vue implements ControlInterface {
return this.selections[0];
}
/**
* 打开新建数据视图
*
* @type {any}
* @memberof MainBase
*/
@Prop() public newdata: any;
/**
* 打开编辑数据视图
*
* @type {any}
* @memberof MainBase
*/
@Prop() public opendata: any;
/**
* 是否嵌入关系界面
......@@ -974,7 +960,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public load(opt: any = {}, pageReset: boolean = false): void {
if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'RuleItemGridView'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'RuleItemPickupGridView'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
return;
}
if(pageReset){
......@@ -1069,7 +1055,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public async remove(datas: any[]): Promise<any> {
if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'RuleItemGridView'+(this.$t('app.gridpage.notConfig.removeAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'RuleItemPickupGridView'+(this.$t('app.gridpage.notConfig.removeAction') as string) });
return;
}
let _datas:any[] = [];
......@@ -1175,7 +1161,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public addBatch(arg: any = {}): void {
if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'RuleItemGridView'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'RuleItemPickupGridView'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
return;
}
if(!arg){
......@@ -1991,7 +1977,7 @@ export default class MainBase extends Vue implements ControlInterface {
public setColState() {
this.resetColModel = Util.deepCopy(this.allColumns);
const viewParams: any = Util.deepCopy(this.viewparams);
Object.assign(viewParams,{utilServiceName: 'grid_dynaconfig', modelid: 'ibzdst_web_ruleitemgridview_grid_main'});
Object.assign(viewParams,{utilServiceName: 'grid_dynaconfig', modelid: 'ibzdst_web_ruleitempickupgridview_grid_main'});
const post = this.service.loadModel('grid_dynaconfig', this.context, viewParams);
post.then((response: any) => {
if(response.status == 200 && response.data) {
......@@ -2058,7 +2044,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public saveDynaConfig() {
const viewParams: any = Util.deepCopy(this.viewparams);
Object.assign(viewParams,{utilServiceName: 'grid_dynaconfig', modelid: 'ibzdst_web_ruleitemgridview_grid_main', model: this.allColumns});
Object.assign(viewParams,{utilServiceName: 'grid_dynaconfig', modelid: 'ibzdst_web_ruleitempickupgridview_grid_main', model: this.allColumns});
const post = this.service.saveModel('grid_dynaconfig', this.context, viewParams);
post.then((response: any) => {
if (response.status == 200) {
......@@ -2129,7 +2115,7 @@ export default class MainBase extends Vue implements ControlInterface {
try {
if(Object.is(item.rowDataState, 'create')){
if(!this.createAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'RuleItemGridView'+(this.$t('app.gridpage.notConfig.createAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'RuleItemPickupGridView'+(this.$t('app.gridpage.notConfig.createAction') as string) });
}else{
Object.assign(item,{viewparams:this.viewparams});
let response = await this.service.add(this.createAction, JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator);
......@@ -2137,7 +2123,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
}else if(Object.is(item.rowDataState, 'update')){
if(!this.updateAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'RuleItemGridView'+(this.$t('app.gridpage.notConfig.updateAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'RuleItemPickupGridView'+(this.$t('app.gridpage.notConfig.updateAction') as string) });
}else{
Object.assign(item,{viewparams:this.viewparams});
if(item.ruleitem){
......@@ -2210,7 +2196,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public newRow(args: any[], params?: any, $event?: any, xData?: any): void {
if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'RuleItemGridView'+(this.$t('app.gridpage.notConfig.loaddraftAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'RuleItemPickupGridView'+(this.$t('app.gridpage.notConfig.loaddraftAction') as string) });
return;
}
let _this = this;
......
......@@ -36,6 +36,8 @@ public interface IRuleEngineService extends IService<RuleEngine> {
RuleEngine check(RuleEngine et);
boolean checkBatch(List<RuleEngine> etList);
boolean checkKey(RuleEngine et);
RuleEngine cleanKC(RuleEngine et);
boolean cleanKCBatch(List<RuleEngine> etList);
RuleEngine run(RuleEngine et);
boolean runBatch(List<RuleEngine> etList);
boolean save(RuleEngine et);
......
......@@ -141,6 +141,22 @@ public class RuleEngineServiceImpl extends ServiceImpl<RuleEngineMapper, RuleEng
public boolean checkKey(RuleEngine et) {
return (!ObjectUtils.isEmpty(et.getEngineId())) && (!Objects.isNull(this.getById(et.getEngineId())));
}
@Override
@Transactional
public RuleEngine cleanKC(RuleEngine et) {
//自定义代码
return et;
}
@Override
@Transactional
public boolean cleanKCBatch(List<RuleEngine> etList) {
for(RuleEngine et : etList) {
cleanKC(et);
}
return true;
}
@Override
public RuleEngine run(RuleEngine et) {
//自定义代码
......
......@@ -468,7 +468,7 @@
<!--输出实体[RU_ENGINE]数据结构 -->
<changeSet author="root" id="tab-ru_engine-24-17">
<changeSet author="root" id="tab-ru_engine-30-17">
<createTable tableName="IBZRULEENGINE">
<column name="ENGINEID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_RU_ENGINE_ENGINEID"/>
......
......@@ -161,7 +161,7 @@
"delogicname":"规则引擎",
"sysmoudle":{"id":"RULE","name":"rule"},
"dedataset":[{"id":"Default" , "name":"数据集"}],
"deaction":[{"id":"Create" , "name":"Create" , "type":"BUILTIN" },{"id":"Update" , "name":"Update" , "type":"BUILTIN" },{"id":"Remove" , "name":"Remove" , "type":"BUILTIN" },{"id":"Get" , "name":"Get" , "type":"BUILTIN" },{"id":"GetDraft" , "name":"GetDraft" , "type":"BUILTIN" },{"id":"Check" , "name":"校验" , "type":"USERCUSTOM" },{"id":"CheckKey" , "name":"CheckKey" , "type":"BUILTIN" },{"id":"Run" , "name":"运行" , "type":"USERCUSTOM" },{"id":"Save" , "name":"Save" , "type":"BUILTIN" },{"id":"SyncRun" , "name":"同步运行" , "type":"USERCUSTOM" }],
"deaction":[{"id":"Create" , "name":"Create" , "type":"BUILTIN" },{"id":"Update" , "name":"Update" , "type":"BUILTIN" },{"id":"Remove" , "name":"Remove" , "type":"BUILTIN" },{"id":"Get" , "name":"Get" , "type":"BUILTIN" },{"id":"GetDraft" , "name":"GetDraft" , "type":"BUILTIN" },{"id":"Check" , "name":"校验" , "type":"USERCUSTOM" },{"id":"CheckKey" , "name":"CheckKey" , "type":"BUILTIN" },{"id":"CleanKC" , "name":"清除构建KC缓存" , "type":"USERCUSTOM" },{"id":"Run" , "name":"运行" , "type":"USERCUSTOM" },{"id":"Save" , "name":"Save" , "type":"BUILTIN" },{"id":"SyncRun" , "name":"同步运行" , "type":"USERCUSTOM" }],
"datascope":[{"id":"all","name":"全部数据"}]
}
, {
......
......@@ -133,6 +133,23 @@ public class RuleEngineResource {
return ResponseEntity.status(HttpStatus.OK).body(ruleengineService.checkKey(ruleengineMapping.toDomain(ruleenginedto)));
}
@ApiOperation(value = "清除构建KC缓存", tags = {"规则引擎" }, notes = "清除构建KC缓存")
@RequestMapping(method = RequestMethod.POST, value = "/ruleengines/{ruleengine_id}/cleankc")
public ResponseEntity<RuleEngineDTO> cleanKC(@PathVariable("ruleengine_id") String ruleengine_id, @RequestBody RuleEngineDTO ruleenginedto) {
RuleEngine domain = ruleengineMapping.toDomain(ruleenginedto);
domain.setEngineId(ruleengine_id);
domain = ruleengineService.cleanKC(domain);
ruleenginedto = ruleengineMapping.toDto(domain);
return ResponseEntity.status(HttpStatus.OK).body(ruleenginedto);
}
@ApiOperation(value = "批量处理[清除构建KC缓存]", tags = {"规则引擎" }, notes = "批量处理[清除构建KC缓存]")
@RequestMapping(method = RequestMethod.POST, value = "/ruleengines/cleankcbatch")
public ResponseEntity<Boolean> cleanKCBatch(@RequestBody List<RuleEngineDTO> ruleenginedtos) {
List<RuleEngine> domains = ruleengineMapping.toDomain(ruleenginedtos);
boolean result = ruleengineService.cleanKCBatch(domains);
return ResponseEntity.status(HttpStatus.OK).body(result);
}
@ApiOperation(value = "获取规则引擎草稿", tags = {"规则引擎" }, notes = "获取规则引擎草稿")
@RequestMapping(method = RequestMethod.GET, value = "/ruleengines/getdraft")
public ResponseEntity<RuleEngineDTO> getDraft(RuleEngineDTO dto) {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册