67 lines
5.6 KiB
MySQL
67 lines
5.6 KiB
MySQL
|
|
-- Running upgrade 23b4c5d6e7f8 -> 24c5d6e7f8a9
|
|||
|
|
|
|||
|
|
ALTER TABLE personnel ADD COLUMN probation_start_date DATE COMMENT '试用期开始日(含当日)';
|
|||
|
|
|
|||
|
|
ALTER TABLE personnel ADD COLUMN regularization_date DATE COMMENT '转正生效日(当日不再属于试用期)';
|
|||
|
|
|
|||
|
|
ALTER TABLE personnel ADD COLUMN resignation_date DATE COMMENT '离职生效日(当日起不计基本工资)';
|
|||
|
|
|
|||
|
|
ALTER TABLE personnel ADD COLUMN salary_history_json JSON COMMENT '工资标准、岗位及任职资料生效版本';
|
|||
|
|
|
|||
|
|
ALTER TABLE products ADD COLUMN source_trade_json JSON COMMENT '最近有效发货数量、含税成交价及源单据快照';
|
|||
|
|
|
|||
|
|
ALTER TABLE products ADD COLUMN quantity_price_manual SMALLINT NOT NULL COMMENT '数量单价人工保护:1人工维护 0随源更新' DEFAULT '0';
|
|||
|
|
|
|||
|
|
ALTER TABLE settlement_items ADD COLUMN normal_payable_sum NUMERIC(14, 2) NOT NULL COMMENT '当月正常实付绩效' DEFAULT '0';
|
|||
|
|
|
|||
|
|
ALTER TABLE settlement_items ADD COLUMN deferred_sum NUMERIC(14, 2) NOT NULL COMMENT '当月试用期缓发变化' DEFAULT '0';
|
|||
|
|
|
|||
|
|
ALTER TABLE settlement_items ADD COLUMN probation_payment_sum NUMERIC(14, 2) NOT NULL COMMENT '本月年度补发或扣回' DEFAULT '0';
|
|||
|
|
|
|||
|
|
CREATE TABLE probation_deferrals (
|
|||
|
|
id BIGINT UNSIGNED NOT NULL COMMENT '主键ID' AUTO_INCREMENT,
|
|||
|
|
ledger_id BIGINT UNSIGNED NOT NULL COMMENT '原核算台账版本ID',
|
|||
|
|
personnel_id BIGINT UNSIGNED NOT NULL COMMENT '归属人员ID',
|
|||
|
|
year VARCHAR(4) NOT NULL COMMENT '原计提年度',
|
|||
|
|
month VARCHAR(7) NOT NULL COMMENT '本次计提或应付变化月份',
|
|||
|
|
accrued NUMERIC(14, 2) NOT NULL COMMENT '本次试用期计提额,可负',
|
|||
|
|
eligible NUMERIC(14, 2) NOT NULL COMMENT '满足起付及权重的本次应付差额,可负',
|
|||
|
|
create_time DATETIME NOT NULL COMMENT '创建时间' DEFAULT CURRENT_TIMESTAMP,
|
|||
|
|
CONSTRAINT pk_probation_deferrals PRIMARY KEY (id),
|
|||
|
|
CONSTRAINT uk_probation_deferrals_ledger_id UNIQUE (ledger_id),
|
|||
|
|
CONSTRAINT fk_probation_deferrals_ledger_id FOREIGN KEY(ledger_id) REFERENCES performance_ledgers (id) ON DELETE RESTRICT
|
|||
|
|
)ENGINE=InnoDB CHARSET=utf8mb4 COMMENT='试用期缓发台账(每个正式台账版本一条)' COLLATE utf8mb4_general_ci;
|
|||
|
|
|
|||
|
|
CREATE INDEX idx_probation_deferrals_personnel_id_year ON probation_deferrals (personnel_id, year);
|
|||
|
|
|
|||
|
|
CREATE TABLE probation_payments (
|
|||
|
|
id BIGINT UNSIGNED NOT NULL COMMENT '主键ID' AUTO_INCREMENT,
|
|||
|
|
settlement_id BIGINT UNSIGNED COMMENT '月结ID(当月调整单结清时为空)',
|
|||
|
|
adjustment_order_id BIGINT UNSIGNED COMMENT '已生成工资后的结清调整单ID',
|
|||
|
|
personnel_id BIGINT UNSIGNED NOT NULL COMMENT '归属人员ID',
|
|||
|
|
year VARCHAR(4) NOT NULL COMMENT '原累计年度',
|
|||
|
|
month VARCHAR(7) NOT NULL COMMENT '本次实际支付月份',
|
|||
|
|
amount NUMERIC(14, 2) NOT NULL COMMENT '本次补发或扣回金额',
|
|||
|
|
snapshot_json JSON NOT NULL COMMENT '计提、起付权重、门槛及历史补发依据',
|
|||
|
|
create_time DATETIME NOT NULL COMMENT '创建时间' DEFAULT CURRENT_TIMESTAMP,
|
|||
|
|
CONSTRAINT pk_probation_payments PRIMARY KEY (id),
|
|||
|
|
CONSTRAINT uk_probation_payments_settlement_person_year UNIQUE (settlement_id, personnel_id, year),
|
|||
|
|
CONSTRAINT uk_probation_payments_adjustment_order_id UNIQUE (adjustment_order_id),
|
|||
|
|
CONSTRAINT fk_probation_payments_settlement_id FOREIGN KEY(settlement_id) REFERENCES monthly_settlements (id) ON DELETE CASCADE,
|
|||
|
|
CONSTRAINT fk_probation_payments_adjustment_order_id FOREIGN KEY(adjustment_order_id) REFERENCES adjustment_orders (id) ON DELETE RESTRICT
|
|||
|
|
)ENGINE=InnoDB CHARSET=utf8mb4 COMMENT='试用期年终及后续结清记录(工资生成事务内固化)' COLLATE utf8mb4_general_ci;
|
|||
|
|
|
|||
|
|
CREATE INDEX idx_probation_payments_personnel_id_year ON probation_payments (personnel_id, year);
|
|||
|
|
|
|||
|
|
INSERT INTO param_definitions (param_code, param_name, param_group, value_type, unit, dimension_type, value_min, value_max, description, sort_order, status) VALUES ('coefficient.personal.first', '个人户首日比例', '产品系数表', 'DECIMAL', '‰', 'PRODUCT_CATEGORY', '0', NULL, '按产品类别维护;未配置时沿用同日期的通用业务员参数。', 52, 1);
|
|||
|
|
|
|||
|
|
INSERT INTO param_definitions (param_code, param_name, param_group, value_type, unit, dimension_type, value_min, value_max, description, sort_order, status) VALUES ('coefficient.personal.start', '个人户线性阶段起始比例', '产品系数表', 'DECIMAL', '‰', 'PRODUCT_CATEGORY', '0', NULL, '按产品类别维护;未配置时沿用同日期的通用业务员参数。', 53, 1);
|
|||
|
|
|
|||
|
|
INSERT INTO param_definitions (param_code, param_name, param_group, value_type, unit, dimension_type, value_min, value_max, description, sort_order, status) VALUES ('coefficient.personal.slope', '个人户线性阶段日斜率', '产品系数表', 'DECIMAL', '‰/天', 'PRODUCT_CATEGORY', '0', NULL, '按产品类别维护;未配置时沿用同日期的通用业务员参数。', 54, 1);
|
|||
|
|
|
|||
|
|
INSERT INTO param_definitions (param_code, param_name, param_group, value_type, unit, dimension_type, value_min, value_max, description, sort_order, status) VALUES ('coefficient.personal.floor', '个人户超期比例', '产品系数表', 'DECIMAL', '‰', 'PRODUCT_CATEGORY', '0', NULL, '按产品类别维护;未配置时沿用同日期的通用业务员参数。', 55, 1);
|
|||
|
|
|
|||
|
|
INSERT INTO param_definitions (param_code, param_name, param_group, value_type, unit, dimension_type, value_min, value_max, description, sort_order, status) VALUES ('coefficient.personal.boundary', '个人户线性阶段截止天数', '产品系数表', 'INT', '天', 'PRODUCT_CATEGORY', '1', '3660', '按产品类别维护;未配置时沿用同日期的通用业务员参数。', 56, 1);
|
|||
|
|
|
|||
|
|
|