⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1.framework-objects_v062.sql

📁 CRM源码This file describes some issues that should be implemented in future and how it should be imple
💻 SQL
📖 第 1 页 / 共 3 页
字号:


--
-- CHARTS
--

create table QX_CHART (
    CHART_ID        INT             NOT NULL,
    NAME            VARCHAR2(255)   NOT NULL,
    OWNER_ID        INT,
    PUBLIC_CHART    NUMBER(2)       DEFAULT 0 NOT NULL,
    SYSTEM_CHART    NUMBER(2)       DEFAULT 0 NOT NULL,
    TIMESTAMP       DATE            NOT NULL,
    BODY            CLOB            NOT NULL,
    constraint PK_QX_CHART primary key (CHART_ID)
);

create index IDX_QX_CHART_OWNER        on QX_CHART (OWNER_ID);
create index IDX_QX_CHART_PUBLIC_CHART on QX_CHART (PUBLIC_CHART);
create index IDX_QX_CHART_SYSTEM_CHART on QX_CHART (SYSTEM_CHART);


--
-- HISTORY
--

create table QX_HIS_TABLE (
  HIS_TABLE_ID         INT        NOT NULL,
  NAME                 VARCHAR2(255)    NOT NULL,
constraint PK_QX_HIS_TABLE primary key (HIS_TABLE_ID)
);


create table QX_HIS_FIELD (
  HIS_FIELD_ID         INT        NOT NULL,
  HIS_TABLE_ID         INT        NOT NULL,
  NAME                 VARCHAR2(255)    NOT NULL,
constraint PK_QX_HIS_FIELD primary key (HIS_FIELD_ID, HIS_TABLE_ID),
constraint FK_QX_HIS_FIELD_QX_HIS_TAB foreign key (HIS_TABLE_ID) references QX_HIS_TABLE
);

create index IDX_QX_HIS_FIELD_TABLE on QX_HIS_FIELD (HIS_TABLE_ID);


create table QX_HIS_TBLFIELD (
  HIS_TABLE_ID         INT    NOT NULL,
  HIS_FIELD_ID         INT    NOT NULL,
constraint PK_QX_HIS_TBLFIELD primary key (HIS_TABLE_ID, HIS_FIELD_ID),
constraint FK_QX_HIS_TBLFIELD_TABLE    foreign key (HIS_TABLE_ID)            references QX_HIS_TABLE,
constraint FK_QX_HIS_TBLFIELD_FIELD    foreign key (HIS_FIELD_ID, HIS_TABLE_ID)    references QX_HIS_FIELD
);

create index IDX_QX_HIS_TBLFIELD_FIELD on QX_HIS_TBLFIELD (HIS_FIELD_ID);


create table QX_HISTORY (
  qx_historyid int not null,
  qx_history CLOB null,
  qx_object VARCHAR2(255) null,
  qx_objectid int null,
  qx_datemodified date null
);


--
-- TASKS
--

create table QX_TASK_DELAYUNIT (
  TASK_DELAYUNIT_ID    INT        NOT NULL,
  TASK_DELAYUNIT_NAME  VARCHAR2(255)    NOT NULL,
constraint PK_QX_TASK_DELAYUNIT primary key (TASK_DELAYUNIT_ID)
);



create table QX_TASK_STATUS (
  TASK_STATUS_ID    INT        NOT NULL,
  TASK_STATUS_NAME  VARCHAR2(255)    NOT NULL,
constraint PK_QX_TASK_STATUS primary key (TASK_STATUS_ID)
);


create table QX_SCRIPT (
  SCRIPT_ID            INT           NOT NULL,
  SCRIPT_NAME          VARCHAR2(255)  NOT NULL,
  SCRIPT_DESCRIPTION   VARCHAR2(1022) NULL,
  SCRIPT_CLASS_NAME    VARCHAR2(255)  NOT NULL,
  CREATOR_ID           INT           NOT NULL,
  DATE_MODIFIED        DATE      NOT NULL,
constraint PK_QX_SCRIPT primary key (SCRIPT_ID)
);

create unique index IDX_QX_SCRIPT_NAME       on QX_SCRIPT (SCRIPT_NAME);
create unique index IDX_QX_SCRIPT_CLASS_NAME on QX_SCRIPT (SCRIPT_CLASS_NAME);


create index IDX_QX_SCRIPT_CREATOR      on QX_SCRIPT (CREATOR_ID);



