2023年5月18日 新增下一节课和当前节课查询
This commit is contained in:
parent
46a9be435e
commit
7bada91cf3
|
@ -10,6 +10,11 @@ import java.net.URLDecoder;
|
|||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import cn.hutool.core.date.DateField;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.google.common.collect.Maps;
|
||||
import lombok.Data;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.system.query.QueryGenerator;
|
||||
|
@ -22,6 +27,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import org.jeecg.modules.kc.kcJieci.entity.KcJieci;
|
||||
import org.jeecg.modules.kc.kcJieci.service.IKcJieciService;
|
||||
import org.jeecg.modules.kc.ktgl.entity.KcKetangbiao;
|
||||
import org.jeecg.modules.kc.ktgl.service.IKcKetangbiaoService;
|
||||
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||
|
@ -52,7 +61,18 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|||
public class KcZhihuijiaoshiController extends JeecgController<KcZhihuijiaoshi, IKcZhihuijiaoshiService> {
|
||||
@Autowired
|
||||
private IKcZhihuijiaoshiService kcZhihuijiaoshiService;
|
||||
|
||||
|
||||
@Autowired
|
||||
private IKcJieciService kcJieciService;
|
||||
|
||||
@Autowired
|
||||
private IKcKetangbiaoService kcKetangbiaoService;
|
||||
|
||||
@Data
|
||||
public class JieciIntTime {
|
||||
private Integer ksTime;
|
||||
private Integer jsTime;
|
||||
}
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
|
@ -72,6 +92,85 @@ public class KcZhihuijiaoshiController extends JeecgController<KcZhihuijiaoshi,
|
|||
QueryWrapper<KcZhihuijiaoshi> queryWrapper = QueryGenerator.initQueryWrapper(kcZhihuijiaoshi, req.getParameterMap());
|
||||
Page<KcZhihuijiaoshi> page = new Page<KcZhihuijiaoshi>(pageNo, pageSize);
|
||||
IPage<KcZhihuijiaoshi> pageList = kcZhihuijiaoshiService.page(page, queryWrapper);
|
||||
//查询今天的课,
|
||||
DateTime starTime = DateTime.now();
|
||||
starTime = DateUtil.endOfDay(starTime);//校正为今天末尾
|
||||
|
||||
String nowTimeStr = starTime.toString("HHmmss");
|
||||
int nowTimeNum = Integer.parseInt(nowTimeStr);
|
||||
String nowStr = starTime.toString("yyyy-MM-dd");
|
||||
|
||||
QueryWrapper<KcKetangbiao> ktqw = new QueryWrapper<>();
|
||||
ktqw.apply("sksj >= STR_TO_DATE('"+nowStr+"', '%Y-%m-%d')");
|
||||
ktqw.apply("sksj < DATE_ADD(STR_TO_DATE('"+nowStr+"','%Y-%m-%d'),INTERVAL 1 DAY)");
|
||||
List<KcKetangbiao> kcKetangbiaoList = kcKetangbiaoService.list(ktqw);
|
||||
|
||||
//下一节次映射表
|
||||
Map<String,String> nextJcMap = Maps.newHashMap();
|
||||
nextJcMap.put("01、02","03、04");
|
||||
nextJcMap.put("03、04","05、06");
|
||||
nextJcMap.put("05、06","07、08");
|
||||
nextJcMap.put("07、08","09、10");
|
||||
nextJcMap.put("09、10","11、12");
|
||||
nextJcMap.put("11、12","01、02");
|
||||
|
||||
//查询节次时间
|
||||
QueryWrapper<KcJieci> jcqw = new QueryWrapper<>();
|
||||
jcqw.like("jieci","、");
|
||||
List<KcJieci> kcJieciList= kcJieciService.list(jcqw);
|
||||
Map<String, JieciIntTime> kcJieciMap = Maps.newHashMap();
|
||||
Map<String, JieciIntTime> nextKcJieciMap = Maps.newHashMap();
|
||||
kcJieciList.forEach(x -> {
|
||||
JieciIntTime jieciIntTime = new JieciIntTime();
|
||||
jieciIntTime.setKsTime(Integer.parseInt(x.getHhks()));
|
||||
jieciIntTime.setJsTime(Integer.parseInt(x.getHhjs()));
|
||||
if(jieciIntTime.getKsTime() <= nowTimeNum && nowTimeNum <= jieciIntTime.getJsTime()){
|
||||
//符合当前节
|
||||
kcJieciMap.put(x.getJieci(), jieciIntTime);
|
||||
}
|
||||
});
|
||||
//补充进下一节次里
|
||||
kcJieciMap.forEach((k,v) -> {
|
||||
if(nextJcMap.containsKey(k)){
|
||||
String nextKey = nextJcMap.get(k);
|
||||
if(kcJieciMap.containsKey(nextKey)){
|
||||
nextKcJieciMap.put(nextKey,kcJieciMap.get(nextKey));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//根据节次信息包装进Map
|
||||
Map<String, KcKetangbiao> kcKetangbiaoNowMap = Maps.newHashMap();
|
||||
Map<String, KcKetangbiao> kcKetangbiaoNextMap = Maps.newHashMap();
|
||||
|
||||
kcKetangbiaoList.forEach(x -> {
|
||||
//匹配是否在上课范围内
|
||||
if(kcJieciMap.containsKey(x.getHh())){
|
||||
kcKetangbiaoNowMap.put(x.getJsbh(),x);
|
||||
}
|
||||
if(nextKcJieciMap.containsKey(x.getHh())){
|
||||
kcKetangbiaoNextMap.put(x.getJsbh(),x);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
//计算哪节在时间范围内
|
||||
|
||||
//装填到数据里
|
||||
pageList.getRecords().forEach(x -> {
|
||||
//jsbh 教室编号
|
||||
//sksj 上课时间
|
||||
//hh 节次
|
||||
//kcJieciMap.containsKey(x.getHh)
|
||||
|
||||
//nowTimeNum
|
||||
if(kcKetangbiaoNowMap.containsKey(x.getJsbh())){
|
||||
x.setNowIsClass(true);
|
||||
}
|
||||
if(kcKetangbiaoNextMap.containsKey(x.getJsbh())){
|
||||
x.setNextIsClass(true);
|
||||
}
|
||||
});
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
|
|
|
@ -125,4 +125,12 @@ public class KcZhihuijiaoshi implements Serializable {
|
|||
@TableField(exist = false)
|
||||
private java.lang.String ids;
|
||||
|
||||
/**当前节是否有课*/
|
||||
@TableField(exist = false)
|
||||
private java.lang.Boolean nowIsClass;
|
||||
|
||||
/**下一节是否有课*/
|
||||
@TableField(exist = false)
|
||||
private java.lang.Boolean nextIsClass;
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue