2026-10-07-sample-freight-batch.sql 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. -- 样本运费批次 + 关联 + 运输方式字典预置(租户 zkxw;其他租户首次用时由后端按需补齐预置也可只插 zkxw)
  2. CREATE TABLE IF NOT EXISTS biz_sample_freight (
  3. id VARCHAR(64) NOT NULL COMMENT '主键ID',
  4. transport_mode VARCHAR(100) NOT NULL DEFAULT '' COMMENT '运输方式字典值 sample_transport_mode',
  5. freight_amount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '运费(元)',
  6. tenant_no VARCHAR(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
  7. order_num INT DEFAULT NULL COMMENT '排序号',
  8. remark VARCHAR(512) DEFAULT NULL COMMENT '备注',
  9. create_by VARCHAR(64) DEFAULT NULL COMMENT '创建人id',
  10. create_dept_id VARCHAR(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
  11. create_time DATETIME NOT NULL COMMENT '创建时间',
  12. update_by VARCHAR(64) DEFAULT NULL COMMENT '更新人id',
  13. update_time DATETIME NOT NULL COMMENT '更新时间',
  14. del_flag SMALLINT NOT NULL DEFAULT 0 COMMENT '删除标记',
  15. PRIMARY KEY (id),
  16. KEY idx_sample_freight_tenant_ctime (tenant_no, create_time)
  17. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='样本运费批次';
  18. CREATE TABLE IF NOT EXISTS biz_sample_freight_item (
  19. id VARCHAR(64) NOT NULL COMMENT '主键ID',
  20. freight_id VARCHAR(64) NOT NULL COMMENT '运费批次ID',
  21. sample_source VARCHAR(32) NOT NULL COMMENT 'cell_storage|research_donation',
  22. sample_id VARCHAR(64) NOT NULL COMMENT '样本ID',
  23. sample_code VARCHAR(32) DEFAULT NULL COMMENT '样本编码快照',
  24. protocol_id VARCHAR(64) DEFAULT NULL COMMENT '协议单ID',
  25. tenant_no VARCHAR(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
  26. order_num INT DEFAULT NULL COMMENT '排序号',
  27. remark VARCHAR(512) DEFAULT NULL COMMENT '备注',
  28. create_by VARCHAR(64) DEFAULT NULL COMMENT '创建人id',
  29. create_dept_id VARCHAR(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
  30. create_time DATETIME NOT NULL COMMENT '创建时间',
  31. update_by VARCHAR(64) DEFAULT NULL COMMENT '更新人id',
  32. update_time DATETIME NOT NULL COMMENT '更新时间',
  33. del_flag SMALLINT NOT NULL DEFAULT 0 COMMENT '删除标记',
  34. PRIMARY KEY (id),
  35. KEY idx_freight_item_freight (freight_id, del_flag),
  36. KEY idx_freight_item_sample (tenant_no, sample_source, sample_id, del_flag)
  37. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='样本运费关联';
  38. -- 字典类型(若不存在)
  39. INSERT INTO sys_dict_type (
  40. id, dict_name, dict_type, tenant_no, order_num, remark,
  41. create_by, create_dept_id, create_time, update_by, update_time, del_flag
  42. )
  43. SELECT
  44. REPLACE(UUID(),'-',''), '样本运输方式', 'sample_transport_mode', 'zkxw', 0, '协议单运费批次运输方式',
  45. NULL, '', NOW(), NULL, NOW(), 0
  46. FROM DUAL
  47. WHERE NOT EXISTS (
  48. SELECT 1 FROM sys_dict_type
  49. WHERE dict_type = 'sample_transport_mode' AND tenant_no = 'zkxw' AND del_flag = 0
  50. );
  51. INSERT INTO sys_dict_data (
  52. id, dict_label, dict_value, dict_type, tenant_no, order_num, remark,
  53. create_by, create_dept_id, create_time, update_by, update_time, del_flag
  54. )
  55. SELECT REPLACE(UUID(),'-',''), '顺丰快递', 'sfkd', 'sample_transport_mode', 'zkxw', 1, NULL,
  56. NULL, '', NOW(), NULL, NOW(), 0
  57. FROM DUAL
  58. WHERE NOT EXISTS (
  59. SELECT 1 FROM sys_dict_data
  60. WHERE dict_type = 'sample_transport_mode' AND tenant_no = 'zkxw' AND dict_value = 'sfkd' AND del_flag = 0
  61. );
  62. INSERT INTO sys_dict_data (
  63. id, dict_label, dict_value, dict_type, tenant_no, order_num, remark,
  64. create_by, create_dept_id, create_time, update_by, update_time, del_flag
  65. )
  66. SELECT REPLACE(UUID(),'-',''), '专线车', 'zxc', 'sample_transport_mode', 'zkxw', 2, NULL,
  67. NULL, '', NOW(), NULL, NOW(), 0
  68. FROM DUAL
  69. WHERE NOT EXISTS (
  70. SELECT 1 FROM sys_dict_data
  71. WHERE dict_type = 'sample_transport_mode' AND tenant_no = 'zkxw' AND dict_value = 'zxc' AND del_flag = 0
  72. );