修改计费重
This commit is contained in:
@@ -1050,6 +1050,7 @@ CREATE TABLE `prc_order_bill` (
|
||||
`ar_bill_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'UNBILLED' COMMENT '应收账单状态:UNBILLED未出账/PARTIAL部分出账/BILLED已出账',
|
||||
`customer_active_status` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '客户生效状态:ACTIVE正常 MISSING不存在 DISABLED停用',
|
||||
`credit_arrears_status` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '额度欠费状态:NORMAL正常 ARREARS欠费',
|
||||
`refund_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'NONE' COMMENT '退费状态:NONE未退费/REFUNDED已退费',
|
||||
`round_mode` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'HALF_UP' COMMENT '取值方式',
|
||||
`created_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建人',
|
||||
`create_time` datetime DEFAULT NULL,
|
||||
@@ -1065,6 +1066,7 @@ CREATE TABLE `prc_order_bill` (
|
||||
KEY `idx_order_bill_transfer_no` (`transfer_no`),
|
||||
KEY `idx_order_bill_customer_active` (`customer_active_status`),
|
||||
KEY `idx_order_bill_credit_arrears` (`credit_arrears_status`),
|
||||
KEY `idx_order_bill_refund_status` (`refund_status`),
|
||||
KEY `idx_order_bill_psv` (`psv_id`),
|
||||
KEY `idx_order_bill_psd` (`psd_id`),
|
||||
KEY `idx_ar_order_bill_status_scope` (`customer_id`,`currency`,`ar_bill_status`,`biz_date`,`bill_id`)
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
-- deprecated: refund moved to billing list (see sql/price/billing_refund_menu.sql)
|
||||
-- optional cleanup:
|
||||
-- DELETE FROM sys_role_menu WHERE menu_id = 2328;
|
||||
-- DELETE FROM sys_menu WHERE menu_id = 2328 OR perms = 'monitor:orderSource:refund';
|
||||
@@ -0,0 +1,20 @@
|
||||
-- billing list refund button (billType=REFUND)
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark)
|
||||
SELECT 2330, N'退费', m.menu_id, 20, '', NULL, 1, 0, 'F', '0', '0', 'price:billing:refund', '#', 'admin', sysdate(), N'计费列表单笔退费(billType=REFUND)'
|
||||
FROM (
|
||||
SELECT menu_id FROM sys_menu
|
||||
WHERE perms = 'price:billing:bill' AND menu_type = 'C'
|
||||
UNION ALL
|
||||
SELECT menu_id FROM sys_menu
|
||||
WHERE component = 'price/billing/bill' AND menu_type = 'C'
|
||||
) m
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu x WHERE x.menu_id = 2330 OR x.perms = 'price:billing:refund')
|
||||
LIMIT 1;
|
||||
|
||||
INSERT INTO sys_role_menu (role_id, menu_id)
|
||||
SELECT 1, 2330
|
||||
FROM DUAL
|
||||
WHERE EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2330)
|
||||
AND NOT EXISTS (SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = 1 AND rm.menu_id = 2330);
|
||||
@@ -0,0 +1,34 @@
|
||||
-- prc_order_bill.refund_status
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
SET @col := (
|
||||
SELECT COLUMN_NAME FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'prc_order_bill'
|
||||
AND COLUMN_NAME = 'refund_status'
|
||||
LIMIT 1
|
||||
);
|
||||
SET @sql := IF(
|
||||
@col IS NULL,
|
||||
'ALTER TABLE prc_order_bill ADD COLUMN refund_status varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ''NONE'' COMMENT ''退费状态:NONE未退费/REFUNDED已退费'' AFTER credit_arrears_status, ADD KEY idx_order_bill_refund_status (refund_status)',
|
||||
'SELECT 1'
|
||||
);
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
UPDATE prc_order_bill b
|
||||
SET b.refund_status = 'REFUNDED'
|
||||
WHERE EXISTS (
|
||||
SELECT 1 FROM prc_income_bill_fee f
|
||||
WHERE f.bill_id = b.bill_id
|
||||
AND UPPER(f.fee_type) = 'REFUND'
|
||||
)
|
||||
AND (b.refund_status IS NULL OR b.refund_status <> 'REFUNDED');
|
||||
|
||||
UPDATE prc_order_bill b
|
||||
SET b.refund_status = 'NONE'
|
||||
WHERE (b.refund_status IS NULL OR b.refund_status = '')
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM prc_income_bill_fee f
|
||||
WHERE f.bill_id = b.bill_id
|
||||
AND UPPER(f.fee_type) = 'REFUND'
|
||||
);
|
||||
Reference in New Issue
Block a user