提交 29ec0dc0 编写于 作者: ibizdev's avatar ibizdev

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

上级 eaed26fd
......@@ -158,6 +158,10 @@ function getLocaleResourceBase(){
caption: commonLogic.appcommonhandle("校验",null),
tip: commonLogic.appcommonhandle("校验",null),
},
tbitem1_filterdata: {
caption: commonLogic.appcommonhandle("过滤运行",null),
tip: commonLogic.appcommonhandle("过滤运行",null),
},
tbitem2: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
......
......@@ -158,6 +158,10 @@ function getLocaleResourceBase(){
caption: commonLogic.appcommonhandle("校验",null),
tip: commonLogic.appcommonhandle("校验",null),
},
tbitem1_filterdata: {
caption: commonLogic.appcommonhandle("过滤运行",null),
tip: commonLogic.appcommonhandle("过滤运行",null),
},
tbitem2: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
......
......@@ -158,6 +158,10 @@ function getLocaleResourceBase(){
caption: commonLogic.appcommonhandle("校验",null),
tip: commonLogic.appcommonhandle("校验",null),
},
tbitem1_filterdata: {
caption: commonLogic.appcommonhandle("过滤运行",null),
tip: commonLogic.appcommonhandle("过滤运行",null),
},
tbitem2: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
......
......@@ -226,6 +226,44 @@ mock.onPost(new RegExp(/^\/dabuilds\/?([a-zA-Z0-9\-\;]{0,35})\/exportfile$/)).re
console.groupEnd();
return [status, data];
});
// FilterData
mock.onPost(new RegExp(/^\/dabuilds\/?([a-zA-Z0-9\-\;]{0,35})\/filterdata$/)).reply((config: any) => {
console.groupCollapsed("实体:dabuild 方法: FilterData");
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> = ['build_id'];
const matchArray:any = new RegExp(/^\/dabuilds\/([a-zA-Z0-9\-\;]{1,35})\/filterdata$/).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.build_id, tempValue.build_id));
let data = JSON.parse(config.data);
mockDatas.forEach((item)=>{
if(item['build_id'] == tempValue['build_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];
});
// GetDraft
mock.onGet(new RegExp(/^\/dabuilds\/getdraft$/)).reply((config: any) => {
......
......@@ -20,6 +20,13 @@
</i-button>
<div slot='content'>{{$t('entities.dabuild.editviewtoolbar_toolbar.tbitem1_check.tip')}}</div>
</tooltip>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem1_filterdata.visabled" :disabled="toolBarModels.tbitem1_filterdata.disabled" class='' v-loading:i-button @click="toolbar_click({ tag: 'tbitem1_filterdata' }, $event)">
<i class=''></i>
<span class='caption'>{{$t('entities.dabuild.editviewtoolbar_toolbar.tbitem1_filterdata.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.dabuild.editviewtoolbar_toolbar.tbitem1_filterdata.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)">
......@@ -403,6 +410,8 @@ export default class DABuildEditViewBase extends Vue {
tbitem1_check: { name: 'tbitem1_check', actiontarget: 'NONE', caption: '校验', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Check', target: 'SINGLEKEY' } },
tbitem1_filterdata: { name: 'tbitem1_filterdata', actiontarget: 'NONE', caption: '过滤运行', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'FilterData', target: 'SINGLEKEY' } },
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: 'Save', target: '' } },
......@@ -771,6 +780,9 @@ export default class DABuildEditViewBase extends Vue {
if (Object.is($event.tag, 'tbitem1_check')) {
this.toolbar_tbitem1_check_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem1_filterdata')) {
this.toolbar_tbitem1_filterdata_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem3')) {
this.toolbar_tbitem3_click(null, '', $event2);
}
......@@ -914,6 +926,35 @@ export default class DABuildEditViewBase extends Vue {
curUIService.DABuild_Check(datas,contextJO, paramJO, $event, xData,this,"DABuild");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem1_filterdata_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.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
const curUIService:DABuildUIService = new DABuildUIService();
curUIService.DABuild_FilterData(datas,contextJO, paramJO, $event, xData,this,"DABuild");
}
/**
* 逻辑事件
*
......
......@@ -134,6 +134,34 @@ export default class DABuildServiceBase extends EntityService {
return await Http.getInstance().post(`/dabuilds/exportfilebatch`,tempData,isloading);
}
/**
* FilterData接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof DABuildServiceBase
*/
public async FilterData(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = Http.getInstance().post(`/dabuilds/${context.dabuild}/filterdata`,data,isloading);
return res;
}
/**
* FilterDataBatch接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof DABuildServiceBase
*/
public async FilterDataBatch(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let tempData:any = JSON.parse(JSON.stringify(data));
return await Http.getInstance().post(`/dabuilds/filterdatabatch`,tempData,isloading);
}
/**
* Get接口方法
*
......
......@@ -200,6 +200,87 @@ export default class DABuildUIServiceBase extends UIService {
backend();
}
/**
* 过滤运行
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public async DABuild_FilterData(args: any[],context:any = {}, params:any = {}, $event?: any, xData?: any,actionContext?: any,srfParentDeName?:string){
let data: any = {};
let parentContext:any = {};
let parentViewParam:any = {};
const _this: any = actionContext;
const _args: any[] = Util.deepCopy(args);
const actionTarget: string | null = 'SINGLEKEY';
Object.assign(context, { dabuild: '%dabuild%' });
Object.assign(params, { build_id: '%dabuild%' });
Object.assign(params, { build_name: '%build_name%' });
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:DABuildService = new DABuildService();
curService.FilterData(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();
}
/**
* 运行
*
......
......@@ -795,7 +795,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public load(opt: any = {}): void {
if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'MetaEntityPickupGridView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'MetaEntityGridView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return;
}
const arg: any = { ...opt };
......@@ -831,7 +831,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public loadDraft(opt: any = {},mode?:string): void {
if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'MetaEntityPickupGridView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'MetaEntityGridView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return;
}
const arg: any = { ...opt } ;
......
......@@ -838,7 +838,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public load(opt: any = {}): void {
if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'RuleItemGridView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'RuleItemPickupGridView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return;
}
const arg: any = { ...opt };
......@@ -874,7 +874,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public loadDraft(opt: any = {},mode?:string): void {
if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'RuleItemGridView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'RuleItemPickupGridView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return;
}
const arg: any = { ...opt } ;
......
......@@ -38,6 +38,8 @@ public interface IDABuildService extends IService<DABuild> {
boolean checkKey(DABuild et);
DABuild exportFile(DABuild et);
boolean exportFileBatch(List<DABuild> etList);
DABuild filterData(DABuild et);
boolean filterDataBatch(List<DABuild> etList);
DABuild run(DABuild et);
boolean runBatch(List<DABuild> etList);
boolean save(DABuild et);
......
......@@ -160,6 +160,22 @@ public class DABuildServiceImpl extends ServiceImpl<DABuildMapper, DABuild> impl
return true;
}
@Override
@Transactional
public DABuild filterData(DABuild et) {
//自定义代码
return et;
}
@Override
@Transactional
public boolean filterDataBatch(List<DABuild> etList) {
for(DABuild et : etList) {
filterData(et);
}
return true;
}
@Override
public DABuild run(DABuild et) {
//自定义代码
......
......@@ -4,7 +4,7 @@
<!--输出实体[DA_BUILD]数据结构 -->
<changeSet author="root" id="tab-da_build-2-1">
<changeSet author="root" id="tab-da_build-4-1">
<createTable tableName="IBZDABUILD">
<column name="BUILDID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_DA_BUILD_BUILDID"/>
......
......@@ -9,7 +9,7 @@
"delogicname":"分析",
"sysmoudle":{"id":"ANALYSIS","name":"analysis"},
"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":"ExportFile" , "name":"导出文件" , "type":"USERCUSTOM" },{"id":"Run" , "name":"运行" , "type":"USERCUSTOM" },{"id":"Save" , "name":"Save" , "type":"BUILTIN" }],
"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":"ExportFile" , "name":"导出文件" , "type":"USERCUSTOM" },{"id":"FilterData" , "name":"过滤运行" , "type":"USERCUSTOM" },{"id":"Run" , "name":"运行" , "type":"USERCUSTOM" },{"id":"Save" , "name":"Save" , "type":"BUILTIN" }],
"datascope":[{"id":"all","name":"全部数据"}]
}
, {
......
......@@ -152,6 +152,25 @@ public class DABuildResource {
return ResponseEntity.status(HttpStatus.OK).body(result);
}
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','ibzdst-DABuild-FilterData-all')")
@ApiOperation(value = "过滤运行", tags = {"分析" }, notes = "过滤运行")
@RequestMapping(method = RequestMethod.POST, value = "/dabuilds/{dabuild_id}/filterdata")
public ResponseEntity<DABuildDTO> filterData(@PathVariable("dabuild_id") String dabuild_id, @RequestBody DABuildDTO dabuilddto) {
DABuild domain = dabuildMapping.toDomain(dabuilddto);
domain.setBuildId(dabuild_id);
domain = dabuildService.filterData(domain);
dabuilddto = dabuildMapping.toDto(domain);
return ResponseEntity.status(HttpStatus.OK).body(dabuilddto);
}
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','ibzdst-DABuild-FilterData-all')")
@ApiOperation(value = "批量处理[过滤运行]", tags = {"分析" }, notes = "批量处理[过滤运行]")
@RequestMapping(method = RequestMethod.POST, value = "/dabuilds/filterdatabatch")
public ResponseEntity<Boolean> filterDataBatch(@RequestBody List<DABuildDTO> dabuilddtos) {
List<DABuild> domains = dabuildMapping.toDomain(dabuilddtos);
boolean result = dabuildService.filterDataBatch(domains);
return ResponseEntity.status(HttpStatus.OK).body(result);
}
@ApiOperation(value = "获取分析草稿", tags = {"分析" }, notes = "获取分析草稿")
@RequestMapping(method = RequestMethod.GET, value = "/dabuilds/getdraft")
public ResponseEntity<DABuildDTO> getDraft(DABuildDTO dto) {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册