create table QX_TASK (
  TASK_ID             INT          NOT NULL,
  TASK_NAME           VARCHAR2(255) NOT NULL,
  TASK_STATUS_ID      INT          NOT NULL,
  SCRIPT_ID           INT          NOT NULL,
  CREATOR_ID          INT          NOT NULL,
  DATE_CREATED        DATE     NOT NULL,
  FIRST_START         DATE,
  NEXT_START          DATE,
  REPEAT_SIGN         NUMBER(2)   DEFAULT 0,
  AUTO_START          NUMBER(2)   DEFAULT 0,
  DELAY               INT,
  TASK_DELAYUNIT_ID   INT,
  LOG_PROCESS_ID      NUMBER(38),
constraint PK_QX_TASK primary key (TASK_ID),
constraint FK_QX_TASK_QX_TASK_STATUS  foreign key (TASK_STATUS_ID)    references QX_TASK_STATUS (TASK_STATUS_ID),
constraint FK_QX_TASK_QX_TDU          foreign key (TASK_DELAYUNIT_ID) references QX_TASK_DELAYUNIT (TASK_DELAYUNIT_ID),
constraint FK_QX_TASK_QX_SCRIPT       foreign key (SCRIPT_ID)         references QX_SCRIPT (SCRIPT_ID)
);

create index IDX_QX_TASK_CREATOR      on QX_TASK (CREATOR_ID);
create index IDX_QX_TASK_STATUS       on QX_TASK (TASK_STATUS_ID);
create index IDX_QX_TASK_DELAYUNIT    on QX_TASK (TASK_DELAYUNIT_ID);
create index IDX_QX_TASK_SCRIPT       on QX_TASK (SCRIPT_ID);



--
-- LOCKING
--

create table QX_LOCK (
  PKEY                 INT        NOT NULL,
  TABLE_NAME           VARCHAR2(255)    NOT NULL,
  RECORD_ID            VARCHAR2(100)    NOT NULL,
  RECORD_ID2           VARCHAR2(100)    NOT NULL,
  RECORD_ID3           VARCHAR2(100)    NOT NULL,
  RECORD_ID4           VARCHAR2(100)    NOT NULL,
  SESSION_ID           VARCHAR2(255),
  FOCUS_ID             VARCHAR2(255),
  FOCUS_INSTANCE       INT,
  USER_ID              INT,
  USER_TYPE_ID         INT,
  CREATED              DATE,
constraint PK_QX_LOCK primary key (PKEY),
constraint FK_QX_LOCK_QX_USER_TYPE foreign key (USER_TYPE_ID) references QX_USER_TYPE (USER_TYPE_ID)
);

create unique index IDX_LOCK_TABLE_RECORDS on QX_LOCK (
  TABLE_NAME,
  RECORD_ID,
  RECORD_ID2,
  RECORD_ID3,
  RECORD_ID4
);

create index IDX_QX_LOCK_SESSION   on QX_LOCK (SESSION_ID);
create index IDX_QX_LOCK_FOCUS     on QX_LOCK (FOCUS_ID);
create index IDX_QX_LOCK_USER      on QX_LOCK (USER_ID);
create index IDX_QX_LOCK_USER_TYPE on QX_LOCK (USER_TYPE_ID);



--
-- SEARCH
--

create table QX_SEARCH (
  SEARCH_ID     INT        NOT NULL,
  NAME          VARCHAR2(255)    NOT NULL,
  OWNER_ID      INT,
  TIMESTAMP     DATE    NOT NULL,
  FOCUS_ID      VARCHAR2(255)    NOT NULL,
  TAB_ID        VARCHAR2(255)    NOT NULL,
  FORM_ID       VARCHAR2(255)    NOT NULL,
  BODY          CLOB        NOT NULL,
constraint PK_QX_SEARCH primary key (SEARCH_ID)
);

create index IDX_QX_SEARCH_OWNER on QX_SEARCH (OWNER_ID);
create index IDX_QX_SEARCH_FOCUS on QX_SEARCH (FOCUS_ID);
create index IDX_QX_SEARCH_TAB   on QX_SEARCH (TAB_ID);
create index IDX_QX_SEARCH_FORM  on QX_SEARCH (FORM_ID);


--
-- MISC
--
create table QX_STATES (
    pkey              int             not null,
    name              VARCHAR2(255)    not null,
    state_id          VARCHAR2(2)      not null,
    constraint PK_QX_STATES primary key (pkey)
);

create table QX_MAIL_PROVIDER (
    PKEY int not null,
    PROVIDER_ID VARCHAR2(50),
    PROVIDER_NAME VARCHAR2(50),
constraint PK_QX_MAIL_PROVIDER primary key (PKEY)
);

create table QX_AUTO_REPLY (
    PKEY int not null,
    NAME VARCHAR2(255) not null,
    DESCRIPTION VARCHAR2(255) null,
    SUCCESSFUL_SUBJECT VARCHAR2(255) not null,
    SUCCESSFUL_BODY CLOB null,
    UPDATE_SUBJECT VARCHAR2(255) not null,
    UPDATE_BODY CLOB null,
    FAIL_SUBJECT VARCHAR2(255) not null,
    FAIL_BODY CLOB null,
    CREATED_BY int not null,
    CREATED_DATE date,
constraint PK_QX_AUTO_REPLY primary key (PKEY),
constraint FK_CREATED_BY_QX_USERS foreign key (CREATED_BY) references QX_USERS (PKEY)
);

create table QX_ACCOUNT (
    PKEY int not null,
    OWNER_ID int null,
    WORKGROUP_ID int null,
    ACCOUNT_NAME VARCHAR2(255) not null,
    ACCOUNT_PROVIDER int not null,
    EMAIL_SERVER VARCHAR2(255) not null,
    EMAIL_SERVER_PORT VARCHAR2(50) null,
    EMAIL_SERVER_FOLDER VARCHAR2(50) null,
    EMAIL_PASSWORD VARCHAR2(255) not null,
    EMAIL_BOX_NAME VARCHAR2(255) null,
    LOGIN_NAME VARCHAR2(50) not null,
    LASTRECEIVE_DATE date,
    MAX_MAIL_SIZE int null,
    MAX_INBOX_SIZE int null,
    DELETE_EMAIL_FLAG int null,
    UNREAD_EMAIL_FLAG int null,
    UNREAD_OUTEMAIL_FLAG int null,
    ACTIVE_ACC int null,
    VALID_ACC int null,
    DELAY int null,
    NEXT_CHECK_DATE date,
    NOTES CLOB,
    AUTOREPLY_ID int null,
    CREATED_BY int not null,
    CREATED_DATE date,
    REPLY_EMAIL VARCHAR2(255),
constraint PK_QX_ACCOUNT primary key (PKEY),
constraint FK_ACCNT_QX_WORKGROUP foreign key (WORKGROUP_ID) references QX_WORKGROUP (PKEY),
constraint FK_ACCNT_QX_MAIL_PROVIDER foreign key (ACCOUNT_PROVIDER) references QX_MAIL_PROVIDER (PKEY),
constraint FK_ACCNT_CREATED_BY_QX_USERS foreign key (CREATED_BY) references QX_USERS (PKEY),
constraint FK_ACCNT_ACCOUNT_PROVIDER foreign key (ACCOUNT_PROVIDER) references QX_MAIL_PROVIDER (PKEY),
constraint FK_ACCNT_OWNER_QX_USERS foreign key (OWNER_ID) references QX_USERS (PKEY),
constraint FK_ACCNT_QX_AUTO_REPLY foreign key (AUTOREPLY_ID) references QX_AUTO_REPLY (PKEY)
);

create table QX_EMAIL_ROUTING_RULES (
    PKEY int not null,
    OWNER_ID int null,
    WORKGROUP_ID int null,
    RULE_NAME VARCHAR2(50) not null,
    KEY_WORD VARCHAR2(255) not null,
    FROM_ADDRESS int null,
    TO_ADDRESS int null,
    SUBJECT int null,
    BODY int null,
    AUTOREPLY_ID int null,
    CREATED_BY int not null,
    CREATED_DATE date,
constraint PK_QX_EMAIL_ROUTING_RULES primary key (PKEY),
constraint FK_ROUTING_QX_WORKGROUP foreign key (WORKGROUP_ID) references QX_WORKGROUP (PKEY),
constraint FK_ROUTING_CREATED_BY_QX_USERS foreign key (CREATED_BY) references QX_USERS (PKEY),
constraint FK_ROUTING_OWNER_QX_USERS foreign key (OWNER_ID) references QX_USERS (PKEY)
);

create table QX_EMAIL_ROUTING (
    ACCOUNT_ID int not null,
    ROUTING_RULE int not null,
    constraint PK_QX_EMAIL_ROUTING primary key (ACCOUNT_ID, ROUTING_RULE),
    constraint FK_QX_EMAIL_ROUTING_ACCOUNT foreign key (ACCOUNT_ID) references QX_ACCOUNT(PKEY),
    constraint FK_QX_EMAIL_ROUTING_RULES foreign key (ROUTING_RULE) references QX_EMAIL_ROUTING_RULES(PKEY)
);

