- 数据库:在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 - 术后一站式结算功能待后续开发
63 lines
4.3 KiB
SQL
63 lines
4.3 KiB
SQL
-- 为现有的consultation_request表添加缺失的字段
|
||
DO $$
|
||
BEGIN
|
||
-- 检查并添加缺失的字段
|
||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'consultation_request' AND column_name = 'confirming_physician_name') THEN
|
||
ALTER TABLE consultation_request ADD COLUMN confirming_physician_name VARCHAR(100);
|
||
COMMENT ON COLUMN consultation_request.confirming_physician_name IS '确认会诊的医生姓名';
|
||
END IF;
|
||
|
||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'consultation_request' AND column_name = 'confirming_department_name') THEN
|
||
ALTER TABLE consultation_request ADD COLUMN confirming_department_name VARCHAR(100);
|
||
COMMENT ON COLUMN consultation_request.confirming_department_name IS '代表科室';
|
||
END IF;
|
||
|
||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'consultation_request' AND column_name = 'confirming_physician_participation') THEN
|
||
ALTER TABLE consultation_request ADD COLUMN confirming_physician_participation VARCHAR(100);
|
||
COMMENT ON COLUMN consultation_request.confirming_physician_participation IS '会诊确认参加医师';
|
||
END IF;
|
||
|
||
-- 检查并更新consultation_status字段的注释
|
||
DROP COMMENT ON COLUMN consultation_request.consultation_status;
|
||
COMMENT ON COLUMN consultation_request.consultation_status IS '会诊状态:0-新开,10-已提交,20-已确认,30-已签名,40-已完成,50-已取消';
|
||
|
||
-- 检查并更新consultation_urgency字段的默认值
|
||
ALTER TABLE consultation_request ALTER COLUMN consultation_urgency SET DEFAULT '一般';
|
||
|
||
-- 检查并更新字段注释
|
||
COMMENT ON COLUMN consultation_request.consultation_id IS '会诊申请单号:CS+年月日时分秒+4位随机数';
|
||
COMMENT ON COLUMN consultation_request.consultation_request_date IS '会诊申请时间';
|
||
COMMENT ON COLUMN consultation_request.consultation_date IS '会诊时间';
|
||
COMMENT ON COLUMN consultation_request.consultation_purpose IS '简要病史及会诊目的';
|
||
COMMENT ON COLUMN consultation_request.consultation_opinion IS '会诊意见';
|
||
COMMENT ON COLUMN consultation_request.consultation_status IS '会诊状态:0-新开,10-已提交,20-已确认,30-已签名,40-已完成,50-已取消';
|
||
COMMENT ON COLUMN consultation_request.consultation_urgency IS '是否紧急:一般/紧急';
|
||
COMMENT ON COLUMN consultation_request.confirming_physician IS '提交会诊的医生姓名';
|
||
COMMENT ON COLUMN consultation_request.confirming_physician_id IS '提交会诊的医生ID';
|
||
COMMENT ON COLUMN consultation_request.confirming_date IS '提交会诊日期';
|
||
COMMENT ON COLUMN consultation_request.signature IS '结束会诊医生姓名/签名医生';
|
||
COMMENT ON COLUMN consultation_request.signature_physician_id IS '结束会诊医生ID';
|
||
COMMENT ON COLUMN consultation_request.signature_date IS '结束会诊日期/签名时间';
|
||
COMMENT ON COLUMN consultation_request.cancel_nature_date IS '作废会诊日期';
|
||
COMMENT ON COLUMN consultation_request.cancel_reason IS '作废原因';
|
||
COMMENT ON COLUMN consultation_request.consultation_activity_id IS '会诊项目ID,关联wor_activity_definition表,用于确定会诊类型和价格';
|
||
COMMENT ON COLUMN consultation_request.consultation_activity_name IS '会诊项目名称,如:院内会诊、远程会诊等';
|
||
|
||
END $$;
|
||
|
||
-- 为现有表添加必要的索引
|
||
DO $$
|
||
BEGIN
|
||
-- 检查并创建索引
|
||
IF NOT EXISTS (SELECT 1 FROM pg_indexes WHERE tablename = 'consultation_request' AND indexname = 'idx_consultation_request_status_date') THEN
|
||
CREATE INDEX idx_consultation_request_status_date ON consultation_request (consultation_status, consultation_request_date);
|
||
END IF;
|
||
|
||
IF NOT EXISTS (SELECT 1 FROM pg_indexes WHERE tablename = 'consultation_request' AND indexname = 'idx_consultation_request_physician') THEN
|
||
CREATE INDEX idx_consultation_request_physician ON consultation_request (requesting_physician_id);
|
||
END IF;
|
||
|
||
IF NOT EXISTS (SELECT 1 FROM pg_indexes WHERE tablename = 'consultation_request' AND indexname = 'idx_consultation_request_invited_object') THEN
|
||
CREATE INDEX idx_consultation_request_invited_object ON consultation_request (invited_object);
|
||
END IF;
|
||
END $$; |