提交 564c8a5b 编写于 作者: ibizdev's avatar ibizdev

ibiz4j 发布系统代码 [ibz-ou,统一组织单位]

上级 c65dc4f3
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
"vue-amap": "^0.5.10", "vue-amap": "^0.5.10",
"vue-class-component": "^7.0.2", "vue-class-component": "^7.0.2",
"vue-grid-layout": "^2.3.7", "vue-grid-layout": "^2.3.7",
"vue-i18n": "^8.15.3", "vue-i18n": "^8.23.0",
"vue-property-decorator": "^9.1.2", "vue-property-decorator": "^9.1.2",
"vue-router": "^3.1.3", "vue-router": "^3.1.3",
"vuex": "^3.1.2", "vuex": "^3.1.2",
......
...@@ -159,7 +159,7 @@ export default class AppMpicker extends Vue { ...@@ -159,7 +159,7 @@ export default class AppMpicker extends Vue {
} }
}); });
} catch (error) { } catch (error) {
if(error.name === 'SyntaxError'){ if((error as any).name === 'SyntaxError'){
let srfkeys:any = newVal.split(','); let srfkeys:any = newVal.split(',');
let srfmajortexts:any = null; let srfmajortexts:any = null;
if(this.valueitem && this.activeData[this.valueitem]){ if(this.valueitem && this.activeData[this.valueitem]){
......
...@@ -229,9 +229,9 @@ export default class AppSpan extends Vue { ...@@ -229,9 +229,9 @@ export default class AppSpan extends Vue {
public dateFormat(){ public dateFormat(){
if(this.valueFormat){ if(this.valueFormat){
if(this.valueFormat.indexOf('%1$t') !== -1){ if(this.valueFormat.indexOf('%1$t') !== -1){
this.text= moment(this.data).format("YYYY-MM-DD HH:mm:ss"); this.text= moment(this.value).format("YYYY-MM-DD HH:mm:ss");
}else if(this.valueFormat.indexOf('%1$s') == -1){ }else if(this.valueFormat.indexOf('%1$s') == -1){
this.text= moment(this.data).format(this.valueFormat); this.text= moment(this.value).format(this.valueFormat);
}else{ }else{
this.text= this.value; this.text= this.value;
} }
......
...@@ -41,7 +41,7 @@ export default class TabExpViewEngine extends ViewEngine { ...@@ -41,7 +41,7 @@ export default class TabExpViewEngine extends ViewEngine {
if (!Object.is(_item.type, 'TABEXPPANEL')) { if (!Object.is(_item.type, 'TABEXPPANEL')) {
return; return;
} }
if(this.view.context && this.view.context[(this.keyPSDEField as string)]){ if(this.view.context && !this.view.context[(this.keyPSDEField as string)]){
return; return;
} }
this.setViewState2({ tag: _item.name, action: 'load', viewdata: this.view.context }); this.setViewState2({ tag: _item.name, action: 'load', viewdata: this.view.context });
......
...@@ -886,25 +886,122 @@ export default class SysDepartmentEditViewBase extends Vue { ...@@ -886,25 +886,122 @@ export default class SysDepartmentEditViewBase extends Vue {
* @memberof SysDepartmentEditViewBase * @memberof SysDepartmentEditViewBase
*/ */
public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const that: any = this;
if (!xData || !(xData.wfstart instanceof Function)) { if (!xData || !(xData.wfstart instanceof Function)) {
return; return;
} }
xData.wfstart(args).then((response: any) => { let validateStatus: boolean = true;
if (!response || response.status !== 200) { if (xData.formValidateStatus && xData.formValidateStatus instanceof Function) {
return; validateStatus = xData.formValidateStatus();
}
if (!validateStatus) {
if(xData.errorMessages && xData.errorMessages.length > 0) {
let descMessage: string = '';
xData.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message.error + '<p>';
})
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: (xData.$t('app.formpage.valuecheckex') as string) });
} }
const { data: _data } = response; return;
if(window.parent){ }
window.parent.postMessage({ ..._data },'*'); const startWorkFlow: Function = (param: any, localdata: any) => {
xData.wfstart(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
that.closeView(_data);
});
}
const openStartView: Function = async (item: any, localdata: any) => {
if (item['wfversion']) {
const targetView: any = that.viewRefData ? that.viewRefData[`WFSTART@${item['wfversion']}`] : null;
if (targetView) {
const tempContext = Util.deepCopy(that.context);
const tempViewParams = { actionView: `WFSTART@${item['wfversion']}`, actionForm: item['process-form'] };
const container: Subject<any> = that.$appmodal.openModal(targetView, tempContext, tempViewParams);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const tempSubmitData: any = Util.deepCopy(args[0]);
if (result.datas && result.datas[0]) {
const resultData: any = result.datas[0];
if (Object.keys(resultData).length > 0) {
let tempData: any = {};
Object.keys(resultData).forEach((key: any) => {
if (resultData[key] || (resultData[key] === 0) || (resultData[key] === false)) {
tempData[key] = resultData[key];
}
})
Object.assign(tempSubmitData, tempData);
}
}
startWorkFlow([tempSubmitData], localdata);
})
} else {
startWorkFlow(args, localdata);
}
} else {
startWorkFlow(args, localdata);
} }
if (_this.viewdata) { }
_this.$emit('viewdataschange', [{ ..._data }]); let localData: any;
_this.$emit('close'); const localContext = Util.deepCopy(that.context);
}else if (this.$tabPageExp) { const requestResult: Promise<any> = that.appEntityService.getStandWorkflow(localContext);
this.$tabPageExp.onClose(this.$route.fullPath); requestResult.then((response: any) => {
const { data: targetData, status } = response;
if (status !== 200 || targetData.length === 0) {
return;
} }
}); if (targetData && targetData.length > 1) {
const h = that.$createElement;
targetData.forEach((element: any) => {
Object.assign(element, { value: element.definitionkey, label: element.definitionname });
})
that.$msgbox({
title: '请选择流程版本',
message: h('i-select', {
key: Util.createUUID(),
props: {
value: localData,
placeholder: "请选择流程版本...",
transfer: true,
transferClassName: "start-workflow-select-wraper"
},
on: {
'on-change': ($event: any) => {
localData = { processDefinitionKey: $event };
}
}
}, targetData.map((item: any) => {
return h('i-option', {
key: item.value,
props: {
value: item.value,
label: item.label
}
})
})),
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then((action: string) => {
if (Object.is(action, 'confirm') && localData && Object.keys(localData).length > 0) {
let targetItem: any = targetData.find((item: any) => {
return item.definitionkey === localData.processDefinitionKey;
})
openStartView(targetItem, localData);
}
})
} else {
localData = { processDefinitionKey: targetData[0]['definitionkey'] }
targetData[0]['process-view'] = "WFSTART@1";
openStartView(targetData[0], localData);
}
})
} }
/** /**
* 当前流程步骤 * 当前流程步骤
......
...@@ -886,25 +886,122 @@ export default class SysDeptMemberEditViewBase extends Vue { ...@@ -886,25 +886,122 @@ export default class SysDeptMemberEditViewBase extends Vue {
* @memberof SysDeptMemberEditViewBase * @memberof SysDeptMemberEditViewBase
*/ */
public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const that: any = this;
if (!xData || !(xData.wfstart instanceof Function)) { if (!xData || !(xData.wfstart instanceof Function)) {
return; return;
} }
xData.wfstart(args).then((response: any) => { let validateStatus: boolean = true;
if (!response || response.status !== 200) { if (xData.formValidateStatus && xData.formValidateStatus instanceof Function) {
return; validateStatus = xData.formValidateStatus();
}
if (!validateStatus) {
if(xData.errorMessages && xData.errorMessages.length > 0) {
let descMessage: string = '';
xData.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message.error + '<p>';
})
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: (xData.$t('app.formpage.valuecheckex') as string) });
} }
const { data: _data } = response; return;
if(window.parent){ }
window.parent.postMessage({ ..._data },'*'); const startWorkFlow: Function = (param: any, localdata: any) => {
xData.wfstart(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
that.closeView(_data);
});
}
const openStartView: Function = async (item: any, localdata: any) => {
if (item['wfversion']) {
const targetView: any = that.viewRefData ? that.viewRefData[`WFSTART@${item['wfversion']}`] : null;
if (targetView) {
const tempContext = Util.deepCopy(that.context);
const tempViewParams = { actionView: `WFSTART@${item['wfversion']}`, actionForm: item['process-form'] };
const container: Subject<any> = that.$appmodal.openModal(targetView, tempContext, tempViewParams);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const tempSubmitData: any = Util.deepCopy(args[0]);
if (result.datas && result.datas[0]) {
const resultData: any = result.datas[0];
if (Object.keys(resultData).length > 0) {
let tempData: any = {};
Object.keys(resultData).forEach((key: any) => {
if (resultData[key] || (resultData[key] === 0) || (resultData[key] === false)) {
tempData[key] = resultData[key];
}
})
Object.assign(tempSubmitData, tempData);
}
}
startWorkFlow([tempSubmitData], localdata);
})
} else {
startWorkFlow(args, localdata);
}
} else {
startWorkFlow(args, localdata);
} }
if (_this.viewdata) { }
_this.$emit('viewdataschange', [{ ..._data }]); let localData: any;
_this.$emit('close'); const localContext = Util.deepCopy(that.context);
}else if (this.$tabPageExp) { const requestResult: Promise<any> = that.appEntityService.getStandWorkflow(localContext);
this.$tabPageExp.onClose(this.$route.fullPath); requestResult.then((response: any) => {
const { data: targetData, status } = response;
if (status !== 200 || targetData.length === 0) {
return;
} }
}); if (targetData && targetData.length > 1) {
const h = that.$createElement;
targetData.forEach((element: any) => {
Object.assign(element, { value: element.definitionkey, label: element.definitionname });
})
that.$msgbox({
title: '请选择流程版本',
message: h('i-select', {
key: Util.createUUID(),
props: {
value: localData,
placeholder: "请选择流程版本...",
transfer: true,
transferClassName: "start-workflow-select-wraper"
},
on: {
'on-change': ($event: any) => {
localData = { processDefinitionKey: $event };
}
}
}, targetData.map((item: any) => {
return h('i-option', {
key: item.value,
props: {
value: item.value,
label: item.label
}
})
})),
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then((action: string) => {
if (Object.is(action, 'confirm') && localData && Object.keys(localData).length > 0) {
let targetItem: any = targetData.find((item: any) => {
return item.definitionkey === localData.processDefinitionKey;
})
openStartView(targetItem, localData);
}
})
} else {
localData = { processDefinitionKey: targetData[0]['definitionkey'] }
targetData[0]['process-view'] = "WFSTART@1";
openStartView(targetData[0], localData);
}
})
} }
/** /**
* 当前流程步骤 * 当前流程步骤
......
...@@ -886,25 +886,122 @@ export default class SysEmployeeEditViewBase extends Vue { ...@@ -886,25 +886,122 @@ export default class SysEmployeeEditViewBase extends Vue {
* @memberof SysEmployeeEditViewBase * @memberof SysEmployeeEditViewBase
*/ */
public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const that: any = this;
if (!xData || !(xData.wfstart instanceof Function)) { if (!xData || !(xData.wfstart instanceof Function)) {
return; return;
} }
xData.wfstart(args).then((response: any) => { let validateStatus: boolean = true;
if (!response || response.status !== 200) { if (xData.formValidateStatus && xData.formValidateStatus instanceof Function) {
return; validateStatus = xData.formValidateStatus();
}
if (!validateStatus) {
if(xData.errorMessages && xData.errorMessages.length > 0) {
let descMessage: string = '';
xData.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message.error + '<p>';
})
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: (xData.$t('app.formpage.valuecheckex') as string) });
} }
const { data: _data } = response; return;
if(window.parent){ }
window.parent.postMessage({ ..._data },'*'); const startWorkFlow: Function = (param: any, localdata: any) => {
xData.wfstart(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
that.closeView(_data);
});
}
const openStartView: Function = async (item: any, localdata: any) => {
if (item['wfversion']) {
const targetView: any = that.viewRefData ? that.viewRefData[`WFSTART@${item['wfversion']}`] : null;
if (targetView) {
const tempContext = Util.deepCopy(that.context);
const tempViewParams = { actionView: `WFSTART@${item['wfversion']}`, actionForm: item['process-form'] };
const container: Subject<any> = that.$appmodal.openModal(targetView, tempContext, tempViewParams);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const tempSubmitData: any = Util.deepCopy(args[0]);
if (result.datas && result.datas[0]) {
const resultData: any = result.datas[0];
if (Object.keys(resultData).length > 0) {
let tempData: any = {};
Object.keys(resultData).forEach((key: any) => {
if (resultData[key] || (resultData[key] === 0) || (resultData[key] === false)) {
tempData[key] = resultData[key];
}
})
Object.assign(tempSubmitData, tempData);
}
}
startWorkFlow([tempSubmitData], localdata);
})
} else {
startWorkFlow(args, localdata);
}
} else {
startWorkFlow(args, localdata);
} }
if (_this.viewdata) { }
_this.$emit('viewdataschange', [{ ..._data }]); let localData: any;
_this.$emit('close'); const localContext = Util.deepCopy(that.context);
}else if (this.$tabPageExp) { const requestResult: Promise<any> = that.appEntityService.getStandWorkflow(localContext);
this.$tabPageExp.onClose(this.$route.fullPath); requestResult.then((response: any) => {
const { data: targetData, status } = response;
if (status !== 200 || targetData.length === 0) {
return;
} }
}); if (targetData && targetData.length > 1) {
const h = that.$createElement;
targetData.forEach((element: any) => {
Object.assign(element, { value: element.definitionkey, label: element.definitionname });
})
that.$msgbox({
title: '请选择流程版本',
message: h('i-select', {
key: Util.createUUID(),
props: {
value: localData,
placeholder: "请选择流程版本...",
transfer: true,
transferClassName: "start-workflow-select-wraper"
},
on: {
'on-change': ($event: any) => {
localData = { processDefinitionKey: $event };
}
}
}, targetData.map((item: any) => {
return h('i-option', {
key: item.value,
props: {
value: item.value,
label: item.label
}
})
})),
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then((action: string) => {
if (Object.is(action, 'confirm') && localData && Object.keys(localData).length > 0) {
let targetItem: any = targetData.find((item: any) => {
return item.definitionkey === localData.processDefinitionKey;
})
openStartView(targetItem, localData);
}
})
} else {
localData = { processDefinitionKey: targetData[0]['definitionkey'] }
targetData[0]['process-view'] = "WFSTART@1";
openStartView(targetData[0], localData);
}
})
} }
/** /**
* 当前流程步骤 * 当前流程步骤
......
...@@ -886,25 +886,122 @@ export default class SysOrganizationEditViewBase extends Vue { ...@@ -886,25 +886,122 @@ export default class SysOrganizationEditViewBase extends Vue {
* @memberof SysOrganizationEditViewBase * @memberof SysOrganizationEditViewBase
*/ */
public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const that: any = this;
if (!xData || !(xData.wfstart instanceof Function)) { if (!xData || !(xData.wfstart instanceof Function)) {
return; return;
} }
xData.wfstart(args).then((response: any) => { let validateStatus: boolean = true;
if (!response || response.status !== 200) { if (xData.formValidateStatus && xData.formValidateStatus instanceof Function) {
return; validateStatus = xData.formValidateStatus();
}
if (!validateStatus) {
if(xData.errorMessages && xData.errorMessages.length > 0) {
let descMessage: string = '';
xData.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message.error + '<p>';
})
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: (xData.$t('app.formpage.valuecheckex') as string) });
} }
const { data: _data } = response; return;
if(window.parent){ }
window.parent.postMessage({ ..._data },'*'); const startWorkFlow: Function = (param: any, localdata: any) => {
xData.wfstart(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
that.closeView(_data);
});
}
const openStartView: Function = async (item: any, localdata: any) => {
if (item['wfversion']) {
const targetView: any = that.viewRefData ? that.viewRefData[`WFSTART@${item['wfversion']}`] : null;
if (targetView) {
const tempContext = Util.deepCopy(that.context);
const tempViewParams = { actionView: `WFSTART@${item['wfversion']}`, actionForm: item['process-form'] };
const container: Subject<any> = that.$appmodal.openModal(targetView, tempContext, tempViewParams);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const tempSubmitData: any = Util.deepCopy(args[0]);
if (result.datas && result.datas[0]) {
const resultData: any = result.datas[0];
if (Object.keys(resultData).length > 0) {
let tempData: any = {};
Object.keys(resultData).forEach((key: any) => {
if (resultData[key] || (resultData[key] === 0) || (resultData[key] === false)) {
tempData[key] = resultData[key];
}
})
Object.assign(tempSubmitData, tempData);
}
}
startWorkFlow([tempSubmitData], localdata);
})
} else {
startWorkFlow(args, localdata);
}
} else {
startWorkFlow(args, localdata);
} }
if (_this.viewdata) { }
_this.$emit('viewdataschange', [{ ..._data }]); let localData: any;
_this.$emit('close'); const localContext = Util.deepCopy(that.context);
}else if (this.$tabPageExp) { const requestResult: Promise<any> = that.appEntityService.getStandWorkflow(localContext);
this.$tabPageExp.onClose(this.$route.fullPath); requestResult.then((response: any) => {
const { data: targetData, status } = response;
if (status !== 200 || targetData.length === 0) {
return;
} }
}); if (targetData && targetData.length > 1) {
const h = that.$createElement;
targetData.forEach((element: any) => {
Object.assign(element, { value: element.definitionkey, label: element.definitionname });
})
that.$msgbox({
title: '请选择流程版本',
message: h('i-select', {
key: Util.createUUID(),
props: {
value: localData,
placeholder: "请选择流程版本...",
transfer: true,
transferClassName: "start-workflow-select-wraper"
},
on: {
'on-change': ($event: any) => {
localData = { processDefinitionKey: $event };
}
}
}, targetData.map((item: any) => {
return h('i-option', {
key: item.value,
props: {
value: item.value,
label: item.label
}
})
})),
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then((action: string) => {
if (Object.is(action, 'confirm') && localData && Object.keys(localData).length > 0) {
let targetItem: any = targetData.find((item: any) => {
return item.definitionkey === localData.processDefinitionKey;
})
openStartView(targetItem, localData);
}
})
} else {
localData = { processDefinitionKey: targetData[0]['definitionkey'] }
targetData[0]['process-view'] = "WFSTART@1";
openStartView(targetData[0], localData);
}
})
} }
/** /**
* 当前流程步骤 * 当前流程步骤
......
...@@ -886,25 +886,122 @@ export default class SysPostEditViewBase extends Vue { ...@@ -886,25 +886,122 @@ export default class SysPostEditViewBase extends Vue {
* @memberof SysPostEditViewBase * @memberof SysPostEditViewBase
*/ */
public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const that: any = this;
if (!xData || !(xData.wfstart instanceof Function)) { if (!xData || !(xData.wfstart instanceof Function)) {
return; return;
} }
xData.wfstart(args).then((response: any) => { let validateStatus: boolean = true;
if (!response || response.status !== 200) { if (xData.formValidateStatus && xData.formValidateStatus instanceof Function) {
return; validateStatus = xData.formValidateStatus();
}
if (!validateStatus) {
if(xData.errorMessages && xData.errorMessages.length > 0) {
let descMessage: string = '';
xData.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message.error + '<p>';
})
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: (xData.$t('app.formpage.valuecheckex') as string) });
} }
const { data: _data } = response; return;
if(window.parent){ }
window.parent.postMessage({ ..._data },'*'); const startWorkFlow: Function = (param: any, localdata: any) => {
xData.wfstart(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
that.closeView(_data);
});
}
const openStartView: Function = async (item: any, localdata: any) => {
if (item['wfversion']) {
const targetView: any = that.viewRefData ? that.viewRefData[`WFSTART@${item['wfversion']}`] : null;
if (targetView) {
const tempContext = Util.deepCopy(that.context);
const tempViewParams = { actionView: `WFSTART@${item['wfversion']}`, actionForm: item['process-form'] };
const container: Subject<any> = that.$appmodal.openModal(targetView, tempContext, tempViewParams);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const tempSubmitData: any = Util.deepCopy(args[0]);
if (result.datas && result.datas[0]) {
const resultData: any = result.datas[0];
if (Object.keys(resultData).length > 0) {
let tempData: any = {};
Object.keys(resultData).forEach((key: any) => {
if (resultData[key] || (resultData[key] === 0) || (resultData[key] === false)) {
tempData[key] = resultData[key];
}
})
Object.assign(tempSubmitData, tempData);
}
}
startWorkFlow([tempSubmitData], localdata);
})
} else {
startWorkFlow(args, localdata);
}
} else {
startWorkFlow(args, localdata);
} }
if (_this.viewdata) { }
_this.$emit('viewdataschange', [{ ..._data }]); let localData: any;
_this.$emit('close'); const localContext = Util.deepCopy(that.context);
}else if (this.$tabPageExp) { const requestResult: Promise<any> = that.appEntityService.getStandWorkflow(localContext);
this.$tabPageExp.onClose(this.$route.fullPath); requestResult.then((response: any) => {
const { data: targetData, status } = response;
if (status !== 200 || targetData.length === 0) {
return;
} }
}); if (targetData && targetData.length > 1) {
const h = that.$createElement;
targetData.forEach((element: any) => {
Object.assign(element, { value: element.definitionkey, label: element.definitionname });
})
that.$msgbox({
title: '请选择流程版本',
message: h('i-select', {
key: Util.createUUID(),
props: {
value: localData,
placeholder: "请选择流程版本...",
transfer: true,
transferClassName: "start-workflow-select-wraper"
},
on: {
'on-change': ($event: any) => {
localData = { processDefinitionKey: $event };
}
}
}, targetData.map((item: any) => {
return h('i-option', {
key: item.value,
props: {
value: item.value,
label: item.label
}
})
})),
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then((action: string) => {
if (Object.is(action, 'confirm') && localData && Object.keys(localData).length > 0) {
let targetItem: any = targetData.find((item: any) => {
return item.definitionkey === localData.processDefinitionKey;
})
openStartView(targetItem, localData);
}
})
} else {
localData = { processDefinitionKey: targetData[0]['definitionkey'] }
targetData[0]['process-view'] = "WFSTART@1";
openStartView(targetData[0], localData);
}
})
} }
/** /**
* 当前流程步骤 * 当前流程步骤
......
...@@ -886,25 +886,122 @@ export default class SysTeamEditViewBase extends Vue { ...@@ -886,25 +886,122 @@ export default class SysTeamEditViewBase extends Vue {
* @memberof SysTeamEditViewBase * @memberof SysTeamEditViewBase
*/ */
public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const that: any = this;
if (!xData || !(xData.wfstart instanceof Function)) { if (!xData || !(xData.wfstart instanceof Function)) {
return; return;
} }
xData.wfstart(args).then((response: any) => { let validateStatus: boolean = true;
if (!response || response.status !== 200) { if (xData.formValidateStatus && xData.formValidateStatus instanceof Function) {
return; validateStatus = xData.formValidateStatus();
}
if (!validateStatus) {
if(xData.errorMessages && xData.errorMessages.length > 0) {
let descMessage: string = '';
xData.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message.error + '<p>';
})
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: (xData.$t('app.formpage.valuecheckex') as string) });
} }
const { data: _data } = response; return;
if(window.parent){ }
window.parent.postMessage({ ..._data },'*'); const startWorkFlow: Function = (param: any, localdata: any) => {
xData.wfstart(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
that.closeView(_data);
});
}
const openStartView: Function = async (item: any, localdata: any) => {
if (item['wfversion']) {
const targetView: any = that.viewRefData ? that.viewRefData[`WFSTART@${item['wfversion']}`] : null;
if (targetView) {
const tempContext = Util.deepCopy(that.context);
const tempViewParams = { actionView: `WFSTART@${item['wfversion']}`, actionForm: item['process-form'] };
const container: Subject<any> = that.$appmodal.openModal(targetView, tempContext, tempViewParams);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const tempSubmitData: any = Util.deepCopy(args[0]);
if (result.datas && result.datas[0]) {
const resultData: any = result.datas[0];
if (Object.keys(resultData).length > 0) {
let tempData: any = {};
Object.keys(resultData).forEach((key: any) => {
if (resultData[key] || (resultData[key] === 0) || (resultData[key] === false)) {
tempData[key] = resultData[key];
}
})
Object.assign(tempSubmitData, tempData);
}
}
startWorkFlow([tempSubmitData], localdata);
})
} else {
startWorkFlow(args, localdata);
}
} else {
startWorkFlow(args, localdata);
} }
if (_this.viewdata) { }
_this.$emit('viewdataschange', [{ ..._data }]); let localData: any;
_this.$emit('close'); const localContext = Util.deepCopy(that.context);
}else if (this.$tabPageExp) { const requestResult: Promise<any> = that.appEntityService.getStandWorkflow(localContext);
this.$tabPageExp.onClose(this.$route.fullPath); requestResult.then((response: any) => {
const { data: targetData, status } = response;
if (status !== 200 || targetData.length === 0) {
return;
} }
}); if (targetData && targetData.length > 1) {
const h = that.$createElement;
targetData.forEach((element: any) => {
Object.assign(element, { value: element.definitionkey, label: element.definitionname });
})
that.$msgbox({
title: '请选择流程版本',
message: h('i-select', {
key: Util.createUUID(),
props: {
value: localData,
placeholder: "请选择流程版本...",
transfer: true,
transferClassName: "start-workflow-select-wraper"
},
on: {
'on-change': ($event: any) => {
localData = { processDefinitionKey: $event };
}
}
}, targetData.map((item: any) => {
return h('i-option', {
key: item.value,
props: {
value: item.value,
label: item.label
}
})
})),
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then((action: string) => {
if (Object.is(action, 'confirm') && localData && Object.keys(localData).length > 0) {
let targetItem: any = targetData.find((item: any) => {
return item.definitionkey === localData.processDefinitionKey;
})
openStartView(targetItem, localData);
}
})
} else {
localData = { processDefinitionKey: targetData[0]['definitionkey'] }
targetData[0]['process-view'] = "WFSTART@1";
openStartView(targetData[0], localData);
}
})
} }
/** /**
* 当前流程步骤 * 当前流程步骤
......
...@@ -886,25 +886,122 @@ export default class SysTeamMemberEditViewBase extends Vue { ...@@ -886,25 +886,122 @@ export default class SysTeamMemberEditViewBase extends Vue {
* @memberof SysTeamMemberEditViewBase * @memberof SysTeamMemberEditViewBase
*/ */
public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const that: any = this;
if (!xData || !(xData.wfstart instanceof Function)) { if (!xData || !(xData.wfstart instanceof Function)) {
return; return;
} }
xData.wfstart(args).then((response: any) => { let validateStatus: boolean = true;
if (!response || response.status !== 200) { if (xData.formValidateStatus && xData.formValidateStatus instanceof Function) {
return; validateStatus = xData.formValidateStatus();
}
if (!validateStatus) {
if(xData.errorMessages && xData.errorMessages.length > 0) {
let descMessage: string = '';
xData.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message.error + '<p>';
})
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
xData.$Notice.error({ title: (xData.$t('app.commonWords.wrong') as string), desc: (xData.$t('app.formpage.valuecheckex') as string) });
} }
const { data: _data } = response; return;
if(window.parent){ }
window.parent.postMessage({ ..._data },'*'); const startWorkFlow: Function = (param: any, localdata: any) => {
xData.wfstart(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
that.closeView(_data);
});
}
const openStartView: Function = async (item: any, localdata: any) => {
if (item['wfversion']) {
const targetView: any = that.viewRefData ? that.viewRefData[`WFSTART@${item['wfversion']}`] : null;
if (targetView) {
const tempContext = Util.deepCopy(that.context);
const tempViewParams = { actionView: `WFSTART@${item['wfversion']}`, actionForm: item['process-form'] };
const container: Subject<any> = that.$appmodal.openModal(targetView, tempContext, tempViewParams);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const tempSubmitData: any = Util.deepCopy(args[0]);
if (result.datas && result.datas[0]) {
const resultData: any = result.datas[0];
if (Object.keys(resultData).length > 0) {
let tempData: any = {};
Object.keys(resultData).forEach((key: any) => {
if (resultData[key] || (resultData[key] === 0) || (resultData[key] === false)) {
tempData[key] = resultData[key];
}
})
Object.assign(tempSubmitData, tempData);
}
}
startWorkFlow([tempSubmitData], localdata);
})
} else {
startWorkFlow(args, localdata);
}
} else {
startWorkFlow(args, localdata);
} }
if (_this.viewdata) { }
_this.$emit('viewdataschange', [{ ..._data }]); let localData: any;
_this.$emit('close'); const localContext = Util.deepCopy(that.context);
}else if (this.$tabPageExp) { const requestResult: Promise<any> = that.appEntityService.getStandWorkflow(localContext);
this.$tabPageExp.onClose(this.$route.fullPath); requestResult.then((response: any) => {
const { data: targetData, status } = response;
if (status !== 200 || targetData.length === 0) {
return;
} }
}); if (targetData && targetData.length > 1) {
const h = that.$createElement;
targetData.forEach((element: any) => {
Object.assign(element, { value: element.definitionkey, label: element.definitionname });
})
that.$msgbox({
title: '请选择流程版本',
message: h('i-select', {
key: Util.createUUID(),
props: {
value: localData,
placeholder: "请选择流程版本...",
transfer: true,
transferClassName: "start-workflow-select-wraper"
},
on: {
'on-change': ($event: any) => {
localData = { processDefinitionKey: $event };
}
}
}, targetData.map((item: any) => {
return h('i-option', {
key: item.value,
props: {
value: item.value,
label: item.label
}
})
})),
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then((action: string) => {
if (Object.is(action, 'confirm') && localData && Object.keys(localData).length > 0) {
let targetItem: any = targetData.find((item: any) => {
return item.definitionkey === localData.processDefinitionKey;
})
openStartView(targetItem, localData);
}
})
} else {
localData = { processDefinitionKey: targetData[0]['definitionkey'] }
targetData[0]['process-view'] = "WFSTART@1";
openStartView(targetData[0], localData);
}
})
} }
/** /**
* 当前流程步骤 * 当前流程步骤
......
...@@ -902,6 +902,23 @@ export default class EntityService { ...@@ -902,6 +902,23 @@ export default class EntityService {
} }
} }
/**
* 获取标准工作流版本信息
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {*} [localdata]
* @returns {Promise<any>}
* @memberof EntityService
*/
public async getStandWorkflow(context: any = {}, data: any = {}, isloading?: boolean): Promise<any> {
return Http.getInstance().get(
`/wfcore/${this.SYSTEMNAME}-app-${this.APPNAME}/${this.APPDENAME}/process-definitions`,
isloading,
);
}
/** /**
* WFGetProxyData接口方法 * WFGetProxyData接口方法
* *
......
...@@ -274,6 +274,11 @@ ...@@ -274,6 +274,11 @@
} }
} }
// 工作流流程版本选择
.start-workflow-select-wraper {
z-index: 3000 !important;
}
/*** END:多数据视图属性布局 ***/ /*** END:多数据视图属性布局 ***/
// 看板视图,卡片模式 // 看板视图,卡片模式
......
...@@ -17,7 +17,7 @@ export declare interface Http { ...@@ -17,7 +17,7 @@ export declare interface Http {
* @returns {Promise<any>} * @returns {Promise<any>}
* @memberof Http * @memberof Http
*/ */
post(url: string, params: any, isloading?: boolean, serialnumber?: number): Promise<any>; post(url: string, params?: any, isloading?: boolean, serialnumber?: number): Promise<any>;
/** /**
* 获取 * 获取
* *
...@@ -27,7 +27,7 @@ export declare interface Http { ...@@ -27,7 +27,7 @@ export declare interface Http {
* @returns {Promise<any>} * @returns {Promise<any>}
* @memberof Http * @memberof Http
*/ */
get(url: string, isloading?: boolean, serialnumber?: number): Promise<any>; get(url: string, params?: any, isloading?: boolean, serialnumber?: number): Promise<any>;
/** /**
* 删除 * 删除
* *
......
...@@ -76,7 +76,7 @@ export class ViewTool { ...@@ -76,7 +76,7 @@ export class ViewTool {
* @memberof ViewTool * @memberof ViewTool
*/ */
public static getIndexRoutePath(route: Route): string { public static getIndexRoutePath(route: Route): string {
const { parameters: _parameters }: { parameters: any[] } = route.meta; const { parameters: _parameters }: { parameters: any[] } = route.meta as any;
const { pathName: _pathName, parameterName: _parameterName }: { pathName: string, parameterName: string } = _parameters[0]; const { pathName: _pathName, parameterName: _parameterName }: { pathName: string, parameterName: string } = _parameters[0];
const param = route.params[_parameterName]; const param = route.params[_parameterName];
if (param && !Object.is(param, '')) { if (param && !Object.is(param, '')) {
......
...@@ -178,6 +178,22 @@ export default class MainModel { ...@@ -178,6 +178,22 @@ export default class MainModel {
prop: 'srffrontuf', prop: 'srffrontuf',
dataType: 'TEXT', dataType: 'TEXT',
}, },
// 预置工作流数据字段
{
name: 'srfprocessdefinitionkey',
prop: 'srfprocessdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskdefinitionkey',
prop: 'srftaskdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskid',
prop: 'srftaskid',
dataType: 'TEXT'
}
] ]
} }
} }
......
...@@ -118,6 +118,22 @@ export default class MainModel { ...@@ -118,6 +118,22 @@ export default class MainModel {
prop: 'srffrontuf', prop: 'srffrontuf',
dataType: 'TEXT', dataType: 'TEXT',
}, },
// 预置工作流数据字段
{
name: 'srfprocessdefinitionkey',
prop: 'srfprocessdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskdefinitionkey',
prop: 'srftaskdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskid',
prop: 'srftaskid',
dataType: 'TEXT'
}
] ]
} }
} }
......
...@@ -168,6 +168,22 @@ export default class MainModel { ...@@ -168,6 +168,22 @@ export default class MainModel {
prop: 'srffrontuf', prop: 'srffrontuf',
dataType: 'TEXT', dataType: 'TEXT',
}, },
// 预置工作流数据字段
{
name: 'srfprocessdefinitionkey',
prop: 'srfprocessdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskdefinitionkey',
prop: 'srftaskdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskid',
prop: 'srftaskid',
dataType: 'TEXT'
}
] ]
} }
} }
......
...@@ -153,6 +153,22 @@ export default class MainModel { ...@@ -153,6 +153,22 @@ export default class MainModel {
prop: 'srffrontuf', prop: 'srffrontuf',
dataType: 'TEXT', dataType: 'TEXT',
}, },
// 预置工作流数据字段
{
name: 'srfprocessdefinitionkey',
prop: 'srfprocessdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskdefinitionkey',
prop: 'srftaskdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskid',
prop: 'srftaskid',
dataType: 'TEXT'
}
] ]
} }
} }
......
...@@ -98,6 +98,22 @@ export default class MainModel { ...@@ -98,6 +98,22 @@ export default class MainModel {
prop: 'srffrontuf', prop: 'srffrontuf',
dataType: 'TEXT', dataType: 'TEXT',
}, },
// 预置工作流数据字段
{
name: 'srfprocessdefinitionkey',
prop: 'srfprocessdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskdefinitionkey',
prop: 'srftaskdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskid',
prop: 'srftaskid',
dataType: 'TEXT'
}
] ]
} }
} }
......
...@@ -116,6 +116,22 @@ export default class MainModel { ...@@ -116,6 +116,22 @@ export default class MainModel {
prop: 'srffrontuf', prop: 'srffrontuf',
dataType: 'TEXT', dataType: 'TEXT',
}, },
// 预置工作流数据字段
{
name: 'srfprocessdefinitionkey',
prop: 'srfprocessdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskdefinitionkey',
prop: 'srftaskdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskid',
prop: 'srftaskid',
dataType: 'TEXT'
}
] ]
} }
} }
......
...@@ -93,6 +93,22 @@ export default class MainModel { ...@@ -93,6 +93,22 @@ export default class MainModel {
prop: 'srffrontuf', prop: 'srffrontuf',
dataType: 'TEXT', dataType: 'TEXT',
}, },
// 预置工作流数据字段
{
name: 'srfprocessdefinitionkey',
prop: 'srfprocessdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskdefinitionkey',
prop: 'srftaskdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskid',
prop: 'srftaskid',
dataType: 'TEXT'
}
] ]
} }
} }
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
"esModuleInterop": true, "esModuleInterop": true,
"experimentalDecorators": true, "experimentalDecorators": true,
"allowSyntheticDefaultImports": true, "allowSyntheticDefaultImports": true,
"skipLibCheck": true,
"sourceMap": true, "sourceMap": true,
"baseUrl": ".", "baseUrl": ".",
"types": [ "types": [
......
...@@ -31,6 +31,7 @@ import cn.ibizlab.core.ou.service.ISysDepartmentService; ...@@ -31,6 +31,7 @@ import cn.ibizlab.core.ou.service.ISysDepartmentService;
import cn.ibizlab.util.helper.CachedBeanCopier; import cn.ibizlab.util.helper.CachedBeanCopier;
import cn.ibizlab.util.helper.DEFieldCacheMap; import cn.ibizlab.util.helper.DEFieldCacheMap;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -38,7 +39,6 @@ import cn.ibizlab.core.ou.mapper.SysDepartmentMapper; ...@@ -38,7 +39,6 @@ import cn.ibizlab.core.ou.mapper.SysDepartmentMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
...@@ -351,6 +351,8 @@ public class SysDepartmentServiceImpl extends ServiceImpl<SysDepartmentMapper, S ...@@ -351,6 +351,8 @@ public class SysDepartmentServiceImpl extends ServiceImpl<SysDepartmentMapper, S
} }
} }
......
...@@ -31,6 +31,7 @@ import cn.ibizlab.core.ou.service.ISysDeptMemberService; ...@@ -31,6 +31,7 @@ import cn.ibizlab.core.ou.service.ISysDeptMemberService;
import cn.ibizlab.util.helper.CachedBeanCopier; import cn.ibizlab.util.helper.CachedBeanCopier;
import cn.ibizlab.util.helper.DEFieldCacheMap; import cn.ibizlab.util.helper.DEFieldCacheMap;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -38,7 +39,6 @@ import cn.ibizlab.core.ou.mapper.SysDeptMemberMapper; ...@@ -38,7 +39,6 @@ import cn.ibizlab.core.ou.mapper.SysDeptMemberMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
...@@ -315,6 +315,8 @@ public class SysDeptMemberServiceImpl extends ServiceImpl<SysDeptMemberMapper, S ...@@ -315,6 +315,8 @@ public class SysDeptMemberServiceImpl extends ServiceImpl<SysDeptMemberMapper, S
public ISysDeptMemberService getProxyService() { public ISysDeptMemberService getProxyService() {
return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass()); return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass());
} }
......
...@@ -31,6 +31,7 @@ import cn.ibizlab.core.ou.service.ISysEmployeeService; ...@@ -31,6 +31,7 @@ import cn.ibizlab.core.ou.service.ISysEmployeeService;
import cn.ibizlab.util.helper.CachedBeanCopier; import cn.ibizlab.util.helper.CachedBeanCopier;
import cn.ibizlab.util.helper.DEFieldCacheMap; import cn.ibizlab.util.helper.DEFieldCacheMap;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -38,7 +39,6 @@ import cn.ibizlab.core.ou.mapper.SysEmployeeMapper; ...@@ -38,7 +39,6 @@ import cn.ibizlab.core.ou.mapper.SysEmployeeMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
...@@ -365,6 +365,8 @@ public class SysEmployeeServiceImpl extends ServiceImpl<SysEmployeeMapper, SysEm ...@@ -365,6 +365,8 @@ public class SysEmployeeServiceImpl extends ServiceImpl<SysEmployeeMapper, SysEm
} }
public ISysEmployeeService getProxyService() { public ISysEmployeeService getProxyService() {
return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass()); return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass());
} }
......
...@@ -31,6 +31,7 @@ import cn.ibizlab.core.ou.service.ISysOrganizationService; ...@@ -31,6 +31,7 @@ import cn.ibizlab.core.ou.service.ISysOrganizationService;
import cn.ibizlab.util.helper.CachedBeanCopier; import cn.ibizlab.util.helper.CachedBeanCopier;
import cn.ibizlab.util.helper.DEFieldCacheMap; import cn.ibizlab.util.helper.DEFieldCacheMap;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -38,7 +39,6 @@ import cn.ibizlab.core.ou.mapper.SysOrganizationMapper; ...@@ -38,7 +39,6 @@ import cn.ibizlab.core.ou.mapper.SysOrganizationMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
...@@ -309,6 +309,8 @@ public class SysOrganizationServiceImpl extends ServiceImpl<SysOrganizationMappe ...@@ -309,6 +309,8 @@ public class SysOrganizationServiceImpl extends ServiceImpl<SysOrganizationMappe
} }
public ISysOrganizationService getProxyService() { public ISysOrganizationService getProxyService() {
return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass()); return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass());
} }
......
...@@ -31,6 +31,7 @@ import cn.ibizlab.core.ou.service.ISysPostService; ...@@ -31,6 +31,7 @@ import cn.ibizlab.core.ou.service.ISysPostService;
import cn.ibizlab.util.helper.CachedBeanCopier; import cn.ibizlab.util.helper.CachedBeanCopier;
import cn.ibizlab.util.helper.DEFieldCacheMap; import cn.ibizlab.util.helper.DEFieldCacheMap;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -38,7 +39,6 @@ import cn.ibizlab.core.ou.mapper.SysPostMapper; ...@@ -38,7 +39,6 @@ import cn.ibizlab.core.ou.mapper.SysPostMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
...@@ -229,6 +229,8 @@ public class SysPostServiceImpl extends ServiceImpl<SysPostMapper, SysPost> impl ...@@ -229,6 +229,8 @@ public class SysPostServiceImpl extends ServiceImpl<SysPostMapper, SysPost> impl
public ISysPostService getProxyService() { public ISysPostService getProxyService() {
return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass()); return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass());
} }
......
...@@ -31,6 +31,7 @@ import cn.ibizlab.core.ou.service.ISysTeamMemberService; ...@@ -31,6 +31,7 @@ import cn.ibizlab.core.ou.service.ISysTeamMemberService;
import cn.ibizlab.util.helper.CachedBeanCopier; import cn.ibizlab.util.helper.CachedBeanCopier;
import cn.ibizlab.util.helper.DEFieldCacheMap; import cn.ibizlab.util.helper.DEFieldCacheMap;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -38,7 +39,6 @@ import cn.ibizlab.core.ou.mapper.SysTeamMemberMapper; ...@@ -38,7 +39,6 @@ import cn.ibizlab.core.ou.mapper.SysTeamMemberMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
...@@ -300,6 +300,8 @@ public class SysTeamMemberServiceImpl extends ServiceImpl<SysTeamMemberMapper, S ...@@ -300,6 +300,8 @@ public class SysTeamMemberServiceImpl extends ServiceImpl<SysTeamMemberMapper, S
public ISysTeamMemberService getProxyService() { public ISysTeamMemberService getProxyService() {
return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass()); return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass());
} }
......
...@@ -31,6 +31,7 @@ import cn.ibizlab.core.ou.service.ISysTeamService; ...@@ -31,6 +31,7 @@ import cn.ibizlab.core.ou.service.ISysTeamService;
import cn.ibizlab.util.helper.CachedBeanCopier; import cn.ibizlab.util.helper.CachedBeanCopier;
import cn.ibizlab.util.helper.DEFieldCacheMap; import cn.ibizlab.util.helper.DEFieldCacheMap;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -38,7 +39,6 @@ import cn.ibizlab.core.ou.mapper.SysTeamMapper; ...@@ -38,7 +39,6 @@ import cn.ibizlab.core.ou.mapper.SysTeamMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
...@@ -223,6 +223,8 @@ public class SysTeamServiceImpl extends ServiceImpl<SysTeamMapper, SysTeam> impl ...@@ -223,6 +223,8 @@ public class SysTeamServiceImpl extends ServiceImpl<SysTeamMapper, SysTeam> impl
public ISysTeamService getProxyService() { public ISysTeamService getProxyService() {
return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass()); return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass());
} }
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<!--输出实体[SYS_DEPT]数据结构 --> <!--输出实体[SYS_DEPT]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_dept-80-1"> <changeSet author="root" id="tab-sys_dept-80-1">
<createTable tableName="IBZDEPT"> <createTable tableName="IBZDEPT">
<column name="DEPTID" remarks="" type="VARCHAR(100)"> <column name="DEPTID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_DEPT_DEPTID"/> <constraints primaryKey="true" primaryKeyName="PK_SYS_DEPT_DEPTID"/>
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
<!--输出实体[SYS_DEPTMEMBER]数据结构 --> <!--输出实体[SYS_DEPTMEMBER]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_deptmember-35-2"> <changeSet author="root" id="tab-sys_deptmember-35-2">
<createTable tableName="IBZDEPTMEMBER"> <createTable tableName="IBZDEPTMEMBER">
<column name="MEMBERID" remarks="" type="VARCHAR(100)"> <column name="MEMBERID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_DEPTMEMBER_MEMBERID"/> <constraints primaryKey="true" primaryKeyName="PK_SYS_DEPTMEMBER_MEMBERID"/>
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
<!--输出实体[SYS_EMP]数据结构 --> <!--输出实体[SYS_EMP]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_emp-86-3"> <changeSet author="root" id="tab-sys_emp-86-3">
<createTable tableName="IBZEMP"> <createTable tableName="IBZEMP">
<column name="USERID" remarks="" type="VARCHAR(100)"> <column name="USERID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_EMP_USERID"/> <constraints primaryKey="true" primaryKeyName="PK_SYS_EMP_USERID"/>
...@@ -142,7 +142,7 @@ ...@@ -142,7 +142,7 @@
<!--输出实体[SYS_ORG]数据结构 --> <!--输出实体[SYS_ORG]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_org-52-4"> <changeSet author="root" id="tab-sys_org-52-4">
<createTable tableName="IBZORG"> <createTable tableName="IBZORG">
<column name="ORGID" remarks="" type="VARCHAR(100)"> <column name="ORGID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_ORG_ORGID"/> <constraints primaryKey="true" primaryKeyName="PK_SYS_ORG_ORGID"/>
...@@ -174,7 +174,7 @@ ...@@ -174,7 +174,7 @@
<!--输出实体[SYS_POST]数据结构 --> <!--输出实体[SYS_POST]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_post-25-5"> <changeSet author="root" id="tab-sys_post-25-5">
<createTable tableName="IBZPOST"> <createTable tableName="IBZPOST">
<column name="POSTID" remarks="" type="VARCHAR(100)"> <column name="POSTID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_POST_POSTID"/> <constraints primaryKey="true" primaryKeyName="PK_SYS_POST_POSTID"/>
...@@ -192,7 +192,7 @@ ...@@ -192,7 +192,7 @@
<!--输出实体[SYS_TEAM]数据结构 --> <!--输出实体[SYS_TEAM]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_team-25-6"> <changeSet author="root" id="tab-sys_team-25-6">
<createTable tableName="IBZTEAM"> <createTable tableName="IBZTEAM">
<column name="TEAMID" remarks="" type="VARCHAR(100)"> <column name="TEAMID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_TEAM_TEAMID"/> <constraints primaryKey="true" primaryKeyName="PK_SYS_TEAM_TEAMID"/>
...@@ -208,7 +208,7 @@ ...@@ -208,7 +208,7 @@
<!--输出实体[SYS_TEAMMEMBER]数据结构 --> <!--输出实体[SYS_TEAMMEMBER]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_teammember-30-7"> <changeSet author="root" id="tab-sys_teammember-30-7">
<createTable tableName="IBZTEAMMEMBER"> <createTable tableName="IBZTEAMMEMBER">
<column name="TEAMMEMBERID" remarks="" type="VARCHAR(100)"> <column name="TEAMMEMBERID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_TEAMMEMBER_TEAMMEMBERID"/> <constraints primaryKey="true" primaryKeyName="PK_SYS_TEAMMEMBER_TEAMMEMBERID"/>
...@@ -225,46 +225,46 @@ ...@@ -225,46 +225,46 @@
</changeSet> </changeSet>
<!--输出实体[SYS_DEPT]外键关系 --> <!--输出实体[SYS_DEPT]外键关系 -->
<changeSet author="a_A_5d9d78509" id="fk-sys_dept-80-8"> <changeSet author="root" id="fk-sys_dept-80-8">
<addForeignKeyConstraint baseColumnNames="PDEPTID" baseTableName="IBZDEPT" constraintName="DER1N_SYS_DEPT_SYS_DEPT_PDEPTI" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="DEPTID" referencedTableName="IBZDEPT" validate="true"/> <addForeignKeyConstraint baseColumnNames="PDEPTID" baseTableName="IBZDEPT" constraintName="DER1N_SYS_DEPT_SYS_DEPT_PDEPTI" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="DEPTID" referencedTableName="IBZDEPT" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_A_5d9d78509" id="fk-sys_dept-80-9"> <changeSet author="root" id="fk-sys_dept-80-9">
<addForeignKeyConstraint baseColumnNames="ORGID" baseTableName="IBZDEPT" constraintName="DER1N_SYS_DEPT_SYS_ORG_ORGID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ORGID" referencedTableName="IBZORG" validate="true"/> <addForeignKeyConstraint baseColumnNames="ORGID" baseTableName="IBZDEPT" constraintName="DER1N_SYS_DEPT_SYS_ORG_ORGID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ORGID" referencedTableName="IBZORG" validate="true"/>
</changeSet> </changeSet>
<!--输出实体[SYS_DEPTMEMBER]外键关系 --> <!--输出实体[SYS_DEPTMEMBER]外键关系 -->
<changeSet author="a_A_5d9d78509" id="fk-sys_deptmember-35-10"> <changeSet author="root" id="fk-sys_deptmember-35-10">
<addForeignKeyConstraint baseColumnNames="DEPTID" baseTableName="IBZDEPTMEMBER" constraintName="DER1N_SYS_DEPTMEMBER_SYS_DEPT_" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="DEPTID" referencedTableName="IBZDEPT" validate="true"/> <addForeignKeyConstraint baseColumnNames="DEPTID" baseTableName="IBZDEPTMEMBER" constraintName="DER1N_SYS_DEPTMEMBER_SYS_DEPT_" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="DEPTID" referencedTableName="IBZDEPT" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_A_5d9d78509" id="fk-sys_deptmember-35-11"> <changeSet author="root" id="fk-sys_deptmember-35-11">
<addForeignKeyConstraint baseColumnNames="USERID" baseTableName="IBZDEPTMEMBER" constraintName="DER1N_SYS_DEPTMEMBER_SYS_EMP_U" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="USERID" referencedTableName="IBZEMP" validate="true"/> <addForeignKeyConstraint baseColumnNames="USERID" baseTableName="IBZDEPTMEMBER" constraintName="DER1N_SYS_DEPTMEMBER_SYS_EMP_U" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="USERID" referencedTableName="IBZEMP" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_A_5d9d78509" id="fk-sys_deptmember-35-12"> <changeSet author="root" id="fk-sys_deptmember-35-12">
<addForeignKeyConstraint baseColumnNames="POSTID" baseTableName="IBZDEPTMEMBER" constraintName="DER1N_SYS_DEPTMEMBER_SYS_POST_" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="POSTID" referencedTableName="IBZPOST" validate="true"/> <addForeignKeyConstraint baseColumnNames="POSTID" baseTableName="IBZDEPTMEMBER" constraintName="DER1N_SYS_DEPTMEMBER_SYS_POST_" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="POSTID" referencedTableName="IBZPOST" validate="true"/>
</changeSet> </changeSet>
<!--输出实体[SYS_EMP]外键关系 --> <!--输出实体[SYS_EMP]外键关系 -->
<changeSet author="a_A_5d9d78509" id="fk-sys_emp-86-13"> <changeSet author="root" id="fk-sys_emp-86-13">
<addForeignKeyConstraint baseColumnNames="MDEPTID" baseTableName="IBZEMP" constraintName="DER1N_SYS_EMP_SYS_DEPT_MDEPTID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="DEPTID" referencedTableName="IBZDEPT" validate="true"/> <addForeignKeyConstraint baseColumnNames="MDEPTID" baseTableName="IBZEMP" constraintName="DER1N_SYS_EMP_SYS_DEPT_MDEPTID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="DEPTID" referencedTableName="IBZDEPT" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_A_5d9d78509" id="fk-sys_emp-86-14"> <changeSet author="root" id="fk-sys_emp-86-14">
<addForeignKeyConstraint baseColumnNames="ORGID" baseTableName="IBZEMP" constraintName="DER1N_SYS_EMP_SYS_ORG_ORGID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ORGID" referencedTableName="IBZORG" validate="true"/> <addForeignKeyConstraint baseColumnNames="ORGID" baseTableName="IBZEMP" constraintName="DER1N_SYS_EMP_SYS_ORG_ORGID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ORGID" referencedTableName="IBZORG" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_A_5d9d78509" id="fk-sys_emp-86-15"> <changeSet author="root" id="fk-sys_emp-86-15">
<addForeignKeyConstraint baseColumnNames="POSTID" baseTableName="IBZEMP" constraintName="DER1N_SYS_EMP_SYS_POST_POSTID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="POSTID" referencedTableName="IBZPOST" validate="true"/> <addForeignKeyConstraint baseColumnNames="POSTID" baseTableName="IBZEMP" constraintName="DER1N_SYS_EMP_SYS_POST_POSTID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="POSTID" referencedTableName="IBZPOST" validate="true"/>
</changeSet> </changeSet>
<!--输出实体[SYS_ORG]外键关系 --> <!--输出实体[SYS_ORG]外键关系 -->
<changeSet author="a_A_5d9d78509" id="fk-sys_org-52-16"> <changeSet author="root" id="fk-sys_org-52-16">
<addForeignKeyConstraint baseColumnNames="PORGID" baseTableName="IBZORG" constraintName="DER1N_SYS_ORG_SYS_ORG_PORGID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ORGID" referencedTableName="IBZORG" validate="true"/> <addForeignKeyConstraint baseColumnNames="PORGID" baseTableName="IBZORG" constraintName="DER1N_SYS_ORG_SYS_ORG_PORGID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ORGID" referencedTableName="IBZORG" validate="true"/>
</changeSet> </changeSet>
<!--输出实体[SYS_POST]外键关系 --> <!--输出实体[SYS_POST]外键关系 -->
<!--输出实体[SYS_TEAM]外键关系 --> <!--输出实体[SYS_TEAM]外键关系 -->
<!--输出实体[SYS_TEAMMEMBER]外键关系 --> <!--输出实体[SYS_TEAMMEMBER]外键关系 -->
<changeSet author="a_A_5d9d78509" id="fk-sys_teammember-30-17"> <changeSet author="root" id="fk-sys_teammember-30-17">
<addForeignKeyConstraint baseColumnNames="USERID" baseTableName="IBZTEAMMEMBER" constraintName="DER1N_SYS_TEAMMEMBER_SYS_EMP_U" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="USERID" referencedTableName="IBZEMP" validate="true"/> <addForeignKeyConstraint baseColumnNames="USERID" baseTableName="IBZTEAMMEMBER" constraintName="DER1N_SYS_TEAMMEMBER_SYS_EMP_U" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="USERID" referencedTableName="IBZEMP" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_A_5d9d78509" id="fk-sys_teammember-30-18"> <changeSet author="root" id="fk-sys_teammember-30-18">
<addForeignKeyConstraint baseColumnNames="POSTID" baseTableName="IBZTEAMMEMBER" constraintName="DER1N_SYS_TEAMMEMBER_SYS_POST_" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="POSTID" referencedTableName="IBZPOST" validate="true"/> <addForeignKeyConstraint baseColumnNames="POSTID" baseTableName="IBZTEAMMEMBER" constraintName="DER1N_SYS_TEAMMEMBER_SYS_POST_" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="POSTID" referencedTableName="IBZPOST" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_A_5d9d78509" id="fk-sys_teammember-30-19"> <changeSet author="root" id="fk-sys_teammember-30-19">
<addForeignKeyConstraint baseColumnNames="TEAMID" baseTableName="IBZTEAMMEMBER" constraintName="DER1N_SYS_TEAMMEMBER_SYS_TEAM_" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TEAMID" referencedTableName="IBZTEAM" validate="true"/> <addForeignKeyConstraint baseColumnNames="TEAMID" baseTableName="IBZTEAMMEMBER" constraintName="DER1N_SYS_TEAMMEMBER_SYS_TEAM_" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TEAMID" referencedTableName="IBZTEAM" validate="true"/>
</changeSet> </changeSet>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册