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

zhangzihan 发布系统代码 [TrainSys,网页端]

上级 e2c15d3d
import { AuthService } from '../auth-service';
/**
* 学员登记信息权限服务对象基类
*
* @export
* @class ReginfoAuthServiceBase
* @extends {AuthService}
*/
export class ReginfoAuthServiceBase extends AuthService {
/**
* 应用实体动态模型文件路径
*
* @protected
* @type {string}
* @memberof ReginfoAuthServiceBase
*/
protected dynaModelFilePath:string = "PSSYSAPPS/Web/PSAPPDATAENTITIES/Reginfo.json";
/**
* Creates an instance of ReginfoAuthServiceBase.
*
* @param {*} [opts={}]
* @memberof ReginfoAuthServiceBase
*/
constructor(opts: any = {}) {
super(opts);
}
/**
* 根据当前数据获取实体操作标识
*
* @param {*} activeKey 实体权限数据缓存标识
* @param {*} dataaccaction 操作标识
* @param {*} mainSateOPPrivs 传入数据主状态操作标识集合
* @returns {any}
* @memberof ReginfoAuthServiceBase
*/
public getOPPrivs(activeKey: string,dataaccaction:string, mainSateOPPrivs: any): any {
let result: any = { [dataaccaction]: 1 };
const curDefaultOPPrivs: any = this.getSysOPPrivs();
// 统一资源权限
if (curDefaultOPPrivs && (Object.keys(curDefaultOPPrivs).length > 0) && (curDefaultOPPrivs[dataaccaction] === 0)) {
result[dataaccaction] = 0;
}
// 主状态权限
if (mainSateOPPrivs && (Object.keys(mainSateOPPrivs).length > 0) && mainSateOPPrivs.hasOwnProperty(dataaccaction)) {
result[dataaccaction] = result[dataaccaction] && mainSateOPPrivs[dataaccaction];
}
// 实体级权限
if (!this.getActivedDeOPPrivs(activeKey, dataaccaction)) {
result[dataaccaction] = 0;
}
return result;
}
}
\ No newline at end of file
import { ReginfoAuthServiceBase } from './reginfo-auth-service-base';
/**
* 学员登记信息权限服务对象
*
* @export
* @class ReginfoAuthService
* @extends {ReginfoAuthServiceBase}
*/
export default class ReginfoAuthService extends ReginfoAuthServiceBase {
/**
* 基础权限服务实例
*
* @private
* @type {ReginfoAuthService}
* @memberof ReginfoAuthService
*/
private static basicUIServiceInstance: ReginfoAuthService;
/**
* 动态模型服务存储Map对象
*
* @private
* @type {Map<string, any>}
* @memberof ReginfoAuthService
*/
private static AuthServiceMap: Map<string, any> = new Map();
/**
* Creates an instance of ReginfoAuthService.
*
* @param {*} [opts={}]
* @memberof ReginfoAuthService
*/
constructor(opts: any = {}) {
super(opts);
}
/**
* 通过应用上下文获取实例对象
*
* @public
* @memberof ReginfoAuthService
*/
public static getInstance(context: any): ReginfoAuthService {
if (!this.basicUIServiceInstance) {
this.basicUIServiceInstance = new ReginfoAuthService({context:context});
}
if (!context.srfdynainstid) {
return this.basicUIServiceInstance;
} else {
if (!ReginfoAuthService.AuthServiceMap.get(context.srfdynainstid)) {
ReginfoAuthService.AuthServiceMap.set(context.srfdynainstid, new ReginfoAuthService({context:context}));
}
return ReginfoAuthService.AuthServiceMap.get(context.srfdynainstid);
}
}
}
\ No newline at end of file
export * from './interface';
export * from './raw-material/raw-material';
export * from './book/book';
export * from './reginfo/reginfo';
export * from './entity';
export * from './iraw-material';
export * from './ibook';
export * from './ireginfo';
import { IEntityBase } from 'ibiz-core';
/**
* 学员登记信息
*
* @export
* @interface IReginfo
* @extends {IEntityBase}
*/
export interface IReginfo extends IEntityBase {
/**
* 更新时间
*/
updatedate?: any;
/**
* 建立时间
*/
createdate?: any;
/**
* 更新人
*/
updateman?: any;
/**
* 建立人
*/
createman?: any;
/**
* 学员登记信息名称
*/
reginfoname?: any;
/**
* 学员登记信息标识
*/
reginfoid?: any;
/**
* 组织机构标识
*/
orgid?: any;
/**
* 组织部门标识
*/
deptid?: any;
/**
* 学员编号
*/
stuno?: any;
/**
* 属性
*/
field?: any;
/**
* 学员姓名
*/
name?: any;
/**
* 单位
*/
department?: any;
/**
* 年龄
*/
age?: any;
/**
* 家庭住址
*/
address?: any;
}
import { EntityBase } from 'ibiz-core';
import { IReginfo } from '../interface';
/**
* 学员登记信息基类
*
* @export
* @abstract
* @class ReginfoBase
* @extends {EntityBase}
* @implements {IReginfo}
*/
export abstract class ReginfoBase extends EntityBase implements IReginfo {
/**
* 实体名称
*
* @readonly
* @type {string}
* @memberof ReginfoBase
*/
get srfdename(): string {
return 'REGINFO';
}
get srfkey() {
return this.reginfoid;
}
set srfkey(val: any) {
this.reginfoid = val;
}
get srfmajortext() {
return this.reginfoname;
}
set srfmajortext(val: any) {
this.reginfoname = val;
}
/**
* 更新时间
*/
updatedate?: any;
/**
* 建立时间
*/
createdate?: any;
/**
* 更新人
*/
updateman?: any;
/**
* 建立人
*/
createman?: any;
/**
* 学员登记信息名称
*/
reginfoname?: any;
/**
* 学员登记信息标识
*/
reginfoid?: any;
/**
* 组织机构标识
*/
orgid?: any;
/**
* 组织部门标识
*/
deptid?: any;
/**
* 学员编号
*/
stuno?: any;
/**
* 属性
*/
field?: any;
/**
* 学员姓名
*/
name?: any;
/**
* 单位
*/
department?: any;
/**
* 年龄
*/
age?: any;
/**
* 家庭住址
*/
address?: any;
/**
* 重置实体数据
*
* @private
* @param {*} [data={}]
* @memberof ReginfoBase
*/
reset(data: any = {}): void {
super.reset(data);
this.reginfoid = data.reginfoid || data.srfkey;
this.reginfoname = data.reginfoname || data.srfmajortext;
}
}
import keys from './reginfo-keys';
import { IContext, IEntityLocalDataService, IParams } from 'ibiz-core';
import { GlobalService } from '../../service';
import { IReginfo } from '../interface';
/**
* ReginfoDTOdto辅助类
*
* @export
* @class ReginfoDTOHelp
*/
export class ReginfoDTOHelp {
/**
* 获取数据服务
*
* @param {IContext} context 应用上下文对象
* @returns {*}
* @memberof ReginfoDTOHelp
*/
public static async getService(context: IContext): Promise<IEntityLocalDataService<IReginfo>> {
return new GlobalService().getService('Reginfo',context);
}
/**
* DTO转化成数据对象
*
* @param {IContext} context 应用上下文对象
* @param {IParams} source dto对象
* @returns {*}
* @memberof ReginfoDTOHelp
*/
public static async ToDataObj(context: IContext, source: IParams) {
const _data: any = {};
// 家庭住址
_data.address = source.address;
// 年龄
_data.age = source.age;
// 建立时间
_data.createdate = source.createdate;
// 建立人
_data.createman = source.createman;
// 单位
_data.department = source.department;
// 组织部门标识
_data.deptid = source.deptid;
// 属性
_data.field = source.field;
// 学员姓名
_data.name = source.name;
// 组织机构标识
_data.orgid = source.orgid;
// 学员登记信息标识
_data.reginfoid = source.reginfoid;
// 学员登记信息名称
_data.reginfoname = source.reginfoname;
// 学员编号
_data.stuno = source.stuno;
// 更新时间
_data.updatedate = source.updatedate;
// 更新人
_data.updateman = source.updateman;
// 处理预置字段(以srf开头)
if(source && Object.keys(source).length >0){
Object.keys(source).forEach((key:string) =>{
if(key.startsWith('srf')){
_data[key] = source[key];
}
})
}
return _data;
}
/**
* 转化数组(dto转化成数据对象)
*
* @param {IContext} context 应用上下文对象
* @param {any[]} data 数据对象
* @returns {any[]}
* @memberof ReginfoDTOHelp
*/
public static async ToDataObjArray(context: IContext, data: any[]) {
const _data: any[] = [];
if (data && Array.isArray(data) && data.length > 0) {
for (let i = 0; i < data.length; i++) {
const tempdata = await this.ToDataObj(context, data[i]);
_data.push(tempdata);
}
}
return _data;
}
/**
* 数据对象转化成DTO
*
* @param {IContext} context 应用上下文对象
* @param {*} source 数据对象
* @returns {*}
* @memberof ReginfoDTOHelp
*/
public static async ToDto(context: IContext, source: IParams) {
const _data: any = {};
const excludes: string[] = [];
// 家庭住址
_data.address = source.address;
// 年龄
_data.age = source.age;
// 建立时间
_data.createdate = source.createdate;
// 建立人
_data.createman = source.createman;
// 单位
_data.department = source.department;
// 组织部门标识
_data.deptid = source.deptid;
// 属性
_data.field = source.field;
// 学员姓名
_data.name = source.name;
// 组织机构标识
_data.orgid = source.orgid;
// 学员登记信息标识
_data.reginfoid = source.reginfoid;
// 学员登记信息名称
_data.reginfoname = source.reginfoname;
// 学员编号
_data.stuno = source.stuno;
// 更新时间
_data.updatedate = source.updatedate;
// 更新人
_data.updateman = source.updateman;
// 附加额外数据
if (source && Object.keys(source).length > 0 && keys) {
Object.keys(source).forEach((key: string) => {
if (!keys.includes(key) && !excludes.includes(key)) {
_data[key] = source[key];
}
})
}
return _data;
}
/**
* 转化数组(数据对象转化成dto)
*
* @param {IContext} context 应用上下文对象
* @param {any[]} data
* @returns {any[]}
* @memberof ReginfoDTOHelp
*/
public static async ToDtoArray(context: IContext, data: any[]) {
const _data: any[] = [];
if (data && Array.isArray(data) && data.length > 0) {
for (let i = 0; i < data.length; i++) {
const tempdata = await this.ToDto(context, data[i]);
_data.push(tempdata);
}
}
return _data;
}
/**
* 处理响应dto对象
*
* @param {*} context 应用上下文对象
* @param {*} data 响应dto对象
* @returns {*}
* @memberof ReginfoDTOHelp
*/
public static async set(context: IContext, data: any) {
const _data: IParams = await this.ToDataObj(context, data);
return _data;
}
/**
* 处理请求数据对象
*
* @param {*} context 应用上下文对象
* @param {*} data 数据对象
* @returns {*}
* @memberof ReginfoDTOHelp
*/
public static async get(context: IContext, data: any = {}) {
return await this.ToDto(context, data);
}
/**
* 获取缓存数据
*
* @param {*} context 应用上下文对象
* @param {*} srfkey 数据主键
* @returns {*}
* @memberof ReginfoDTOHelp
*/
public static async getCacheData(context: IContext, srfkey: string) {
const targetService: IEntityLocalDataService<IReginfo> = await this.getService(context);
const result = await targetService.getLocal(context, srfkey);
if(result){
return await this.ToDto(context,result);
}
}
/**
* 获取缓存数组
*
* @param {*} context 应用上下文对象
* @returns {any[]}
* @memberof ReginfoDTOHelp
*/
public static async getCacheDataArray(context: IContext) {
const targetService: IEntityLocalDataService<IReginfo> = await this.getService(context);
const result = await targetService.getLocals(context);
if(result && result.length >0){
return await this.ToDtoArray(context,result);
}else{
return [];
}
}
/**
* 设置缓存数据
*
* @param {*} context 应用上下文对象
* @param {any} data 数据
* @returns {any[]}
* @memberof ReginfoDTOHelp
*/
public static async setCacheData(context: IContext, data: any) {
const targetService: IEntityLocalDataService<IReginfo> = await this.getService(context);
const _data: any = await this.set(context, data);
await targetService.addLocal(context, _data);
}
/**
* 设置缓存数组
*
* @param {*} context 应用上下文对象
* @param {any[]} data 数据
* @returns {any[]}
* @memberof ReginfoDTOHelp
*/
public static async setCacheDataArray(context: IContext, data: any[]) {
if (data && data.length > 0) {
const targetService: IEntityLocalDataService<IReginfo> = await this.getService(context);
for (let i = 0; i < data.length; i++) {
const _data = await this.set(context, data[i]);
await targetService.addLocal(context, _data);
}
}
}
}
export default [
'updatedate',
'createdate',
'updateman',
'createman',
'reginfoname',
'reginfoid',
'orgid',
'deptid',
'stuno',
'field',
'name',
'department',
'age',
'address',
];
import { ReginfoBase } from './reginfo-base';
/**
* 学员登记信息
*
* @export
* @class Reginfo
* @extends {ReginfoBase}
* @implements {IReginfo}
*/
export class Reginfo extends ReginfoBase {
/**
* 克隆当前实体
*
* @return {*}
* @memberof Reginfo
*/
clone(): Reginfo {
return new Reginfo(this);
}
}
export default Reginfo;
......@@ -55,6 +55,7 @@ export class AuthServiceRegister{
protected init(): void {
AuthServiceRegister.allAuthServiceMap.set('rawmaterial', () => import('../authservice/raw-material/raw-material-auth-service'));
AuthServiceRegister.allAuthServiceMap.set('book', () => import('../authservice/book/book-auth-service'));
AuthServiceRegister.allAuthServiceMap.set('reginfo', () => import('../authservice/reginfo/reginfo-auth-service'));
}
/**
......
......@@ -56,6 +56,7 @@ export class UIServiceRegister {
protected init(): void {
UIServiceRegister.allUIServiceMap.set('rawmaterial', () => import('../uiservice/raw-material/raw-material-ui-service'));
UIServiceRegister.allUIServiceMap.set('book', () => import('../uiservice/book/book-ui-service'));
UIServiceRegister.allUIServiceMap.set('reginfo', () => import('../uiservice/reginfo/reginfo-ui-service'));
}
/**
......
......@@ -39,4 +39,14 @@ export class GlobalService {
async getBookService(context?: any) {
return (await import('./book/book.service')).default.getInstance(context);
}
/**
* 学员登记信息服务
*
* @param context 应用上下文
* @return {Reginfo}
* @memberof GlobalService
*/
async getReginfoService(context?: any) {
return (await import('./reginfo/reginfo.service')).default.getInstance(context);
}
}
export { GlobalService } from './global.service';
export * from './raw-material/raw-material.service';
export * from './book/book.service';
export * from './reginfo/reginfo.service';
import { CodeListService } from '../app/codelist-service';
import { EntityBaseService, IContext, HttpResponse } from 'ibiz-core';
import { GlobalService } from '../global.service';
import { IReginfo, Reginfo } from '../../entities';
import keys from '../../entities/reginfo/reginfo-keys';
import { ReginfoDTOHelp } from '../../entities/reginfo/reginfo-dto-help';
/**
* 学员登记信息服务对象基类
*
* @export
* @class ReginfoBaseService
* @extends {EntityBaseService}
*/
export class ReginfoBaseService extends EntityBaseService<IReginfo> {
protected get keys(): string[] {
return keys;
}
protected SYSTEMNAME = 'TrainSys';
protected APPNAME = 'Web';
protected APPDENAME = 'Reginfo';
protected APPWFDENAME = 'REGINFO';
protected APPDENAMEPLURAL = 'Reginfos';
protected dynaModelFilePath:string = 'PSSYSAPPS/Web/PSAPPDATAENTITIES/Reginfo.json';
protected APPDEKEY = 'reginfoid';
protected APPDETEXT = 'reginfoname';
protected quickSearchFields = ['reginfoname',];
protected selectContextParam = {
};
constructor(opts?: any) {
super(opts, 'Reginfo');
}
newEntity(data: IReginfo): Reginfo {
return new Reginfo(data);
}
/**
* Create
*
* @param {*} [_context={}]
* @param {*} [_data = {}]
* @returns {Promise<HttpResponse>}
* @memberof ReginfoService
*/
async Create(_context: any = {}, _data: any = {}): Promise<HttpResponse> {
try {
_data = await this.beforeExecuteAction(_context,_data,'Create');
if (!_data.srffrontuf || _data.srffrontuf != 1) {
_data[this.APPDEKEY] = null;
}
if (_data.srffrontuf != null) {
delete _data.srffrontuf;
}
_data = await ReginfoDTOHelp.get(_context,_data);
const res = await this.http.post(`/reginfos`, _data);
res.data = await ReginfoDTOHelp.set(_context,res.data);
return res;
} catch (error) {
return this.handleResponseError(error);
}
}
/**
* Get
*
* @param {*} [_context={}]
* @param {*} [_data = {}]
* @returns {Promise<HttpResponse>}
* @memberof ReginfoService
*/
async Get(_context: any = {}, _data: any = {}): Promise<HttpResponse> {
try {
const res = await this.http.get(`/reginfos/${encodeURIComponent(_context.reginfo)}`, _data);
res.data = await ReginfoDTOHelp.set(_context,res.data);
res.data = await this.afterExecuteAction(_context,res?.data,'Get');
return res;
} catch (error) {
return this.handleResponseError(error);
}
}
/**
* GetDraft
*
* @param {*} [_context={}]
* @param {*} [_data = {}]
* @returns {Promise<HttpResponse>}
* @memberof ReginfoService
*/
async GetDraft(_context: any = {}, _data: any = {}): Promise<HttpResponse> {
try {
_data[this.APPDENAME?.toLowerCase()] = undefined;
_data[this.APPDEKEY] = undefined;
const res = await this.http.get(`/reginfos/getdraft`, _data);
res.data = await ReginfoDTOHelp.set(_context,res.data);
return res;
} catch (error) {
return this.handleResponseError(error);
}
}
/**
* Remove
*
* @param {*} [_context={}]
* @param {*} [_data = {}]
* @returns {Promise<HttpResponse>}
* @memberof ReginfoService
*/
async Remove(_context: any = {}, _data: any = {}): Promise<HttpResponse> {
try {
const res = await this.http.delete(`/reginfos/${encodeURIComponent(_context.reginfo)}`, _data);
return res;
} catch (error) {
return this.handleResponseError(error);
}
}
/**
* Update
*
* @param {*} [_context={}]
* @param {*} [_data = {}]
* @returns {Promise<HttpResponse>}
* @memberof ReginfoService
*/
async Update(_context: any = {}, _data: any = {}): Promise<HttpResponse> {
try {
_data = await this.beforeExecuteAction(_context,_data,'Update');
_data = await ReginfoDTOHelp.get(_context,_data);
const res = await this.http.put(`/reginfos/${encodeURIComponent(_context.reginfo)}`, _data);
res.data = await ReginfoDTOHelp.set(_context,res.data);
return res;
} catch (error) {
return this.handleResponseError(error);
}
}
/**
* FetchDefault
*
* @param {*} [_context={}]
* @param {*} [_data = {}]
* @returns {Promise<HttpResponse>}
* @memberof ReginfoService
*/
async FetchDefault(_context: any = {}, _data: any = {}): Promise<HttpResponse> {
try {
const res = await this.http.post(`/reginfos/fetchdefault`, _data);
res.data = await ReginfoDTOHelp.ToDataObjArray(_context,res.data);
res.data = await this.afterExecuteActionBatch(_context,res?.data,'FetchDefault');
return res;
} catch (error) {
return this.handleResponseError(error);
}
}
/**
* Select
*
* @param {*} [_context={}]
* @param {*} [_data = {}]
* @returns {Promise<HttpResponse>}
* @memberof ReginfoService
*/
async Select(_context: any = {}, _data: any = {}): Promise<HttpResponse> {
try {
const res = await this.http.post(`/reginfos/select`, _data);
return res;
} catch (error) {
return this.handleResponseError(error);
}
}
}
import { ReginfoBaseService } from './reginfo-base.service';
/**
* 学员登记信息服务
*
* @export
* @class ReginfoService
* @extends {ReginfoBaseService}
*/
export class ReginfoService extends ReginfoBaseService {
/**
* Creates an instance of ReginfoService.
* @memberof ReginfoService
*/
constructor(opts?: any) {
const { context: context, tag: cacheKey } = opts;
super(context);
if (___ibz___.sc.has(cacheKey)) {
return ___ibz___.sc.get(cacheKey);
}
___ibz___.sc.set(cacheKey, this);
}
/**
* 获取实例
*
* @static
* @param 应用上下文
* @return {*} {ReginfoService}
* @memberof ReginfoService
*/
static getInstance(context?: any): ReginfoService {
const cacheKey: string = context?.srfdynainstid ? `${context.srfdynainstid}ReginfoService` : `ReginfoService`;
if (!___ibz___.sc.has(cacheKey)) {
new ReginfoService({ context: context, tag: cacheKey });
}
return ___ibz___.sc.get(cacheKey);
}
}
export default ReginfoService;
export * from './ui-service';
export * from './raw-material/raw-material-ui-service';
export * from './book/book-ui-service';
export * from './reginfo/reginfo-ui-service';
import { IPSAppDEUIAction } from '@ibiz/dynamic-model-api';
import { UIServiceBase } from 'ibiz-core';
import { AppLogicFactory } from 'ibiz-vue';
import { AuthServiceRegister } from '../../register';
import { GlobalService } from '../../service';
/**
* 学员登记信息UI服务对象基类
*
* @export
* @class ReginfoUIServiceBase
*/
export class ReginfoUIServiceBase extends UIServiceBase {
/**
* 应用实体动态模型文件路径
*
* @protected
* @type {string}
* @memberof ReginfoUIServiceBase
*/
protected dynaModelFilePath:string = "PSSYSAPPS/Web/PSAPPDATAENTITIES/Reginfo.json";
/**
* Creates an instance of ReginfoUIServiceBase.
*
* @param {*} [opts={}]
* @memberof ReginfoUIServiceBase
*/
constructor(opts: any = {}) {
super(opts);
}
/**
* 加载应用实体模型数据
*
* @memberof ReginfoUIServiceBase
*/
protected async loaded() {
await super.loaded();
this.authService = await AuthServiceRegister.getInstance().getService(this.context,`${this.entityModel?.codeName.toLowerCase()}`);
this.dataService = await new GlobalService().getService(`${this.entityModel?.codeName}`,this.context);
await this.authService.loaded();
}
/**
* 初始化基础数据
*
* @memberof ReginfoUIServiceBase
*/
protected initBasicData(){
this.isEnableDEMainState = false;
this.dynaInstTag = "";
this.tempOrgIdDEField ="orgid";
this.stateValue = 0;
this.multiFormDEField = null;
this.indexTypeDEField = null;
this.stateField = "";
this.mainStateFields = [];
}
/**
* 初始化界面行为数据
*
* @memberof ReginfoUIServiceBase
*/
protected async initActionMap(): Promise<void> {
const actions = this.entityModel?.getAllPSAppDEUIActions() as IPSAppDEUIAction[];
if (actions && actions.length > 0) {
for (const element of actions) {
const targetAction: any = await AppLogicFactory.getInstance(element, this.context);
this.actionMap.set(element.uIActionTag, targetAction);
}
}
}
/**
* 初始化视图功能数据Map
*
* @memberof ReginfoUIServiceBase
*/
protected initViewFuncMap(){
this.allViewFuncMap.set('EDITVIEW:','EDITVIEW');
this.allViewFuncMap.set(':','');
}
}
\ No newline at end of file
import { ReginfoUIServiceBase } from './reginfo-ui-service-base';
/**
* 学员登记信息UI服务对象
*
* @export
* @class ReginfoUIService
*/
export default class ReginfoUIService extends ReginfoUIServiceBase {
/**
* 基础UI服务实例
*
* @private
* @type {ORDER1UIServiceBase}
* @memberof ReginfoUIService
*/
private static basicUIServiceInstance: ReginfoUIService;
/**
* 动态模型服务存储Map对象
*
* @private
* @type {Map<string, any>}
* @memberof ReginfoUIService
*/
private static UIServiceMap: Map<string, any> = new Map();
/**
* Creates an instance of ReginfoUIService.
*
* @param {*} [opts={}]
* @memberof ReginfoUIService
*/
constructor(opts: any = {}) {
super(opts);
}
/**
* 通过应用上下文获取实例对象
*
* @public
* @memberof ReginfoUIService
*/
public static getInstance(context: any): ReginfoUIService {
if (!this.basicUIServiceInstance) {
this.basicUIServiceInstance = new ReginfoUIService({context:context});
}
if (!context.srfdynainstid) {
return this.basicUIServiceInstance;
} else {
if (!ReginfoUIService.UIServiceMap.get(context.srfdynainstid)) {
ReginfoUIService.UIServiceMap.set(context.srfdynainstid, new ReginfoUIService({context:context}));
}
return ReginfoUIService.UIServiceMap.get(context.srfdynainstid);
}
}
}
\ No newline at end of file
export const appMapping: any = {
'rawmaterial': 'rawmaterial',
'book': 'book'
'book': 'book',
'reginfo': 'reginfo'
}
\ No newline at end of file
......@@ -74,6 +74,24 @@ const router = new Router({
},
component: AppViewShell
},
{
path: 'reginfos/:reginfo?/views/:view?',
meta: {
captionTag: '',
caption: '',
info:'',
imgPath: '',
iconCls: '',
parameters: [
{ pathName: 'appindex', parameterName: 'appindex' },
{ pathName: 'reginfos', parameterName: 'reginfo' },
{ pathName: 'views', parameterName: 'view' },
],
resource:'reginfo',
requireAuth: false,
},
component: AppViewShell
},
{
path: 'views/:view?',
meta: {
......
......@@ -49,4 +49,7 @@ rawmaterial:
book:
path: /books/**,/book/**
serviceId: trainsys-trainsys
reginfo:
path: /reginfos/**,/reginfo/**
serviceId: trainsys-trainsys
......@@ -3,4 +3,6 @@ export const EntityPathReplace = {
'r8_redirect_rawmaterial': 'rawmaterial',
'books': 'book',
'r8_redirect_book': 'book',
'reginfos': 'reginfo',
'r8_redirect_reginfo': 'reginfo',
}
\ No newline at end of file
import { RawMaterialModule } from './raw-material/raw-material.module';
import { BookModule } from './book/book.module';
import { ReginfoModule } from './reginfo/reginfo.module';
export {
RawMaterialModule,
BookModule,
ReginfoModule,
};
export const AllModules = [
RawMaterialModule,
BookModule,
ReginfoModule,
];
import { Body, Controller, Delete, Get, Param, Post, Put, Req, Res } from '@nestjs/common';
import { FastifyRequest, FastifyReply } from 'fastify';
import { NetService, ControllerBase } from '@/core';
import { Environment } from '@/environment';
@Controller()
export class ReginfoController extends ControllerBase {
protected readonly http: NetService = new NetService('reginfo');
@Post('/reginfos')
async create(
@Req() request: FastifyRequest,
@Res() response: FastifyReply,
@Body() body: any,
): Promise<any> {
if (Environment.EnableRuntime) {
const url = `/reginfo/create`;
this.callAPI(request, response, url, body);
return;
}
const url = this.parseUrl(request.url);
const res = await this.http.post(request, response, url, body);
return this.parseResponse(request, response, res);
}
@Get('/reginfos/:reginfo')
async get(
@Req() request: FastifyRequest,
@Res() response: FastifyReply,
@Param('reginfo') reginfo: string,
): Promise<any> {
if (Environment.EnableRuntime) {
const url = `/reginfo/get/${encodeURIComponent(reginfo)}`;
this.callAPI(request, response, url);
return;
}
const url = this.parseUrl(request.url);
const res = await this.http.get(request, response, url);
return this.parseResponse(request, response, res);
}
@Delete('/reginfos/:reginfo')
async remove(
@Req() request: FastifyRequest,
@Res() response: FastifyReply,
@Param('reginfo') reginfo: string,
): Promise<any> {
if (Environment.EnableRuntime) {
const url = `/reginfo/remove/${encodeURIComponent(reginfo)}`;
this.callAPI(request, response, url);
return;
}
const url = this.parseUrl(request.url);
const res = await this.http.delete(request, response, url);
return this.parseResponse(request, response, res);
}
@Put('/reginfos/:reginfo')
async update(
@Req() request: FastifyRequest,
@Res() response: FastifyReply,
@Param('reginfo') reginfo: string,
@Body() body: any,
): Promise<any> {
if (Environment.EnableRuntime) {
const url = `/reginfo/update/${encodeURIComponent(reginfo)}`;
this.callAPI(request, response, url, body);
return;
}
const url = this.parseUrl(request.url);
const res = await this.http.put(request, response, url, body);
return this.parseResponse(request, response, res);
}
@Post('/reginfos/checkkey')
async checkKey(
@Req() request: FastifyRequest,
@Res() response: FastifyReply,
@Body() body: any,
): Promise<any> {
if (Environment.EnableRuntime) {
const url = `/reginfo/checkkey`;
this.callAPI(request, response, url, body);
return;
}
const url = this.parseUrl(request.url);
const res = await this.http.post(request, response, url, body);
return this.parseResponse(request, response, res);
}
@Get('/reginfos/getdraft')
async getDraft(
@Req() request: FastifyRequest,
@Res() response: FastifyReply,
@Body() body: any,
): Promise<any> {
if (Environment.EnableRuntime) {
const url = `/reginfo/getdraft`;
this.callAPI(request, response, url);
return;
}
const url = this.parseUrl(request.url);
const res = await this.http.get(request, response, url);
return this.parseResponse(request, response, res);
}
@Post('/reginfos/fetchdefault')
async fetchDefault(
@Req() request: FastifyRequest,
@Res() response: FastifyReply,
@Body() body: any,
): Promise<any> {
if (Environment.EnableRuntime) {
const url = `/reginfo/fetchdefault`;
this.callFetchAPI(request, response, url, body);
return;
}
const url = this.parseUrl(request.url);
const res = await this.http.post(request, response, url, body);
return this.parseResponse(request, response, res);
}
@Delete('/reginfos/batch')
async removeBatch(
@Req() request: FastifyRequest,
@Res() response: FastifyReply,
@Body() body: any
): Promise<any> {
if (Environment.EnableRuntime) {
let keys = '';
if (body && body instanceof Array) {
keys = body.join(',');
}
const url = `/reginfo/remove/${keys}`;
delete request.headers['content-length'];
this.callAPI(request, response, url);
return;
}
const url = this.parseUrl(request.url);
const res = await this.http.delete(request, response, url, { data: body });
return this.parseResponse(request, response, res);
}
@Post('/reginfos/batch')
async saveBatch(
@Req() request: FastifyRequest,
@Res() response: FastifyReply,
@Body() body: any
): Promise<any> {
if (Environment.EnableRuntime) {
const url = `/reginfo/save`;
this.callAPI(request, response, url, body);
return;
}
const url = this.parseUrl(request.url);
const res = await this.http.post(request, response, url, body);
return this.parseResponse(request, response, res);
}
}
import { EntityProxyMiddleware } from '../../core';
import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common';
import { ReginfoController } from './reginfo.controller';
export class ReginfoMiddleware extends EntityProxyMiddleware {
protected serviceTag = 'reginfo';
}
@Module({
controllers: [ReginfoController]
})
export class ReginfoModule implements NestModule {
configure(consumer: MiddlewareConsumer) {
consumer.apply(ReginfoMiddleware).forRoutes('(.*)/importdata', '(.*)/importtemplate', '(.*)/exportdata/(.*)');
}
}
......@@ -45,4 +45,39 @@
</createTable>
</changeSet>
<!--输出实体[T_REGINFO]数据结构 -->
<changeSet author="root" id="T_REGINFO">
<createTable tableName="T_REGINFO" remarks="学员登记信息">
<column name="ADDRESS" remarks="家庭住址" type="VARCHAR(100)">
</column>
<column name="AGE" remarks="年龄" type="INT">
</column>
<column name="CREATEDATE" remarks="建立时间" type="DATETIME">
</column>
<column name="CREATEMAN" remarks="建立人" type="VARCHAR(60)">
</column>
<column name="DEPARTMENT" remarks="单位" type="VARCHAR(100)">
</column>
<column name="DEPTID" remarks="组织部门标识" type="VARCHAR(60)">
</column>
<column name="FIELD" remarks="属性" type="VARCHAR(100)">
</column>
<column name="NAME" remarks="学员姓名" type="VARCHAR(100)">
</column>
<column name="ORGID" remarks="组织机构标识" type="VARCHAR(60)">
</column>
<column name="REGINFOID" remarks="学员登记信息标识" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_T_REGINFO_REGINFOID"/>
</column>
<column name="REGINFONAME" remarks="学员登记信息名称" type="VARCHAR(200)">
</column>
<column name="STUNO" remarks="学员编号" type="VARCHAR(100)">
</column>
<column name="UPDATEDATE" remarks="更新时间" type="DATETIME">
</column>
<column name="UPDATEMAN" remarks="更新人" type="VARCHAR(60)">
</column>
</createTable>
</changeSet>
</databaseChangeLog>
......@@ -2,7 +2,7 @@
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<!--输出实体[BOOK]数据结构 -->
<changeSet author="root" id="tab-book-15-1">
<changeSet author="root" id="tab-book-18-1">
<createTable tableName="T_BOOK">
<column name="BOOKNAME" remarks="" type="VARCHAR(200)">
</column>
......@@ -26,5 +26,40 @@
</createTable>
</changeSet>
<!--输出实体[REGINFO]数据结构 -->
<changeSet author="root" id="tab-reginfo-28-3">
<createTable tableName="T_REGINFO">
<column name="UPDATEDATE" remarks="" type="DATETIME">
</column>
<column name="CREATEDATE" remarks="" type="DATETIME">
</column>
<column name="UPDATEMAN" remarks="" type="VARCHAR(60)">
</column>
<column name="CREATEMAN" remarks="" type="VARCHAR(60)">
</column>
<column name="REGINFONAME" remarks="" type="VARCHAR(200)">
</column>
<column name="REGINFOID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_REGINFO"/>
</column>
<column name="ORGID" remarks="" type="VARCHAR(60)">
</column>
<column name="DEPTID" remarks="" type="VARCHAR(60)">
</column>
<column name="STUNO" remarks="" type="VARCHAR(100)">
</column>
<column name="FIELD" remarks="" type="VARCHAR(100)">
</column>
<column name="NAME" remarks="" type="VARCHAR(100)">
</column>
<column name="DEPARTMENT" remarks="" type="VARCHAR(100)">
</column>
<column name="AGE" remarks="" type="INT">
</column>
<column name="ADDRESS" remarks="" type="VARCHAR(100)">
</column>
</createTable>
</changeSet>
</databaseChangeLog>
......@@ -5,6 +5,9 @@
}, {
"modelref" : true,
"path" : "PSMODULES/common/PSDATAENTITIES/RawMaterial.json"
}, {
"modelref" : true,
"path" : "PSMODULES/common/PSDATAENTITIES/Reginfo.json"
} ],
"codeName" : "common",
"dynaModelFilePath" : "PSMODULES/common.json",
......
{
"actionMode" : "CHECKKEY",
"actionType" : "BUILTIN",
"codeName" : "CheckKey",
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Reginfo/PSDEACTIONS/CheckKey.json",
"logicName" : "CheckKey",
"name" : "CheckKey",
"getPSDEActionInput" : {
"name" : "CheckKeyInput",
"getPSDEMethodDTO" : {
"modelref" : true,
"id" : "ReginfoDTO"
},
"type" : "DTO"
},
"getPSDEActionReturn" : {
"name" : "CheckKeyResult",
"stdDataType" : 9,
"type" : "SIMPLE"
},
"builtinAction" : true
}
\ No newline at end of file
{
"actionMode" : "CREATE",
"actionType" : "BUILTIN",
"codeName" : "Create",
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Reginfo/PSDEACTIONS/Create.json",
"logicName" : "Create",
"name" : "Create",
"orderValue" : 1,
"getPSDEActionInput" : {
"name" : "CreateInput",
"getPSDEMethodDTO" : {
"modelref" : true,
"id" : "ReginfoDTO"
},
"type" : "DTO",
"output" : true
},
"getPSDEActionReturn" : {
"name" : "CreateResult",
"type" : "VOID"
},
"builtinAction" : true
}
\ No newline at end of file
{
"actionMode" : "READ",
"actionType" : "BUILTIN",
"codeName" : "Get",
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Reginfo/PSDEACTIONS/Get.json",
"logicName" : "Get",
"name" : "Get",
"orderValue" : 31,
"getPSDEActionInput" : {
"getKeyPSDEField" : {
"name" : "REGINFOID",
"codeName" : "ReginfoId"
},
"name" : "GetInput",
"type" : "KEYFIELD"
},
"getPSDEActionReturn" : {
"name" : "GetResult",
"getPSDEMethodDTO" : {
"modelref" : true,
"id" : "ReginfoDTO"
},
"type" : "DTO"
},
"builtinAction" : true
}
\ No newline at end of file
{
"actionMode" : "GETDRAFT",
"actionType" : "BUILTIN",
"codeName" : "GetDraft",
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Reginfo/PSDEACTIONS/GetDraft.json",
"logicName" : "GetDraft",
"name" : "GetDraft",
"orderValue" : 41,
"getPSDEActionInput" : {
"name" : "GetDraftInput",
"getPSDEMethodDTO" : {
"modelref" : true,
"id" : "ReginfoDTO"
},
"type" : "DTO"
},
"getPSDEActionReturn" : {
"name" : "GetDraftResult",
"getPSDEMethodDTO" : {
"modelref" : true,
"id" : "ReginfoDTO"
},
"type" : "DTO"
},
"builtinAction" : true
}
\ No newline at end of file
{
"actionMode" : "DELETE",
"actionType" : "BUILTIN",
"batchActionMode" : 1,
"codeName" : "Remove",
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Reginfo/PSDEACTIONS/Remove.json",
"logicName" : "Remove",
"name" : "Remove",
"orderValue" : 21,
"getPSDEActionInput" : {
"getKeyPSDEField" : {
"name" : "REGINFOID",
"codeName" : "ReginfoId"
},
"name" : "RemoveInput",
"type" : "KEYFIELDS"
},
"getPSDEActionReturn" : {
"name" : "RemoveResult",
"type" : "VOID"
},
"batchAction" : true,
"builtinAction" : true
}
\ No newline at end of file
{
"actionMode" : "UNKNOWN",
"actionType" : "BUILTIN",
"codeName" : "Save",
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Reginfo/PSDEACTIONS/Save.json",
"logicName" : "Save",
"name" : "Save",
"getPSDEActionInput" : {
"name" : "SaveInput",
"getPSDEMethodDTO" : {
"modelref" : true,
"id" : "ReginfoDTO"
},
"type" : "DTO"
},
"getPSDEActionReturn" : {
"name" : "SaveResult",
"type" : "VOID"
},
"builtinAction" : true
}
\ No newline at end of file
{
"actionMode" : "UPDATE",
"actionType" : "BUILTIN",
"codeName" : "Update",
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Reginfo/PSDEACTIONS/Update.json",
"logicName" : "Update",
"name" : "Update",
"orderValue" : 11,
"getPSDEActionInput" : {
"name" : "UpdateInput",
"getPSDEMethodDTO" : {
"modelref" : true,
"id" : "ReginfoDTO"
},
"type" : "DTO",
"output" : true
},
"getPSDEActionReturn" : {
"name" : "UpdateResult",
"type" : "VOID"
},
"builtinAction" : true
}
\ No newline at end of file
{
"dBType" : "MYSQL5",
"name" : "MySQL5",
"getPSDEDataQueryCodeExps" : [ {
"expression" : "t1.`ADDRESS`",
"name" : "ADDRESS"
}, {
"expression" : "t1.`AGE`",
"name" : "AGE"
}, {
"expression" : "t1.`CREATEDATE`",
"name" : "CREATEDATE"
}, {
"expression" : "t1.`CREATEMAN`",
"name" : "CREATEMAN"
}, {
"expression" : "t1.`DEPARTMENT`",
"name" : "DEPARTMENT"
}, {
"expression" : "t1.`DEPTID`",
"name" : "DEPTID"
}, {
"expression" : "t1.`FIELD`",
"name" : "FIELD"
}, {
"expression" : "t1.`NAME`",
"name" : "NAME"
}, {
"expression" : "t1.`ORGID`",
"name" : "ORGID"
}, {
"expression" : "t1.`REGINFOID`",
"name" : "REGINFOID"
}, {
"expression" : "t1.`REGINFONAME`",
"name" : "REGINFONAME"
}, {
"expression" : "t1.`STUNO`",
"name" : "STUNO"
}, {
"expression" : "t1.`UPDATEDATE`",
"name" : "UPDATEDATE"
}, {
"expression" : "t1.`UPDATEMAN`",
"name" : "UPDATEMAN"
} ],
"queryCode" : "SELECT\nt1.`ADDRESS`,\nt1.`AGE`,\nt1.`CREATEDATE`,\nt1.`CREATEMAN`,\nt1.`DEPARTMENT`,\nt1.`DEPTID`,\nt1.`FIELD`,\nt1.`NAME`,\nt1.`ORGID`,\nt1.`REGINFOID`,\nt1.`REGINFONAME`,\nt1.`STUNO`,\nt1.`UPDATEDATE`,\nt1.`UPDATEMAN`\nFROM `T_REGINFO` t1 \n",
"id" : "PSMODULES/common/PSDATAENTITIES/Reginfo/PSDEDATAQUERIES/Default/PSDEDQCODES/MYSQL5.json"
}
\ No newline at end of file
{
"dBType" : "MYSQL5",
"name" : "MySQL5",
"getPSDEDataQueryCodeExps" : [ {
"expression" : "t1.`ADDRESS`",
"name" : "ADDRESS"
}, {
"expression" : "t1.`AGE`",
"name" : "AGE"
}, {
"expression" : "t1.`DEPARTMENT`",
"name" : "DEPARTMENT"
}, {
"expression" : "t1.`FIELD`",
"name" : "FIELD"
}, {
"expression" : "t1.`NAME`",
"name" : "NAME"
}, {
"expression" : "t1.`STUNO`",
"name" : "STUNO"
}, {
"expression" : "t1.`CREATEDATE`",
"name" : "CREATEDATE"
}, {
"expression" : "t1.`CREATEMAN`",
"name" : "CREATEMAN"
}, {
"expression" : "t1.`DEPTID`",
"name" : "DEPTID"
}, {
"expression" : "t1.`ORGID`",
"name" : "ORGID"
}, {
"expression" : "t1.`REGINFOID`",
"name" : "REGINFOID"
}, {
"expression" : "t1.`REGINFONAME`",
"name" : "REGINFONAME"
}, {
"expression" : "t1.`UPDATEDATE`",
"name" : "UPDATEDATE"
}, {
"expression" : "t1.`UPDATEMAN`",
"name" : "UPDATEMAN"
} ],
"queryCode" : "SELECT\nt1.`CREATEDATE`,\nt1.`CREATEMAN`,\nt1.`DEPTID`,\nt1.`ORGID`,\nt1.`REGINFOID`,\nt1.`REGINFONAME`,\nt1.`UPDATEDATE`,\nt1.`UPDATEMAN`\nFROM `T_REGINFO` t1 \n",
"id" : "PSMODULES/common/PSDATAENTITIES/Reginfo/PSDEDATAQUERIES/Simple/PSDEDQCODES/MYSQL5.json"
}
\ No newline at end of file
{
"dBType" : "MYSQL5",
"name" : "MySQL5",
"getPSDEDataQueryCodeExps" : [ {
"expression" : "t1.`ADDRESS`",
"name" : "ADDRESS"
}, {
"expression" : "t1.`AGE`",
"name" : "AGE"
}, {
"expression" : "t1.`CREATEDATE`",
"name" : "CREATEDATE"
}, {
"expression" : "t1.`CREATEMAN`",
"name" : "CREATEMAN"
}, {
"expression" : "t1.`DEPARTMENT`",
"name" : "DEPARTMENT"
}, {
"expression" : "t1.`DEPTID`",
"name" : "DEPTID"
}, {
"expression" : "t1.`FIELD`",
"name" : "FIELD"
}, {
"expression" : "t1.`NAME`",
"name" : "NAME"
}, {
"expression" : "t1.`ORGID`",
"name" : "ORGID"
}, {
"expression" : "t1.`REGINFOID`",
"name" : "REGINFOID"
}, {
"expression" : "t1.`REGINFONAME`",
"name" : "REGINFONAME"
}, {
"expression" : "t1.`STUNO`",
"name" : "STUNO"
}, {
"expression" : "t1.`UPDATEDATE`",
"name" : "UPDATEDATE"
}, {
"expression" : "t1.`UPDATEMAN`",
"name" : "UPDATEMAN"
} ],
"queryCode" : "SELECT\nt1.`ADDRESS`,\nt1.`AGE`,\nt1.`CREATEDATE`,\nt1.`CREATEMAN`,\nt1.`DEPARTMENT`,\nt1.`DEPTID`,\nt1.`FIELD`,\nt1.`NAME`,\nt1.`ORGID`,\nt1.`REGINFOID`,\nt1.`REGINFONAME`,\nt1.`STUNO`,\nt1.`UPDATEDATE`,\nt1.`UPDATEMAN`\nFROM `T_REGINFO` t1 \n",
"id" : "PSMODULES/common/PSDATAENTITIES/Reginfo/PSDEDATAQUERIES/View/PSDEDQCODES/MYSQL5.json"
}
\ No newline at end of file
{
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Reginfo/PSDEUSERROLES/ALL_R.json",
"name" : "全部数据(读)",
"getPSDEUserRoleOPPrivs" : [ {
"dataAccessAction" : "READ",
"name" : "READ",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "READ"
}
} ],
"roleTag" : "ALL_R",
"userDRAction" : "READ",
"allData" : true
}
\ No newline at end of file
{
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Reginfo/PSDEUSERROLES/ALL_RW.json",
"name" : "全部数据(读写)",
"getPSDEUserRoleOPPrivs" : [ {
"dataAccessAction" : "READ",
"name" : "READ",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "READ"
}
}, {
"dataAccessAction" : "CREATE",
"name" : "CREATE",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "CREATE"
}
}, {
"dataAccessAction" : "UPDATE",
"name" : "UPDATE",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "UPDATE"
}
}, {
"dataAccessAction" : "DELETE",
"name" : "DELETE",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "DELETE"
}
} ],
"roleTag" : "ALL_RW",
"userDRAction" : "READ",
"allData" : true
}
\ No newline at end of file
{
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Reginfo/PSDEUSERROLES/CURDEPT_R.json",
"name" : "当前部门(读)",
"getPSDEUserRoleOPPrivs" : [ {
"dataAccessAction" : "READ",
"name" : "READ",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "READ"
}
} ],
"roleTag" : "CURDEPT_R",
"secDR" : 1,
"userDRAction" : "READ",
"enableSecDR" : true
}
\ No newline at end of file
{
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Reginfo/PSDEUSERROLES/CURDEPT_RW.json",
"name" : "当前部门(读写)",
"getPSDEUserRoleOPPrivs" : [ {
"dataAccessAction" : "READ",
"name" : "READ",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "READ"
}
}, {
"dataAccessAction" : "CREATE",
"name" : "CREATE",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "CREATE"
}
}, {
"dataAccessAction" : "DELETE",
"name" : "DELETE",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "DELETE"
}
}, {
"dataAccessAction" : "UPDATE",
"name" : "UPDATE",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "UPDATE"
}
} ],
"roleTag" : "CURDEPT_RW",
"secDR" : 1,
"userDRAction" : "READ",
"enableSecDR" : true
}
\ No newline at end of file
{
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Reginfo/PSDEUSERROLES/CURORG_R.json",
"name" : "当前组织(读)",
"orgDR" : 1,
"getPSDEUserRoleOPPrivs" : [ {
"dataAccessAction" : "READ",
"name" : "READ",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "READ"
}
} ],
"roleTag" : "CURORG_R",
"userDRAction" : "READ",
"enableOrgDR" : true
}
\ No newline at end of file
{
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Reginfo/PSDEUSERROLES/CURORG_RW.json",
"name" : "当前组织(读写)",
"orgDR" : 1,
"getPSDEUserRoleOPPrivs" : [ {
"dataAccessAction" : "DELETE",
"name" : "DELETE",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "DELETE"
}
}, {
"dataAccessAction" : "UPDATE",
"name" : "UPDATE",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "UPDATE"
}
}, {
"dataAccessAction" : "CREATE",
"name" : "CREATE",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "CREATE"
}
}, {
"dataAccessAction" : "READ",
"name" : "READ",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "READ"
}
} ],
"roleTag" : "CURORG_RW",
"userDRAction" : "READ",
"enableOrgDR" : true
}
\ No newline at end of file
{
"codeName" : "Default",
"controlType" : "SEARCHFORM",
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/Reginfo/PSSEARCHFORMS/Default.json",
"hookEventNames" : [ "SEARCH", "LOAD", "SAVE" ],
"logicName" : "默认搜索表单",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/Reginfo.json"
},
"getPSControlLogics" : [ {
"eventNames" : "SEARCH;LOAD;SAVE",
"logicTag" : "searchform",
"logicType" : "APPVIEWENGINE",
"name" : "engine_searchform",
"getPSAppViewEngine" : {
"modelref" : true,
"id" : "engine"
}
} ],
"getPSDEFormPages" : [ {
"caption" : "常规条件",
"codeName" : "formpage1",
"detailStyle" : "DEFAULT",
"detailType" : "FORMPAGE",
"name" : "formpage1",
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"infoGroupMode" : false
} ],
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"searchButtonStyle" : "DEFAULT",
"tabHeaderPos" : "TOP",
"enableAdvanceSearch" : false,
"enableAutoSearch" : false,
"enableFilterSave" : false,
"noTabHeader" : true,
"modelid" : "33c3311c3a8092371f63a2ee2b005ec4",
"modeltype" : "PSDEFORM_SEARCHFORM"
}
\ No newline at end of file
......@@ -47,6 +47,24 @@
"layout" : "TABLE_24COL"
},
"tooltip" : "书"
}, {
"accUserMode" : 2,
"caption" : "学员信息管理",
"itemType" : "MENUITEM",
"name" : "menuitem3",
"getPSAppFunc" : {
"modelref" : true,
"id" : "AppFunc3"
},
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"tooltip" : "学员信息管理"
} ],
"getPSControlHandler" : {
"enableDEFieldPrivilege" : false,
......
......@@ -23,6 +23,16 @@
"id" : "AppFunc2"
},
"tooltip" : "书"
}, {
"accUserMode" : 2,
"caption" : "学员信息管理",
"itemType" : "MENUITEM",
"name" : "menuitem3",
"getPSAppFunc" : {
"modelref" : true,
"id" : "AppFunc3"
},
"tooltip" : "学员信息管理"
} ],
"enableCustomize" : false,
"name" : "appindex",
......
{
"codeName" : "Ungroup",
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPMODULES/Ungroup.json",
"mOSFilePath" : "pssysapps/Web/psappmodules/Ungroup",
"name" : "未分类模块",
"rTMOSFilePath" : "pssysapps/Web/psappmodules/Ungroup",
"defaultModule" : true
}
\ No newline at end of file
{
"codeName" : "common",
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPMODULES/common.json",
"mOSFilePath" : "pssysapps/Web/psappmodules/common",
"name" : "公共模块",
"rTMOSFilePath" : "pssysapps/Web/psappmodules/common"
}
\ No newline at end of file
......@@ -118,8 +118,112 @@
"name" : "T_RAWMATERIAL",
"autoExtendModel" : true,
"existingModel" : false
}, {
"getAllPSSysDBColumns" : [ {
"codeName" : "ADDRESS",
"length" : 100,
"logicName" : "家庭住址",
"name" : "ADDRESS",
"stdDataType" : 25,
"nullable" : true
}, {
"codeName" : "AGE",
"logicName" : "年龄",
"name" : "AGE",
"stdDataType" : 9,
"nullable" : true
}, {
"codeName" : "CREATEDATE",
"length" : 8,
"logicName" : "建立时间",
"name" : "CREATEDATE",
"stdDataType" : 5,
"nullable" : true
}, {
"codeName" : "CREATEMAN",
"length" : 60,
"logicName" : "建立人",
"name" : "CREATEMAN",
"stdDataType" : 25,
"nullable" : true
}, {
"codeName" : "DEPARTMENT",
"length" : 100,
"logicName" : "单位",
"name" : "DEPARTMENT",
"stdDataType" : 25,
"nullable" : true
}, {
"codeName" : "DEPTID",
"length" : 60,
"logicName" : "组织部门标识",
"name" : "DEPTID",
"stdDataType" : 25,
"nullable" : true
}, {
"codeName" : "FIELD",
"length" : 100,
"logicName" : "属性",
"name" : "FIELD",
"stdDataType" : 25,
"nullable" : true
}, {
"codeName" : "NAME",
"length" : 100,
"logicName" : "学员姓名",
"name" : "NAME",
"stdDataType" : 25,
"nullable" : true
}, {
"codeName" : "ORGID",
"length" : 60,
"logicName" : "组织机构标识",
"name" : "ORGID",
"stdDataType" : 25,
"nullable" : true
}, {
"codeName" : "REGINFOID",
"length" : 100,
"logicName" : "学员登记信息标识",
"name" : "REGINFOID",
"stdDataType" : 25,
"pKey" : true
}, {
"codeName" : "REGINFONAME",
"length" : 200,
"logicName" : "学员登记信息名称",
"name" : "REGINFONAME",
"stdDataType" : 25,
"nullable" : true
}, {
"codeName" : "STUNO",
"length" : 100,
"logicName" : "学员编号",
"name" : "STUNO",
"stdDataType" : 25,
"nullable" : true
}, {
"codeName" : "UPDATEDATE",
"length" : 8,
"logicName" : "更新时间",
"name" : "UPDATEDATE",
"stdDataType" : 5,
"nullable" : true
}, {
"codeName" : "UPDATEMAN",
"length" : 60,
"logicName" : "更新人",
"name" : "UPDATEMAN",
"stdDataType" : 25,
"nullable" : true
} ],
"codeName" : "T_REGINFO",
"logicName" : "学员登记信息",
"name" : "T_REGINFO",
"autoExtendModel" : true,
"existingModel" : false
} ],
"codeName" : "DEFAULT",
"codeName" : "A869db62931b97a65fd",
"codeName2" : "Default",
"dBInstTag" : "a_LAB01_d23cc850e",
"dSLink" : "DEFAULT",
......
{
"codeName" : "SampleValue",
"dynaModelFilePath" : "PSSYSSAMPLEVALUES/SampleValue.json",
"mOSFilePath" : "pssyssamplevalues/SampleValue",
"name" : "负数(-1)",
"rTMOSFilePath" : "pssyssamplevalues/SampleValue",
"randomValue" : "-1",
"value" : "-1",
"nullValue" : false
}
\ No newline at end of file
{
"codeName" : "SampleValue2",
"dynaModelFilePath" : "PSSYSSAMPLEVALUES/SampleValue2.json",
"mOSFilePath" : "pssyssamplevalues/SampleValue2",
"name" : "正确的电子邮件拼写",
"rTMOSFilePath" : "pssyssamplevalues/SampleValue2",
"randomValue" : "right@ibizsys.net",
"value" : "right@ibizsys.net",
"nullValue" : false
}
\ No newline at end of file
{
"codeName" : "SampleValue3",
"dynaModelFilePath" : "PSSYSSAMPLEVALUES/SampleValue3.json",
"mOSFilePath" : "pssyssamplevalues/SampleValue3",
"name" : "错误的电子邮件拼写",
"rTMOSFilePath" : "pssyssamplevalues/SampleValue3",
"randomValue" : "wrong@@ibizsys.net",
"value" : "wrong@@ibizsys.net",
"nullValue" : false
}
\ No newline at end of file
{
"codeName" : "SampleValue4",
"dynaModelFilePath" : "PSSYSSAMPLEVALUES/SampleValue4.json",
"mOSFilePath" : "pssyssamplevalues/SampleValue4",
"name" : "空值",
"rTMOSFilePath" : "pssyssamplevalues/SampleValue4",
"nullValue" : true
}
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册