优化合同个管理和产品管理相关功能

This commit is contained in:
2026-09-12 23:29:45 +08:00
parent 2b1874943f
commit 4455b95e37
92 changed files with 5367 additions and 3144 deletions
@@ -0,0 +1,42 @@
-- =============================================================
-- 回款计划表(yz_backend_crm_payback)建表 / 核对脚本
-- =============================================================
-- 说明:
-- 1. 计划明细 items 以 JSON 文本存储,plan_date(计划回款日期)已内置于
-- 各类 plan_type 的明细结构中,无需新增独立列,故无 ALTER TABLE 语句。
-- 2. 各 plan_type 的 items 明细结构:
-- 月度/季度/年度:{"seq":int,"name":"第1期","amount":0,"plan_date":"2026-10-01"}
-- 进度: {"seq":int,"name":"预付款","percent":30,"amount":0,"plan_date":"2026-10-01"}
-- 自定义: {"seq":int,"name":"首付款","plan_date":"2026-10-01","amount":0}
-- 每行另含 received_amount / received_date / status(回款进度登记用)。
-- 3. 执行下方建表脚本可创建或核对表结构(幂等,已存在则跳过)。
-- =============================================================
CREATE TABLE IF NOT EXISTS `yz_backend_crm_payback` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`tenant_id` VARCHAR(64) NOT NULL DEFAULT '',
`contract_id` BIGINT UNSIGNED NULL,
`contract_no` VARCHAR(50) NOT NULL DEFAULT '',
`contract_name` VARCHAR(100) NOT NULL DEFAULT '',
`customer_id` BIGINT UNSIGNED NULL,
`customer_name` VARCHAR(128) NOT NULL DEFAULT '',
`plan_type` TINYINT NOT NULL DEFAULT 1 COMMENT '1月度/2季度/3年度/4进度/5自定义',
`pay_method` TINYINT NOT NULL DEFAULT 1 COMMENT '1对公/2网银/3现金/4支票/5支付宝/6微信/7其他',
`remind_days` INT NOT NULL DEFAULT 0 COMMENT '提前几天提醒',
`owner_user_id` VARCHAR(64) NOT NULL DEFAULT '',
`owner_user_name` VARCHAR(128) NOT NULL DEFAULT '',
`contract_amount` DECIMAL(14,2) NOT NULL DEFAULT 0 COMMENT '合同总金额',
`total_amount` DECIMAL(14,2) NOT NULL DEFAULT 0 COMMENT '计划回款总额',
`received_amount` DECIMAL(14,2) NOT NULL DEFAULT 0 COMMENT '已回款金额',
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '1进行中/2已完成',
`items` TEXT NULL COMMENT '计划明细 JSON 数组(含 plan_date 计划回款日期)',
`remark` TEXT NULL,
`create_user_id` VARCHAR(64) NOT NULL DEFAULT '',
`create_time` DATETIME NOT NULL,
`update_time` DATETIME NOT NULL,
`delete_time` DATETIME NULL,
PRIMARY KEY (`id`),
KEY `idx_yz_backend_crm_payback_tenant` (`tenant_id`),
KEY `idx_yz_backend_crm_payback_contract` (`contract_id`),
KEY `idx_yz_backend_crm_payback_delete` (`delete_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='回款计划表';