import {ModelUtil, ModelUtilImpl, ConditionUtil, ConditionUtilImpl, FieldUtil } from 'model-util'
import {Container, Singleton} from 'typescript-ioc' 
import { CnProjectVO } from '../models/index' 


/**
 * @author auto generate
 * @version 1.0
 * @date 2021-06-08 11:22
 */
interface CnProjectVOCU extends ConditionUtil<CnProjectVOCU>{
    ID:FieldUtil<CnProjectVOCU>;
    SERVICE_CENTER_ID:FieldUtil<CnProjectVOCU>;
    SERVICE_CENTER_NAME:FieldUtil<CnProjectVOCU>;
    APP_ID:FieldUtil<CnProjectVOCU>;
    APP_NAME:FieldUtil<CnProjectVOCU>;
    CODE:FieldUtil<CnProjectVOCU>;
    NAME:FieldUtil<CnProjectVOCU>;
    DESCRIBE:FieldUtil<CnProjectVOCU>;
    GITLAB_URL:FieldUtil<CnProjectVOCU>;
    USERNAME:FieldUtil<CnProjectVOCU>;
    PASSWORD:FieldUtil<CnProjectVOCU>;
    IS_SUBMODULE:FieldUtil<CnProjectVOCU>;
    SUBMODULE_NAME:FieldUtil<CnProjectVOCU>;
    TOOL_VERSION:FieldUtil<CnProjectVOCU>;
    PACK_TYPE:FieldUtil<CnProjectVOCU>;
    TAPD_ID:FieldUtil<CnProjectVOCU>;
    TYPE:FieldUtil<CnProjectVOCU>;
    HEALTHY_URL:FieldUtil<CnProjectVOCU>;
    MAIN_CLASS:FieldUtil<CnProjectVOCU>;
    CONFIG_CENTER_CODE:FieldUtil<CnProjectVOCU>;
    IMAGE_PORT_MAPPING:FieldUtil<CnProjectVOCU>;
    DELETED:FieldUtil<CnProjectVOCU>;
    CREATE_USER_ID:FieldUtil<CnProjectVOCU>;
    CREATE_TIME:FieldUtil<CnProjectVOCU>;
    UPDATE_USER_ID:FieldUtil<CnProjectVOCU>;
    UPDATE_TIME:FieldUtil<CnProjectVOCU>;
    LABEL_ID:FieldUtil<CnProjectVOCU>;
}

class CnProjectVOCUImpl extends ConditionUtilImpl<CnProjectVOCUImpl> implements CnProjectVOCU{ 
    newInstance(): CnProjectVOCUImpl {
        return new CnProjectVOCUImpl();
    } 
    get ID(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('id','id','id', this);
    }
    get SERVICE_CENTER_ID(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('service_center_id','serviceCenterId','service_center_id', this);
    }
    get SERVICE_CENTER_NAME(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('service_center_name','serviceCenterName','service_center_name', this);
    }
    get APP_ID(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('app_id','appId','app_id', this);
    }
    get APP_NAME(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('app_name','appName','app_name', this);
    }
    get CODE(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('code','code','code', this);
    }
    get NAME(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('name','name','name', this);
    }
    get DESCRIBE(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('describe','describe','describe', this);
    }
    get GITLAB_URL(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('gitlab_url','gitlabUrl','gitlab_url', this);
    }
    get USERNAME(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('username','username','username', this);
    }
    get PASSWORD(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('password','password','password', this);
    }
    get IS_SUBMODULE(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('is_submodule','isSubmodule','is_submodule', this);
    }
    get SUBMODULE_NAME(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('submodule_name','submoduleName','submodule_name', this);
    }
    get TOOL_VERSION(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('tool_version','toolVersion','tool_version', this);
    }
    get PACK_TYPE(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('pack_type','packType','pack_type', this);
    }
    get TAPD_ID(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('tapd_id','tapdId','tapd_id', this);
    }
    get TYPE(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('type','type','type', this);
    }
    get HEALTHY_URL(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('healthy_url','healthyUrl','healthy_url', this);
    }
    get MAIN_CLASS(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('main_class','mainClass','main_class', this);
    }
    get CONFIG_CENTER_CODE(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('config_center_code','configCenterCode','config_center_code', this);
    }
    get IMAGE_PORT_MAPPING(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('image_port_mapping','imagePortMapping','image_port_mapping', this);
    }
    get DELETED(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('deleted','deleted','deleted', this);
    }
    get CREATE_USER_ID(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('create_user_id','createUserId','create_user_id', this);
    }
    get CREATE_TIME(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('create_time','createTime','create_time', this);
    }
    get UPDATE_USER_ID(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('update_user_id','updateUserId','update_user_id', this);
    }
    get UPDATE_TIME(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('update_time','updateTime','update_time', this);
    }
    get LABEL_ID(): FieldUtil<CnProjectVOCU>{  
        return new FieldUtil('label_id','labelId','label_id', this);
    }
}

