1. 程式人生 > 其它 >記一個專案的核心功能模組設計

記一個專案的核心功能模組設計

最近做的一個專案,其中一個核心模組流程比較多,記錄一下,流程如下。

 

 

模型設計如下,更詳細的涉及了具體業務的就不寫了,大概寫一下:

 

-- 盤點方案表
DROP TABLE IF EXISTS `inventory_job`;
CREATE TABLE `inventory_job` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵id',
  `name` varchar(32) NOT NULL COMMENT '盤點方案名稱',
  `state` tinyint(4) unsigned NOT NULL
DEFAULT '0' COMMENT '狀態 1--啟用 0--停用', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改時間', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '建立時間', `update_id` int(11) DEFAULT NULL COMMENT '修改人', `create_id` int(11) DEFAULT NULL COMMENT '建立人', PRIMARY
KEY (`id`) USING BTREE, UNIQUE KEY `idx_name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='盤點方案表'; -- 盤點方案配置表 DROP TABLE IF EXISTS `inventory_job_config`; CREATE TABLE `inventory_job_config` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵id', `inventory_job_id` int(11) NOT
NULL COMMENT '盤點方案id', `evaluation_level_config` varchar(255) COMMENT '評估等級設定', `evaluation_relation_config` varchar(255) COMMENT '評估關係設定', `subordinate_option_config` varchar(255) COMMENT '下級選項設定', `appointment_recommendation_config` varchar(255) COMMENT '任用建議設定', `questionnaire_template` varchar(255) COMMENT '設定評價問卷規則模版', `group_flag` tinyint(4) unsigned NOT NULL DEFAULT '1' COMMENT '啟用重新分組模組1--啟用 0--停用', `meeting_flag` tinyint(4) unsigned NOT NULL DEFAULT '1' COMMENT '啟用人才會議模組1--啟用 0--停用', `questionnaire_flag` tinyint(4) unsigned NOT NULL DEFAULT '1' COMMENT '啟用評價問卷模組1--啟用 0--停用', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改時間', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '建立時間', `update_id` int(11) DEFAULT NULL COMMENT '修改人', `create_id` int(11) DEFAULT NULL COMMENT '建立人', PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='盤點方案配置表'; -- 盤點專案表 DROP TABLE IF EXISTS `inventory_project`; CREATE TABLE `inventory_project` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵id', `inventory_job_id` int(11) NOT NULL COMMENT '盤點方案id', `name` varchar(32) NOT NULL COMMENT '盤點專案名稱', `follow_id` int(11) DEFAULT NULL COMMENT '跟進人id(預設為建立人)', `state` tinyint(4) unsigned NOT NULL DEFAULT '1' COMMENT '盤點專案狀態 1--進行中 2--已完成 3--歸檔', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改時間', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '建立時間', `update_id` int(11) DEFAULT NULL COMMENT '修改人', `create_id` int(11) DEFAULT NULL COMMENT '建立人', PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `idx_name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='盤點專案表'; -- 盤點分組表 DROP TABLE IF EXISTS `inventory_group`; CREATE TABLE `inventory_group` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵id', `inventory_project_id` int(11) NOT NULL COMMENT '盤點專案id', `name` varchar(32) NOT NULL COMMENT '盤點分組名稱', `type` tinyint(4) unsigned NOT NULL DEFAULT '1' COMMENT '盤點分組型別1--其他分組 2--重新分組 3--所有盤點物件', `number` tinyint(4) unsigned NOT NULL DEFAULT '0' COMMENT '推送評價問卷次數', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改時間', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '建立時間', `update_id` int(11) DEFAULT NULL COMMENT '修改人', `create_id` int(11) DEFAULT NULL COMMENT '建立人', PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `idx_inventory_project_id_name` (`inventory_project_id`,`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='盤點分組表'; -- 盤點分組和盤點物件關係表 DROP TABLE IF EXISTS `inventory_group_person_rel`; CREATE TABLE `inventory_group_person_rel` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵id', `inventory_group_id` int(11) NOT NULL COMMENT '盤點分組id', `person_code` varchar(32) NOT NULL COMMENT '盤點物件工號', `up_flag` tinyint(4) unsigned NOT NULL DEFAULT '0' COMMENT '上、同級資料 1--完成 0--進行中', `line_flag` tinyint(4) unsigned NOT NULL DEFAULT '0' COMMENT '條線資料 1--完成 0--進行中', `down_flag` tinyint(4) unsigned NOT NULL DEFAULT '0' COMMENT '下級資料 1--完成 0--進行中', `up_appraise` varchar(32) DEFAULT NULL COMMENT '上、同級互評', `line_appraise` varchar(32) DEFAULT NULL COMMENT '條線評價', `down_appraise` varchar(32) DEFAULT NULL COMMENT '下級評價', `preponderance` varchar(255) DEFAULT NULL COMMENT '優勢內容', `shortage` varchar(255) DEFAULT NULL COMMENT '不足內容', `key_experience` varchar(255) DEFAULT NULL COMMENT '關鍵歷練內容', `performance` varchar(32) DEFAULT NULL COMMENT '績效', `appointment_recommendation` varchar(255) DEFAULT NULL COMMENT '任用建議', `hot_tip` varchar(255) DEFAULT NULL COMMENT '特別提示', `comments` varchar(255) DEFAULT NULL COMMENT '評議意見', `comments_result` varchar(32) DEFAULT NULL COMMENT '評議結果', `development_willingness` varchar(255) DEFAULT NULL COMMENT '人才發展意願檔案路徑', PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='盤點分組和盤點物件關係表'; -- 上、同級評估關係和條線和下級評估關係表 DROP TABLE IF EXISTS `inventory_appraise`; CREATE TABLE `inventory_appraise` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵id', `inventory_group_id` int(11) NOT NULL COMMENT '盤點分組id', `person_code` varchar(32) NOT NULL COMMENT '被評估人工號', `appraise_person_code` varchar(32) NOT NULL COMMENT '評估人工號', `appraise_person_name` varchar(32) NOT NULL COMMENT '評估人姓名', `appraise_relation` varchar(32) NOT NULL COMMENT '評價關係', `type` tinyint(4) unsigned NOT NULL DEFAULT '1' COMMENT '型別1--條線評估關係 2--下級評估關係 3--上、同級評估關係表', `weight` double(5,2) NOT NULL COMMENT '權重', `result` varchar(32) NOT NULL COMMENT '評價結果', `appraise_reason` varchar(500) NOT NULL COMMENT '評價理由', PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='上、同級評估關係和條線和下級評估關係表';