migrate_20260731_bx_reimburse_invoice_attachment_id.sql 784 B

1234567891011121314151617181920
  1. -- backend/scripts/migrate_20260731_bx_reimburse_invoice_attachment_id.sql
  2. -- 报销关联发票:记录勾选的发票附件 ID,查看态只展示勾选附件
  3. ALTER TABLE `bx_reimburse_invoice`
  4. ADD COLUMN `attachment_id` varchar(64) DEFAULT NULL COMMENT '勾选的发票附件ID' AFTER `invoice_id`;
  5. -- 历史数据:无 attachment_id 时回填该发票下排序第一的附件
  6. UPDATE `bx_reimburse_invoice` ri
  7. SET ri.`attachment_id` = (
  8. SELECT a.`id`
  9. FROM `bx_attachment` a
  10. WHERE a.`biz_type` = 'invoice'
  11. AND a.`biz_id` = ri.`invoice_id`
  12. AND a.`tenant_no` = ri.`tenant_no`
  13. AND a.`del_flag` = 0
  14. ORDER BY a.`sort_order` ASC, a.`create_time` ASC, a.`id` ASC
  15. LIMIT 1
  16. )
  17. WHERE ri.`del_flag` = 0
  18. AND (ri.`attachment_id` IS NULL OR ri.`attachment_id` = '');