最近做的一个项目,其中一个核心模块流程比较多,记录一下,流程如下。

 

 

模型设计如下,更详细的涉及了具体业务的就不写了,大概写一下:

 

-- 盘点方案表
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='上、同级评估关系和条线和下级评估关系表';

 

posted on 2022-04-02 18:02  袁子弹  阅读(341)  评论(0编辑  收藏  举报