Commit 4a312190 by zhaopanyu

Merge branch 'master' of 49.232.152.146:qangqi/dd_school

parents dfec8cdb e152ed88
......@@ -106,6 +106,7 @@ public class SysUser extends BaseEntity
private SysDept dept;
/** 角色对象 */
@Excel(name = "角色")
private List<SysRole> roles;
/** 角色组 */
......
package com.ruoyi.system.mapper;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
import com.ruoyi.common.core.domain.entity.SysDept;
......@@ -18,6 +20,10 @@ public interface SysDeptMapper
* @return 部门信息集合
*/
public List<SysDept> selectDeptList(SysDept dept);
public List<Map<String, Object>> selectDeptGroupByUserId(Long userId);
public List<SysDept> selectDepartmentDept(String deptName);
public SysDept selectParenById(@Param("deptId") Long deptId ,@Param("parenId") Long parenId);
public String selectSupDeptName(Long deptId);
/**
* 根据角色ID查询部门树信息
......
......@@ -21,6 +21,7 @@ public interface SysUserMapper {
public List<SysUser> selectUserList(SysUser sysUser);
public List<SysUser> selectUserListTypeLogin(SysUser sysUser);
public List<SysUser> selectDeptAncetorsByPernId(String deptId);
/**
* 根据条件分页查询已配用户角色列表
......@@ -30,6 +31,11 @@ public interface SysUserMapper {
*/
public List<SysUser> selectAllocatedList(SysUser user);
public List<String> selectDeptRoleBydeptId(String deptId);
public List<String> selectDeptPlaceBydeptId(String deptId);
/**
* 根据条件分页查询未分配用户角色列表
*
......
package com.ruoyi.system.service;
import java.util.List;
import java.util.Map;
import com.ruoyi.common.core.domain.TreeSelect;
import com.ruoyi.common.core.domain.entity.SysDept;
......@@ -18,6 +20,9 @@ public interface ISysDeptService
* @return 部门信息集合
*/
public List<SysDept> selectDeptList(SysDept dept);
public List<SysDept> selectDept(SysDept dept);
public List<Map<String,Object>> selectDeptGroupByUserId(Long userId);
public SysDept selectParenById(Long depeId,Long parenId);
/**
* 查询部门树结构信息
......
......@@ -26,6 +26,8 @@ public interface ISysUserService {
* @return 用户信息集合信息
*/
public List<SysUser> selectAllocatedList(SysUser user);
public List<String> selectDeptRoleBydeptId(String deptId);
public List<String> selectDeptPlaceBydeptId(String deptId);
/**
* 根据条件分页查询未分配用户角色列表
......
......@@ -3,6 +3,7 @@ package com.ruoyi.system.service.impl;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -46,6 +47,30 @@ public class SysDeptServiceImpl implements ISysDeptService
public List<SysDept> selectDeptList(SysDept dept)
{
return deptMapper.selectDeptList(dept);
}
@Override
public List<SysDept> selectDept(SysDept dept)
{
return deptMapper.selectDeptList(dept);
}
/**
* 根据用户查找所在的部门
* @param userId
* @return
*/
@Override
public List<Map<String, Object>> selectDeptGroupByUserId(Long userId) {
return deptMapper.selectDeptGroupByUserId(userId);
}
@Override
public SysDept selectParenById(Long deptId,Long parenId) {
return deptMapper.selectParenById(deptId,parenId);
}
/**
......
......@@ -93,6 +93,16 @@ public class SysUserServiceImpl implements ISysUserService {
return userMapper.selectAllocatedList(user);
}
@Override
public List<String> selectDeptRoleBydeptId(String deptId) {
return userMapper.selectDeptRoleBydeptId(deptId) ;
}
@Override
public List<String> selectDeptPlaceBydeptId(String deptId) {
return userMapper.selectDeptPlaceBydeptId(deptId) ;
}
/**
* 根据条件分页查询未分配用户角色列表
*
......
......@@ -47,7 +47,32 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
order by d.parent_id, d.order_num
</select>
<select id="selectDeptListByRoleId" resultType="Long">
<select id="selectDeptGroupByUserId" parameterType="Long" resultType="Map">
SELECT d.dept_id as deptId,d.dept_name AS deptName,d.parent_id as parentId FROM sys_user u
LEFT JOIN sys_dd_user_dept ud on u.user_id = ud.user_id LEFT JOIN sys_dept d on ud.dept_id = d.dept_id
WHERE u.user_id = #{dept} AND d.del_flag = 0
</select>
<select id="selectParenById" resultMap="SysDeptResult">
<include refid="selectDeptVo"/>
where dept_id=#{deptId} and parent_id = #{parenId} and del_flag = '0'
</select>
<select id="selectSupDeptName" resultType="String">
select d.ancestors FROM sys_dept d WHERE d.dept_id = #{deptId}
</select>
<select id="selectDepartmentDept" resultMap="SysDeptResult">
<include refid="selectDeptVo"/>
where dept_name like concat('%', #{deptName}, '%') and del_flag = '0'
</select>
<select id="selectDeptListByRoleId" resultType="Long">
select d.dept_id
from sys_dept d
left join sys_role_dept rd on d.dept_id = rd.dept_id
......
......@@ -167,6 +167,32 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where u.user_name = #{userName} and u.del_flag = '0'
</select>
<select id="selectDeptAncetorsByPernId" parameterType="String" resultMap="SysUserResult">
SELECT u. *,d.* FROM sys_user u LEFT JOIN sys_user_dept ud on u.user_id = ud.user_id LEFT JOIN sys_dept d on ud.dept_id = d.dept_id
where d.ancestors like concat('%', #{deptId}, '%') GROUP BY u.user_id
</select>
<select id="selectDeptRoleBydeptId" parameterType="String" resultType="String">
SELECT su.login_name name FROM sys_user su LEFT JOIN sys_user_dept u on su.user_id = u.user_id LEFT JOIN sys_dept d on d.dept_id = u.dept_id
LEFT JOIN sys_user_role ur on u.user_id = ur.user_id LEFT JOIN sys_role r
on r.role_id = ur.role_id WHERE r.role_name="级部主任" and d.ancestors like concat('%', #{deptId}, '%') GROUP BY su.user_id
</select>
<select id="selectDeptPlaceBydeptId" parameterType="String" resultType="String">
SELECT u.user_name FROM sys_user u LEFT JOIN sys_user_dept ud on u.user_id = ud.user_id LEFT JOIN sys_dept d on d.dept_id = ud.dept_id
LEFT JOIN sys_user_role ur on ur.user_id = u.user_id LEFT JOIN sys_role r on r.role_id = ur.role_id
WHERE r.role_key ="sectionLeader"
AND d.ancestors LIKE concat('%', #{deptId}, '%') GROUP BY u.user_name
</select>
<select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
<include refid="selectUserVo"/>
where u.user_id = #{userId}
......
......@@ -75,7 +75,7 @@ export function getteacherNotice(query) {
params: query
})
}
//老师查看档案详情
//老师查看详情
export function getNoticeInfo(query) {
return request({
url: '/teacherFiles/files/list',
......@@ -84,6 +84,14 @@ export function getNoticeInfo(query) {
})
}
//老师查看列表
export function getTeacherTnfo(userId) {
return request({
url: '/teacherFiles/files/getTeachList/'+userId,
method: 'get',
})
}
//级部查看档案详情
export function getDepInfo(query) {
return request({
......
......@@ -24,13 +24,6 @@
<el-button size="mini" icon="el-icon-refresh" @click="resetQuery"
>重置</el-button
>
<el-button
size="mini"
icon="el-icon-edit"
type="warning"
@click="handleEdit"
>修改</el-button
>
</el-form-item>
</el-form>
<el-table style="margin-top: 20px" border :data="tableData">
......@@ -38,32 +31,64 @@
<el-table-column
label="任务名称"
align="center"
prop="schoolYear"
prop="noticeName"
min-width="200"
/>
<el-table-column
label="任务状态"
align="center"
prop="level"
prop="noticeState"
min-width="150"
/>
>
<template slot-scope="{ row }">
{{
row.noticeState == 1
? "未发布"
: row.noticeState == 2
? "已发布"
: row.noticeState == 7
? "已结束"
: ""
}}
</template>
</el-table-column>
<el-table-column
label="填写状态"
align="center"
min-width="150"
prop="name"
/>
prop="state"
>
<template slot-scope="{ row }">
{{
row.state == 1
? "未发布"
: row.state == 2
? "已发布"
: row.state == 3
? "已填写"
: row.state == 4
? "已提交"
: row.state == 5
? "已确认"
: row.state == 7
? "已结束"
: row.state == 9
? "驳回"
: ""
}}
</template>
</el-table-column>
<el-table-column
label="开始时间"
align="center"
min-width="200"
prop="IDNum"
prop="startTime"
/>
<el-table-column
label="结束时间"
align="center"
min-width="150"
prop="schedule"
prop="endTime"
/>
<el-table-column
fixed="right"
......@@ -74,10 +99,51 @@
<template slot-scope="scope">
<!--已发布 未填写/已驳回 已填写-->
<div>
<el-button size="mini" type="text" @click="handleEdit(scope.row)"
<el-button
v-if="check == '1' ? false : true"
size="mini"
type="text"
@click="handleEdit(scope.row)"
>填写
</el-button>
<el-button size="mini" type="text" @click="handleSubmit(scope.row)"
<el-button
v-if="check == '1' ? false : true"
size="mini"
type="text"
@click="handleSubmit(scope.row)"
>提交
</el-button>
</div>
<!--已发布 未填写/已驳回 已填写-->
<div>
<el-button
v-if="
check == '2'
? true
: false || check == '4'
? true
: false || check == '5'
? true
: false
"
size="mini"
type="text"
@click="handleEdit(scope.row)"
>修改
</el-button>
<el-button
v-if="
check == '2'
? true
: false || check == '4'
? true
: false || check == '5'
? true
: false
"
size="mini"
type="text"
@click="handleSubmit(scope.row)"
>提交
</el-button>
</div>
......@@ -109,88 +175,181 @@
size="mini"
ref="form"
label-position="left"
:model="dialogForm"
:model="form"
label-width="120px"
>
<el-form-item label="学年学期:" style="padding-right: 10px">
<el-input readonly v-model="dialogForm.name"></el-input>
<el-form-item
label="学年学期:"
style="padding-right: 10px"
:disabled="true"
>
<el-input
v-model="form.filesSemester"
:disabled="status == '7' ? true : false"
></el-input>
</el-form-item>
<el-form-item label="级部:" style="padding-right: 10px">
<el-input readonly v-model="dialogForm.name"></el-input>
<el-form-item
:disabled="true"
label="级部:"
style="padding-right: 10px"
>
<el-input
v-model="form.gradeName"
:disabled="status == '7' ? true : false"
></el-input>
</el-form-item>
<el-form-item label="姓名:" style="padding-right: 10px">
<el-input readonly v-model="dialogForm.name"></el-input>
<el-form-item
:disabled="true"
label="姓名:"
style="padding-right: 10px"
>
<el-input
v-model="form.teacherName"
:disabled="status == '7' ? true : false"
></el-input>
</el-form-item>
<el-form-item label="性别:" style="padding-right: 10px">
<el-input readonly v-model="dialogForm.name"></el-input>
<!-- <el-form-item label="性别:" style="padding-right: 10px">
<el-input v-model="form.sex"></el-input>
</el-form-item> -->
<el-form-item
:disabled="true"
label="性别:"
style="padding-right: 10px"
>
<el-select
:disabled="status == '7' ? true : false"
v-model="form.sex"
placeholder="请输入性别"
style="width: 100%"
>
<el-option
v-for="dict in dict.type.sys_user_sex"
:key="dict.value"
:label="dict.label"
:value="dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="年龄:" style="padding-right: 10px">
<el-input readonly v-model="dialogForm.name"></el-input>
<el-form-item
:disabled="true"
label="年龄:"
style="padding-right: 10px"
>
<el-input
v-model="form.age"
:disabled="status == '7' ? true : false"
>
</el-input>
</el-form-item>
<el-form-item label="职称:" style="padding-right: 10px">
<el-form-item
:disabled="true"
label="职称:"
style="padding-right: 10px"
>
<el-input
:readonly="check == true ? true : false"
v-model="dialogForm.name"
v-model="form.title"
:disabled="status == '7' ? true : false"
></el-input>
</el-form-item>
<el-form-item label="学历:" style="padding-right: 10px">
<el-form-item
:disabled="true"
label="学历:"
style="padding-right: 10px"
>
<el-input
:readonly="check == true ? true : false"
v-model="dialogForm.name"
v-model="form.education"
:disabled="status == '7' ? true : false"
></el-input>
</el-form-item>
<el-form-item label="政治面貌:" style="padding-right: 10px">
<el-form-item
:disabled="true"
label="政治面貌:"
style="padding-right: 10px"
>
<el-input
:readonly="check == true ? true : false"
v-model="dialogForm.name"
v-model="form.appearance"
:disabled="status == '7' ? true : false"
></el-input>
</el-form-item>
<el-form-item label="任教学科:" style="padding-right: 10px">
<el-form-item
:disabled="true"
label="任教学科:"
style="padding-right: 10px"
>
<el-input
:readonly="check == true ? true : false"
v-model="dialogForm.name"
v-model="form.courseName"
:disabled="status == '7' ? true : false"
></el-input>
</el-form-item>
<el-form-item label="任教班级:" style="padding-right: 10px">
<el-form-item
:disabled="true"
label="任教班级:"
style="padding-right: 10px"
>
<el-input
:readonly="check == true ? true : false"
v-model="dialogForm.name"
v-model="form.className"
:disabled="status == '7' ? true : false"
></el-input>
</el-form-item>
<el-form-item label="任正班主任班级:" style="padding-right: 10px">
<el-form-item
:disabled="true"
label="任正班主任班级:"
style="padding-right: 10px"
>
<el-input
:readonly="check == true ? true : false"
v-model="dialogForm.name"
v-model="form.bzrClassName"
:disabled="status == '7' ? true : false"
></el-input>
</el-form-item>
<el-form-item label="任副班主任班级:" style="padding-right: 10px">
<el-form-item
:disabled="true"
label="任副班主任班级:"
style="padding-right: 10px"
>
<el-input
:readonly="check == true ? true : false"
v-model="dialogForm.name"
v-model="form.fbzrClassName"
:disabled="status == '7' ? true : false"
></el-input>
</el-form-item>
<el-form-item label="是否教学组长:" style="padding-right: 10px">
<el-form-item
:disabled="true"
label="是否教学组长:"
style="padding-right: 10px"
>
<el-input
:readonly="check == true ? true : false"
v-model="dialogForm.name"
v-model="form.isTeachingGroupLeader"
:disabled="status == '7' ? true : false"
></el-input>
</el-form-item>
<el-form-item label="是否教研组长:" style="padding-right: 10px">
<el-form-item
:disabled="true"
label="是否教研组长:"
style="padding-right: 10px"
>
<el-input
:readonly="check == true ? true : false"
v-model="dialogForm.name"
v-model="form.isResearchGroupLeader"
:disabled="status == '7' ? true : false"
></el-input>
</el-form-item>
<el-form-item label="设计课时量:" style="padding-right: 10px">
<el-form-item
:disabled="true"
label="设计课时量:"
style="padding-right: 10px"
>
<el-input
:readonly="check == true ? true : false"
v-model="dialogForm.name"
v-model="form.classHour"
:disabled="status == '7' ? true : false"
></el-input>
</el-form-item>
<el-form-item label="班主任情况:" style="padding-right: 10px">
<el-form-item
:disabled="true"
label="班主任情况:"
style="padding-right: 10px"
>
<el-input
:readonly="check == true ? true : false"
v-model="dialogForm.name"
v-model="form.classTeacherDetails"
:disabled="status == '7' ? true : false"
></el-input>
</el-form-item>
</el-form>
......@@ -209,8 +368,8 @@
</div>
<el-button
v-else
size="small"
type="primary"
size="small"
@click="dialogVisible = false"
>关 闭</el-button
>
......@@ -221,9 +380,11 @@
<span class="line"></span>
<span class="title">教育科研</span>
<el-button
:disabled="status == '7' ? true : false"
type="success"
size="mini"
style="float: right; margin-right: 50px; margin-top: 10px"
@click="handleExtract"
>提 取
</el-button>
</div>
......@@ -236,18 +397,34 @@
<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="thesisList.thesisName"
label="论文名称"
>
</el-table-column>
<el-table-column align="center" prop="province" label="级别">
<el-table-column
align="center"
prop="thesisList.level"
label="级别"
>
</el-table-column>
<el-table-column align="center" prop="city" label="等级">
<el-table-column
align="center"
prop="thesisList.grade"
label="等级"
>
</el-table-column>
<el-table-column align="center" prop="address" label="发表时间">
<el-table-column
align="center"
prop="thesisList.publishTime"
label="发表时间"
>
</el-table-column>
<el-table-column align="center" label="附件">
<template slot-scope="scope">
<!-- <template slot-scope="scope">
<el-link type="success" href=""></el-link>
</template>
</template> -->
</el-table-column>
</el-table>
</div>
......@@ -261,15 +438,19 @@
<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>
<el-table-column align="center" prop="address" label="发表时间">
<el-table-column
align="center"
prop="materialList.name"
label="名称"
>
</el-table-column>
<el-table-column align="center" label="附件">
<template slot-scope="scope">
<el-link type="success" href=""></el-link>
</template>
<el-table-column
align="center"
prop="materialList.publishTime"
label="发表时间"
>
</el-table-column>
<el-table-column align="center" label="附件"> </el-table-column>
</el-table>
</div>
<div class="tableThird">
......@@ -280,17 +461,25 @@
<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>
<el-table-column align="center" prop="address" label="培训名称">
<el-table-column
align="center"
prop="trainingList.trainingTime"
label="培训时间"
>
</el-table-column>
<el-table-column align="center" prop="address" label="是否合格">
<el-table-column
align="center"
prop="trainingList.trainingName"
label="培训名称"
>
</el-table-column>
<el-table-column align="center" label="附件">
<template slot-scope="scope">
<el-link type="success" href=""></el-link>
</template>
<el-table-column
align="center"
prop="trainingList.isQualified"
label="是否合格"
>
</el-table-column>
<el-table-column align="center" label="附件"> </el-table-column>
</el-table>
</div>
<div class="tableForth">
......@@ -301,19 +490,31 @@
<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>
<el-table-column align="center" prop="address" label="获奖时间">
<el-table-column
align="center"
prop="awardList.awardName"
label="获奖名称"
>
</el-table-column>
<el-table-column align="center" prop="address" label="获奖等级">
<el-table-column
align="center"
prop="awardList.awardTime"
label="获奖时间"
>
</el-table-column>
<el-table-column align="center" prop="address" label="发证机关">
<el-table-column
align="center"
prop="awardList.gradeOfAward"
label="获奖等级"
>
</el-table-column>
<el-table-column align="center" label="附件">
<template slot-scope="scope">
<el-link type="success" href=""></el-link>
</template>
<el-table-column
align="center"
prop="awardList.licenselssuingAuthority"
label="发证机关"
>
</el-table-column>
<el-table-column align="center" label="附件"> </el-table-column>
</el-table>
</div>
</div>
......@@ -335,6 +536,7 @@ import {
delTaskInfo, //任务删除
getteacherNotice, // 通知下档案查看|数据维护
getNoticeInfo, //老师查看档案详情
getTeacherTnfo, //档案列表
getDepInfo, //级部查看档案详情
getFileTnfo, //查看档案详情
syncNotice, //同步档案
......@@ -346,6 +548,7 @@ import {
} from "@/api/smartSchool/teacherFiles/teacherElectronicFile";
export default {
name: "personElectronicRecord",
dicts: ["sys_user_sex"],
data() {
return {
// 遮罩层
......@@ -359,7 +562,24 @@ export default {
},
tableData: [],
dialogVisible: false,
form: {},
form: {
filesSemester: "",
gradeName: "",
teacherName: "",
sex: "",
age: "",
title: "",
education: "",
appearance: "",
courseName: "",
className: "",
bzrClassName: "",
fbzrClassName: "",
isTeachingGroupLeader: "",
isResearchGroupLeader: "",
classHour: "",
classTeacherDetails: "",
},
status: this.$route.query.status,
dialogTableData: [],
check: false,
......@@ -378,23 +598,41 @@ export default {
};
},
mounted() {
console.log("id", this.$route.query.id);
console.log("status", this.status);
this.getList();
},
methods: {
/** 查询信息列表 */
getList() {
this.loading = true;
listTeacherNotice(this.queryForm).then((res) => {
console.log(this.queryForm, "getListquery");
// const userName = this.$store.state.user;
const userId = this.$store.state.user.userId;
// const params = {
// pageNum: this.queryForm.pageNum,
// pageSize: this.queryForm.pageSize,
// teacherId: this.$store.state.user.userId,
// };
getTeacherTnfo(userId).then((res) => {
this.tableData = res.rows;
// console.log(params, "params");
console.log(res, "res");
this.total = res.total;
// this.total = res.total;
});
},
// 提取 `
handleExtract() {
const id = this.form.fid;
syncNotice(id).then((res) => {
console.log(id, "id");
// console.log("res提取", res);
// this.tableFirstData = res;
// this.tableSecondData = res;
// this.tableThirdData = res;
// this.tableForthData = res;
});
},
// 搜索按钮
handleQuery() {
this.queryParams.pageNum = 1;
this.queryForm.pageNum = 1;
this.getList();
},
// 重置按钮
......@@ -411,20 +649,104 @@ export default {
//查看按钮
handleCheck(row) {
this.check = true;
this.title = "基本信息查看";
this.dialogVisible = true;
const id = row.fid;
getFileTnfo(id).then((res) => {
this.form = res.data;
this.title = "基本信息查看";
});
},
//填写按钮
handleEdit(row) {
this.check = false;
this.title = "基本信息修改";
this.dialogVisible = true;
// this.form = row;
const id = row.fid;
getFileTnfo(id).then((res) => {
this.form = res.data;
});
// /teacherFiles/files/30 查看档案详情列表
},
//提交按钮
handleSubmit(row) {},
handleSubmit(row) {
this.$modal
.confirm("是否提交该活动?")
.then(function () {
return fileSubReview(row.id);
console.log(row, "提交按钮");
})
.then(() => {
this.getList();
this.$modal.msgSuccess("提交成功");
})
.catch((err) => {
console.error(err);
});
},
//弹窗确定按钮
confirmDialog() {
this.dialogVisible = false;
confirmDialog(row) {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.fid != null) {
// 修改
const params = {
id: this.form.fid,
sex: this.form.sex,
age: this.form.age,
title: this.form.title,
education: this.form.education,
appearance: this.form.appearance,
courseName: this.form.courseName,
className: this.form.className,
bzrClassName: this.form.bzrClassName,
fbzrClassName: this.form.fbzrClassName,
isTeachingGroupLeader: this.form.isTeachingGroupLeader,
isResearchGroupLeader: this.form.isResearchGroupLeader,
classHour: this.form.classHour,
classTeacherDetails: this.form.classTeacherDetails,
state: this.form.state,
};
console.log(params, "修改");
updateInfo(params)
.then((response) => {
this.getList();
this.$message.success("修改成功");
this.dialogVisible = false;
})
.catch((err) => {});
} else {
// 新增
const params = {
id: this.form.fid,
sex: this.form.sex,
age: this.form.age,
title: this.form.title,
education: this.form.education,
appearance: this.form.appearance,
courseName: this.form.courseName,
className: this.form.className,
bzrClassName: this.form.bzrClassName,
fbzrClassName: this.form.fbzrClassName,
isTeachingGroupLeader: this.form.isTeachingGroupLeader,
isResearchGroupLeader: this.form.isResearchGroupLeader,
classHour: this.form.classHour,
classTeacherDetails: this.form.classTeacherDetails,
state: this.form.state,
};
console.log(params, "新增");
updateInfo(params)
.then((response) => {
this.getList();
this.$message.success("新增成功");
this.dialogVisible = false;
})
.catch((err) => {});
}
}
});
},
},
};
......
......@@ -42,6 +42,17 @@ public class TeacherFilesController extends BaseController
}
/**
* 老师查看自己的档案任务
*/
@GetMapping("getTeachList/{userId}")
public TableDataInfo teachList(@PathVariable("userId") Long userId){
startPage();
List<TeacherFilesNotice> teacherFilesNotices = teacherFilesService.selctTeacherByUserId(userId);
return getDataTable(teacherFilesNotices);
}
/**
* 导出教师档案列表
*/
@PreAuthorize("@ss.hasPermi('teacherFiles:files:export')")
......@@ -72,6 +83,7 @@ public class TeacherFilesController extends BaseController
@PostMapping
public AjaxResult add(@RequestBody TeacherFiles teacherFiles)
{
teacherFiles.setState("0");
return toAjax(teacherFilesService.insertTeacherFiles(teacherFiles));
}
......@@ -91,10 +103,10 @@ public class TeacherFilesController extends BaseController
*/
@PreAuthorize("@ss.hasPermi('teacherFiles:files:remove')")
@Log(title = "教师档案", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
public AjaxResult remove(@PathVariable Long id)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(teacherFilesService.deleteTeacherFilesById(id));
return toAjax(teacherFilesService.deleteTeacherFilesByIds(ids));
}
......
......@@ -21,6 +21,8 @@ public class TeacherFilesNotice extends BaseEntity
/** id */
private String id;
private Long fId;
/** 范围 */
@Excel(name = "范围")
private String noticeRange;
......@@ -37,7 +39,9 @@ public class TeacherFilesNotice extends BaseEntity
@Excel(name = "通知名称")
private String noticeName;
/** 状态 */
/** 状态
* @Excel(name = "状态 (1未发布 2已发布 3已填写 4已提交 5已确认 9驳回)" )
* */
@Excel(name = "状态")
private String noticeState;
......@@ -51,5 +55,10 @@ public class TeacherFilesNotice extends BaseEntity
@Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date endTime;
/**
* 填写状态 (1未发布 2已发布 3已填写 4已提交 5已确认 9驳回)"
*/
private String state;
}
......@@ -68,4 +68,6 @@ public interface SchoolClassMapper extends BaseMapper<SchoolClass> {
List<Long> getClassesIdByGradeId(Long gradeId);
public Long selectDdClassId(String ddClssId);
List<SchoolClassVo> selectTeacherByTeachId(Long teachId);
}
......@@ -2,8 +2,12 @@ package yangtz.cs.liu.campus.mapper.schoolCurriculum;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import yangtz.cs.liu.campus.domain.schoolCurriculum.SchoolCurriculum;
@Mapper
public interface SchoolCurriculumMapper extends BaseMapper<SchoolCurriculum> {
@Select("select * from school_curriculum where course_name =#{name}")
SchoolCurriculum selectCourseName(String name);
}
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.Map;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import yangtz.cs.liu.campus.domain.schoolgrade.SchoolGrade;
import yangtz.cs.liu.campus.domain.schoolgrade.SchoolGradeMentor;
import yangtz.cs.liu.campus.vo.schoolgrade.SchoolGradeMentorVo;
......@@ -25,8 +26,15 @@ public interface SchoolGradeMapper extends BaseMapper<SchoolGrade> {
List<Long> getGradeIdsByYear(int schoolYear);
@Select("SELECT school_year FROM school_grade GROUP BY school_year")
List<String> selectSchoolYearGruoUp();
//获取最新学年
int isNewSchoolYear();
SchoolGrade selectGradeByName(String name);
public List<String> getYearList();
......
......@@ -48,6 +48,8 @@ public interface SchoolTeacherMapper extends BaseMapper<SchoolTeacher>{
*/
SchoolTeacher selectTeacher(String teacherIdCard);
SchoolTeacher selectTeacherByDdUerId(String dduserId);
/**
* 微信公众号(通过姓名查询)
* @param teacherName
......
package yangtz.cs.liu.campus.mapper.teacherFiles;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import yangtz.cs.liu.campus.domain.teacherFiles.TeacherFilesNotice;
import yangtz.cs.liu.campus.domain.teacherFiles.TeacherFilesNoticeTotal;
import yangtz.cs.liu.campus.vo.teacherFiles.SchoolClassByGradeVo;
......@@ -40,6 +41,10 @@ public interface TeacherFilesNoticeMapper
*/
public int insertTeacherFilesNotice(TeacherFilesNotice teacherFilesNotice);
@Select("SELECT fn.*,tf.state,tf.id as fId from teacher_files tf LEFT JOIN teacher_files_notice fn on fn.id= tf.notice_id WHERE tf.teacher_id = #{userId} and fn.notice_state = 2")
public List<TeacherFilesNotice> selctTeacherByUserId(Long userId);
/**
* 修改教师档案通知
*
......
......@@ -98,7 +98,13 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea
@Override
public SchoolLabClassYearVo selectSchoolLabClassYearById(Long id)
{
return schoolLabClassYearMapper.selectSchoolLabClassYearById(id);
SchoolLabClassYearVo schoolLabClassYearVo = schoolLabClassYearMapper.selectSchoolLabClassYearById(id);
LambdaQueryWrapper<SchoolLabClassYearRelation> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolLabClassYearRelation::getLabClassYearId,schoolLabClassYearVo.getId());
List<SchoolLabClassYearRelation> relations = relationMapper.selectList(wrapper);
schoolLabClassYearVo.setSchoolLabClassYearRelationList(relations);
return schoolLabClassYearVo;
}
/**
......
......@@ -47,6 +47,12 @@ public class ISchoolGradeImpl extends ServiceImpl<SchoolGradeMapper, SchoolGrade
return schoolGradeMapper.selectList(lqw);
}
@Override
public List<String> selectSchoolYearGruoUp() {
return schoolGradeMapper.selectSchoolYearGruoUp();
}
//判断所在班级所在级部(存在一个老师跨几个级部教学,比如体育老师,所以获取教授班级所在级部,随便选择某个级部即可)
@Override
public Long getGradeId(Long userId) {
......@@ -120,6 +126,12 @@ public class ISchoolGradeImpl extends ServiceImpl<SchoolGradeMapper, SchoolGrade
return resList;
}
@Override
public SchoolGrade selectGradeByName(String gradName) {
return schoolGradeMapper.selectGradeByName(gradName);
}
/**
* 升级
* (初始化三条数据后,可进行升级操作,新插入一条级部信息,上两个级部的学年和年级自动+1)
......
package yangtz.cs.liu.campus.service.impl.teacherFiles;
import com.ruoyi.common.core.domain.entity.SchoolTeacher;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.mapper.SysDeptMapper;
import com.ruoyi.system.mapper.SysUserMapper;
import org.apache.catalina.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import yangtz.cs.liu.campus.controller.A;
import yangtz.cs.liu.campus.domain.schoolClass.SchoolClass;
import yangtz.cs.liu.campus.domain.schoolClass.SchoolClassMentor;
import yangtz.cs.liu.campus.domain.schoolgrade.SchoolGrade;
import yangtz.cs.liu.campus.domain.teacherFiles.TeacherFiles;
import yangtz.cs.liu.campus.domain.teacherFiles.TeacherFilesNotice;
import yangtz.cs.liu.campus.domain.teacherFiles.TeacherFilesNoticeTotal;
import yangtz.cs.liu.campus.mapper.schoolClass.SchoolClassMapper;
import yangtz.cs.liu.campus.mapper.schoolClass.SchoolClassMentorMapper;
import yangtz.cs.liu.campus.mapper.schoolgrade.SchoolGradeMapper;
import yangtz.cs.liu.campus.mapper.teacher.SchoolTeacherMapper;
import yangtz.cs.liu.campus.mapper.teacherFiles.TeacherFilesMapper;
import yangtz.cs.liu.campus.mapper.teacherFiles.TeacherFilesNoticeMapper;
import yangtz.cs.liu.campus.service.schoolClass.ISchoolClassMentorService;
import yangtz.cs.liu.campus.service.schoolClass.ISchoolClassService;
import yangtz.cs.liu.campus.service.schoolgrade.ISchoolGradeService;
import yangtz.cs.liu.campus.service.teacherFiles.ITeacherFilesNoticeService;
import yangtz.cs.liu.campus.vo.teacherFiles.SchoolClassByGradeVo;
import yangtz.cs.liu.campus.vo.teacherFiles.SchoolGradeByClassVo;
import yangtz.cs.liu.wechat.vo.schoolClass.SchoolClassVo;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -42,7 +58,18 @@ public class TeacherFilesNoticeServiceImpl implements ITeacherFilesNoticeService
private SchoolTeacherMapper schoolTeacherMapper;
@Autowired
private SysDeptMapper sysDeptMapper;
@Autowired
private SysUserMapper sysUserMapper;
@Autowired
private SchoolClassMapper schoolClassMapper;
@Autowired
private SchoolClassMentorMapper classMentorMapper;
@Autowired
private SchoolGradeMapper gradeMapper;
/**
* 教师教室档案通知
*
......@@ -85,87 +112,157 @@ public class TeacherFilesNoticeServiceImpl implements ITeacherFilesNoticeService
teacherFilesNotice.setCreateTime(DateUtils.getNowDate());
int i = teacherFilesNoticeMapper.insertTeacherFilesNotice(teacherFilesNotice);
//获取所有带级部的部门
List<SysDept> sysDepts = sysDeptMapper.selectDepartmentDept("级部");
List<SysUser> userList = new ArrayList<>();
for (SysDept dept :sysDepts){
String[] split = dept.getAncestors().split(",");
if (split.length != 2){
continue;
}
//找到每一个级部下所有的人员
List<SysUser> sysUsers = sysUserMapper.selectDeptAncetorsByPernId(dept.getDeptId().toString());
Map<String,Object> map = new HashMap<>();
map.put("gruop",dept.getDeptName());
//获取级部
List<SchoolGrade> schoolGrades = schoolGradeMapper.selectNowSchoolGrade();
for(SchoolGrade schoolGrade:schoolGrades){
sysUsers.forEach(date->{
date.setParams(map);
});
userList.addAll(sysUsers);
}
//获取所有老师 去重
List<SysUser> trrUserList = userList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(()
-> new TreeSet<>(Comparator.comparing(SysUser :: getUserId))), ArrayList::new));
List<TeacherFiles> teacherFilesList = new ArrayList<>();
for (SysUser user : trrUserList){
//部门
Map<String, Object> params = user.getParams();
String gruopName = (String)params.get("gruop");
//获取级部
SchoolGrade schoolGrade = schoolGradeMapper.selectGradeByName(gruopName);
//查看当前老师是否在班级中当班主任
//通知所有教师
List<SchoolClassVo> schoolClassVos = schoolClassMapper.selectTeacherByTeachId(user.getUserId());
String teahClassName = null;
String className = null;
//只取第一个
if (!schoolClassVos.isEmpty()){
teahClassName = schoolClassVos.get(0).getClassName();
className = schoolClassVos.get(0).getClassName();
}
//班主任信息
TeacherFiles teacherFiles = new TeacherFiles();
teacherFiles.setTeacherId(user.getUserId());
teacherFiles = teacherFilesAddXx(teacherFiles);
teacherFiles.setNoticeId(noticeId);
teacherFiles.setFilesSemester(teacherFilesNotice.getNoticeYear()+"学年"+teacherFilesNotice.getNoticeSemester());
teacherFiles.setGradeId(schoolGrade.getId());
teacherFiles.setGradeName(schoolGrade.getGradeName());
teacherFiles.setBzrClassName(teahClassName);
teacherFiles.setState("2");
teacherFiles = teacherFilesAddXx(teacherFiles); //老师个人信息
//找到老师课程
// TODO 修改最新学年
int schoolYear = gradeMapper.isNewSchoolYear();
List<SchoolClassMentor> mentorByTeacherId = classMentorMapper.getMentorByTeacherId(user.getUserId(), schoolYear);
if (!mentorByTeacherId.isEmpty()){
teacherFiles.setCourseName(mentorByTeacherId.get(0).getCourseName());
if (StringUtils.isEmpty(className)){
//根据课程关联找寻班级
SchoolClass schoolClass = schoolClassMapper.selectById(mentorByTeacherId.get(0).getClassId());
className = schoolClass.getClassName();
}
}
teacherFiles.setClassName(className);
teacherFilesList.add(teacherFiles);
}
//导入数据库
teacherFilesList.forEach(date->{
teacherFilesMapper.insertTeacherFiles(date);
});
Map<Long,TeacherFiles> teacherFilesMap = new HashMap();
Long gradeId = schoolGrade.getId();
String gradeName = schoolGrade.getGradeName();
//获取班级
List<SchoolClassByGradeVo> schoolClassByGrade = teacherFilesNoticeMapper.getSchoolClassByGrade(gradeId);
for(SchoolClassByGradeVo schoolClass:schoolClassByGrade){
Long classId=schoolClass.getId();
String classAlias=schoolClass.getClassAlias();
System.out.println(classAlias);
if(schoolClass.getTeacherId()!=null){
if(teacherFilesMap.get(schoolClass.getTeacherId())==null){
TeacherFiles teacherFiles = new TeacherFiles();
teacherFiles.setTeacherId(schoolClass.getTeacherId());
teacherFiles = teacherFilesAddXx(teacherFiles);
teacherFiles.setNoticeId(noticeId);
teacherFiles.setFilesSemester(teacherFilesNotice.getNoticeYear()+"学年"+teacherFilesNotice.getNoticeSemester());
teacherFiles.setGradeId(gradeId);
teacherFiles.setGradeName(gradeName);
teacherFiles.setBzrClassName(classAlias);
teacherFiles.setState("1");
teacherFilesMap.put(schoolClass.getTeacherId(),teacherFiles);
}else{
TeacherFiles teacherFiles = teacherFilesMap.get(schoolClass.getTeacherId());
String bzrClassName = teacherFiles.getBzrClassName();
if(bzrClassName==null){
teacherFiles.setBzrClassName(classAlias);
}else{
teacherFiles.setBzrClassName(teacherFiles.getBzrClassName()+"、"+classAlias);
}
teacherFilesMap.put(schoolClass.getTeacherId(),teacherFiles);
}
}
//获取班级老师
List<SchoolGradeByClassVo> schoolGradeByClassVos = teacherFilesNoticeMapper.selectTeacherByClass(classId);
for(SchoolGradeByClassVo grade:schoolGradeByClassVos){
if(teacherFilesMap.get(grade.getTeacherId())==null){
//没有记录
TeacherFiles teacherFiles = new TeacherFiles();
teacherFiles.setTeacherId(grade.getTeacherId());
teacherFiles = teacherFilesAddXx(teacherFiles);
teacherFiles.setNoticeId(noticeId);
teacherFiles.setFilesSemester(teacherFilesNotice.getNoticeYear()+"学年"+teacherFilesNotice.getNoticeSemester());
teacherFiles.setGradeId(gradeId);
teacherFiles.setGradeName(gradeName);
teacherFiles.setCourseName(grade.getCourseName());
teacherFiles.setClassName(classAlias);
teacherFiles.setState("1");
teacherFilesMap.put(grade.getTeacherId(),teacherFiles);
}else{
//有记录
TeacherFiles teacherFiles = teacherFilesMap.get(schoolClass.getTeacherId());
if(teacherFiles.getClassName()==null){
teacherFiles.setClassName(classAlias);
}else{
if(!teacherFiles.getClassName().contains(classAlias)){
teacherFiles.setClassName(teacherFiles.getClassName()+"、"+classAlias);
}
}
if(teacherFiles.getCourseName()==null){
teacherFiles.setCourseName(grade.getCourseName());
}else{
if(!teacherFiles.getCourseName().contains(grade.getCourseName())){
teacherFiles.setCourseName(teacherFiles.getCourseName()+"、"+grade.getCourseName());
}
}
teacherFilesMap.put(schoolClass.getTeacherId(),teacherFiles);
}
}
}
teacherFilesMap.forEach((teacherId,teacherFiles)->{
teacherFilesMapper.insertTeacherFiles(teacherFiles);
});
}
// //获取级部
// List<SchoolGrade> schoolGrades = schoolGradeMapper.selectNowSchoolGrade();
// for(SchoolGrade schoolGrade:schoolGrades){
// Map<Long,TeacherFiles> teacherFilesMap = new HashMap();
// Long gradeId = schoolGrade.getId();
// String gradeName = schoolGrade.getGradeName();
// //获取班级
// List<SchoolClassByGradeVo> schoolClassByGrade = teacherFilesNoticeMapper.getSchoolClassByGrade(gradeId);
// for(SchoolClassByGradeVo schoolClass:schoolClassByGrade){
// Long classId=schoolClass.getId();
// String classAlias=schoolClass.getClassAlias();
//
// if(schoolClass.getTeacherId()!=null){
// if(teacherFilesMap.get(schoolClass.getTeacherId())==null){
// TeacherFiles teacherFiles = new TeacherFiles();
// teacherFiles.setTeacherId(schoolClass.getTeacherId());
// teacherFiles = teacherFilesAddXx(teacherFiles);
// teacherFiles.setNoticeId(noticeId);
// teacherFiles.setFilesSemester(teacherFilesNotice.getNoticeYear()+"学年"+teacherFilesNotice.getNoticeSemester());
// teacherFiles.setGradeId(gradeId);
// teacherFiles.setGradeName(gradeName);
// teacherFiles.setBzrClassName(classAlias);
// teacherFiles.setState("1");
// teacherFilesMap.put(schoolClass.getTeacherId(),teacherFiles);
// }else{
// TeacherFiles teacherFiles = teacherFilesMap.get(schoolClass.getTeacherId());
// String bzrClassName = teacherFiles.getBzrClassName();
// if(bzrClassName==null){
// teacherFiles.setBzrClassName(classAlias);
// }else{
// teacherFiles.setBzrClassName(teacherFiles.getBzrClassName()+"、"+classAlias);
// }
// teacherFilesMap.put(schoolClass.getTeacherId(),teacherFiles);
// }
//
// }
// //获取班级老师
// List<SchoolGradeByClassVo> schoolGradeByClassVos = teacherFilesNoticeMapper.selectTeacherByClass(classId);
// for(SchoolGradeByClassVo grade:schoolGradeByClassVos){
//
// if(teacherFilesMap.get(grade.getTeacherId())==null){
// //没有记录
// TeacherFiles teacherFiles = new TeacherFiles();
// teacherFiles.setTeacherId(grade.getTeacherId());
// teacherFiles = teacherFilesAddXx(teacherFiles);
// teacherFiles.setNoticeId(noticeId);
// teacherFiles.setFilesSemester(teacherFilesNotice.getNoticeYear()+"学年"+teacherFilesNotice.getNoticeSemester());
// teacherFiles.setGradeId(gradeId);
// teacherFiles.setGradeName(gradeName);
// teacherFiles.setCourseName(grade.getCourseName());
// teacherFiles.setClassName(classAlias);
// teacherFiles.setState("1");
// teacherFilesMap.put(grade.getTeacherId(),teacherFiles);
// }else{
// //有记录
// TeacherFiles teacherFiles = teacherFilesMap.get(schoolClass.getTeacherId());
// if(teacherFiles.getClassName()==null){
// teacherFiles.setClassName(classAlias);
// }else{
// if(!teacherFiles.getClassName().contains(classAlias)){
// teacherFiles.setClassName(teacherFiles.getClassName()+"、"+classAlias);
// }
// }
// if(teacherFiles.getCourseName()==null){
// teacherFiles.setCourseName(grade.getCourseName());
// }else{
// if(!teacherFiles.getCourseName().contains(grade.getCourseName())){
// teacherFiles.setCourseName(teacherFiles.getCourseName()+"、"+grade.getCourseName());
// }
// }
// teacherFilesMap.put(schoolClass.getTeacherId(),teacherFiles);
// }
// }
// }
// teacherFilesMap.forEach((teacherId,teacherFiles)->{
// teacherFilesMapper.insertTeacherFiles(teacherFiles);
// });
// }
return i;
}
......@@ -210,12 +307,14 @@ public class TeacherFilesNoticeServiceImpl implements ITeacherFilesNoticeService
@Override
public int release(String id) {
//通知
TeacherFilesNotice teacherFilesNotice =new TeacherFilesNotice();
teacherFilesNotice.setId(id);
teacherFilesNotice.setUpdateTime(DateUtils.getNowDate());
teacherFilesNotice.setNoticeState("2");
int i = teacherFilesMapper.updateTeacherFilesState(id);
teacherFilesNoticeMapper.updateTeacherFilesNotice(teacherFilesNotice);
//修改任务状态
int i = teacherFilesMapper.updateTeacherFilesState(id);
return i;
}
......
......@@ -74,6 +74,12 @@ public class TeacherFilesServiceImpl implements ITeacherFilesService
return teacherFilesMapper.selectTeacherFilesList(teacherFiles);
}
@Override
public List<TeacherFilesNotice> selctTeacherByUserId(Long userId) {
return teacherFilesNoticeMapper.selctTeacherByUserId(userId);
}
/**
* 新增教师档案
*
......
......@@ -14,6 +14,8 @@ public interface ISchoolGradeService extends IService<SchoolGrade> {
List<SchoolGrade> queryList(SchoolGrade schoolGrade);
List<String> selectSchoolYearGruoUp();
Long getGradeId(Long userId);
Long getMemberGrade(Long userId);
......@@ -22,6 +24,7 @@ public interface ISchoolGradeService extends IService<SchoolGrade> {
List<GradeTreeSelect> buildGradeTreeList(List<SchoolGrade> gradeList);
int upgrade();
SchoolGrade selectGradeByName(String gradName);
//获取最新学年
int isNewSchoolYear();
......
......@@ -57,14 +57,14 @@ public interface ISchoolStudentService extends IService<SchoolStudent> {
* @param teacherId
* @return
*/
Long getDdUserId(String foUserId);
List<SchoolStudent> getMemberByTeacher(Long teacherId);
/**
* 根据dduserId查找id
* @param teacherId
* @return
*/
List<SchoolStudent> getMemberByTeacher(Long teacherId);
Long getDdUserId(String foUserId);
/**
* 家长查看班级其他同学
......
package yangtz.cs.liu.campus.service.teacherFiles;
import yangtz.cs.liu.campus.domain.teacherFiles.TeacherFiles;
import yangtz.cs.liu.campus.domain.teacherFiles.TeacherFilesNotice;
import yangtz.cs.liu.campus.domain.teacherFiles.TeacherFilesVO;
import java.util.List;
......@@ -28,6 +29,7 @@ public interface ITeacherFilesService
* @return 教师档案集合
*/
public List<TeacherFiles> selectTeacherFilesList(TeacherFiles teacherFiles);
public List<TeacherFilesNotice> selctTeacherByUserId(Long userId);
/**
* 新增教师档案
......
......@@ -8,6 +8,8 @@ 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.mapper.SysDeptMapper;
import com.ruoyi.system.service.ISysDictDataService;
import com.ruoyi.system.service.ISysUserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -18,12 +20,13 @@ import org.springframework.web.bind.annotation.RestController;
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.schoolCurriculum.SchoolCurriculum;
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;
import yangtz.cs.liu.campus.domain.student.SchoolStudentParent;
import yangtz.cs.liu.campus.mapper.schoolCurriculum.SchoolCurriculumMapper;
import yangtz.cs.liu.campus.service.schoolClass.ISchoolClassHeadmasterService;
import yangtz.cs.liu.campus.service.schoolClass.ISchoolClassMentorService;
import yangtz.cs.liu.campus.service.schoolClass.ISchoolClassService;
......@@ -34,7 +37,6 @@ 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;
......@@ -95,11 +97,18 @@ public class DingJiaXiaoController {
@Autowired
ISysUserService sysUserService;
@Autowired
SysDeptMapper sysDeptMapper;
@Autowired
SchoolCurriculumMapper schoolCurriculumMapper;
public List<String> userTypes = new ArrayList<String>(){
{
this.add("teacher");
this.add("guardian");
this.add("student");
this.add("guardian");
}
};
......@@ -296,11 +305,6 @@ public class DingJiaXiaoController {
continue;
}
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();
......@@ -315,11 +319,17 @@ public class DingJiaXiaoController {
schoolClassss.setTeacherTel(classHeadTeacher.getTeacherTel());
iSchoolClassService.updateById(schoolClassss);
}else {
//查找部门 课程没有编写
SysUser sysUser = sysUserService.selectUserById(classHeadTeacher.getId());
String deptName = sysUser.getDept().getDeptName();
//根据部门查找课程信息
SchoolCurriculum schoolCurriculum = schoolCurriculumMapper.selectCourseName(deptName);
//任课老师 跟班级关系
SchoolClassMentor schoolClassMentor = new SchoolClassMentor();
schoolClassMentor.setTeacherId(classHeadTeacher.getId());
schoolClassMentor.setClassId(date.getId());
//查找部门 课程没有编写
schoolClassMentor.setCourseName(schoolCurriculum.getCourseName());
schoolClassMentor.setCourseId(schoolCurriculum.getId());
schoolClassMentorService.save(schoolClassMentor);
}
}
......@@ -348,21 +358,13 @@ public class DingJiaXiaoController {
schoolStudentClasses.setTeacherName(school.getTeacherName());
schoolStudentClassesService.save(schoolStudentClasses);
}
} else if (type.equals("guardian")) {
//监护人
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 =null;
if (!schoolStudentVOS.isEmpty()){
studenId = schoolStudentVOS.get(0).getId();
}
Long ddUserId = schoolStudentService.getDdUserId(toUserId);
//创建用户user表
SysUser jUser = new SysUser();
......@@ -375,12 +377,13 @@ public class DingJiaXiaoController {
jUser.setStatus("0");
jUser.setDelFlag("0");
jUser.setUnionId(guarDate.getUnionid());
jUser.setDdUserId(guarDate.getUserId());
jUser.setRoleIds(new Long[]{111L});
jUser.setStudentId(studenId);
jUser.setStudentId(ddUserId);
sysUserService.insertUser(jUser);
//家长表
SchoolStudentParent schoolStudentParent = new SchoolStudentParent() ;
schoolStudentParent.setStudentId(studenId);
//家长表
SchoolStudentParent schoolStudentParent = new SchoolStudentParent() ;
schoolStudentParent.setStudentId(ddUserId);
schoolStudentParent.setUserId(jUser.getUserId());
schoolStudentParent.setParentName(guarDate.getName());
schoolStudentParent.setTelephone(guarDate.getMobile());
......@@ -394,11 +397,11 @@ public class DingJiaXiaoController {
return "";
return "完成";
}
//获取监护人详情 获取学生userid
private String getToUserId(String token,String fromUserId,String classId){
public String getToUserId(String token,String fromUserId,String classId){
String toUserId = null;
JSONObject bjParme = new JSONObject();
bjParme.put("from_userid",fromUserId);
......@@ -406,7 +409,7 @@ public class DingJiaXiaoController {
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("获取班级列表失败");
throw new RuntimeException("获取班级列表失败"+bjPost);
}
JSONArray jsonArray = bjObject.getJSONObject("result").getJSONArray("relations");
for (int i= 0; i< jsonArray.size();i++){
......
......@@ -77,7 +77,40 @@ public class DingEventController {
} else if ("bpms_task_change".equals(eventType)){
// 处理审批任务事件
eventJson.get("");
} else {
} else if ("edu_user_insert".equals(eventType)){
// 家校人员身份新增
ddUserService.xjUserAdd(eventJson);
}else if ("edu_user_update".equals(eventType)){
// 家校人员身份更新
eventJson.get("");
}else if ("edu_user_delete".equals(eventType)){
// 家校人员身份删除
eventJson.get("");
}else if ("edu_user_relation_insert".equals(eventType)){
// 家校人员关系新增
eventJson.get("");
}else if ("edu_user_relation_update".equals(eventType)){
// 家校人员关系更新
eventJson.get("");
}
else if ("edu_user_relation_delete".equals(eventType)){
// 家校人员关系删除
eventJson.get("");
}else if ("edu_dept_insert".equals(eventType)){
// 家校部门 节点新增
eventJson.get("");
}
else if ("edu_dept_update".equals(eventType)){
// 家校部门 节点更新
eventJson.get("");
}else if ("edu_dept_delete".equals(eventType)){
// 家校部门 节点更新
eventJson.get("");
}
else {
// 添加其他已注册的
log.info("发生了:" + eventType + "事件");
}
......
package yangtz.cs.liu.dingding.service.impl.dingUser;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson2.JSONArray;
import com.dingtalk.api.response.OapiUserListidResponse;
import com.dingtalk.api.response.OapiV2UserGetResponse;
import com.ruoyi.common.core.domain.entity.SchoolTeacher;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.service.ISysUserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
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.schoolCurriculum.SchoolCurriculum;
import yangtz.cs.liu.campus.domain.student.SchoolStudent;
import yangtz.cs.liu.campus.domain.student.SchoolStudentClassRelation;
import yangtz.cs.liu.campus.domain.student.SchoolStudentClasses;
import yangtz.cs.liu.campus.domain.student.SchoolStudentParent;
import yangtz.cs.liu.campus.mapper.schoolCurriculum.SchoolCurriculumMapper;
import yangtz.cs.liu.campus.mapper.teacher.SchoolTeacherMapper;
import yangtz.cs.liu.campus.service.schoolClass.ISchoolClassHeadmasterService;
import yangtz.cs.liu.campus.service.schoolClass.ISchoolClassMentorService;
import yangtz.cs.liu.campus.service.schoolClass.ISchoolClassService;
import yangtz.cs.liu.campus.service.student.ISchoolStudentClassRelationService;
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.dingding.domain.dingDept.SysDdDept;
import yangtz.cs.liu.dingding.domain.dingGrade.SchoolGradeMentorCopy;
import yangtz.cs.liu.dingding.domain.dingUser.SysDdUser;
......@@ -18,7 +42,10 @@ import yangtz.cs.liu.dingding.mapper.dingDept.DdDeptMapper;
import yangtz.cs.liu.dingding.mapper.dingUser.DdUserMapper;
import yangtz.cs.liu.dingding.mapper.schoolTeacher.DdTeacherMapper;
import yangtz.cs.liu.dingding.service.dingUser.IDdUserService;
import yangtz.cs.liu.dingding.utils.AccessTokenUtils;
import yangtz.cs.liu.dingding.utils.DingUserUtils;
import yangtz.cs.liu.dingding.vo.DingJiaXiaoVo;
import yangtz.cs.liu.wechat.utils.AccessTokenUtil;
import java.util.ArrayList;
import java.util.List;
......@@ -26,6 +53,7 @@ import java.util.Map;
@Service
public class DdUserServiceImpl implements IDdUserService {
private static Logger log = LoggerFactory.getLogger(DdUserServiceImpl.class);
@Autowired
private DingUserUtils dingUserUtils;
......@@ -35,6 +63,42 @@ public class DdUserServiceImpl implements IDdUserService {
private DdUserMapper ddUserMapper;
@Autowired
private DdTeacherMapper ddTeacherMapper;
//班主任和班级关系
@Autowired
ISchoolClassHeadmasterService iSchoolClassHeadmasterService;
@Autowired
private SchoolTeacherMapper teacherMapper;
@Autowired
ISysUserService sysUserService;
//学校班级
@Autowired
ISchoolClassService iSchoolClassService;
@Autowired
SchoolCurriculumMapper schoolCurriculumMapper;
//任课老师和班级关系 ----------------
@Autowired
ISchoolClassMentorService schoolClassMentorService;
//学生表 ---------------------
@Autowired
ISchoolStudentService schoolStudentService;
//学生与班级关系 --------------------
@Autowired
ISchoolStudentClassRelationService iSchoolStudentClassRelationService;
//学生历史班级表 -----------------
@Autowired
ISchoolStudentClassesService schoolStudentClassesService;
@Autowired
private AccessTokenUtils accessTokenUtils;
//家长信息表 ---------------------
@Autowired
ISchoolStudentParentService iSchoolStudentParentService;
final String teacher ="teacher";
final String guardian ="guardian";
final String student ="student";
/**
* 获取钉钉全部用户id
......@@ -85,31 +149,45 @@ public class DdUserServiceImpl implements IDdUserService {
//多部门任职信息
List<OapiV2UserGetResponse.DeptPosition> deptPositionList = ddUser.getDeptPositionList();
//拿取钉钉用户部门id列表的第一个存在的部门id存到用户表中
//部门列表
List<Long> deptIdList = ddUser.getDeptIdList();
//用户部门列表
List<Long> ddUserDepts = new ArrayList<>();
for (Long ddUserDeptId : deptIdList) {
SysDdDept dept1 = ddDeptMapper.selectDeptByDdDeptId(ddUserDeptId);
if (StringUtils.isNotNull(dept1)){
ddUserDepts.add(dept1.getDeptId());
}
}
//用户部门列表(用于判断是否是级部成员)
List<Long> ddUserDepts1 = new ArrayList<>();
//用户表数据
SysDdUser sysDdUser = new SysDdUser();
sysDdUser.setDdUserDepts(ddUserDepts);
//根据钉钉部门id查询部门信息
for (Long ddDeptId : deptIdList) {
SysDdDept dept = ddDeptMapper.selectDeptByDdDeptId(ddDeptId);
if (StringUtils.isNotNull(dept)){
sysDdUser.setDeptId(dept.getDeptId());
break;
//设置主部门和任职部门
if (deptPositionList.size()>0){
for (OapiV2UserGetResponse.DeptPosition deptPosition : deptPositionList) {
if (StringUtils.isNotNull(deptPosition.getIsMain())){
if (deptPosition.getIsMain()){
SysDdDept dept = ddDeptMapper.selectDeptByDdDeptId(deptPosition.getDeptId());
if (StringUtils.isNotNull(dept)){
sysDdUser.setDeptId(dept.getDeptId());
ddUserDepts1.add(dept.getDeptId());
}
}else {
SysDdDept dept1 = ddDeptMapper.selectDeptByDdDeptId(deptPosition.getDeptId());
if (StringUtils.isNotNull(dept1)){
ddUserDepts.add(dept1.getDeptId());
ddUserDepts1.add(dept1.getDeptId());
}
}
}else {
SysDdDept dept = ddDeptMapper.selectDeptByDdDeptId(deptPosition.getDeptId());
if (StringUtils.isNotNull(dept)){
ddUserDepts.add(dept.getDeptId());
ddUserDepts1.add(dept.getDeptId());
}
}
}
}
if (StringUtils.isNull(sysDdUser.getDeptId())){
sysDdUser.setDeptId(ddUserDepts.get(0));
ddUserDepts.remove(ddUserDepts.get(0));
}
sysDdUser.setDdUserDepts(ddUserDepts);
sysDdUser.setLoginName(ddUser.getName());
sysDdUser.setPassword(SecurityUtils.encryptPassword("Ez2023@345"));
sysDdUser.setUserName(ddUser.getName());
......@@ -146,7 +224,7 @@ public class DdUserServiceImpl implements IDdUserService {
ddTeacherMapper.addTeacherList(sysDdTeacher);
//判断用户是否为级部成员
for (Long deptId : ddUserDepts) {
for (Long deptId : ddUserDepts1) {
//根据部门id获取部门信息
SysDdDept sysDdDept = ddDeptMapper.selectDeptByDeptId(deptId);
//判断是否是年级部成员
......@@ -163,10 +241,15 @@ public class DdUserServiceImpl implements IDdUserService {
//包含,新增用户到该级部成员
SchoolGradeMentorCopy schoolGradeMentor = new SchoolGradeMentorCopy();
//设置职位
if (StringUtils.isNotNull(deptPositionList) && deptPositionList.size() > 0){
if (deptPositionList.size() > 0){
for (OapiV2UserGetResponse.DeptPosition deptPosition : deptPositionList) {
if (deptPosition.getDeptId().equals(sysDdDept.getDdDeptId())){
schoolGradeMentor.setTeacherPost(deptPosition.getTitle());
if (StringUtils.isNotEmpty(deptPosition.getTitle())){
schoolGradeMentor.setTeacherPost(deptPosition.getTitle());
}else {
schoolGradeMentor.setTeacherPost(ddUser.getTitle());
}
}
}
}
......@@ -193,10 +276,14 @@ public class DdUserServiceImpl implements IDdUserService {
//包含,新增用户到该级部成员
SchoolGradeMentorCopy schoolGradeMentor = new SchoolGradeMentorCopy();
//设置职位
if (StringUtils.isNotNull(deptPositionList) && deptPositionList.size() > 0){
if (deptPositionList.size() > 0){
for (OapiV2UserGetResponse.DeptPosition deptPosition : deptPositionList) {
if (deptPosition.getDeptId().equals(sysDdDept.getDdDeptId())){
schoolGradeMentor.setTeacherPost(deptPosition.getTitle());
if (StringUtils.isNotEmpty(deptPosition.getTitle())){
schoolGradeMentor.setTeacherPost(deptPosition.getTitle());
}else {
schoolGradeMentor.setTeacherPost(ddUser.getTitle());
}
}
}
}
......@@ -283,30 +370,41 @@ public class DdUserServiceImpl implements IDdUserService {
for (OapiV2UserGetResponse.UserGetResponse ddUser : ddUserAll) {
if (ddUserId.equals(ddUser.getUserid())){
//拿取钉钉用户部门id列表的第一个存在的部门id存到用户表中
//部门列表
List<Long> deptIdList = ddUser.getDeptIdList();
//多部门任职信息
List<OapiV2UserGetResponse.DeptPosition> deptPositionList = ddUser.getDeptPositionList();
//用户部门列表
List<Long> ddUserDepts = new ArrayList<>();
for (Long ddUserDeptId : deptIdList) {
SysDdDept dept1 = ddDeptMapper.selectDeptByDdDeptId(ddUserDeptId);
if (StringUtils.isNotNull(dept1)){
ddUserDepts.add(dept1.getDeptId());
}
}
//用户部门列表(用于判断是否是级部成员)
List<Long> ddUserDepts1 = new ArrayList<>();
//根据钉钉部门id查询部门信息
//新增用户到用户表
SysDdUser sysDdUser = new SysDdUser();
sysDdUser.setDdUserDepts(ddUserDepts);
//根据钉钉部门id查询部门信息
for (Long ddDeptId : deptIdList) {
SysDdDept dept = ddDeptMapper.selectDeptByDdDeptId(ddDeptId);
if (StringUtils.isNotNull(dept)){
sysDdUser.setDeptId(dept.getDeptId());
break;
//设置主部门和任职部门
if (deptPositionList.size()>0){
for (OapiV2UserGetResponse.DeptPosition deptPosition : deptPositionList) {
if (deptPosition.getIsMain()){
SysDdDept dept = ddDeptMapper.selectDeptByDdDeptId(deptPosition.getDeptId());
if (StringUtils.isNotNull(dept)){
sysDdUser.setDeptId(dept.getDeptId());
ddUserDepts1.add(dept.getDeptId());
}
}else {
SysDdDept dept1 = ddDeptMapper.selectDeptByDdDeptId(deptPosition.getDeptId());
if (StringUtils.isNotNull(dept1)){
ddUserDepts.add(dept1.getDeptId());
ddUserDepts1.add(dept1.getDeptId());
}
}
}
}
if (StringUtils.isNull(sysDdUser.getDeptId())){
sysDdUser.setDeptId(ddUserDepts1.get(0));
ddUserDepts.remove(ddUserDepts1.get(0));
}
sysDdUser.setDdUserDepts(ddUserDepts);
sysDdUser.setLoginName(ddUser.getName());
sysDdUser.setPassword(SecurityUtils.encryptPassword("Ez2023@345"));
sysDdUser.setUserName(ddUser.getName());
......@@ -349,11 +447,8 @@ public class DdUserServiceImpl implements IDdUserService {
sysDdTeacher.setCreateTime(DateUtils.getNowDate());
ddTeacherMapper.addTeacherList(sysDdTeacher);
//多部门任职信息
List<OapiV2UserGetResponse.DeptPosition> deptPositionList = ddUser.getDeptPositionList();
//判断用户是否是级部成员,如果是,新增到级部成员
for (Long deptId : ddUserDepts) {
for (Long deptId : ddUserDepts1) {
//根据部门id获取部门信息
SysDdDept sysDdDept = ddDeptMapper.selectDeptByDeptId(deptId);
//判断是否是年级部成员
......@@ -370,10 +465,14 @@ public class DdUserServiceImpl implements IDdUserService {
//包含,新增用户到该级部成员
SchoolGradeMentorCopy schoolGradeMentor = new SchoolGradeMentorCopy();
//设置职位
if (StringUtils.isNotNull(deptPositionList) && deptPositionList.size() > 0){
if (deptPositionList.size() > 0){
for (OapiV2UserGetResponse.DeptPosition deptPosition : deptPositionList) {
if (deptPosition.getDeptId().equals(sysDdDept.getDdDeptId())){
schoolGradeMentor.setTeacherPost(deptPosition.getTitle());
if (StringUtils.isNotEmpty(deptPosition.getTitle())){
schoolGradeMentor.setTeacherPost(deptPosition.getTitle());
}else {
schoolGradeMentor.setTeacherPost(ddUser.getTitle());
}
}
}
}
......@@ -400,10 +499,14 @@ public class DdUserServiceImpl implements IDdUserService {
//包含,新增用户到该级部成员
SchoolGradeMentorCopy schoolGradeMentor = new SchoolGradeMentorCopy();
//设置职位
if (StringUtils.isNotNull(deptPositionList) && deptPositionList.size() > 0){
if (deptPositionList.size() > 0){
for (OapiV2UserGetResponse.DeptPosition deptPosition : deptPositionList) {
if (deptPosition.getDeptId().equals(sysDdDept.getDdDeptId())){
schoolGradeMentor.setTeacherPost(deptPosition.getTitle());
if (StringUtils.isNotEmpty(deptPosition.getTitle())){
schoolGradeMentor.setTeacherPost(deptPosition.getTitle());
}else {
schoolGradeMentor.setTeacherPost(ddUser.getTitle());
}
}
}
}
......@@ -476,27 +579,46 @@ public class DdUserServiceImpl implements IDdUserService {
}
//更新的部门id列表
List<Long> deptIds = new ArrayList<>();
//更新的部门id列表(用于判断是否是级部成员)
List<Long> deptIds1 = new ArrayList<>();
//判断系统用户和钉钉用户部门是否发生改变
boolean isEqual = ddDeptIds.containsAll(deptIdList1) && deptIdList1.containsAll(ddDeptIds);
if (!isEqual) {
//发生改变更新用户信息
for (Long ddUserDeptId : deptIdList1) {
SysDdDept dept1 = ddDeptMapper.selectDeptByDdDeptId(ddUserDeptId);
if (StringUtils.isNotNull(dept1)){
deptIds.add(dept1.getDeptId());
//设置主部门和任职部门
if (deptPositionList.size()>0){
for (OapiV2UserGetResponse.DeptPosition deptPosition : deptPositionList) {
if (deptPosition.getIsMain()){
SysDdDept dept = ddDeptMapper.selectDeptByDdDeptId(deptPosition.getDeptId());
if (StringUtils.isNotNull(dept)){
sysDdUser.setDeptId(dept.getDeptId());
deptIds1.add(dept.getDeptId());
}
}else {
SysDdDept dept1 = ddDeptMapper.selectDeptByDdDeptId(deptPosition.getDeptId());
if (StringUtils.isNotNull(dept1)){
deptIds.add(dept1.getDeptId());
deptIds1.add(dept1.getDeptId());
}
}
}
}
if (!deptIds1.contains(sysDdUser.getDeptId())){
sysDdUser.setDeptId(deptIds1.get(0));
deptIds.remove(deptIds1.get(0));
}
//删除原用户与部门关系
ddUserMapper.deleteDdUserDept(sysDdUser.getUserId());
//删除级部成员信息
ddUserMapper.deleteGradeMentor(sysDdUser.getUserId());
//新增用户和部门关系
sysDdUser.setDeptId(deptIds.get(0));
SysDdUserDept sysDdUserDept = new SysDdUserDept();
sysDdUserDept.setUserId(sysDdUser.getUserId());
for (Long ddUserDept : deptIds) {
sysDdUserDept.setDeptId(ddUserDept);
ddUserMapper.insertDdUserDept(sysDdUserDept);
}
for (Long ddUserDept : deptIds1){
//根据部门id获取部门信息
SysDdDept sysDdDept = ddDeptMapper.selectDeptByDeptId(ddUserDept);
//判断是否是年级部成员
......@@ -513,10 +635,14 @@ public class DdUserServiceImpl implements IDdUserService {
//包含,新增用户到该级部成员
SchoolGradeMentorCopy schoolGradeMentor = new SchoolGradeMentorCopy();
//设置职位
if (StringUtils.isNotNull(deptPositionList) && deptPositionList.size() > 0){
if (deptPositionList.size() > 0){
for (OapiV2UserGetResponse.DeptPosition deptPosition : deptPositionList) {
if (deptPosition.getDeptId().equals(sysDdDept.getDdDeptId())){
schoolGradeMentor.setTeacherPost(deptPosition.getTitle());
if (StringUtils.isNotEmpty(deptPosition.getTitle())){
schoolGradeMentor.setTeacherPost(deptPosition.getTitle());
}else {
schoolGradeMentor.setTeacherPost(ddUser.getTitle());
}
}
}
}
......@@ -543,10 +669,14 @@ public class DdUserServiceImpl implements IDdUserService {
//包含,新增用户到该级部成员
SchoolGradeMentorCopy schoolGradeMentor = new SchoolGradeMentorCopy();
//设置职位
if (StringUtils.isNotNull(deptPositionList) && deptPositionList.size() > 0){
if (deptPositionList.size() > 0){
for (OapiV2UserGetResponse.DeptPosition deptPosition : deptPositionList) {
if (deptPosition.getDeptId().equals(sysDdDept.getDdDeptId())){
schoolGradeMentor.setTeacherPost(deptPosition.getTitle());
if (StringUtils.isNotEmpty(deptPosition.getTitle())){
schoolGradeMentor.setTeacherPost(deptPosition.getTitle());
}else {
schoolGradeMentor.setTeacherPost(ddUser.getTitle());
}
}
}
}
......@@ -616,29 +746,39 @@ public class DdUserServiceImpl implements IDdUserService {
//多部门任职信息
List<OapiV2UserGetResponse.DeptPosition> deptPositionList = ddUser.getDeptPositionList();
//钉钉用户的钉钉部门id列表
List<Long> deptIdList = ddUser.getDeptIdList();
//用户系统部门id列表
List<Long> ddUserDepts = new ArrayList<>();
for (Long ddUserDeptId : deptIdList) {
SysDdDept dept1 = ddDeptMapper.selectDeptByDdDeptId(ddUserDeptId);
if (StringUtils.isNotNull(dept1)){
ddUserDepts.add(dept1.getDeptId());
}
}
//用户系统部门id列表(用于判断是否是级部成员)
List<Long> ddUserDepts1 = new ArrayList<>();
//用户表数据
SysDdUser sysDdUser = new SysDdUser();
sysDdUser.setDdUserDepts(ddUserDepts);
//根据钉钉部门id查询部门信息
for (Long ddDeptId : deptIdList) {
SysDdDept dept = ddDeptMapper.selectDeptByDdDeptId(ddDeptId);
if (StringUtils.isNotNull(dept)){
sysDdUser.setDeptId(dept.getDeptId());
break;
//设置主部门和任职部门
if (deptPositionList.size()>0){
for (OapiV2UserGetResponse.DeptPosition deptPosition : deptPositionList) {
if (deptPosition.getIsMain()){
SysDdDept dept = ddDeptMapper.selectDeptByDdDeptId(deptPosition.getDeptId());
if (StringUtils.isNotNull(dept)){
sysDdUser.setDeptId(dept.getDeptId());
ddUserDepts1.add(dept.getDeptId());
}
}else {
SysDdDept dept1 = ddDeptMapper.selectDeptByDdDeptId(deptPosition.getDeptId());
if (StringUtils.isNotNull(dept1)){
ddUserDepts.add(dept1.getDeptId());
ddUserDepts1.add(dept1.getDeptId());
}
}
}
}
if (StringUtils.isNull(sysDdUser.getDeptId())){
sysDdUser.setDeptId(ddUserDepts1.get(0));
ddUserDepts.remove(ddUserDepts1.get(0));
}
sysDdUser.setDdUserDepts(ddUserDepts);
sysDdUser.setLoginName(ddUser.getName());
sysDdUser.setPassword(SecurityUtils.encryptPassword("Ez2023@345"));
sysDdUser.setUserName(ddUser.getName());
......@@ -680,7 +820,7 @@ public class DdUserServiceImpl implements IDdUserService {
ddTeacherMapper.addTeacherList(sysDdTeacher);
//判断用户是否是级部成员,如果是,新增到级部成员
for (Long deptId : ddUserDepts) {
for (Long deptId : ddUserDepts1) {
//根据部门id获取部门信息
SysDdDept sysDdDept = ddDeptMapper.selectDeptByDeptId(deptId);
//判断是否是年级部成员
......@@ -697,10 +837,14 @@ public class DdUserServiceImpl implements IDdUserService {
//包含,新增用户到该级部成员
SchoolGradeMentorCopy schoolGradeMentor = new SchoolGradeMentorCopy();
//设置职位
if (StringUtils.isNotNull(deptPositionList) && deptPositionList.size() > 0){
if (deptPositionList.size() > 0){
for (OapiV2UserGetResponse.DeptPosition deptPosition : deptPositionList) {
if (deptPosition.getDeptId().equals(sysDdDept.getDdDeptId())){
schoolGradeMentor.setTeacherPost(deptPosition.getTitle());
if (StringUtils.isNotEmpty(deptPosition.getTitle())){
schoolGradeMentor.setTeacherPost(deptPosition.getTitle());
}else {
schoolGradeMentor.setTeacherPost(ddUser.getTitle());
}
}
}
}
......@@ -727,10 +871,14 @@ public class DdUserServiceImpl implements IDdUserService {
//包含,新增用户到该级部成员
SchoolGradeMentorCopy schoolGradeMentor = new SchoolGradeMentorCopy();
//设置职位
if (StringUtils.isNotNull(deptPositionList) && deptPositionList.size() > 0){
if (deptPositionList.size() > 0){
for (OapiV2UserGetResponse.DeptPosition deptPosition : deptPositionList) {
if (deptPosition.getDeptId().equals(sysDdDept.getDdDeptId())){
schoolGradeMentor.setTeacherPost(deptPosition.getTitle());
if (StringUtils.isNotEmpty(deptPosition.getTitle())){
schoolGradeMentor.setTeacherPost(deptPosition.getTitle());
}else {
schoolGradeMentor.setTeacherPost(ddUser.getTitle());
}
}
}
}
......@@ -767,18 +915,41 @@ public class DdUserServiceImpl implements IDdUserService {
OapiV2UserGetResponse.UserGetResponse ddUser = dingUserUtils.getUser(userId);
//查询系统用户详情
SysDdUser sysDdUser = ddUserMapper.selectDdUserByDdUserId(userId);
if (StringUtils.isNull(sysDdUser)){
return 1;
}
//钉钉用户的钉钉部门id列表
List<Long> deptIdList = ddUser.getDeptIdList();
//多部门任职信息
List<OapiV2UserGetResponse.DeptPosition> deptPositionList = ddUser.getDeptPositionList();
//用户系统部门id列表
List<Long> ddUserDepts = new ArrayList<>();
for (Long ddUserDeptId : deptIdList) {
SysDdDept dept1 = ddDeptMapper.selectDeptByDdDeptId(ddUserDeptId);
if (StringUtils.isNotNull(dept1)){
ddUserDepts.add(dept1.getDeptId());
//用户系统部门id列表(用于判断是否是级部成员)
List<Long> ddUserDepts1 = new ArrayList<>();
//设置主部门和任职部门
if (deptPositionList.size()>0){
for (OapiV2UserGetResponse.DeptPosition deptPosition : deptPositionList) {
if (deptPosition.getIsMain()){
SysDdDept dept = ddDeptMapper.selectDeptByDdDeptId(deptPosition.getDeptId());
if (StringUtils.isNotNull(dept)){
sysDdUser.setDeptId(dept.getDeptId());
ddUserDepts1.add(dept.getDeptId());
}
}else {
SysDdDept dept1 = ddDeptMapper.selectDeptByDdDeptId(deptPosition.getDeptId());
if (StringUtils.isNotNull(dept1)){
ddUserDepts.add(dept1.getDeptId());
ddUserDepts1.add(dept1.getDeptId());
}
}
}
}
if (!ddUserDepts1.contains(sysDdUser.getDeptId())){
sysDdUser.setDeptId(ddUserDepts1.get(0));
ddUserDepts.remove(ddUserDepts1.get(0));
}
//删除原用户与部门关系
ddUserMapper.deleteDdUserDept(sysDdUser.getUserId());
//删除级部成员信息
......@@ -789,6 +960,8 @@ public class DdUserServiceImpl implements IDdUserService {
for (Long ddUserDept : ddUserDepts) {
sysDdUserDept.setDeptId(ddUserDept);
ddUserMapper.insertDdUserDept(sysDdUserDept);
}
for (Long ddUserDept : ddUserDepts1) {
//根据部门id获取部门信息
SysDdDept sysDdDept = ddDeptMapper.selectDeptByDeptId(ddUserDept);
......@@ -806,10 +979,14 @@ public class DdUserServiceImpl implements IDdUserService {
//包含,新增用户到该级部成员
SchoolGradeMentorCopy schoolGradeMentor = new SchoolGradeMentorCopy();
//设置职位
if (StringUtils.isNotNull(deptPositionList) && deptPositionList.size() > 0){
if (deptPositionList.size() > 0){
for (OapiV2UserGetResponse.DeptPosition deptPosition : deptPositionList) {
if (deptPosition.getDeptId().equals(sysDdDept.getDdDeptId())){
schoolGradeMentor.setTeacherPost(deptPosition.getTitle());
if (StringUtils.isNotEmpty(deptPosition.getTitle())){
schoolGradeMentor.setTeacherPost(deptPosition.getTitle());
}else {
schoolGradeMentor.setTeacherPost(ddUser.getTitle());
}
}
}
}
......@@ -836,10 +1013,14 @@ public class DdUserServiceImpl implements IDdUserService {
//包含,新增用户到该级部成员
SchoolGradeMentorCopy schoolGradeMentor = new SchoolGradeMentorCopy();
//设置职位
if (StringUtils.isNotNull(deptPositionList) && deptPositionList.size() > 0){
if (deptPositionList.size() > 0){
for (OapiV2UserGetResponse.DeptPosition deptPosition : deptPositionList) {
if (deptPosition.getDeptId().equals(sysDdDept.getDdDeptId())){
schoolGradeMentor.setTeacherPost(deptPosition.getTitle());
if (StringUtils.isNotEmpty(deptPosition.getTitle())){
schoolGradeMentor.setTeacherPost(deptPosition.getTitle());
}else {
schoolGradeMentor.setTeacherPost(ddUser.getTitle());
}
}
}
}
......@@ -910,4 +1091,170 @@ public class DdUserServiceImpl implements IDdUserService {
}
return i;
}
/**
* 家校通讯录 人员身份新增
*/
public int xjUserAdd(JSONObject eventJson){
String userId = (String)eventJson.get("userId");
String role = (String)eventJson.get("role");
String name = (String)eventJson.get("name");
String classId = (String) eventJson.get("classId");
JSONObject feature = eventJson.getJSONObject("feature");
//根据ddclassId 查找班级
Long l = iSchoolClassService.selectDdClassId(String.valueOf(classId));
//判断该当前的角色
if (teacher.equals(role)){
//老师
// 只在老师角色下意义。 1:班主任 0:非班主任
String isAdviser = (String)feature.get("isAdviser");
//查询老师表
SchoolTeacher schoolTeacher = teacherMapper.selectTeacherByDdUerId(userId);
if (null == schoolTeacher){
log.warn("新增老师:"+name+",未在系统中找到不错处理跳过");
return 0;
}
//判断是否是班主任
if ("1".equals(isAdviser)){
//班主任
//当前老师是班主任 记录班主任跟班级关系
SchoolClassHeadmaster schoolClassHeadmaster = new SchoolClassHeadmaster();
schoolClassHeadmaster.setTeacherId(schoolTeacher.getId());
schoolClassHeadmaster.setClassId(l);
iSchoolClassHeadmasterService.save(schoolClassHeadmaster);
//设置班级 班主任信息
SchoolClass schoolClassss = new SchoolClass();
schoolClassss.setId(l);
schoolClassss.setTeacherId(schoolTeacher.getId());
schoolClassss.setTeacherName(schoolTeacher.getTeacherName());
schoolClassss.setTeacherTel(schoolTeacher.getTeacherTel());
iSchoolClassService.updateById(schoolClassss);
}else {
//任课老师
//查找部门
SysUser sysUser = sysUserService.selectUserById(schoolTeacher.getId());
String deptName = sysUser.getDept().getDeptName();
//根据部门查找课程信息
SchoolCurriculum schoolCurriculum = schoolCurriculumMapper.selectCourseName(deptName);
//任课老师 跟班级关系
SchoolClassMentor schoolClassMentor = new SchoolClassMentor();
schoolClassMentor.setTeacherId(schoolTeacher.getId());
schoolClassMentor.setClassId(l);
schoolClassMentor.setCourseName(schoolCurriculum.getCourseName());
schoolClassMentor.setCourseId(schoolCurriculum.getId());
schoolClassMentorService.save(schoolClassMentor);
}
}else if (student.equals(role)){
//学生
//学生信息
SchoolStudent schoolStudent = new SchoolStudent();
schoolStudent.setStudentName(name);
schoolStudent.setClassId(l);
schoolStudent.setStudentStatus("1");
schoolStudent.setDdUserId(userId);
schoolStudentService.save(schoolStudent);
//学生班级信息
SchoolStudentClassRelation schoolStudentClassRelation = new SchoolStudentClassRelation();
schoolStudentClassRelation.setStudentId(schoolStudent.getId());
schoolStudentClassRelation.setClassId(l);
iSchoolStudentClassRelationService.save(schoolStudentClassRelation);
//学生与班级历史关系
SchoolClass school= iSchoolClassService.selectSchoolClassById(l);
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 (guardian.equals(role)){
//家长
//找寻学生
String token = accessTokenUtils.getToken();
String toUserId = this.getToUserId(token, userId, classId.toString());
Long ddUserId = schoolStudentService.getDdUserId(toUserId);
String tel = this.getTel(userId, token);
//创建用户user表
SysUser jUser = new SysUser();
jUser.setLoginName(name);
jUser.setUserName(name);
jUser.setUserType("01");
jUser.setUserLoginType("1");
jUser.setPhonenumber(this.getTel(userId,token));
jUser.setPassword(SecurityUtils.encryptPassword("123#@!"));
jUser.setStatus("0");
jUser.setDelFlag("0");
jUser.setDdUserId(userId);
jUser.setRoleIds(new Long[]{111L});
jUser.setStudentId(ddUserId);
sysUserService.insertUser(jUser);
//家长表
SchoolStudentParent schoolStudentParent = new SchoolStudentParent() ;
schoolStudentParent.setStudentId(ddUserId);
schoolStudentParent.setUserId(jUser.getUserId());
schoolStudentParent.setParentName(name);
schoolStudentParent.setTelephone(tel);
Integer patriarch = this.getPatriarch(name.substring(name.length() - 2));
schoolStudentParent.setRelationship(String.valueOf(patriarch));
iSchoolStudentParentService.save(schoolStudentParent);
}
return 0;
}
public String getToUserId(String token,String fromUserId,String classId){
String toUserId = null;
com.alibaba.fastjson2.JSONObject bjParme = new com.alibaba.fastjson2.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);
com.alibaba.fastjson2.JSONObject bjObject = com.alibaba.fastjson2.JSONObject.parseObject(bjPost);
if ((Integer) bjObject.get("errcode") != 0){
throw new RuntimeException("获取学生id失败"+bjPost);
}
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;
}
/**
* 调用钉钉公共接口,获取用户手机号
*/
public String getTel(String userId ,String assToKen){
com.alibaba.fastjson2.JSONObject userParme = new com.alibaba.fastjson2.JSONObject();
userParme.put("userid",userId);
String userPost = HttpUtil.post("https://oapi.dingtalk.com/topapi/v2/user/get?access_token="+assToKen, userParme);
com.alibaba.fastjson2.JSONObject jsonObject = com.alibaba.fastjson2.JSONObject.parseObject(userPost);
if (jsonObject.getJSONObject("result").get("mobile")==null){
return null;
}else {
return jsonObject.getJSONObject("result").get("mobile").toString();
}
}
private Integer getPatriarch(String patriarch){
Integer gId = null;
switch (patriarch){
case "爸爸": return gId = 0;
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;
}
return gId;
}
}
......@@ -4,15 +4,21 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import java.util.Calendar;
import java.util.List;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApply;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply;
import yangtz.cs.liu.campus.domain.schoolgrade.SchoolGrade;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoolTeacherLabApplyMapper;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolExperimentPlanService;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabClassYearService;
......@@ -44,9 +50,13 @@ public class ExperimentLevelController extends BaseController {
@Autowired
private ISchoolGradeService schoolGradeService;
@Autowired
private ISchoolGradeService gradeService;
private ISysUserService userService;
@Autowired
private ISysDeptService deptService;
/**
* 获取当前学年+学期
*/
......@@ -112,8 +122,10 @@ public class ExperimentLevelController extends BaseController {
@GetMapping("/getGrades")
public AjaxResult getGrade(SchoolLabClassYearVo schoolLabClassYearVo)
{ //获取最新学年
int schoolYear = gradeService.isNewSchoolYear();
return AjaxResult.success(schoolExperimentPlanService.getGrade(schoolYear,schoolLabClassYearVo.getUserId()));
int schoolYear = schoolGradeService.isNewSchoolYear();
//获取学年分组信息
List<String> strings = schoolGradeService.selectSchoolYearGruoUp();
return AjaxResult.success(strings);
}
/**
......@@ -218,6 +230,19 @@ public class ExperimentLevelController extends BaseController {
*/
@GetMapping("/getGrade/{userId}")
public AjaxResult getGrade(@PathVariable("userId") Long userId) {
return AjaxResult.success(schoolGradeService.getGradeId(userId));
Long gradeId =null;
SysUser sysUser = userService.selectUserById(userId);
String ancestors = sysUser.getDept().getAncestors();
if (ancestors.length()!=2){
String[] split = ancestors.split(",");
SysDept sysDept = deptService.selectDeptById(Long.valueOf(split[2]));
//根据级部名称去查询id
SchoolGrade schoolGrade = schoolGradeService.selectGradeByName(sysDept.getDeptName());
gradeId = schoolGrade.getId();
}else {
return AjaxResult.success("当前老师不在级部内");
}
return AjaxResult.success(gradeId);
}
}
......@@ -30,6 +30,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import yangtz.cs.liu.activiti.domain.HistoricActivity;
import yangtz.cs.liu.activiti.service.IProcessService;
import yangtz.cs.liu.campus.controller.A;
import yangtz.cs.liu.campus.domain.schoolgrade.SchoolGrade;
import yangtz.cs.liu.campus.domain.student.SchoolStudentLeave;
import yangtz.cs.liu.campus.domain.teacher.SchoolTeacherLeave;
......@@ -174,8 +175,6 @@ public class WxTeacherLeaveController extends BaseController {
schoolTeacherLeave.setApplyUserId(schoolTeacherLeave.getTeacherId());
schoolTeacherLeave.setApplyUser(schoolTeacherLeave.getTeacherName());
//获取当前用户是教工还是职工
SysUser user = userService.selectUserById(schoolTeacherLeave.getTeacherId());
schoolTeacherLeave.setApplyType(user.getEmployeeType());
schoolTeacherLeaveService.judgeDate(schoolTeacherLeave);
return toAjax(schoolTeacherLeaveService.save(schoolTeacherLeave));
}
......@@ -189,8 +188,7 @@ public class WxTeacherLeaveController extends BaseController {
schoolTeacherLeave.setApplyUserId(schoolTeacherLeave.getTeacherId());
schoolTeacherLeave.setApplyUser(schoolTeacherLeave.getTeacherName());
//获取当前用户是教工还是职工
SysUser user = userService.selectUserById(schoolTeacherLeave.getTeacherId());
schoolTeacherLeave.setApplyType(user.getEmployeeType());
schoolTeacherLeave.setApplyType(schoolTeacherLeave.getApplyType());
schoolTeacherLeaveService.judgeDate(schoolTeacherLeave);
schoolTeacherLeaveService.save(schoolTeacherLeave);
AjaxResult ajax = submission(schoolTeacherLeave.getId());
......@@ -435,6 +433,112 @@ public class WxTeacherLeaveController extends BaseController {
//职工
return AjaxResult.success(deptService.selectDeptTreeList(new SysDept()));
}
/**
* 根据当前用户找到其所在的组织
*/
@GetMapping("/getUserDept/{userId}")
public AjaxResult getUserDept (@PathVariable("userId") Long userId){
List<Map<String, Object>> userDeptDate = new ArrayList<>();
//找到个人所在的所有部门
List<Map<String, Object>> maps = deptService.selectDeptGroupByUserId(userId);
//拼接所有上级部门
for (Map date :maps){
Long parentId =null;
Long deptId = null;
Map map = new HashMap<>();
StringBuffer sb = new StringBuffer();
Long deptIds = (Long)date.get("deptId");
String deptName = (String)date.get("deptName");
deptId = (Long)date.get("parentId");
sb.append(deptName);
Boolean flag = true;
// 查找上级
do {
//获取父级部门
SysDept sysDept = deptService.selectDeptById(deptId);
if (null != sysDept){
flag = true;
//往前拼接部门名称
sb.insert(0,sysDept.getDeptName()+"/");
deptId = sysDept.getParentId();
}else {
flag =false;
}
}while (flag);
//截取掉第一个部门
String deptNameGroup = sb.toString();
//部门
String substring = deptNameGroup.substring(deptNameGroup.indexOf("/") + 1);
map.put("deptName",substring);
map.put("deptId",deptIds);
userDeptDate.add(map);
}
return AjaxResult.success(userDeptDate);
}
/**
* 查找 当前部门级部主任
*/
@GetMapping("/getDeptGrapRole")
public AjaxResult getDeptGrapRole(SysDept dept){
String deptName =dept.getDeptName();
Long deptId = dept.getDeptId();
Map<String,String> map = new HashMap<>();
//判断当前部门
if (deptName.contains("级部")){
//教工
map.put("employeeType","0") ;
//查找当前的级部
String substring = deptName.substring(0, deptName.indexOf("/"));
SysDept sysDept = new SysDept();
sysDept.setDeptName(substring);
List<SysDept> sysDepts = deptService.selectDept(sysDept);
//级部信息
SysDept njgroup = sysDepts.get(0);
//查找当前级部的角色
List<String> strings = userService.selectDeptRoleBydeptId(njgroup.getDeptId().toString());
StringBuffer sb = new StringBuffer();
String substring1 ="";
for (String st :strings){
sb.append(st);
sb.append(",");
}
if (!StringUtils.isEmpty(sb.toString())){
substring1 = sb.substring(0, sb.length() - 1);
}
map.put("userName",substring1);
}else {
//职工
map.put("employeeType","1") ;
//从根部查找第三级 查找办公室主任
SysDept sysDept = new SysDept();
sysDept.setDeptId(deptId);
List<SysDept> sysDepts = deptService.selectDept(sysDept);
SysDept kesDate = sysDepts.get(0);
//获取父级信息
String ancestors = kesDate.getAncestors();
String[] split = ancestors.split(",");
//取到三级id
String daptParmId = split[2];
SysDept sysDept1 = deptService.selectDeptById(Long.valueOf(daptParmId));
//查找科室主任
List<String> strings = userService.selectDeptPlaceBydeptId(sysDept1.getDeptId().toString());
StringBuffer stringBuffer = new StringBuffer();
String substring ="";
for (String date : strings){
stringBuffer.append(date);
stringBuffer.append(",");
}
if (!StringUtils.isEmpty(stringBuffer.toString())){
String nameStr = stringBuffer.toString();
substring = nameStr.substring(0, nameStr.length() - 1);
}
map.put("userName",substring) ;
}
return AjaxResult.success(map);
}
/**
* 获取当前登录人所在部门或级部
......@@ -478,12 +582,12 @@ public class WxTeacherLeaveController extends BaseController {
* 教工传参,请假开始日期(年月日)及第几节课,结束日期及第几节课
* 职工传参,请假开始时间,结束时间(年月日 时分秒)
*/
@GetMapping("/getTotalTime/{userId}")
public AjaxResult getTotalTime(@PathVariable Long userId, SchoolTeacherLeave schoolTeacherLeave) {
@GetMapping("/getTotalTime/{userId}/{employeeType}")
public AjaxResult getTotalTime(@PathVariable("userId") Long userId,@PathVariable("employeeType") String employeeTypes, SchoolTeacherLeave schoolTeacherLeave) {
AjaxResult ajax = AjaxResult.success();
double day = 0.0;
//判断用户是职工还是教工
String employeeType = userService.selectUserById(userId).getEmployeeType();
String employeeType = employeeTypes;
schoolTeacherLeave.setApplyType(employeeType);
schoolTeacherLeaveService.judgeDate(schoolTeacherLeave);
//获取周末,节假日日期
......
......@@ -160,8 +160,13 @@
</select>
<select id="selectDdClassId" resultType="java.lang.Long">
select sg.id from school_class_copy sg
select sg.id from school_class sg
where sg.del_flag = '0' and sg.dd_class_id=#{ddClssId}
</select>
<select id="selectTeacherByTeachId" resultType="yangtz.cs.liu.wechat.vo.schoolClass.SchoolClassVo">
select * from school_class
where del_flag = '0' and teacher_id = #{teachId}
</select>
</mapper>
......@@ -50,6 +50,14 @@
select max(school_year) nowYear from school_grade where del_flag = '0'
</select>
<select id="selectGradeByName" resultType="yangtz.cs.liu.campus.domain.schoolgrade.SchoolGrade" >
select * from school_grade g where del_flag = '0' and g.grade_name = #{name}
</select>
<select id="selectNowSchoolGrade" resultType="yangtz.cs.liu.campus.domain.schoolgrade.SchoolGrade">
<include refid="selectSchoolGradeVo"/>
where school_year = (select max(school_year) from school_grade )
......
......@@ -286,6 +286,12 @@
where id_card = #{idCard} and del_flag = '0'
</select>
<select id="selectTeacherByDdUerId" resultType="com.ruoyi.common.core.domain.entity.SchoolTeacher">
<include refid="selectSchoolTeacherVo"/>
where dd_user_id = #{dduserId} and del_flag = '0'
</select>
<select id="selectUserByTeacherName" resultType="com.ruoyi.common.core.domain.entity.SchoolTeacher">
<include refid="selectSchoolTeacherVo"/>
where teacher_name = #{teacherName} and del_flag = '0'
......
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