Compare commits

..

3 Commits

6 changed files with 147 additions and 27 deletions

View File

@ -71,7 +71,7 @@ public class CeesUserController extends JeecgController<CeesUser, ICeesUserServi
@PostMapping(value = "/add")
public Result<String> add(@RequestBody CeesUser ceesUser) {
ceesUser.setUserHeadingCode(ceesUserService.createIdentityID(ceesUser));
ceesUser.setGroupId(1);
ceesUser.setWorkload(0);
ceesUserService.save(ceesUser);
return Result.OK("添加成功!");
}

View File

@ -1,18 +1,14 @@
package org.jeecg.modules.contoller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.entity.CeesWaiTeacher;
import org.jeecg.modules.enums.MajorEnum;
import org.jeecg.modules.service.ICeesWaiTeacherService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -37,11 +33,37 @@ public class CeesWaiTeacherController extends JeecgController<CeesWaiTeacher, IC
private ICeesWaiTeacherService ceesWaiTeacherService;
@GetMapping("updataDormitory")
public Result updataDormitory(@RequestParam String id, @RequestParam String dormitory){
return ceesWaiTeacherService.updataDormitory(id,dormitory);
/**
* 分配宿舍
* @param id
* @param dormitory
* @return {@link Result }
*/
@GetMapping("updateDormitory")
public Result<?> updateDormitory(@RequestParam String id, @RequestParam String dormitory){
return ceesWaiTeacherService.updateDormitory(id,dormitory);
}
/**
* 取消确认报到
* @param id
* @return {@link Result }
*/
@GetMapping("/cancelCheckIn")
public Result<?> cancelCheckIn(@RequestParam String id){
return ceesWaiTeacherService.cancelCheckIn(id);
}
/**
* 确认报到
* @param id
* @return {@link Result }
*/
@GetMapping("/confirmCheckIn")
public Result<?> confirmCheckIn(@RequestParam String id){
return ceesWaiTeacherService.confirmCheckIn(id);
}
/**
@ -60,11 +82,7 @@ public class CeesWaiTeacherController extends JeecgController<CeesWaiTeacher, IC
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<CeesWaiTeacher> queryWrapper = QueryGenerator.initQueryWrapper(ceesWaiTeacher, req.getParameterMap());
Page<CeesWaiTeacher> page = new Page<CeesWaiTeacher>(pageNo, pageSize);
IPage<CeesWaiTeacher> pageList = ceesWaiTeacherService.page(page, queryWrapper);
pageList.convert(e->e.setMajorIdDescription(MajorEnum.describe(e.getMajorId())));
return Result.OK(pageList);
return Result.OK(ceesWaiTeacherService.queryPageList(ceesWaiTeacher,pageNo,pageSize,req));
}
/**

View File

@ -125,7 +125,10 @@ public class CeesWaiTeacher implements Serializable {
/**宿舍信息*/
@Excel(name = "宿舍信息", width = 15)
@ApiModelProperty(value = "宿舍信息")
private String dormitory;
private String dormitoryId;
@ApiModelProperty(value = "宿舍信息")
@TableField(exist = false)
private String dormitoryName;
/**是否住宿*/
@Excel(name = "是否住宿", width = 15)
@ApiModelProperty(value = "是否住宿")

View File

@ -1,9 +1,13 @@
package org.jeecg.modules.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.entity.CeesWaiTeacher;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest;
/**
* @Description: 外校老师管理
@ -13,5 +17,14 @@ import org.jeecg.modules.entity.CeesWaiTeacher;
*/
public interface ICeesWaiTeacherService extends IService<CeesWaiTeacher> {
Result updataDormitory(String id, String dormitory);
Result updateDormitory(String id, String dormitory);
IPage<CeesWaiTeacher> queryPageList(CeesWaiTeacher ceesWaiTeacher,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req);
Result<?> cancelCheckIn(String id);
Result<?> confirmCheckIn(String id);
}

View File

@ -9,11 +9,9 @@ import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.entity.CeesDormitoryInfo;
import org.jeecg.modules.mapper.CeesDormitoryInfoMapper;
import org.jeecg.modules.service.ICeesDormitoryInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.lang.reflect.Array;
import java.util.Arrays;
import javax.annotation.Resource;
import java.util.List;
/**
@ -25,7 +23,7 @@ import java.util.List;
@Service
public class CeesDormitoryInfoServiceImpl extends ServiceImpl<CeesDormitoryInfoMapper, CeesDormitoryInfo> implements ICeesDormitoryInfoService {
@Autowired
@Resource
private CeesDormitoryInfoMapper ceesDormitoryInfoMapper;
@Override
@ -33,6 +31,7 @@ public class CeesDormitoryInfoServiceImpl extends ServiceImpl<CeesDormitoryInfoM
//todo: 未添加宿舍满员的情况和宿舍是否正常使用
Integer type = Integer.parseInt(sex);
LambdaQueryWrapper<CeesDormitoryInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.gt(CeesDormitoryInfo::getDormitoryNum, 0);
if (sex != null) {
wrapper.eq(CeesDormitoryInfo::getDormitoryType, type);
}
@ -40,6 +39,7 @@ public class CeesDormitoryInfoServiceImpl extends ServiceImpl<CeesDormitoryInfoM
JSONArray resultArray = new JSONArray();
for(CeesDormitoryInfo dorm :list){
JSONObject resultData = new JSONObject();
resultData.put("id", dorm.getId());
resultData.put("sysOrgCode", dorm.getSysOrgCode());
resultData.put("dormitory", dorm.getDormitory());
resultData.put("dormitoryType", dorm.getDormitoryType());

View File

@ -2,31 +2,117 @@ package org.jeecg.modules.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.entity.CeesDormitoryInfo;
import org.jeecg.modules.entity.CeesWaiTeacher;
import org.jeecg.modules.enums.MajorEnum;
import org.jeecg.modules.mapper.CeesDormitoryInfoMapper;
import org.jeecg.modules.mapper.CeesWaiTeacherMapper;
import org.jeecg.modules.service.ICeesWaiTeacherService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
* @Description: 外校老师管理
* @Author: jeecg-boot
* @Date: 2025-03-03
* @Date: 2025-03-03
* @Version: V1.0
*/
@Service
@RequiredArgsConstructor
public class CeesWaiTeacherServiceImpl extends ServiceImpl<CeesWaiTeacherMapper, CeesWaiTeacher> implements ICeesWaiTeacherService {
@Autowired
private CeesWaiTeacherMapper ceesWaiTeacherMapper;
private final CeesWaiTeacherMapper ceesWaiTeacherMapper;
private final CeesDormitoryInfoMapper ceesDormitoryInfoMapper;
@Override
public Result updataDormitory(String id, String dormitory) {
public Result updateDormitory(String id, String dormitoryId) {
LambdaQueryWrapper<CeesWaiTeacher> wrapper = new LambdaQueryWrapper();
wrapper.eq(CeesWaiTeacher::getUserId,id);
wrapper.eq(CeesWaiTeacher::getUserId, id);
CeesWaiTeacher ceesWaiTeacher = ceesWaiTeacherMapper.selectOne(wrapper);
ceesWaiTeacher.setDormitory(dormitory);
int result = ceesWaiTeacherMapper.updateById(ceesWaiTeacher);
ceesWaiTeacher.setDormitoryId(dormitoryId);
// 外校数据更新
int result = ceesWaiTeacherMapper.updateById(ceesWaiTeacher);
CeesDormitoryInfo ceesDormitoryInfo = null;
// 宿舍信息数据更新
if (result == 1 ) {
ceesDormitoryInfo = ceesDormitoryInfoMapper.selectById(dormitoryId);
if (ceesDormitoryInfo.getDormitoryNum() > 0) {
ceesDormitoryInfo.setDormitoryNum(ceesDormitoryInfo.getDormitoryNum() - 1);
ceesDormitoryInfoMapper.updateById(ceesDormitoryInfo);
} else {
return Result.error("宿舍人数已满");
}
}
// 当宿舍人数为0,修改宿舍状态
if (ceesDormitoryInfo != null) {
if (ceesDormitoryInfo.getDormitoryNum() == 0) {
ceesDormitoryInfo.setDormitoryStatus(1);
ceesDormitoryInfoMapper.updateById(ceesDormitoryInfo);
}
}
return Result.ok("更新成功");
}
/**
* @param ceesWaiTeacher
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@Override
public IPage<CeesWaiTeacher> queryPageList(CeesWaiTeacher ceesWaiTeacher, Integer pageNo, Integer pageSize, HttpServletRequest req) {
QueryWrapper<CeesWaiTeacher> queryWrapper = QueryGenerator.initQueryWrapper(ceesWaiTeacher, req.getParameterMap());
Page<CeesWaiTeacher> page = new Page<>(pageNo, pageSize);
IPage<CeesWaiTeacher> pageList = page(page, queryWrapper);
Set<String> dormitoryIdList = pageList.getRecords().stream().map(CeesWaiTeacher::getDormitoryId).collect(Collectors.toSet());
LambdaQueryWrapper<CeesDormitoryInfo> dormitoryWrapper = Wrappers.lambdaQuery(CeesDormitoryInfo.class).in(CeesDormitoryInfo::getId, dormitoryIdList);
List<CeesDormitoryInfo> ceesDormitoryInfos = ceesDormitoryInfoMapper.selectList(dormitoryWrapper);
pageList.convert(e->{
e.setDormitoryName(ceesDormitoryInfos
.stream()
.filter(dormitoryInfo -> dormitoryInfo.getId().equals(e.getDormitoryId()))
.findFirst()
.orElse(new CeesDormitoryInfo())
.getDormitory());
e.setMajorIdDescription(MajorEnum.describe(e.getMajorId()));
return e;
});;
return pageList;
}
/**
* @param id
* @return
*/
@Override
public Result cancelCheckIn(String id) {
CeesWaiTeacher ceesWaiTeacher = ceesWaiTeacherMapper.selectById(id);
ceesWaiTeacher.setStatus(1);
ceesWaiTeacherMapper.updateById(ceesWaiTeacher);
return Result.ok("撤销成功");
}
/**
* @param id
* @return
*/
@Override
public Result<?> confirmCheckIn(String id) {
CeesWaiTeacher ceesWaiTeacher = ceesWaiTeacherMapper.selectById(id);
ceesWaiTeacher.setStatus(0);
ceesWaiTeacherMapper.updateById(ceesWaiTeacher);
return Result.ok("确认成功");
}
}