新增凭证管理
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
-- 文件服务数据库:分片上传任务主表。
|
||||
-- 本脚本需与 blade_file_task_part 表配套执行;请在 blade-file 服务配置的数据源中运行。
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `blade_file_task` (
|
||||
`id` bigint NOT NULL COMMENT '主键ID',
|
||||
`md5` varchar(128) NOT NULL COMMENT '文件MD5',
|
||||
`object_key` varchar(1000) NOT NULL COMMENT '对象存储对象键',
|
||||
`attachment_name` varchar(500) NOT NULL COMMENT '附件名称',
|
||||
`suffix` varchar(50) DEFAULT NULL COMMENT '文件后缀',
|
||||
`size` bigint NOT NULL COMMENT '文件大小,单位:字节',
|
||||
`chunk_size` int NOT NULL COMMENT '分片大小,单位:字节',
|
||||
`chunk_total` int NOT NULL COMMENT '分片总数',
|
||||
`current_index` int NOT NULL DEFAULT 0 COMMENT '已完成分片数',
|
||||
`upload_id` varchar(255) DEFAULT NULL COMMENT '对象存储上传任务ID',
|
||||
`status` varchar(20) NOT NULL DEFAULT 'uploading' COMMENT '状态:uploading、completed、failed、paused',
|
||||
`business_type` varchar(50) DEFAULT NULL COMMENT '业务类型,例如 voucher',
|
||||
`business_id` varchar(64) DEFAULT NULL COMMENT '业务标识,例如凭证批次号',
|
||||
`create_user_name` varchar(50) DEFAULT NULL COMMENT '创建人名称',
|
||||
`create_user` bigint DEFAULT NULL COMMENT '创建人ID',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_user_name` varchar(50) DEFAULT NULL COMMENT '更新人名称',
|
||||
`update_user` bigint DEFAULT NULL COMMENT '更新人ID',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`is_deleted` tinyint NOT NULL DEFAULT 0 COMMENT '是否删除:0否、1是',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_file_task_md5` (`md5`),
|
||||
KEY `idx_file_task_business` (`business_type`, `business_id`),
|
||||
KEY `idx_file_task_create_user_time` (`create_user`, `create_time`),
|
||||
KEY `idx_file_task_status` (`status`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文件分片上传任务';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `blade_file_task_part` (
|
||||
`id` bigint NOT NULL COMMENT '主键ID',
|
||||
`file_task_id` bigint NOT NULL COMMENT '文件上传任务ID',
|
||||
`part_number` int NOT NULL COMMENT '分片编号,从1开始',
|
||||
`etag` varchar(255) NOT NULL COMMENT '分片ETag',
|
||||
`create_user` bigint DEFAULT NULL COMMENT '创建人ID',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_file_task_part` (`file_task_id`, `part_number`),
|
||||
KEY `idx_file_task_part_task` (`file_task_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文件分片上传任务分片记录';
|
||||
@@ -0,0 +1,4 @@
|
||||
-- 修复旧版 blade_file_task 的逻辑删除字段默认值。
|
||||
-- 请在 blade-file 服务配置的数据源执行。
|
||||
UPDATE `blade_file_task` SET `is_deleted` = 0 WHERE `is_deleted` IS NULL;
|
||||
ALTER TABLE `blade_file_task` MODIFY COLUMN `is_deleted` tinyint NOT NULL DEFAULT 0 COMMENT '是否删除:0否、1是';
|
||||
@@ -0,0 +1,8 @@
|
||||
-- 请在 blade_file 服务所使用的数据源执行本脚本,不要在 transport 库执行。
|
||||
-- MySQL 8.0.29+ 支持 IF NOT EXISTS;若版本较低,请先确认字段和索引不存在再执行。
|
||||
ALTER TABLE `blade_file_task`
|
||||
ADD COLUMN IF NOT EXISTS `business_type` varchar(50) DEFAULT NULL COMMENT '业务类型',
|
||||
ADD COLUMN IF NOT EXISTS `business_id` varchar(64) DEFAULT NULL COMMENT '业务标识';
|
||||
|
||||
CREATE INDEX IF NOT EXISTS `idx_file_task_business`
|
||||
ON `blade_file_task` (`business_type`, `business_id`);
|
||||
@@ -117,6 +117,7 @@ CREATE TABLE `blade_customer_invoice_info` (
|
||||
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '租户ID',
|
||||
`customer_id` bigint NOT NULL COMMENT '客商ID',
|
||||
`invoice_title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '受票方名称',
|
||||
`invoice_type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发票类型',
|
||||
`tax_no` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '纳税人识别号',
|
||||
`bank_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '开户行名称',
|
||||
`registered_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '注册电话',
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
-- 客商发票信息:新增发票类型
|
||||
|
||||
ALTER TABLE `blade_customer_invoice_info`
|
||||
ADD COLUMN `invoice_type` varchar(30) DEFAULT NULL COMMENT '发票类型' AFTER `invoice_title`;
|
||||
@@ -0,0 +1,42 @@
|
||||
CREATE TABLE IF NOT EXISTS `blade_voucher_manage` (
|
||||
`id` bigint NOT NULL,
|
||||
`tenant_id` varchar(12) NOT NULL DEFAULT '000000',
|
||||
`project_id` bigint NOT NULL COMMENT '项目ID',
|
||||
`project_name` varchar(200) NOT NULL COMMENT '项目名称',
|
||||
`voucher_batch_no` varchar(30) NOT NULL COMMENT '凭证批次号',
|
||||
`waybill_batch_no` varchar(1000) DEFAULT NULL COMMENT '关联运单批次号',
|
||||
`file_name` varchar(100) NOT NULL COMMENT '凭证压缩包文件名',
|
||||
`file_url` varchar(1000) NOT NULL COMMENT '凭证压缩包地址',
|
||||
`file_task_id` bigint DEFAULT NULL COMMENT '分片上传任务ID',
|
||||
`upload_source` varchar(20) NOT NULL DEFAULT '内部' COMMENT '上传来源:内部、承运商',
|
||||
`carrier_name` varchar(50) DEFAULT NULL COMMENT '承运商名称',
|
||||
`process_status` varchar(20) NOT NULL DEFAULT '上传中' COMMENT '上传中、处理中、处理完成',
|
||||
`voucher_count` int NOT NULL DEFAULT 0 COMMENT '凭证数量',
|
||||
`related_waybill_count` int NOT NULL DEFAULT 0 COMMENT '已关联运单数',
|
||||
`un_related_waybill_count` int NOT NULL DEFAULT 0 COMMENT '未关联运单数',
|
||||
`audit_status` varchar(20) NOT NULL DEFAULT '-' COMMENT '待审核、审核通过、审核驳回',
|
||||
`create_user` bigint DEFAULT NULL, `create_dept` bigint DEFAULT NULL,
|
||||
`create_time` datetime DEFAULT NULL, `update_user` bigint DEFAULT NULL, `update_time` datetime DEFAULT NULL,
|
||||
`status` tinyint NOT NULL DEFAULT 1, `is_deleted` tinyint NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`), UNIQUE KEY `uk_voucher_manage_no` (`tenant_id`, `voucher_batch_no`),
|
||||
KEY `idx_voucher_manage_create_time` (`create_time`), KEY `idx_voucher_manage_process_status` (`process_status`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='凭证管理';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `blade_voucher_waybill_batch` (
|
||||
`id` bigint NOT NULL, `tenant_id` varchar(12) NOT NULL DEFAULT '000000',
|
||||
`voucher_id` bigint NOT NULL COMMENT '凭证批次ID', `waybill_import_batch_id` bigint NOT NULL COMMENT '运单导入批次ID',
|
||||
`waybill_batch_no` varchar(64) NOT NULL COMMENT '运单批次号', `waybill_count` int NOT NULL DEFAULT 0 COMMENT '运单数',
|
||||
`create_user` bigint DEFAULT NULL, `create_dept` bigint DEFAULT NULL, `create_time` datetime DEFAULT NULL,
|
||||
`update_user` bigint DEFAULT NULL, `update_time` datetime DEFAULT NULL, `status` tinyint NOT NULL DEFAULT 1, `is_deleted` tinyint NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`), UNIQUE KEY `uk_voucher_waybill_batch` (`voucher_id`, `waybill_import_batch_id`),
|
||||
KEY `idx_voucher_waybill_batch_voucher` (`voucher_id`), KEY `idx_voucher_waybill_batch_waybill` (`waybill_import_batch_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='凭证关联运单批次';
|
||||
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`)
|
||||
VALUES
|
||||
(2090000000000000900, 2090000000000000000, 'voucher_manage', '凭证管理', 'voucher_manage', '/business/voucher-manage', 'iconfont icon-caidanguanli', 90, 1, 0, 1, NULL, '', 0),
|
||||
(2090000000000000901, 2090000000000000900, 'voucher_manage_view', '查看', 'voucher_manage_view', '', '', 1, 2, 0, 1, NULL, '', 0),
|
||||
(2090000000000000902, 2090000000000000900, 'voucher_manage_add', '批量导入凭证', 'voucher_manage_add', '', '', 2, 2, 0, 1, NULL, '', 0),
|
||||
(2090000000000000903, 2090000000000000900, 'voucher_manage_edit', '更换运单批次', 'voucher_manage_edit', '', '', 3, 2, 0, 1, NULL, '', 0),
|
||||
(2090000000000000904, 2090000000000000900, 'voucher_manage_delete', '删除', 'voucher_manage_delete', '', '', 4, 2, 0, 1, NULL, '', 0)
|
||||
ON DUPLICATE KEY UPDATE `name` = VALUES(`name`), `path` = VALUES(`path`), `is_deleted` = 0;
|
||||
@@ -0,0 +1,93 @@
|
||||
-- MySQL 5.7+ 兼容:为已存在的 blade_voucher_manage 旧表补齐字段和索引。
|
||||
-- 请在 transport 数据库执行。本脚本使用 information_schema 判断,不依赖 IF NOT EXISTS 语法。
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
DROP PROCEDURE IF EXISTS `upgrade_blade_voucher_manage_20260812`$$
|
||||
CREATE PROCEDURE `upgrade_blade_voucher_manage_20260812`()
|
||||
BEGIN
|
||||
DECLARE db_name varchar(128);
|
||||
SET db_name = DATABASE();
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'tenant_id') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `tenant_id` varchar(12) NOT NULL DEFAULT '000000' COMMENT '租户ID' AFTER `id`;
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'project_id') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `project_id` bigint NOT NULL DEFAULT 0 COMMENT '项目ID';
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'project_name') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `project_name` varchar(200) NOT NULL DEFAULT '' COMMENT '项目名称';
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'voucher_batch_no') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `voucher_batch_no` varchar(30) NOT NULL DEFAULT '' COMMENT '凭证批次号';
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'waybill_batch_no') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `waybill_batch_no` varchar(1000) DEFAULT NULL COMMENT '关联运单批次号';
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'file_name') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `file_name` varchar(100) NOT NULL DEFAULT '' COMMENT '凭证压缩包文件名';
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'file_url') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `file_url` varchar(1000) NOT NULL DEFAULT '' COMMENT '凭证压缩包地址';
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'file_task_id') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `file_task_id` bigint DEFAULT NULL COMMENT '分片上传任务ID';
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'upload_source') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `upload_source` varchar(20) NOT NULL DEFAULT '内部' COMMENT '上传来源:内部、承运商';
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'carrier_name') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `carrier_name` varchar(50) DEFAULT NULL COMMENT '承运商名称';
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'process_status') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `process_status` varchar(20) NOT NULL DEFAULT '上传中' COMMENT '上传中、处理中、处理完成';
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'voucher_count') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `voucher_count` int NOT NULL DEFAULT 0 COMMENT '凭证数量';
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'related_waybill_count') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `related_waybill_count` int NOT NULL DEFAULT 0 COMMENT '已关联运单数';
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'un_related_waybill_count') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `un_related_waybill_count` int NOT NULL DEFAULT 0 COMMENT '未关联运单数';
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'audit_status') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `audit_status` varchar(20) NOT NULL DEFAULT '-' COMMENT '待审核、审核通过、审核驳回';
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'create_user') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `create_user` bigint DEFAULT NULL COMMENT '创建人';
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'create_dept') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `create_dept` bigint DEFAULT NULL COMMENT '创建部门';
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'create_time') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `create_time` datetime DEFAULT NULL COMMENT '创建时间';
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'update_user') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `update_user` bigint DEFAULT NULL COMMENT '更新人';
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'update_time') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `update_time` datetime DEFAULT NULL COMMENT '更新时间';
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'status') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态';
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND column_name = 'is_deleted') THEN
|
||||
ALTER TABLE `blade_voucher_manage` ADD COLUMN `is_deleted` tinyint NOT NULL DEFAULT 0 COMMENT '是否删除';
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.statistics WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND index_name = 'idx_voucher_manage_create_time') THEN
|
||||
CREATE INDEX `idx_voucher_manage_create_time` ON `blade_voucher_manage` (`create_time`);
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.statistics WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND index_name = 'idx_voucher_manage_process_status') THEN
|
||||
CREATE INDEX `idx_voucher_manage_process_status` ON `blade_voucher_manage` (`process_status`);
|
||||
END IF;
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.statistics WHERE table_schema = db_name AND table_name = 'blade_voucher_manage' AND index_name = 'idx_voucher_manage_tenant_batch_no') THEN
|
||||
CREATE INDEX `idx_voucher_manage_tenant_batch_no` ON `blade_voucher_manage` (`tenant_id`, `voucher_batch_no`);
|
||||
END IF;
|
||||
END$$
|
||||
|
||||
CALL `upgrade_blade_voucher_manage_20260812`()$$
|
||||
DROP PROCEDURE `upgrade_blade_voucher_manage_20260812`$$
|
||||
|
||||
DELIMITER ;
|
||||
Reference in New Issue
Block a user