This commit is contained in:
bai 2024-01-17 16:20:18 +08:00
commit 98827914d1
13 changed files with 411 additions and 44 deletions

View File

@ -88,14 +88,113 @@
<select id="getBarlist" resultType="org.jeecg.modules.kc.config.entity.KcExportConfigTpkwcqkjzglx">
select a.dwjc as dwmc, round(sjtkcs / ytkcs,2) as ytkcs from (
select d.dwjc,sum(a.ytkcs) as ytkcs,count(c.upuserid) as sjtkcs from kc_export_config_tpkwcqkjzglx a
LEFT JOIN kc_xqxn_history b on a.xqxn = b.title
LEFT JOIN kc_evaluation c on a.gh = c.upuserid and c.up_date BETWEEN b.start_time and b.end_time
LEFT JOIN kc_kkdw d on a.dwmc = d.kkdw
where xqxn = #{xqxn} and (zt = '在职' or (zt= '退休' and ytkcs-0 >0)) and tklx in (${code}) and dwjc is not null
GROUP BY d.dwjc
) a
<!-- select a.dwjc as dwmc, round(sjtkcs / ytkcs,2) as ytkcs from (-->
<!-- select d.dwjc,d.dwbh,sum(a.ytkcs) as ytkcs,count(c.upuserid) as sjtkcs from kc_export_config_tpkwcqkjzglx a-->
<!-- LEFT JOIN kc_xqxn_history b on a.xqxn = b.title-->
<!-- LEFT JOIN kc_evaluation c on a.gh = c.upuserid and c.up_date BETWEEN b.start_time and b.end_time-->
<!-- LEFT JOIN kc_kkdw d on a.dwmc = d.kkdw-->
<!-- where xqxn = #{xqxn} and (zt = '在职' or (zt= '退休' and ytkcs-0 >0)) and tklx in (${code}) and dwjc is not null-->
<!-- GROUP BY d.dwjc-->
<!-- ) a-->
<!-- left join kc_kkdw21_view b on a.dwbh = b.dwbh-->
<!-- order by b.id asc-->
SELECT
kc.dwjc as dwmc,
total.total_sum,
ready.ready_sum,
round(ready.ready_sum / total.total_sum,2) as ytkcs
FROM
(
SELECT
a.dwmc,
count( 'x' ) AS total_sum
FROM
(
SELECT
a.xqxn,
a.gh,
a.xm,
a.dwmc,
a.ytkcs,
a.zt
FROM
kc_export_config_tpkwcqkjzglx a
WHERE
a.xqxn = #{xqxn}
AND a.tklx in (${code}) -- 学院教务委员会(code)
AND (
a.zt = '在职'
OR ( a.zt = '退休' AND a.ytkcs - 0 > 0 ))) a
LEFT JOIN kc_xqxn_history b ON a.xqxn = b.title
LEFT JOIN kc_kkdw21_view d ON a.dwmc = d.kkdw
GROUP BY
a.dwmc
ORDER BY
d.id
) total
LEFT JOIN (
SELECT
tb2.dwmc,
count( 'x' ) AS ready_sum
FROM
(
SELECT
tb.dwmc AS dwmc,
tb.upuser AS upuser,
tb.upuserid AS upuserid,
tb.ytkcs AS ytkcs,
tb.pj_sum AS pj_sum
FROM
(
SELECT
c.dwmc AS dwmc,
a.upuser AS upuser,
a.upuserid AS upuserid,
c.ytkcs AS ytkcs,
count( 'x' ) AS pj_sum
FROM
kc_evaluation a,
( SELECT start_time, end_time FROM kc_xqxn_history WHERE title = '2023秋' ) b,
(
SELECT
xqxn,
gh,
xm,
dwmc,
ytkcs,
zt
FROM
kc_export_config_tpkwcqkjzglx
WHERE
xqxn = #{xqxn}
AND tklx in (${code}) -- 学院教务委员会(code)
AND (
zt = '在职'
OR ( zt = '退休' AND ytkcs - 0 > 0 ))) c
WHERE
a.upuserid = c.gh
AND a.up_date BETWEEN b.start_time
AND b.end_time
GROUP BY
c.dwmc,
a.upuser,
a.upuserid,
c.ytkcs
) tb
WHERE
tb.pj_sum >= tb.ytkcs
) tb2
GROUP BY
tb2.dwmc
) ready ON total.dwmc = ready.dwmc
JOIN kc_kkdw21_view kc ON total.dwmc = kc.kkdw
ORDER BY
kc.id
</select>
<update id="updateJzgzzzt">

View File

@ -126,7 +126,9 @@ public class Xxhbtkxx implements Serializable {
@ApiModelProperty(value = "lcbh")
private java.lang.String lcbh;
/**1-调整时间2-调整地点3-更换教师4-其他*/
@Excel(name = "调课类型", width = 15,dicCode = "tiaokeleixing")
@ApiModelProperty(value = "1-调整时间2-调整地点3-更换教师4-其他")
@Dict(dicCode = "tiaokeleixing")
private java.lang.String tklx;
@TableField(exist = false)
private Integer mysqlnum;

View File

@ -11,8 +11,10 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
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.kcEvaluationsStat.entity.KcEvaluationsStat;
import org.jeecg.modules.kc.kcEvaluationsStat.service.IKcEvaluationsStatService;
@ -29,6 +31,7 @@ import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
@ -52,7 +55,9 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
public class KcEvaluationsStatController extends JeecgController<KcEvaluationsStat, IKcEvaluationsStatService> {
@Autowired
private IKcEvaluationsStatService kcEvaluationsStatService;
@Value("${jeecg.path.upload}")
private String upLoadPath;
/**
* 分页列表查询
*
@ -73,7 +78,8 @@ public class KcEvaluationsStatController extends JeecgController<KcEvaluationsSt
kcEvaluationsStat.setCol13("*"+kcEvaluationsStat.getCol13()+"*");
}
QueryWrapper<KcEvaluationsStat> queryWrapper = QueryGenerator.initQueryWrapper(kcEvaluationsStat, req.getParameterMap());
QueryWrapper<KcEvaluationsStat> queryWrapper = QueryGenerator.initQueryWrapper("a",kcEvaluationsStat, req.getParameterMap());
queryWrapper.eq(StringUtils.isNotBlank(kcEvaluationsStat.getSzkc()),"c.szkc",kcEvaluationsStat.getSzkc());
Page<KcEvaluationsStat> page = new Page<KcEvaluationsStat>(pageNo, pageSize);
IPage<KcEvaluationsStat> pageList = kcEvaluationsStatService.page(page, queryWrapper);
return Result.OK(pageList);
@ -167,9 +173,31 @@ public class KcEvaluationsStatController extends JeecgController<KcEvaluationsSt
if(StringUtils.isNotBlank(kcEvaluationsStat.getCol13())){
kcEvaluationsStat.setCol13("*"+kcEvaluationsStat.getCol13()+"*");
}
return super.exportXls(request, kcEvaluationsStat, KcEvaluationsStat.class, "全量评价表");
return exportXls(request, kcEvaluationsStat, KcEvaluationsStat.class, "全量评价表");
}
protected ModelAndView exportXls(HttpServletRequest request, KcEvaluationsStat object, Class<KcEvaluationsStat> clazz, String title) {
// Step.1 组装查询条件
QueryWrapper<KcEvaluationsStat> queryWrapper = QueryGenerator.initQueryWrapper("a",object, request.getParameterMap());
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
queryWrapper.eq(StringUtils.isNotBlank(object.getSzkc()),"c.szkc",object.getSzkc());
// Step.2 获取导出数据
List<KcEvaluationsStat> exportList = service.list(queryWrapper);
// 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导入数据
*

View File

@ -257,7 +257,13 @@ public class KcEvaluationsStat implements Serializable {
private java.lang.String col57;
private java.lang.String col58;
private java.lang.String col59;
private java.lang.String col60;
@TableField(exist = false)
private java.lang.String xqxn;
@TableField(exist = false)
@Dict(dicCode = "yn")
private java.lang.String szkc;
}

View File

@ -2,6 +2,20 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.kc.kcEvaluationsStat.mapper.KcEvaluationsStatMapper">
<select id="selectPage" resultType="org.jeecg.modules.kc.kcEvaluationsStat.entity.KcEvaluationsStat">
select a.*,c.szkc from kc_evaluations_stat a
left join kc_ketangbiao b on a.col58 = b.id
left join kc_kechengbiao c on b.kechengbiaoid = c.id
${ew.customSqlSegment}
</select>
<select id="selectList" resultType="org.jeecg.modules.kc.kcEvaluationsStat.entity.KcEvaluationsStat">
select a.*,c.szkc from kc_evaluations_stat a
left join kc_ketangbiao b on a.col58 = b.id
left join kc_kechengbiao c on b.kechengbiaoid = c.id
${ew.customSqlSegment}
</select>
<select id="getYbtkbSyncList" resultType="org.jeecg.modules.kc.kcEvaluationsStat.entity.KcEvaluationsStat">
SELECT DISTINCT ev.id as col00
FROM kc_evaluation EV, KC_EVALUATIONS EVS
@ -94,7 +108,8 @@
YBTK.COL56,
YBTK.COL57,
YBTK.COL58,
YBTK.COL59
YBTK.COL59,
YBTK.COL60
FROM (SELECT EVS.EVALUATIONID AS COL00,
XQXN.TITLE AS COL01, -- 一般听课表(3)
KT.KCMC AS COL02,
@ -183,14 +198,16 @@
rjzy.rjzy as col56,
ev.rjzy as col57,
KT.ID AS COL58,
CASE KC.SZKC WHEN '1' THEN '是' ELSE '否' END AS col59
CASE KC.SZKC WHEN '1' THEN '是' ELSE '否' END AS col59,
EVS.UP_DATE AS COL60
FROM (SELECT UPUSER,
UPUSERID,
KETANGBIAOID,
QUEID,
ANSID,
EVALUATIONID,
DETANSWER
DETANSWER,
EVSTMP.UP_DATE
FROM (SELECT EVS.UPUSER,
EVS.UPUSERID,
EV.MINKCID AS KETANGBIAOID,
@ -222,7 +239,8 @@
'K'
ELSE
''
END) AS DETANSWER
END) AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV,
KC_EVALUATIONS EVS,
KC_EVALUATIONANS ANS,
@ -254,7 +272,8 @@
'E'
ELSE
'F'
END AS DETANSWER
END AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV,
KC_EVALUATIONS EVS,
KC_EVALUATIONANS ANS,
@ -273,7 +292,8 @@
EVS.QUEID,
EVS.EVALUATIONID,
EVS.ANSID,
EVS.TEXTANSCONTENT AS DETANSWER
EVS.TEXTANSCONTENT AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV,
KC_EVALUATIONS EVS,
KC_EVALUATIONQUE QUE
@ -370,7 +390,8 @@ select max(id) as id,gh,xqxn from KC_EXPORT_CONFIG_TPKWCQKJZGLX where xqxn = #{x
XSTK.COL56,
XSTK.COL57,
XSTK.COL58,
XSTK.COL59
XSTK.COL59,
XSTK.COL60
FROM (SELECT EVS.evaluationid AS COL00,
XQXN.TITLE AS COL01, -- 线上听课表(2)
KT.KCMC AS COL02,
@ -459,7 +480,8 @@ select max(id) as id,gh,xqxn from KC_EXPORT_CONFIG_TPKWCQKJZGLX where xqxn = #{x
rjzy.rjzy as col56,
ev.rjzy as col57,
KT.ID AS COL58,
CASE KC.SZKC WHEN '1' THEN '是' ELSE '否' END AS col59
CASE KC.SZKC WHEN '1' THEN '是' ELSE '否' END AS col59,
EVS.UP_DATE AS COL60
FROM (SELECT EVS.UPUSER,
EVS.UPUSERID,
EV.MINKCID AS KETANGBIAOID,
@ -479,7 +501,8 @@ select max(id) as id,gh,xqxn from KC_EXPORT_CONFIG_TPKWCQKJZGLX where xqxn = #{x
'E'
ELSE
'F'
END AS DETANSWER
END AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV,
KC_EVALUATIONS EVS,
KC_EVALUATIONANS ANS,
@ -525,7 +548,8 @@ select max(id) as id,gh,xqxn from KC_EXPORT_CONFIG_TPKWCQKJZGLX where xqxn = #{x
'K'
ELSE
''
END) AS DETANSWER
END) AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV,
KC_EVALUATIONS EVS,
KC_EVALUATIONANS ANS,
@ -557,7 +581,8 @@ select max(id) as id,gh,xqxn from KC_EXPORT_CONFIG_TPKWCQKJZGLX where xqxn = #{x
'E'
ELSE
'F'
END AS DETANSWER
END AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV,
KC_EVALUATIONS EVS,
KC_EVALUATIONANS ANS,
@ -578,7 +603,8 @@ select max(id) as id,gh,xqxn from KC_EXPORT_CONFIG_TPKWCQKJZGLX where xqxn = #{x
EVS.QUEID,
EVS.EVALUATIONID,
EVS.ANSID,
EVS.TEXTANSCONTENT AS DETANSWER
EVS.TEXTANSCONTENT AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV,
KC_EVALUATIONS EVS,
KC_EVALUATIONQUE QUE
@ -674,7 +700,8 @@ select max(id) as id,gh,xqxn from KC_EXPORT_CONFIG_TPKWCQKJZGLX where xqxn = #{x
THPJ.COL56,
THPJ.COL57,
THPJ.COL58,
THPJ.COL59
THPJ.COL59,
THPJ.COL60
FROM (SELECT EVS.EVALUATIONID AS COL00,
XQXN.TITLE AS COL01, -- 同行评价表(4)
KT.KCMC AS COL02,
@ -763,14 +790,16 @@ select max(id) as id,gh,xqxn from KC_EXPORT_CONFIG_TPKWCQKJZGLX where xqxn = #{x
rjzy.rjzy as col56,
ev.rjzy as col57,
KT.ID AS COL58,
CASE KC.SZKC WHEN '1' THEN '是' ELSE '否' END AS col59
CASE KC.SZKC WHEN '1' THEN '是' ELSE '否' END AS col59,
EVS.UP_DATE AS COL60
FROM (SELECT UPUSER,
UPUSERID,
KETANGBIAOID,
QUEID,
ANSID,
EVALUATIONID,
DETANSWER
DETANSWER,
EVSTMP.UP_DATE
FROM (SELECT EVS.UPUSER,
EVS.UPUSERID,
EV.MINKCID AS KETANGBIAOID,
@ -802,7 +831,8 @@ select max(id) as id,gh,xqxn from KC_EXPORT_CONFIG_TPKWCQKJZGLX where xqxn = #{x
'K'
ELSE
''
END) AS DETANSWER
END) AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV,
KC_EVALUATIONS EVS,
KC_EVALUATIONANS ANS,
@ -834,7 +864,8 @@ select max(id) as id,gh,xqxn from KC_EXPORT_CONFIG_TPKWCQKJZGLX where xqxn = #{x
'E'
ELSE
'F'
END AS DETANSWER
END AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV,
KC_EVALUATIONS EVS,
KC_EVALUATIONANS ANS,
@ -853,7 +884,8 @@ select max(id) as id,gh,xqxn from KC_EXPORT_CONFIG_TPKWCQKJZGLX where xqxn = #{x
EVS.QUEID,
EVS.EVALUATIONID,
EVS.ANSID,
EVS.TEXTANSCONTENT AS DETANSWER
EVS.TEXTANSCONTENT AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV,
KC_EVALUATIONS EVS,
KC_EVALUATIONQUE QUE
@ -950,7 +982,8 @@ select max(id) as id,gh,xqxn from KC_EXPORT_CONFIG_TPKWCQKJZGLX where xqxn = #{x
LBPJ.COL56,
LBPJ.COL57,
LBPJ.COL58,
LBPJ.COL59
LBPJ.COL59,
LBPJ.COL60
FROM (SELECT EVS.EVALUATIONID AS COL00,
XQXN.TITLE AS COL01, -- 老版评价表(1)
KT.KCMC AS COL02,
@ -1039,14 +1072,16 @@ select max(id) as id,gh,xqxn from KC_EXPORT_CONFIG_TPKWCQKJZGLX where xqxn = #{x
rjzy.rjzy as col56,
ev.rjzy as col57,
KT.ID AS COL58,
CASE KC.SZKC WHEN '1' THEN '是' ELSE '否' END AS col59
CASE KC.SZKC WHEN '1' THEN '是' ELSE '否' END AS col59,
EVS.UP_DATE AS COL60
FROM (SELECT UPUSER,
UPUSERID,
KETANGBIAOID,
QUEID,
ANSID,
EVALUATIONID,
DETANSWER
DETANSWER,
EVSTMP.UP_DATE
FROM (
SELECT EVS.UPUSER,
EVS.UPUSERID,
@ -1067,7 +1102,8 @@ select max(id) as id,gh,xqxn from KC_EXPORT_CONFIG_TPKWCQKJZGLX where xqxn = #{x
'E'
ELSE
'F'
END AS DETANSWER
END AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV,
KC_EVALUATIONS EVS,
KC_EVALUATIONANS ANS,

View File

@ -17,16 +17,21 @@ import com.beust.jcommander.internal.Sets;
import com.google.common.collect.Maps;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.CommonAPI;
import org.jeecg.common.api.vo.Result;
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.grab.SynchronizationService.tools.ChangeTingKeTongJi;
import org.jeecg.modules.kc.jiaoshi.entity.KcJiaoshirongliang;
import org.jeecg.modules.kc.jiaoshi.service.IKcJiaoshirongliangService;
import org.jeecg.modules.kc.kcSysConfig.entity.KcSysConfig;
import org.jeecg.modules.kc.kcSysConfig.service.IKcSysConfigService;
import org.jeecg.modules.kc.kcXqxnHistory.entity.KcXqxnHistory;
import org.jeecg.modules.kc.kcXqxnHistory.service.IKcXqxnHistoryService;
import org.jeecg.modules.kc.ktgl.entity.KcKetangbiao;
import org.jeecg.modules.kc.ktgl.entity.KcKetangbiaoNum;
import org.jeecg.modules.kc.ktgl.service.IKcKetangbiaoService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -37,7 +42,11 @@ import lombok.extern.slf4j.Slf4j;
import org.jeecg.modules.kc.qa.entity.KcEvaluationstudent;
import org.jeecg.modules.kc.qa.service.IKcEvaluationstudentService;
import org.jeecg.common.system.base.controller.JeecgController;
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.context.annotation.Lazy;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
@ -70,6 +79,12 @@ public class KcKetangbiaoController extends JeecgController<KcKetangbiao, IKcKet
@Autowired
private IKcJiaoshirongliangService kcJiaoshirongliangService;
@Autowired
private IKcXqxnHistoryService kcXqxnHistoryService;
@Value("${jeecg.path.upload}")
private String upLoadPath;
@Lazy
@Autowired
private CommonAPI commonApi;
@ -811,4 +826,74 @@ public class KcKetangbiaoController extends JeecgController<KcKetangbiao, IKcKet
return Result.OK(pageList);
}
@ApiOperation(value="统计年度课程信息数量", notes="统计年度课程信息数量")
@GetMapping(value = "/getKtcountList")
public Result<?> getKtcountList(KcKetangbiao kcKetangbiao,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<KcKetangbiao> queryWrapper = QueryGenerator.initQueryWrapper(kcKetangbiao, req.getParameterMap());
if(StringUtils.isBlank(kcKetangbiao.getXnxq())){
KcSysConfig kcSysConfig = kcSysConfigService.getById("1");
queryWrapper.ge("skrq",kcSysConfig.getBxqkssj());
queryWrapper.le("skrq",kcSysConfig.getBxqjssj()+" 23:59:59");
}else{
QueryWrapper<KcXqxnHistory> kcXqxnHistoryQueryWrapper = new QueryWrapper<KcXqxnHistory>();
kcXqxnHistoryQueryWrapper.eq("title",kcKetangbiao.getXnxq());
kcXqxnHistoryQueryWrapper.last("limit 1");
KcXqxnHistory KcXqxnHistory = kcXqxnHistoryService.getOne(kcXqxnHistoryQueryWrapper);
queryWrapper.ge("skrq",KcXqxnHistory.getStartTime());
queryWrapper.le("skrq",KcXqxnHistory.getEndTime()+" 23:59:59");
}
queryWrapper.orderByDesc("xnxq");
queryWrapper.groupBy("kkdw");
Page<Map<String, Object>> page = new Page<>(pageNo, pageSize);
IPage<Map<String, Object>> kcKetangbiaoList = kcKetangbiaoService.getKtcountList(page,queryWrapper);
return Result.OK(kcKetangbiaoList);
}
@RequestMapping(value = "/exportKcnumXls")
public ModelAndView exportKcnumXls(HttpServletRequest request, KcKetangbiaoNum kcKetangbiaoNum) {
return exportKcnumXls(request, kcKetangbiaoNum, KcKetangbiaoNum.class, "课堂统计");
}
protected ModelAndView exportKcnumXls(HttpServletRequest request, KcKetangbiaoNum object, Class<KcKetangbiaoNum> clazz, String title) {
// Step.1 组装查询条件
QueryWrapper<KcKetangbiaoNum> queryWrapper = QueryGenerator.initQueryWrapper(object, request.getParameterMap());
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// Step.2 获取导出数据
if(StringUtils.isBlank(object.getXnxq())){
KcSysConfig kcSysConfig = kcSysConfigService.getById("1");
queryWrapper.ge("skrq",kcSysConfig.getBxqkssj());
queryWrapper.le("skrq",kcSysConfig.getBxqjssj()+" 23:59:59");
}else{
QueryWrapper<KcXqxnHistory> kcXqxnHistoryQueryWrapper = new QueryWrapper<KcXqxnHistory>();
kcXqxnHistoryQueryWrapper.eq("title",object.getXnxq());
kcXqxnHistoryQueryWrapper.last("limit 1");
KcXqxnHistory KcXqxnHistory = kcXqxnHistoryService.getOne(kcXqxnHistoryQueryWrapper);
queryWrapper.ge("skrq",KcXqxnHistory.getStartTime());
queryWrapper.le("skrq",KcXqxnHistory.getEndTime()+" 23:59:59");
}
queryWrapper.orderByDesc("xnxq");
queryWrapper.groupBy("kkdw");
List<KcKetangbiaoNum> exportList = service.getKtcountExportList(queryWrapper);
// 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;
}
}

View File

@ -314,6 +314,9 @@ public class KcKetangbiao implements Serializable {
@TableField(exist = false)
private String tksy;
@TableField(exist = false)
private String num;
@TableField(exist = false)
private KcJiaoshirongliang jiaoshirongliang;

View File

@ -0,0 +1,53 @@
package org.jeecg.modules.kc.ktgl.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.modules.kc.jiaoshi.entity.KcJiaoshirongliang;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 课堂管理-子表
* @Author: jeecg-boot
* @Date: 2023-04-01
* @Version: V1.0
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="kc_ketangbiao对象", description="课堂管理-子表")
public class KcKetangbiaoNum implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
@Excel(name = "学年学期", width = 15)
private String xnxq;
/**开课单位*/
@Excel(name = "开课单位", width = 25)
@ApiModelProperty(value = "开课单位")
private String kkdw;
@Excel(name = "开课数量", width = 15)
private String num;
private String startTime;
private String endTime;
}

View File

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.kc.ktgl.entity.KcKetangbiao;
import org.jeecg.modules.kc.ktgl.entity.KcKetangbiaoNum;
import java.util.List;
import java.util.Map;
@ -62,4 +63,8 @@ public interface KcKetangbiaoMapper extends BaseMapper<KcKetangbiao> {
void updateJsbh();
void updateSkxs(KcKetangbiao kcKetangbiaoup);
IPage<Map<String, Object>> getKtcountList(Page<Map<String, Object>> page, @Param(Constants.WRAPPER)QueryWrapper queryWrapper);
List<KcKetangbiaoNum> getKtcountExportList(@Param(Constants.WRAPPER)QueryWrapper<KcKetangbiaoNum> queryWrapper);
}

View File

@ -639,4 +639,12 @@
update kc_ketangbiao set skxs = #{skxs} where xnxq = #{xnxq}
</update>
<select id="getKtcountList" resultType="org.jeecg.modules.kc.ktgl.entity.KcKetangbiao">
select xnxq,kkdw,count('*') as num from kc_ketangbiao
${ew.customSqlSegment}
</select>
<select id="getKtcountExportList" resultType="org.jeecg.modules.kc.ktgl.entity.KcKetangbiaoNum">
select xnxq,kkdw,count('*') as num from kc_ketangbiao
${ew.customSqlSegment}
</select>
</mapper>

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.kc.ktgl.entity.KcKetangbiao;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.kc.ktgl.entity.KcKetangbiaoNum;
import java.util.List;
import java.util.Map;
@ -64,4 +65,8 @@ public interface IKcKetangbiaoService extends IService<KcKetangbiao> {
void updateJsbh();
void updateSkxs(KcKetangbiao kcKetangbiaoup);
IPage<Map<String, Object>> getKtcountList(Page<Map<String, Object>> page, QueryWrapper qw);
List<KcKetangbiaoNum> getKtcountExportList(QueryWrapper<KcKetangbiaoNum> queryWrapper);
}

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.kc.ktgl.entity.KcKetangbiao;
import org.jeecg.modules.kc.ktgl.entity.KcKetangbiaoNum;
import org.jeecg.modules.kc.ktgl.mapper.KcKetangbiaoMapper;
import org.jeecg.modules.kc.ktgl.service.IKcKetangbiaoService;
import org.springframework.stereotype.Service;
@ -131,4 +132,14 @@ public class KcKetangbiaoServiceImpl extends ServiceImpl<KcKetangbiaoMapper, KcK
public void updateSkxs(KcKetangbiao kcKetangbiaoup) {
baseMapper.updateSkxs(kcKetangbiaoup);
}
@Override
public IPage<Map<String, Object>> getKtcountList(Page<Map<String, Object>> page, QueryWrapper qw) {
return baseMapper.getKtcountList(page,qw);
}
@Override
public List<KcKetangbiaoNum> getKtcountExportList(QueryWrapper<KcKetangbiaoNum> queryWrapper) {
return baseMapper.getKtcountExportList(queryWrapper);
}
}

View File

@ -80,7 +80,16 @@
<!-- FROM kc_tksfrzb-->
select gh as usercode,xm as username,GROUP_CONCAT( b.item_text SEPARATOR ',' ) as assess1 ,round(max(ytkcs-0),0) as tkyq from kc_export_config_tpkwcqkjzglx a
LEFT JOIN sys_dict_item b on a.tklx = b.item_value and dict_id = '1682386362753224705'
and a.xqxn = (select flag1 from kc_sys_config where id = 1)
<where>
<if test="kcEvaluation.xnxq != null and kcEvaluation.xnxq != ''">
and a.xqxn = #{kcEvaluation.xnxq}
</if>
<if test="kcEvaluation.xnxq == null or kcEvaluation.xnxq == ''">
and a.xqxn = (select flag1 from kc_sys_config where id = 1)
</if>
</where>
<!-- (select flag1 from kc_sys_config where id = 1)-->
<!-- <if test="kcEvaluation.tksf != null and kcEvaluation.tksf != ''">-->
<!-- AND b.item_value = #{kcEvaluation.tksf}-->
<!-- </if>-->
@ -351,27 +360,44 @@
</select>
<select id="selectPkmxExportList" parameterType="org.jeecg.modules.kc.qa.entity.KcEvaluationPkmx" resultType="org.jeecg.modules.kc.qa.entity.KcEvaluationPkmx">
SELECT pk.*, au.assess1 as tksf, fen.avgscore as tkpjjg
FROM
SELECT pk.*, au.assess1 as tksf,xnxq.title as xqxn,if(kcb.szkc='1','是','否') as szkc FROM
(
SELECT
k.id,c.gh as userid, c.xm as username, c.dwh as college, k.kkdw, k.kcmc, k.kcxz, k.skjs, k.week as zc, k.hh as jc, p.up_date, p.up_time, p.id AS evaId, p.evaluationver,
k.bz,
p.source,
k.kechengbiaoid
k.bz,k.skrq,k.kechengbiaoid,
p.source
FROM kc_ketangbiao k, kc_evaluation p, xxhbuser c
WHERE
k.id = p.minkcid
AND p.upuserid = c.gh
<if test="startTime != null and startTime != ''">
and p.up_date &gt;= #{startTime}
and k.skrq &gt;= #{startTime}
</if>
<if test="endTime != null and endTime != ''">
and p.up_date &lt;= #{endTime}
and k.skrq &lt;= #{endTime}
</if>
<if test="username != null and username != ''">
and (c.xm like concat('%',#{username},'%') or c.gh like concat('%',#{username},'%'))
</if>
) AS pk
LEFT JOIN kc_assessuser au ON pk.userid = au.usercode
left join zongtipingjiapingjunfen fen on fen.kechengbiaoid = pk.kechengbiaoid
LEFT JOIN (
select gh as usercode,xm as username,GROUP_CONCAT( b.item_text SEPARATOR ',' ) as assess1 ,round(max(ytkcs-0),0) as tkyq from kc_export_config_tpkwcqkjzglx a
LEFT JOIN sys_dict_item b on a.tklx = b.item_value and dict_id = '1682386362753224705'
<!-- and a.xqxn = (select flag1 from kc_sys_config where id = 1)-->
<where>
<if test="xnxq != null and xnxq != ''">
and a.xqxn = #{xnxq}
</if>
<if test="xnxq == null or xnxq == ''">
and a.xqxn = (select flag1 from kc_sys_config where id = 1)
</if>
</where>
GROUP BY gh,xm
) au ON pk.userid = au.usercode
LEFT JOIN kc_xqxn_history xnxq on pk.skrq >= xnxq.start_time and pk.skrq &lt;= xnxq.end_time
left join kc_kechengbiao kcb on pk.kechengbiaoid = kcb.id
<where>
<if test="kcxz != null and kcxz != ''">
@ -384,7 +410,7 @@
and pk.college = #{szdw}
</if>
<if test="tksf != null and tksf != ''">
AND au.assesscode = #{tksf}
AND au.assess1 = #{tksf}
</if>
<if test="szkc != null and szkc != ''">
<if test='szkc == "1"'>