92 lines
7.4 KiB
MySQL
92 lines
7.4 KiB
MySQL
|
|
-- ============================================================
|
|||
|
|
-- 报工单升级:新增字段
|
|||
|
|
-- 版本:v2.0.003 日期:2026-03-03 作者:周启威
|
|||
|
|
-- ============================================================
|
|||
|
|
-- 字段变更说明:
|
|||
|
|
-- [已移除] report_count
|
|||
|
|
-- 原说明:报工数
|
|||
|
|
-- 原因:与现有字段 report_quantity 语义完全相同,冗余
|
|||
|
|
-- 现阶段:直接使用 report_quantity 表示本次报工数量
|
|||
|
|
--
|
|||
|
|
-- [已移除] quality_check_status
|
|||
|
|
-- 原说明:质检合格(合格/不合格)
|
|||
|
|
-- 原因:与现有字段 quality_status(B=待检验/C=已通过/D=有异常)重叠
|
|||
|
|
-- 现阶段:直接使用 quality_status 字段
|
|||
|
|
-- ============================================================
|
|||
|
|
|
|||
|
|
ALTER TABLE `pro_report`
|
|||
|
|
ADD COLUMN `customer_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '客户名称(来自工单关联销售订单,新增时自动回显)',
|
|||
|
|
ADD COLUMN `customer_id` bigint DEFAULT NULL COMMENT '客户ID(关联客户表)',
|
|||
|
|
ADD COLUMN `workpiece` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '工件/成品名称(= 工单 material_name,新增时自动回显)',
|
|||
|
|
ADD COLUMN `product_batch` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '产品批次(= 工单 batch_number,新增时自动回显)',
|
|||
|
|
ADD COLUMN `execution_standard` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '执行标准(手动填写,默认为空)',
|
|||
|
|
ADD COLUMN `process_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '工序名称(= 工单分录 process_name,新增时自动回显,持久化)',
|
|||
|
|
ADD COLUMN `process_id` bigint DEFAULT NULL COMMENT '工序ID(持久化,关联工序表)',
|
|||
|
|
ADD COLUMN `team_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '班组名称(字典 production_team,离散/连续制造均需填写,默认为空)',
|
|||
|
|
ADD COLUMN `team_id` bigint DEFAULT NULL COMMENT '班组ID(关联字典/班组表)',
|
|||
|
|
ADD COLUMN `report_type` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT 'NORMAL' COMMENT '报工类型(字典 production_report_type,默认:NORMAL=正常报工)',
|
|||
|
|
ADD COLUMN `plan_start_time` datetime DEFAULT NULL COMMENT '计划开始时间(= 工单 process_start_time,新增时自动回显)',
|
|||
|
|
ADD COLUMN `actual_start_time` datetime DEFAULT NULL COMMENT '实际开始时间(默认=计划开始时间,离散/连续均需填写)',
|
|||
|
|
ADD COLUMN `plan_end_time` datetime DEFAULT NULL COMMENT '计划完工时间(= 工单 process_start_time + 工单工序明细 duration(秒),新增时自动计算回显)',
|
|||
|
|
ADD COLUMN `actual_end_time` datetime DEFAULT NULL COMMENT '实际完工时间(默认=计划完工时间,离散/连续均需填写)',
|
|||
|
|
ADD COLUMN `report_submit_time` datetime DEFAULT NULL COMMENT '报工提交时间(后端保存时自动写入 NOW(),不暴露到前端)',
|
|||
|
|
ADD COLUMN `plan_count` decimal(9,3) DEFAULT NULL COMMENT '计划数(= 工单排产数量 quantity,新增时自动回显)',
|
|||
|
|
ADD COLUMN `yield_rate` decimal(5,2) DEFAULT NULL COMMENT '良品率(前端实时计算:合格数/报工数×100,保存时持久化)',
|
|||
|
|
ADD COLUMN `performance_wages` decimal(9,3) DEFAULT 0 COMMENT '绩效工资(手动填写,默认0)',
|
|||
|
|
ADD COLUMN `energy_consumption` decimal(9,3) DEFAULT 0 COMMENT '能耗(手动填写,默认0)',
|
|||
|
|
ADD COLUMN `material_consumption` decimal(9,3) DEFAULT 0 COMMENT '工耗(手动填写,默认0)',
|
|||
|
|
ADD COLUMN `other_costs` decimal(9,3) DEFAULT 0 COMMENT '其他成本(手动填写,默认0)',
|
|||
|
|
ADD COLUMN `value_added` decimal(9,3) DEFAULT 0 COMMENT '增值(手动填写,默认0)',
|
|||
|
|
ADD COLUMN `theoretical_cycle_time` decimal(9,3) DEFAULT NULL COMMENT '理论节拍(分钟/件,手动填写,用于OEE参考)',
|
|||
|
|
ADD COLUMN `station_oee` decimal(5,2) DEFAULT NULL COMMENT '工位OEE(前端计算,公式待完善,暂可手动编辑)',
|
|||
|
|
ADD COLUMN `current_benefit` decimal(9,3) DEFAULT NULL COMMENT '本次效益(前端计算:增值-能耗-工耗-其他成本,暂可手动编辑)',
|
|||
|
|
ADD COLUMN `station_exception` varchar(500) DEFAULT NULL COMMENT '工位异常情况(手动填写,默认为空)',
|
|||
|
|
ADD COLUMN `rectification_suggestion` varchar(500) DEFAULT NULL COMMENT '整改建议(手动填写,默认为空)';
|
|||
|
|
|
|||
|
|
-- ============================================================
|
|||
|
|
-- 1. 补充 ID 列(已合并到上方 ALTER TABLE)
|
|||
|
|
-- 注:customer_id / process_id / team_id 已随字段一并添加
|
|||
|
|
-- ============================================================
|
|||
|
|
|
|||
|
|
-- ============================================================
|
|||
|
|
-- 2. 修改现有字段:is_settle 和 wages 改为可编辑
|
|||
|
|
-- 原说明:是否已结算工资(只读)/ 结算工资(只读)
|
|||
|
|
-- 现阶段:改为可编辑字段,由用户手动填写或系统结算后更新
|
|||
|
|
-- 字段已存在,无需 ALTER,仅前端去掉 :disabled="true" 即可
|
|||
|
|
-- ============================================================
|
|||
|
|
|
|||
|
|
-- ============================================================
|
|||
|
|
-- 3. 新增字典:报工类型(production_report_type)
|
|||
|
|
-- ============================================================
|
|||
|
|
INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark)
|
|||
|
|
VALUES ('报工类型', 'production_report_type', '0', 'admin', NOW(), '报工单报工类型');
|
|||
|
|
|
|||
|
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark)
|
|||
|
|
VALUES
|
|||
|
|
(1, '正常报工', 'NORMAL', 'production_report_type', '', 'success', 'Y', '0', 'admin', NOW(), '正常生产报工'),
|
|||
|
|
(2, '返工报工', 'REWORK', 'production_report_type', '', 'warning', 'N', '0', 'admin', NOW(), '返工生产报工'),
|
|||
|
|
(3, '补报工', 'SUPPLEMENT', 'production_report_type', '', 'info', 'N', '0', 'admin', NOW(), '补录报工'),
|
|||
|
|
(4, '异常补录', 'EXCEPTION', 'production_report_type', '', 'danger', 'N', '0', 'admin', NOW(), '异常情况补录');
|
|||
|
|
|
|||
|
|
-- ============================================================
|
|||
|
|
-- 4. 新增字典:班组(production_team)
|
|||
|
|
-- 注:班次(sys_shift_type)字典已存在,本次不重复创建
|
|||
|
|
-- ============================================================
|
|||
|
|
INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark)
|
|||
|
|
VALUES ('生产班组', 'production_team', '0', 'admin', NOW(), '生产班组列表,可在字典管理中维护');
|
|||
|
|
|
|||
|
|
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark)
|
|||
|
|
VALUES
|
|||
|
|
(1, '甲班', 'GROUP_A', 'production_team', '', 'primary', 'N', '0', 'admin', NOW(), ''),
|
|||
|
|
(2, '乙班', 'GROUP_B', 'production_team', '', 'primary', 'N', '0', 'admin', NOW(), ''),
|
|||
|
|
(3, '丙班', 'GROUP_C', 'production_team', '', 'primary', 'N', '0', 'admin', NOW(), '');
|
|||
|
|
|
|||
|
|
-- ============================================================
|
|||
|
|
-- 5. 索引:新增字段检索优化
|
|||
|
|
-- ============================================================
|
|||
|
|
ALTER TABLE `pro_report`
|
|||
|
|
ADD INDEX `idx_customer_id` (`customer_id`),
|
|||
|
|
ADD INDEX `idx_process_id` (`process_id`),
|
|||
|
|
ADD INDEX `idx_team_id` (`team_id`),
|
|||
|
|
ADD INDEX `idx_report_type` (`report_type`);
|