Files
MES/yawei-mes/.sql/2026-03-03_v2.0.003_周启威_报工单升级优化.sql
2026-04-02 10:39:03 +08:00

92 lines
7.4 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- ============================================================
-- 报工单升级:新增字段
-- 版本v2.0.003 日期2026-03-03 作者:周启威
-- ============================================================
-- 字段变更说明:
-- [已移除] report_count
-- 原说明:报工数
-- 原因:与现有字段 report_quantity 语义完全相同,冗余
-- 现阶段:直接使用 report_quantity 表示本次报工数量
--
-- [已移除] quality_check_status
-- 原说明:质检合格(合格/不合格)
-- 原因:与现有字段 quality_statusB=待检验/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`);