- 数据库:在adm_charge_item表添加SourceBillNo字段 - 后端实体类:更新ChargeItem.java添加SourceBillNo字段 - 前端组件:创建手术计费界面(基于门诊划价界面) - 后端API:扩展PrePrePaymentDto支持手术计费标识 - 后端Service:扩展getChargeItems方法支持手术计费过滤 - 门诊手术安排界面:添加【计费】按钮 注意事项: - 需要手动执行SQL脚本:openhis-server-new/sql/add_source_bill_no_to_adm_charge_item.sql - 术后一站式结算功能待后续开发
71 lines
3.9 KiB
PL/PgSQL
71 lines
3.9 KiB
PL/PgSQL
-- 创建日结医保结算表
|
|
CREATE TABLE IF NOT EXISTS yb_day_end_settlement (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
settlement_no VARCHAR(64) NOT NULL,
|
|
settlement_date DATE NOT NULL,
|
|
settlement_type VARCHAR(20) DEFAULT 'daily',
|
|
insurance_type VARCHAR(50),
|
|
total_visits INTEGER DEFAULT 0,
|
|
total_amount NUMERIC(15,2) DEFAULT 0.00,
|
|
insurance_pay_amount NUMERIC(15,2) DEFAULT 0.00,
|
|
account_pay_amount NUMERIC(15,2) DEFAULT 0.00,
|
|
personal_pay_amount NUMERIC(15,2) DEFAULT 0.00,
|
|
fund_pay_sum_amount NUMERIC(15,2) DEFAULT 0.00,
|
|
status CHAR(1) DEFAULT '0',
|
|
operator VARCHAR(50),
|
|
remark VARCHAR(500),
|
|
create_by VARCHAR(64),
|
|
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
update_by VARCHAR(64),
|
|
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
-- 添加注释
|
|
COMMENT ON TABLE yb_day_end_settlement IS '日结医保结算表';
|
|
COMMENT ON COLUMN yb_day_end_settlement.settlement_no IS '结算单号';
|
|
COMMENT ON COLUMN yb_day_end_settlement.settlement_date IS '结算日期';
|
|
COMMENT ON COLUMN yb_day_end_settlement.settlement_type IS '结算类型 (daily, weekly, monthly)';
|
|
COMMENT ON COLUMN yb_day_end_settlement.insurance_type IS '医保类型 (urbanEmployee, urbanRuralResident, newRuralCooperative, selfPaid)';
|
|
COMMENT ON COLUMN yb_day_end_settlement.total_visits IS '总人次';
|
|
COMMENT ON COLUMN yb_day_end_settlement.total_amount IS '总金额';
|
|
COMMENT ON COLUMN yb_day_end_settlement.insurance_pay_amount IS '医保统筹支付金额';
|
|
COMMENT ON COLUMN yb_day_end_settlement.account_pay_amount IS '个人账户支付金额';
|
|
COMMENT ON COLUMN yb_day_end_settlement.personal_pay_amount IS '个人自付金额';
|
|
COMMENT ON COLUMN yb_day_end_settlement.fund_pay_sum_amount IS '医保基金支付总额';
|
|
COMMENT ON COLUMN yb_day_end_settlement.status IS '状态 (0正常 1停用)';
|
|
COMMENT ON COLUMN yb_day_end_settlement.operator IS '操作员';
|
|
COMMENT ON COLUMN yb_day_end_settlement.remark IS '备注';
|
|
COMMENT ON COLUMN yb_day_end_settlement.create_by IS '创建者';
|
|
COMMENT ON COLUMN yb_day_end_settlement.create_time IS '创建时间';
|
|
COMMENT ON COLUMN yb_day_end_settlement.update_by IS '更新者';
|
|
COMMENT ON COLUMN yb_day_end_settlement.update_time IS '更新时间';
|
|
|
|
-- 创建索引
|
|
CREATE INDEX IF NOT EXISTS idx_settlement_date ON yb_day_end_settlement(settlement_date);
|
|
CREATE INDEX IF NOT EXISTS idx_settlement_no ON yb_day_end_settlement(settlement_no);
|
|
CREATE INDEX IF NOT EXISTS idx_settlement_type ON yb_day_end_settlement(settlement_type);
|
|
CREATE INDEX IF NOT EXISTS idx_insurance_type ON yb_day_end_settlement(insurance_type);
|
|
|
|
-- 创建更新时间函数(如果不存在)
|
|
CREATE OR REPLACE FUNCTION update_modified_column()
|
|
RETURNS TRIGGER AS $$
|
|
BEGIN
|
|
NEW.update_time = CURRENT_TIMESTAMP;
|
|
RETURN NEW;
|
|
END;
|
|
$$ language 'plpgsql';
|
|
|
|
-- 创建更新时间触发器
|
|
DO $$
|
|
BEGIN
|
|
DROP TRIGGER IF EXISTS update_yb_day_end_settlement_modtime ON yb_day_end_settlement;
|
|
CREATE TRIGGER update_yb_day_end_settlement_modtime
|
|
BEFORE UPDATE ON yb_day_end_settlement
|
|
FOR EACH ROW EXECUTE FUNCTION update_modified_column();
|
|
END $$;
|
|
|
|
-- 插入示例数据
|
|
INSERT INTO yb_day_end_settlement (settlement_no, settlement_date, settlement_type, insurance_type, total_visits, total_amount, insurance_pay_amount, account_pay_amount, personal_pay_amount, fund_pay_sum_amount, status, operator, remark, create_by) VALUES
|
|
('YBDS20260202001', '2026-02-02', 'daily', 'urbanEmployee', 150, 150000.00, 120000.00, 15000.00, 15000.00, 135000.00, '0', 'admin', '2026年2月2日城镇职工医保日结', 'admin'),
|
|
('YBDS20260202002', '2026-02-02', 'daily', 'urbanRuralResident', 80, 80000.00, 64000.00, 8000.00, 8000.00, 72000.00, '0', 'admin', '2026年2月2日城乡居民医保日结', 'admin'),
|
|
('YBDS20260202003', '2026-02-02', 'daily', 'newRuralCooperative', 60, 60000.00, 48000.00, 6000.00, 6000.00, 54000.00, '0', 'admin', '2026年2月2日新农合医保日结', 'admin'); |