@Singleton
class CnProjectVOMU extends ModelUtilImpl<CnProjectVOCU,CnProjectVO>{ 
    joinTables = [];
    selectSQL ='select  g.id,g.service_center_id,g.service_center_name,g.app_id,g.app_name,g.code,g.name,g.describe,g.gitlab_url,g.username,g.password,g.is_submodule,g.submodule_name,g.tool_version,g.pack_type,g.tapd_id,g.type,g.healthy_url,g.main_class,g.config_center_code,g.image_port_mapping,g.deleted,g.create_user_id,g.create_time,g.update_user_id,g.update_time,t.id as label_id from kt_cn.cn_project g left join kt_cn.cn_label_ref lf on g.id = lf.bussiness_id left join  kt_cn.cn_label t on lf.label_id = t.id';
    tableFields  = ['id','service_center_id','service_center_name','app_id','app_name','code','name','describe','gitlab_url','username','password','is_submodule','submodule_name','tool_version','pack_type','tapd_id','type','healthy_url','main_class','config_center_code','image_port_mapping','deleted','create_user_id','create_time','update_user_id','update_time','label_id'];
    modelFields  = ['id','serviceCenterId','serviceCenterName','appId','appName','code','name','describe','gitlabUrl','username','password','isSubmodule','submoduleName','toolVersion','packType','tapdId','type','healthyUrl','mainClass','configCenterCode','imagePortMapping','deleted','createUserId','createTime','updateUserId','updateTime','labelId'];

    createConditionUtil(): CnProjectVOCU {
        return new CnProjectVOCUImpl();
    }   

    static get ID(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('id','id','id', new CnProjectVOCUImpl());
    }
    static get SERVICE_CENTER_ID(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('service_center_id','serviceCenterId','service_center_id', new CnProjectVOCUImpl());
    }
    static get SERVICE_CENTER_NAME(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('service_center_name','serviceCenterName','service_center_name', new CnProjectVOCUImpl());
    }
    static get APP_ID(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('app_id','appId','app_id', new CnProjectVOCUImpl());
    }
    static get APP_NAME(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('app_name','appName','app_name', new CnProjectVOCUImpl());
    }
    static get CODE(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('code','code','code', new CnProjectVOCUImpl());
    }
    static get NAME(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('name','name','name', new CnProjectVOCUImpl());
    }
    static get DESCRIBE(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('describe','describe','describe', new CnProjectVOCUImpl());
    }
    static get GITLAB_URL(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('gitlab_url','gitlabUrl','gitlab_url', new CnProjectVOCUImpl());
    }
    static get USERNAME(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('username','username','username', new CnProjectVOCUImpl());
    }
    static get PASSWORD(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('password','password','password', new CnProjectVOCUImpl());
    }
    static get IS_SUBMODULE(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('is_submodule','isSubmodule','is_submodule', new CnProjectVOCUImpl());
    }
    static get SUBMODULE_NAME(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('submodule_name','submoduleName','submodule_name', new CnProjectVOCUImpl());
    }
    static get TOOL_VERSION(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('tool_version','toolVersion','tool_version', new CnProjectVOCUImpl());
    }
    static get PACK_TYPE(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('pack_type','packType','pack_type', new CnProjectVOCUImpl());
    }
    static get TAPD_ID(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('tapd_id','tapdId','tapd_id', new CnProjectVOCUImpl());
    }
    static get TYPE(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('type','type','type', new CnProjectVOCUImpl());
    }
    static get HEALTHY_URL(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('healthy_url','healthyUrl','healthy_url', new CnProjectVOCUImpl());
    }
    static get MAIN_CLASS(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('main_class','mainClass','main_class', new CnProjectVOCUImpl());
    }
    static get CONFIG_CENTER_CODE(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('config_center_code','configCenterCode','config_center_code', new CnProjectVOCUImpl());
    }
    static get IMAGE_PORT_MAPPING(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('image_port_mapping','imagePortMapping','image_port_mapping', new CnProjectVOCUImpl());
    }
    static get DELETED(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('deleted','deleted','deleted', new CnProjectVOCUImpl());
    }
    static get CREATE_USER_ID(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('create_user_id','createUserId','create_user_id', new CnProjectVOCUImpl());
    }
    static get CREATE_TIME(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('create_time','createTime','create_time', new CnProjectVOCUImpl());
    }
    static get UPDATE_USER_ID(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('update_user_id','updateUserId','update_user_id', new CnProjectVOCUImpl());
    }
    static get UPDATE_TIME(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('update_time','updateTime','update_time', new CnProjectVOCUImpl());
    }
    static get LABEL_ID(): FieldUtil<CnProjectVOCU>{ 
        return new FieldUtil('label_id','labelId','label_id', new CnProjectVOCUImpl());
    }

    get ID(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.ID;
    }
    get SERVICE_CENTER_ID(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.SERVICE_CENTER_ID;
    }
    get SERVICE_CENTER_NAME(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.SERVICE_CENTER_NAME;
    }
    get APP_ID(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.APP_ID;
    }
    get APP_NAME(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.APP_NAME;
    }
    get CODE(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.CODE;
    }
    get NAME(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.NAME;
    }
    get DESCRIBE(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.DESCRIBE;
    }
    get GITLAB_URL(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.GITLAB_URL;
    }
    get USERNAME(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.USERNAME;
    }
    get PASSWORD(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.PASSWORD;
    }
    get IS_SUBMODULE(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.IS_SUBMODULE;
    }
    get SUBMODULE_NAME(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.SUBMODULE_NAME;
    }
    get TOOL_VERSION(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.TOOL_VERSION;
    }
    get PACK_TYPE(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.PACK_TYPE;
    }
    get TAPD_ID(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.TAPD_ID;
    }
    get TYPE(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.TYPE;
    }
    get HEALTHY_URL(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.HEALTHY_URL;
    }
    get MAIN_CLASS(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.MAIN_CLASS;
    }
    get CONFIG_CENTER_CODE(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.CONFIG_CENTER_CODE;
    }
    get IMAGE_PORT_MAPPING(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.IMAGE_PORT_MAPPING;
    }
    get DELETED(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.DELETED;
    }
    get CREATE_USER_ID(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.CREATE_USER_ID;
    }
    get CREATE_TIME(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.CREATE_TIME;
    }
    get UPDATE_USER_ID(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.UPDATE_USER_ID;
    }
    get UPDATE_TIME(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.UPDATE_TIME;
    }
    get LABEL_ID(): FieldUtil<CnProjectVOCU>{ 
        return CnProjectVOMU.LABEL_ID;
    }
}
export {CnProjectVOMU, CnProjectVOCU}
