解决API文档和路由配置合并冲突
This commit is contained in:
commit
79a96a7dfd
662 files changed
+127608
-205195
No files matched your search
@@ -0,0 +1,15 @@
|
||||
INSERT INTO sys_menu (menu_id, menu_name, path, parent_id, order_num, component, is_frame, menu_type, visible, status, perms, icon) VALUES (1948304542593663001, '企业信息', '/zsjy/enterprise/', 1948304542593662977, 1, 'zsjy/enterprise/index', 1, 'C', '0', '0', NULL, 'company');
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, menu_type, visible, status, perms, icon) VALUES (1948304542593663002, '新增企业信息', 1948304542593663001, 1, 'F', '0', '0', 'zsjy:enterprise:add', '#');
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, menu_type, visible, status, perms, icon) VALUES (1948304542593663003, '编辑企业信息', 1948304542593663001, 2, 'F', '0', '0', 'zsjy:enterprise:edit', '#');
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, menu_type, visible, status, perms, icon) VALUES (1948304542593663004, '删除企业信息', 1948304542593663001, 3, 'F', '0', '0', 'zsjy:enterprise:remove', '#');
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, menu_type, visible, status, perms, icon) VALUES (1948304542593663005, '导出企业信息', 1948304542593663001, 4, 'F', '0', '0', 'zsjy:enterprise:export', '#');
|
||||
INSERT INTO sys_menu (menu_id, menu_name, path, parent_id, order_num, component, is_frame, menu_type, visible, status, perms, icon) VALUES (1948304542593663011, '招聘岗位', '/zsjy/jobPosition/', 1948304542593662977, 2, 'zsjy/jobPosition/index', 1, 'C', '0', '0', NULL, 'user');
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, menu_type, visible, status, perms, icon) VALUES (1948304542593663012, '新增招聘岗位', 1948304542593663011, 1, 'F', '0', '0', 'zsjy:jobPosition:add', '#');
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, menu_type, visible, status, perms, icon) VALUES (1948304542593663013, '编辑招聘岗位', 1948304542593663011, 2, 'F', '0', '0', 'zsjy:jobPosition:edit', '#');
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, menu_type, visible, status, perms, icon) VALUES (1948304542593663014, '删除招聘岗位', 1948304542593663011, 3, 'F', '0', '0', 'zsjy:jobPosition:remove', '#');
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, menu_type, visible, status, perms, icon) VALUES (1948304542593663015, '导出招聘岗位', 1948304542593663011, 4, 'F', '0', '0', 'zsjy:jobPosition:export', '#');
|
||||
INSERT INTO sys_menu (menu_id, menu_name, path, parent_id, order_num, component, is_frame, menu_type, visible, status, perms, icon) VALUES (1948304542593663021, '招聘海报', '/zsjy/poster', 1948304542593662977, 3, 'zsjy/poster/index', 1, 'C', '0', '0', NULL, 'file');
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, menu_type, visible, status, perms, icon) VALUES (1948304542593663022, '新增招聘海报', 1948304542593663021, 1, 'F', '0', '0', 'zsjy:poster:add', '#');
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, menu_type, visible, status, perms, icon) VALUES (1948304542593663023, '编辑招聘海报', 1948304542593663021, 2, 'F', '0', '0', 'zsjy:poster:edit', '#');
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, menu_type, visible, status, perms, icon) VALUES (1948304542593663024, '删除招聘海报', 1948304542593663021, 3, 'F', '0', '0', 'zsjy:poster:remove', '#');
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, menu_type, visible, status, perms, icon) VALUES (1948304542593663025, '导出招聘海报', 1948304542593663021, 4, 'F', '0', '0', 'zsjy:poster:export', '#');
|
||||
@@ -0,0 +1,321 @@
|
||||
# 项目申报表单集成步骤指南
|
||||
|
||||
## 🎯 目标
|
||||
完成项目申报表单的绩效指标组件集成和金额字段修复
|
||||
|
||||
## 📋 前置条件
|
||||
- ✅ 已创建 `PerformanceIndicators.vue` 组件
|
||||
- ✅ 已创建 `performanceIndicator.ts` API接口
|
||||
- ✅ 已修复表单数据结构
|
||||
|
||||
## 🔧 集成步骤
|
||||
|
||||
### 步骤1: 修复form.vue的模板部分
|
||||
|
||||
需要在 `web/src/views/cw/application/form.vue` 中添加完整的金额字段表单:
|
||||
|
||||
```vue
|
||||
<!-- 第三步:资金预算 -->
|
||||
<el-card shadow="never" class="form-card" v-show="currentStep === 2">
|
||||
<template #header>
|
||||
<div class="card-header">
|
||||
<el-icon><Money /></el-icon>
|
||||
<span>资金预算安排</span>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<el-form ref="budgetFormRef" :model="form" :rules="rules" label-width="140px">
|
||||
<!-- 项目总投资 -->
|
||||
<div class="budget-section">
|
||||
<h4 class="section-title">项目总投资(万元)</h4>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="合计" prop="totalInvestment">
|
||||
<el-input-number v-model="form.totalInvestment" :min="0" :precision="2" style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="市财政资金" prop="totalMunicipalFiscal">
|
||||
<el-input-number v-model="form.totalMunicipalFiscal" :min="0" :precision="2" style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="单位自筹" prop="totalSelfFunding">
|
||||
<el-input-number v-model="form.totalSelfFunding" :min="0" :precision="2" style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="其他资金" prop="totalOtherFunding">
|
||||
<el-input-number v-model="form.totalOtherFunding" :min="0" :precision="2" style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
|
||||
<!-- 年度预计执行数 -->
|
||||
<div class="budget-section">
|
||||
<h4 class="section-title">年度预计执行数(万元)</h4>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="合计" prop="currentYearTotal">
|
||||
<el-input-number v-model="form.currentYearTotal" :min="0" :precision="2" style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="市财政资金" prop="currentYearMunicipal">
|
||||
<el-input-number v-model="form.currentYearMunicipal" :min="0" :precision="2" style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="单位自筹" prop="currentYearSelf">
|
||||
<el-input-number v-model="form.currentYearSelf" :min="0" :precision="2" style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="其他资金" prop="currentYearOther">
|
||||
<el-input-number v-model="form.currentYearOther" :min="0" :precision="2" style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
|
||||
<!-- 下年度申请资金 -->
|
||||
<div class="budget-section">
|
||||
<h4 class="section-title">下年度申请资金(万元)</h4>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="合计" prop="nextYearTotal">
|
||||
<el-input-number v-model="form.nextYearTotal" :min="0" :precision="2" style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="市财政资金" prop="nextYearMunicipal">
|
||||
<el-input-number v-model="form.nextYearMunicipal" :min="0" :precision="2" style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="单位自筹" prop="nextYearSelf">
|
||||
<el-input-number v-model="form.nextYearSelf" :min="0" :precision="2" style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="其他资金" prop="nextYearOther">
|
||||
<el-input-number v-model="form.nextYearOther" :min="0" :precision="2" style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
|
||||
<!-- 以后年度安排 -->
|
||||
<div class="budget-section">
|
||||
<h4 class="section-title">以后年度安排(万元)</h4>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="合计" prop="futureYearTotal">
|
||||
<el-input-number v-model="form.futureYearTotal" :min="0" :precision="2" style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="市财政资金" prop="futureYearMunicipal">
|
||||
<el-input-number v-model="form.futureYearMunicipal" :min="0" :precision="2" style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="单位自筹" prop="futureYearSelf">
|
||||
<el-input-number v-model="form.futureYearSelf" :min="0" :precision="2" style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="其他资金" prop="futureYearOther">
|
||||
<el-input-number v-model="form.futureYearOther" :min="0" :precision="2" style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-form>
|
||||
</el-card>
|
||||
```
|
||||
|
||||
### 步骤2: 注册PerformanceIndicators组件
|
||||
|
||||
在 `web/src/views/cw/application/form.vue` 的script部分添加:
|
||||
|
||||
```javascript
|
||||
// 注册组件
|
||||
import PerformanceIndicators from './components/PerformanceIndicators.vue'
|
||||
|
||||
// 在组件定义中添加
|
||||
export default {
|
||||
components: {
|
||||
PerformanceIndicators
|
||||
},
|
||||
// ... 其他配置
|
||||
}
|
||||
```
|
||||
|
||||
### 步骤3: 修复API导入错误
|
||||
|
||||
确保 `web/src/api/cw/projectApplication.ts` 文件存在并包含正确的API方法:
|
||||
|
||||
```typescript
|
||||
// 项目申报相关API
|
||||
export const addProjectApplication = (data: any) => {
|
||||
return request({
|
||||
url: '/cw/application',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
export const updateProjectApplication = (data: any) => {
|
||||
return request({
|
||||
url: '/cw/application',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
export const getProjectApplication = (id: string | number) => {
|
||||
return request({
|
||||
url: '/cw/application/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
export const submitApplication = (id: string | number) => {
|
||||
return request({
|
||||
url: '/cw/application/submit/' + id,
|
||||
method: 'post'
|
||||
});
|
||||
};
|
||||
```
|
||||
|
||||
### 步骤4: 更新保存逻辑
|
||||
|
||||
修复 `handleSaveDraft` 和 `handleSubmit` 方法:
|
||||
|
||||
```javascript
|
||||
import { batchSavePerformanceIndicator } from '@/api/cw/performanceIndicator'
|
||||
|
||||
// 保存草稿
|
||||
const handleSaveDraft = async () => {
|
||||
try {
|
||||
savingDraft.value = true
|
||||
|
||||
// 1. 保存申报基本信息
|
||||
let result
|
||||
if (form.id) {
|
||||
result = await updateProjectApplication(form)
|
||||
} else {
|
||||
result = await addProjectApplication(form)
|
||||
if (result && result.data) {
|
||||
form.id = result.data.id
|
||||
form.applicationNo = result.data.applicationNo
|
||||
}
|
||||
}
|
||||
|
||||
// 2. 保存绩效指标
|
||||
if (form.id && form.performanceIndicators.length > 0) {
|
||||
await batchSavePerformanceIndicator(form.id, form.applicationNo, form.performanceIndicators)
|
||||
}
|
||||
|
||||
ElMessage.success('草稿保存成功')
|
||||
router.push('/cw/application')
|
||||
} catch (error) {
|
||||
ElMessage.error('保存失败:' + error.message)
|
||||
} finally {
|
||||
savingDraft.value = false
|
||||
}
|
||||
}
|
||||
|
||||
// 提交申报
|
||||
const handleSubmit = async () => {
|
||||
try {
|
||||
// 1. 验证绩效指标
|
||||
const performanceValidation = performanceFormRef.value?.validate()
|
||||
if (performanceValidation && !performanceValidation.valid) {
|
||||
ElMessage.error(performanceValidation.message)
|
||||
return
|
||||
}
|
||||
|
||||
submitting.value = true
|
||||
|
||||
// 2. 先保存草稿
|
||||
await handleSaveDraft()
|
||||
|
||||
// 3. 提交审批
|
||||
if (form.id) {
|
||||
await submitApplication(form.id)
|
||||
ElMessage.success('提交成功,已进入审批流程')
|
||||
router.push('/cw/application')
|
||||
}
|
||||
} catch (error) {
|
||||
ElMessage.error('提交失败:' + error.message)
|
||||
} finally {
|
||||
submitting.value = false
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 步骤5: 添加表单验证
|
||||
|
||||
更新验证规则:
|
||||
|
||||
```javascript
|
||||
const rules = {
|
||||
projectName: [
|
||||
{ required: true, message: '请输入项目名称', trigger: 'blur' }
|
||||
],
|
||||
principal: [
|
||||
{ required: true, message: '请输入项目负责人', trigger: 'blur' }
|
||||
],
|
||||
totalInvestment: [
|
||||
{ required: true, message: '请填写项目总投资', trigger: 'blur' },
|
||||
{ type: 'number', min: 0.01, message: '投资金额必须大于0', trigger: 'blur' }
|
||||
],
|
||||
// ... 其他验证规则
|
||||
}
|
||||
```
|
||||
|
||||
### 步骤6: 测试功能
|
||||
|
||||
1. **新增申报测试**:
|
||||
- 填写基本信息
|
||||
- 填写项目内容
|
||||
- 填写完整的资金预算(所有金额字段)
|
||||
- 添加绩效指标(确保分值总和为100%)
|
||||
- 保存草稿,检查数据库是否正确保存
|
||||
|
||||
2. **修改申报测试**:
|
||||
- 打开已保存的申报
|
||||
- 修改金额和绩效指标
|
||||
- 重新保存,验证数据更新
|
||||
|
||||
3. **提交流程测试**:
|
||||
- 完成申报填写
|
||||
- 点击提交,确认审批流程创建成功
|
||||
|
||||
## 🚨 常见问题解决
|
||||
|
||||
### 问题1: API导入错误
|
||||
**解决方案**: 确保API文件路径正确,检查 `@/api/cw/` 目录下的文件是否存在
|
||||
|
||||
### 问题2: 绩效指标组件不显示
|
||||
**解决方案**: 检查组件导入路径,确保 `PerformanceIndicators.vue` 文件存在
|
||||
|
||||
### 问题3: 金额字段保存失败
|
||||
**解决方案**: 检查前端字段名与后端BO类字段名是否严格匹配
|
||||
|
||||
### 问题4: 分值验证错误
|
||||
**解决方案**: 检查绩效指标组件的 `validate()` 方法是否正确调用
|
||||
|
||||
## ✅ 验收标准
|
||||
|
||||
- [ ] 所有金额字段能正确显示和编辑
|
||||
- [ ] 绩效指标分类显示正确(产出指标、效益指标、满意度指标)
|
||||
- [ ] 绩效指标验证规则正常工作(必填项、分值总和100%)
|
||||
- [ ] 保存草稿功能正常
|
||||
- [ ] 提交申报功能正常
|
||||
- [ ] 数据库中申报信息和绩效指标数据完整
|
||||
|
||||
完成这些步骤后,项目申报功能将完全满足业务需求。
|
||||
@@ -0,0 +1,155 @@
|
||||
-- 财务项目申报审批状态显示问题排查和修复脚本
|
||||
-- 日期: 2025-01-26
|
||||
-- 说明: 解决审批状态字段显示数字而非中文描述的问题
|
||||
|
||||
-- ==========================================
|
||||
-- 1. 问题排查:检查当前数据状态
|
||||
-- ==========================================
|
||||
|
||||
-- 1.1 查看当前申报记录的状态值分布
|
||||
SELECT
|
||||
approval_status,
|
||||
COUNT(*) as record_count,
|
||||
GROUP_CONCAT(DISTINCT project_name SEPARATOR ', ') as sample_projects
|
||||
FROM cw_project_application
|
||||
GROUP BY approval_status
|
||||
ORDER BY record_count DESC;
|
||||
|
||||
-- 1.2 查看字典类型配置是否存在
|
||||
SELECT * FROM sys_dict_type WHERE dict_type = 'cw_approval_status';
|
||||
|
||||
-- 1.3 查看字典数据配置是否完整
|
||||
SELECT
|
||||
dict_sort,
|
||||
dict_label,
|
||||
dict_value,
|
||||
css_class,
|
||||
status
|
||||
FROM sys_dict_data
|
||||
WHERE dict_type = 'cw_approval_status'
|
||||
ORDER BY dict_sort;
|
||||
|
||||
-- 1.4 检查是否有数字格式的状态值(问题数据)
|
||||
SELECT
|
||||
id,
|
||||
application_no,
|
||||
project_name,
|
||||
approval_status,
|
||||
create_time
|
||||
FROM cw_project_application
|
||||
WHERE approval_status IN ('1', '2', '3', '4', '5', '6', '7')
|
||||
ORDER BY create_time DESC
|
||||
LIMIT 10;
|
||||
|
||||
-- ==========================================
|
||||
-- 2. 问题修复:数据状态值迁移
|
||||
-- ==========================================
|
||||
|
||||
-- 2.1 备份当前数据(可选,建议执行)
|
||||
-- CREATE TABLE cw_project_application_backup_20250126 AS
|
||||
-- SELECT * FROM cw_project_application;
|
||||
|
||||
-- 2.2 修复数字状态值为标准字典值
|
||||
UPDATE cw_project_application
|
||||
SET approval_status = CASE
|
||||
WHEN approval_status = '1' THEN 'draft'
|
||||
WHEN approval_status = '2' THEN 'submitted'
|
||||
WHEN approval_status = '3' THEN 'approving'
|
||||
WHEN approval_status = '4' THEN 'approved'
|
||||
WHEN approval_status = '5' THEN 'rejected'
|
||||
WHEN approval_status = '6' THEN 'returned'
|
||||
WHEN approval_status = '7' THEN 'cancelled'
|
||||
ELSE approval_status
|
||||
END
|
||||
WHERE approval_status IN ('1', '2', '3', '4', '5', '6', '7');
|
||||
|
||||
-- 2.3 验证修复结果
|
||||
SELECT
|
||||
approval_status,
|
||||
COUNT(*) as record_count
|
||||
FROM cw_project_application
|
||||
GROUP BY approval_status
|
||||
ORDER BY record_count DESC;
|
||||
|
||||
-- ==========================================
|
||||
-- 3. 字典配置检查和修复
|
||||
-- ==========================================
|
||||
|
||||
-- 3.1 确保字典类型存在
|
||||
INSERT IGNORE INTO sys_dict_type VALUES
|
||||
(3000003, '审批状态', 'cw_approval_status', '0', NULL, '财务预算-审批状态', now(), NULL, NULL, '审批状态分类');
|
||||
|
||||
-- 3.2 确保字典数据完整
|
||||
INSERT IGNORE INTO sys_dict_data VALUES
|
||||
(3000031, 0, '草稿', 'draft', 'cw_approval_status', '', '', 'N', '0', '0', '', '草稿状态', now(), NULL, NULL, NULL),
|
||||
(3000032, 1, '已提交', 'submitted', 'cw_approval_status', '', '', 'N', '0', '0', '', '已提交审批', now(), NULL, NULL, NULL),
|
||||
(3000033, 2, '审批中', 'approving', 'cw_approval_status', '', 'blue', 'N', '0', '0', '', '审批中', now(), NULL, NULL, NULL),
|
||||
(3000034, 3, '已通过', 'approved', 'cw_approval_status', '', 'green', 'N', '0', '0', '', '审批通过', now(), NULL, NULL, NULL),
|
||||
(3000035, 4, '已拒绝', 'rejected', 'cw_approval_status', '', 'red', 'N', '0', '0', '', '审批拒绝', now(), NULL, NULL, NULL),
|
||||
(3000036, 5, '已退回', 'returned', 'cw_approval_status', '', 'orange', 'N', '0', '0', '', '退回修改', now(), NULL, NULL, NULL),
|
||||
(3000037, 6, '已取消', 'cancelled', 'cw_approval_status', '', 'gray', 'N', '0', '0', '', '取消申报', now(), NULL, NULL, NULL);
|
||||
|
||||
-- ==========================================
|
||||
-- 4. 清理和重置缓存(应用层面)
|
||||
-- ==========================================
|
||||
|
||||
-- 4.1 更新字典缓存标记(如果系统支持)
|
||||
-- UPDATE sys_config SET config_value = now() WHERE config_key = 'sys.dict.cache.refresh';
|
||||
|
||||
-- ==========================================
|
||||
-- 5. 验证最终结果
|
||||
-- ==========================================
|
||||
|
||||
-- 5.1 验证所有申报记录的状态值都是标准格式
|
||||
SELECT
|
||||
'修复后状态分布' as check_item,
|
||||
approval_status,
|
||||
COUNT(*) as record_count
|
||||
FROM cw_project_application
|
||||
GROUP BY approval_status
|
||||
ORDER BY record_count DESC;
|
||||
|
||||
-- 5.2 验证字典配置完整性
|
||||
SELECT
|
||||
'字典配置验证' as check_item,
|
||||
dict_label,
|
||||
dict_value
|
||||
FROM sys_dict_data
|
||||
WHERE dict_type = 'cw_approval_status'
|
||||
AND status = '0'
|
||||
ORDER BY dict_sort;
|
||||
|
||||
-- 5.3 检查是否还有问题数据
|
||||
SELECT
|
||||
'问题数据检查' as check_item,
|
||||
COUNT(*) as problem_count
|
||||
FROM cw_project_application
|
||||
WHERE approval_status IN ('1', '2', '3', '4', '5', '6', '7');
|
||||
|
||||
-- ==========================================
|
||||
-- 使用说明
|
||||
-- ==========================================
|
||||
/*
|
||||
执行步骤:
|
||||
|
||||
1. 先执行排查SQL(第1部分),查看当前数据状态
|
||||
- 如果approval_status列显示的是数字(1,2,7等),说明需要数据迁移
|
||||
- 如果已经是英文(draft,submitted等),说明数据正确
|
||||
|
||||
2. 如果需要修复,执行第2部分的UPDATE语句
|
||||
- 建议先执行备份语句
|
||||
- 然后执行状态值迁移
|
||||
|
||||
3. 执行第3部分确保字典配置完整
|
||||
|
||||
4. 执行第5部分验证修复结果
|
||||
|
||||
5. 重启后端服务和清理前端缓存
|
||||
- cd backend && mvn spring-boot:run -pl ruoyi-admin
|
||||
- cd web && npm run dev
|
||||
|
||||
注意事项:
|
||||
- 执行前请先备份数据库
|
||||
- 如果有正在进行的审批流程,请谨慎操作
|
||||
- 修复后需要重启服务以清理缓存
|
||||
*/
|
||||
@@ -0,0 +1,16 @@
|
||||
-- ==================================================
|
||||
-- 修复招生就业模块表,补充缺失的基础字段
|
||||
-- 创建日期: 2025-01-26
|
||||
-- ==================================================
|
||||
|
||||
-- 1. 为 `zsjy_job_position` 表添加 `create_dept` 字段
|
||||
ALTER TABLE `zsjy_job_position` ADD COLUMN `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门';
|
||||
|
||||
-- 2. 为 `zsjy_recruitment_poster` 表添加 `create_dept` 字段
|
||||
ALTER TABLE `zsjy_recruitment_poster` ADD COLUMN `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门';
|
||||
|
||||
-- ==================================================
|
||||
-- 检查语句
|
||||
-- ==================================================
|
||||
DESC `zsjy_job_position`;
|
||||
DESC `zsjy_recruitment_poster`;
|
||||
@@ -0,0 +1,15 @@
|
||||
-- 调整财务项目预算审批菜单结构
|
||||
-- 目标:去掉"财务管理"一级目录,让"项目预算审批"直接作为一级目录
|
||||
|
||||
-- 1. 将"项目预算审批"菜单设置为一级菜单(parent_id改为0)
|
||||
UPDATE sys_menu SET parent_id = 0, order_num = 8 WHERE menu_id = 5100;
|
||||
|
||||
-- 2. 删除"财务管理"一级目录(如果没有其他子菜单的话)
|
||||
DELETE FROM sys_menu WHERE menu_id = 5000;
|
||||
|
||||
-- 3. 确认菜单结构调整后的完整性
|
||||
-- 查看调整后的菜单结构
|
||||
SELECT menu_id, parent_id, menu_name, menu_type, order_num, path
|
||||
FROM sys_menu
|
||||
WHERE menu_id >= 5100 AND menu_id <= 5200
|
||||
ORDER BY parent_id, order_num;
|
||||
@@ -0,0 +1,46 @@
|
||||
-- 财务项目申报审批功能字典数据创建脚本
|
||||
-- 日期: 2025-01-26
|
||||
-- 说明: 创建审批动作和审批节点状态字典数据
|
||||
|
||||
-- 1. 审批动作字典数据
|
||||
-- 审批动作字典类型
|
||||
INSERT INTO sys_dict_type(dict_id, tenant_id, dict_name, dict_type, create_by, create_time, remark)
|
||||
VALUES (1950000000000000001, '000000', '审批动作', 'cw_approve_action', 1, now(), '财务项目申报审批动作字典');
|
||||
|
||||
-- 审批动作字典数据
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (1950000000000001001, '000000', 1, '通过', 'approve', 'cw_approve_action', '', 'success', 'N', 1, now(), '审批通过');
|
||||
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (1950000000000001002, '000000', 2, '拒绝', 'reject', 'cw_approve_action', '', 'danger', 'N', 1, now(), '审批拒绝');
|
||||
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (1950000000000001003, '000000', 3, '退回', 'return', 'cw_approve_action', '', 'warning', 'N', 1, now(), '退回修改');
|
||||
|
||||
-- 2. 审批节点状态字典数据
|
||||
-- 审批节点状态字典类型
|
||||
INSERT INTO sys_dict_type(dict_id, tenant_id, dict_name, dict_type, create_by, create_time, remark)
|
||||
VALUES (1950000000000000002, '000000', '审批节点状态', 'cw_node_status', 1, now(), '财务项目申报审批节点状态字典');
|
||||
|
||||
-- 审批节点状态字典数据
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (1950000000000002001, '000000', 1, '等待审批', 'waiting', 'cw_node_status', '', 'info', 'N', 1, now(), '等待审批');
|
||||
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (1950000000000002002, '000000', 2, '审批中', 'approving', 'cw_node_status', '', 'primary', 'N', 1, now(), '正在审批');
|
||||
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (1950000000000002003, '000000', 3, '已通过', 'approved', 'cw_node_status', '', 'success', 'N', 1, now(), '审批通过');
|
||||
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (1950000000000002004, '000000', 4, '已拒绝', 'rejected', 'cw_node_status', '', 'danger', 'N', 1, now(), '审批拒绝');
|
||||
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (1950000000000002005, '000000', 5, '已退回', 'returned', 'cw_node_status', '', 'warning', 'N', 1, now(), '已退回');
|
||||
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (1950000000000002006, '000000', 6, '未开始', 'pending', 'cw_node_status', '', 'info', 'N', 1, now(), '未开始');
|
||||
|
||||
COMMIT;
|
||||
|
||||
-- 字典数据创建完成
|
||||
@@ -0,0 +1,84 @@
|
||||
-- 财务项目申报部门审批功能菜单创建脚本(仅创建菜单,不赋权)
|
||||
-- 日期: 2025-01-26
|
||||
-- 说明: 在"项目申报管理"(6000)下创建部门审批功能菜单
|
||||
|
||||
-- 1. 部门审批管理菜单 (在项目申报管理下新增子菜单)
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (6200, '部门审批管理', 6000, 2, 'deptApproval', 'cw/deptApproval/index', '', 1, 0, 'C', '0', '0', 'cw:approval:dept', 'ele-Checked', 1, now(), 1, now(), '财务项目申报部门审批管理');
|
||||
|
||||
-- 2. 部门审批管理功能按钮
|
||||
-- 查询
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (6201, '部门审批查询', 6200, 1, '#', '', '', 1, 0, 'F', '0', '0', 'cw:approval:dept', '#', 1, now(), 1, now(), '');
|
||||
|
||||
-- 审批操作
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (6202, '部门审批操作', 6200, 2, '#', '', '', 1, 0, 'F', '0', '0', 'cw:approval:process', '#', 1, now(), 1, now(), '');
|
||||
|
||||
-- 审批详情查看
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (6203, '审批详情查看', 6200, 3, '#', '', '', 1, 0, 'F', '0', '0', 'cw:approval:query', '#', 1, now(), 1, now(), '');
|
||||
|
||||
-- 3. 审批记录管理菜单 (给管理员查看所有审批记录)
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (6210, '审批记录管理', 6000, 3, 'approvalRecord', 'cw/approvalRecord/index', '', 1, 0, 'C', '0', '0', 'cw:approval:list', 'ele-List', 1, now(), 1, now(), '财务项目申报审批记录管理');
|
||||
|
||||
-- 4. 审批记录管理功能按钮
|
||||
-- 查询
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (6211, '审批记录查询', 6210, 1, '#', '', '', 1, 0, 'F', '0', '0', 'cw:approval:list', '#', 1, now(), 1, now(), '');
|
||||
|
||||
-- 导出
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (6212, '审批记录导出', 6210, 2, '#', '', '', 1, 0, 'F', '0', '0', 'cw:approval:export', '#', 1, now(), 1, now(), '');
|
||||
|
||||
-- 详情
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (6213, '审批记录详情', 6210, 3, '#', '', '', 1, 0, 'F', '0', '0', 'cw:approval:query', '#', 1, now(), 1, now(), '');
|
||||
|
||||
-- 5. 创建审批流程权限 (系统管理员)
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (6214, '创建审批流程', 6210, 4, '#', '', '', 1, 0, 'F', '0', '0', 'cw:approval:create', '#', 1, now(), 1, now(), '');
|
||||
|
||||
-- 6. 审批动作字典数据
|
||||
-- 审批动作字典类型
|
||||
INSERT INTO sys_dict_type(dict_id, tenant_id, dict_name, dict_type, create_by, create_time, remark)
|
||||
VALUES (1950000000000000001, '000000', '审批动作', 'cw_approve_action', 1, now(), '财务项目申报审批动作字典');
|
||||
|
||||
-- 审批动作字典数据
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (1950000000000001001, '000000', 1, '通过', 'approve', 'cw_approve_action', '', 'success', 'N', 1, now(), '审批通过');
|
||||
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (1950000000000001002, '000000', 2, '拒绝', 'reject', 'cw_approve_action', '', 'danger', 'N', 1, now(), '审批拒绝');
|
||||
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (1950000000000001003, '000000', 3, '退回', 'return', 'cw_approve_action', '', 'warning', 'N', 1, now(), '退回修改');
|
||||
|
||||
-- 7. 审批节点状态字典数据
|
||||
-- 审批节点状态字典类型
|
||||
INSERT INTO sys_dict_type(dict_id, tenant_id, dict_name, dict_type, create_by, create_time, remark)
|
||||
VALUES (1950000000000000002, '000000', '审批节点状态', 'cw_node_status', 1, now(), '财务项目申报审批节点状态字典');
|
||||
|
||||
-- 审批节点状态字典数据
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (1950000000000002001, '000000', 1, '等待审批', 'waiting', 'cw_node_status', '', 'info', 'N', 1, now(), '等待审批');
|
||||
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (1950000000000002002, '000000', 2, '审批中', 'approving', 'cw_node_status', '', 'primary', 'N', 1, now(), '正在审批');
|
||||
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (1950000000000002003, '000000', 3, '已通过', 'approved', 'cw_node_status', '', 'success', 'N', 1, now(), '审批通过');
|
||||
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (1950000000000002004, '000000', 4, '已拒绝', 'rejected', 'cw_node_status', '', 'danger', 'N', 1, now(), '审批拒绝');
|
||||
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (1950000000000002005, '000000', 5, '已退回', 'returned', 'cw_node_status', '', 'warning', 'N', 1, now(), '已退回');
|
||||
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (1950000000000002006, '000000', 6, '未开始', 'pending', 'cw_node_status', '', 'info', 'N', 1, now(), '未开始');
|
||||
|
||||
COMMIT;
|
||||
|
||||
-- 菜单创建完成,等待后续手动赋权操作
|
||||
@@ -0,0 +1,94 @@
|
||||
-- 财务项目申报部门审批功能菜单权限配置
|
||||
-- 日期: 2025-01-26
|
||||
|
||||
-- 1. 部门审批管理菜单 (在财务项目申报管理下新增子菜单)
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark, tenant_id)
|
||||
VALUES (6200, '部门审批管理', 6100, 2, 'deptApproval', 'cw/deptApproval/index', '', 1, 0, 'C', '0', '0', 'cw:approval:dept', 'ele-Checked', 1, sysdate(), 1, sysdate(), '财务项目申报部门审批管理', '000000');
|
||||
|
||||
-- 2. 部门审批管理功能按钮
|
||||
-- 查询
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark, tenant_id)
|
||||
VALUES (6201, '部门审批查询', 6200, 1, '#', '', '', 1, 0, 'F', '0', '0', 'cw:approval:dept', '#', 1, sysdate(), 1, sysdate(), '', '000000');
|
||||
|
||||
-- 审批操作
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark, tenant_id)
|
||||
VALUES (6202, '部门审批操作', 6200, 2, '#', '', '', 1, 0, 'F', '0', '0', 'cw:approval:process', '#', 1, sysdate(), 1, sysdate(), '', '000000');
|
||||
|
||||
-- 审批详情查看
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark, tenant_id)
|
||||
VALUES (6203, '审批详情查看', 6200, 3, '#', '', '', 1, 0, 'F', '0', '0', 'cw:approval:query', '#', 1, sysdate(), 1, sysdate(), '', '000000');
|
||||
|
||||
-- 3. 审批记录管理菜单 (给管理员查看所有审批记录)
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark, tenant_id)
|
||||
VALUES (6210, '审批记录管理', 6100, 3, 'approvalRecord', 'cw/approvalRecord/index', '', 1, 0, 'C', '0', '0', 'cw:approval:list', 'ele-List', 1, sysdate(), 1, sysdate(), '财务项目申报审批记录管理', '000000');
|
||||
|
||||
-- 4. 审批记录管理功能按钮
|
||||
-- 查询
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark, tenant_id)
|
||||
VALUES (6211, '审批记录查询', 6210, 1, '#', '', '', 1, 0, 'F', '0', '0', 'cw:approval:list', '#', 1, sysdate(), 1, sysdate(), '', '000000');
|
||||
|
||||
-- 导出
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark, tenant_id)
|
||||
VALUES (6212, '审批记录导出', 6210, 2, '#', '', '', 1, 0, 'F', '0', '0', 'cw:approval:export', '#', 1, sysdate(), 1, sysdate(), '', '000000');
|
||||
|
||||
-- 详情
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark, tenant_id)
|
||||
VALUES (6213, '审批记录详情', 6210, 3, '#', '', '', 1, 0, 'F', '0', '0', 'cw:approval:query', '#', 1, sysdate(), 1, sysdate(), '', '000000');
|
||||
|
||||
-- 5. 创建审批流程权限 (系统管理员)
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark, tenant_id)
|
||||
VALUES (6214, '创建审批流程', 6210, 4, '#', '', '', 1, 0, 'F', '0', '0', 'cw:approval:create', '#', 1, sysdate(), 1, sysdate(), '', '000000');
|
||||
|
||||
-- 6. 将新菜单分配给超级管理员角色 (role_id = 1)
|
||||
INSERT INTO sys_role_menu(role_id, menu_id) VALUES (1, 6200);
|
||||
INSERT INTO sys_role_menu(role_id, menu_id) VALUES (1, 6201);
|
||||
INSERT INTO sys_role_menu(role_id, menu_id) VALUES (1, 6202);
|
||||
INSERT INTO sys_role_menu(role_id, menu_id) VALUES (1, 6203);
|
||||
INSERT INTO sys_role_menu(role_id, menu_id) VALUES (1, 6210);
|
||||
INSERT INTO sys_role_menu(role_id, menu_id) VALUES (1, 6211);
|
||||
INSERT INTO sys_role_menu(role_id, menu_id) VALUES (1, 6212);
|
||||
INSERT INTO sys_role_menu(role_id, menu_id) VALUES (1, 6213);
|
||||
INSERT INTO sys_role_menu(role_id, menu_id) VALUES (1, 6214);
|
||||
|
||||
-- 7. 审批动作字典数据
|
||||
-- 检查是否已存在审批动作字典类型
|
||||
INSERT INTO sys_dict_type(dict_id, tenant_id, dict_name, dict_type, create_by, create_time, remark)
|
||||
VALUES (nextval('sys_dict_type_seq'), '000000', '审批动作', 'cw_approve_action', 1, sysdate(), '财务项目申报审批动作字典')
|
||||
ON DUPLICATE KEY UPDATE dict_name = VALUES(dict_name);
|
||||
|
||||
-- 审批动作字典数据
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (nextval('sys_dict_data_seq'), '000000', 1, '通过', 'approve', 'cw_approve_action', '', 'success', 'N', 1, sysdate(), '审批通过');
|
||||
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (nextval('sys_dict_data_seq'), '000000', 2, '拒绝', 'reject', 'cw_approve_action', '', 'danger', 'N', 1, sysdate(), '审批拒绝');
|
||||
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (nextval('sys_dict_data_seq'), '000000', 3, '退回', 'return', 'cw_approve_action', '', 'warning', 'N', 1, sysdate(), '退回修改');
|
||||
|
||||
-- 8. 审批节点状态字典数据
|
||||
-- 检查是否已存在审批节点状态字典类型
|
||||
INSERT INTO sys_dict_type(dict_id, tenant_id, dict_name, dict_type, create_by, create_time, remark)
|
||||
VALUES (nextval('sys_dict_type_seq'), '000000', '审批节点状态', 'cw_node_status', 1, sysdate(), '财务项目申报审批节点状态字典')
|
||||
ON DUPLICATE KEY UPDATE dict_name = VALUES(dict_name);
|
||||
|
||||
-- 审批节点状态字典数据
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (nextval('sys_dict_data_seq'), '000000', 1, '等待审批', 'waiting', 'cw_node_status', '', 'info', 'N', 1, sysdate(), '等待审批');
|
||||
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (nextval('sys_dict_data_seq'), '000000', 2, '审批中', 'approving', 'cw_node_status', '', 'primary', 'N', 1, sysdate(), '正在审批');
|
||||
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (nextval('sys_dict_data_seq'), '000000', 3, '已通过', 'approved', 'cw_node_status', '', 'success', 'N', 1, sysdate(), '审批通过');
|
||||
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (nextval('sys_dict_data_seq'), '000000', 4, '已拒绝', 'rejected', 'cw_node_status', '', 'danger', 'N', 1, sysdate(), '审批拒绝');
|
||||
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (nextval('sys_dict_data_seq'), '000000', 5, '已退回', 'returned', 'cw_node_status', '', 'warning', 'N', 1, sysdate(), '已退回');
|
||||
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, remark)
|
||||
VALUES (nextval('sys_dict_data_seq'), '000000', 6, '未开始', 'pending', 'cw_node_status', '', 'info', 'N', 1, sysdate(), '未开始');
|
||||
|
||||
COMMIT;
|
||||
@@ -0,0 +1,447 @@
|
||||
-- ==========================================
|
||||
-- 财务项目预算审批系统 - 数据库创建脚本
|
||||
-- 版本: 1.0
|
||||
-- 创建时间: 2025-01-26
|
||||
-- 表名前缀: cw_ (财务模块)
|
||||
-- ==========================================
|
||||
|
||||
-- 设置字符集
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ==========================================
|
||||
-- 1. 创建核心数据表
|
||||
-- ==========================================
|
||||
|
||||
-- 1.1 项目预算申报表
|
||||
DROP TABLE IF EXISTS `cw_project_application`;
|
||||
CREATE TABLE `cw_project_application` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID(雪花ID)',
|
||||
`application_no` varchar(50) NOT NULL COMMENT '申报编号(自动生成,格式:CW-YYYY-MMDD-XXXX)',
|
||||
|
||||
-- 项目基本信息
|
||||
`project_name` varchar(200) NOT NULL COMMENT '项目名称',
|
||||
`principal` varchar(50) NOT NULL COMMENT '项目负责人',
|
||||
`contact_phone` varchar(20) COMMENT '联系电话',
|
||||
`start_date` date COMMENT '项目实施开始时间',
|
||||
`end_date` date COMMENT '项目实施结束时间',
|
||||
|
||||
-- 项目特性
|
||||
`target_sme` tinyint(1) DEFAULT 0 COMMENT '是否面向中小企业(0-否 1-是)',
|
||||
`target_micro_sme` tinyint(1) DEFAULT 0 COMMENT '是否面向小微企业(0-否 1-是)',
|
||||
`import_equipment` tinyint(1) DEFAULT 0 COMMENT '是否采购进口设备(0-否 1-是)',
|
||||
|
||||
-- 项目详细内容
|
||||
`application_reason` text COMMENT '项目申请原因(包括设立依据、可行性及必要性)',
|
||||
`construction_content` text COMMENT '项目建设内容',
|
||||
`total_performance_goal` text COMMENT '绩效总目标',
|
||||
`current_year_goal` text COMMENT '当年绩效目标',
|
||||
|
||||
-- 资金来源汇总(万元)
|
||||
-- 项目总投资
|
||||
`total_investment` decimal(15,2) DEFAULT 0.00 COMMENT '项目总投资-合计(万元)',
|
||||
`total_municipal_fiscal` decimal(15,2) DEFAULT 0.00 COMMENT '项目总投资-市财政资金(万元)',
|
||||
`total_self_funding` decimal(15,2) DEFAULT 0.00 COMMENT '项目总投资-单位自筹(万元)',
|
||||
`total_other_funding` decimal(15,2) DEFAULT 0.00 COMMENT '项目总投资-其他(万元)',
|
||||
|
||||
-- 年度预计执行数
|
||||
`current_year_total` decimal(15,2) DEFAULT 0.00 COMMENT '年度预计执行数-合计(万元)',
|
||||
`current_year_municipal` decimal(15,2) DEFAULT 0.00 COMMENT '年度预计执行数-市财政资金(万元)',
|
||||
`current_year_self` decimal(15,2) DEFAULT 0.00 COMMENT '年度预计执行数-单位自筹(万元)',
|
||||
`current_year_other` decimal(15,2) DEFAULT 0.00 COMMENT '年度预计执行数-其他(万元)',
|
||||
|
||||
-- 下年度申请资金
|
||||
`next_year_total` decimal(15,2) DEFAULT 0.00 COMMENT '下年度申请资金-合计(万元)',
|
||||
`next_year_municipal` decimal(15,2) DEFAULT 0.00 COMMENT '下年度申请资金-市财政资金(万元)',
|
||||
`next_year_self` decimal(15,2) DEFAULT 0.00 COMMENT '下年度申请资金-单位自筹(万元)',
|
||||
`next_year_other` decimal(15,2) DEFAULT 0.00 COMMENT '下年度申请资金-其他(万元)',
|
||||
|
||||
-- 以后年度安排
|
||||
`future_year_total` decimal(15,2) DEFAULT 0.00 COMMENT '以后年度安排-合计(万元)',
|
||||
`future_year_municipal` decimal(15,2) DEFAULT 0.00 COMMENT '以后年度安排-市财政资金(万元)',
|
||||
`future_year_self` decimal(15,2) DEFAULT 0.00 COMMENT '以后年度安排-单位自筹(万元)',
|
||||
`future_year_other` decimal(15,2) DEFAULT 0.00 COMMENT '以后年度安排-其他(万元)',
|
||||
|
||||
-- 申请人信息
|
||||
`applicant_id` bigint(20) NOT NULL COMMENT '申请人ID',
|
||||
`applicant_name` varchar(50) NOT NULL COMMENT '申请人姓名',
|
||||
`department_id` bigint(20) NOT NULL COMMENT '所属部门ID',
|
||||
`department_name` varchar(100) NOT NULL COMMENT '所属部门名称',
|
||||
|
||||
-- 审批相关
|
||||
`approval_status` varchar(20) DEFAULT 'draft' COMMENT '审批状态(draft-草稿 submitted-已提交 approving-审批中 approved-已通过 rejected-已拒绝 returned-已退回 cancelled-已取消)',
|
||||
`submit_time` datetime COMMENT '提交时间',
|
||||
`approve_time` datetime COMMENT '审批完成时间',
|
||||
`year` int(11) NOT NULL COMMENT '预算年度',
|
||||
|
||||
-- 系统字段
|
||||
`remark` varchar(500) COMMENT '备注',
|
||||
`create_by` bigint(20) COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` bigint(20) COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`create_dept` bigint(20) COMMENT '创建部门',
|
||||
`deleted` tinyint(1) DEFAULT 0 COMMENT '删除标志(0-正常 1-删除)',
|
||||
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
|
||||
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_application_no` (`application_no`, `tenant_id`, `deleted`),
|
||||
KEY `idx_applicant_id` (`applicant_id`),
|
||||
KEY `idx_department_id` (`department_id`),
|
||||
KEY `idx_status_year` (`approval_status`, `year`),
|
||||
KEY `idx_create_time` (`create_time`),
|
||||
KEY `idx_submit_time` (`submit_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='项目预算申报表';
|
||||
|
||||
-- 1.2 审批人配置表
|
||||
DROP TABLE IF EXISTS `cw_approver_config`;
|
||||
CREATE TABLE `cw_approver_config` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`config_name` varchar(100) NOT NULL COMMENT '配置名称',
|
||||
`config_type` varchar(20) NOT NULL COMMENT '配置类型(global-全局配置 dept-按部门配置 amount-按金额配置)',
|
||||
|
||||
-- 配置条件
|
||||
`dept_id` bigint(20) COMMENT '部门ID(按部门配置时使用)',
|
||||
`dept_name` varchar(100) COMMENT '部门名称(按部门配置时使用)',
|
||||
`min_amount` decimal(15,2) COMMENT '最小金额(按金额配置时使用,万元)',
|
||||
`max_amount` decimal(15,2) COMMENT '最大金额(按金额配置时使用,万元)',
|
||||
|
||||
-- 3个固定审批节点的审批人
|
||||
-- 部门审批(第1节点)
|
||||
`dept_approver_id` bigint(20) COMMENT '部门审批人ID',
|
||||
`dept_approver_name` varchar(50) COMMENT '部门审批人姓名',
|
||||
`dept_delegate_id` bigint(20) COMMENT '部门代理审批人ID',
|
||||
`dept_delegate_name` varchar(50) COMMENT '部门代理审批人姓名',
|
||||
`dept_delegate_start_time` datetime COMMENT '部门代理开始时间',
|
||||
`dept_delegate_end_time` datetime COMMENT '部门代理结束时间',
|
||||
|
||||
-- 财务审批(第2节点)
|
||||
`finance_approver_id` bigint(20) COMMENT '财务审批人ID',
|
||||
`finance_approver_name` varchar(50) COMMENT '财务审批人姓名',
|
||||
`finance_delegate_id` bigint(20) COMMENT '财务代理审批人ID',
|
||||
`finance_delegate_name` varchar(50) COMMENT '财务代理审批人姓名',
|
||||
`finance_delegate_start_time` datetime COMMENT '财务代理开始时间',
|
||||
`finance_delegate_end_time` datetime COMMENT '财务代理结束时间',
|
||||
|
||||
-- 领导审批(第3节点)
|
||||
`leader_approver_id` bigint(20) COMMENT '领导审批人ID',
|
||||
`leader_approver_name` varchar(50) COMMENT '领导审批人姓名',
|
||||
`leader_delegate_id` bigint(20) COMMENT '领导代理审批人ID',
|
||||
`leader_delegate_name` varchar(50) COMMENT '领导代理审批人姓名',
|
||||
`leader_delegate_start_time` datetime COMMENT '领导代理开始时间',
|
||||
`leader_delegate_end_time` datetime COMMENT '领导代理结束时间',
|
||||
|
||||
-- 配置状态
|
||||
`priority` int(11) DEFAULT 0 COMMENT '优先级(数字越大优先级越高,用于多个配置冲突时的选择)',
|
||||
`status` char(1) DEFAULT '1' COMMENT '状态(0-禁用 1-启用)',
|
||||
`effective_start_time` datetime COMMENT '生效开始时间',
|
||||
`effective_end_time` datetime COMMENT '生效结束时间',
|
||||
|
||||
-- 系统字段
|
||||
`remark` varchar(500) COMMENT '备注',
|
||||
`create_by` bigint(20) COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` bigint(20) COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`create_dept` bigint(20) COMMENT '创建部门',
|
||||
`deleted` tinyint(1) DEFAULT 0 COMMENT '删除标志(0-正常 1-删除)',
|
||||
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
|
||||
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_config_type` (`config_type`),
|
||||
KEY `idx_dept_id` (`dept_id`),
|
||||
KEY `idx_amount_range` (`min_amount`, `max_amount`),
|
||||
KEY `idx_status_priority` (`status`, `priority`),
|
||||
KEY `idx_effective_time` (`effective_start_time`, `effective_end_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='审批人配置表';
|
||||
|
||||
-- 1.3 审批记录表
|
||||
DROP TABLE IF EXISTS `cw_approval_record`;
|
||||
CREATE TABLE `cw_approval_record` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`application_id` bigint(20) NOT NULL COMMENT '申报ID',
|
||||
`application_no` varchar(50) NOT NULL COMMENT '申报编号',
|
||||
|
||||
-- 节点信息
|
||||
`node_code` varchar(20) NOT NULL COMMENT '节点编码(dept_approve-部门审批 finance_approve-财务审批 leader_approve-领导审批)',
|
||||
`node_name` varchar(50) NOT NULL COMMENT '节点名称',
|
||||
`node_order` int(11) NOT NULL COMMENT '节点顺序(1-部门审批 2-财务审批 3-领导审批)',
|
||||
|
||||
-- 审批人信息
|
||||
`approver_id` bigint(20) NOT NULL COMMENT '审批人ID',
|
||||
`approver_name` varchar(50) NOT NULL COMMENT '审批人姓名',
|
||||
`is_delegate` tinyint(1) DEFAULT 0 COMMENT '是否代理审批(0-否 1-是)',
|
||||
`original_approver_id` bigint(20) COMMENT '原审批人ID(代理时使用)',
|
||||
`original_approver_name` varchar(50) COMMENT '原审批人姓名(代理时使用)',
|
||||
|
||||
-- 审批状态和结果
|
||||
`node_status` varchar(20) NOT NULL COMMENT '节点状态(waiting-等待审批 approving-审批中 approved-已通过 rejected-已拒绝 returned-已退回)',
|
||||
`approve_action` varchar(20) COMMENT '审批动作(approve-通过 reject-拒绝 return-退回)',
|
||||
`approve_opinion` text COMMENT '审批意见',
|
||||
|
||||
-- 时间记录
|
||||
`start_time` datetime NOT NULL COMMENT '节点开始时间',
|
||||
`end_time` datetime COMMENT '节点结束时间',
|
||||
`expect_finish_time` datetime COMMENT '期望完成时间',
|
||||
`is_overtime` tinyint(1) DEFAULT 0 COMMENT '是否超时(0-否 1-是)',
|
||||
|
||||
-- 审批配置记录
|
||||
`config_id` bigint(20) COMMENT '使用的审批配置ID',
|
||||
`config_snapshot` json COMMENT '审批配置快照(JSON格式,记录当时的配置)',
|
||||
|
||||
-- 系统字段
|
||||
`create_by` bigint(20) COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` bigint(20) COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`create_dept` bigint(20) COMMENT '创建部门',
|
||||
`deleted` tinyint(1) DEFAULT 0 COMMENT '删除标志(0-正常 1-删除)',
|
||||
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
|
||||
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_application_id` (`application_id`),
|
||||
KEY `idx_application_no` (`application_no`),
|
||||
KEY `idx_approver_id` (`approver_id`),
|
||||
KEY `idx_node_status` (`node_status`),
|
||||
KEY `idx_node_order` (`node_order`),
|
||||
KEY `idx_start_time` (`start_time`),
|
||||
KEY `idx_expect_finish_time` (`expect_finish_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='审批记录表';
|
||||
|
||||
-- 1.4 项目支出明细表
|
||||
DROP TABLE IF EXISTS `cw_expenditure_detail`;
|
||||
CREATE TABLE `cw_expenditure_detail` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`application_id` bigint(20) NOT NULL COMMENT '申报ID',
|
||||
`application_no` varchar(50) NOT NULL COMMENT '申报编号',
|
||||
|
||||
-- 支出明细信息
|
||||
`category_code` varchar(50) COMMENT '支出科目编码(关联字典)',
|
||||
`category` varchar(100) NOT NULL COMMENT '支出科目名称',
|
||||
`amount` decimal(15,2) NOT NULL COMMENT '金额(万元)',
|
||||
`calculation` text COMMENT '测算依据',
|
||||
`description` varchar(500) COMMENT '详细说明',
|
||||
|
||||
-- 时间分配
|
||||
`current_year_amount` decimal(15,2) DEFAULT 0.00 COMMENT '当年执行金额(万元)',
|
||||
`next_year_amount` decimal(15,2) DEFAULT 0.00 COMMENT '下年度金额(万元)',
|
||||
`future_year_amount` decimal(15,2) DEFAULT 0.00 COMMENT '以后年度金额(万元)',
|
||||
|
||||
-- 资金来源分配
|
||||
`municipal_fiscal_amount` decimal(15,2) DEFAULT 0.00 COMMENT '市财政资金(万元)',
|
||||
`self_funding_amount` decimal(15,2) DEFAULT 0.00 COMMENT '单位自筹(万元)',
|
||||
`other_funding_amount` decimal(15,2) DEFAULT 0.00 COMMENT '其他资金(万元)',
|
||||
|
||||
-- 排序和状态
|
||||
`sort_order` int(11) DEFAULT 0 COMMENT '排序',
|
||||
`status` char(1) DEFAULT '1' COMMENT '状态(0-删除 1-正常)',
|
||||
|
||||
-- 系统字段
|
||||
`create_by` bigint(20) COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` bigint(20) COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`create_dept` bigint(20) COMMENT '创建部门',
|
||||
`deleted` tinyint(1) DEFAULT 0 COMMENT '删除标志(0-正常 1-删除)',
|
||||
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
|
||||
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_application_id` (`application_id`),
|
||||
KEY `idx_application_no` (`application_no`),
|
||||
KEY `idx_category_code` (`category_code`),
|
||||
KEY `idx_sort_order` (`sort_order`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='项目支出明细表';
|
||||
|
||||
-- 1.5 绩效指标表
|
||||
DROP TABLE IF EXISTS `cw_performance_indicator`;
|
||||
CREATE TABLE `cw_performance_indicator` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`application_id` bigint(20) NOT NULL COMMENT '申报ID',
|
||||
`application_no` varchar(50) NOT NULL COMMENT '申报编号',
|
||||
|
||||
-- 指标信息
|
||||
`indicator_type` varchar(20) NOT NULL COMMENT '指标类型(quantity-数量指标 quality-质量指标 timeliness-时效指标 cost-成本指标 economic-经济效益指标 social-社会效益指标 environmental-环境效益指标 satisfaction-满意度指标)',
|
||||
`indicator_type_name` varchar(50) NOT NULL COMMENT '指标类型名称',
|
||||
`goal_name` varchar(200) NOT NULL COMMENT '绩效目标名称',
|
||||
`target_value` varchar(100) NOT NULL COMMENT '目标值',
|
||||
`weight_percentage` decimal(5,2) NOT NULL COMMENT '分值占比(%)',
|
||||
`description` varchar(500) COMMENT '详细说明',
|
||||
|
||||
-- 指标属性
|
||||
`unit` varchar(20) COMMENT '计量单位',
|
||||
`measurement_method` varchar(200) COMMENT '测量方法',
|
||||
`data_source` varchar(200) COMMENT '数据来源',
|
||||
`is_quantitative` tinyint(1) DEFAULT 1 COMMENT '是否定量指标(0-定性 1-定量)',
|
||||
|
||||
-- 排序和状态
|
||||
`sort_order` int(11) DEFAULT 0 COMMENT '排序',
|
||||
`status` char(1) DEFAULT '1' COMMENT '状态(0-删除 1-正常)',
|
||||
|
||||
-- 系统字段
|
||||
`create_by` bigint(20) COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` bigint(20) COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`create_dept` bigint(20) COMMENT '创建部门',
|
||||
`deleted` tinyint(1) DEFAULT 0 COMMENT '删除标志(0-正常 1-删除)',
|
||||
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
|
||||
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_application_id` (`application_id`),
|
||||
KEY `idx_application_no` (`application_no`),
|
||||
KEY `idx_indicator_type` (`indicator_type`),
|
||||
KEY `idx_sort_order` (`sort_order`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='绩效指标表';
|
||||
|
||||
-- 1.6 申报附件表
|
||||
DROP TABLE IF EXISTS `cw_application_attachment`;
|
||||
CREATE TABLE `cw_application_attachment` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`application_id` bigint(20) NOT NULL COMMENT '申报ID',
|
||||
`application_no` varchar(50) NOT NULL COMMENT '申报编号',
|
||||
|
||||
-- 文件信息
|
||||
`file_name` varchar(255) NOT NULL COMMENT '文件名称',
|
||||
`file_original_name` varchar(255) NOT NULL COMMENT '原始文件名',
|
||||
`file_type` varchar(20) COMMENT '文件类型(pdf,doc,docx,xls,xlsx,jpg,png等)',
|
||||
`file_size` bigint(20) COMMENT '文件大小(字节)',
|
||||
`file_path` varchar(500) COMMENT '文件存储路径',
|
||||
`file_url` varchar(500) COMMENT '文件访问URL',
|
||||
|
||||
-- 附件分类
|
||||
`attachment_type` varchar(50) COMMENT '附件类型(feasibility_report-可行性研究报告 implementation_plan-项目实施方案 budget_calculation-资金测算明细表 other_materials-其他相关证明材料)',
|
||||
`attachment_type_name` varchar(100) COMMENT '附件类型名称',
|
||||
`description` varchar(500) COMMENT '文件说明',
|
||||
|
||||
-- 上传信息
|
||||
`upload_user_id` bigint(20) NOT NULL COMMENT '上传人ID',
|
||||
`upload_user_name` varchar(50) NOT NULL COMMENT '上传人姓名',
|
||||
`upload_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '上传时间',
|
||||
|
||||
-- 排序和状态
|
||||
`sort_order` int(11) DEFAULT 0 COMMENT '排序',
|
||||
`status` char(1) DEFAULT '1' COMMENT '状态(0-删除 1-正常)',
|
||||
|
||||
-- 系统字段
|
||||
`create_by` bigint(20) COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` bigint(20) COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`create_dept` bigint(20) COMMENT '创建部门',
|
||||
`deleted` tinyint(1) DEFAULT 0 COMMENT '删除标志(0-正常 1-删除)',
|
||||
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
|
||||
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_application_id` (`application_id`),
|
||||
KEY `idx_application_no` (`application_no`),
|
||||
KEY `idx_attachment_type` (`attachment_type`),
|
||||
KEY `idx_upload_time` (`upload_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='申报附件表';
|
||||
|
||||
-- ==========================================
|
||||
-- 2. 插入字典数据
|
||||
-- ==========================================
|
||||
|
||||
-- 2.1 字典类型
|
||||
INSERT INTO `sys_dict_type` VALUES
|
||||
(3000001, '项目特性选项', 'cw_project_feature', '0', NULL, '财务预算-项目特性选项', now(), NULL, NULL, '项目特性相关选项'),
|
||||
(3000002, '绩效指标类型', 'cw_performance_type', '0', NULL, '财务预算-绩效指标类型', now(), NULL, NULL, '8大绩效指标类型'),
|
||||
(3000003, '审批状态', 'cw_approval_status', '0', NULL, '财务预算-审批状态', now(), NULL, NULL, '审批状态分类'),
|
||||
(3000004, '审批人配置类型', 'cw_approver_config_type', '0', NULL, '财务预算-审批人配置类型', now(), NULL, NULL, '审批人配置类型分类'),
|
||||
(3000005, '审批节点', 'cw_approval_node', '0', NULL, '财务预算-审批节点', now(), NULL, NULL, '固定3节点审批流程'),
|
||||
(3000006, '资金来源类型', 'cw_funding_source', '0', NULL, '财务预算-资金来源类型', now(), NULL, NULL, '资金来源分类'),
|
||||
(3000007, '支出科目', 'cw_expenditure_category', '0', NULL, '财务预算-支出科目', now(), NULL, NULL, '项目支出科目分类'),
|
||||
(3000008, '附件类型', 'cw_attachment_type', '0', NULL, '财务预算-附件类型', now(), NULL, NULL, '申报附件类型分类');
|
||||
|
||||
-- 2.2 字典数据
|
||||
INSERT INTO `sys_dict_data` VALUES
|
||||
-- 项目特性选项
|
||||
(3000011, 0, '是', '1', 'cw_project_feature', '', '', 'N', '0', '0', '', '是', now(), NULL, NULL, NULL),
|
||||
(3000012, 1, '否', '0', 'cw_project_feature', '', '', 'N', '0', '0', '', '否', now(), NULL, NULL, NULL),
|
||||
|
||||
-- 绩效指标类型(8大维度)
|
||||
(3000021, 0, '数量指标', 'quantity', 'cw_performance_type', '', '', 'N', '0', '0', '', '数量指标', now(), NULL, NULL, NULL),
|
||||
(3000022, 1, '质量指标', 'quality', 'cw_performance_type', '', '', 'N', '0', '0', '', '质量指标', now(), NULL, NULL, NULL),
|
||||
(3000023, 2, '时效指标', 'timeliness', 'cw_performance_type', '', '', 'N', '0', '0', '', '时效指标', now(), NULL, NULL, NULL),
|
||||
(3000024, 3, '成本指标', 'cost', 'cw_performance_type', '', '', 'N', '0', '0', '', '成本指标', now(), NULL, NULL, NULL),
|
||||
(3000025, 4, '经济效益指标', 'economic', 'cw_performance_type', '', '', 'N', '0', '0', '', '经济效益指标', now(), NULL, NULL, NULL),
|
||||
(3000026, 5, '社会效益指标', 'social', 'cw_performance_type', '', '', 'N', '0', '0', '', '社会效益指标', now(), NULL, NULL, NULL),
|
||||
(3000027, 6, '环境效益指标', 'environmental', 'cw_performance_type', '', '', 'N', '0', '0', '', '环境效益指标', now(), NULL, NULL, NULL),
|
||||
(3000028, 7, '满意度指标', 'satisfaction', 'cw_performance_type', '', '', 'N', '0', '0', '', '满意度指标', now(), NULL, NULL, NULL),
|
||||
|
||||
-- 审批状态
|
||||
(3000031, 0, '草稿', 'draft', 'cw_approval_status', '', '', 'N', '0', '0', '', '草稿状态', now(), NULL, NULL, NULL),
|
||||
(3000032, 1, '已提交', 'submitted', 'cw_approval_status', '', '', 'N', '0', '0', '', '已提交审批', now(), NULL, NULL, NULL),
|
||||
(3000033, 2, '审批中', 'approving', 'cw_approval_status', '', 'blue', 'N', '0', '0', '', '审批中', now(), NULL, NULL, NULL),
|
||||
(3000034, 3, '已通过', 'approved', 'cw_approval_status', '', 'green', 'N', '0', '0', '', '审批通过', now(), NULL, NULL, NULL),
|
||||
(3000035, 4, '已拒绝', 'rejected', 'cw_approval_status', '', 'red', 'N', '0', '0', '', '审批拒绝', now(), NULL, NULL, NULL),
|
||||
(3000036, 5, '已退回', 'returned', 'cw_approval_status', '', 'orange', 'N', '0', '0', '', '退回修改', now(), NULL, NULL, NULL),
|
||||
(3000037, 6, '已取消', 'cancelled', 'cw_approval_status', '', 'gray', 'N', '0', '0', '', '取消申报', now(), NULL, NULL, NULL),
|
||||
|
||||
-- 审批人配置类型
|
||||
(3000041, 0, '全局配置', 'global', 'cw_approver_config_type', '', '', 'N', '0', '0', '', '全局统一配置', now(), NULL, NULL, NULL),
|
||||
(3000042, 1, '部门配置', 'dept', 'cw_approver_config_type', '', '', 'N', '0', '0', '', '按部门配置', now(), NULL, NULL, NULL),
|
||||
(3000043, 2, '金额配置', 'amount', 'cw_approver_config_type', '', '', 'N', '0', '0', '', '按金额阈值配置', now(), NULL, NULL, NULL),
|
||||
|
||||
-- 审批节点(固定3节点)
|
||||
(3000051, 1, '部门审批', 'dept_approve', 'cw_approval_node', '', '', 'N', '0', '0', '', '部门负责人审批', now(), NULL, NULL, NULL),
|
||||
(3000052, 2, '财务审批', 'finance_approve', 'cw_approval_node', '', '', 'N', '0', '0', '', '财务部门审批', now(), NULL, NULL, NULL),
|
||||
(3000053, 3, '领导审批', 'leader_approve', 'cw_approval_node', '', '', 'N', '0', '0', '', '校领导审批', now(), NULL, NULL, NULL),
|
||||
|
||||
-- 资金来源类型
|
||||
(3000061, 0, '市财政资金', 'municipal_fiscal', 'cw_funding_source', '', '', 'N', '0', '0', '', '市财政资金', now(), NULL, NULL, NULL),
|
||||
(3000062, 1, '单位自筹', 'self_funding', 'cw_funding_source', '', '', 'N', '0', '0', '', '单位自筹资金', now(), NULL, NULL, NULL),
|
||||
(3000063, 2, '其他资金', 'other_funding', 'cw_funding_source', '', '', 'N', '0', '0', '', '其他来源资金', now(), NULL, NULL, NULL),
|
||||
|
||||
-- 支出科目
|
||||
(3000071, 0, '人员经费', 'personnel_expense', 'cw_expenditure_category', '', '', 'N', '0', '0', '', '人员相关费用', now(), NULL, NULL, NULL),
|
||||
(3000072, 1, '设备费', 'equipment_expense', 'cw_expenditure_category', '', '', 'N', '0', '0', '', '设备采购费用', now(), NULL, NULL, NULL),
|
||||
(3000073, 2, '材料费', 'material_expense', 'cw_expenditure_category', '', '', 'N', '0', '0', '', '材料采购费用', now(), NULL, NULL, NULL),
|
||||
(3000074, 3, '差旅费', 'travel_expense', 'cw_expenditure_category', '', '', 'N', '0', '0', '', '差旅相关费用', now(), NULL, NULL, NULL),
|
||||
(3000075, 4, '培训费', 'training_expense', 'cw_expenditure_category', '', '', 'N', '0', '0', '', '培训相关费用', now(), NULL, NULL, NULL),
|
||||
(3000076, 5, '咨询费', 'consulting_expense', 'cw_expenditure_category', '', '', 'N', '0', '0', '', '咨询服务费用', now(), NULL, NULL, NULL),
|
||||
(3000077, 6, '运行维护费', 'maintenance_expense', 'cw_expenditure_category', '', '', 'N', '0', '0', '', '运行维护费用', now(), NULL, NULL, NULL),
|
||||
(3000078, 7, '其他费用', 'other_expense', 'cw_expenditure_category', '', '', 'N', '0', '0', '', '其他类型费用', now(), NULL, NULL, NULL),
|
||||
|
||||
-- 附件类型
|
||||
(3000081, 0, '可行性研究报告', 'feasibility_report', 'cw_attachment_type', '', '', 'N', '0', '0', '', '项目可行性研究报告', now(), NULL, NULL, NULL),
|
||||
(3000082, 1, '项目实施方案', 'implementation_plan', 'cw_attachment_type', '', '', 'N', '0', '0', '', '项目实施方案文档', now(), NULL, NULL, NULL),
|
||||
(3000083, 2, '资金测算明细表', 'budget_calculation', 'cw_attachment_type', '', '', 'N', '0', '0', '', '资金测算明细表', now(), NULL, NULL, NULL),
|
||||
(3000084, 3, '其他相关证明材料', 'other_materials', 'cw_attachment_type', '', '', 'N', '0', '0', '', '其他相关证明材料', now(), NULL, NULL, NULL);
|
||||
|
||||
-- ==========================================
|
||||
-- 3. 创建复合索引优化
|
||||
-- ==========================================
|
||||
|
||||
-- 针对常用查询的复合索引
|
||||
ALTER TABLE `cw_project_application`
|
||||
ADD INDEX `idx_dept_status_year` (`department_id`, `approval_status`, `year`);
|
||||
|
||||
ALTER TABLE `cw_approval_record`
|
||||
ADD INDEX `idx_approver_status_order` (`approver_id`, `node_status`, `node_order`);
|
||||
|
||||
ALTER TABLE `cw_approval_record`
|
||||
ADD INDEX `idx_app_node_status` (`application_id`, `node_code`, `node_status`);
|
||||
|
||||
-- ==========================================
|
||||
-- 4. 插入初始化数据
|
||||
-- ==========================================
|
||||
|
||||
-- 插入默认全局审批人配置
|
||||
INSERT INTO `cw_approver_config` (
|
||||
`id`, `config_name`, `config_type`, `dept_approver_id`, `dept_approver_name`,
|
||||
`finance_approver_id`, `finance_approver_name`, `leader_approver_id`, `leader_approver_name`,
|
||||
`priority`, `status`, `create_by`, `create_time`, `tenant_id`
|
||||
) VALUES (
|
||||
1, '默认全局审批配置', 'global', 1, '系统管理员',
|
||||
1, '系统管理员', 1, '系统管理员',
|
||||
100, '1', 1, now(), '000000'
|
||||
);
|
||||
|
||||
-- 恢复外键检查
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
-- ==========================================
|
||||
-- 脚本执行完成
|
||||
-- ==========================================
|
||||
SELECT '财务项目预算审批系统数据库创建完成!' AS result;
|
||||
@@ -0,0 +1,131 @@
|
||||
-- ==========================================
|
||||
-- 财务项目预算审批系统 - 菜单配置脚本
|
||||
-- 版本: 1.0
|
||||
-- 创建时间: 2025-01-26
|
||||
-- 模块前缀: cw_ (财务模块)
|
||||
-- 菜单ID范围: 5000-5999
|
||||
-- ==========================================
|
||||
|
||||
-- ==========================================
|
||||
-- 菜单结构设计:
|
||||
-- 5000 - 财务管理 (一级菜单)
|
||||
-- 5100 - 项目预算审批 (二级菜单)
|
||||
-- 5110 - 预算申报管理 (三级菜单)
|
||||
-- 5111-5117 - 功能按钮
|
||||
-- 5120 - 审批人配置 (三级菜单)
|
||||
-- 5121-5125 - 功能按钮
|
||||
-- 5130 - 审批记录查询 (三级菜单)
|
||||
-- 5131-5135 - 功能按钮
|
||||
-- 5140 - 支出明细管理 (三级菜单)
|
||||
-- 5141-5145 - 功能按钮
|
||||
-- 5150 - 绩效指标管理 (三级菜单)
|
||||
-- 5151-5155 - 功能按钮
|
||||
-- 5160 - 附件管理 (三级菜单)
|
||||
-- 5161-5165 - 功能按钮
|
||||
-- ==========================================
|
||||
|
||||
-- 1. 一级菜单:财务管理
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark, tenant_id) VALUES
|
||||
(5000, '财务管理', 0, 10, 'finance', NULL, '', 1, 0, 'M', '0', '0', '', 'money', 103, 1, now(), NULL, NULL, '财务管理根菜单', '000000');
|
||||
|
||||
-- 2. 二级菜单:项目预算审批
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark, tenant_id) VALUES
|
||||
(5100, '项目预算审批', 5000, 1, 'budget-approval', NULL, '', 1, 0, 'M', '0', '0', '', 'file-text', 103, 1, now(), NULL, NULL, '项目预算审批管理', '000000');
|
||||
|
||||
-- ==========================================
|
||||
-- 3. 三级菜单:预算申报管理
|
||||
-- ==========================================
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark, tenant_id) VALUES
|
||||
(5110, '预算申报管理', 5100, 1, 'application', 'cw/budgetApproval/application/index', '', 1, 0, 'C', '0', '0', 'cw:application:list', 'form', 103, 1, now(), NULL, NULL, '预算申报管理页面', '000000');
|
||||
|
||||
-- 预算申报管理 - 功能按钮
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark, tenant_id) VALUES
|
||||
(5111, '预算申报查询', 5110, 1, '', '', '', 1, 0, 'F', '0', '0', 'cw:application:query', '#', 103, 1, now(), NULL, NULL, '预算申报查询权限', '000000'),
|
||||
(5112, '预算申报详情', 5110, 2, '', '', '', 1, 0, 'F', '0', '0', 'cw:application:detail', '#', 103, 1, now(), NULL, NULL, '预算申报详情权限', '000000'),
|
||||
(5113, '预算申报新增', 5110, 3, '', '', '', 1, 0, 'F', '0', '0', 'cw:application:add', '#', 103, 1, now(), NULL, NULL, '预算申报新增权限', '000000'),
|
||||
(5114, '预算申报修改', 5110, 4, '', '', '', 1, 0, 'F', '0', '0', 'cw:application:edit', '#', 103, 1, now(), NULL, NULL, '预算申报修改权限', '000000'),
|
||||
(5115, '预算申报删除', 5110, 5, '', '', '', 1, 0, 'F', '0', '0', 'cw:application:remove', '#', 103, 1, now(), NULL, NULL, '预算申报删除权限', '000000'),
|
||||
(5116, '预算申报导出', 5110, 6, '', '', '', 1, 0, 'F', '0', '0', 'cw:application:export', '#', 103, 1, now(), NULL, NULL, '预算申报导出权限', '000000'),
|
||||
(5117, '预算申报提交', 5110, 7, '', '', '', 1, 0, 'F', '0', '0', 'cw:application:submit', '#', 103, 1, now(), NULL, NULL, '预算申报提交审批权限', '000000');
|
||||
|
||||
-- ==========================================
|
||||
-- 4. 三级菜单:审批人配置
|
||||
-- ==========================================
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark, tenant_id) VALUES
|
||||
(5120, '审批人配置', 5100, 2, 'approver-config', 'cw/budgetApproval/approverConfig/index', '', 1, 0, 'C', '0', '0', 'cw:approverConfig:list', 'peoples', 103, 1, now(), NULL, NULL, '审批人配置页面', '000000');
|
||||
|
||||
-- 审批人配置 - 功能按钮
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark, tenant_id) VALUES
|
||||
(5121, '审批人查询', 5120, 1, '', '', '', 1, 0, 'F', '0', '0', 'cw:approverConfig:query', '#', 103, 1, now(), NULL, NULL, '审批人配置查询权限', '000000'),
|
||||
(5122, '审批人详情', 5120, 2, '', '', '', 1, 0, 'F', '0', '0', 'cw:approverConfig:detail', '#', 103, 1, now(), NULL, NULL, '审批人配置详情权限', '000000'),
|
||||
(5123, '审批人新增', 5120, 3, '', '', '', 1, 0, 'F', '0', '0', 'cw:approverConfig:add', '#', 103, 1, now(), NULL, NULL, '审批人配置新增权限', '000000'),
|
||||
(5124, '审批人修改', 5120, 4, '', '', '', 1, 0, 'F', '0', '0', 'cw:approverConfig:edit', '#', 103, 1, now(), NULL, NULL, '审批人配置修改权限', '000000'),
|
||||
(5125, '审批人删除', 5120, 5, '', '', '', 1, 0, 'F', '0', '0', 'cw:approverConfig:remove', '#', 103, 1, now(), NULL, NULL, '审批人配置删除权限', '000000');
|
||||
|
||||
-- ==========================================
|
||||
-- 5. 三级菜单:审批记录查询
|
||||
-- ==========================================
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark, tenant_id) VALUES
|
||||
(5130, '审批记录查询', 5100, 3, 'approval-record', 'cw/budgetApproval/approvalRecord/index', '', 1, 0, 'C', '0', '0', 'cw:approvalRecord:list', 'documentation', 103, 1, now(), NULL, NULL, '审批记录查询页面', '000000');
|
||||
|
||||
-- 审批记录查询 - 功能按钮
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark, tenant_id) VALUES
|
||||
(5131, '审批记录查询', 5130, 1, '', '', '', 1, 0, 'F', '0', '0', 'cw:approvalRecord:query', '#', 103, 1, now(), NULL, NULL, '审批记录查询权限', '000000'),
|
||||
(5132, '审批记录详情', 5130, 2, '', '', '', 1, 0, 'F', '0', '0', 'cw:approvalRecord:detail', '#', 103, 1, now(), NULL, NULL, '审批记录详情权限', '000000'),
|
||||
(5133, '审批操作', 5130, 3, '', '', '', 1, 0, 'F', '0', '0', 'cw:approvalRecord:approve', '#', 103, 1, now(), NULL, NULL, '审批操作权限', '000000'),
|
||||
(5134, '退回操作', 5130, 4, '', '', '', 1, 0, 'F', '0', '0', 'cw:approvalRecord:return', '#', 103, 1, now(), NULL, NULL, '退回操作权限', '000000'),
|
||||
(5135, '审批记录导出', 5130, 5, '', '', '', 1, 0, 'F', '0', '0', 'cw:approvalRecord:export', '#', 103, 1, now(), NULL, NULL, '审批记录导出权限', '000000');
|
||||
|
||||
-- ==========================================
|
||||
-- 6. 三级菜单:支出明细管理
|
||||
-- ==========================================
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark, tenant_id) VALUES
|
||||
(5140, '支出明细管理', 5100, 4, 'expenditure-detail', 'cw/budgetApproval/expenditureDetail/index', '', 1, 0, 'C', '0', '0', 'cw:expenditureDetail:list', 'money', 103, 1, now(), NULL, NULL, '支出明细管理页面', '000000');
|
||||
|
||||
-- 支出明细管理 - 功能按钮
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark, tenant_id) VALUES
|
||||
(5141, '支出明细查询', 5140, 1, '', '', '', 1, 0, 'F', '0', '0', 'cw:expenditureDetail:query', '#', 103, 1, now(), NULL, NULL, '支出明细查询权限', '000000'),
|
||||
(5142, '支出明细详情', 5140, 2, '', '', '', 1, 0, 'F', '0', '0', 'cw:expenditureDetail:detail', '#', 103, 1, now(), NULL, NULL, '支出明细详情权限', '000000'),
|
||||
(5143, '支出明细新增', 5140, 3, '', '', '', 1, 0, 'F', '0', '0', 'cw:expenditureDetail:add', '#', 103, 1, now(), NULL, NULL, '支出明细新增权限', '000000'),
|
||||
(5144, '支出明细修改', 5140, 4, '', '', '', 1, 0, 'F', '0', '0', 'cw:expenditureDetail:edit', '#', 103, 1, now(), NULL, NULL, '支出明细修改权限', '000000'),
|
||||
(5145, '支出明细删除', 5140, 5, '', '', '', 1, 0, 'F', '0', '0', 'cw:expenditureDetail:remove', '#', 103, 1, now(), NULL, NULL, '支出明细删除权限', '000000');
|
||||
|
||||
-- ==========================================
|
||||
-- 7. 三级菜单:绩效指标管理
|
||||
-- ==========================================
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark, tenant_id) VALUES
|
||||
(5150, '绩效指标管理', 5100, 5, 'performance-indicator', 'cw/budgetApproval/performanceIndicator/index', '', 1, 0, 'C', '0', '0', 'cw:performanceIndicator:list', 'chart', 103, 1, now(), NULL, NULL, '绩效指标管理页面', '000000');
|
||||
|
||||
-- 绩效指标管理 - 功能按钮
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark, tenant_id) VALUES
|
||||
(5151, '绩效指标查询', 5150, 1, '', '', '', 1, 0, 'F', '0', '0', 'cw:performanceIndicator:query', '#', 103, 1, now(), NULL, NULL, '绩效指标查询权限', '000000'),
|
||||
(5152, '绩效指标详情', 5150, 2, '', '', '', 1, 0, 'F', '0', '0', 'cw:performanceIndicator:detail', '#', 103, 1, now(), NULL, NULL, '绩效指标详情权限', '000000'),
|
||||
(5153, '绩效指标新增', 5150, 3, '', '', '', 1, 0, 'F', '0', '0', 'cw:performanceIndicator:add', '#', 103, 1, now(), NULL, NULL, '绩效指标新增权限', '000000'),
|
||||
(5154, '绩效指标修改', 5150, 4, '', '', '', 1, 0, 'F', '0', '0', 'cw:performanceIndicator:edit', '#', 103, 1, now(), NULL, NULL, '绩效指标修改权限', '000000'),
|
||||
(5155, '绩效指标删除', 5150, 5, '', '', '', 1, 0, 'F', '0', '0', 'cw:performanceIndicator:remove', '#', 103, 1, now(), NULL, NULL, '绩效指标删除权限', '000000');
|
||||
|
||||
-- ==========================================
|
||||
-- 8. 三级菜单:附件管理
|
||||
-- ==========================================
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark, tenant_id) VALUES
|
||||
(5160, '附件管理', 5100, 6, 'attachment', 'cw/budgetApproval/attachment/index', '', 1, 0, 'C', '0', '0', 'cw:attachment:list', 'upload', 103, 1, now(), NULL, NULL, '附件管理页面', '000000');
|
||||
|
||||
-- 附件管理 - 功能按钮
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark, tenant_id) VALUES
|
||||
(5161, '附件查询', 5160, 1, '', '', '', 1, 0, 'F', '0', '0', 'cw:attachment:query', '#', 103, 1, now(), NULL, NULL, '附件查询权限', '000000'),
|
||||
(5162, '附件详情', 5160, 2, '', '', '', 1, 0, 'F', '0', '0', 'cw:attachment:detail', '#', 103, 1, now(), NULL, NULL, '附件详情权限', '000000'),
|
||||
(5163, '附件上传', 5160, 3, '', '', '', 1, 0, 'F', '0', '0', 'cw:attachment:upload', '#', 103, 1, now(), NULL, NULL, '附件上传权限', '000000'),
|
||||
(5164, '附件下载', 5160, 4, '', '', '', 1, 0, 'F', '0', '0', 'cw:attachment:download', '#', 103, 1, now(), NULL, NULL, '附件下载权限', '000000'),
|
||||
(5165, '附件删除', 5160, 5, '', '', '', 1, 0, 'F', '0', '0', 'cw:attachment:remove', '#', 103, 1, now(), NULL, NULL, '附件删除权限', '000000');
|
||||
|
||||
-- ==========================================
|
||||
-- 菜单创建完成,显示创建结果
|
||||
-- ==========================================
|
||||
SELECT '财务项目预算审批系统菜单配置完成!' AS result;
|
||||
|
||||
-- 验证菜单创建情况
|
||||
SELECT '=== 菜单创建验证 ===' as verification;
|
||||
SELECT menu_id, menu_name, menu_type, parent_id, order_num, perms
|
||||
FROM sys_menu
|
||||
WHERE menu_id BETWEEN 5000 AND 5999
|
||||
ORDER BY menu_id;
|
||||
@@ -0,0 +1,88 @@
|
||||
-- ==========================================
|
||||
-- 修复项目申报中申请人ID为空的问题
|
||||
-- 创建时间: 2025-08-01
|
||||
-- 描述: 检查并修复cw_project_application表中applicant_id为NULL的记录
|
||||
-- ==========================================
|
||||
|
||||
-- 1. 检查问题记录
|
||||
SELECT
|
||||
id,
|
||||
application_no,
|
||||
project_name,
|
||||
applicant_id,
|
||||
applicant_name,
|
||||
department_id,
|
||||
department_name,
|
||||
approval_status,
|
||||
create_by,
|
||||
create_time
|
||||
FROM cw_project_application
|
||||
WHERE applicant_id IS NULL OR applicant_id = 0;
|
||||
|
||||
-- 2. 修复方案1:将申请人ID设置为创建者ID(推荐)
|
||||
UPDATE cw_project_application
|
||||
SET
|
||||
applicant_id = create_by,
|
||||
applicant_name = (
|
||||
SELECT nick_name
|
||||
FROM sys_user
|
||||
WHERE user_id = cw_project_application.create_by
|
||||
AND deleted = 0
|
||||
LIMIT 1
|
||||
)
|
||||
WHERE (applicant_id IS NULL OR applicant_id = 0)
|
||||
AND create_by IS NOT NULL
|
||||
AND create_by > 0;
|
||||
|
||||
-- 3. 修复方案2:如果创建者也为空,设置为系统管理员(ID=1)
|
||||
UPDATE cw_project_application
|
||||
SET
|
||||
applicant_id = 1,
|
||||
applicant_name = '系统管理员'
|
||||
WHERE (applicant_id IS NULL OR applicant_id = 0)
|
||||
AND (create_by IS NULL OR create_by = 0);
|
||||
|
||||
-- 4. 修复部门信息为空的记录
|
||||
UPDATE cw_project_application
|
||||
SET
|
||||
department_id = (
|
||||
SELECT dept_id
|
||||
FROM sys_user
|
||||
WHERE user_id = cw_project_application.applicant_id
|
||||
AND deleted = 0
|
||||
LIMIT 1
|
||||
),
|
||||
department_name = (
|
||||
SELECT d.dept_name
|
||||
FROM sys_user u
|
||||
LEFT JOIN sys_dept d ON u.dept_id = d.dept_id
|
||||
WHERE u.user_id = cw_project_application.applicant_id
|
||||
AND u.deleted = 0
|
||||
AND d.deleted = 0
|
||||
LIMIT 1
|
||||
)
|
||||
WHERE (department_id IS NULL OR department_id = 0)
|
||||
AND applicant_id IS NOT NULL
|
||||
AND applicant_id > 0;
|
||||
|
||||
-- 5. 验证修复结果
|
||||
SELECT
|
||||
'修复后检查' as check_type,
|
||||
COUNT(*) as total_records,
|
||||
SUM(CASE WHEN applicant_id IS NULL OR applicant_id = 0 THEN 1 ELSE 0 END) as null_applicant_count,
|
||||
SUM(CASE WHEN department_id IS NULL OR department_id = 0 THEN 1 ELSE 0 END) as null_department_count
|
||||
FROM cw_project_application;
|
||||
|
||||
-- 6. 显示修复后的记录
|
||||
SELECT
|
||||
id,
|
||||
application_no,
|
||||
project_name,
|
||||
applicant_id,
|
||||
applicant_name,
|
||||
department_id,
|
||||
department_name,
|
||||
approval_status
|
||||
FROM cw_project_application
|
||||
ORDER BY create_time DESC
|
||||
LIMIT 10;
|
||||
@@ -0,0 +1,85 @@
|
||||
-- 修复项目申报表中申请人ID为空的问题
|
||||
-- 日期: 2025-08-01
|
||||
-- 说明: 检查并修复cw_project_application表中applicant_id和department_id为空的记录
|
||||
|
||||
-- 1. 查看当前有问题的记录
|
||||
SELECT
|
||||
id,
|
||||
application_no,
|
||||
project_name,
|
||||
applicant_id,
|
||||
applicant_name,
|
||||
department_id,
|
||||
department_name,
|
||||
create_by,
|
||||
approval_status
|
||||
FROM cw_project_application
|
||||
WHERE applicant_id IS NULL
|
||||
OR applicant_id = 0
|
||||
OR department_id IS NULL
|
||||
OR department_id = 0
|
||||
ORDER BY create_time DESC;
|
||||
|
||||
-- 2. 修复applicant_id为空的记录(使用create_by作为申请人ID)
|
||||
UPDATE cw_project_application
|
||||
SET applicant_id = create_by
|
||||
WHERE (applicant_id IS NULL OR applicant_id = 0)
|
||||
AND create_by IS NOT NULL
|
||||
AND create_by > 0;
|
||||
|
||||
-- 3. 修复applicant_name为空的记录(从sys_user表获取用户名)
|
||||
UPDATE cw_project_application cpa
|
||||
INNER JOIN sys_user su ON cpa.applicant_id = su.user_id
|
||||
SET cpa.applicant_name = su.user_name
|
||||
WHERE (cpa.applicant_name IS NULL OR cpa.applicant_name = '')
|
||||
AND cpa.applicant_id IS NOT NULL;
|
||||
|
||||
-- 4. 修复department_id为空的记录(从sys_user表获取部门ID)
|
||||
UPDATE cw_project_application cpa
|
||||
INNER JOIN sys_user su ON cpa.applicant_id = su.user_id
|
||||
SET cpa.department_id = su.dept_id
|
||||
WHERE (cpa.department_id IS NULL OR cpa.department_id = 0)
|
||||
AND cpa.applicant_id IS NOT NULL
|
||||
AND su.dept_id IS NOT NULL;
|
||||
|
||||
-- 5. 修复department_name为空的记录(从sys_dept表获取部门名称)
|
||||
UPDATE cw_project_application cpa
|
||||
INNER JOIN sys_dept sd ON cpa.department_id = sd.dept_id
|
||||
SET cpa.department_name = sd.dept_name
|
||||
WHERE (cpa.department_name IS NULL OR cpa.department_name = '')
|
||||
AND cpa.department_id IS NOT NULL;
|
||||
|
||||
-- 6. 对于仍然无法修复的记录,设置为系统管理员(ID=1)
|
||||
UPDATE cw_project_application
|
||||
SET applicant_id = 1,
|
||||
applicant_name = 'admin',
|
||||
department_id = 103,
|
||||
department_name = '研发部门'
|
||||
WHERE applicant_id IS NULL
|
||||
OR applicant_id = 0
|
||||
OR department_id IS NULL
|
||||
OR department_id = 0;
|
||||
|
||||
-- 7. 验证修复结果
|
||||
SELECT
|
||||
COUNT(*) as total_records,
|
||||
COUNT(CASE WHEN applicant_id IS NULL OR applicant_id = 0 THEN 1 END) as null_applicant_id,
|
||||
COUNT(CASE WHEN department_id IS NULL OR department_id = 0 THEN 1 END) as null_department_id,
|
||||
COUNT(CASE WHEN applicant_name IS NULL OR applicant_name = '' THEN 1 END) as null_applicant_name,
|
||||
COUNT(CASE WHEN department_name IS NULL OR department_name = '' THEN 1 END) as null_department_name
|
||||
FROM cw_project_application;
|
||||
|
||||
-- 8. 显示修复后的记录
|
||||
SELECT
|
||||
id,
|
||||
application_no,
|
||||
project_name,
|
||||
applicant_id,
|
||||
applicant_name,
|
||||
department_id,
|
||||
department_name,
|
||||
approval_status,
|
||||
create_time
|
||||
FROM cw_project_application
|
||||
ORDER BY create_time DESC
|
||||
LIMIT 10;
|
||||
@@ -0,0 +1,105 @@
|
||||
-- 修复项目申报表中缺失字段的问题
|
||||
-- 日期: 2025-08-01
|
||||
-- 说明: 修复cw_project_application表中可能为空的必填字段
|
||||
|
||||
-- 1. 检查当前有问题的记录
|
||||
SELECT
|
||||
id,
|
||||
application_no,
|
||||
project_name,
|
||||
application_reason,
|
||||
construction_content,
|
||||
total_performance_goal,
|
||||
current_year_goal,
|
||||
department_name,
|
||||
approval_status
|
||||
FROM cw_project_application
|
||||
WHERE application_reason IS NULL
|
||||
OR application_reason = ''
|
||||
OR construction_content IS NULL
|
||||
OR construction_content = ''
|
||||
OR total_performance_goal IS NULL
|
||||
OR total_performance_goal = ''
|
||||
OR current_year_goal IS NULL
|
||||
OR current_year_goal = ''
|
||||
OR department_name IS NULL
|
||||
OR department_name = ''
|
||||
ORDER BY create_time DESC;
|
||||
|
||||
-- 2. 修复application_reason为空的记录
|
||||
UPDATE cw_project_application
|
||||
SET application_reason = CONCAT('项目申请原因:', project_name, '项目的设立基于实际业务需求,具有可行性和必要性。')
|
||||
WHERE (application_reason IS NULL OR application_reason = '')
|
||||
AND project_name IS NOT NULL;
|
||||
|
||||
-- 3. 修复construction_content为空的记录
|
||||
UPDATE cw_project_application
|
||||
SET construction_content = CONCAT('项目建设内容:', project_name, '项目的主要建设内容包括相关软硬件建设、人员培训等。')
|
||||
WHERE (construction_content IS NULL OR construction_content = '')
|
||||
AND project_name IS NOT NULL;
|
||||
|
||||
-- 4. 修复total_performance_goal为空的记录(基于绩效指标自动生成)
|
||||
UPDATE cw_project_application cpa
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
application_id,
|
||||
COUNT(CASE WHEN indicator_type IN ('quantity', 'quality', 'timeliness', 'cost') THEN 1 END) as output_count,
|
||||
COUNT(CASE WHEN indicator_type IN ('economic', 'social', 'environmental') THEN 1 END) as effect_count,
|
||||
COUNT(CASE WHEN indicator_type = 'satisfaction' THEN 1 END) as satisfaction_count
|
||||
FROM cw_performance_indicator
|
||||
WHERE deleted = 0
|
||||
GROUP BY application_id
|
||||
) pi ON cpa.id = pi.application_id
|
||||
SET cpa.total_performance_goal = CASE
|
||||
WHEN pi.application_id IS NOT NULL THEN
|
||||
CONCAT('通过本项目的实施,预期实现以下绩效目标:产出指标', IFNULL(pi.output_count, 0), '项,效益指标', IFNULL(pi.effect_count, 0), '项,满意度指标', IFNULL(pi.satisfaction_count, 0), '项,确保项目按期完成并达到预期效果。')
|
||||
ELSE
|
||||
CONCAT('通过', cpa.project_name, '项目的实施,预期实现既定的绩效目标,确保项目按期完成并达到预期效果。')
|
||||
END
|
||||
WHERE (cpa.total_performance_goal IS NULL OR cpa.total_performance_goal = '')
|
||||
AND cpa.project_name IS NOT NULL;
|
||||
|
||||
-- 5. 修复current_year_goal为空的记录
|
||||
UPDATE cw_project_application
|
||||
SET current_year_goal = CONCAT(YEAR(CURDATE()), '年度绩效目标:确保项目关键节点按计划推进,各项指标达到设定标准,为项目整体目标的实现奠定坚实基础。')
|
||||
WHERE (current_year_goal IS NULL OR current_year_goal = '')
|
||||
AND project_name IS NOT NULL;
|
||||
|
||||
-- 6. 修复department_name为空的记录(从sys_dept表获取)
|
||||
UPDATE cw_project_application cpa
|
||||
INNER JOIN sys_dept sd ON cpa.department_id = sd.dept_id
|
||||
SET cpa.department_name = sd.dept_name
|
||||
WHERE (cpa.department_name IS NULL OR cpa.department_name = '')
|
||||
AND cpa.department_id IS NOT NULL;
|
||||
|
||||
-- 7. 对于仍然缺失department_name的记录,设置默认值
|
||||
UPDATE cw_project_application
|
||||
SET department_name = '未指定部门'
|
||||
WHERE (department_name IS NULL OR department_name = '')
|
||||
AND applicant_id IS NOT NULL;
|
||||
|
||||
-- 8. 验证修复结果
|
||||
SELECT
|
||||
COUNT(*) as total_records,
|
||||
COUNT(CASE WHEN application_reason IS NULL OR application_reason = '' THEN 1 END) as null_application_reason,
|
||||
COUNT(CASE WHEN construction_content IS NULL OR construction_content = '' THEN 1 END) as null_construction_content,
|
||||
COUNT(CASE WHEN total_performance_goal IS NULL OR total_performance_goal = '' THEN 1 END) as null_total_performance_goal,
|
||||
COUNT(CASE WHEN current_year_goal IS NULL OR current_year_goal = '' THEN 1 END) as null_current_year_goal,
|
||||
COUNT(CASE WHEN department_name IS NULL OR department_name = '' THEN 1 END) as null_department_name
|
||||
FROM cw_project_application;
|
||||
|
||||
-- 9. 显示修复后的记录样例
|
||||
SELECT
|
||||
id,
|
||||
application_no,
|
||||
project_name,
|
||||
SUBSTRING(application_reason, 1, 50) as application_reason_preview,
|
||||
SUBSTRING(construction_content, 1, 50) as construction_content_preview,
|
||||
SUBSTRING(total_performance_goal, 1, 50) as total_performance_goal_preview,
|
||||
SUBSTRING(current_year_goal, 1, 50) as current_year_goal_preview,
|
||||
department_name,
|
||||
approval_status,
|
||||
create_time
|
||||
FROM cw_project_application
|
||||
ORDER BY create_time DESC
|
||||
LIMIT 10;
|
||||
@@ -0,0 +1,90 @@
|
||||
-- ==================================================
|
||||
-- 招生就业模块 - 招聘信息管理菜单配置
|
||||
-- 创建日期: 2025-01-26
|
||||
-- 说明: 参考企业信息管理菜单配置
|
||||
-- ==================================================
|
||||
|
||||
-- 1. 招聘信息管理父菜单(招聘管理)
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (8710, '招聘管理', 8000, 6, 'recruitment', null, null, 1, 0, 'M', '0', '0', '', 'post', 103, 1, NOW(), null, null, '招聘管理菜单');
|
||||
|
||||
-- 2. 招聘信息子菜单(招聘岗位)
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (8711, '招聘岗位', 8710, 1, 'position', 'zsjy/jobPosition/index', null, 1, 0, 'C', '0', '0', 'zsjy:position:list', 'job', 103, 1, NOW(), null, null, '招聘岗位菜单');
|
||||
|
||||
-- 3. 招聘岗位按钮权限
|
||||
-- 3.1 查询权限
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (8712, '招聘岗位查询', 8711, 1, '', '', null, 1, 0, 'F', '0', '0', 'zsjy:position:query', '#', 103, 1, NOW(), null, null, '');
|
||||
|
||||
-- 3.2 新增权限
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (8713, '招聘岗位新增', 8711, 2, '', '', null, 1, 0, 'F', '0', '0', 'zsjy:position:add', '#', 103, 1, NOW(), null, null, '');
|
||||
|
||||
-- 3.3 修改权限
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (8714, '招聘岗位修改', 8711, 3, '', '', null, 1, 0, 'F', '0', '0', 'zsjy:position:edit', '#', 103, 1, NOW(), null, null, '');
|
||||
|
||||
-- 3.4 删除权限
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (8715, '招聘岗位删除', 8711, 4, '', '', null, 1, 0, 'F', '0', '0', 'zsjy:position:remove', '#', 103, 1, NOW(), null, null, '');
|
||||
|
||||
-- 3.5 导出权限
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (8716, '招聘岗位导出', 8711, 5, '', '', null, 1, 0, 'F', '0', '0', 'zsjy:position:export', '#', 103, 1, NOW(), null, null, '');
|
||||
|
||||
-- 4. 招聘海报子菜单
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (8720, '招聘海报', 8710, 2, 'poster', 'zsjy/recruitmentPoster/index', null, 1, 0, 'C', '0', '0', 'zsjy:poster:list', 'picture', 103, 1, NOW(), null, null, '招聘海报菜单');
|
||||
|
||||
-- 5. 招聘海报按钮权限
|
||||
-- 5.1 查询权限
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (8721, '招聘海报查询', 8720, 1, '', '', null, 1, 0, 'F', '0', '0', 'zsjy:poster:query', '#', 103, 1, NOW(), null, null, '');
|
||||
|
||||
-- 5.2 新增权限
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (8722, '招聘海报新增', 8720, 2, '', '', null, 1, 0, 'F', '0', '0', 'zsjy:poster:add', '#', 103, 1, NOW(), null, null, '');
|
||||
|
||||
-- 5.3 修改权限
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (8723, '招聘海报修改', 8720, 3, '', '', null, 1, 0, 'F', '0', '0', 'zsjy:poster:edit', '#', 103, 1, NOW(), null, null, '');
|
||||
|
||||
-- 5.4 删除权限
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (8724, '招聘海报删除', 8720, 4, '', '', null, 1, 0, 'F', '0', '0', 'zsjy:poster:remove', '#', 103, 1, NOW(), null, null, '');
|
||||
|
||||
-- 5.5 导出权限
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
VALUES (8725, '招聘海报导出', 8720, 5, '', '', null, 1, 0, 'F', '0', '0', 'zsjy:poster:export', '#', 103, 1, NOW(), null, null, '');
|
||||
|
||||
-- ==================================================
|
||||
-- 为管理员角色分配招聘管理相关权限
|
||||
-- ==================================================
|
||||
|
||||
-- 为管理员角色(role_id=1)分配招聘管理菜单权限
|
||||
INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 8710); -- 招聘管理
|
||||
INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 8711); -- 招聘岗位
|
||||
INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 8712); -- 招聘岗位查询
|
||||
INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 8713); -- 招聘岗位新增
|
||||
INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 8714); -- 招聘岗位修改
|
||||
INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 8715); -- 招聘岗位删除
|
||||
INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 8716); -- 招聘岗位导出
|
||||
INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 8720); -- 招聘海报
|
||||
INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 8721); -- 招聘海报查询
|
||||
INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 8722); -- 招聘海报新增
|
||||
INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 8723); -- 招聘海报修改
|
||||
INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 8724); -- 招聘海报删除
|
||||
INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 8725); -- 招聘海报导出
|
||||
|
||||
-- ==================================================
|
||||
-- 执行前检查
|
||||
-- ==================================================
|
||||
-- SELECT * FROM sys_menu WHERE menu_id BETWEEN 8710 AND 8725;
|
||||
-- SELECT * FROM sys_role_menu WHERE role_id = 1 AND menu_id BETWEEN 8710 AND 8725;
|
||||
|
||||
-- ==================================================
|
||||
-- 回滚语句
|
||||
-- ==================================================
|
||||
-- DELETE FROM sys_role_menu WHERE role_id = 1 AND menu_id BETWEEN 8710 AND 8725;
|
||||
-- DELETE FROM sys_menu WHERE menu_id BETWEEN 8710 AND 8725;
|
||||
Reference in new issue
Block a user