| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- -- 方案A:冲销凭证双表 + 原单汇总缓存 + 售后关联(ssh 冲销单功能)
- -- 说明:不创建负销售单/负采购单;GHS/HD 各有凭证主表+明细,互挂 id
- -- ========== GHS 冲销凭证 ==========
- CREATE TABLE IF NOT EXISTS `xhGhsForward` (
- `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
- `forwardSn` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '冲销凭证号',
- `mainId` INT(11) NOT NULL DEFAULT 0 COMMENT '供货商主体id',
- `shopId` INT(11) NOT NULL DEFAULT 0,
- `sjId` INT(11) NOT NULL DEFAULT 0,
- `customId` INT(11) NOT NULL DEFAULT 0,
- `ghsId` INT(11) NOT NULL DEFAULT 0 COMMENT '对应 xhGhs.id(花店侧镜像客户)',
- `orderId` INT(11) NOT NULL DEFAULT 0 COMMENT '原销售单id,0=自由冲销',
- `orderSn` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '原销售单号',
- `amount` DECIMAL(9,2) NOT NULL DEFAULT 0.00 COMMENT '本次冲销金额(正数)',
- `payWay` TINYINT(4) NOT NULL DEFAULT 0 COMMENT '原单/记账支付方式',
- `fundType` TINYINT(4) NOT NULL DEFAULT 2 COMMENT '1原路退 2返余额 3仅记账',
- `forwardStock` TINYINT(4) NOT NULL DEFAULT 1 COMMENT '0回库存 1不回库存',
- `cgForwardId` INT(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '对应 xhCgForward.id',
- `refundId` INT(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '来源 xhRefund.id,0=非售后转',
- `thirdRefundNo` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '网关退款流水号',
- `status` TINYINT(4) NOT NULL DEFAULT 0 COMMENT '0处理中 1成功 2失败',
- `remark` VARCHAR(255) NOT NULL DEFAULT '',
- `shopAdminId` INT(11) NOT NULL DEFAULT 0,
- `shopAdminName` VARCHAR(64) NOT NULL DEFAULT '',
- `addTime` DATETIME NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_forwardSn` (`forwardSn`),
- KEY `idx_orderId` (`orderId`),
- KEY `idx_customId` (`customId`),
- KEY `idx_mainId_addTime` (`mainId`,`addTime`),
- KEY `idx_cgForwardId` (`cgForwardId`),
- KEY `idx_status` (`status`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='供货商冲销凭证';
- CREATE TABLE IF NOT EXISTS `xhGhsForwardItem` (
- `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
- `forwardId` INT(11) UNSIGNED NOT NULL DEFAULT 0,
- `forwardSn` VARCHAR(64) NOT NULL DEFAULT '',
- `mainId` INT(11) NOT NULL DEFAULT 0,
- `customId` INT(11) NOT NULL DEFAULT 0,
- `productId` INT(11) NOT NULL DEFAULT 0,
- `orderItemId` INT(11) NOT NULL DEFAULT 0 COMMENT '原单明细id,可0',
- `name` VARCHAR(128) NOT NULL DEFAULT '',
- `num` DECIMAL(10,2) NOT NULL DEFAULT 0.00 COMMENT '冲销数量(正数,小单位合计)',
- `bigNum` DECIMAL(10,2) NOT NULL DEFAULT 0.00,
- `smallNum` DECIMAL(10,2) NOT NULL DEFAULT 0.00,
- `unitPrice` DECIMAL(10,2) NOT NULL DEFAULT 0.00,
- `price` DECIMAL(10,2) NOT NULL DEFAULT 0.00 COMMENT '单价(大单位或提交价)',
- `amount` DECIMAL(10,2) NOT NULL DEFAULT 0.00 COMMENT '行金额(正数)',
- `addTime` DATETIME NOT NULL,
- PRIMARY KEY (`id`),
- KEY `idx_forwardId` (`forwardId`),
- KEY `idx_productId` (`productId`),
- KEY `idx_mainId_addTime` (`mainId`,`addTime`),
- KEY `idx_customId` (`customId`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='供货商冲销凭证明细';
- -- ========== HD 冲销凭证(镜像) ==========
- CREATE TABLE IF NOT EXISTS `xhCgForward` (
- `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
- `forwardSn` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '花店侧冲销凭证号',
- `mainId` INT(11) NOT NULL DEFAULT 0 COMMENT '花店主体id',
- `shopId` INT(11) NOT NULL DEFAULT 0,
- `sjId` INT(11) NOT NULL DEFAULT 0,
- `customId` INT(11) NOT NULL DEFAULT 0 COMMENT '供货商视角客户id',
- `ghsId` INT(11) NOT NULL DEFAULT 0,
- `cgId` INT(11) NOT NULL DEFAULT 0 COMMENT '原采购单id,0=自由冲销',
- `cgSn` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '原采购单号',
- `ghsForwardId` INT(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '对应 xhGhsForward.id',
- `amount` DECIMAL(9,2) NOT NULL DEFAULT 0.00,
- `payWay` TINYINT(4) NOT NULL DEFAULT 0,
- `fundType` TINYINT(4) NOT NULL DEFAULT 2,
- `forwardStock` TINYINT(4) NOT NULL DEFAULT 1,
- `cgRefundId` INT(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '来源 xhCgRefund.id',
- `status` TINYINT(4) NOT NULL DEFAULT 0 COMMENT '0处理中 1成功 2失败',
- `remark` VARCHAR(255) NOT NULL DEFAULT '',
- `addTime` DATETIME NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_forwardSn` (`forwardSn`),
- KEY `idx_cgId` (`cgId`),
- KEY `idx_ghsForwardId` (`ghsForwardId`),
- KEY `idx_ghsId_addTime` (`ghsId`,`addTime`),
- KEY `idx_status` (`status`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='花店冲销凭证';
- CREATE TABLE IF NOT EXISTS `xhCgForwardItem` (
- `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
- `forwardId` INT(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'xhCgForward.id',
- `forwardSn` VARCHAR(64) NOT NULL DEFAULT '',
- `ghsId` INT(11) NOT NULL DEFAULT 0,
- `customId` INT(11) NOT NULL DEFAULT 0,
- `productId` INT(11) NOT NULL DEFAULT 0,
- `cgItemId` INT(11) NOT NULL DEFAULT 0,
- `name` VARCHAR(128) NOT NULL DEFAULT '',
- `num` DECIMAL(10,2) NOT NULL DEFAULT 0.00,
- `bigNum` DECIMAL(10,2) NOT NULL DEFAULT 0.00,
- `smallNum` DECIMAL(10,2) NOT NULL DEFAULT 0.00,
- `unitPrice` DECIMAL(10,2) NOT NULL DEFAULT 0.00,
- `price` DECIMAL(10,2) NOT NULL DEFAULT 0.00,
- `amount` DECIMAL(10,2) NOT NULL DEFAULT 0.00,
- `addTime` DATETIME NOT NULL,
- PRIMARY KEY (`id`),
- KEY `idx_forwardId` (`forwardId`),
- KEY `idx_productId` (`productId`),
- KEY `idx_ghsId` (`ghsId`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='花店冲销凭证明细';
- -- ========== 原单汇总缓存 ==========
- ALTER TABLE `xhGhsOrder`
- ADD COLUMN `hasForward` TINYINT(4) NOT NULL DEFAULT 0 COMMENT '0无冲销 1有冲销' AFTER `tkPrice`,
- ADD COLUMN `forwardPrice` DECIMAL(9,2) NOT NULL DEFAULT 0.00 COMMENT '累计冲销金额' AFTER `hasForward`;
- ALTER TABLE `xhCg`
- ADD COLUMN `hasForward` TINYINT(4) NOT NULL DEFAULT 0 COMMENT '0无冲销 1有冲销' AFTER `tkPrice`,
- ADD COLUMN `forwardPrice` DECIMAL(9,2) NOT NULL DEFAULT 0.00 COMMENT '累计冲销金额' AFTER `hasForward`;
- ALTER TABLE `xhGhsOrderItem`
- ADD COLUMN `forwardNum` DECIMAL(10,2) NOT NULL DEFAULT 0.00 COMMENT '已冲销数量';
- ALTER TABLE `xhCgItem`
- ADD COLUMN `forwardNum` DECIMAL(10,2) NOT NULL DEFAULT 0.00 COMMENT '已冲销数量';
- -- ========== 售后指向本侧凭证 ==========
- ALTER TABLE `xhRefund`
- ADD COLUMN `forwardId` INT(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '转冲销后xhGhsForward.id,0=未转' AFTER `cgRefundId`;
- ALTER TABLE `xhCgRefund`
- ADD COLUMN `forwardId` INT(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '转冲销后xhCgForward.id,0=未转' AFTER `saleRefundId`;
|