work_order CREATE TABLE `work_order` (
    `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
    `name` varchar(90) NOT NULL COMMENT '工单名称',
    `nbo_id` int(11) DEFAULT NULL COMMENT '关联项目',
    `nbo_code` varchar(32) DEFAULT NULL COMMENT '项目编码',
    `nbo_name` varchar(90) DEFAULT NULL COMMENT '项目名称',
    `cust_id` int(11) DEFAULT NULL COMMENT '关联客户',
    `cust_name` varchar(90) DEFAULT NULL COMMENT '客户名称',
    `order_type_id` int(11) NOT NULL COMMENT '工单类型',
    `order_type_name` varchar(90) NOT NULL COMMENT '工单类型名称',
    `order_status` varchar(4) NOT NULL COMMENT '工单状态（10发起20审批中30审批通过40审批拒绝50关闭）',
    `form_data` text NOT NULL COMMENT '表单数据',
    `assign_user_id` int(11) DEFAULT NULL COMMENT '分派人员ID',
    `assign_user_name` varchar(90) DEFAULT NULL COMMENT '分派人员姓名',
    `feedback` varchar(255) DEFAULT NULL COMMENT '反馈信息',
    `file` text DEFAULT NULL COMMENT '相关文件',
    `remark` text DEFAULT NULL COMMENT '备注',
    `created_by` int(11) NOT NULL COMMENT '创建者',
    `created_name` varchar(90) NOT NULL COMMENT '创建人',
    `created_time` datetime NOT NULL COMMENT '创建时间',
    `updated_by` int(11) DEFAULT NULL COMMENT '更新者',
    `updated_name` varchar(90) DEFAULT NULL COMMENT '更新人',
    `updated_time` datetime DEFAULT NULL COMMENT '更新时间',
    `deleted_time` datetime DEFAULT NULL COMMENT '删除时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 9 DEFAULT CHARSET = utf8mb4 ROW_FORMAT = DYNAMIC COMMENT = '工单信息' 

-- 工单列表显示字段：工单编号、工单标题、工单类型、工单状态、关联客户、关联项目、产品线、负责人、是否超期、申请人
alter table work_order add `product_line` varchar(4) NOT NULL COMMENT '产品线' after nbo_name;
alter table work_order add `end_time` datetime DEFAULT NULL COMMENT '结束时间' after order_status;
alter table work_order add `finish_remark` text DEFAULT NULL COMMENT '完成信息' after `file`;
alter table work_order add `finish_time` datetime DEFAULT NULL COMMENT '完成时间' after `finish_remark`;
alter table work_order add `finish_by` int(11) DEFAULT NULL COMMENT '完成操作人' after `finish_time`;
alter table work_order add `finish_by_name`  varchar(90) DEFAULT NULL COMMENT '完成操作人' after `finish_by`;
alter table work_order modify `order_status` varchar(4) NOT NULL COMMENT '工单状态（10发起20审批中30审批通过40审批拒绝50关闭60已完成）';


DROP TABLE IF EXISTS deliver_order;
CREATE TABLE deliver_order(
    `id` INT(11) NOT NULL AUTO_INCREMENT  COMMENT '主键' ,
    `order_code` VARCHAR(32) NOT NULL   COMMENT '交付订单号' ,
    `order_status` VARCHAR(4) NOT NULL   COMMENT '交付状态(10项目立项 20 完成)' ,
    `order_type` VARCHAR(4) NOT NULL   COMMENT '交付类型(10 软件 20 硬件)' ,
    `cust_id` INT(11) NOT NULL   COMMENT '关联客户ID' ,
    `cust_name` VARCHAR(90) NOT NULL   COMMENT '关联客户名称' ,
    `project_id` INT(11) NOT NULL   COMMENT '关联项目ID' ,
    `project_name` VARCHAR(90) NOT NULL   COMMENT '关联项目名称' ,
    `contract_id` INT(11) NOT NULL   COMMENT '关联合同ID' ,
    `contract_code` VARCHAR(32) NOT NULL   COMMENT '关联合同编号' ,
    `project_man_id` INT(11)    COMMENT '项目经理' ,
    `project_man_name` VARCHAR(90)    COMMENT '项目经理' ,
    `deliver_man_id` INT(11)    COMMENT '交付经理' ,
    `deliver_man_name` VARCHAR(90)    COMMENT '交付经理' ,
    `product` VARCHAR(4)    COMMENT '产品线' ,
    `finish_remark` text DEFAULT NULL COMMENT '完成信息',
    `finish_time` datetime DEFAULT NULL COMMENT '完成时间',
    `finish_by` int(11) DEFAULT NULL COMMENT '完成操作人',
    `finish_by_name`  varchar(90) DEFAULT NULL COMMENT '完成操作人',
    `remark` TEXT    COMMENT '备注' ,
    `created_by` INT(11) NOT NULL   COMMENT '创建者' ,
    `created_name` VARCHAR(90) NOT NULL   COMMENT '创建人' ,
    `created_time` DATETIME NOT NULL   COMMENT '创建时间' ,
    `updated_by` INT(11)    COMMENT '更新者' ,
    `updated_name` VARCHAR(90)    COMMENT '更新人' ,
    `updated_time` DATETIME    COMMENT '更新时间' ,
    `deleted_time` DATETIME    COMMENT '删除时间' ,
    PRIMARY KEY (id)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '交付订单';
DROP TABLE IF EXISTS deliver_order_product;
CREATE TABLE deliver_order_product(
    `id` INT(11) NOT NULL AUTO_INCREMENT  COMMENT '主键' ,
    `deliver_order_id` INT(11) NOT NULL   COMMENT '关联交付订单ID' ,
    `product_code` VARCHAR(32) NOT NULL   COMMENT '产品编码' ,
    `product_name` VARCHAR(90) NOT NULL   COMMENT '产品名称' ,
    `product_type` VARCHAR(4) NOT NULL   COMMENT '产品类型' ,
    `product_num` INT NOT NULL   COMMENT '产品数量' ,
    `remark` TEXT    COMMENT '备注' ,
    `created_by` INT(11) NOT NULL   COMMENT '创建者' ,
    `created_name` VARCHAR(90) NOT NULL   COMMENT '创建人' ,
    `created_time` DATETIME NOT NULL   COMMENT '创建时间' ,
    `updated_by` INT(11)    COMMENT '更新者' ,
    `updated_name` VARCHAR(90)    COMMENT '更新人' ,
    `updated_time` DATETIME    COMMENT '更新时间' ,
    `deleted_time` DATETIME    COMMENT '删除时间' ,
    PRIMARY KEY (id)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '交付订单产品明细';
DROP TABLE IF EXISTS deliver_order_imp_plan;
CREATE TABLE deliver_order_imp_plan(
    `id` INT(11) NOT NULL AUTO_INCREMENT  COMMENT '主键' ,
    `deliver_order_id` INT(11) NOT NULL   COMMENT '关联交付订单ID' ,
    `plan_title` VARCHAR(90) NOT NULL   COMMENT '计划标题' ,
    `plan_status` VARCHAR(4) NOT NULL   COMMENT '计划状态（10 未开始 20 已开始 30已关闭）' ,
    `plan_start_date` DATETIME NOT NULL   COMMENT '开始时间' ,
    `plan_end_date` DATETIME NOT NULL   COMMENT '结束时间' ,
    `rea_start_date` DATETIME    COMMENT '实际开始时间' ,
    `rea_end_date` DATETIME    COMMENT '实际结束时间' ,
    `remark` TEXT    COMMENT '备注' ,
    `created_by` INT(11) NOT NULL   COMMENT '创建者' ,
    `created_name` VARCHAR(90) NOT NULL   COMMENT '创建人' ,
    `created_time` DATETIME NOT NULL   COMMENT '创建时间' ,
    `updated_by` INT(11)    COMMENT '更新者' ,
    `updated_name` VARCHAR(90)    COMMENT '更新人' ,
    `updated_time` DATETIME    COMMENT '更新时间' ,
    `deleted_time` DATETIME    COMMENT '删除时间' ,
    PRIMARY KEY (id)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '交付订单实施计划';
DROP TABLE IF EXISTS deliver_order_imp_progress;
CREATE TABLE deliver_order_imp_progress(
    `id` INT(11) NOT NULL AUTO_INCREMENT  COMMENT '主键' ,
    `plan_id` INT(11) NOT NULL   COMMENT '关联实施计划' ,
    `progress_title` VARCHAR(90) NOT NULL   COMMENT '任务标题' ,
    `progress_context` TEXT    COMMENT '任务内容' ,
    `start_date` DATETIME NOT NULL   COMMENT '开始时间' ,
    `end_date` DATETIME NOT NULL   COMMENT '结束时间' ,
    `rea_start_date` DATETIME    COMMENT '实际开始时间' ,
    `rea_end_date` DATETIME    COMMENT '实际结束时间' ,
    `progress_status` VARCHAR(255) NOT NULL   COMMENT '状态(10未开始20已开始30已完成)' ,
    `progress_level` VARCHAR(255) NOT NULL   COMMENT '优先级（10最高 20普通 30较低 ）' ,
    `remark` TEXT    COMMENT '备注' ,
    `created_by` INT(11) NOT NULL   COMMENT '创建者' ,
    `created_name` VARCHAR(90) NOT NULL   COMMENT '创建人' ,
    `created_time` DATETIME NOT NULL   COMMENT '创建时间' ,
    `updated_by` INT(11)    COMMENT '更新者' ,
    `updated_name` VARCHAR(90)    COMMENT '更新人' ,
    `updated_time` DATETIME    COMMENT '更新时间' ,
    `deleted_time` DATETIME    COMMENT '删除时间' ,
    PRIMARY KEY (id)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '交付订单实施进展';
