From 904897d888962511eb58b0dec9168983ecc1a439 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 19 九月 2023 16:24:41 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS-WEB/src/api/integration/sysInfo.js | 8
Source/UBCS-WEB/src/page/login/index.vue | 12
Source/UBCS-WEB/src/page/login/userlogin.vue | 12
Source/UBCS-WEB/src/api/docking/data.js | 4
Source/UBCS-WEB/src/api/docking/task.js | 4
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java | 5
Source/UBCS-WEB/src/views/integration/systemInfo.vue | 463 +++++++++++++++++++++--------------------
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyWebManagementController.java | 49 ++++
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/SystemClassifyRole.java | 46 ++++
9 files changed, 363 insertions(+), 240 deletions(-)
diff --git a/Source/UBCS-WEB/src/api/docking/data.js b/Source/UBCS-WEB/src/api/docking/data.js
index 94da0af..1093124 100644
--- a/Source/UBCS-WEB/src/api/docking/data.js
+++ b/Source/UBCS-WEB/src/api/docking/data.js
@@ -1,13 +1,13 @@
import request from '@/router/axios';
-export const getDataList = (page, size, params) => {
+export const getDataList = (page, limit, params) => {
return request({
url: '/api/ubcs-code/dockingManagement/gridDockingData',
method: 'get',
params: {
...params,
page,
- size
+ limit
}
})
}
diff --git a/Source/UBCS-WEB/src/api/docking/task.js b/Source/UBCS-WEB/src/api/docking/task.js
index fcb0acc..c2dc99a 100644
--- a/Source/UBCS-WEB/src/api/docking/task.js
+++ b/Source/UBCS-WEB/src/api/docking/task.js
@@ -1,13 +1,13 @@
import request from '@/router/axios';
-export const getTaskList = (page, size, params) => {
+export const getTaskList = (page, limit, params) => {
return request({
url: '/api/ubcs-code/dockingManagement/gridDockingTask',
method: 'get',
params: {
...params,
page,
- size
+ limit
}
})
}
diff --git a/Source/UBCS-WEB/src/api/integration/sysInfo.js b/Source/UBCS-WEB/src/api/integration/sysInfo.js
index 871ccdb..6292caa 100644
--- a/Source/UBCS-WEB/src/api/integration/sysInfo.js
+++ b/Source/UBCS-WEB/src/api/integration/sysInfo.js
@@ -1,11 +1,15 @@
import request from '@/router/axios';
// 闆嗘垚绯荤粺淇℃伅绠$悊鍒楄〃
-export const getSysInfoList = (params) => {
+export const getSysInfoList = (size,current,params) => {
return request({
url: '/api/ubcs-code/dockingManagement/gridDockingSystem',
method: 'get',
- params: params
+ params: {
+ size,
+ current,
+ ...params
+ }
})
}
// 闆嗘垚绯荤粺淇℃伅绠$悊鏂板
diff --git a/Source/UBCS-WEB/src/page/login/index.vue b/Source/UBCS-WEB/src/page/login/index.vue
index 0e0b68e..1ec9a95 100644
--- a/Source/UBCS-WEB/src/page/login/index.vue
+++ b/Source/UBCS-WEB/src/page/login/index.vue
@@ -21,12 +21,12 @@
</h4>
<userLogin v-if="activeName==='user'"></userLogin>
<thirdLogin v-else-if="activeName==='third'"></thirdLogin>
- <div class="login-menu">
- <a href="#" @click.stop="activeName='user'">{{ $t('login.userLogin') }}</a>
- <!--<a href="#" @click.stop="activeName='code'">{{ $t('login.phoneLogin') }}</a>-->
- <a href="#" @click.stop="activeName='third'">{{ $t('login.thirdLogin') }}</a>
- <a :href="website.ssoUrl + website.redirectUri">{{ $t('login.ssoLogin') }}</a>
- </div>
+<!-- <div class="login-menu">-->
+<!-- <a href="#" @click.stop="activeName='user'">{{ $t('login.userLogin') }}</a>-->
+<!-- <a href="#" @click.stop="activeName='code'">{{ $t('login.phoneLogin') }}</a>-->
+<!-- <a href="#" @click.stop="activeName='third'">{{ $t('login.thirdLogin') }}</a>-->
+<!-- <a :href="website.ssoUrl + website.redirectUri">{{ $t('login.ssoLogin') }}</a>-->
+<!-- </div>-->
</div>
</div>
diff --git a/Source/UBCS-WEB/src/page/login/userlogin.vue b/Source/UBCS-WEB/src/page/login/userlogin.vue
index b08bc18..a8877c8 100644
--- a/Source/UBCS-WEB/src/page/login/userlogin.vue
+++ b/Source/UBCS-WEB/src/page/login/userlogin.vue
@@ -8,7 +8,7 @@
status-icon
>
<el-form-item prop="selectInput">
- <el-select v-model="loginForm.tenantId" placeholder="璇烽�夋嫨绉熸埛" style="width: 100%" @change="selectchange">
+ <el-select v-model="loginForm.tenantId" placeholder="璇烽�夋嫨绉熸埛" style="width: 100%" @change="selectChange">
<i slot="prefix" class="el-icon-s-operation"/>
<el-option
v-for="(item,index) in loginForm.region"
@@ -40,6 +40,7 @@
</el-form-item>
<el-form-item>
+ <el-button @click="ChandleLogin">娴嬭瘯鍗曠偣鐧诲綍</el-button>
<el-button class="login-submit"
size="small"
type="primary"
@@ -62,7 +63,7 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="delok">鍙� 娑�</el-button>
- <el-button type="primary" @click="addok">纭� 瀹�</el-button>
+ <el-button type="primary" @click="addHandler">纭� 瀹�</el-button>
</div>
</el-dialog>
</div>
@@ -192,6 +193,9 @@
},
props: [],
methods: {
+ ChandleLogin(){
+
+ },
closehandle(){
removeToken()
},
@@ -201,7 +205,7 @@
removeToken()
},
// 鐐瑰嚮纭畾淇敼瀵嗙爜
- addok(){
+ addHandler(){
this.dialogFormVisible = false
updatePassword(md5(this.form.oldPassword), this.form.newPassword, this.form.newPassword1).then(res=>{
console.log(res)
@@ -215,7 +219,7 @@
})
},
// 缁戝畾涓嬫媺鑿滃崟鍔ㄦ�両D
- selectchange(value) {
+ selectChange(value) {
this.loginForm.tenantId = value
},
showPassword() {
diff --git a/Source/UBCS-WEB/src/views/integration/systemInfo.vue b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
index c1cf5ae..2efc562 100644
--- a/Source/UBCS-WEB/src/views/integration/systemInfo.vue
+++ b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
@@ -1,235 +1,252 @@
<template>
- <basic-container>
- <avue-crud ref="crud" :table-loading="loading" :data="data" :option="option" :page.sync="page" :search.sync="search"
- @on-load="getDataList" @row-save="handleSave" @row-del="handleDelete" @row-update="handleEdit"
- @refresh-change="handleRefresh" @size-change="handleSizePage" @current-change="handleCurrentPage"
- @selection-change="selectionChange" @row-click="handleRowClick">
- <template slot="menuLeft">
- <!-- <el-button icon="el-icon-search" size="small" type="primary" @click="handleStatus">鏌� 璇�
- </el-button> -->
- <el-button icon="el-icon-delete" size="small" type="danger" @click="handleDeleteByIds">鍒� 闄�
- </el-button>
- </template>
- <template slot="search" slot-scope="{row,size}">
- <el-select v-model="selectValue" size="small" @change="handleSelect">
- <el-option v-for="item in selectOption" :key="item.value" :label="item.label" :value="item.value">
- </el-option>
- </el-select>
- <el-input :placeholder="`璇疯緭鍏�${selectValue === 'id' ? '绯荤粺缂栧彿' : '绯荤粺鍚嶇О'}骞舵寜鍥炶溅鏌ヨ`" :size="size"
- style="width:300px;margin-left: 10px;" v-model="search[selectValue]" clearable
- @keyup.enter.native="handleEnter" @clear="handleClear"></el-input>
- </template>
- </avue-crud>
- </basic-container>
+ <basic-container>
+ <avue-crud ref="crud" :data="data" :option="option" :page.sync="page" :search.sync="search" :table-loading="loading"
+ @on-load="getDataList" @row-save="handleSave" @row-del="handleDelete" @row-update="handleEdit"
+ @refresh-change="handleRefresh" @size-change="handleSizePage" @current-change="handleCurrentPage"
+ @selection-change="selectionChange" @row-click="handleRowClick">
+ <template slot="menuLeft">
+ <!-- <el-button icon="el-icon-search" size="small" type="primary" @click="handleStatus">鏌� 璇�
+ </el-button> -->
+ <el-button icon="el-icon-delete" size="small" type="danger" @click="handleDeleteByIds">鍒� 闄�
+ </el-button>
+ </template>
+ <template slot="search" slot-scope="{row,size}">
+ <el-select v-model="selectValue" size="small" @change="handleSelect">
+ <el-option v-for="item in selectOption" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ <el-input v-model="search[selectValue]" :placeholder="`璇疯緭鍏�${selectValue === 'id' ? '绯荤粺缂栧彿' : '绯荤粺鍚嶇О'}骞舵寜鍥炶溅鏌ヨ`"
+ :size="size" clearable style="width:300px;margin-left: 10px;"
+ @clear="handleClear" @keyup.enter.native="handleEnter"></el-input>
+ </template>
+ <template #menu="{row,index,size}">
+ <el-button type="text" icon="el-icon-menu" size="small" @click="classifyHandler">鍒嗙被鎺堟潈</el-button>
+
+ </template>
+ </avue-crud>
+ <el-dialog :visible.sync="dialogVisible" append-to-body title="鍒嗙被鎺堟潈">
+ </el-dialog>
+ </basic-container>
</template>
<script>
-import { getSysInfoList, sysInfoAdd, sysInfoEdit, sysInfoDel } from '@/api/integration/sysInfo.js'
-export default {
- data() {
- return {
- loading: false,
- page: {
- currentPage: 1,
- pageSize: 10,
- total: 0
- },
- selectOption: [{
- value: 'id',
- label: '绯荤粺缂栧彿'
- }, {
- value: 'name',
- label: '绯荤粺鍚嶇О'
- }],
- selectValue: 'id',
- search: {},
- delIds: [],
- data: [],
- option: {
- height: "auto",
- tip:false,
- border: true,
- align: 'center',
- menuAlign: 'center',
- index: true,
- searchMenuSpan: 8,
- searchBtn: false,
- emptyBtn: false,
- columnBtn: false,
- defaultSort: {
- prop: 'id,name',
- order: 'descending'
- },
- selection: true,
- column: [
- {
- label: '绯荤粺缂栧彿',
- prop: 'id',
- sortable: true,
- rules: [{
- required: true,
- message: '绯荤粺缂栧彿涓嶈兘涓虹┖',
- trigger: 'blur'
- }],
- // maxlength: 30, //瀛楁暟闄愬埗
- }, {
- label: '绯荤粺鍚嶇О',
- prop: 'name',
- sortable: true,
- rules: [{
- required: true,
- message: '绯荤粺鍚嶇О涓嶈兘涓虹┖',
- trigger: 'blur'
- }],
- // maxlength: 30, //瀛楁暟闄愬埗
- },
- {
- label: '绯荤粺鎻忚堪',
- prop: 'description',
- type: 'textarea'
- }
- ]
- },
- }
- },
- methods: {
- // 鑾峰彇鍒楄〃
- async getDataList() {
- this.loading = true
- console.log(this.search)
- const { pageSize, currentPage } = this.page
- let param = { size: pageSize, current: currentPage }
- this.search = Object.keys(this.search)
- .filter((key) => this.search[key] !== null && this.search[key] !== undefined && this.search[key] !== "")
- .reduce((acc, key) => ({ ...acc, [key]: this.search[key] }), {});
- const response = await getSysInfoList({ ...param, ...this.search })
- if (response.status === 200) {
- console.log(response)
- this.loading = false
- const data = response.data.data
- this.data = data.records
- this.page.total = data.total
- } else this.loading = false
- },
- // 鏂板
- async handleSave(row, done, loading) {
- try {
- const response = await sysInfoAdd(row)
- if (response.status === 200) {
- this.$message({
- type: 'success',
- message: '鏂板鏁版嵁鎴愬姛锛�'
- })
- done(row)
- // this.$refs.crud.refreshTable()
- // this.getDataList()
- }
- } catch {
- loading()
- }
- },
- // 缂栬緫
- async handleEdit(row, index, done, loading) {
- try {
- const { oid, id, name, description } = row
- const response = await sysInfoEdit({ oid, id, name, description })
- if (response.status === 200) {
- loading()
- this.$message({
- type: 'success',
- message: '淇敼鏁版嵁鎴愬姛锛�'
- })
- done(row)
- }
- } catch {
- loading()
- }
- },
- // 鍒犻櫎鍗曟潯
- handleDelete(row) {
- const { oid } = row
- this.deleteSysInfo({ oids: oid })
- },
- // 澶氭潯鏁版嵁鍒犻櫎
- handleDeleteByIds() {
- const { oids } = this.delIds
- if (this.$utilFunc.isEmpty(oids)) {
- this.$message({
- type: "error",
- message: "璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�!"
- })
- } else {
- this.deleteSysInfo(this.delIds)
- }
- },
- // 鍒犻櫎鎺ュ彛
- deleteSysInfo(param) {
- this.$confirm('鏄惁纭畾鍒犻櫎閫夋嫨鐨勯泦鎴愮郴缁�?', '鎻愮ず', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- type: 'warning'
- }).then(async () => {
- const response = await sysInfoDel(param)
- if (response.status === 200) {
- console.log(response)
- this.$message({
- type: 'success',
- message: '鍒犻櫎鎴愬姛!'
- });
- this.getDataList()
- }
- })
- },
- // 閫夋嫨妗嗗唴瀹归�夋嫨鍚�
- handleSelect(event) {
- this.selectValue = event
- if (this.selectValue === 'id') {
- this.search['name'] = ''
- delete this.search['name']
- } else {
- this.search['id'] = ''
- delete this.search['id']
- }
- },
- // enter鎼滅储
- handleEnter() {
- if (this.search[this.selectValue] === '') return
- else this.getDataList()
+import {getSysInfoList, sysInfoAdd, sysInfoEdit, sysInfoDel} from '@/api/integration/sysInfo.js'
+export default {
+ data() {
+ return {
+ loading: false,
+ dialogVisible:false,
+ page: {
+ currentPage: 1,
+ pageSize: 10,
+ total: 0
+ },
+ selectOption: [{
+ value: 'id',
+ label: '绯荤粺缂栧彿'
+ }, {
+ value: 'name',
+ label: '绯荤粺鍚嶇О'
+ }],
+ selectValue: 'id',
+ search: {},
+ delIds: [],
+ data: [],
+ option: {
+ height: "auto",
+ tip: false,
+ border: true,
+ align: 'center',
+ menuAlign: 'center',
+ index: true,
+ searchMenuSpan: 8,
+ searchBtn: false,
+ emptyBtn: false,
+ columnBtn: false,
+ defaultSort: {
+ prop: 'id,name',
+ order: 'descending'
},
- // 杈撳叆妗嗘竻绌�
- handleClear() {
- this.search = {}
- this.getDataList()
- },
- // 鍒锋柊鎸夐挳
- handleRefresh() {
- this.getDataList()
- },
- handleSizePage(event) {
- this.page.pageSize = event
- },
- handleCurrentPage(event) {
- this.page.currentPage = event
- },
- // 鐐瑰嚮閫夋嫨
- handleRowClick(row) {
- this.$refs.crud.toggleRowSelection(row, true)
- },
- // 澶氶��
- selectionChange(list) {
- console.log(list)
- let newData = list.map(item => {
- const { oid } = item
- return oid
- })
- this.delIds = { oids: newData.toString() }
- console.log(this.delIds)
- },
+ selection: true,
+ column: [
+ {
+ label: '绯荤粺缂栧彿',
+ prop: 'id',
+ sortable: true,
+ rules: [{
+ required: true,
+ message: '绯荤粺缂栧彿涓嶈兘涓虹┖',
+ trigger: 'blur'
+ }],
+ // maxlength: 30, //瀛楁暟闄愬埗
+ }, {
+ label: '绯荤粺鍚嶇О',
+ prop: 'name',
+ sortable: true,
+ rules: [{
+ required: true,
+ message: '绯荤粺鍚嶇О涓嶈兘涓虹┖',
+ trigger: 'blur'
+ }],
+ // maxlength: 30, //瀛楁暟闄愬埗
+ },
+ {
+ label: '绯荤粺鎻忚堪',
+ prop: 'description',
+ type: 'textarea'
+ }
+ ]
+ },
}
+ },
+ methods: {
+ //鍒嗙被鎺堟潈
+ classifyHandler(){
+ this.dialogVisible=true;
+ },
+ async getDataList() {
+ this.loading = true;
+ console.log(this.search);
+ const { pageSize, currentPage } = this.page;
+ const conditions = {};
+ if (Object.keys(this.search).length > 0) {
+ for (const key in this.search) {
+ if (this.search[key]) {
+ conditions[`conditionMap[${key}_like]`] = this.search[key];
+ }
+ }
+ }
+ const response = await getSysInfoList(pageSize, currentPage, conditions);
+ if (response.status === 200) {
+ console.log(response);
+ this.loading = false;
+ const data = response.data.data;
+ this.data = data.records;
+ this.page.total = data.total;
+ } else {
+ this.loading = false;
+ }
+ },
+ // 鏂板
+ async handleSave(row, done, loading) {
+ try {
+ const response = await sysInfoAdd(row)
+ if (response.status === 200) {
+ this.$message({
+ type: 'success',
+ message: '鏂板鏁版嵁鎴愬姛锛�'
+ })
+ done(row)
+ // this.$refs.crud.refreshTable()
+ // this.getDataList()
+ }
+ } catch {
+ loading()
+ }
+ },
+ // 缂栬緫
+ async handleEdit(row, index, done, loading) {
+ try {
+ const {oid, id, name, description} = row
+ const response = await sysInfoEdit({oid, id, name, description})
+ if (response.status === 200) {
+ loading()
+ this.$message({
+ type: 'success',
+ message: '淇敼鏁版嵁鎴愬姛锛�'
+ })
+ done(row)
+ }
+ } catch {
+ loading()
+ }
+ },
+ // 鍒犻櫎鍗曟潯
+ handleDelete(row) {
+ const {oid} = row
+ this.deleteSysInfo({oids: oid})
+ },
+ // 澶氭潯鏁版嵁鍒犻櫎
+ handleDeleteByIds() {
+ const {oids} = this.delIds
+ if (this.$utilFunc.isEmpty(oids)) {
+ this.$message({
+ type: "error",
+ message: "璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�!"
+ })
+ } else {
+ this.deleteSysInfo(this.delIds)
+ }
+ },
+ // 鍒犻櫎鎺ュ彛
+ deleteSysInfo(param) {
+ this.$confirm('鏄惁纭畾鍒犻櫎閫夋嫨鐨勯泦鎴愮郴缁�?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(async () => {
+ const response = await sysInfoDel(param)
+ if (response.status === 200) {
+ console.log(response)
+ this.$message({
+ type: 'success',
+ message: '鍒犻櫎鎴愬姛!'
+ });
+ this.getDataList()
+ }
+ })
+ },
+ // 閫夋嫨妗嗗唴瀹归�夋嫨鍚�
+ handleSelect(event) {
+ this.selectValue = event
+ if (this.selectValue === 'id') {
+ this.search['name'] = ''
+ delete this.search['name']
+ } else {
+ this.search['id'] = ''
+ delete this.search['id']
+ }
+ },
+ // enter鎼滅储
+ handleEnter() {
+ if (this.search[this.selectValue] === '') return
+ else this.getDataList()
+
+ },
+ // 杈撳叆妗嗘竻绌�
+ handleClear() {
+ this.search = {}
+ this.getDataList()
+ },
+ // 鍒锋柊鎸夐挳
+ handleRefresh() {
+ this.getDataList()
+ },
+ handleSizePage(event) {
+ this.page.pageSize = event
+ },
+ handleCurrentPage(event) {
+ this.page.currentPage = event
+ },
+ // 鐐瑰嚮閫夋嫨
+ handleRowClick(row) {
+ this.$refs.crud.toggleRowSelection(row, true)
+ },
+ // 澶氶��
+ selectionChange(list) {
+ console.log(list)
+ let newData = list.map(item => {
+ const {oid} = item
+ return oid
+ })
+ this.delIds = {oids: newData.toString()}
+ console.log(this.delIds)
+ },
+ }
}
</script>
<style lang="scss" scoped>
::v-deep(.avue-crud .el-select) {
- width: 100px !important;
+ width: 100px !important;
}
</style>
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/SystemClassifyRole.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/SystemClassifyRole.java
new file mode 100644
index 0000000..f8aaa3b
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/SystemClassifyRole.java
@@ -0,0 +1,46 @@
+package com.vci.ubcs.code.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.vci.ubcs.starter.constant.CodeTableNameConstant;
+import com.vci.ubcs.starter.revision.model.BaseModel;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 闆嗘垚绯荤粺鍒嗙被鎺堟潈
+ *
+ * @author xiejun
+ * @since 2023-04-03
+ */
+@Data
+@TableName(CodeTableNameConstant.PL_CODE_SYSTEM_CLASSIFY_ROLE)
+@ApiModel(value = "SystemClassifyRole瀵硅薄", description = "闆嗘垚绯荤粺鍒嗙被鎺堟潈")
+@EqualsAndHashCode(callSuper = true)
+public class SystemClassifyRole extends BaseModel {
+ /***
+ * 闆嗘垚绯荤粺涓婚敭oid
+ */
+ private String systemOid;
+ /**
+ * 闆嗘垚绯荤粺鏍囪瘑
+ */
+ private String systemId;
+ /***
+ * 鍒嗙被oid
+ */
+ private String classifyOid;
+ /***
+ * 闆嗘垚绯荤粺鍒嗙被浠e彿
+ */
+ private String classifyId;
+ /**
+ * 鏄惁鏈夋潈闄�
+ */
+ private boolean selected;
+ /**
+ * 鍒嗙被鐖惰妭鐐筼id
+ */
+ private String classParentOid;
+
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java
index a901b8e..b227b64 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java
@@ -141,6 +141,9 @@
public static final String PL_CODE_DOCKINGTASK = "PL_CODE_DOCKINGTASK";
-
+ /**
+ * 闆嗘垚绯荤粺鎺堟潈鍒嗙被鏉冮檺琛�
+ */
+ public static final String PL_CODE_SYSTEM_CLASSIFY_ROLE = "PL_CODE_SYSTEM_CLASSIFY_ROLE";
}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyWebManagementController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyWebManagementController.java
new file mode 100644
index 0000000..805c7de
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyWebManagementController.java
@@ -0,0 +1,49 @@
+package com.vci.ubcs.code.controller;
+
+
+import com.vci.ubcs.code.service.ICodeClassifyService;
+import lombok.AllArgsConstructor;
+import org.springblade.core.tool.api.R;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 涓婚搴撳畾涔夎〃 鎺у埗鍣�
+ *
+ * @author xiejun
+ * @since 2023-07-24
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/codeApplyWebManagementController")
+public class CodeApplyWebManagementController {
+ /***
+ * 鍒嗙被鏈嶅姟瀵硅薄
+ */
+ private final ICodeClassifyService codeClassifyService;
+
+ /***
+ * 鏍规嵁鍓嶇閫夋嫨鐨勫垎绫绘潈闄愭巿鏉冩巿鏉�
+ * @return
+ */
+ private R saveClassifyRoleBySystemId(){
+
+
+
+ return R.success("鎴愬姛");
+ }
+
+
+
+
+ /***
+ * 鏍规嵁绯荤粺闆嗘垚鏍囪瘑鏌ヨ鍏峰鏉冮檺鐨勫垎绫绘暟鎹�
+ * @return
+ */
+ public R selectCodeClassifyVOByParentId(String systemId){
+
+ return R.success("鏌ヨ鎴愬姛");
+ }
+
+
+}
--
Gitblit v1.9.3