2023年11月10日 新增导出,日志新增字段
This commit is contained in:
parent
e48d8ae254
commit
aa1671f7fe
|
@ -82,6 +82,7 @@ public class httpController extends JeecgController<TBks, ITBksService> {
|
|||
mnitorLog.setJxlName(x.getJxlName());//教学楼名称
|
||||
mnitorLog.setJsbh(x.getJsbh());//教室编号
|
||||
mnitorLog.setJsmc(x.getJsmc());//教室名称
|
||||
// mnitorLog.setHh(x.get)
|
||||
//访问。汇总结果
|
||||
//http://${ip}/cgi-bin/plat.cgi?action=9&user=${user}&pwsd=${getMd5Str(pwd)}&command=1
|
||||
String hex = Convert.toHex("live_setParam_enable=" + type, CharsetUtil.CHARSET_UTF_8);
|
||||
|
|
|
@ -97,6 +97,9 @@ public class RefreshLiveServer extends BaseSync {
|
|||
mnitorLog.setJxlName(x.getJxlName());//教学楼名称
|
||||
mnitorLog.setJsbh(x.getJsbh());//教室编号
|
||||
mnitorLog.setJsmc(x.getJsmc());//教室名称
|
||||
mnitorLog.setHh(x.getNowIsClassHh());//当前节次
|
||||
mnitorLog.setKtId(x.getNowIsClassId());//当前课堂ID
|
||||
mnitorLog.setKtName(x.getNowIsClassName());//当前课堂名称
|
||||
try {
|
||||
String res = com.xkcoding.http.HttpUtil.get(x.getPullUrl());
|
||||
log.info("返回内容:" + res);//live_setParam_ret=ok
|
||||
|
|
|
@ -190,23 +190,23 @@ public class KcZhihuijiaoshiController extends JeecgController<KcZhihuijiaoshi,
|
|||
log.info("07: {}",timer.intervalRestart());
|
||||
|
||||
//根据节次信息包装进Map
|
||||
Map<String, String> kcKetangbiaoNowSet = Maps.newHashMap();
|
||||
Map<String, String> kcKetangbiaoNextSet = Maps.newHashMap();
|
||||
Map<String, KcKetangbiao> kcKetangbiaoNowSet = Maps.newHashMap();
|
||||
Map<String, KcKetangbiao> kcKetangbiaoNextSet = Maps.newHashMap();
|
||||
|
||||
kcKetangbiaoList.forEach(x -> {
|
||||
//匹配是否在上课范围内
|
||||
if(kcJieciMap.containsKey(x.getHh())){
|
||||
kcKetangbiaoNowSet.put(x.getJsbh(), x.getId());
|
||||
kcKetangbiaoNowSet.put(x.getJsbh(), x);
|
||||
}
|
||||
//下一节不是01、02的归类为明天的
|
||||
if(nextKcJieciSet.contains(x.getHh()) && !StringUtils.equals(x.getHh(),"01、02")){
|
||||
kcKetangbiaoNextSet.put(x.getJsbh(), x.getId());
|
||||
kcKetangbiaoNextSet.put(x.getJsbh(), x);
|
||||
}
|
||||
});
|
||||
if(kcJieciMap.isEmpty() || kcJieciMap.containsKey("11、12")){//当前没有节次,当前匹配节次为最后一节,使用明天的课程填充进去
|
||||
nextDayKcKetangbiaoList.forEach(x -> {
|
||||
if(StringUtils.equals(x.getHh(),"01、02")){
|
||||
kcKetangbiaoNextSet.put(x.getJsbh(), x.getId());
|
||||
kcKetangbiaoNextSet.put(x.getJsbh(), x);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -224,13 +224,17 @@ public class KcZhihuijiaoshiController extends JeecgController<KcZhihuijiaoshi,
|
|||
|
||||
//nowTimeNum
|
||||
if(kcKetangbiaoNowSet.containsKey(x.getJsbh())){
|
||||
KcKetangbiao ketangbiao = kcKetangbiaoNowSet.get(x.getJsbh());
|
||||
x.setNowIsClass(true);
|
||||
x.setNowIsClassId(kcKetangbiaoNowSet.get(x.getJsbh()));
|
||||
x.setNowIsClassId(ketangbiao.getId());
|
||||
x.setNowIsClassHh(ketangbiao.getHh());
|
||||
x.setNowIsClassName(ketangbiao.getKcmc());
|
||||
}
|
||||
// x.setNowIsClass(true);//debug
|
||||
if(kcKetangbiaoNextSet.containsKey(x.getJsbh())){
|
||||
KcKetangbiao ketangbiao = kcKetangbiaoNextSet.get(x.getJsbh());
|
||||
x.setNextIsClass(true);
|
||||
x.setNextIsClassId(kcKetangbiaoNowSet.get(x.getJsbh()));
|
||||
x.setNextIsClassId(ketangbiao.getId());
|
||||
}
|
||||
if(jiaoxuelouInfoMap.containsKey(x.getJxlId())){
|
||||
KcJiaoxuelouInfo info = jiaoxuelouInfoMap.get(x.getJxlId());
|
||||
|
|
|
@ -13,9 +13,11 @@ 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.common.system.vo.LoginUser;
|
||||
import org.jeecg.common.util.oConvertUtils;
|
||||
import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshiMonitorLog;
|
||||
import org.jeecg.modules.kc.jiaoshi.export.Export;
|
||||
import org.jeecg.modules.kc.jiaoshi.service.IKcZhihuijiaoshiMonitorLogService;
|
||||
import org.jeecg.modules.tools.word.ExportWord;
|
||||
import org.jeecg.modules.tools.word.WordOperator;
|
||||
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||
|
@ -194,4 +196,36 @@ public class KcZhihuijiaoshiMonitorLogController extends JeecgController<KcZhihu
|
|||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出word
|
||||
*
|
||||
* @param xqxnParam
|
||||
* @param request
|
||||
* @param response
|
||||
*/
|
||||
// @RequiresPermissions("config:kc_export_config_tpkwcqkjzglx:exportXls")
|
||||
@RequestMapping(value = "/exportWord")
|
||||
public void exportWord(KcZhihuijiaoshiMonitorLog kcZhihuijiaoshiMonitorLog, HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||
Export export = new Export();
|
||||
WordOperator wo = export.export(kcZhihuijiaoshiMonitorLog);
|
||||
ExportWord.download_word(request, response, "file.doc", wo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出word
|
||||
*
|
||||
* @param xqxnParam
|
||||
* @param request
|
||||
* @param response
|
||||
*/
|
||||
// @RequiresPermissions("config:kc_export_config_tpkwcqkjzglx:exportXls")
|
||||
@RequestMapping(value = "/exportPdf")
|
||||
public void exportPdf(KcZhihuijiaoshiMonitorLog kcZhihuijiaoshiMonitorLog, HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||
Export export = new Export();
|
||||
WordOperator wo = export.export(kcZhihuijiaoshiMonitorLog);
|
||||
ExportWord.download_pdf(request, response, "file", wo);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -137,10 +137,18 @@ public class KcZhihuijiaoshi implements Serializable {
|
|||
@TableField(exist = false)
|
||||
private java.lang.Boolean nowIsClass;
|
||||
|
||||
/**当前节节次*/
|
||||
@TableField(exist = false)
|
||||
private java.lang.String nowIsClassHh;
|
||||
|
||||
/**当前节是否有课的课堂ID*/
|
||||
@TableField(exist = false)
|
||||
private java.lang.String nowIsClassId;
|
||||
|
||||
/**当前节是否有课的课堂名称*/
|
||||
@TableField(exist = false)
|
||||
private java.lang.String nowIsClassName;
|
||||
|
||||
/**下一节是否有课*/
|
||||
@TableField(exist = false)
|
||||
private java.lang.Boolean nextIsClass;
|
||||
|
|
|
@ -42,6 +42,15 @@ public class KcZhihuijiaoshiMonitorLog {
|
|||
/**教室编号*/
|
||||
@ApiModelProperty(value = "教室编号")
|
||||
private java.lang.String jsbh;
|
||||
/**节次*/
|
||||
@ApiModelProperty(value = "节次")
|
||||
private java.lang.String hh;
|
||||
/**课堂ID*/
|
||||
@ApiModelProperty(value = "课堂ID")
|
||||
private java.lang.String ktId;
|
||||
/**课堂名称*/
|
||||
@ApiModelProperty(value = "课堂名称")
|
||||
private java.lang.String ktName;
|
||||
/**创建人*/
|
||||
@ApiModelProperty(value = "创建人")
|
||||
@Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
|
||||
|
|
|
@ -0,0 +1,117 @@
|
|||
package org.jeecg.modules.kc.jiaoshi.export;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import lombok.Data;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.jeecg.common.system.query.QueryGenerator;
|
||||
import org.jeecg.common.system.vo.DictModel;
|
||||
import org.jeecg.common.util.SpringContextHolder;
|
||||
import org.jeecg.modules.kc.config.entity.KcExportConfigTpkwcqkjzglx;
|
||||
import org.jeecg.modules.kc.config.service.IKcExportConfigTpkwcqkjzglxService;
|
||||
import org.jeecg.modules.kc.grab.SynchronizationService.tools.ChangeTingKeTongJi;
|
||||
import org.jeecg.modules.kc.grab.imports.entity.Xxhbuser;
|
||||
import org.jeecg.modules.kc.grab.imports.service.IXxhbuserService;
|
||||
import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshiMonitorLog;
|
||||
import org.jeecg.modules.kc.jiaoshi.service.IKcZhihuijiaoshiMonitorLogService;
|
||||
import org.jeecg.modules.kc.kcXqxnHistory.entity.KcXqxnHistory;
|
||||
import org.jeecg.modules.kc.tksf.kctkcstj.entity.KcTkcstj;
|
||||
import org.jeecg.modules.kc.tksf.kctkcstj.service.IKcTkcstjService;
|
||||
import org.jeecg.modules.system.service.ISysDictService;
|
||||
import org.jeecg.modules.tools.word.BaseExport;
|
||||
import org.jeecg.modules.tools.word.ExportWord;
|
||||
import org.jeecg.modules.tools.word.WordOperator;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
* 功能说明:导出封装
|
||||
* 创建者:byx
|
||||
* 创建时间:2021-6-30
|
||||
* <pre>
|
||||
* 修改时间: 修改者:
|
||||
* 修改内容:
|
||||
* </pre>
|
||||
*/
|
||||
public class Export extends BaseExport {
|
||||
|
||||
private Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
//由于前面调用使用的是new,所以只能手动注入bean
|
||||
// private ISysDictService sysDictService = SpringContextHolder.getBean(ISysDictService.class);
|
||||
private IKcZhihuijiaoshiMonitorLogService kcZhihuijiaoshiMonitorLogService = SpringContextHolder.getBean(IKcZhihuijiaoshiMonitorLogService.class);
|
||||
|
||||
// /**
|
||||
// *
|
||||
// * 功能说明 : 将导出的文档片段按照list返回
|
||||
// * 创建者 : byx
|
||||
// * 修改日期 : 2018年9月26日
|
||||
// * @param
|
||||
// * @return 文档片段的list对象
|
||||
// * @throws Exception
|
||||
// */
|
||||
// public List<WordOperator> exportAll(QnCustomerHetong customerHetong, SysUser user, Date now) throws Exception{
|
||||
// List<WordOperator> list = Lists.newArrayList();
|
||||
// list.add(export1(customerHetong,user,now));
|
||||
// list.add(export2(customerHetong));
|
||||
// list.add(export3(customerHetong));
|
||||
// return list;
|
||||
// }
|
||||
|
||||
// @Override
|
||||
// public List<DictModel> getDictList(String dictCode){
|
||||
// return sysDictService.queryDictItemsByCode(dictCode);
|
||||
// }
|
||||
|
||||
/**
|
||||
*
|
||||
* 功能说明 : 拼接word导出
|
||||
* 创建者 : byx
|
||||
* 修改日期 : 2021-6-30
|
||||
* @param kcZhihuijiaoshiMonitorLog
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public WordOperator export(KcZhihuijiaoshiMonitorLog kcZhihuijiaoshiMonitorLog) throws Exception{
|
||||
String templateName = "exp1\\zhjs-tjfxbg.docx";
|
||||
|
||||
WordOperator wo = ExportWord.getWordOperator(templateName);
|
||||
//********************************@A.单个内容替换***************************************************/
|
||||
//********************************取数据***********************************************************/
|
||||
Map<String, Object> result = Maps.newHashMap();
|
||||
//********************************取数据END*********************************************************/
|
||||
//********************************通用*************************************************************/
|
||||
String today= DateUtil.today();
|
||||
result.put("监测时间", today);//学院名称
|
||||
// result.put("监测教学楼",xqxnParam);//学期学年
|
||||
|
||||
//********************************表头END**********************************************************/
|
||||
wo.replaceTextPlus(result);
|
||||
//********************************@A.单个内容替换END**************************************************/
|
||||
final int[] index = { 2 };
|
||||
List<List<String>> mainList = Lists.newArrayList();
|
||||
|
||||
List<String> list = Lists.newArrayList();
|
||||
list.add("楼1");
|
||||
list.add("11");
|
||||
list.add("22");
|
||||
mainList.add(list);
|
||||
|
||||
//WordOperator.fillNullCall(mainList,mainList);
|
||||
//从固定位置开始添加(1为第二个表格,第二个1为固定位置)
|
||||
wo.insert2Table(0, index[0], true, mainList);
|
||||
index[0] += mainList.size() + 2;
|
||||
mainList.clear();
|
||||
|
||||
return wo;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,86 @@
|
|||
东北师范大学线上开放课堂运行状态报告
|
||||
一、总体情况
|
||||
监测时间:{监测时间}
|
||||
监测教学楼:{监测教学楼}
|
||||
在监测时间段内,开课前15分钟开始,每间隔15分钟对线上开放课堂进行直播状态监测。本监测时间段内共{教学楼数}个教学楼{教室数}间教室提供线上开放课堂{}大节,运行正常课堂{运行正常课堂}大节,{运行异常课堂}大节课堂监测异常,线上开放课堂运行正常率为{正常率}%。
|
||||
线上开放课堂运行情况一览表
|
||||
教学楼
|
||||
合计
|
||||
第一大节
|
||||
第二大节
|
||||
第三大节
|
||||
第四大节
|
||||
第五大节
|
||||
第六大节
|
||||
|
||||
正常率
|
||||
开放数
|
||||
正常
|
||||
异常
|
||||
正常
|
||||
异常
|
||||
正常
|
||||
异常
|
||||
正常
|
||||
异常
|
||||
正常
|
||||
异常
|
||||
正常
|
||||
异常
|
||||
正常
|
||||
异常
|
||||
Z
|
||||
Z
|
||||
Z
|
||||
Z
|
||||
Z
|
||||
Z
|
||||
Z
|
||||
Z
|
||||
Z
|
||||
Z
|
||||
Z
|
||||
Z
|
||||
Z
|
||||
Z
|
||||
Z
|
||||
Z
|
||||
Z
|
||||
合计
|
||||
{}
|
||||
{}
|
||||
{}
|
||||
{}
|
||||
{}
|
||||
{}
|
||||
{}
|
||||
{}
|
||||
{}
|
||||
{}
|
||||
{}
|
||||
{}
|
||||
{}
|
||||
{}
|
||||
{}
|
||||
{}
|
||||
|
||||
|
||||
|
||||
二、异常教室基本情况
|
||||
教学楼
|
||||
教室名称
|
||||
开放课堂数
|
||||
正常课堂率
|
||||
正常课堂数
|
||||
异常课堂数
|
||||
异常情况说明
|
||||
z
|
||||
z
|
||||
z
|
||||
z
|
||||
z
|
||||
z
|
||||
1.异常节次: 异常课程: 监测次数: 异常次数: 异常率
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue