From aa1671f7fe7418b7bfedd27425326745fa5e5dbc Mon Sep 17 00:00:00 2001 From: bai <1643359946@qq.com> Date: Fri, 10 Nov 2023 00:41:37 +0800 Subject: [PATCH] =?UTF-8?q?2023=E5=B9=B411=E6=9C=8810=E6=97=A5=20=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=AF=BC=E5=87=BA=EF=BC=8C=E6=97=A5=E5=BF=97=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/httpController.java | 1 + .../RefreshLiveServer.java | 3 + .../controller/KcZhihuijiaoshiController.java | 18 +-- .../KcZhihuijiaoshiMonitorLogController.java | 36 +++++- .../kc/jiaoshi/entity/KcZhihuijiaoshi.java | 8 ++ .../entity/KcZhihuijiaoshiMonitorLog.java | 9 ++ .../modules/kc/jiaoshi/export/Export.java | 117 ++++++++++++++++++ .../officetemplates/exp1/zhjs-tjfxbg.docx | Bin 0 -> 22645 bytes 8 files changed, 184 insertions(+), 8 deletions(-) create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/export/Export.java create mode 100644 jeecg-module-main/src/main/resources/officetemplates/exp1/zhjs-tjfxbg.docx diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/httpinterface/controller/httpController.java b/jeecg-module-main/src/main/java/org/jeecg/modules/httpinterface/controller/httpController.java index 121e3958..0a3e6d88 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/httpinterface/controller/httpController.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/httpinterface/controller/httpController.java @@ -82,6 +82,7 @@ public class httpController extends JeecgController { 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); diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/SynchronizationService/RefreshLiveServer.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/SynchronizationService/RefreshLiveServer.java index 63b0aea0..98a15c19 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/SynchronizationService/RefreshLiveServer.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/SynchronizationService/RefreshLiveServer.java @@ -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 diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/controller/KcZhihuijiaoshiController.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/controller/KcZhihuijiaoshiController.java index d0ffe275..fb78d5eb 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/controller/KcZhihuijiaoshiController.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/controller/KcZhihuijiaoshiController.java @@ -190,23 +190,23 @@ public class KcZhihuijiaoshiController extends JeecgController kcKetangbiaoNowSet = Maps.newHashMap(); - Map kcKetangbiaoNextSet = Maps.newHashMap(); + Map kcKetangbiaoNowSet = Maps.newHashMap(); + Map 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 +* 修改时间: 修改者: +* 修改内容: +* +*/ +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 exportAll(QnCustomerHetong customerHetong, SysUser user, Date now) throws Exception{ +// List list = Lists.newArrayList(); +// list.add(export1(customerHetong,user,now)); +// list.add(export2(customerHetong)); +// list.add(export3(customerHetong)); +// return list; +// } + +// @Override +// public List 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 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> mainList = Lists.newArrayList(); + + List 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; + } +} diff --git a/jeecg-module-main/src/main/resources/officetemplates/exp1/zhjs-tjfxbg.docx b/jeecg-module-main/src/main/resources/officetemplates/exp1/zhjs-tjfxbg.docx new file mode 100644 index 0000000000000000000000000000000000000000..861e51c07b5bc82f0590ca6f58445313714cf280 GIT binary patch literal 22645 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 literal 0 HcmV?d00001