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