Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
dd_school
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangqi
dd_school
Commits
a9f5d1ff
Commit
a9f5d1ff
authored
Oct 23, 2023
by
zhaopanyu
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of 49.232.152.146:qangqi/dd_school
parents
51909be1
8dbf56c8
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
1227 additions
and
622 deletions
+1227
-622
ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
+1
-0
ruoyi-ui/README.md
+1
-1
ruoyi-ui/src/api/smartSchool/teacherFiles/teacherElectronicFile.js
+64
-0
ruoyi-ui/src/views/smartSchool/massOrganization/communityStyle/index.vue
+54
-15
ruoyi-ui/src/views/smartSchool/teachAffairAdministration/electronicRecord/dataMaintenance.vue
+283
-222
ruoyi-ui/src/views/smartSchool/teachAffairAdministration/electronicRecord/index.vue
+283
-125
ruoyi-ui/vue.config.js
+4
-4
smart-campus/src/main/java/yangtz/cs/liu/campus/domain/schoolClass/SchoolClass.java
+1
-0
smart-campus/src/main/java/yangtz/cs/liu/campus/domain/schoolgrade/SchoolGrade.java
+3
-0
smart-campus/src/main/java/yangtz/cs/liu/campus/domain/student/SchoolStudent.java
+2
-0
smart-campus/src/main/java/yangtz/cs/liu/campus/mapper/schoolClass/SchoolClassMapper.java
+2
-0
smart-campus/src/main/java/yangtz/cs/liu/campus/mapper/schoolgrade/SchoolGradeMapper.java
+4
-0
smart-campus/src/main/java/yangtz/cs/liu/campus/service/impl/schoolClass/SchoolClassImpl.java
+4
-0
smart-campus/src/main/java/yangtz/cs/liu/campus/service/impl/schoolgrade/ISchoolGradeImpl.java
+10
-0
smart-campus/src/main/java/yangtz/cs/liu/campus/service/schoolClass/ISchoolClassService.java
+4
-0
smart-campus/src/main/java/yangtz/cs/liu/campus/service/schoolgrade/ISchoolGradeService.java
+2
-0
smart-campus/src/main/java/yangtz/cs/liu/campus/vo/student/SchoolStudentVO.java
+1
-0
smart-campus/src/main/java/yangtz/cs/liu/dingding/controller/DingJiaXiaoController.java
+479
-252
smart-campus/src/main/resources/mapper/schoolClass/SchoolClassMapper.xml
+5
-0
smart-campus/src/main/resources/mapper/schoolgrade/SchoolGradeMapper.xml
+7
-0
smart-campus/src/main/resources/mapper/student/SchoolStudentMapper.xml
+13
-3
No files found.
ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
View file @
a9f5d1ff
...
...
@@ -132,6 +132,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
.
antMatchers
(
"/wx/user/getToken"
).
permitAll
()
//钉钉免登录接口
.
antMatchers
(
"/dd/App/user/**"
).
permitAll
()
.
antMatchers
(
"/dd/djtx/**"
).
permitAll
()
//开发一个接口字典
.
antMatchers
(
"/system/dict/data/type/**"
).
permitAll
()
// .antMatchers("/**").permitAll()
...
...
ruoyi-ui/README.md
View file @
a9f5d1ff
...
...
@@ -7,7 +7,7 @@ git clone https://gitee.com/y_project/RuoYi-Vue
# 进入项目目录
cd
ruoyi-ui
__
# 安装依赖
npm install
...
...
ruoyi-ui/src/api/smartSchool/teacherFiles/teacherElectronicFile.js
0 → 100644
View file @
a9f5d1ff
import
request
from
'@/utils/request'
// 通知列表
export
function
listTeacherNotice
(
query
)
{
return
request
({
url
:
'/teacherFiles/notice/list'
,
method
:
'get'
,
params
:
query
})
}
// 添加通知
export
function
addTeacherNotice
(
data
)
{
return
request
({
url
:
'/teacherFiles/notice'
,
method
:
'post'
,
data
:
data
})
}
// 信息发布
export
function
infoTeacherNotice
(
id
)
{
return
request
({
url
:
`/teacherFiles/notice/release/
${
id
}
`
,
method
:
'put'
})
}
// 通知下档案查看|数据维护
export
function
getteacherNotice
(
query
)
{
return
request
({
url
:
'/teacherFiles/files/list'
,
method
:
'get'
,
params
:
query
})
}
//老师查看档案详情
export
function
getNoticeInfo
(
query
)
{
return
request
({
url
:
'/teacherFiles/files/list'
,
method
:
'get'
,
params
:
query
})
}
//级部查看档案详情
export
function
getDepInfo
(
query
)
{
return
request
({
url
:
'/teacherFiles/files/list'
,
method
:
'get'
,
params
:
query
})
}
// 同步档案
export
function
syncNotice
(
id
)
{
return
request
({
url
:
'/teacherFiles/files/synchronous/'
+
id
,
method
:
'put'
})
}
ruoyi-ui/src/views/smartSchool/massOrganization/communityStyle/index.vue
View file @
a9f5d1ff
<!--社团风采-->
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
...
...
@@ -27,7 +28,7 @@
<el-table-column
label=
"风采主题"
align=
"center"
prop=
"theme"
/>
<el-table-column
label=
"附件"
align=
"center"
prop=
"file"
>
<template
slot-scope=
"scope"
>
<el-image
style=
"width: 100px; height: 100px"
:src=
"scope.row.file
"
>
<el-image
v-for=
"(item,index) in scope.row.file.split(',')"
:key=
"index"
style=
"width: 100px; height: 100px"
:src=
"item"
:preview-src-list=
"[item]
"
>
</el-image>
</
template
>
</el-table-column>
...
...
@@ -63,11 +64,24 @@
text-align: center;
justify-content: center;
transform: translateX(-30px);
"
>
<el-upload
v-loading=
"uploadLoading"
class=
"avatar-uploader"
action=
"#"
accept=
"image/*"
:show-file-list=
"false"
:on-success=
"handleAvatarSuccess"
:before-upload=
"beforeAvatarUpload"
:http-request=
"uploadImage"
>
<img
v-if=
"form.file"
:src=
"form.file"
class=
"avatar"
/>
"
>
<el-upload
multiple
v-loading=
"uploadLoading"
class=
"avatar-uploader"
:action=
"uploadFileUrl"
accept=
"image/*"
:show-file-list=
"false"
:on-success=
"handleAvatarSuccess"
:before-upload=
"beforeAvatarUpload"
>
<!-- <img v-for="(item,index) in form.file" :key="index" v-if="form.file" :src="item" class="avatar" />-->
<div
v-if=
"form.file"
>
<img
v-for=
"(item,index) in form.file"
:key=
"index"
:src=
"item"
class=
"avatar"
/>
</div>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
></i>
</el-upload>
</el-form-item>
...
...
@@ -107,6 +121,9 @@ export default {
components
:
{
picAvatar
},
data
()
{
return
{
//图片上传列表
uploadList
:
[],
uploadFileUrl
:
process
.
env
.
VUE_APP_BASE_API
+
"/common/upload"
,
// 上传的图片服务器地址
pev
:
process
.
env
.
VUE_APP_BASE_API
,
// 输入框字数限制
TEXT_SIZE
,
...
...
@@ -229,10 +246,9 @@ export default {
};
// console.log(params);
getCommunityInfo
(
params
).
then
((
response
)
=>
{
//
console.log("response", response);
console
.
log
(
"response"
,
response
);
this
.
picList
=
response
.
rows
;
this
.
picList
.
file
=
response
.
rows
.
file
;
// console.log(this.picList.file);
// this.picList.file = response.rows.file.split(',');
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
...
...
@@ -285,8 +301,10 @@ export default {
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
uploadList
=
[]
this
.
check
=
false
;
this
.
reset
();
console
.
log
(
'form.file'
,
this
.
form
.
file
)
this
.
open
=
true
;
this
.
title
=
"新增社团风采"
;
},
...
...
@@ -294,22 +312,31 @@ export default {
handleUpdate
(
row
)
{
this
.
reset
();
const
ids
=
row
.
id
||
this
.
ids
;
this
.
uploadList
=
[]
this
.
form
.
file
=
[]
listCommunityInfo
(
ids
).
then
((
response
)
=>
{
console
.
log
(
'修改'
,
response
)
this
.
form
=
response
.
data
;
this
.
form
.
file
=
response
.
data
.
file
.
split
(
','
)
console
.
log
(
"this.form.file"
,
this
.
form
.
file
);
this
.
imageUrl
=
this
.
pev
+
this
.
form
.
picUrl
;
console
.
log
(
this
.
imageUrl
,
"this.imageUrl"
);
this
.
open
=
true
;
this
.
title
=
"修改园区照片"
;
});
},
/** 查看按钮操作 */
handleCheck
(
row
)
{
this
.
uploadList
=
[]
this
.
form
.
file
=
[]
this
.
check
=
true
;
this
.
open
=
true
;
const
ids
=
row
.
id
||
this
.
ids
;
listCommunityInfo
(
ids
).
then
((
response
)
=>
{
console
.
log
(
'查看'
,
response
)
this
.
form
=
response
.
data
;
this
.
form
.
file
=
response
.
data
.
file
;
console
.
log
(
'this.form.file'
,
this
.
form
.
file
)
this
.
form
.
file
=
response
.
data
.
file
.
split
(
','
);
console
.
log
(
this
.
form
.
file
);
this
.
open
=
true
;
});
...
...
@@ -317,9 +344,19 @@ export default {
},
// 上传成功回调
handleAvatarSuccess
(
res
,
file
)
{
this
.
imageUrl
=
res
.
data
.
url
;
console
.
log
(
file
);
this
.
commonUpload
(
file
);
console
.
log
(
'Success res'
,
res
)
console
.
log
(
'Success file'
,
file
)
if
(
res
.
code
==
200
){
this
.
uploadList
.
push
(
this
.
pev
+
res
.
fileName
);
this
.
form
.
file
=
this
.
uploadList
console
.
log
(
'this.uploadList'
,
this
.
uploadList
)
console
.
log
(
'this.form.file'
,
this
.
form
.
file
)
}
// this.imageUrl = res.data.url;
// console.log(file);
// this.commonUpload(file);
},
// 上传前格式和图片大小限制
beforeAvatarUpload
(
file
)
{
...
...
@@ -343,6 +380,7 @@ export default {
},
// 上传图片
uploadImage
(
file
)
{
console
.
log
(
'file'
,
file
)
const
fileData
=
file
.
file
;
const
formData
=
new
FormData
();
formData
.
append
(
"file"
,
fileData
);
...
...
@@ -370,7 +408,8 @@ export default {
const
params
=
{
id
:
this
.
form
.
id
,
theme
:
this
.
form
.
theme
,
file
:
this
.
form
.
file
,
// file: this.form.file,
file
:
this
.
uploadList
.
toString
()
};
console
.
log
(
params
,
"params"
);
editCommunityInfo
(
params
)
...
...
@@ -385,7 +424,7 @@ export default {
const
params
=
{
cid
:
this
.
$route
.
query
.
id
,
theme
:
this
.
form
.
theme
,
file
:
this
.
form
.
file
,
file
:
this
.
uploadList
.
toString
()
};
console
.
log
(
params
,
"params"
);
addCommunityInfo
(
params
)
...
...
ruoyi-ui/src/views/smartSchool/teachAffairAdministration/electronicRecord/dataMaintenance.vue
View file @
a9f5d1ff
<!--数据维护 -->
<
template
>
<div>
<el-form
style=
"margin-top: 20px;margin-left: 20px;"
:inline=
"true"
:model=
"queryForm"
class=
"demo-form-inline"
>
<el-form
style=
"margin-top: 20px; margin-left: 20px"
:inline=
"true"
:model=
"queryForm"
class=
"demo-form-inline"
>
<el-form-item
label=
"级部:"
>
<el-input
v-model=
"queryForm.level"
placeholder=
"请输入级部"
></el-input>
<el-input
v-model=
"queryForm.gradeName"
placeholder=
"请输入级部"
></el-input>
</el-form-item>
<el-form-item
label=
"姓名:"
>
<el-input
v-model=
"queryForm.name"
placeholder=
"请输入姓名"
></el-input>
<el-input
v-model=
"queryForm.teacherName"
placeholder=
"请输入姓名"
></el-input>
</el-form-item>
<el-form-item
label=
"任教学科:"
>
<el-input
v-model=
"queryForm.name"
placeholder=
"请输入任教学科"
></el-input>
<el-input
v-model=
"queryForm.courseName"
placeholder=
"请输入任教学科"
></el-input>
</el-form-item>
<el-form-item>
<el-button
size=
"mini"
icon=
"el-icon-search"
type=
"primary"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
size=
"mini"
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
重置
</el-button>
<el-button
size=
"mini"
icon=
"el-icon-search"
type=
"primary"
@
click=
"handleQuery"
>
搜索
</el-button
>
<el-button
size=
"mini"
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
重置
</el-button
>
</el-form-item>
</el-form>
<el-table
style=
"margin-top: 20px;"
border
:data=
"tableData"
>
<el-table-column
type=
"index"
label=
"序号"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"学年学期"
align=
"center"
prop=
"schoolYear"
min-width=
"200"
/>
<el-table-column
label=
"级部"
align=
"center"
prop=
"level"
min-width=
"150"
/>
<el-table-column
label=
"姓名"
align=
"center"
min-width=
"150"
prop=
"name"
/>
<el-table-column
label=
"身份证号"
align=
"center"
min-width=
"200"
prop=
"IDNum"
/>
<el-table-column
label=
"进度"
align=
"center"
min-width=
"150"
prop=
"schedule"
/>
<el-table-column
fixed=
"right"
label=
"操作"
align=
"center"
min-width=
"200"
>
<el-table
style=
"margin-top: 20px"
border
:data=
"tableData"
>
<el-table-column
type=
"index"
label=
"序号"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"学年学期"
align=
"center"
prop=
"filesSemester"
min-width=
"200"
/>
<el-table-column
label=
"级部"
align=
"center"
prop=
"gradeName"
min-width=
"150"
/>
<el-table-column
label=
"姓名"
align=
"center"
min-width=
"150"
prop=
"teacherName"
/>
<el-table-column
label=
"身份证号"
align=
"center"
min-width=
"200"
prop=
"idCard"
/>
<el-table-column
label=
"进度"
align=
"center"
min-width=
"150"
prop=
"state"
/>
<el-table-column
fixed=
"right"
label=
"操作"
align=
"center"
min-width=
"200"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleCheck(scope.row)"
>
查看
<el-button
size=
"mini"
type=
"text"
@
click=
"handleCheck(scope.row)"
>
查看
</el-button>
<el-button
:disabled=
"status == '已结束' ? true
:
false"
:disabled=
"status == '已结束' ? true
:
false"
size=
"mini"
type=
"text"
@
click=
"handleEdit(scope.row)"
>
修改
@
click=
"handleEdit(scope.row)"
>
修改
</el-button>
<el-button
:disabled=
"status == '已结束' ? true
:
false"
:disabled=
"status == '已结束' ? true
:
false"
size=
"mini"
type=
"text"
@
click=
"handleDelete(scope.row)"
>
删除
@
click=
"handleDelete(scope.row)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total
>
0"
v-show=
"total
>
0"
:total=
"total"
:page
.
sync=
"queryForm.pageNum"
:limit
.
sync=
"queryForm.pageSize"
@
pagination=
"getList"
/>
<!--弹窗-->
<el-dialog
:title=
title
:visible
.
sync=
"dialogVisible"
width=
"100%"
>
<div
style=
"display:flex;"
>
<el-dialog
:title=
"title"
:visible
.
sync=
"dialogVisible"
width=
"100%"
>
<div
style=
"display: flex"
>
<div
class=
"leftContent"
>
<div
style=
"margin-bottom: 10px"
>
<span
class=
"line"
></span>
<span
class=
"title"
>
基本信息
</span>
</div>
<el-form
size=
"mini"
ref=
"form"
label-position=
"left"
:model=
"dialogForm"
label-width=
"120px"
>
<el-form
size=
"mini"
ref=
"form"
label-position=
"left"
:model=
"dialogForm"
label-width=
"120px"
>
<el-form-item
label=
"学年学期:"
style=
"padding-right: 10px"
>
<el-input
readonly
v-model=
"dialogForm.
name
"
></el-input>
<el-input
readonly
v-model=
"dialogForm.
filesSemester
"
></el-input>
</el-form-item>
<el-form-item
label=
"级部:"
style=
"padding-right: 10px"
>
<el-input
readonly
v-model=
"dialogForm.
n
ame"
></el-input>
<el-input
readonly
v-model=
"dialogForm.
gradeN
ame"
></el-input>
</el-form-item>
<el-form-item
label=
"姓名:"
style=
"padding-right: 10px"
>
<el-input
readonly
v-model=
"dialogForm.
n
ame"
></el-input>
<el-input
readonly
v-model=
"dialogForm.
teacherN
ame"
></el-input>
</el-form-item>
<el-form-item
label=
"性别:"
style=
"padding-right: 10px"
>
<el-input
readonly
v-model=
"dialogForm.
name
"
></el-input>
<el-input
readonly
v-model=
"dialogForm.
sex
"
></el-input>
</el-form-item>
<el-form-item
label=
"年龄:"
style=
"padding-right: 10px"
>
<el-input
readonly
v-model=
"dialogForm.
nam
e"
></el-input>
<el-input
readonly
v-model=
"dialogForm.
ag
e"
></el-input>
</el-form-item>
<el-form-item
label=
"职称:"
style=
"padding-right: 10px"
>
<el-input
:readonly=
"check == true ? true:false"
v-model=
"dialogForm.name"
></el-input>
<el-input
:readonly=
"check == true ? true : false"
v-model=
"dialogForm.title"
></el-input>
</el-form-item>
<el-form-item
label=
"学历:"
style=
"padding-right: 10px"
>
<el-input
:readonly=
"check == true ? true:false"
v-model=
"dialogForm.name"
></el-input>
<el-input
:readonly=
"check == true ? true : false"
v-model=
"dialogForm.education"
></el-input>
</el-form-item>
<el-form-item
label=
"政治面貌:"
style=
"padding-right: 10px"
>
<el-input
:readonly=
"check == true ? true:false"
v-model=
"dialogForm.name"
></el-input>
<el-input
:readonly=
"check == true ? true : false"
v-model=
"dialogForm.appearance"
></el-input>
</el-form-item>
<el-form-item
label=
"任教学科:"
style=
"padding-right: 10px"
>
<el-input
:readonly=
"check == true ? true:false"
v-model=
"dialogForm.name"
></el-input>
<el-input
:readonly=
"check == true ? true : false"
v-model=
"dialogForm.courseName"
></el-input>
</el-form-item>
<el-form-item
label=
"任教班级:"
style=
"padding-right: 10px"
>
<el-input
:readonly=
"check == true ? true:false"
v-model=
"dialogForm.name"
></el-input>
<el-input
:readonly=
"check == true ? true : false"
v-model=
"dialogForm.className"
></el-input>
</el-form-item>
<el-form-item
label=
"任正班主任班级:"
style=
"padding-right: 10px"
>
<el-input
:readonly=
"check == true ? true:false"
v-model=
"dialogForm.name"
></el-input>
<el-input
:readonly=
"check == true ? true : false"
v-model=
"dialogForm.bzrClassName"
></el-input>
</el-form-item>
<el-form-item
label=
"任副班主任班级:"
style=
"padding-right: 10px"
>
<el-input
:readonly=
"check == true ? true:false"
v-model=
"dialogForm.name"
></el-input>
<el-input
:readonly=
"check == true ? true : false"
v-model=
"dialogForm.fbzrClassName"
></el-input>
</el-form-item>
<el-form-item
label=
"是否教学组长:"
style=
"padding-right: 10px"
>
<el-input
:readonly=
"check == true ? true:false"
v-model=
"dialogForm.name"
></el-input>
<el-input
:readonly=
"check == true ? true : false"
v-model=
"dialogForm.isTeachingGroupleader"
></el-input>
</el-form-item>
<el-form-item
label=
"是否教研组长:"
style=
"padding-right: 10px"
>
<el-input
:readonly=
"check == true ? true:false"
v-model=
"dialogForm.name"
></el-input>
<el-input
:readonly=
"check == true ? true : false"
v-model=
"dialogForm.isResearchGroupLeader"
></el-input>
</el-form-item>
<el-form-item
label=
"设计课时量:"
style=
"padding-right: 10px"
>
<el-input
:readonly=
"check == true ? true:false"
v-model=
"dialogForm.name"
></el-input>
<el-input
:readonly=
"check == true ? true : false"
v-model=
"dialogForm.classHour"
></el-input>
</el-form-item>
<el-form-item
label=
"班主任情况:"
style=
"padding-right: 10px"
>
<el-input
:readonly=
"check == true ? true:false"
v-model=
"dialogForm.name"
></el-input>
<el-input
:readonly=
"check == true ? true : false"
v-model=
"dialogForm.classTeacherDetails"
></el-input>
</el-form-item>
</el-form>
<span
style=
"display: flex;justify-content: center"
slot=
"footer"
class=
"dialog-footer"
>
<span
style=
"display: flex; justify-content: center"
slot=
"footer"
class=
"dialog-footer"
>
<div
v-if=
"check == false"
>
<el-button
size=
"small"
type=
"primary"
@
click=
"confirmDialog"
>
保 存
</el-button>
<el-button
size=
"small"
@
click=
"dialogVisible = false"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"confirmDialog"
>
保 存
</el-button
>
<el-button
size=
"small"
@
click=
"dialogVisible = false"
>
取 消
</el-button
>
</div>
<el-button
v-else
type=
"primary"
size=
"small"
@
click=
"dialogVisible = false"
>
关 闭
</el-button>
</span>
<el-button
v-else
type=
"primary"
size=
"small"
@
click=
"dialogVisible = false"
>
关 闭
</el-button
>
</span>
</div>
<div
class=
"rightContent"
>
<div
style=
"margin-bottom: 10px"
>
<span
class=
"line"
></span>
<span
class=
"title"
>
教育科研
</span>
<el-button
type=
"success"
size=
"mini"
style=
"float: right;margin-right: 50px;margin-top: 10px;"
>
提 取
<el-button
type=
"success"
size=
"mini"
style=
"float: right; margin-right: 50px; margin-top: 10px"
>
提 取
</el-button>
</div>
<div
class=
"tableList"
>
...
...
@@ -135,38 +240,18 @@
<i
class=
"el-icon-collection"
></i>
<span
style=
"margin-left: 5px"
>
发表成就奖论文情况
</span>
</div>
<el-table
:data=
"tableFirstData"
border
>
<el-table-column
align=
"center"
fixed
type=
"index"
label=
"序号"
>
<el-table
:data=
"tableFirstData"
border
>
<el-table-column
align=
"center"
fixed
type=
"index"
label=
"序号"
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"name"
label=
"论文名称"
>
<el-table-column
align=
"center"
prop=
"name"
label=
"论文名称"
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"province"
label=
"级别"
>
<el-table-column
align=
"center"
prop=
"province"
label=
"级别"
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"city"
label=
"等级"
>
<el-table-column
align=
"center"
prop=
"city"
label=
"等级"
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"address"
label=
"发表时间"
>
<el-table-column
align=
"center"
prop=
"address"
label=
"发表时间"
>
</el-table-column>
<el-table-column
align=
"center"
label=
"附件"
>
<el-table-column
align=
"center"
label=
"附件"
>
<
template
slot-scope=
"scope"
>
<el-link
type=
"success"
href=
""
></el-link>
</
template
>
...
...
@@ -176,69 +261,39 @@
<div
class=
"tableSecond"
>
<div
class=
"tableTitle"
>
<i
class=
"el-icon-edit-outline"
></i>
<span
style=
"margin-left: 5px"
>
课题、结题、专著、校本教材编写情况
</span>
<span
style=
"margin-left: 5px"
>
课题、结题、专著、校本教材编写情况
</span
>
</div>
<el-table
:data=
"tableSecondData"
border
>
<el-table-column
align=
"center"
fixed
type=
"index"
label=
"序号"
>
<el-table
:data=
"tableSecondData"
border
>
<el-table-column
align=
"center"
fixed
type=
"index"
label=
"序号"
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"name"
label=
"名称"
>
<el-table-column
align=
"center"
prop=
"name"
label=
"名称"
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"address"
label=
"发表时间"
>
<el-table-column
align=
"center"
prop=
"address"
label=
"发表时间"
>
</el-table-column>
<el-table-column
align=
"center"
label=
"附件"
>
<el-table-column
align=
"center"
label=
"附件"
>
<
template
slot-scope=
"scope"
>
<el-link
type=
"success"
href=
""
></el-link>
</
template
>
</el-table-column>
</el-table>
</div>
<div
class=
"tableThird"
>
<div
class=
"tableTitle"
>
<i
class=
"el-icon-data-analysis"
></i>
<span
style=
"margin-left: 5px"
>
发表成就奖论文情况
</span>
</div>
<el-table
:data=
"tableThirdData"
border
>
<el-table-column
align=
"center"
fixed
type=
"index"
label=
"序号"
>
<el-table
:data=
"tableThirdData"
border
>
<el-table-column
align=
"center"
fixed
type=
"index"
label=
"序号"
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"name"
label=
"培训时间"
>
<el-table-column
align=
"center"
prop=
"name"
label=
"培训时间"
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"address"
label=
"培训名称"
>
<el-table-column
align=
"center"
prop=
"address"
label=
"培训名称"
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"address"
label=
"是否合格"
>
<el-table-column
align=
"center"
prop=
"address"
label=
"是否合格"
>
</el-table-column>
<el-table-column
align=
"center"
label=
"附件"
>
<el-table-column
align=
"center"
label=
"附件"
>
<
template
slot-scope=
"scope"
>
<el-link
type=
"success"
href=
""
></el-link>
</
template
>
...
...
@@ -249,57 +304,40 @@
<div
class=
"tableTitle"
>
<i
class=
"el-icon-trophy"
></i>
<span
style=
"margin-left: 5px"
>
发表成就奖论文情况
</span>
</div>
<el-table
:data=
"tableForthData"
border
>
<el-table-column
align=
"center"
fixed
type=
"index"
label=
"序号"
>
<el-table
:data=
"tableForthData"
border
>
<el-table-column
align=
"center"
fixed
type=
"index"
label=
"序号"
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"name"
label=
"获奖名称"
>
<el-table-column
align=
"center"
prop=
"name"
label=
"获奖名称"
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"address"
label=
"获奖时间"
>
<el-table-column
align=
"center"
prop=
"address"
label=
"获奖时间"
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"address"
label=
"获奖等级"
>
<el-table-column
align=
"center"
prop=
"address"
label=
"获奖等级"
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"address"
label=
"发证机关"
>
<el-table-column
align=
"center"
prop=
"address"
label=
"发证机关"
>
</el-table-column>
<el-table-column
align=
"center"
label=
"附件"
>
<el-table-column
align=
"center"
label=
"附件"
>
<
template
slot-scope=
"scope"
>
<
el-link
type=
"success"
href=
""
></el-link
>
<
!--
<el-link
type=
"success"
href=
""
></el-link>
--
>
</
template
>
</el-table-column>
</el-table>
</div>
</div>
</div>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
getteacherNotice
,
// 通知下档案查看|数据维护
getNoticeInfo
,
//查看档案详情//查看档案详情
getDepInfo
,
//级部查询列表
syncNotice
,
// 同步档案
}
from
"@/api/smartSchool/teacherFiles/teacherElectronicFile"
;
export
default
{
name
:
"dataReceiver"
,
data
()
{
...
...
@@ -309,116 +347,141 @@ export default {
// 总条数
total
:
0
,
queryForm
:
{
level
:
''
,
name
:
''
,
region
:
''
pageNum
:
1
,
pageSize
:
10
,
courseName
:
""
,
gradeName
:
""
,
teacherName
:
""
,
},
tableData
:
[{
schoolYear
:
'2022学年上学期'
,
level
:
'2022级部'
,
name
:
'张三'
,
IDNum
:
'121212121212121212'
,
schedule
:
'未填写'
}],
tableData
:
[],
dialogVisible
:
false
,
form
:
{},
status
:
this
.
$route
.
query
.
status
,
dialogTableData
:
[{
level
:
'2022'
,
name
:
'李四'
,
ID
:
'12121212121212'
}],
status
:
this
.
$route
.
query
.
noticeState
,
check
:
false
,
//弹窗表单
dialogForm
:
{},
dialogForm
:
{
filesSemester
:
""
,
gradeName
:
""
,
teacherName
:
""
,
sex
:
""
,
age
:
""
,
title
:
""
,
education
:
""
,
appearance
:
""
,
courseName
:
""
,
className
:
""
,
bzrClassName
:
""
,
isTeachingGroupleader
:
""
,
isResearchGroupLeader
:
""
,
classHour
:
""
,
classTeacherDetails
:
""
,
},
//弹窗标题
title
:
''
,
//
弹窗表格1
title
:
""
,
//
发表成就奖论文情况
tableFirstData
:
[],
//
弹窗表格2
//
课题、结题、专著、校本教材编写情况
tableSecondData
:
[],
//弹窗表格3
tableThirdData
:
[],
//弹窗表格4
tableForthData
:
[]
}
tableForthData
:
[],
};
},
mounted
()
{
console
.
log
(
'id'
,
this
.
$route
.
query
.
id
)
console
.
log
(
'status'
,
this
.
status
)
console
.
log
(
"id"
,
this
.
$route
.
query
.
noticeId
);
console
.
log
(
"status"
,
this
.
$route
.
query
.
noticeState
);
this
.
getList
();
},
methods
:
{
/** 查询信息列表 */
getList
()
{
this
.
loading
=
true
;
//接口
// listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
// this.userList = response.rows;
// this.total = response.total;
// this.loading = false;
// }
// this.loading = true;
const
params
=
{
noticeId
:
this
.
$route
.
query
.
noticeId
,
pageNum
:
this
.
$route
.
query
.
pageNum
,
pageSize
:
this
.
$route
.
query
.
pageSize
,
};
getteacherNotice
(
params
).
then
((
res
)
=>
{
this
.
tableData
=
res
.
rows
;
this
.
total
=
res
.
total
;
console
.
log
(
this
.
total
,
"total"
);
console
.
log
(
res
,
"getList"
);
});
},
// 搜索按钮
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
()
this
.
getList
()
;
},
// 重置按钮
resetQuery
()
{
this
.
queryForm
=
{
pageNum
:
1
,
pageSize
:
10
,
level
:
''
,
name
:
''
,
region
:
''
}
this
.
handleQuery
()
level
:
""
,
name
:
""
,
region
:
""
,
}
;
this
.
handleQuery
()
;
},
//查看按钮
handleCheck
(
row
)
{
this
.
check
=
true
this
.
title
=
'基本信息查看'
this
.
dialogVisible
=
true
const
params
=
{
pageNum
:
this
.
queryForm
.
pageNum
,
pageSize
:
this
.
queryForm
.
pageSize
,
teacherId
:
row
.
teacherId
,
// noticeId: row.noticeId,
};
getNoticeInfo
(
params
).
then
((
res
)
=>
{
// this.dialogForm = res.rows;
this
.
dialogForm
=
res
.
rows
[
0
];
console
.
log
(
this
.
dialogForm
,
"弹窗数据"
);
// console.log(res, "res");
this
.
check
=
true
;
this
.
title
=
"基本信息查看"
;
this
.
dialogVisible
=
true
;
});
},
//修改按钮
handleEdit
(
row
)
{
this
.
check
=
false
this
.
title
=
'基本信息修改'
this
.
dialogVisible
=
true
this
.
check
=
false
;
this
.
title
=
"基本信息修改"
;
this
.
dialogVisible
=
true
;
},
//弹窗确定按钮
confirmDialog
()
{
this
.
dialogVisible
=
false
this
.
dialogVisible
=
false
;
},
//多选按钮
handleSelectionChange
(
select
)
{
console
.
log
(
'select'
,
select
)
console
.
log
(
"select"
,
select
);
},
// 删除按钮
handleDelete
(
row
)
{
//判断,如果进度是未填写可以直接删除不需要提醒
//如果是其他状态需要提示相应的状态
this
.
$confirm
(
'此操作将永久删除该文件, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'删除成功!'
});
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消删除'
this
.
$confirm
(
"此操作将永久删除该文件, 是否继续?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
,
})
.
then
(()
=>
{
this
.
$message
({
type
:
"success"
,
message
:
"删除成功!"
,
});
})
.
catch
(()
=>
{
this
.
$message
({
type
:
"info"
,
message
:
"已取消删除"
,
});
});
});
}
}
}
},
},
};
</
script
>
<
style
scoped
>
...
...
@@ -453,7 +516,5 @@ export default {
padding-left
:
10px
;
font-size
:
16px
;
vertical-align
:
middle
;
}
</
style
>
ruoyi-ui/src/views/smartSchool/teachAffairAdministration/electronicRecord/index.vue
View file @
a9f5d1ff
<
template
>
<div
style=
"margin-top: 20px;margin-left: 20px"
>
<el-form
ref=
"queryForm"
:inline=
"true"
:model=
"queryForm"
class=
"demo-form-inline"
>
<div
style=
"margin-top: 20px; margin-left: 20px"
>
<el-form
ref=
"queryForm"
:inline=
"true"
:model=
"queryForm"
class=
"demo-form-inline"
>
<el-form-item
label=
"任务名称:"
>
<el-input
v-model=
"queryForm.user"
placeholder=
"请输入任务名称"
></el-input>
<el-input
v-model=
"queryForm.noticeName"
placeholder=
"请输入任务名称"
></el-input>
</el-form-item>
<el-form-item
label=
"任务状态:"
>
<el-select
v-model=
"queryForm.region"
placeholder=
"请选择任务状态"
>
<el-option
label=
"区域一"
value=
"shanghai"
></el-option>
<el-option
label=
"区域二"
value=
"beijing"
></el-option>
<el-select
v-model=
"queryForm.noticeState"
placeholder=
"请选择任务状态"
>
<el-option
label=
"未发布"
value=
"1"
></el-option>
<el-option
label=
"已发布"
value=
"2"
></el-option>
<el-option
label=
"已结束"
value=
"3"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
icon=
"el-icon-search"
size=
"mini"
type=
"primary"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
<el-button
icon=
"el-icon-plus"
size=
"mini"
type=
"success"
@
click=
"handleAdd"
>
新增
</el-button>
<el-button
icon=
"el-icon-search"
size=
"mini"
type=
"primary"
@
click=
"handleQuery"
>
搜索
</el-button
>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button
>
<el-button
icon=
"el-icon-plus"
size=
"mini"
type=
"success"
@
click=
"handleAdd"
>
新增
</el-button
>
<!--
<el-button
size=
"small"
type=
"warning"
>
修改
</el-button>
-->
<!--
<el-button
size=
"small"
type=
"primary"
>
查看
</el-button>
-->
<el-button
icon=
"el-icon-delete"
size=
"mini"
type=
"danger"
@
click=
"handleDeleteMuti"
>
删除
</el-button>
<el-button
icon=
"el-icon-delete"
size=
"mini"
type=
"danger"
@
click=
"handleDeleteMuti"
>
删除
</el-button
>
</el-form-item>
</el-form>
<div>
</div>
<el-table
style=
"margin-top: 20px;"
border
:data=
"tableData"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
type=
"index"
label=
"序号"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"范围"
align=
"center"
prop=
"range"
min-width=
"100"
/>
<el-table-column
label=
"任务名称"
align=
"center"
prop=
"name"
min-width=
"220"
/>
<el-table-column
label=
"开始时间"
align=
"center"
min-width=
"100"
prop=
"statrtTime"
/>
<el-table-column
label=
"结束时间"
align=
"center"
min-width=
"100"
prop=
"endTime"
/>
<el-table-column
label=
"教师人数"
align=
"center"
min-width=
"100"
prop=
"teacherNum"
/>
<el-table-column
label=
"填写人数"
align=
"center"
min-width=
"100"
prop=
"fillNum"
/>
<el-table-column
label=
"级部确认"
align=
"center"
min-width=
"100"
prop=
"levelConfirm"
/>
<el-table-column
label=
"状态"
align=
"center"
min-width=
"100"
prop=
"status"
/>
<el-table-column
fixed=
"right"
label=
"操作"
align=
"center"
min-width=
"280"
>
<div></div>
<el-table
style=
"margin-top: 20px"
border
:data=
"tableData"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
type=
"index"
label=
"序号"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"范围"
align=
"center"
prop=
"noticeRange"
min-width=
"100"
/>
<el-table-column
label=
"任务名称"
align=
"center"
prop=
"noticeName"
min-width=
"220"
/>
<el-table-column
label=
"开始时间"
align=
"center"
min-width=
"100"
prop=
"startTime"
/>
<el-table-column
label=
"结束时间"
align=
"center"
min-width=
"100"
prop=
"endTime"
/>
<el-table-column
label=
"教师人数"
align=
"center"
min-width=
"100"
prop=
"total"
/>
<el-table-column
label=
"填写人数"
align=
"center"
min-width=
"100"
prop=
"txtotal"
/>
<el-table-column
label=
"级部确认"
align=
"center"
min-width=
"100"
prop=
"tgtotal"
/>
<el-table-column
label=
"状态"
align=
"center"
min-width=
"100"
prop=
"noticeState"
>
<template
slot-scope=
"
{ row }">
{{
row
.
noticeState
==
1
?
"未发布"
:
2
?
"已发布"
:
3
?
"已结束"
:
""
}}
</
template
>
</el-table-column>
<el-table-column
fixed=
"right"
label=
"操作"
align=
"center"
min-width=
"280"
>
<
template
slot-scope=
"scope"
>
<div>
<el-button
v-if=
"scope.row.noticeState == '1'"
type=
"text"
size=
"mini"
@
click=
"handleEdit(scope.row)"
>
修改
@
click=
"handleEdit(scope.row)"
>
修改
</el-button>
<el-button
v-if=
"scope.row.noticeState == '1'"
size=
"mini"
type=
"text"
@
click=
"handleDelete(scope.row)"
>
删除
@
click=
"handleDelete(scope.row)"
>
删除
</el-button>
<el-button
v-if=
"scope.row.noticeState == '1'"
size=
"mini"
type=
"text"
@
click=
"handlePublish(scope.row)"
>
发布
@
click=
"handlePublish(scope.row)"
>
发布
</el-button>
</div>
<div>
<el-button
v-if=
"scope.row.noticeState == '2'"
size=
"mini"
type=
"text"
@
click=
"dataReceiver(scope.row)"
>
数据接收人员
@
click=
"dataReceiver(scope.row)"
>
数据接收人员
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"dataMaintenance(scope.row)"
>
数据维护
@
click=
"dataMaintenance(scope.row)"
>
数据维护
<!-- v-if="scope.row.noticeState == '2'" -->
</el-button>
<el-button
v-if=
"scope.row.noticeState == '2'"
size=
"mini"
type=
"text"
@
click=
"handleExport(scope.row)"
>
导出
@
click=
"handleExport(scope.row)"
>
导出
</el-button>
<el-button
v-if=
"scope.row.noticeState == '2'"
size=
"mini"
type=
"text"
@
click=
"handleRevocation(scope.row)"
>
撤回
@
click=
"handleRevocation(scope.row)"
>
撤回
</el-button>
<el-button
v-if=
"scope.row.noticeState == '2'"
size=
"mini"
type=
"text"
@
click=
"handleFinish(scope.row)"
>
结束
@
click=
"handleFinish(scope.row)"
>
结束
</el-button>
</div>
<div>
<el-button
v-if=
"scope.row.noticeState == '3'"
size=
"mini"
type=
"text"
@
click=
"dataReceiver(scope.row)"
>
数据接收人员
@
click=
"dataReceiver(scope.row)"
>
数据接收人员
</el-button>
<el-button
v-if=
"scope.row.noticeState == '3'"
size=
"mini"
type=
"text"
@
click=
"dataMaintenance(scope.row)"
>
数据维护
@
click=
"dataMaintenance(scope.row)"
>
数据查看
</el-button>
<el-button
v-if=
"scope.row.noticeState == '3'"
size=
"mini"
type=
"text"
@
click=
"handleExport(scope.row)"
>
导出
@
click=
"handleExport(scope.row)"
>
导出
</el-button>
</div>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total
>
0"
v-show=
"total
>
0"
:total=
"total"
:page
.
sync=
"queryForm.pageNum"
:limit
.
sync=
"queryForm.pageSize"
...
...
@@ -109,40 +213,77 @@
/>
<!--弹窗-->
<el-dialog
:title=
title
:title=
"title"
:visible
.
sync=
"dialogVisible"
width=
"30%"
>
width=
"650px
"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"120px"
>
<el-form-item
label=
"任务名称:"
>
<el-input
style=
"width: 220px;"
v-model=
"form.name"
></el-input>
<el-form-item
label=
"任务名称"
>
<el-date-picker
v-model=
"form.noticeYear"
type=
"year"
value-format=
"yyyy"
placeholder=
"选择年"
>
</el-date-picker>
<el-select
v-model=
"form.noticeSemester"
placeholder=
"请选择学期"
>
<el-option
label=
"上学期"
value=
"上学期"
></el-option>
<el-option
label=
"下学期"
value=
"下学期"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"范围:"
>
<el-input
style=
"width: 220px;"
readonly
v-model=
"form.range"
></el-input>
<el-input
style=
"width: 440px"
v-model=
"form.noticeRange"
readonly
></el-input>
</el-form-item>
<el-form-item
label=
"开始时间:"
>
<el-date-picker
style=
"width: 440px"
v-model=
"form.startTime"
type=
"date"
placeholder=
"选择日期"
>
value-format=
"yyyy-MM-dd"
placeholder=
"选择日期"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"结束时间:"
>
<el-date-picker
style=
"width: 440px"
v-model=
"form.endTime"
type=
"date"
placeholder=
"选择日期"
>
placeholder=
"选择日期"
value-format=
"yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
</el-form>
<span
style=
"display: flex;justify-content: center"
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogVisible = false"
>
取 消
</el-button>
<span
style=
"display: flex; justify-content: center"
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"confirmDialog"
>
确 定
</el-button>
</span>
<el-button
@
click=
"dialogVisible = false"
>
取 消
</el-button>
</span>
</el-dialog>
</div>
</template>
<
script
>
import
{
listTeacherNotice
,
// 通知列表
addTeacherNotice
,
// 添加通知
infoTeacherNotice
,
// 信息发布
getteacherNotice
,
// 通知下档案查看|数据维护
getNoticeInfo
,
//查看档案详情//查看档案详情
syncNotice
,
// 同步档案
getDepInfo
,
//级部查询列表
}
from
"@/api/smartSchool/teacherFiles/teacherElectronicFile"
;
import
{
format
}
from
"@/utils/activiti/myUtil.js"
;
export
default
{
name
:
"teacherElectronicRecord"
,
data
()
{
...
...
@@ -154,20 +295,12 @@ export default {
queryForm
:
{
pageNum
:
1
,
pageSize
:
10
,
user
:
''
,
region
:
''
startTime
:
""
,
endTime
:
""
,
noticeYear
:
""
,
noticeSemester
:
""
,
},
tableData
:
[{
id
:
1
,
range
:
'全体教师'
,
name
:
'2022学年上学期教师档案填写'
,
statrtTime
:
'2023/08/30'
,
endTime
:
'2023/08/30'
,
teacherNum
:
'124'
,
fillNum
:
'50'
,
levelConfirm
:
'40'
,
status
:
'未发布'
,
}],
tableData
:
[],
// 选中数组
ids
:
[],
// 非单个禁用
...
...
@@ -177,124 +310,149 @@ export default {
// 弹窗
dialogVisible
:
false
,
// 弹窗标题
title
:
''
,
form
:
{},
}
title
:
""
,
form
:
{
noticeSemester
:
""
,
noticeRange
:
"全体教师"
,
startTime
:
""
,
endTime
:
""
,
},
};
},
created
()
{
this
.
getList
()
this
.
getList
()
;
},
methods
:
{
/** 查询信息列表 */
getList
()
{
this
.
loading
=
true
;
//接口
// listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
// this.userList = response.rows;
// this.total = response.total;
// this.loading = false;
// }
listTeacherNotice
(
this
.
queryForm
).
then
((
res
)
=>
{
console
.
log
(
"res"
,
res
);
this
.
tableData
=
res
.
rows
;
// this.tableData.forEach((row) => {
// row.startTime = format(row.startTime, "yyyy-MM-dd HH:mm:ss");
// row.endTime = format(row.endTime, "yyyy-MM-dd HH:mm:ss");
// });
this
.
total
=
res
.
total
;
});
},
//搜索按钮
handleQuery
()
{
this
.
query
Params
.
pageNum
=
1
;
this
.
getList
()
this
.
query
Form
.
pageNum
=
1
;
this
.
getList
()
;
},
// 表单重置
reset
()
{
this
.
form
=
{
name
:
''
,
range
:
'全体教师'
,
startTime
:
''
,
endTime
:
''
this
.
queryForm
=
{
noticeYear
:
""
,
noticeSemester
:
""
,
noticeRange
:
""
,
noticeState
:
""
,
noticeName
:
""
,
startTime
:
""
,
endTime
:
""
,
};
this
.
resetForm
(
"
f
orm"
);
this
.
resetForm
(
"
queryF
orm"
);
},
//重置按钮
resetQuery
()
{
this
.
queryForm
.
user
=
''
,
this
.
queryForm
.
region
=
''
,
this
.
handleQuery
();
this
.
reset
();
this
.
handleQuery
();
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
console
.
log
(
'selection'
,
selection
)
this
.
ids
=
selection
.
map
(
item
=>
item
.
id
)
console
.
log
(
'this.ids'
,
this
.
ids
)
this
.
single
=
selection
.
length
!==
1
this
.
multiple
=
!
selection
.
length
console
.
log
(
"selection"
,
selection
);
this
.
ids
=
selection
.
map
(
(
item
)
=>
item
.
id
);
console
.
log
(
"this.ids"
,
this
.
ids
);
this
.
single
=
selection
.
length
!==
1
;
this
.
multiple
=
!
selection
.
length
;
},
//新增按钮
handleAdd
()
{
this
.
reset
()
this
.
form
.
name
=
'2023'
this
.
title
=
'新增任务'
this
.
dialogVisible
=
true
this
.
reset
();
this
.
form
.
name
=
"2023"
;
this
.
title
=
"新增任务"
;
this
.
dialogVisible
=
true
;
},
//弹窗确定按钮
confirmDialog
()
{
this
.
dialogVisible
=
false
addTeacherNotice
(
this
.
form
).
then
((
res
)
=>
{
console
.
log
(
res
,
"弹窗确定"
);
this
.
dialogVisible
=
false
;
this
.
getList
();
});
},
//多选删除按钮
handleDeleteMuti
()
{
console
.
log
(
'delete ids'
,
this
.
ids
)
console
.
log
(
"delete ids"
,
this
.
ids
);
// 接口
},
//修改按钮
handleEdit
(
row
)
{
this
.
title
=
'修改任务'
this
.
dialogVisible
=
true
this
.
title
=
"修改任务"
;
this
.
dialogVisible
=
true
;
},
// 删除按钮
handleDelete
(
row
)
{
},
handleDelete
(
row
)
{},
// 发布按钮
handlePublish
(
row
)
{
this
.
$modal
.
confirm
(
"是否确认发布此信息?"
)
.
then
(()
=>
{
return
infoTeacherNotice
(
row
.
id
);
})
.
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"发布成功"
);
})
.
catch
((
exception
)
=>
{
throw
new
Error
(
exception
);
});
},
// 数据接收人员按钮
dataReceiver
(
row
)
{
//传值状态,如果是已结束跳过去只能查看,已发布可以新增或者删除
console
.
log
(
'row'
,
row
)
console
.
log
(
"row"
,
row
);
this
.
$router
.
push
({
path
:
'/teachAffairAdministration/smartSchool/teachAffairAdministration/electronicRecord/dataReceiver'
,
path
:
"/teachAffairAdministration/smartSchool/teachAffairAdministration/electronicRecord/dataReceiver"
,
query
:
{
id
:
row
.
id
,
status
:
row
.
status
}
})
status
:
row
.
status
,
}
,
})
;
},
// 数据维护按钮
dataMaintenance
(
row
)
{
console
.
log
(
'数据维护按钮row'
,
row
)
console
.
log
(
"数据维护按钮row"
,
row
);
const
noticeId
=
row
.
id
;
const
pageNum
=
this
.
queryForm
.
pageNum
;
const
pageSize
=
this
.
queryForm
.
pageSize
;
// const status
//传值状态,如果是已结束跳过去只能查看,已发布可以新增或者删除
this
.
$router
.
push
({
path
:
'/teachAffairAdministration/smartSchool/teachAffairAdministration/electronicRecord/dataMaintenance'
,
path
:
"/teachAffairAdministration/smartSchool/teachAffairAdministration/electronicRecord/dataMaintenance"
,
query
:
{
id
:
row
.
id
,
status
:
row
.
status
}
})
noticeId
,
pageNum
,
pageSize
,
status
:
row
.
noticeState
,
},
});
console
.
log
(
noticeId
,
"数据维护按钮id"
);
console
.
log
(
pageNum
,
"数据维护按钮num"
);
console
.
log
(
pageSize
,
"数据维护按钮size"
);
},
// 导出按钮
handleExport
(
row
)
{
},
handleExport
(
row
)
{},
// 撤回按钮
handleRevocation
(
row
)
{
},
handleRevocation
(
row
)
{},
// 结束按钮
handleFinish
(
row
)
{
}
}
}
handleFinish
(
row
)
{},
},
};
</
script
>
<
style
scoped
>
</
style
>
<
style
scoped
></
style
>
ruoyi-ui/vue.config.js
View file @
a9f5d1ff
...
...
@@ -44,12 +44,12 @@ module.exports = {
//target: ` http://43.143.63.140:8848`,
//target: ` http://43.143.63.140:8095`,
//部署时后端地址
//
target: `http://47.105.176.202:5131
`,
//
target: `http://47.105.176.202:8137
`,
//学校内网
// target: `http://10.20.100.201:57321`,
//
target: `http://47.105.176.202:5112`,
// target: `http://192.168.1.11
4
:8848`,
target
:
`http://192.168.1.117:8849`
,
target
:
`http://47.105.176.202:5112`
,
// target: `http://192.168.1.11
3
:8848`,
changeOrigin
:
true
,
pathRewrite
:
{
[
"^"
+
process
.
env
.
VUE_APP_BASE_API
]:
" "
,
...
...
smart-campus/src/main/java/yangtz/cs/liu/campus/domain/schoolClass/SchoolClass.java
View file @
a9f5d1ff
...
...
@@ -100,4 +100,5 @@ public class SchoolClass extends OurBaseEntity {
"7=物理+地理+化学,8=物理+地理+生物,9=物理+化学+生物,10=物理+历史+地理,11=化学+政治+地理,12=化学+政治+历史"
+
"13=化学+政治+生物,14=化学+历史+地理,15=化学+历史+生物,16=化学+地理+生物,17=生物+政治+地理,18=生物+历史+地理,19=生物+政治+历史,20=政治+历史+地理"
,
width
=
25
)
private
String
chooseCourse
;
private
String
ddClassId
;
}
smart-campus/src/main/java/yangtz/cs/liu/campus/domain/schoolgrade/SchoolGrade.java
View file @
a9f5d1ff
...
...
@@ -36,4 +36,7 @@ public class SchoolGrade extends OurBaseEntity {
/** 级部名称 */
@Excel
(
name
=
"级部名称"
)
private
String
gradeName
;
private
String
ddClassId
;
}
smart-campus/src/main/java/yangtz/cs/liu/campus/domain/student/SchoolStudent.java
View file @
a9f5d1ff
...
...
@@ -147,6 +147,8 @@ public class SchoolStudent extends OurBaseEntity {
private
String
support
;
//独生子女(0否 1是)
private
String
onlyChild
;
//钉钉userId
private
String
ddUserId
;
/*
* 校园一卡通
...
...
smart-campus/src/main/java/yangtz/cs/liu/campus/mapper/schoolClass/SchoolClassMapper.java
View file @
a9f5d1ff
...
...
@@ -66,4 +66,6 @@ public interface SchoolClassMapper extends BaseMapper<SchoolClass> {
* 获取本级部下的班级
* */
List
<
Long
>
getClassesIdByGradeId
(
Long
gradeId
);
public
Long
selectDdClassId
(
String
ddClssId
);
}
smart-campus/src/main/java/yangtz/cs/liu/campus/mapper/schoolgrade/SchoolGradeMapper.java
View file @
a9f5d1ff
...
...
@@ -31,4 +31,8 @@ public interface SchoolGradeMapper extends BaseMapper<SchoolGrade> {
public
List
<
String
>
getYearList
();
List
<
SchoolGrade
>
selectNowSchoolGrade
();
public
Long
selectDdClassId
(
String
ddClssId
);
String
selectUpToYear
();
}
smart-campus/src/main/java/yangtz/cs/liu/campus/service/impl/schoolClass/SchoolClassImpl.java
View file @
a9f5d1ff
...
...
@@ -2433,4 +2433,8 @@ public class SchoolClassImpl extends ServiceImpl<SchoolClassMapper, SchoolClass>
}
@Override
public
Long
selectDdClassId
(
String
ddId
)
{
return
schoolClassMapper
.
selectDdClassId
(
ddId
);
}
}
smart-campus/src/main/java/yangtz/cs/liu/campus/service/impl/schoolgrade/ISchoolGradeImpl.java
View file @
a9f5d1ff
...
...
@@ -238,4 +238,14 @@ public class ISchoolGradeImpl extends ServiceImpl<SchoolGradeMapper, SchoolGrade
public
int
isNewSchoolYear
()
{
return
schoolGradeMapper
.
isNewSchoolYear
();
}
@Override
public
Long
selectDdClassId
(
String
ddId
)
{
return
schoolGradeMapper
.
selectDdClassId
(
ddId
);
}
@Override
public
String
selectUpToYear
()
{
return
schoolGradeMapper
.
selectUpToYear
();
}
}
smart-campus/src/main/java/yangtz/cs/liu/campus/service/schoolClass/ISchoolClassService.java
View file @
a9f5d1ff
...
...
@@ -91,4 +91,8 @@ public interface ISchoolClassService extends IService<SchoolClass> {
/**批量新增班级*/
int
batchAdd
(
ClassBatchVo
vo
);
Long
selectDdClassId
(
String
ddId
);
}
smart-campus/src/main/java/yangtz/cs/liu/campus/service/schoolgrade/ISchoolGradeService.java
View file @
a9f5d1ff
...
...
@@ -25,5 +25,7 @@ public interface ISchoolGradeService extends IService<SchoolGrade> {
//获取最新学年
int
isNewSchoolYear
();
Long
selectDdClassId
(
String
ddId
);
String
selectUpToYear
();
}
smart-campus/src/main/java/yangtz/cs/liu/campus/vo/student/SchoolStudentVO.java
View file @
a9f5d1ff
...
...
@@ -301,4 +301,5 @@ public class SchoolStudentVO {
//教务-学生管理-学籍表-所在年级
private
String
currentGrade
;
private
String
ddUserId
;
}
smart-campus/src/main/java/yangtz/cs/liu/dingding/controller/DingJiaXiaoController.java
View file @
a9f5d1ff
...
...
@@ -2,24 +2,22 @@ package yangtz.cs.liu.dingding.controller;
import
cn.hutool.http.HttpUtil
;
//import cn.hutool.json.JSONObject;
import
cn.hutool.json.JSONUtil
;
import
com.alibaba.fastjson2.JSONArray
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.ruoyi.common.core.domain.entity.SchoolTeacher
;
import
com.ruoyi.common.core.domain.entity.SysUser
;
import
com.ruoyi.common.utils.SecurityUtils
;
import
com.ruoyi.system.service.ISysUserService
;
import
org.apache.regexp.RE
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
yangtz.cs.liu.campus.controller.schoolClass.SchoolClassController
;
import
yangtz.cs.liu.campus.domain.schoolClass.SchoolClass
;
import
yangtz.cs.liu.campus.domain.schoolClass.SchoolClassHeadmaster
;
import
yangtz.cs.liu.campus.domain.schoolClass.SchoolClassMentor
;
import
yangtz.cs.liu.campus.domain.schoolgrade.SchoolGrade
;
import
yangtz.cs.liu.campus.domain.schoolgrade.SchoolGradeMentor
;
import
yangtz.cs.liu.campus.domain.student.SchoolStudent
;
import
yangtz.cs.liu.campus.domain.student.SchoolStudentClassRelation
;
import
yangtz.cs.liu.campus.domain.student.SchoolStudentClasses
;
...
...
@@ -34,13 +32,13 @@ import yangtz.cs.liu.campus.service.student.ISchoolStudentClassesService;
import
yangtz.cs.liu.campus.service.student.ISchoolStudentParentService
;
import
yangtz.cs.liu.campus.service.student.ISchoolStudentService
;
import
yangtz.cs.liu.campus.service.teacher.ISchoolTeacherService
;
import
yangtz.cs.liu.campus.vo.student.SchoolStudentVO
;
import
yangtz.cs.liu.campus.vo.teacher.SchoolTeacherVO
;
import
yangtz.cs.liu.dingding.utils.AccessTokenUtils
;
import
yangtz.cs.liu.dingding.vo.DingJiaXiaoVo
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
* 家校通讯录
...
...
@@ -59,34 +57,36 @@ public class DingJiaXiaoController {
//年级表
@Autowired
ISchoolGradeService
schoolGradeService
;
//职工与年级关系
//职工与年级关系 ----------------
@Autowired
ISchoolGradeMentorService
schoolGradeMentorService
;
//学校班级
@Autowired
ISchoolClassService
iSchoolClassService
;
//班主任和班级关系
//班主任和班级关系
------------------
@Autowired
ISchoolClassHeadmasterService
iSchoolClassHeadmasterService
;
//任课老师和班级关系
//任课老师和班级关系
----------------
@Autowired
ISchoolClassMentorService
schoolClassMentorService
;
//学生表
//学生表
---------------------
@Autowired
ISchoolStudentService
schoolStudentService
;
//学生与班级关系
//学生与班级关系
--------------------
@Autowired
ISchoolStudentClassRelationService
iSchoolStudentClassRelationService
;
//学生历史班级表
//学生历史班级表
-----------------
@Autowired
ISchoolStudentClassesService
schoolStudentClassesService
;
//家长信息表
//家长信息表
---------------------
@Autowired
ISchoolStudentParentService
iSchoolStudentParentService
;
//老师表
@Autowired
ISchoolTeacherService
schoolTeacherService
;
//用户表
//用户表
----------------
@Autowired
ISysUserService
sysUserService
;
...
...
@@ -98,12 +98,15 @@ public class DingJiaXiaoController {
}
};
@GetMapping
(
"/getList"
)
private
List
<
DingJiaXiaoVo
>
getList
(){
//更新年级与班级
@GetMapping
(
"/updateLabClassYear"
)
private
String
updateLabClassYear
(){
String
token
=
accessTokenUtils
.
getToken
();
//年级
List
<
DingJiaXiaoVo
>
njInfoList
=
new
ArrayList
<>();
List
<
SchoolGrade
>
schoolGradeCopies
=
new
ArrayList
<>();
// 0 获取校园信息
String
token
=
accessTokenUtils
.
getToken
();
JSONObject
jsonObjectParme
=
new
JSONObject
();
jsonObjectParme
.
put
(
"page_no"
,
1
);
jsonObjectParme
.
put
(
"page_size"
,
30
);
...
...
@@ -112,7 +115,7 @@ public class DingJiaXiaoController {
if
((
Integer
)
jsonObject
.
get
(
"errcode"
)
!=
0
){
throw
new
RuntimeException
(
"获取校园列表失败"
);
}
Integer
deptId
=
null
;
Integer
deptId
=
null
;
JSONObject
result
=
(
JSONObject
)
jsonObject
.
get
(
"result"
);
JSONArray
detailsArray
=
JSONArray
.
of
(
result
.
get
(
"details"
));
for
(
int
i
=
0
;
i
<
detailsArray
.
size
();
i
++){
...
...
@@ -125,7 +128,6 @@ public class DingJiaXiaoController {
xyParme
.
put
(
"page_size"
,
30
);
xyParme
.
put
(
"super_id"
,
deptId
);
String
xyPost
=
HttpUtil
.
post
(
listUrl
+
token
,
xyParme
);
JSONObject
xyObject
=
JSONObject
.
parseObject
(
xyPost
);
if
((
Integer
)
xyObject
.
get
(
"errcode"
)
!=
0
){
throw
new
RuntimeException
(
"获取年纪列表失败"
);
...
...
@@ -133,10 +135,10 @@ public class DingJiaXiaoController {
JSONObject
xyResult
=
(
JSONObject
)
xyObject
.
get
(
"result"
);
JSONArray
xyDetailsArray
=
JSONArray
.
of
(
xyResult
.
get
(
"details"
));
for
(
int
i
=
0
;
i
<
xyDetailsArray
.
size
();
i
++){
JSONObject
da
=
xyDetailsArray
.
getJSONArray
(
i
).
getJSONObject
(
i
);
JSONObject
da
=
xyDetailsArray
.
getJSONArray
(
i
).
getJSONObject
(
i
);
deptId
=
(
Integer
)
da
.
get
(
"dept_id"
);
}
//2.获取校园年级
//2.获取校园年级
JSONObject
njParme
=
new
JSONObject
();
njParme
.
put
(
"page_no"
,
1
);
njParme
.
put
(
"page_size"
,
30
);
...
...
@@ -148,81 +150,283 @@ public class DingJiaXiaoController {
}
JSONObject
njResult
=
(
JSONObject
)
njObject
.
get
(
"result"
);
JSONArray
njDetailsArray
=
JSONArray
.
of
(
njResult
.
get
(
"details"
));
for
(
int
i
=
0
;
i
<
njDetailsArray
.
size
();
i
++){
for
(
int
q
=
0
;
q
<
njDetailsArray
.
getJSONArray
(
i
).
size
();
q
++){
for
(
int
i
=
0
;
i
<
njDetailsArray
.
size
();
i
++)
{
for
(
int
q
=
0
;
q
<
njDetailsArray
.
getJSONArray
(
i
).
size
();
q
++)
{
JSONObject
da
=
njDetailsArray
.
getJSONArray
(
i
).
getJSONObject
(
q
);
String
grName
=
(
String
)
da
.
get
(
"name"
);
//截取级部 2022级
String
gradeJi
=
grName
.
substring
(
grName
.
length
()
-
5
);
String
grade
=
gradeJi
.
substring
(
0
,
gradeJi
.
length
()-
1
);
//获取年级 一年级
String
gradeName
=
grName
.
substring
(
0
,
grName
.
length
()
-
5
);
//级部id
Integer
suId
=
(
Integer
)
da
.
get
(
"dept_id"
);
SchoolGrade
schoolGrade
=
new
SchoolGrade
();
schoolGrade
.
setGradeValue
(
Integer
.
valueOf
(
this
.
gradeSubt
(
gradeName
)));
schoolGrade
.
setGradeYear
(
grade
);
schoolGrade
.
setGradeName
(
gradeJi
+
"部"
);
schoolGrade
.
setRemark
(
gradeName
);
schoolGrade
.
setDdClassId
(
String
.
valueOf
(
suId
));
schoolGrade
.
setCreateTime
(
new
Date
());
schoolGrade
.
setCreateBy
(
"admin"
);
schoolGrade
.
setDelFlag
(
"0"
);
schoolGrade
.
setUpdateBy
(
"admin"
);
schoolGrade
.
setUpdateTime
(
new
Date
());
schoolGradeCopies
.
add
(
schoolGrade
);
}
}
JSONObject
da
=
njDetailsArray
.
getJSONArray
(
i
).
getJSONObject
(
q
);
Integer
supId
=
(
Integer
)
da
.
get
(
"dept_id"
);
DingJiaXiaoVo
dingJiaXiaoVo
=
new
DingJiaXiaoVo
();
dingJiaXiaoVo
.
setGradeId
((
Integer
)
da
.
get
(
"dept_id"
));
dingJiaXiaoVo
.
setGradeName
((
String
)
da
.
get
(
"name"
));
//3.查询年纪下的班级
JSONObject
bjParme
=
new
JSONObject
();
bjParme
.
put
(
"page_no"
,
1
);
bjParme
.
put
(
"page_size"
,
30
);
bjParme
.
put
(
"super_id"
,
supId
);
String
bjPost
=
HttpUtil
.
post
(
listUrl
+
token
,
bjParme
);
JSONObject
bjObject
=
JSONObject
.
parseObject
(
bjPost
);
if
((
Integer
)
bjObject
.
get
(
"errcode"
)
!=
0
){
throw
new
RuntimeException
(
"获取班级列表失败"
);
//对年级进行排序 找出最新年级 设则最新学年状态 并且找出班级 进行保存
List
<
SchoolGrade
>
collect
=
schoolGradeCopies
.
stream
().
sorted
(
Comparator
.
comparing
(
SchoolGrade:
:
getGradeYear
,
Comparator
.
reverseOrder
())).
collect
(
Collectors
.
toList
());
//最新学年
String
schoolYear
=
collect
.
get
(
0
).
getGradeYear
();
for
(
int
i
=
0
;
i
<
collect
.
size
();
i
++)
{
collect
.
get
(
i
).
setSchoolYear
(
schoolYear
);
if
(
i
>=
3
){
//当前第四个以上不是新学年 更新数据库新学年状态
List
<
SchoolGrade
>
schoolGradeCopies1
=
schoolGradeService
.
queryList
(
collect
.
get
(
i
));
if
(
schoolGradeCopies1
.
isEmpty
()){
collect
.
get
(
i
).
setSfzxxn
(
"1"
);
schoolGradeService
.
save
(
collect
.
get
(
i
));
}
else
{
for
(
SchoolGrade
date
:
schoolGradeCopies1
){
date
.
setSfzxxn
(
"1"
);
schoolGradeService
.
updateById
(
date
);
}
}
continue
;
}
//追加学年
List
<
SchoolGrade
>
schoolGradeCopies1
=
schoolGradeService
.
queryList
(
collect
.
get
(
i
));
if
(
schoolGradeCopies1
.
isEmpty
()){
//追加
collect
.
get
(
i
).
setSfzxxn
(
"0"
);
schoolGradeService
.
save
(
collect
.
get
(
i
));
}
}
//追加班级
for
(
SchoolGrade
date:
collect
){
if
(
date
.
getId
()==
null
){
Long
l
=
schoolGradeService
.
selectDdClassId
(
date
.
getDdClassId
());
date
.
setId
(
l
);
}
//查找班级
//保存班级
JSONArray
ddHttp
=
this
.
getDdHttp
(
date
.
getDdClassId
(),
token
);
JSONArray
jsonArrays
=
ddHttp
.
getJSONArray
(
0
);
for
(
int
i
=
0
;
i
<
jsonArrays
.
size
()
;
i
++){
//查询当前班级是否存在
String
classDdId
=
jsonArrays
.
getJSONObject
(
i
).
get
(
"dept_id"
).
toString
();
Long
classId
=
iSchoolClassService
.
selectDdClassId
(
classDdId
);
if
(
null
!=
classId
){
SchoolClass
schoolClass
=
new
SchoolClass
();
schoolClass
.
setSchoolYear
(
Integer
.
valueOf
(
date
.
getSchoolYear
()));
schoolClass
.
setClassType
(
"4"
);
schoolClass
.
setGradeValue
(
date
.
getGradeValue
());
schoolClass
.
setGradeName
(
date
.
getGradeName
());
schoolClass
.
setClassValue
(
Integer
.
valueOf
(
jsonArrays
.
getJSONObject
(
i
).
getJSONObject
(
"feature"
).
get
(
"class_level"
).
toString
()));
String
className
=
jsonArrays
.
getJSONObject
(
i
).
get
(
"name"
).
toString
();
schoolClass
.
setClassName
(
className
.
substring
(
className
.
length
()-
2
));
schoolClass
.
setClassAlias
(
jsonArrays
.
getJSONObject
(
i
).
get
(
"name"
).
toString
());
schoolClass
.
setUpdateBy
(
"admin"
);
schoolClass
.
setUpdateTime
(
new
Date
());
schoolClass
.
setGradeId
(
date
.
getId
());
schoolClass
.
setDdClassId
(
classDdId
);
schoolClass
.
setId
(
classId
);
iSchoolClassService
.
updateById
(
schoolClass
);
}
else
{
SchoolClass
schoolClass
=
new
SchoolClass
();
schoolClass
.
setSchoolYear
(
Integer
.
valueOf
(
date
.
getSchoolYear
()));
schoolClass
.
setClassType
(
"4"
);
schoolClass
.
setGradeValue
(
date
.
getGradeValue
());
schoolClass
.
setGradeName
(
date
.
getGradeName
());
schoolClass
.
setClassValue
(
Integer
.
valueOf
(
jsonArrays
.
getJSONObject
(
i
).
getJSONObject
(
"feature"
).
get
(
"class_level"
).
toString
()));
String
className
=
jsonArrays
.
getJSONObject
(
i
).
get
(
"name"
).
toString
();
schoolClass
.
setClassName
(
className
.
substring
(
className
.
length
()-
2
));
schoolClass
.
setClassAlias
(
jsonArrays
.
getJSONObject
(
i
).
get
(
"name"
).
toString
());
schoolClass
.
setCreateBy
(
"admin"
);
schoolClass
.
setCreateTime
(
new
Date
());
schoolClass
.
setUpdateBy
(
"admin"
);
schoolClass
.
setUpdateTime
(
new
Date
());
schoolClass
.
setGradeId
(
date
.
getId
());
schoolClass
.
setDdClassId
(
classDdId
);
iSchoolClassService
.
save
(
schoolClass
);
}
}
}
JSONObject
bjResult
=
(
JSONObject
)
bjObject
.
get
(
"result"
);
JSONArray
bjDetailsArray
=
JSONArray
.
of
(
bjResult
.
get
(
"details"
));
//班级
List
<
DingJiaXiaoVo
.
ClassInfo
>
classInfoList
=
new
ArrayList
<>();
//查询班级班级
for
(
int
j
=
0
;
j
<
bjDetailsArray
.
size
();
j
++)
{
for
(
int
n
=
0
;
n
<
bjDetailsArray
.
getJSONArray
(
j
).
size
();
n
++)
{
JSONObject
classDate
=
bjDetailsArray
.
getJSONArray
(
j
).
getJSONObject
(
n
);
Integer
classId
=
(
Integer
)
classDate
.
get
(
"dept_id"
);
//创建班级
DingJiaXiaoVo
.
ClassInfo
classInfo
=
new
DingJiaXiaoVo
().
new
ClassInfo
();
classInfo
.
setClassId
((
Integer
)
classDate
.
get
(
"dept_id"
));
classInfo
.
setClassName
((
String
)
classDate
.
get
(
"name"
));
return
""
;
}
//更新追加人员信息
@GetMapping
(
"/updateLabUser"
)
private
String
updateLabUser
(){
//查找当前学年 所有的班级
String
nowSchoolYear
=
schoolGradeService
.
selectUpToYear
();
SchoolClass
schoolClass
=
new
SchoolClass
();
schoolClass
.
setSchoolYear
(
Integer
.
valueOf
(
nowSchoolYear
));
List
<
SchoolClass
>
schoolClassCopies
=
iSchoolClassService
.
selectSchoolClassList
(
schoolClass
);
String
token
=
accessTokenUtils
.
getToken
();
for
(
SchoolClass
date
:
schoolClassCopies
){
//查询班级下边的人员 包含三种人员查询
//学生信息
List
<
DingJiaXiaoVo
.
StudentUserInfo
>
studentUserInfos
=
new
ArrayList
<>();
//老师信息
List
<
DingJiaXiaoVo
.
StudentUserInfo
>
teacherUserInfos
=
new
ArrayList
<>();
//监护人信息*
List
<
DingJiaXiaoVo
.
StudentUserInfo
>
guardianUserInfos
=
new
ArrayList
<>();
SchoolTeacherVO
schoolTeacher
=
new
SchoolTeacherVO
();
//分页查询,每次查询数据最大只有30条,分5次查询 一个班判断最大150人
for
(
String
type
:
userTypes
)
{
if
(
type
.
equals
(
"teacher"
))
{
//老师
teacherUserInfos
=
this
.
addUserList
(
token
,
type
,
classId
);
//同步家校通讯老师
teacherUserInfos
=
this
.
addUserList
(
token
,
type
,
date
.
getDdClassId
());
for
(
DingJiaXiaoVo
.
StudentUserInfo
teachDate
:
teacherUserInfos
){
// 关联老师跟班级信息
schoolTeacher
.
setTeacherName
(
teachDate
.
getName
());
List
<
SchoolTeacher
>
schoolTeacherCopies
=
schoolTeacherService
.
selectSchoolTeacherList
(
schoolTeacher
);
if
(
schoolTeacherCopies
.
isEmpty
()){
throw
new
RuntimeException
(
"钉钉老师未在系统中找到"
);
}
SchoolTeacher
classHeadTeacher
=
schoolTeacherCopies
.
get
(
0
);
//职工跟年级关系
SchoolGradeMentor
schoolGradeMentor
=
new
SchoolGradeMentor
();
schoolGradeMentor
.
setTeacherId
(
classHeadTeacher
.
getId
());
schoolGradeMentor
.
setGradeId
(
date
.
getGradeId
());
schoolGradeMentorService
.
save
(
schoolGradeMentor
);
if
(
"1"
.
equals
(
teachDate
.
getIsAdviser
())){
//当前老师是班主任 记录班主任跟班级关系
SchoolClassHeadmaster
schoolClassHeadmaster
=
new
SchoolClassHeadmaster
();
schoolClassHeadmaster
.
setTeacherId
(
classHeadTeacher
.
getId
());
schoolClassHeadmaster
.
setClassId
(
date
.
getId
());
iSchoolClassHeadmasterService
.
save
(
schoolClassHeadmaster
);
//设置班级 班主任信息
SchoolClass
schoolClassss
=
new
SchoolClass
();
schoolClassss
.
setId
(
date
.
getId
());
schoolClassss
.
setTeacherId
(
classHeadTeacher
.
getId
());
schoolClassss
.
setTeacherName
(
classHeadTeacher
.
getTeacherName
());
schoolClassss
.
setTeacherTel
(
classHeadTeacher
.
getTeacherTel
());
iSchoolClassService
.
updateById
(
schoolClassss
);
}
else
{
//任课老师 跟班级关系
SchoolClassMentor
schoolClassMentor
=
new
SchoolClassMentor
();
schoolClassMentor
.
setTeacherId
(
classHeadTeacher
.
getId
());
schoolClassMentor
.
setClassId
(
date
.
getId
());
//查找部门 课程没有编写
schoolClassMentorService
.
save
(
schoolClassMentor
);
}
}
}
else
if
(
type
.
equals
(
"student"
))
{
//学生
studentUserInfos
=
this
.
addUserList
(
token
,
type
,
date
.
getDdClassId
());
for
(
DingJiaXiaoVo
.
StudentUserInfo
studentDte
:
studentUserInfos
)
{
//学生信息
SchoolStudent
schoolStudent
=
new
SchoolStudent
();
schoolStudent
.
setStudentName
(
studentDte
.
getName
());
schoolStudent
.
setClassId
(
date
.
getId
());
schoolStudent
.
setStudentStatus
(
"1"
);
schoolStudent
.
setDdUserId
(
studentDte
.
getUserId
());
schoolStudentService
.
save
(
schoolStudent
);
//学生班级信息
SchoolStudentClassRelation
schoolStudentClassRelation
=
new
SchoolStudentClassRelation
();
schoolStudentClassRelation
.
setStudentId
(
schoolStudent
.
getId
());
schoolStudentClassRelation
.
setClassId
(
date
.
getId
());
iSchoolStudentClassRelationService
.
save
(
schoolStudentClassRelation
);
//学生与班级历史关系
SchoolClass
school
=
iSchoolClassService
.
selectSchoolClassById
(
date
.
getId
());
SchoolStudentClasses
schoolStudentClasses
=
new
SchoolStudentClasses
();
schoolStudentClasses
.
setStudentId
(
schoolStudent
.
getId
());
schoolStudentClasses
.
setGrade
(
school
.
getGradeName
());
schoolStudentClasses
.
setClasses
(
school
.
getClassName
());
schoolStudentClasses
.
setTeacherName
(
school
.
getTeacherName
());
schoolStudentClassesService
.
save
(
schoolStudentClasses
);
}
}
else
if
(
type
.
equals
(
"guardian"
))
{
//监护人
guardianUserInfos
=
this
.
addUserList
(
token
,
type
,
classId
);
}
else
if
(
type
.
equals
(
"student"
))
{
//学生
studentUserInfos
=
this
.
addUserList
(
token
,
type
,
classId
);
guardianUserInfos
=
this
.
addUserList
(
token
,
type
,
date
.
getDdClassId
());
for
(
DingJiaXiaoVo
.
StudentUserInfo
guarDate
:
guardianUserInfos
){
//找寻学生
String
toUserId
=
this
.
getToUserId
(
token
,
guarDate
.
getUserId
(),
date
.
getDdClassId
());
SchoolStudentVO
schoolStudentVO
=
new
SchoolStudentVO
();
schoolStudentVO
.
setDdUserId
(
toUserId
);
List
<
SchoolStudentVO
>
schoolStudentVOS
=
schoolStudentService
.
queryList
(
schoolStudentVO
);
Long
studenId
=
schoolStudentVOS
.
get
(
0
).
getId
();
//创建用户user表
SysUser
jUser
=
new
SysUser
();
jUser
.
setLoginName
(
guarDate
.
getName
());
jUser
.
setUserName
(
guarDate
.
getName
());
jUser
.
setUserType
(
"01"
);
jUser
.
setUserLoginType
(
"1"
);
jUser
.
setPhonenumber
(
guarDate
.
getMobile
());
jUser
.
setPassword
(
SecurityUtils
.
encryptPassword
(
"123#@!"
));
jUser
.
setStatus
(
"0"
);
jUser
.
setDelFlag
(
"0"
);
jUser
.
setUnionId
(
guarDate
.
getUnionid
());
jUser
.
setRoleIds
(
new
Long
[]{
111L
});
jUser
.
setStudentId
(
studenId
);
sysUserService
.
insertUser
(
jUser
);
//家长表
SchoolStudentParent
schoolStudentParent
=
new
SchoolStudentParent
()
;
schoolStudentParent
.
setStudentId
(
studenId
);
schoolStudentParent
.
setUserId
(
jUser
.
getUserId
());
schoolStudentParent
.
setParentName
(
guarDate
.
getName
());
schoolStudentParent
.
setTelephone
(
guarDate
.
getMobile
());
Integer
patriarch
=
this
.
getPatriarch
(
guarDate
.
getName
().
substring
(
guarDate
.
getName
().
length
()
-
2
));
schoolStudentParent
.
setRelationship
(
String
.
valueOf
(
patriarch
));
iSchoolStudentParentService
.
save
(
schoolStudentParent
);
}
}
}
//将人员存入班级中
classInfo
.
setStudentUserInfos
(
studentUserInfos
);
classInfo
.
setTeacherUserInfos
(
teacherUserInfos
);
classInfo
.
setGuardianUserInfos
(
guardianUserInfos
);
classInfoList
.
add
(
classInfo
);
}
}
dingJiaXiaoVo
.
setClassInfoList
(
classInfoList
);
njInfoList
.
add
(
dingJiaXiaoVo
);
}
}
return
njInfoList
;
return
""
;
}
//获取监护人详情 获取学生userid
private
String
getToUserId
(
String
token
,
String
fromUserId
,
String
classId
){
String
toUserId
=
null
;
JSONObject
bjParme
=
new
JSONObject
();
bjParme
.
put
(
"from_userid"
,
fromUserId
);
bjParme
.
put
(
"class_id"
,
classId
);
String
bjPost
=
HttpUtil
.
post
(
"https://oapi.dingtalk.com/topapi/edu/user/relation/get?access_token="
+
token
,
bjParme
);
JSONObject
bjObject
=
JSONObject
.
parseObject
(
bjPost
);
if
((
Integer
)
bjObject
.
get
(
"errcode"
)
!=
0
){
throw
new
RuntimeException
(
"获取班级列表失败"
);
}
JSONArray
jsonArray
=
bjObject
.
getJSONObject
(
"result"
).
getJSONArray
(
"relations"
);
for
(
int
i
=
0
;
i
<
jsonArray
.
size
();
i
++){
toUserId
=
jsonArray
.
getJSONObject
(
0
).
get
(
"to_userid"
).
toString
();
}
return
toUserId
;
}
private
List
<
DingJiaXiaoVo
.
StudentUserInfo
>
addUserList
(
String
token
,
String
type
,
Integer
classId
){
private
JSONArray
getDdHttp
(
String
supId
,
String
token
){
JSONObject
bjParme
=
new
JSONObject
();
bjParme
.
put
(
"page_no"
,
1
);
bjParme
.
put
(
"page_size"
,
30
);
bjParme
.
put
(
"super_id"
,
supId
);
String
bjPost
=
HttpUtil
.
post
(
listUrl
+
token
,
bjParme
);
JSONObject
bjObject
=
JSONObject
.
parseObject
(
bjPost
);
if
((
Integer
)
bjObject
.
get
(
"errcode"
)
!=
0
){
throw
new
RuntimeException
(
"获取班级列表失败"
);
}
JSONObject
bjResult
=
(
JSONObject
)
bjObject
.
get
(
"result"
);
JSONArray
bjDetailsArray
=
JSONArray
.
of
(
bjResult
.
get
(
"details"
));
return
bjDetailsArray
;
}
private
List
<
DingJiaXiaoVo
.
StudentUserInfo
>
addUserList
(
String
token
,
String
type
,
String
classId
){
List
<
DingJiaXiaoVo
.
StudentUserInfo
>
userList
=
new
ArrayList
<>();
//分页查询,每次查询数据最大只有30条,分5次查询 一个班判断最大150人
for
(
int
k
=
1
;
k
<=
5
;
k
++
){
for
(
int
k
=
1
;
k
<=
4
;
k
++
){
//查询班级下边的人员
JSONObject
ryParme
=
new
JSONObject
();
ryParme
.
put
(
"page_no"
,
k
);
...
...
@@ -237,7 +441,6 @@ public class DingJiaXiaoController {
JSONObject
ryResult
=
(
JSONObject
)
ryObject
.
get
(
"result"
);
JSONArray
xyDetailsArray
=
JSONArray
.
of
(
ryResult
.
get
(
"details"
));
for
(
int
o
=
0
;
o
<
xyDetailsArray
.
size
();
o
++){
for
(
int
i
=
0
;
i
<
xyDetailsArray
.
getJSONArray
(
o
).
size
();
i
++){
JSONObject
userInfo
=
xyDetailsArray
.
getJSONArray
(
o
).
getJSONObject
(
i
);
DingJiaXiaoVo
.
StudentUserInfo
studentUserInfo
=
new
DingJiaXiaoVo
().
new
StudentUserInfo
();
...
...
@@ -248,8 +451,11 @@ public class DingJiaXiaoController {
studentUserInfo
.
setName
(
userInfo
.
get
(
"name"
).
toString
());
studentUserInfo
.
setIsAdviser
(
userInfo
.
getJSONObject
(
"feature"
).
get
(
"is_adviser"
)
==
null
?
null
:
userInfo
.
getJSONObject
(
"feature"
).
get
(
"is_adviser"
).
toString
());
studentUserInfo
.
setStudentNo
(
userInfo
.
getJSONObject
(
"feature"
).
get
(
"student_no"
)
==
null
?
null
:
userInfo
.
getJSONObject
(
"feature"
).
get
(
"student_no"
).
toString
());
String
tel
=
this
.
getTel
(
studentUserInfo
.
getUserId
(),
token
);
studentUserInfo
.
setMobile
(
tel
);
//学生没有手机号 不需要查询手机号
if
(!
type
.
equals
(
"student"
)){
String
tel
=
this
.
getTel
(
studentUserInfo
.
getUserId
(),
token
);
studentUserInfo
.
setMobile
(
tel
);
}
userList
.
add
(
studentUserInfo
);
}
}
...
...
@@ -262,181 +468,202 @@ public class DingJiaXiaoController {
/**
* 钉钉数据同步到数据,
* //班级、级部 、学生、家长、老师、班级关系、
*/
@GetMapping
(
"/updateJiaXiaoTX"
)
public
void
updateJiaXiaoTX
(){
//获取钉钉数据
List
<
DingJiaXiaoVo
>
list
=
this
.
getList
();
//循环更新
for
(
DingJiaXiaoVo
njDate
:
list
){
//更新年级
String
gradeName
=
njDate
.
getGradeName
();
Integer
gradeId
=
njDate
.
getGradeId
();
SchoolGrade
schoolGrade
=
new
SchoolGrade
();
schoolGrade
.
setGradeName
(
gradeName
.
substring
(
gradeName
.
length
()-
5
)+
"部"
);
schoolGrade
.
setGradeValue
(
this
.
gradeSubt
(
gradeName
.
substring
(
3
)));
schoolGrade
.
setGradeYear
(
gradeName
.
substring
(
gradeName
.
length
()-
5
,
4
));
schoolGrade
.
setSchoolYear
(
gradeName
.
substring
(
gradeName
.
length
()-
5
,
4
));
schoolGrade
.
setRemark
(
gradeName
);
schoolGrade
.
setId
(
Long
.
valueOf
(
gradeId
));
schoolGradeService
.
save
(
schoolGrade
);
//获取班级
List
<
DingJiaXiaoVo
.
ClassInfo
>
classInfoList
=
njDate
.
getClassInfoList
();
//遍历班级
for
(
DingJiaXiaoVo
.
ClassInfo
classDate
:
classInfoList
){
String
teacherName
=
null
;
Integer
classId
=
classDate
.
getClassId
();
String
className
=
classDate
.
getClassName
();
Map
<
String
,
String
>
fromUserId
=
this
.
getFromUserId
(
Long
.
valueOf
(
classId
),
accessTokenUtils
.
getToken
());
SchoolClass
schoolClass
=
new
SchoolClass
();
schoolClass
.
setSchoolYear
(
Integer
.
valueOf
(
schoolGrade
.
getSchoolYear
()));
schoolClass
.
setClassType
(
"4"
);
schoolClass
.
setGradeValue
(
Integer
.
valueOf
(
schoolGrade
.
getGradeYear
()));
schoolClass
.
setGradeName
(
schoolGrade
.
getGradeName
());
schoolClass
.
setId
(
Long
.
valueOf
(
classId
));
schoolClass
.
setClassName
(
className
);
schoolClass
.
setClassValue
(
Integer
.
valueOf
(
className
.
substring
(
className
.
length
()-
2
,
1
)));
schoolClass
.
setClassAlias
(
className
);
schoolClass
.
setGradeId
(
schoolGrade
.
getId
());
schoolClass
.
setGradeId
(
schoolGrade
.
getId
());
//班级
iSchoolClassService
.
save
(
schoolClass
);
//老师
List
<
DingJiaXiaoVo
.
StudentUserInfo
>
teacherUserInfos
=
classDate
.
getTeacherUserInfos
();
for
(
DingJiaXiaoVo
.
StudentUserInfo
date
:
teacherUserInfos
){
SysUser
sysUser
=
new
SysUser
();
sysUser
.
setUserId
(
Long
.
valueOf
(
date
.
getUserId
()));
// sysUser.setDept(); 部门没有
sysUser
.
setLoginName
(
date
.
getName
());
sysUser
.
setUserName
(
date
.
getName
());
sysUser
.
setUserType
(
"01"
);
sysUser
.
setUserLoginType
(
"0"
);
sysUser
.
setPhonenumber
(
date
.
getMobile
());
sysUser
.
setPassword
(
SecurityUtils
.
encryptPassword
(
"123456"
));
sysUser
.
setStatus
(
"0"
);
sysUser
.
setDelFlag
(
"0"
);
sysUser
.
setUnionId
(
date
.
getUnionid
());
sysUser
.
setRoleIds
(
new
Long
[]{
111L
});
//用户表
sysUserService
.
insertUser
(
sysUser
);
SchoolTeacher
schoolTeacher
=
new
SchoolTeacher
();
schoolTeacher
.
setTeacherName
(
date
.
getName
());
// schoolTeacher.setSex(); 性别没有
schoolTeacher
.
setNation
(
"汉族"
);
// schoolTeacher.setTeacherCode(); 工作编号
schoolTeacher
.
setUserId
(
sysUser
.
getUserId
());
schoolTeacher
.
setTeacherTel
(
date
.
getMobile
());
schoolTeacher
.
setUnionId
(
date
.
getUnionid
());
// schoolTeacher.setDeptId(); schoolTeacher.setDeptName(); 部门没有
//老师表
schoolTeacherService
.
save
(
schoolTeacher
);
//老师与班级关系表 缺少课程信息
// SchoolClassMentor schoolClassMentor = new SchoolClassMentor();
// schoolClassMentor.setTeacherId(schoolTeacher.getId());
// schoolClassMentorService.save(schoolClassMentor);
if
(
date
.
getIsAdviser
().
equals
(
"1"
)){
schoolClass
.
setTeacherId
(
schoolTeacher
.
getId
());
schoolClass
.
setTeacherName
(
date
.
getName
());
schoolClass
.
setTeacherTel
(
date
.
getMobile
());
teacherName
=
date
.
getName
();
SchoolClassHeadmaster
schoolClassHeadmaster
=
new
SchoolClassHeadmaster
();
schoolClassHeadmaster
.
setTeacherId
(
schoolTeacher
.
getId
());
schoolClassHeadmaster
.
setClassId
(
Long
.
valueOf
(
classId
));
//班主任和班级关系
iSchoolClassHeadmasterService
.
save
(
schoolClassHeadmaster
);
}
}
//学生
List
<
DingJiaXiaoVo
.
StudentUserInfo
>
studentUserInfos
=
classDate
.
getStudentUserInfos
();
for
(
DingJiaXiaoVo
.
StudentUserInfo
date
:
studentUserInfos
){
//学生表
SchoolStudent
schoolStudent
=
new
SchoolStudent
();
schoolStudent
.
setStudentName
(
date
.
getName
());
// schoolStudent.setSex();
schoolStudent
.
setClassId
(
Long
.
valueOf
(
classId
));
// schoolStudent.setIdCard(); 身份证号
schoolStudent
.
setNation
(
"汉族"
);
schoolStudent
.
setNationalNumber
(
date
.
getStudentNo
());
schoolStudent
.
setEnrollmentYear
(
gradeName
.
substring
(
gradeName
.
length
()-
5
,
4
));
schoolStudent
.
setStudentStatus
(
"1"
);
schoolStudent
.
setId
(
Long
.
valueOf
(
date
.
getUserId
()));
schoolStudentService
.
save
(
schoolStudent
);
//学生与班级关系
SchoolStudentClassRelation
schoolStudentClassRelation
=
new
SchoolStudentClassRelation
();
schoolStudentClassRelation
.
setClassId
(
Long
.
valueOf
(
classId
));
schoolStudentClassRelation
.
setStudentId
(
schoolStudent
.
getId
());
iSchoolStudentClassRelationService
.
save
(
schoolStudentClassRelation
);
//学生历史班级表
SchoolStudentClasses
schoolStudentClasses
=
new
SchoolStudentClasses
();
schoolStudentClasses
.
setTeacherName
(
teacherName
);
schoolStudentClasses
.
setStudentId
(
schoolStudent
.
getId
());
schoolStudentClasses
.
setGrade
(
gradeName
.
substring
(
gradeName
.
length
()-
5
,
4
));
schoolStudentClasses
.
setClasses
(
className
);
schoolStudentClassesService
.
save
(
schoolStudentClasses
);
}
//监护人
List
<
DingJiaXiaoVo
.
StudentUserInfo
>
guardianUserInfos
=
classDate
.
getGuardianUserInfos
();
for
(
DingJiaXiaoVo
.
StudentUserInfo
date
:
guardianUserInfos
){
String
studentId
=
fromUserId
.
get
(
date
.
getUserId
());
//创建家长用户
SysUser
jUser
=
new
SysUser
();
jUser
.
setUserId
(
Long
.
valueOf
(
date
.
getUserId
()));
// sysUser.setDept(); 部门没有
jUser
.
setLoginName
(
date
.
getName
());
jUser
.
setUserName
(
date
.
getName
());
jUser
.
setUserType
(
"01"
);
jUser
.
setUserLoginType
(
"1"
);
jUser
.
setPhonenumber
(
date
.
getMobile
());
jUser
.
setPassword
(
SecurityUtils
.
encryptPassword
(
"123456"
));
jUser
.
setStatus
(
"0"
);
jUser
.
setDelFlag
(
"0"
);
jUser
.
setUnionId
(
date
.
getUnionid
());
jUser
.
setRoleIds
(
new
Long
[]{
111L
});
jUser
.
setStudentId
(
Long
.
valueOf
(
studentId
));
sysUserService
.
insertUser
(
jUser
);
//维护家长表
SchoolStudentParent
schoolStudentParent
=
new
SchoolStudentParent
();
schoolStudentParent
.
setStudentId
(
Long
.
valueOf
(
studentId
));
schoolStudentParent
.
setUserId
(
jUser
.
getUserId
());
schoolStudentParent
.
setParentName
(
date
.
getName
());
schoolStudentParent
.
setTelephone
(
date
.
getMobile
());
Integer
patriarch
=
this
.
getPatriarch
(
date
.
getName
().
substring
(
date
.
getName
().
length
()
-
2
));
schoolStudentParent
.
setRelationship
(
patriarch
.
toString
());
iSchoolStudentParentService
.
save
(
schoolStudentParent
);
}
iSchoolClassService
.
updateById
(
schoolClass
);
}
}
}
private
Integer
gradeSubt
(
String
grade
){
Integer
gId
=
null
;
// */
// @GetMapping("/updateJiaXiaoTX")
// public void updateJiaXiaoTX(){
//
// //获取钉钉数据
// List<DingJiaXiaoVo> list = null;
// //循环更新
// for (DingJiaXiaoVo njDate : list){
// //更新年级
// String gradeName = njDate.getGradeName();
// Integer gradeId = njDate.getGradeId();
// SchoolGrade schoolGrade = new SchoolGrade();
// schoolGrade.setGradeName(gradeName.substring(gradeName.length()- 5)+"部");
// schoolGrade.setGradeValue(Integer.valueOf(this.gradeSubt(gradeName.substring(3))));
// schoolGrade.setGradeYear(gradeName.substring(gradeName.length()- 5,4));
// schoolGrade.setSchoolYear(gradeName.substring(gradeName.length()- 5,4));
// schoolGrade.setRemark(gradeName);
// schoolGrade.setId(Long.valueOf(gradeId));
// schoolGradeService.save(schoolGrade);
// //获取班级
// List<DingJiaXiaoVo.ClassInfo> classInfoList = njDate.getClassInfoList();
// //遍历班级
// for (DingJiaXiaoVo.ClassInfo classDate : classInfoList){
//
//
// String teacherName =null;
//
// Integer classId = classDate.getClassId();
// String className = classDate.getClassName();
// Map<String,String> fromUserId = this.getFromUserId(Long.valueOf(classId), accessTokenUtils.getToken());
// SchoolClass schoolClass = new SchoolClass();
// schoolClass.setSchoolYear(Integer.valueOf(schoolGrade.getSchoolYear()));
// schoolClass.setClassType("4");
// schoolClass.setGradeValue(Integer.valueOf(schoolGrade.getGradeYear()));
// schoolClass.setGradeName(schoolGrade.getGradeName());
// schoolClass.setId(Long.valueOf(classId));
// schoolClass.setClassName(className);
// schoolClass.setClassValue(Integer.valueOf(className.substring(className.length()-2,1)));
// schoolClass.setClassAlias(className);
// schoolClass.setGradeId(schoolGrade.getId());
// schoolClass.setGradeId(schoolGrade.getId());
//
// //班级
// iSchoolClassService.save(schoolClass);
//
// //老师
// List<DingJiaXiaoVo.StudentUserInfo> teacherUserInfos = classDate.getTeacherUserInfos();
// for (DingJiaXiaoVo.StudentUserInfo date : teacherUserInfos){
// SysUser sysUser = new SysUser();
// sysUser.setUserId(Long.valueOf(date.getUserId()));
//// sysUser.setDept(); 部门没有
// sysUser.setLoginName(date.getName());
// sysUser.setUserName(date.getName());
// sysUser.setUserType("01");
// sysUser.setUserLoginType("0");
// sysUser.setPhonenumber(date.getMobile());
// sysUser.setPassword(SecurityUtils.encryptPassword("123456"));
// sysUser.setStatus("0");
// sysUser.setDelFlag("0");
// sysUser.setUnionId(date.getUnionid());
// sysUser.setRoleIds(new Long[]{111L});
// //用户表
// sysUserService.insertUser(sysUser);
//
// SchoolTeacher schoolTeacher = new SchoolTeacher();
// schoolTeacher.setTeacherName(date.getName());
// // schoolTeacher.setSex(); 性别没有
// schoolTeacher.setNation("汉族");
//// schoolTeacher.setTeacherCode(); 工作编号
// schoolTeacher.setUserId(sysUser.getUserId());
// schoolTeacher.setTeacherTel(date.getMobile());
// schoolTeacher.setUnionId(date.getUnionid());
// // schoolTeacher.setDeptId(); schoolTeacher.setDeptName(); 部门没有
// //老师表
// schoolTeacherService.save(schoolTeacher);
// //老师与班级关系表 缺少课程信息
//// SchoolClassMentor schoolClassMentor = new SchoolClassMentor();
//// schoolClassMentor.setTeacherId(schoolTeacher.getId());
//// schoolClassMentorService.save(schoolClassMentor);
// if (date.getIsAdviser().equals("1")){
// schoolClass.setTeacherId(schoolTeacher.getId());
// schoolClass.setTeacherName(date.getName());
// schoolClass.setTeacherTel(date.getMobile());
// teacherName = date.getName();
// SchoolClassHeadmaster schoolClassHeadmaster = new SchoolClassHeadmaster();
// schoolClassHeadmaster.setTeacherId(schoolTeacher.getId());
// schoolClassHeadmaster.setClassId(Long.valueOf(classId));
// //班主任和班级关系
// iSchoolClassHeadmasterService.save(schoolClassHeadmaster);
// }
// }
//
// //学生
// List<DingJiaXiaoVo.StudentUserInfo> studentUserInfos = classDate.getStudentUserInfos();
// for (DingJiaXiaoVo.StudentUserInfo date : studentUserInfos){
// //学生表
// SchoolStudent schoolStudent = new SchoolStudent();
// schoolStudent.setStudentName(date.getName());
//// schoolStudent.setSex();
// schoolStudent.setClassId(Long.valueOf(classId));
//// schoolStudent.setIdCard(); 身份证号
// schoolStudent.setNation("汉族");
// schoolStudent.setNationalNumber(date.getStudentNo());
// schoolStudent.setEnrollmentYear(gradeName.substring(gradeName.length()- 5,4));
// schoolStudent.setStudentStatus("1");
// schoolStudent.setId(Long.valueOf(date.getUserId()));
// schoolStudentService.save(schoolStudent);
// //学生与班级关系
// SchoolStudentClassRelation schoolStudentClassRelation = new SchoolStudentClassRelation();
// schoolStudentClassRelation.setClassId(Long.valueOf(classId));
// schoolStudentClassRelation.setStudentId(schoolStudent.getId());
// iSchoolStudentClassRelationService.save(schoolStudentClassRelation);
// //学生历史班级表
// SchoolStudentClasses schoolStudentClasses = new SchoolStudentClasses();
// schoolStudentClasses.setTeacherName(teacherName);
// schoolStudentClasses.setStudentId(schoolStudent.getId());
// schoolStudentClasses.setGrade(gradeName.substring(gradeName.length()- 5,4));
// schoolStudentClasses.setClasses(className);
// schoolStudentClassesService.save(schoolStudentClasses);
// }
// //监护人
// List<DingJiaXiaoVo.StudentUserInfo> guardianUserInfos = classDate.getGuardianUserInfos();
// for (DingJiaXiaoVo.StudentUserInfo date : guardianUserInfos){
// String studentId = fromUserId.get(date.getUserId());
//
// //创建家长用户
// SysUser jUser = new SysUser();
// jUser.setUserId(Long.valueOf(date.getUserId()));
//// sysUser.setDept(); 部门没有
// jUser.setLoginName(date.getName());
// jUser.setUserName(date.getName());
// jUser.setUserType("01");
// jUser.setUserLoginType("1");
// jUser.setPhonenumber(date.getMobile());
// jUser.setPassword(SecurityUtils.encryptPassword("123456"));
// jUser.setStatus("0");
// jUser.setDelFlag("0");
// jUser.setUnionId(date.getUnionid());
// jUser.setRoleIds(new Long[]{111L});
// jUser.setStudentId(Long.valueOf(studentId));
// sysUserService.insertUser(jUser);
// //维护家长表
// SchoolStudentParent schoolStudentParent = new SchoolStudentParent();
// schoolStudentParent.setStudentId(Long.valueOf(studentId));
// schoolStudentParent.setUserId(jUser.getUserId());
// schoolStudentParent.setParentName(date.getName());
// schoolStudentParent.setTelephone(date.getMobile());
// Integer patriarch = this.getPatriarch(date.getName().substring(date.getName().length() - 2));
// schoolStudentParent.setRelationship(patriarch.toString());
// iSchoolStudentParentService.save(schoolStudentParent);
//
// }
//
//
// iSchoolClassService.updateById(schoolClass);
//
//
// }
// }
// }
private
String
gradeSubt
(
String
grade
){
String
gId
=
null
;
switch
(
grade
){
case
"六年级"
:
return
gId
=
6
;
case
"七年级"
:
return
gId
=
7
;
case
"八年级"
:
return
gId
=
8
;
case
"九年级"
:
return
gId
=
9
;
case
"一年级"
:
return
gId
=
1
;
case
"二年级"
:
return
gId
=
2
;
case
"三年级"
:
return
gId
=
3
;
case
"四年级"
:
return
gId
=
4
;
case
"五年级"
:
return
gId
=
5
;
case
"一年级"
:
return
gId
=
"1"
;
case
"二年级"
:
return
gId
=
"2"
;
case
"三年级"
:
return
gId
=
"3"
;
case
"四年级"
:
return
gId
=
"4"
;
case
"五年级"
:
return
gId
=
"5"
;
case
"六年级"
:
return
gId
=
"6"
;
case
"七年级"
:
return
gId
=
"7"
;
case
"八年级"
:
return
gId
=
"8"
;
case
"九年级"
:
return
gId
=
"9"
;
case
"十年级"
:
return
gId
=
"10"
;
case
"十一年级"
:
return
gId
=
"11"
;
case
"十二年级"
:
return
gId
=
"12"
;
case
"十三年级"
:
return
gId
=
"13"
;
case
"十四年级"
:
return
gId
=
"14"
;
case
"十五年级"
:
return
gId
=
"15"
;
case
"十六年级"
:
return
gId
=
"16"
;
case
"十七年级"
:
return
gId
=
"17"
;
case
"十八年级"
:
return
gId
=
"18"
;
case
"十九年级"
:
return
gId
=
"19"
;
case
"二十年级"
:
return
gId
=
"20"
;
case
"二十一年级"
:
return
gId
=
"21"
;
case
"二十二级"
:
return
gId
=
"22"
;
case
"二十三年级"
:
return
gId
=
"23"
;
case
"二十四年级"
:
return
gId
=
"24"
;
case
"二十五年级"
:
return
gId
=
"25"
;
case
"二十六年级"
:
return
gId
=
"26"
;
case
"二十七年级"
:
return
gId
=
"27"
;
case
"二十八年级"
:
return
gId
=
"28"
;
case
"二十九年级"
:
return
gId
=
"29"
;
case
"三十年级"
:
return
gId
=
"30"
;
}
return
gId
;
}
...
...
smart-campus/src/main/resources/mapper/schoolClass/SchoolClassMapper.xml
View file @
a9f5d1ff
...
...
@@ -159,4 +159,9 @@
where del_flag = '0' and grade_id = #{gradeId}
</select>
<select
id=
"selectDdClassId"
resultType=
"java.lang.Long"
>
select sg.id from school_class_copy sg
where sg.del_flag = '0' and sg.dd_class_id=#{ddClssId}
</select>
</mapper>
smart-campus/src/main/resources/mapper/schoolgrade/SchoolGradeMapper.xml
View file @
a9f5d1ff
...
...
@@ -54,5 +54,12 @@
<include
refid=
"selectSchoolGradeVo"
/>
where school_year = (select max(school_year) from school_grade )
</select>
<select
id=
"selectDdClassId"
resultType=
"java.lang.Long"
>
select sg.id from school_grade_copy sg
where sg.del_flag = '0' and sg.dd_class_id=#{ddClssId}
</select>
<select
id=
"selectUpToYear"
resultType=
"java.lang.String"
>
select max(school_year) nowYear from school_grade_copy where del_flag = '0'
</select>
</mapper>
smart-campus/src/main/resources/mapper/student/SchoolStudentMapper.xml
View file @
a9f5d1ff
...
...
@@ -29,6 +29,7 @@
<result
property=
"appearance"
column=
"appearance"
/>
<result
property=
"registeredAddress"
column=
"registered_address"
/>
<result
property=
"registeredType"
column=
"registered_type"
/>
<result
property=
"ddUserId"
column=
"dd_user_id"
/>
</resultMap>
<sql
id=
"selectSchoolStudentVo"
>
...
...
@@ -42,6 +43,7 @@
native_place,
avatar,
id_card,
dd_user_id,
school_no,
student_status,
student_type,
...
...
@@ -72,6 +74,7 @@
<if
test=
"studentStatus != null"
>
student_status,
</if>
<if
test=
"studentType != null"
>
student_type,
</if>
<if
test=
"oneCard != null and oneCard != ''"
>
one_card,
</if>
<if
test=
"ddUserId != null and oneCard != ''"
>
dd_user_id,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"classId != null"
>
#{classId},
</if>
...
...
@@ -90,6 +93,7 @@
<if
test=
"studentStatus != null"
>
#{studentStatus},
</if>
<if
test=
"studentType != null"
>
#{studentType},
</if>
<if
test=
"oneCard != null and oneCard != ''"
>
#{oneCard},
</if>
<if
test=
"ddUserId != null and ddUserId != ''"
>
#{ddUserId},
</if>
</trim>
</insert>
...
...
@@ -100,7 +104,7 @@
<select
id=
"queryList"
parameterType=
"SchoolStudentVO"
resultType=
"yangtz.cs.liu.campus.vo.student.SchoolStudentVO"
>
select ss.id,ss.class_id,ss.student_name,ss.sex,ss.birthday,ss.nation,ss.stu_telephone,ss.postal_code,
ss.nature,ss.provincial_number,ss.national_number,ss.enrollment_year,ss.home_address,
ss.native_place, ss.avatar, ss.id_card,ss.school_no, ss.student_status, ss.platform,
ss.native_place, ss.avatar,
ss.dd_user_id,
ss.id_card,ss.school_no, ss.student_status, ss.platform,
ss.birth_address,ss.postal_address,ss.junior_school,ss.region,ss.foreign_languages,
ss.blood_type,ss.health,ss.other_regions,ss.floating_population,ss.support,ss.only_child,
ss.student_type, ss.one_card, ss.enrollment_time, ss.appearance, ss.registered_address, ss.registered_type,
...
...
@@ -123,6 +127,7 @@
<if
test=
"schoolNo != null and schoolNo != ''"
>
and ss.school_no like concat('%', #{schoolNo}, '%')
</if>
<if
test=
"studentStatus != null and studentStatus !=''"
>
and ss.student_status = #{studentStatus}
</if>
<if
test=
"studentType != null and studentType !=''"
>
and ss.student_type = #{studentType}
</if>
<if
test=
"ddUserId != null and ddUserId !=''"
>
and ss.dd_user_id = #{ddUserId}
</if>
</where>
order by ss.class_id asc
</select>
...
...
@@ -146,6 +151,7 @@
<if
test=
"studentStatus != null and studentStatus !=''"
>
and student_status = #{studentStatus}
</if>
<if
test=
"studentType != null and studentType !=''"
>
and student_type = #{studentType}
</if>
<if
test=
"oneCard != null and oneCard !=''"
>
and one_card = #{oneCard}
</if>
<if
test=
"ddUserId != null and ddUserId !=''"
>
and dd_user_id = #{ddUserId}
</if>
and del_flag = '0'
</where>
order by create_time desc
...
...
@@ -179,6 +185,7 @@
ss.student_type,
ss.one_card,
sg.class_alias
sg.dd_user_id
FROM school_student ss
LEFT JOIN school_class sg ON sg.id = ss.class_id
LEFT JOIN school_teacher st ON st.id = sg.teacher_id
...
...
@@ -213,6 +220,7 @@
ssp.parent_name,
ssp.relationship,
ssp.telephone
ssp.dd_user_id
FROM school_student s
LEFT JOIN school_class sg on sg.id = s.class_id
LEFT JOIN school_student_parent ssp on ssp.student_id = s.id
...
...
@@ -244,7 +252,7 @@
<select
id=
"getInfo"
resultType=
"yangtz.cs.liu.campus.vo.student.SchoolStudentVO"
>
select ss.id,ss.class_id,ss.student_name,ss.sex,ss.birthday,ss.nation,ss.stu_telephone,ss.postal_code,
ss.nature,ss.provincial_number,ss.national_number,ss.enrollment_year,ss.home_address,
ss.native_place, ss.avatar, ss.id_card,ss.school_no, ss.student_status, ss.platform,
ss.native_place, ss.avatar,
ss.dd_user_id,
ss.id_card,ss.school_no, ss.student_status, ss.platform,
ss.birth_address,ss.postal_address,ss.junior_school,ss.region,ss.foreign_languages,
ss.blood_type,ss.health,ss.other_regions,ss.floating_population,ss.support,ss.only_child,
ss.student_type, ss.one_card, ss.enrollment_time, ss.appearance, ss.registered_address, ss.registered_type,
...
...
@@ -284,7 +292,7 @@
<select
id=
"getInfoByidCard"
resultType=
"yangtz.cs.liu.campus.vo.student.SchoolStudentVO"
>
select ss.id,ss.class_id,ss.student_name,ss.sex,ss.birthday,ss.nation,ss.stu_telephone,ss.postal_code,
ss.nature,ss.provincial_number,ss.national_number,ss.enrollment_year,ss.home_address,
ss.native_place,sc.school_year, ss.avatar, ss.id_card,ss.school_no, ss.student_status,ss.platform,
ss.native_place,sc.school_year, ss.
dd_user_id,ss.
avatar, ss.id_card,ss.school_no, ss.student_status,ss.platform,
ss.birth_address,ss.postal_address,ss.junior_school,ss.region,ss.foreign_languages,
ss.blood_type,ss.health,ss.other_regions,ss.floating_population,ss.support,ss.only_child,
ss.student_type, ss.one_card, ss.enrollment_time, ss.appearance, ss.registered_address, ss.registered_type,
...
...
@@ -314,6 +322,7 @@
<if
test=
"data.studentStatus != null and data.studentStatus != ''"
>
student_status,
</if>
<if
test=
"data.studentType != null and data.studentType != ''"
>
student_type,
</if>
<if
test=
"data.oneCard != null and data.oneCard != ''"
>
one_card,
</if>
<if
test=
"data.ddUserId != null and data.ddUserId != ''"
>
dd_user_id,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"data.classId != null"
>
#{data.classId},
</if>
...
...
@@ -330,6 +339,7 @@
<if
test=
"data.studentStatus != null and data.studentStatus != ''"
>
#{data.studentStatus},
</if>
<if
test=
"data.studentType != null and data.studentType != ''"
>
#{data.studentType},
</if>
<if
test=
"data.oneCard != null and data.oneCard != ''"
>
#{data.oneCard},
</if>
<if
test=
"data.ddUserId != null and data.ddUserId != ''"
>
#{data.ddUserId},
</if>
</trim>
</foreach>
</insert>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment