Commit 3b47933a by zhaopanyu

Merge branch 'master' of 49.232.152.146:xhxy/smart_school

parents ee66686b 68f08885
...@@ -25,6 +25,11 @@ public class SchoolLabClassYear extends OurBaseEntity ...@@ -25,6 +25,11 @@ public class SchoolLabClassYear extends OurBaseEntity
@Excel(name = "级部") @Excel(name = "级部")
private String grade; private String grade;
/**
* 级部id
*/
private Integer gradeId;
/** 学年 */ /** 学年 */
@Excel(name = "学年") @Excel(name = "学年")
private String schoolYear; private String schoolYear;
......
...@@ -86,4 +86,14 @@ public class SchoolTeacherLabApply extends OurBaseEntity ...@@ -86,4 +86,14 @@ public class SchoolTeacherLabApply extends OurBaseEntity
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date applyTime; private Date applyTime;
/**
* 实验室是否使用完成 (0未完成,1完成)
*/
private String state;
/**
* 备注
*/
private String remark;
} }
...@@ -37,6 +37,13 @@ public interface SchoolClassMapper extends BaseMapper<SchoolClass> { ...@@ -37,6 +37,13 @@ public interface SchoolClassMapper extends BaseMapper<SchoolClass> {
SchoolClass getUserClassByParent(Long studentId); SchoolClass getUserClassByParent(Long studentId);
/** /**
* 跟进classid获取班级名称
* @param studentId
* @return
*/
String getClassName(Long classId);
/**
* 微信公众号(老师查看班级) * 微信公众号(老师查看班级)
* *
* @param teacherId * @param teacherId
......
package yangtz.cs.liu.campus.mapper.schoolLab; package yangtz.cs.liu.campus.mapper.schoolLab;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import io.lettuce.core.dynamic.annotation.Param;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYearRelation; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYearRelation;
import java.util.List; import java.util.List;
import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo;
/** /**
* 年级实验室预约Mapper接口 * 年级实验室预约Mapper接口
...@@ -32,6 +34,15 @@ public interface SchoolLabClassYearMapper extends BaseMapper<SchoolLabClassYear> ...@@ -32,6 +34,15 @@ public interface SchoolLabClassYearMapper extends BaseMapper<SchoolLabClassYear>
public List<SchoolLabClassYear> selectSchoolLabClassYearList(SchoolLabClassYear schoolLabClassYear); public List<SchoolLabClassYear> selectSchoolLabClassYearList(SchoolLabClassYear schoolLabClassYear);
/** /**
* 获取年级 班级完成情况信息
* @param
* @return
*/
public List<ClassSituationVo> classSituation(ClassSituationVo classSituationVo);
public List<ClassSituationVo> getexperimentList(ClassSituationVo classSituationVo);
/**
* 新增年级实验室预约 * 新增年级实验室预约
* *
* @param schoolLabClassYear 年级实验室预约 * @param schoolLabClassYear 年级实验室预约
......
package yangtz.cs.liu.campus.mapper.schoolLab; package yangtz.cs.liu.campus.mapper.schoolLab;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.Map;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply; import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply;
import java.util.List; import java.util.List;
import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo;
/** /**
* 教师实验室申请Mapper接口 * 教师实验室申请Mapper接口
...@@ -38,6 +40,13 @@ public interface SchoolTeacherLabApplyMapper extends BaseMapper<SchoolTeacherLab ...@@ -38,6 +40,13 @@ public interface SchoolTeacherLabApplyMapper extends BaseMapper<SchoolTeacherLab
public int insertSchoolTeacherLabApply(SchoolTeacherLabApply schoolTeacherLabApply); public int insertSchoolTeacherLabApply(SchoolTeacherLabApply schoolTeacherLabApply);
/** /**
* 计算本学年学期完成多少数量
*/
public Integer selectCompletedQuantity(ClassSituationVo classSituationVo);
public List<Map<String, String>> selectTeacherList(SchoolTeacherLabApply schoolTeacherLabApply);
/**
* 修改教师实验室申请 * 修改教师实验室申请
* *
* @param schoolTeacherLabApply 教师实验室申请 * @param schoolTeacherLabApply 教师实验室申请
......
package yangtz.cs.liu.campus.service.impl.schoolLab; package yangtz.cs.liu.campus.service.impl.schoolLab;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -9,10 +12,16 @@ import org.springframework.stereotype.Service; ...@@ -9,10 +12,16 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
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.schoolLab.SchoolExperimentPlan;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYearRelation; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYearRelation;
import yangtz.cs.liu.campus.mapper.schoolClass.SchoolClassMapper;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoolLabClassYearMapper; import yangtz.cs.liu.campus.mapper.schoolLab.SchoolLabClassYearMapper;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoolTeacherLabApplyMapper;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolExperimentPlanService;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabClassYearService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabClassYearService;
import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo;
/** /**
* 年级实验室预约Service业务层处理 * 年级实验室预约Service业务层处理
...@@ -27,6 +36,13 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea ...@@ -27,6 +36,13 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea
@Autowired @Autowired
private SchoolLabClassYearMapper schoolLabClassYearMapper; private SchoolLabClassYearMapper schoolLabClassYearMapper;
@Autowired
private SchoolClassMapper schoolClassMapper;
@Autowired
private SchoolTeacherLabApplyMapper schoolTeacherLabApplyMapper;
/** /**
* 查询年级实验室预约 * 查询年级实验室预约
* *
...@@ -134,4 +150,65 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea ...@@ -134,4 +150,65 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea
} }
} }
} }
/**
* 获取班级统计
* @param classSituationVo
* @return
*/
@Override
public List<ClassSituationVo> classSituation(ClassSituationVo classSituationVo) {
//1.获取列表获取本级部今年所有的计划
List<ClassSituationVo> schoolLabClassYears = schoolLabClassYearMapper.classSituation(classSituationVo);
//2.统计完成情况,拼接信息
for(ClassSituationVo data :schoolLabClassYears){
Long classId = data.getClassId();
//查询班级信息
SchoolClass schoolClass = schoolClassMapper.selectById(classId);
data.setGradeId(schoolClass.getGradeId());
data.setClassName(schoolClass.getClassName());
data.setSchoolYear(schoolClass.getSchoolYear().toString());
data.setSemester(classSituationVo.getSemester());
//查询完成情况
Integer counts = schoolTeacherLabApplyMapper.selectCompletedQuantity(classSituationVo);
data.setComplete(counts);
data.setIncomplete(data.getCount()-counts);
Integer count = data.getCount();
Integer bb = counts / count * 100;
data.setProportion(bb);
}
return schoolLabClassYears;
}
/**
*实验室完成情况
* @param classSituationVo
* @return
*/
@Override
public List<ClassSituationVo> getexperimentList(ClassSituationVo classSituationVo) {
//1.获取列表获取本级部今年所有的计划
List<ClassSituationVo> schoolLab = schoolLabClassYearMapper.getexperimentList(classSituationVo);
for (ClassSituationVo date :schoolLab){
SchoolLabClassYear schoolLabClassYears = new SchoolLabClassYear();
schoolLabClassYears.setExperimentPlanId(date.getId().toString());
List<SchoolLabClassYear> schoolLabClassYear = schoolLabClassYearMapper.selectSchoolLabClassYearList(
schoolLabClassYears);
if (schoolLabClassYear.isEmpty()){
//未申请计划完成为0
date.setComplete(0);
date.setIncomplete(date.getCount());
date.setProportion(0);
continue;
}
classSituationVo.setId(schoolLabClassYear.get(0).getId());
//1.已完成数量
Integer counts = schoolTeacherLabApplyMapper.selectCompletedQuantity(classSituationVo);
date.setComplete(counts);
date.setIncomplete(date.getCount() - counts);
Integer bb = counts / date.getCount() * 100;
date.setProportion(bb);
}
return schoolLab;
}
} }
package yangtz.cs.liu.campus.service.impl.schoolLab; package yangtz.cs.liu.campus.service.impl.schoolLab;
import com.ruoyi.common.utils.StringUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import java.util.Map;
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.domain.schoolClass.SchoolClass;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolExperimentPlan;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolExperimentPlanClass;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear;
import yangtz.cs.liu.campus.mapper.schoolClass.SchoolClassMapper;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoolExperimentPlanMapper;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoolTeacherLabApplyMapper; import yangtz.cs.liu.campus.mapper.schoolLab.SchoolTeacherLabApplyMapper;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply; import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherLabApplyService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherLabApplyService;
import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolExperimentPlanVo;
/** /**
* 教师实验室申请Service业务层处理 * 教师实验室申请Service业务层处理
...@@ -21,6 +33,11 @@ public class SchoolTeacherLabApplyServiceImpl extends ServiceImpl<SchoolTeacherL ...@@ -21,6 +33,11 @@ public class SchoolTeacherLabApplyServiceImpl extends ServiceImpl<SchoolTeacherL
{ {
@Autowired @Autowired
private SchoolTeacherLabApplyMapper schoolTeacherLabApplyMapper; private SchoolTeacherLabApplyMapper schoolTeacherLabApplyMapper;
@Autowired
private SchoolExperimentPlanMapper schoolExperimentPlanMapper;
@Autowired
private SchoolClassMapper schoolClassMapper;
/** /**
* 查询教师实验室申请 * 查询教师实验室申请
...@@ -95,4 +112,37 @@ public class SchoolTeacherLabApplyServiceImpl extends ServiceImpl<SchoolTeacherL ...@@ -95,4 +112,37 @@ public class SchoolTeacherLabApplyServiceImpl extends ServiceImpl<SchoolTeacherL
{ {
return schoolTeacherLabApplyMapper.deleteSchoolTeacherLabApplyById(id); return schoolTeacherLabApplyMapper.deleteSchoolTeacherLabApplyById(id);
} }
/**
* 获取班级详情
* @param one
* @return
*/
@Override
public List<SchoolTeacherLabApply> getTeacherExperimentList(ClassSituationVo one) {
SchoolTeacherLabApply schoolTeacherLabApply = new SchoolTeacherLabApply();
schoolTeacherLabApply.setLabClassYearId(one.getLabClassYearId().toString());
schoolTeacherLabApply.setSchoolYear(one.getSchoolYear().toString());
schoolTeacherLabApply.setSemester(one.getSemester());
schoolTeacherLabApply.setExperimentTime(StringUtils.isNull(one.getExperimentTime())? null: new Date(one.getExperimentTime()));
schoolTeacherLabApply.setState(one.getState());
schoolTeacherLabApply.setClassName(one.getClassName());
//1.已经进行的班级
List<SchoolTeacherLabApply> schoolTeacherLabApplies = schoolTeacherLabApplyMapper.selectSchoolTeacherLabApplyList(
schoolTeacherLabApply);
return schoolTeacherLabApplies;
}
/**
* 教师实验统计
* @param
* @return
*/
@Override
public List<Map<String, String>> selectTeacherList(SchoolTeacherLabApply schoolTeacherLabApply) {
List<Map<String, String>> maps = schoolTeacherLabApplyMapper.selectTeacherList(
schoolTeacherLabApply);
return maps;
}
} }
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear;
import java.util.List; import java.util.List;
import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo;
/** /**
* 年级实验室预约Service接口 * 年级实验室预约Service接口
...@@ -62,4 +63,8 @@ public interface ISchoolLabClassYearService extends IService<SchoolLabClassYear> ...@@ -62,4 +63,8 @@ public interface ISchoolLabClassYearService extends IService<SchoolLabClassYear>
*/ */
public int deleteSchoolLabClassYearById(Long id); public int deleteSchoolLabClassYearById(Long id);
public List<ClassSituationVo> classSituation(ClassSituationVo classSituationVo);
public List<ClassSituationVo> getexperimentList(ClassSituationVo classSituationVo);
} }
package yangtz.cs.liu.campus.service.schoolLab; package yangtz.cs.liu.campus.service.schoolLab;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Map;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply; import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply;
import java.util.List; import java.util.List;
import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo;
/** /**
* 教师实验室申请Service接口 * 教师实验室申请Service接口
...@@ -60,4 +63,8 @@ public interface ISchoolTeacherLabApplyService extends IService<SchoolTeacherLab ...@@ -60,4 +63,8 @@ public interface ISchoolTeacherLabApplyService extends IService<SchoolTeacherLab
* @return 结果 * @return 结果
*/ */
public int deleteSchoolTeacherLabApplyById(Long id); public int deleteSchoolTeacherLabApplyById(Long id);
List<SchoolTeacherLabApply> getTeacherExperimentList(ClassSituationVo one);
List<Map<String,String>> selectTeacherList(SchoolTeacherLabApply schoolTeacherLabApply);
} }
package yangtz.cs.liu.campus.vo.schoolLab;
import lombok.Data;
/**
* 班级完成情况返回列表
*/
@Data
public class ClassSituationVo {
/**
* 实验室计划id
*/
private Long id;
/**
* 级部预约id
*/
private Long labClassYearId;
/**
* 级部id
*/
private Long gradeId;
/**
* 级部
*/
private String grade;
/**
* 班级id
*/
private Long classId;
/**
* 学年
*/
private String schoolYear;
/**
* 学期
*/
private String semester;
/**
* 班级
*/
private String className;
/**
* 实验室名称
*/
private String experimentName;
/**
* 实验室是否使用完成 (0未完成,1完成)
*/
private String state;
/**
* 实验时间
*/
private String experimentTime;
/**
* 已完成实验数
*/
private Integer complete;
/**
* 总数
*/
private Integer count;
/**
* 未完成实验数
*/
private Integer incomplete;
/**
* 完成比例
*/
private Integer proportion;
}
package yangtz.cs.liu.wechat.controller.experiment;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApply;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabClassYearService;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherExperimentApplyService;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherLabApplyService;
import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo;
/**
* 实验室管理员
*/
@RestController
@RequestMapping("/wx/administrators")
public class ExperimentAdministratorsControoler extends BaseController {
/**
* 年级申请
*/
@Autowired
ISchoolLabClassYearService schoolLabClassYearService;
/**
* 实验室申请
*/
@Autowired
private ISchoolTeacherLabApplyService schoolTeacherLabApplyService;
/**
* 个人申请记录
*/
@Autowired
ISchoolTeacherExperimentApplyService schoolTeacherExperimentApplyService;
/**
* 年级实验室分分配列表
*/
@GetMapping("/classYear/list")
public AjaxResult classYearList(SchoolLabClassYear schoolLabClassYear)
{
return AjaxResult.success(schoolLabClassYearService.selectSchoolLabClassYearList(schoolLabClassYear));
}
/**
* 年级实验申请详情
*/
@GetMapping(value = "/classYear/{id}")
public AjaxResult classYearGetInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(schoolLabClassYearService.selectSchoolLabClassYearById(id));
}
/**
* 年级实验申请分配
*/
@PutMapping("/classYear/update")
public AjaxResult classYearUpdate(@RequestBody SchoolLabClassYear schoolLabClassYear)
{
return toAjax(schoolLabClassYearService.updateSchoolLabClassYear(schoolLabClassYear));
}
/**
* 教师实验室预约列表
*/
@GetMapping(value = "/teacher/list")
public AjaxResult teacherList(SchoolTeacherLabApply schoolTeacherLabApply)
{
return AjaxResult.success(schoolTeacherLabApplyService.selectSchoolTeacherLabApplyList(schoolTeacherLabApply));
}
/**
* 实验室申请详情
*/
@GetMapping(value = "/teacher/{id}")
public AjaxResult teacherGetInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(schoolTeacherLabApplyService.selectSchoolTeacherLabApplyById(id));
}
/**
* 实验室申请详情审批
*/
@PutMapping("/teacher/update")
public AjaxResult teacherUpdate(@RequestBody SchoolTeacherLabApply schoolTeacherLabApply)
{
return toAjax(schoolTeacherLabApplyService.updateById(schoolTeacherLabApply));
}
/**
* 个人实验室申请列表
*/
@GetMapping(value = "/apply/list")
public AjaxResult applyList(SchoolTeacherExperimentApply schoolTeacherExperimentApply)
{
return AjaxResult.success(schoolTeacherExperimentApplyService.selectSchoolTeacherExperimentApplyList(schoolTeacherExperimentApply));
}
/**
* 个人实验室审批
*/
@PutMapping("/apply/update")
public AjaxResult applyUpdate(@RequestBody SchoolTeacherExperimentApply schoolTeacherExperimentApply)
{
return toAjax(schoolTeacherExperimentApplyService.updateById(schoolTeacherExperimentApply));
}
/**
* 个人实验室申请详情
*/
@GetMapping(value = "/apply/{id}")
public AjaxResult applyGetInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(schoolTeacherExperimentApplyService.selectSchoolTeacherExperimentApplyById(id));
}
/**
* 实验室完成情况
*/
@GetMapping("/getexperimentList")
public AjaxResult getexperimentList(ClassSituationVo classSituationVo){
List<ClassSituationVo> classSituationVos = schoolLabClassYearService.getexperimentList(
classSituationVo);
return AjaxResult.success(classSituationVos);
}
/**
*实验室完成详情
*/
@GetMapping("/teacherExperimentList")
public AjaxResult teacherExperimentList(ClassSituationVo classSituationVo){
LambdaQueryWrapper<SchoolLabClassYear> lw = new LambdaQueryWrapper();
lw.eq(SchoolLabClassYear::getExperimentPlanId,classSituationVo.getId());
SchoolLabClassYear one = schoolLabClassYearService.getOne(lw);
classSituationVo.setLabClassYearId(one.getId());
List<SchoolTeacherLabApply> teacherExperimentList = schoolTeacherLabApplyService.getTeacherExperimentList(
classSituationVo);
return AjaxResult.success(teacherExperimentList);
}
/**
* 教师实验统计
*/
@GetMapping("/teachaer/List")
public AjaxResult teachaerList(SchoolTeacherLabApply schoolTeacherLabApply){
List<Map<String, String>> maps = schoolTeacherLabApplyService.selectTeacherList(
schoolTeacherLabApply);
return AjaxResult.success(maps);
}
}
package yangtz.cs.liu.wechat.controller.experiment;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoolTeacherLabApplyMapper;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolExperimentPlanService;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabClassYearService;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherLabApplyService;
import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolExperimentPlanVo;
/**
* 实验室 级部申请
*/
@RestController
@RequestMapping("/wx/level/expriment")
public class ExperimentLevelController extends BaseController {
@Autowired
ISchoolLabClassYearService schoolLabClassYearService;
@Autowired
private ISchoolExperimentPlanService schoolExperimentPlanService;
@Autowired
private ISchoolTeacherLabApplyService schoolTeacherLabApplyService;
@Log(title = "年级实验室预约", businessType = BusinessType.INSERT)
@PostMapping("/add")
public AjaxResult add(@RequestBody SchoolLabClassYear schoolLabClassYear)
{
return toAjax(schoolLabClassYearService.insertSchoolLabClassYear(schoolLabClassYear));
}
/**
* 获取实验计划
* 传入 级部
*/
@GetMapping("/pxperimentPlanList")
public AjaxResult pxperimentPlanList(SchoolExperimentPlanVo schoolExperimentPlanVo)
{
return AjaxResult.success(schoolExperimentPlanService.selectSchoolExperimentPlanList(schoolExperimentPlanVo));
}
/**
* 获取实验计划详细信息
*/
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(schoolExperimentPlanService.selectSchoolExperimentPlanById(id));
}
/**
*获取级部预约列表
*/
@GetMapping("/list")
public AjaxResult list(SchoolLabClassYear schoolLabClassYear)
{
return AjaxResult.success(schoolLabClassYearService.selectSchoolLabClassYearList(schoolLabClassYear));
}
/**
* 修改
*/
@PutMapping("/update")
public AjaxResult update(@RequestBody SchoolLabClassYear schoolLabClassYear)
{
return toAjax(schoolLabClassYearService.updateSchoolLabClassYear(schoolLabClassYear));
}
/**
* 删除年级实验室预约
*/
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(schoolLabClassYearService.deleteSchoolLabClassYearByIds(ids));
}
/**
* 查看班级完成情况
*/
@GetMapping("/getClassExperimentList")
public AjaxResult classSituation(ClassSituationVo classSituationVo){
List<ClassSituationVo> classSituationVos = schoolLabClassYearService.classSituation(
classSituationVo);
return AjaxResult.success(classSituationVos);
}
/**
* 班级完成详情
*/
@GetMapping("/getClassExperimentalDetails")
public AjaxResult getClassExperimentalDetails(SchoolTeacherLabApply schoolTeacherLabApply){
List<SchoolTeacherLabApply> list = schoolTeacherLabApplyService.selectSchoolTeacherLabApplyList(schoolTeacherLabApply);
return AjaxResult.success(list);
}
/**
* 实验室完成情况
*/
@GetMapping("/getexperimentList")
public AjaxResult getexperimentList(ClassSituationVo classSituationVo){
List<ClassSituationVo> classSituationVos = schoolLabClassYearService.getexperimentList(
classSituationVo);
return AjaxResult.success(classSituationVos);
}
/**
*实验室完成详情
*/
@GetMapping("/teacherExperimentList")
public AjaxResult teacherExperimentList(ClassSituationVo classSituationVo){
SchoolLabClassYear schoolLabClassYear = new SchoolLabClassYear();
schoolLabClassYear.setExperimentPlanId(classSituationVo.getId().toString());
List<SchoolLabClassYear> schoolLabClassYears = schoolLabClassYearService.selectSchoolLabClassYearList(
schoolLabClassYear);
if (!schoolLabClassYears.isEmpty()){
classSituationVo.setLabClassYearId(schoolLabClassYears.get(0).getId());
}
List<SchoolTeacherLabApply> teacherExperimentList = schoolTeacherLabApplyService.getTeacherExperimentList(
classSituationVo);
return AjaxResult.success(teacherExperimentList);
}
}
package yangtz.cs.liu.wechat.controller.experiment;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApply;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabClassYearService;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherExperimentApplyService;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherLabApplyService;
/**
* 实验室 老师申请
*/
@RestController
@RequestMapping("/wx/teacher/expriment")
public class TeacherExperimentController extends BaseController {
/**
* 实验室申请
*/
@Autowired
private ISchoolTeacherLabApplyService schoolTeacherLabApplyService;
/**
* 级部申请
*/
@Autowired
ISchoolLabClassYearService schoolLabClassYearService;
/**
* 个人申请记录
*/
@Autowired
ISchoolTeacherExperimentApplyService schoolTeacherExperimentApplyService;
/**
* 年级计划申请列表
*/
@GetMapping(value = "/classYear/list")
public AjaxResult classYearlist(SchoolLabClassYear schoolLabClassYear)
{
List<SchoolLabClassYear> schoolLabClassYears = schoolLabClassYearService.selectSchoolLabClassYearList(
schoolLabClassYear);
return AjaxResult.success(schoolLabClassYears);
}
/**
* 老师申请实验室
*/
@PostMapping("/add")
public AjaxResult add(@RequestBody SchoolTeacherLabApply schoolTeacherLabApply)
{
schoolTeacherLabApply.setState("0");
schoolTeacherLabApply.setApplyState("0");
return toAjax(schoolTeacherLabApplyService.save(schoolTeacherLabApply));
}
/**
* 获取实验计划详细信息
*/
@GetMapping(value = "/classYear/{id}")
public AjaxResult getclassYearInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(schoolLabClassYearService.selectSchoolLabClassYearById(id));
}
/**
* 实验室申请记录
*/
@GetMapping(value = "/list")
public AjaxResult list(SchoolTeacherLabApply schoolTeacherLabApply)
{
return AjaxResult.success(schoolTeacherLabApplyService.selectSchoolTeacherLabApplyList(schoolTeacherLabApply));
}
/**
* 实验室申请详情
*/
@GetMapping(value = "/{id}")
public AjaxResult getrecordInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(schoolTeacherLabApplyService.selectSchoolTeacherLabApplyById(id));
}
/**
* 个人实验室申请列表
*/
@GetMapping(value = "/apply/list")
public AjaxResult applyList(SchoolTeacherExperimentApply schoolTeacherExperimentApply)
{
return AjaxResult.success(schoolTeacherExperimentApplyService.selectSchoolTeacherExperimentApplyList(schoolTeacherExperimentApply));
}
/**
* 个人实验室申请详情
*/
@GetMapping(value = "/apply/{id}")
public AjaxResult applyGetInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(schoolTeacherExperimentApplyService.selectSchoolTeacherExperimentApplyById(id));
}
/**
*新增申请
*/
@PostMapping("/apply/add")
public AjaxResult applyAdd(@RequestBody SchoolTeacherExperimentApply schoolTeacherExperimentApply)
{
return toAjax(schoolTeacherExperimentApplyService.save(schoolTeacherExperimentApply));
}
/**
* 申报
*/
@PutMapping("/apply/report")
public AjaxResult applyReport(@RequestBody SchoolTeacherExperimentApply schoolTeacherExperimentApply)
{
schoolTeacherExperimentApply.setDeclareState("1");
return toAjax(schoolTeacherExperimentApplyService.updateById(schoolTeacherExperimentApply));
}
/**
* 修改申请
*/
@PutMapping("/apply/update")
public AjaxResult applyUpdate(@RequestBody SchoolTeacherExperimentApply schoolTeacherExperimentApply)
{
return toAjax(schoolTeacherExperimentApplyService.updateById(schoolTeacherExperimentApply));
}
/**
* 删除教师个人实验申请
*/
@PostMapping("/apply/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(schoolTeacherExperimentApplyService.deleteSchoolTeacherExperimentApplyByIds(ids));
}
}
...@@ -38,6 +38,14 @@ ...@@ -38,6 +38,14 @@
order by g.grade_value, g.class_value order by g.grade_value, g.class_value
</select> </select>
<select id="getClassName" parameterType="Long" resultType="String">
select g.class_name
from school_class g
where g.del_flag = '0' and g.id=#{classId}
</select>
<select id="getUserClassByParent" resultType="SchoolClass"> <select id="getUserClassByParent" resultType="SchoolClass">
SELECT sg.pic_url, SELECT sg.pic_url,
sg.class_value, sg.class_value,
......
...@@ -71,6 +71,27 @@ ...@@ -71,6 +71,27 @@
where a.id = #{id} where a.id = #{id}
</select> </select>
<select id="classSituation" parameterType="ClassSituationVo" resultType="ClassSituationVo">
SELECT epc.class_id ,COUNT(ep.id) as count,lcy.experiment_plan_id labClassYearId FROM school_experiment_plan ep LEFT JOIN school_experiment_plan_class epc on ep.id=epc.experiment_plan_id
left join school_lab_class_year lcy on lcy.experiment_plan_id = ep.id
WHERE ep.del_flag=0 and epc.del_flag=0 AND ep.school_year = #{schoolYear} AND ep.semester=#{semester}
and ep.grade_id = #{gradeId}
GROUP BY epc.class_id
</select>
<select id="getexperimentList" parameterType="ClassSituationVo" resultType="ClassSituationVo">
SELECT ep.id,ep.experiment_name,ep.school_year,ep.grade, ep.semester,COUNT(pc.class_id) as count FROM school_experiment_plan ep
LEFT JOIN school_experiment_plan_class pc on ep.id = pc.experiment_plan_id
WHERE ep.school_year = #{schoolYear} AND ep.semester =#{semester} AND ep.del_flag = 0 AND pc.del_flag=0
<if test="experimentName != null "> and ep.experiment_name like concat('%', #{experimentName}, '%') </if>
<if test="grade != null "> and ep.grade = #{grade}</if>
GROUP BY ep.id
</select>
<insert id="insertSchoolLabClassYear" parameterType="SchoolLabClassYear" useGeneratedKeys="true" keyProperty="id"> <insert id="insertSchoolLabClassYear" parameterType="SchoolLabClassYear" useGeneratedKeys="true" keyProperty="id">
insert into school_lab_class_year insert into school_lab_class_year
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
</resultMap> </resultMap>
<sql id="selectSchoolTeacherLabApplyVo"> <sql id="selectSchoolTeacherLabApplyVo">
select id, lab_class_year_id, experiment_classify, sub, grade, school_year, semester, class_id, class_name, chapter_content, experiment_time, section, lab_id, lab_name, apply_state, apply_id, apply_name, apply_time, remark, create_by, create_time, update_by, update_time, del_flag from school_teacher_lab_apply select id, lab_class_year_id, experiment_classify, sub, grade,state, school_year, semester, class_id, class_name, chapter_content, experiment_time, section, lab_id, lab_name, apply_state, apply_id, apply_name, apply_time, remark, create_by, create_time, update_by, update_time, del_flag from school_teacher_lab_apply
</sql> </sql>
<select id="selectSchoolTeacherLabApplyList" parameterType="SchoolTeacherLabApply" resultMap="SchoolTeacherLabApplyResult"> <select id="selectSchoolTeacherLabApplyList" parameterType="SchoolTeacherLabApply" resultMap="SchoolTeacherLabApplyResult">
...@@ -118,6 +118,29 @@ ...@@ -118,6 +118,29 @@
</trim> </trim>
</insert> </insert>
<select id="selectCompletedQuantity" resultType="Integer" parameterType="ClassSituationVo">
SELECT count(0) FROM school_teacher_lab_apply lp WHERE lp.school_year = #{schoolYear} AND lp.semester = #{semester} AND lp.state=1 AND lp.del_flag=0
<if test="id != null "> and lp.lab_class_year_id = #{id}</if>
</select>
<select id="selectTeacherList" resultType="Map" parameterType="SchoolTeacherLabApply">
SELECT apply_name applyName,school_year schoolYear,
COUNT(CASE WHEN experiment_classify = 1 THEN experiment_classify END) as fzcount,
COUNT(CASE WHEN experiment_classify = 2 THEN experiment_classify END) as sycount,
COUNT(CASE WHEN experiment_classify = 3 THEN experiment_classify END) as sjcount,
COUNT(experiment_classify) count
FROM school_teacher_lab_apply WHERE
school_year = #{schoolYear} AND semester = #{semester}
<if test="applyName != null and applyName != ''">
AND apply_name like concat('%', #{applyName}, '%')
</if>
GROUP BY apply_name
</select>
<update id="updateSchoolTeacherLabApply" parameterType="SchoolTeacherLabApply"> <update id="updateSchoolTeacherLabApply" parameterType="SchoolTeacherLabApply">
update school_teacher_lab_apply update school_teacher_lab_apply
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
......
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