diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/config/controller/KcExportConfigTpkwcqkjzglxController.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/config/controller/KcExportConfigTpkwcqkjzglxController.java index 9c0e79a4..f1156860 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/config/controller/KcExportConfigTpkwcqkjzglxController.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/config/controller/KcExportConfigTpkwcqkjzglxController.java @@ -8,11 +8,14 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; 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.common.system.vo.LoginUser; +import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.kc.config.entity.KcExportConfigTpkwcqkjzglx; import org.jeecg.modules.kc.config.export.Export; import org.jeecg.modules.kc.config.service.IKcExportConfigTpkwcqkjzglxService; @@ -23,7 +26,11 @@ import org.jeecg.modules.kc.tksf.kctkcstj.entity.KcTkcstj; import org.jeecg.modules.kc.tksf.kctkcstj.service.IKcTkcstjService; 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; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; @@ -50,13 +57,17 @@ public class KcExportConfigTpkwcqkjzglxController extends JeecgController clazz, String title) { + // Step.1 组装查询条件 + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(object, request.getParameterMap()); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + // 过滤选中数据 + String selections = request.getParameter("selections"); + if (oConvertUtils.isNotEmpty(selections)) { + List selectionList = Arrays.asList(selections.split(",")); + queryWrapper.in("id",selectionList); + } + // Step.2 获取导出数据 + List exportList = service.list(queryWrapper); + + //根据当前学期学年,硬合并出来一个数据 + QueryWrapper tjQw = new QueryWrapper<>(); + KcXqxnHistory kcXqxnHistory = changeTingKeTongJi.getXqConfig(object.getXqxn()); + tjQw.eq("xnxq",kcXqxnHistory.getTitle()); + List tjList = kcTkcstjService.list(tjQw); + Map tjMap = Maps.newHashMap(); + tjList.forEach(x -> { + tjMap.put(x.getJgh(),x); + }); + + exportList.forEach(x -> { + x.setTkxttj("0"); + x.setYskcs("0"); + if(tjMap.containsKey(x.getGh())){ + KcTkcstj tkcstj = tjMap.get(x.getGh()); + x.setTkxttj(StringUtils.defaultString(tkcstj.getTkxttj(),"0")); + x.setYskcs(StringUtils.defaultString(tkcstj.getYskcs(),"0")); + } + }); + + // Step.3 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + //此处设置的filename无效 ,前端会重更新设置一下 + mv.addObject(NormalExcelConstants.FILE_NAME, title); + mv.addObject(NormalExcelConstants.CLASS, clazz); + //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- + ExportParams exportParams=new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title); + exportParams.setImageBasePath(upLoadPath); + //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- + mv.addObject(NormalExcelConstants.PARAMS,exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, exportList); + return mv; + } + + /** * 通过excel导入数据 * * @param request diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/config/entity/KcExportConfigTpkwcqkjzglx.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/config/entity/KcExportConfigTpkwcqkjzglx.java index 722341f5..363e4b2f 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/config/entity/KcExportConfigTpkwcqkjzglx.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/config/entity/KcExportConfigTpkwcqkjzglx.java @@ -81,7 +81,8 @@ public class KcExportConfigTpkwcqkjzglx implements Serializable { @ApiModelProperty(value = "状态") private java.lang.String zt; /**每学期应听课次数*/ - @Excel(name = "每学期应听课次数", width = 20) +// @Excel(name = "每学期应听课次数", width = 20) + @Excel(name = "本学期应听课次数", width = 15) @ApiModelProperty(value = "每学期应听课次数") private java.lang.String ytkcs; @@ -92,10 +93,11 @@ public class KcExportConfigTpkwcqkjzglx implements Serializable { @TableField(exist = false) private String xqxn; - /**应听课次数*/ + /**本学期应听课次数*/ @TableField(exist = false) private java.lang.String yskcs; - /**听课次数*/ + /**本学期已听课次数*/ + @Excel(name = "本学期已听课次数", width = 15) @TableField(exist = false) private java.lang.String tkxttj; diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/SynchronizationService/SyncTJzgXskc.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/SynchronizationService/SyncTJzgXskc.java index 6584b5d1..dd8e5360 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/SynchronizationService/SyncTJzgXskc.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/SynchronizationService/SyncTJzgXskc.java @@ -69,6 +69,10 @@ public class SyncTJzgXskc extends BaseSync { xxhbsynclog.setSynctype("0");//同步类型 0全量 1增量 xxhbsynclog.setErrormessage(errorMessage); saveLog(xxhbsynclog,Xxhbxskc.class); + + //todo 同步清洗到xxhbUser表。 + + //todo 再同步清洗到kc_export_config_tpkwcqkjzglx表 } /** diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/qa/mapper/xml/KcEvaluationMapper.xml b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/qa/mapper/xml/KcEvaluationMapper.xml index fa7a4750..ca5cd743 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/qa/mapper/xml/KcEvaluationMapper.xml +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/qa/mapper/xml/KcEvaluationMapper.xml @@ -12,10 +12,12 @@ xxhbuser cu WHERE ev.minkcid = kt.id AND ev.upuserid = cu.gh - and ev.up_date >= #{kcEvaluation.startTime} + + and kt.skrq >= #{kcEvaluation.startTime} - and ev.up_date <= #{kcEvaluation.endTime} + + and kt.skrq <= #{kcEvaluation.endTime} @@ -55,10 +57,12 @@ k.id = p.minkcid AND p.upuserid = c.gh - and p.up_date >= #{kcEvaluation.startTime} + + and k.skrq >= #{kcEvaluation.startTime} - and p.up_date <= #{kcEvaluation.endTime} + + and k.skrq <= #{kcEvaluation.endTime} and (c.xm like concat('%',#{kcEvaluation.username},'%') or c.gh like concat('%',#{kcEvaluation.username},'%')) diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/statistics/KcEvaluationVo2.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/statistics/KcEvaluationVo2.java index 4e8a0adf..0f831144 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/statistics/KcEvaluationVo2.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/statistics/KcEvaluationVo2.java @@ -168,4 +168,19 @@ public class KcEvaluationVo2 implements Serializable{ @TableField(exist = false) private String sourceName; + @TableField(exist = false) + private String findGh; + + /** + * 按当前用户的部门查询评课 + */ + @TableField(exist = false) + private boolean findByPkdwmc; + + /** + * 按当前用户的部门查询被评课 + */ + @TableField(exist = false) + private boolean findByBeiTkkdwmc; + } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/statistics/TingKeStatisticsController.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/statistics/TingKeStatisticsController.java index 4233be98..78ffa855 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/statistics/TingKeStatisticsController.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/statistics/TingKeStatisticsController.java @@ -252,22 +252,45 @@ public class TingKeStatisticsController { //tj.setYskcs(currentData.getTkyq()); } - Date upDate = x.getUpDate(); - kcXqxnHistoryList.forEach(hx -> { - Date startTime = hx.getStartTime(); - Date endTime = hx.getEndTime(); - long betweenStartDay = DateUtil.between(startTime, upDate, DateUnit.DAY,false); - long betweenEndDay = DateUtil.between(endTime, upDate, DateUnit.DAY,false); - if(betweenStartDay >=0 && betweenEndDay <=0) { - x.setXqxn(hx.getTitle()); - } - } ); +// Date upDate = x.getUpDate(); + String skrq = x.getSkrq(); + if(StringUtils.isNotBlank(skrq)){ + Date upDate = DateUtil.parseDate(skrq); + kcXqxnHistoryList.forEach(hx -> { + Date startTime = hx.getStartTime(); + Date endTime = hx.getEndTime(); + long betweenStartDay = DateUtil.between(startTime, upDate, DateUnit.DAY,false); + long betweenEndDay = DateUtil.between(endTime, upDate, DateUnit.DAY,false); + if(betweenStartDay >=0 && betweenEndDay <=0) { + x.setXqxn(hx.getTitle()); + } + } ); + } }); return pageList; } public IPage loadPageData2(KcEvaluationVo2 evaluation,QueryWrapper queryWrapper,Page page){ + //查询当前用户的学院 + if(evaluation.isFindByPkdwmc() || evaluation.isFindByBeiTkkdwmc()){ + QueryWrapper uqw = new QueryWrapper<>(); + //LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + uqw.eq("gh",evaluation.getFindGh()); + uqw.last("limit 1"); + KcExportConfigTpkwcqkjzglx exportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(uqw); + if(exportConfigTpkwcqkjzglx == null) { + return new Page<>(); + } + //queryWrapper.eq() + if(evaluation.isFindByPkdwmc()){ + queryWrapper.eq("xu.DWMC",exportConfigTpkwcqkjzglx.getDwmc()); + } + if(evaluation.isFindByBeiTkkdwmc()){ + queryWrapper.eq("kt.kkdw ",exportConfigTpkwcqkjzglx.getDwmc()); + } + } + queryWrapper.isNotNull("a.upuserid"); queryWrapper.isNotNull("a.minkcid"); @@ -383,7 +406,7 @@ public class TingKeStatisticsController { }else{ String xZwmc = dictUtils.translateDictValue("tpkwcqkjzglx", x.getTklx()); currentData.setZwmc(xZwmc); - } + } // tksfMap.put(x.getGh(),x); }else{ String xZwmc = dictUtils.translateDictValue("tpkwcqkjzglx", x.getTklx()); @@ -406,17 +429,20 @@ public class TingKeStatisticsController { //tj.setYskcs(currentData.getTkyq()); } - Date upDate = x.getUpDate(); - kcXqxnHistoryList.forEach(hx -> { - Date startTime = hx.getStartTime(); - Date endTime = hx.getEndTime(); - long betweenStartDay = DateUtil.between(startTime, upDate, DateUnit.DAY,false); - long betweenEndDay = DateUtil.between(endTime, upDate, DateUnit.DAY,false); - if(betweenStartDay >=0 && betweenEndDay <=0) { - x.setXqxn(hx.getTitle()); - } - } ); - +// Date upDate = x.getUpDate(); + String skrq = x.getSkrq(); + if(StringUtils.isNotBlank(skrq)){ + Date upDate = DateUtil.parseDate(skrq); + kcXqxnHistoryList.forEach(hx -> { + Date startTime = hx.getStartTime(); + Date endTime = hx.getEndTime(); + long betweenStartDay = DateUtil.between(startTime, upDate, DateUnit.DAY,false); + long betweenEndDay = DateUtil.between(endTime, upDate, DateUnit.DAY,false); + if(betweenStartDay >=0 && betweenEndDay <=0) { + x.setXqxn(hx.getTitle()); + } + } ); + } }); return pageList;