2026-10-21-sf-express-monthly-settlement.sql 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. -- 顺丰月结:运费可空,增加单号与结算字段;历史顺丰补未结算,不改原金额。
  2. ALTER TABLE biz_sample_freight
  3. MODIFY COLUMN freight_amount DECIMAL(18,2) NULL DEFAULT NULL COMMENT '运费(元),顺丰月结未填时为空',
  4. ADD COLUMN waybill_no VARCHAR(64) NULL DEFAULT NULL COMMENT '顺丰单号' AFTER freight_amount,
  5. ADD COLUMN settle_status VARCHAR(8) NULL DEFAULT NULL COMMENT '结算状态:wjs 未结算,yjs 已结算' AFTER waybill_no,
  6. ADD COLUMN settle_time DATETIME NULL DEFAULT NULL COMMENT '结算时间' AFTER settle_status;
  7. UPDATE biz_sample_freight
  8. SET settle_status = 'wjs'
  9. WHERE del_flag = 0
  10. AND transport_mode = 'sfkd'
  11. AND (settle_status IS NULL OR settle_status = '');
  12. -- 菜单插在缴费财务确认之前。id 尚未占用。
  13. UPDATE sys_menu
  14. SET order_num = IFNULL(order_num, 0) + 1,
  15. update_time = NOW()
  16. WHERE id = '50000000000000000000000000000004'
  17. AND del_flag = 0
  18. AND NOT EXISTS (
  19. SELECT 1 FROM (
  20. SELECT id FROM sys_menu
  21. WHERE id = '50000000000000000000000000000023' AND del_flag = 0
  22. ) existing_menu
  23. );
  24. INSERT INTO sys_menu (
  25. id, menu_name, parent_id, menu_type, path, component, perms,
  26. is_frame, visible, status, tenant_no, order_num, remark,
  27. create_by, create_dept_id, create_time, update_by, update_time, del_flag
  28. )
  29. SELECT
  30. '50000000000000000000000000000023',
  31. '顺丰月结',
  32. 'CEL00000000000000000000000000001',
  33. 'C',
  34. 'sf-express-settlement',
  35. '/cell-storage/sf-express-settlement/index',
  36. 'cell-storage:sf-express-settlement:list',
  37. 1,
  38. '1',
  39. '1',
  40. 'zkxw',
  41. (
  42. SELECT order_num - 1 FROM (
  43. SELECT order_num FROM sys_menu
  44. WHERE id = '50000000000000000000000000000004' AND del_flag = 0
  45. LIMIT 1
  46. ) pay_menu
  47. ),
  48. '细胞存储:顺丰月结',
  49. NULL,
  50. '',
  51. NOW(),
  52. NULL,
  53. NOW(),
  54. 0
  55. FROM DUAL
  56. WHERE NOT EXISTS (
  57. SELECT 1 FROM sys_menu m
  58. WHERE m.del_flag = 0
  59. AND (
  60. m.id = '50000000000000000000000000000023'
  61. OR m.perms = 'cell-storage:sf-express-settlement:list'
  62. )
  63. );
  64. INSERT INTO sys_role_menu (
  65. id, role_id, menu_id, tenant_no, order_num, remark,
  66. create_by, create_dept_id, create_time, update_by, update_time, del_flag
  67. )
  68. SELECT
  69. MD5(CONCAT(r.id, '|50000000000000000000000000000023')),
  70. r.id,
  71. '50000000000000000000000000000023',
  72. IFNULL(NULLIF(r.tenant_no, ''), 'zkxw'),
  73. 0,
  74. 'grant sf-express settlement to payment-confirm roles',
  75. NULL,
  76. '',
  77. NOW(),
  78. NULL,
  79. NOW(),
  80. 0
  81. FROM sys_role r
  82. INNER JOIN sys_role_menu rm
  83. ON rm.role_id = r.id
  84. AND rm.menu_id = '50000000000000000000000000000004'
  85. AND rm.del_flag = 0
  86. WHERE r.del_flag = 0
  87. AND NOT EXISTS (
  88. SELECT 1 FROM sys_role_menu x
  89. WHERE x.role_id = r.id
  90. AND x.menu_id = '50000000000000000000000000000023'
  91. AND x.del_flag = 0
  92. );