Commit a9f5d1ff by zhaopanyu

Merge branch 'master' of 49.232.152.146:qangqi/dd_school

parents 51909be1 8dbf56c8
......@@ -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()
......
......@@ -7,7 +7,7 @@ git clone https://gitee.com/y_project/RuoYi-Vue
# 进入项目目录
cd ruoyi-ui
__
# 安装依赖
npm install
......
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'
})
}
<!--社团风采-->
<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)
......
<!--数据维护 -->
<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.name"></el-input>
<el-input readonly v-model="dialogForm.gradeName"></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.teacherName"></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.name"></el-input>
<el-input readonly v-model="dialogForm.age"></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>
<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.queryParams.pageNum = 1;
this.getList()
this.queryForm.pageNum = 1;
this.getList();
},
// 表单重置
reset() {
this.form = {
name: '',
range: '全体教师',
startTime: '',
endTime: ''
this.queryForm = {
noticeYear: "",
noticeSemester: "",
noticeRange: "",
noticeState: "",
noticeName: "",
startTime: "",
endTime: "",
};
this.resetForm("form");
this.resetForm("queryForm");
},
//重置按钮
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>
......@@ -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.114:8848`,
target: `http://192.168.1.117:8849`,
target: `http://47.105.176.202:5112`,
// target: `http://192.168.1.113:8848`,
changeOrigin: true,
pathRewrite: {
["^" + process.env.VUE_APP_BASE_API]: " ",
......
......@@ -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;
}
......@@ -36,4 +36,7 @@ public class SchoolGrade extends OurBaseEntity {
/** 级部名称 */
@Excel(name = "级部名称")
private String gradeName;
private String ddClassId;
}
......@@ -147,6 +147,8 @@ public class SchoolStudent extends OurBaseEntity {
private String support;
//独生子女(0否 1是)
private String onlyChild;
//钉钉userId
private String ddUserId;
/*
* 校园一卡通
......
......@@ -66,4 +66,6 @@ public interface SchoolClassMapper extends BaseMapper<SchoolClass> {
* 获取本级部下的班级
* */
List<Long> getClassesIdByGradeId(Long gradeId);
public Long selectDdClassId(String ddClssId);
}
......@@ -31,4 +31,8 @@ public interface SchoolGradeMapper extends BaseMapper<SchoolGrade> {
public List<String> getYearList();
List<SchoolGrade> selectNowSchoolGrade();
public Long selectDdClassId(String ddClssId);
String selectUpToYear();
}
......@@ -2433,4 +2433,8 @@ public class SchoolClassImpl extends ServiceImpl<SchoolClassMapper, SchoolClass>
}
@Override
public Long selectDdClassId(String ddId) {
return schoolClassMapper.selectDdClassId(ddId);
}
}
......@@ -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();
}
}
......@@ -91,4 +91,8 @@ public interface ISchoolClassService extends IService<SchoolClass> {
/**批量新增班级*/
int batchAdd(ClassBatchVo vo);
Long selectDdClassId(String ddId);
}
......@@ -25,5 +25,7 @@ public interface ISchoolGradeService extends IService<SchoolGrade> {
//获取最新学年
int isNewSchoolYear();
Long selectDdClassId(String ddId);
String selectUpToYear();
}
......@@ -301,4 +301,5 @@ public class SchoolStudentVO {
//教务-学生管理-学籍表-所在年级
private String currentGrade;
private String ddUserId;
}
......@@ -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;
}
......
......@@ -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>
......@@ -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>
......@@ -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>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment