| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561 |
- package com.template.controller;
- import com.baomidou.mybatisplus.core.conditions.Wrapper;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.template.annotation.DESRespondSecret;
- import com.template.api.SmartSemesterControllerAPI;
- import com.template.common.utils.TimeExchange;
- import com.template.common.utils.paramUtils;
- import com.template.model.evaluate.teacher.SmartEvaluateTdetail;
- import com.template.model.evaluate.teacher.SmartEvaluateTeacher;
- import com.template.model.evaluate.teacher.SmartScoreManage;
- import com.template.model.pojo.SmartSemester;
- import com.template.model.pojo.SmartIdentity;
- import com.template.model.pojo.SmartSemester;
- import com.template.model.pojo.SmartTeaching;
- import com.template.model.result.CommonResult;
- import com.template.model.result.PageUtils;
- import com.template.model.vo.SemesterVo;
- import com.template.model.vo.UserSubjectVo;
- import com.template.services.*;
- import org.apache.commons.lang3.ObjectUtils;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.validation.BindingResult;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * <p>
- * 应用管理 前端控制器
- * </p>
- *
- * @author ceshi
- * @since 2024-03-07
- */
- @RestController
- //返回参数加密注解
- @DESRespondSecret
- public class SmartSemesterController implements SmartSemesterControllerAPI {
- @Autowired
- private SmartSemesterService smartSemesterService;
- @Autowired
- private SmartScoreManageService smartScoreManageService;
- @Autowired
- private SmartTeachingService smartTeachingService;
- @Autowired
- private SmartEvaluateTdetailService smartEvaluateTdetailService;
- @Autowired
- private SmartEvaluateTeacherService smartEvaluateTeacherService;
- /**
- * 新增学期
- *
- * @param smartApply 学期数据
- * @param bindingResult
- * @return
- */
- @Override
- @DESRespondSecret(validated = true)
- @Transactional(rollbackFor = {Exception.class})
- public CommonResult insertSmartSemester(SmartSemester smartApply, BindingResult bindingResult) throws Exception {
- if (bindingResult.hasErrors()) {
- String st = paramUtils.getParamError(bindingResult);
- return CommonResult.fail(st);
- }
- Date startTime = smartApply.getStartTime();
- Date endTime = smartApply.getEndTime();
- SmartSemester semester = smartSemesterService.querySemesterByName(smartApply.getName());
- if (semester != null) {
- return CommonResult.fail(smartApply.getName() + "学期数据在系统中已存在");
- }
- //一天里不能是多个学期
- List<SmartSemester> list = smartSemesterService.getSemesterTime(TimeExchange.DateToString(startTime, "yyyy-MM-dd HH:mm:ss"), TimeExchange.DateToString(endTime, "yyyy-MM-dd HH:mm:ss"));
- if (ObjectUtils.isNotEmpty(list) && list.size() > 0) {
- return CommonResult.fail("该时间段已包含其他学期");
- }
- try {
- int result = smartSemesterService.insertSmartSemester(smartApply);
- if (result <= 0) {
- //return CommonResult.fail("添加失败");
- throw new Exception("添加失败!");
- }
- //region 添加对应的默认教师评分项
- List<SmartScoreManage> scoreManages = new ArrayList<>();
- //region 德
- SmartScoreManage morals = new SmartScoreManage();
- morals.setTermId(result);
- morals.setTerm(smartApply.getName());
- morals.setScoreItem("德");
- morals.setParentId(0);
- morals.setScoreNum(12.0);
- scoreManages.add(morals);
- //endregion
- //region 能
- SmartScoreManage ability = new SmartScoreManage();
- ability.setTermId(result);
- ability.setTerm(smartApply.getName());
- ability.setScoreItem("能");
- ability.setParentId(0);
- ability.setScoreNum(28.0);
- scoreManages.add(ability);
- //endregion
- //region 勤
- SmartScoreManage diligent = new SmartScoreManage();
- diligent.setTermId(result);
- diligent.setTerm(smartApply.getName());
- diligent.setScoreItem("勤");
- diligent.setParentId(0);
- diligent.setScoreNum(6.0);
- scoreManages.add(diligent);
- //endregion
- //region 绩
- SmartScoreManage merit = new SmartScoreManage();
- merit.setTermId(result);
- merit.setTerm(smartApply.getName());
- merit.setScoreItem("绩");
- merit.setParentId(0);
- merit.setScoreNum(54.0);
- scoreManages.add(merit);
- //endregion
- boolean inserSManages = smartScoreManageService.saveBatch(scoreManages);
- if (!inserSManages) {
- //return CommonResult.fail("添加失败");
- throw new Exception("添加失败!");
- }
- List<SmartScoreManage> scoreManagesData = smartScoreManageService.queryDatasByTermId(result);
- List<SmartScoreManage> scoreManageDetails = new ArrayList<>();
- for (SmartScoreManage data : scoreManagesData) {
- switch (data.getScoreItem()) {
- case "德":
- SmartScoreManage one = new SmartScoreManage();
- one.setTermId(result);
- one.setTerm(smartApply.getName());
- one.setScoreItem("为人师表");
- one.setParentId(data.getId());
- one.setScoreNum(3.0);
- scoreManageDetails.add(one);
- SmartScoreManage two = new SmartScoreManage();
- two.setTermId(result);
- two.setTerm(smartApply.getName());
- two.setScoreItem("关爱学生");
- two.setParentId(data.getId());
- two.setScoreNum(3.0);
- scoreManageDetails.add(two);
- SmartScoreManage three = new SmartScoreManage();
- three.setTermId(result);
- three.setTerm(smartApply.getName());
- three.setScoreItem("爱岗敬业");
- three.setParentId(data.getId());
- three.setScoreNum(6.0);
- scoreManageDetails.add(three);
- break;
- case "能":
- SmartScoreManage none = new SmartScoreManage();
- none.setTermId(result);
- none.setTerm(smartApply.getName());
- none.setScoreItem("基础能力");
- none.setParentId(data.getId());
- none.setScoreNum(1.0);
- scoreManageDetails.add(none);
- SmartScoreManage ntwo = new SmartScoreManage();
- ntwo.setTermId(result);
- ntwo.setTerm(smartApply.getName());
- ntwo.setScoreItem("教学能力");
- ntwo.setParentId(data.getId());
- ntwo.setScoreNum(16.0);
- scoreManageDetails.add(ntwo);
- SmartScoreManage nthree = new SmartScoreManage();
- nthree.setTermId(result);
- nthree.setTerm(smartApply.getName());
- nthree.setScoreItem("学习能力");
- nthree.setParentId(data.getId());
- nthree.setScoreNum(7.0);
- scoreManageDetails.add(nthree);
- SmartScoreManage nfour = new SmartScoreManage();
- nfour.setTermId(result);
- nfour.setTerm(smartApply.getName());
- nfour.setScoreItem("创新能力");
- nfour.setParentId(data.getId());
- nfour.setScoreNum(4.0);
- scoreManageDetails.add(nfour);
- break;
- case "勤":
- SmartScoreManage qone = new SmartScoreManage();
- qone.setTermId(result);
- qone.setTerm(smartApply.getName());
- qone.setScoreItem("考勤");
- qone.setParentId(data.getId());
- qone.setScoreNum(6.0);
- scoreManageDetails.add(qone);
- break;
- case "绩":
- SmartScoreManage jone = new SmartScoreManage();
- jone.setTermId(result);
- jone.setTerm(smartApply.getName());
- jone.setScoreItem("工作量");
- jone.setParentId(data.getId());
- jone.setScoreNum(8.0);
- scoreManageDetails.add(jone);
- SmartScoreManage jtwo = new SmartScoreManage();
- jtwo.setTermId(result);
- jtwo.setTerm(smartApply.getName());
- jtwo.setScoreItem("教学成绩");
- jtwo.setParentId(data.getId());
- jtwo.setScoreNum(30.0);
- scoreManageDetails.add(jtwo);
- SmartScoreManage jthree = new SmartScoreManage();
- jthree.setTermId(result);
- jthree.setTerm(smartApply.getName());
- jthree.setScoreItem("教研成果");
- jthree.setParentId(data.getId());
- jthree.setScoreNum(10.0);
- scoreManageDetails.add(jthree);
- SmartScoreManage jfour = new SmartScoreManage();
- jfour.setTermId(result);
- jfour.setTerm(smartApply.getName());
- jfour.setScoreItem("专业成长");
- jfour.setParentId(data.getId());
- jfour.setScoreNum(6.0);
- scoreManageDetails.add(jfour);
- break;
- default:
- break;
- }
- }
- boolean inserSDetails = smartScoreManageService.saveBatch(scoreManageDetails);
- if (!inserSDetails) {
- //return CommonResult.fail("添加失败");
- throw new Exception("添加失败!");
- }
- //endregion
- //region 任课老师赋值
- List<UserSubjectVo> teachings = smartTeachingService.querySmartTeachings(null);
- if (teachings != null && teachings.size() > 0) {
- List<SmartEvaluateTeacher> sets = new ArrayList<>();
- for (UserSubjectVo usv : teachings) {
- if (usv.getUserName() != null) {
- SmartEvaluateTeacher set = new SmartEvaluateTeacher();
- set.setCardNo(usv.getCardNo());
- set.setName(usv.getUserName());
- set.setUserId(usv.getUserId());
- set.setGradeId(usv.getGradeId());
- set.setGradeName(usv.getGradeName());
- set.setTermId(smartApply.getId());
- set.setTerm(smartApply.getName());
- set.setSubjectId(usv.getSubjectId());
- set.setSubject(usv.getSubjectName());
- set.setClassId(usv.getClassId());
- set.setClassName(usv.getClassName());
- set.setTotalScore(0.0);
- set.setLowingScore(0.0);
- sets.add(set);
- }
- }
- if (sets != null && sets.size() > 0) {
- boolean teacherBatch = smartEvaluateTeacherService.saveBatch(sets);
- if (!teacherBatch) {
- throw new Exception("添加失败!");
- }
- }
- }
- //endregion
- } catch (Exception e) {
- throw new Exception("添加失败!");
- }
- return CommonResult.ok("添加成功");
- }
- @Override
- @Transactional(rollbackFor = {Exception.class})
- public CommonResult testSmartSemester(int id) throws Exception {
- SmartSemester smartApply = smartSemesterService.getSmartById(id);
- try {
- int result = smartApply.getId();
- //region 添加对应的默认教师评分项
- List<SmartScoreManage> scoreManages = new ArrayList<>();
- //region 德
- SmartScoreManage morals = new SmartScoreManage();
- morals.setTermId(result);
- morals.setTerm(smartApply.getName());
- morals.setScoreItem("德");
- morals.setParentId(0);
- morals.setScoreNum(12.0);
- scoreManages.add(morals);
- //endregion
- //region 能
- SmartScoreManage ability = new SmartScoreManage();
- ability.setTermId(result);
- ability.setTerm(smartApply.getName());
- ability.setScoreItem("能");
- ability.setParentId(0);
- ability.setScoreNum(28.0);
- scoreManages.add(ability);
- //endregion
- //region 勤
- SmartScoreManage diligent = new SmartScoreManage();
- diligent.setTermId(result);
- diligent.setTerm(smartApply.getName());
- diligent.setScoreItem("勤");
- diligent.setParentId(0);
- diligent.setScoreNum(6.0);
- scoreManages.add(diligent);
- //endregion
- //region 绩
- SmartScoreManage merit = new SmartScoreManage();
- merit.setTermId(result);
- merit.setTerm(smartApply.getName());
- merit.setScoreItem("绩");
- merit.setParentId(0);
- merit.setScoreNum(54.0);
- scoreManages.add(merit);
- //endregion
- boolean inserSManages = smartScoreManageService.saveBatch(scoreManages);
- if (!inserSManages) {
- //return CommonResult.fail("添加失败");
- throw new Exception("添加失败!");
- }
- List<SmartScoreManage> scoreManagesData = smartScoreManageService.queryDatasByTermId(result);
- List<SmartScoreManage> scoreManageDetails = new ArrayList<>();
- for (SmartScoreManage data : scoreManagesData) {
- switch (data.getScoreItem()) {
- case "德":
- SmartScoreManage one = new SmartScoreManage();
- one.setTermId(result);
- one.setTerm(smartApply.getName());
- one.setScoreItem("为人师表");
- one.setParentId(data.getId());
- one.setScoreNum(3.0);
- scoreManageDetails.add(one);
- SmartScoreManage two = new SmartScoreManage();
- two.setTermId(result);
- two.setTerm(smartApply.getName());
- two.setScoreItem("关爱学生");
- two.setParentId(data.getId());
- two.setScoreNum(3.0);
- scoreManageDetails.add(two);
- SmartScoreManage three = new SmartScoreManage();
- three.setTermId(result);
- three.setTerm(smartApply.getName());
- three.setScoreItem("爱岗敬业");
- three.setParentId(data.getId());
- three.setScoreNum(6.0);
- scoreManageDetails.add(three);
- break;
- case "能":
- SmartScoreManage none = new SmartScoreManage();
- none.setTermId(result);
- none.setTerm(smartApply.getName());
- none.setScoreItem("基础能力");
- none.setParentId(data.getId());
- none.setScoreNum(1.0);
- scoreManageDetails.add(none);
- SmartScoreManage ntwo = new SmartScoreManage();
- ntwo.setTermId(result);
- ntwo.setTerm(smartApply.getName());
- ntwo.setScoreItem("教学能力");
- ntwo.setParentId(data.getId());
- ntwo.setScoreNum(16.0);
- scoreManageDetails.add(ntwo);
- SmartScoreManage nthree = new SmartScoreManage();
- nthree.setTermId(result);
- nthree.setTerm(smartApply.getName());
- nthree.setScoreItem("学习能力");
- nthree.setParentId(data.getId());
- nthree.setScoreNum(7.0);
- scoreManageDetails.add(nthree);
- SmartScoreManage nfour = new SmartScoreManage();
- nfour.setTermId(result);
- nfour.setTerm(smartApply.getName());
- nfour.setScoreItem("创新能力");
- nfour.setParentId(data.getId());
- nfour.setScoreNum(4.0);
- scoreManageDetails.add(nfour);
- break;
- case "勤":
- SmartScoreManage qone = new SmartScoreManage();
- qone.setTermId(result);
- qone.setTerm(smartApply.getName());
- qone.setScoreItem("考勤");
- qone.setParentId(data.getId());
- qone.setScoreNum(6.0);
- scoreManageDetails.add(qone);
- break;
- case "绩":
- SmartScoreManage jone = new SmartScoreManage();
- jone.setTermId(result);
- jone.setTerm(smartApply.getName());
- jone.setScoreItem("工作量");
- jone.setParentId(data.getId());
- jone.setScoreNum(8.0);
- scoreManageDetails.add(jone);
- SmartScoreManage jtwo = new SmartScoreManage();
- jtwo.setTermId(result);
- jtwo.setTerm(smartApply.getName());
- jtwo.setScoreItem("教学成绩");
- jtwo.setParentId(data.getId());
- jtwo.setScoreNum(30.0);
- scoreManageDetails.add(jtwo);
- SmartScoreManage jthree = new SmartScoreManage();
- jthree.setTermId(result);
- jthree.setTerm(smartApply.getName());
- jthree.setScoreItem("教研成果");
- jthree.setParentId(data.getId());
- jthree.setScoreNum(10.0);
- scoreManageDetails.add(jthree);
- SmartScoreManage jfour = new SmartScoreManage();
- jfour.setTermId(result);
- jfour.setTerm(smartApply.getName());
- jfour.setScoreItem("专业成长");
- jfour.setParentId(data.getId());
- jfour.setScoreNum(6.0);
- scoreManageDetails.add(jfour);
- break;
- default:
- break;
- }
- }
- boolean inserSDetails = smartScoreManageService.saveBatch(scoreManageDetails);
- if (!inserSDetails) {
- //return CommonResult.fail("添加失败");
- throw new Exception("添加失败!");
- }
- //endregion
- //region 任课老师赋值
- List<UserSubjectVo> teachings = smartTeachingService.querySmartTeachings(null);
- if (teachings != null && teachings.size() > 0) {
- List<SmartEvaluateTeacher> sets = new ArrayList<>();
- for (UserSubjectVo usv : teachings) {
- if (usv.getUserName() != null) {
- SmartEvaluateTeacher set = new SmartEvaluateTeacher();
- set.setCardNo(usv.getCardNo());
- set.setName(usv.getUserName());
- set.setUserId(usv.getUserId());
- set.setGradeId(usv.getGradeId());
- set.setGradeName(usv.getGradeName());
- set.setTermId(smartApply.getId());
- set.setTerm(smartApply.getName());
- set.setSubjectId(usv.getSubjectId());
- set.setSubject(usv.getSubjectName());
- set.setClassId(usv.getClassId());
- set.setClassName(usv.getClassName());
- set.setTotalScore(0.0);
- set.setLowingScore(0.0);
- sets.add(set);
- }
- }
- if (sets != null && sets.size() > 0) {
- boolean teacherBatch = smartEvaluateTeacherService.saveBatch(sets);
- if (!teacherBatch) {
- throw new Exception("添加失败!");
- }
- }
- }
- //endregion
- } catch (Exception e) {
- throw new Exception("添加失败!");
- }
- return CommonResult.ok("添加成功");
- }
- /**
- * 更新学期
- *
- * @param sa 学期数据
- * @param bindingResult
- * @return
- */
- @Override
- @DESRespondSecret(validated = true)
- public CommonResult updateSmartSemesterById(SmartSemester sa, BindingResult bindingResult) {
- if (bindingResult.hasErrors()) {
- String st = paramUtils.getParamError(bindingResult);
- return CommonResult.fail(st);
- }
- Date startTime = sa.getStartTime();
- Date endTime = sa.getEndTime();
- // 一天里不能是多个学期
- List<SmartSemester> list = smartSemesterService.getSemesterTime(TimeExchange.DateToString(startTime,"yyyy-MM-dd HH:mm:ss") , TimeExchange.DateToString(endTime,"yyyy-MM-dd HH:mm:ss"));
- if (ObjectUtils.isNotEmpty(list) && list.size() > 0) {
- return CommonResult.fail("该时间段已包含其他学期");
- }
- int result = smartSemesterService.updateSmartSemester(sa);
- return result > 0 ? CommonResult.ok("修改成功") : CommonResult.fail("修改失败");
- }
- /**
- * 学期分页数据查询
- *
- * @param currentPage 当前页数
- * @param pageCount 一页数据条数
- * @param name 查询名称
- * @return
- */
- @Override
- @DESRespondSecret(validated = true)
- public CommonResult queryPageSmartSemesters(int currentPage, int pageCount, String name) {
- PageUtils<SmartSemester> result = smartSemesterService.queryPageSmartSemesters(currentPage, pageCount, name);
- return CommonResult.ok(result);
- }
- @Override
- @DESRespondSecret(validated = true)
- public CommonResult deleteSmartSemesterById(int id) {
- SmartSemester data = smartSemesterService.getSmartById(id);
- if (data == null) {
- return CommonResult.fail("当前数据不存在,删除失败!");
- }
- int result = smartSemesterService.deleteSmartSemesterById(id);
- return result > 0 ? CommonResult.ok("删除成功") : CommonResult.fail("删除失败");
- }
- @Override
- @DESRespondSecret(validated = true)
- public CommonResult getSmartSemester() {
- LambdaQueryWrapper<SmartSemester> wrapper = new LambdaQueryWrapper<>();
- wrapper.orderByDesc(SmartSemester::getStartTime);
- List<SmartSemester> list = smartSemesterService.list(wrapper);
- return CommonResult.ok(list);
- }
- }
|