create table QX_EMAIL_FILTER (
    PKEY int not null,
    NAME VARCHAR2(50) not null,
    FROM_ADDRESS int null,
    TO_ADDRESS int null,
    SUBJECT int null,
    BODY int null,
    WORD VARCHAR2(255) not null,
    CREATED_BY int not null,
    CREATED_DATE date,
constraint PK_QX_EMAIL_FILTER primary key (PKEY),
constraint FK_EMAIL_FILTER_QX_USERS foreign key (CREATED_BY) references QX_USERS (PKEY)
);

create table QX_FILTER_ACCOUNT (
    ACCOUNT_ID int not null,
    EMAIL_FILTER int not null,
constraint PK_QX_FILTER_ACCOUNT primary key (ACCOUNT_ID, EMAIL_FILTER),
constraint FK_QX_FILTER_ACCNT_ACCOUNT foreign key (ACCOUNT_ID) REFERENCES QX_ACCOUNT(PKEY),
constraint FK_QX_FILTER_ACCNT_FILTER foreign key (EMAIL_FILTER) REFERENCES QX_EMAIL_FILTER(PKEY)
);

create table QX_INBOX (
    PKEY int not null,
    MESSAGE_TYPE int default 0 not null, -- 0 is email message, 1 - alert
    MESSAGE_SENDER int null,
    MESSAGE_SENDER_EMAIL VARCHAR2(1024),
    RECIPIENT_ID int null,
    WORKGROUP_ID int null,
    EMAIL_TO VARCHAR2(1024) null,
    EMAIL_CC VARCHAR2(1024) null,
    SUBJECT VARCHAR2(1024) null,
    MESSAGE CLOB,
    SENT_DATE date,
    SERVER_RECEIVED_DATE date,
    RECEIVED_DATE date,
    OBJECT_TYPE int null,
    OBJECT_ID int null,
    REPLIED_DATE date,
    PROCESS_ID int null,
    ACCOUNT_ID int null,
    DIGEST_SRC VARCHAR2(512),
    DELETE_FLAG int default 0 not null , -- 0 existed, 1 - deleted
constraint PK_QX_INBOX primary key (PKEY),
constraint FK_QX_INBOX_SENDER_QX_USERS foreign key (MESSAGE_SENDER) references QX_USERS(PKEY),
constraint FK_QX_INBOX_RECIPIENT_QX_USERS foreign key (RECIPIENT_ID) references QX_USERS(PKEY),
constraint FK_QX_INBOX_QX_WORKGROUP foreign key (WORKGROUP_ID) references QX_WORKGROUP(PKEY),
constraint FK_QX_INBOX_QX_VIEW_OBJ_TYPES foreign key (OBJECT_TYPE) references QX_VIEW_OBJECT_TYPES(PKEY),
constraint FK_QX_INBOX_QX_ACCOUNT foreign key (ACCOUNT_ID) references QX_ACCOUNT(PKEY)
);

create view QX_DD_OBJECT_TYPE as
    select
        ENUM_VALUE as PKEY,
        ENUM_LABEL as NAME
    from QX_FIELDINFO
    where (TABLE_NAME = 'qx_inbox') and (COLUMN_NAME = 'object_type')
;

create view qx_user_roles as
select distinct r.role_id, u.user_id
  from qx_role r, qx_role_to_users u
  where r.role_id = u.role_id
union all
select r.role_id, g.employeegroup
  from qx_role r, qx_workgroup_to_role wr, qx_groupmember g
  where r.role_id = wr.role_id
    and wr.workgroup_id = g.workgroupgroup
;

create table QX_EMAIL_SERVICE_LOG (
    PKEY int NOT NULL ,
    MESSAGE_ID int NULL ,
    MESSAGE_TYPE int NULL ,
    E_TO VARCHAR2(255) NULL ,
    E_FROM VARCHAR2(255) NULL ,
    E_SUBJECT VARCHAR2(1022) NULL ,
    MESSAGE_LEVEL int NULL ,
    CREATED date NULL ,
    OWNER_ID int NULL ,
    WORKGROUP_ID int NULL ,
    OBJECT_TYPE int null,
    OBJECT_ID int null,
    FILTER_ID int NULL ,
    ROUTING_ID int NULL ,
    DESCRIPTION VARCHAR2(1022) NULL ,
    ACCOUNT_ID int NULL ,
constraint PK_QX_EMAIL_SERVICE_LOG primary key (PKEY)
);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -