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 id="getBarlist" resultType="org.jeecg.modules.kc.config.entity.KcExportConfigTpkwcqkjzglx">
select a.dwjc as dwmc, round(sjtkcs / ytkcs,2) as ytkcs from ( <!-- 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 <!-- 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_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_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 <!-- 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 <!-- where xqxn = #{xqxn} and (zt = '在职' or (zt= '退休' and ytkcs-0 >0)) and tklx in (${code}) and dwjc is not null-->
GROUP BY d.dwjc <!-- GROUP BY d.dwjc-->
) a <!-- ) 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> </select>
<update id="updateJzgzzzt"> <update id="updateJzgzzzt">

View File

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

View File

@ -11,8 +11,10 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.oConvertUtils; import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.kc.kcEvaluationsStat.entity.KcEvaluationsStat; import org.jeecg.modules.kc.kcEvaluationsStat.entity.KcEvaluationsStat;
import org.jeecg.modules.kc.kcEvaluationsStat.service.IKcEvaluationsStatService; 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.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.MultipartHttpServletRequest;
@ -52,7 +55,9 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
public class KcEvaluationsStatController extends JeecgController<KcEvaluationsStat, IKcEvaluationsStatService> { public class KcEvaluationsStatController extends JeecgController<KcEvaluationsStat, IKcEvaluationsStatService> {
@Autowired @Autowired
private IKcEvaluationsStatService kcEvaluationsStatService; private IKcEvaluationsStatService kcEvaluationsStatService;
@Value("${jeecg.path.upload}")
private String upLoadPath;
/** /**
* 分页列表查询 * 分页列表查询
* *
@ -73,7 +78,8 @@ public class KcEvaluationsStatController extends JeecgController<KcEvaluationsSt
kcEvaluationsStat.setCol13("*"+kcEvaluationsStat.getCol13()+"*"); 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); Page<KcEvaluationsStat> page = new Page<KcEvaluationsStat>(pageNo, pageSize);
IPage<KcEvaluationsStat> pageList = kcEvaluationsStatService.page(page, queryWrapper); IPage<KcEvaluationsStat> pageList = kcEvaluationsStatService.page(page, queryWrapper);
return Result.OK(pageList); return Result.OK(pageList);
@ -167,9 +173,31 @@ public class KcEvaluationsStatController extends JeecgController<KcEvaluationsSt
if(StringUtils.isNotBlank(kcEvaluationsStat.getCol13())){ if(StringUtils.isNotBlank(kcEvaluationsStat.getCol13())){
kcEvaluationsStat.setCol13("*"+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导入数据 * 通过excel导入数据
* *

View File

@ -257,7 +257,13 @@ public class KcEvaluationsStat implements Serializable {
private java.lang.String col57; private java.lang.String col57;
private java.lang.String col58; private java.lang.String col58;
private java.lang.String col59; private java.lang.String col59;
private java.lang.String col60;
@TableField(exist = false) @TableField(exist = false)
private java.lang.String xqxn; 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"> <!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"> <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 id="getYbtkbSyncList" resultType="org.jeecg.modules.kc.kcEvaluationsStat.entity.KcEvaluationsStat">
SELECT DISTINCT ev.id as col00 SELECT DISTINCT ev.id as col00
FROM kc_evaluation EV, KC_EVALUATIONS EVS FROM kc_evaluation EV, KC_EVALUATIONS EVS
@ -94,7 +108,8 @@
YBTK.COL56, YBTK.COL56,
YBTK.COL57, YBTK.COL57,
YBTK.COL58, YBTK.COL58,
YBTK.COL59 YBTK.COL59,
YBTK.COL60
FROM (SELECT EVS.EVALUATIONID AS COL00, FROM (SELECT EVS.EVALUATIONID AS COL00,
XQXN.TITLE AS COL01, -- 一般听课表(3) XQXN.TITLE AS COL01, -- 一般听课表(3)
KT.KCMC AS COL02, KT.KCMC AS COL02,
@ -183,14 +198,16 @@
rjzy.rjzy as col56, rjzy.rjzy as col56,
ev.rjzy as col57, ev.rjzy as col57,
KT.ID AS COL58, 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, FROM (SELECT UPUSER,
UPUSERID, UPUSERID,
KETANGBIAOID, KETANGBIAOID,
QUEID, QUEID,
ANSID, ANSID,
EVALUATIONID, EVALUATIONID,
DETANSWER DETANSWER,
EVSTMP.UP_DATE
FROM (SELECT EVS.UPUSER, FROM (SELECT EVS.UPUSER,
EVS.UPUSERID, EVS.UPUSERID,
EV.MINKCID AS KETANGBIAOID, EV.MINKCID AS KETANGBIAOID,
@ -222,7 +239,8 @@
'K' 'K'
ELSE ELSE
'' ''
END) AS DETANSWER END) AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV, FROM kc_evaluation EV,
KC_EVALUATIONS EVS, KC_EVALUATIONS EVS,
KC_EVALUATIONANS ANS, KC_EVALUATIONANS ANS,
@ -254,7 +272,8 @@
'E' 'E'
ELSE ELSE
'F' 'F'
END AS DETANSWER END AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV, FROM kc_evaluation EV,
KC_EVALUATIONS EVS, KC_EVALUATIONS EVS,
KC_EVALUATIONANS ANS, KC_EVALUATIONANS ANS,
@ -273,7 +292,8 @@
EVS.QUEID, EVS.QUEID,
EVS.EVALUATIONID, EVS.EVALUATIONID,
EVS.ANSID, EVS.ANSID,
EVS.TEXTANSCONTENT AS DETANSWER EVS.TEXTANSCONTENT AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV, FROM kc_evaluation EV,
KC_EVALUATIONS EVS, KC_EVALUATIONS EVS,
KC_EVALUATIONQUE QUE 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.COL56,
XSTK.COL57, XSTK.COL57,
XSTK.COL58, XSTK.COL58,
XSTK.COL59 XSTK.COL59,
XSTK.COL60
FROM (SELECT EVS.evaluationid AS COL00, FROM (SELECT EVS.evaluationid AS COL00,
XQXN.TITLE AS COL01, -- 线上听课表(2) XQXN.TITLE AS COL01, -- 线上听课表(2)
KT.KCMC AS COL02, 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, rjzy.rjzy as col56,
ev.rjzy as col57, ev.rjzy as col57,
KT.ID AS COL58, 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, FROM (SELECT EVS.UPUSER,
EVS.UPUSERID, EVS.UPUSERID,
EV.MINKCID AS KETANGBIAOID, EV.MINKCID AS KETANGBIAOID,
@ -479,7 +501,8 @@ select max(id) as id,gh,xqxn from KC_EXPORT_CONFIG_TPKWCQKJZGLX where xqxn = #{x
'E' 'E'
ELSE ELSE
'F' 'F'
END AS DETANSWER END AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV, FROM kc_evaluation EV,
KC_EVALUATIONS EVS, KC_EVALUATIONS EVS,
KC_EVALUATIONANS ANS, KC_EVALUATIONANS ANS,
@ -525,7 +548,8 @@ select max(id) as id,gh,xqxn from KC_EXPORT_CONFIG_TPKWCQKJZGLX where xqxn = #{x
'K' 'K'
ELSE ELSE
'' ''
END) AS DETANSWER END) AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV, FROM kc_evaluation EV,
KC_EVALUATIONS EVS, KC_EVALUATIONS EVS,
KC_EVALUATIONANS ANS, KC_EVALUATIONANS ANS,
@ -557,7 +581,8 @@ select max(id) as id,gh,xqxn from KC_EXPORT_CONFIG_TPKWCQKJZGLX where xqxn = #{x
'E' 'E'
ELSE ELSE
'F' 'F'
END AS DETANSWER END AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV, FROM kc_evaluation EV,
KC_EVALUATIONS EVS, KC_EVALUATIONS EVS,
KC_EVALUATIONANS ANS, 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.QUEID,
EVS.EVALUATIONID, EVS.EVALUATIONID,
EVS.ANSID, EVS.ANSID,
EVS.TEXTANSCONTENT AS DETANSWER EVS.TEXTANSCONTENT AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV, FROM kc_evaluation EV,
KC_EVALUATIONS EVS, KC_EVALUATIONS EVS,
KC_EVALUATIONQUE QUE 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.COL56,
THPJ.COL57, THPJ.COL57,
THPJ.COL58, THPJ.COL58,
THPJ.COL59 THPJ.COL59,
THPJ.COL60
FROM (SELECT EVS.EVALUATIONID AS COL00, FROM (SELECT EVS.EVALUATIONID AS COL00,
XQXN.TITLE AS COL01, -- 同行评价表(4) XQXN.TITLE AS COL01, -- 同行评价表(4)
KT.KCMC AS COL02, 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, rjzy.rjzy as col56,
ev.rjzy as col57, ev.rjzy as col57,
KT.ID AS COL58, 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, FROM (SELECT UPUSER,
UPUSERID, UPUSERID,
KETANGBIAOID, KETANGBIAOID,
QUEID, QUEID,
ANSID, ANSID,
EVALUATIONID, EVALUATIONID,
DETANSWER DETANSWER,
EVSTMP.UP_DATE
FROM (SELECT EVS.UPUSER, FROM (SELECT EVS.UPUSER,
EVS.UPUSERID, EVS.UPUSERID,
EV.MINKCID AS KETANGBIAOID, EV.MINKCID AS KETANGBIAOID,
@ -802,7 +831,8 @@ select max(id) as id,gh,xqxn from KC_EXPORT_CONFIG_TPKWCQKJZGLX where xqxn = #{x
'K' 'K'
ELSE ELSE
'' ''
END) AS DETANSWER END) AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV, FROM kc_evaluation EV,
KC_EVALUATIONS EVS, KC_EVALUATIONS EVS,
KC_EVALUATIONANS ANS, KC_EVALUATIONANS ANS,
@ -834,7 +864,8 @@ select max(id) as id,gh,xqxn from KC_EXPORT_CONFIG_TPKWCQKJZGLX where xqxn = #{x
'E' 'E'
ELSE ELSE
'F' 'F'
END AS DETANSWER END AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV, FROM kc_evaluation EV,
KC_EVALUATIONS EVS, KC_EVALUATIONS EVS,
KC_EVALUATIONANS ANS, 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.QUEID,
EVS.EVALUATIONID, EVS.EVALUATIONID,
EVS.ANSID, EVS.ANSID,
EVS.TEXTANSCONTENT AS DETANSWER EVS.TEXTANSCONTENT AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV, FROM kc_evaluation EV,
KC_EVALUATIONS EVS, KC_EVALUATIONS EVS,
KC_EVALUATIONQUE QUE 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.COL56,
LBPJ.COL57, LBPJ.COL57,
LBPJ.COL58, LBPJ.COL58,
LBPJ.COL59 LBPJ.COL59,
LBPJ.COL60
FROM (SELECT EVS.EVALUATIONID AS COL00, FROM (SELECT EVS.EVALUATIONID AS COL00,
XQXN.TITLE AS COL01, -- 老版评价表(1) XQXN.TITLE AS COL01, -- 老版评价表(1)
KT.KCMC AS COL02, 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, rjzy.rjzy as col56,
ev.rjzy as col57, ev.rjzy as col57,
KT.ID AS COL58, 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, FROM (SELECT UPUSER,
UPUSERID, UPUSERID,
KETANGBIAOID, KETANGBIAOID,
QUEID, QUEID,
ANSID, ANSID,
EVALUATIONID, EVALUATIONID,
DETANSWER DETANSWER,
EVSTMP.UP_DATE
FROM ( FROM (
SELECT EVS.UPUSER, SELECT EVS.UPUSER,
EVS.UPUSERID, EVS.UPUSERID,
@ -1067,7 +1102,8 @@ select max(id) as id,gh,xqxn from KC_EXPORT_CONFIG_TPKWCQKJZGLX where xqxn = #{x
'E' 'E'
ELSE ELSE
'F' 'F'
END AS DETANSWER END AS DETANSWER,
EVS.UP_DATE
FROM kc_evaluation EV, FROM kc_evaluation EV,
KC_EVALUATIONS EVS, KC_EVALUATIONS EVS,
KC_EVALUATIONANS ANS, KC_EVALUATIONANS ANS,

View File

@ -17,16 +17,21 @@ import com.beust.jcommander.internal.Sets;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import org.apache.commons.compress.utils.Lists; import org.apache.commons.compress.utils.Lists;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.CommonAPI; import org.jeecg.common.api.CommonAPI;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator; 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.grab.SynchronizationService.tools.ChangeTingKeTongJi;
import org.jeecg.modules.kc.jiaoshi.entity.KcJiaoshirongliang; import org.jeecg.modules.kc.jiaoshi.entity.KcJiaoshirongliang;
import org.jeecg.modules.kc.jiaoshi.service.IKcJiaoshirongliangService; import org.jeecg.modules.kc.jiaoshi.service.IKcJiaoshirongliangService;
import org.jeecg.modules.kc.kcSysConfig.entity.KcSysConfig; import org.jeecg.modules.kc.kcSysConfig.entity.KcSysConfig;
import org.jeecg.modules.kc.kcSysConfig.service.IKcSysConfigService; import org.jeecg.modules.kc.kcSysConfig.service.IKcSysConfigService;
import org.jeecg.modules.kc.kcXqxnHistory.entity.KcXqxnHistory; 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.KcKetangbiao;
import org.jeecg.modules.kc.ktgl.entity.KcKetangbiaoNum;
import org.jeecg.modules.kc.ktgl.service.IKcKetangbiaoService; import org.jeecg.modules.kc.ktgl.service.IKcKetangbiaoService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.entity.KcEvaluationstudent;
import org.jeecg.modules.kc.qa.service.IKcEvaluationstudentService; import org.jeecg.modules.kc.qa.service.IKcEvaluationstudentService;
import org.jeecg.common.system.base.controller.JeecgController; 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.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
@ -70,6 +79,12 @@ public class KcKetangbiaoController extends JeecgController<KcKetangbiao, IKcKet
@Autowired @Autowired
private IKcJiaoshirongliangService kcJiaoshirongliangService; private IKcJiaoshirongliangService kcJiaoshirongliangService;
@Autowired
private IKcXqxnHistoryService kcXqxnHistoryService;
@Value("${jeecg.path.upload}")
private String upLoadPath;
@Lazy @Lazy
@Autowired @Autowired
private CommonAPI commonApi; private CommonAPI commonApi;
@ -811,4 +826,74 @@ public class KcKetangbiaoController extends JeecgController<KcKetangbiao, IKcKet
return Result.OK(pageList); 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) @TableField(exist = false)
private String tksy; private String tksy;
@TableField(exist = false)
private String num;
@TableField(exist = false) @TableField(exist = false)
private KcJiaoshirongliang jiaoshirongliang; 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 com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.kc.ktgl.entity.KcKetangbiao; import org.jeecg.modules.kc.ktgl.entity.KcKetangbiao;
import org.jeecg.modules.kc.ktgl.entity.KcKetangbiaoNum;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -62,4 +63,8 @@ public interface KcKetangbiaoMapper extends BaseMapper<KcKetangbiao> {
void updateJsbh(); void updateJsbh();
void updateSkxs(KcKetangbiao kcKetangbiaoup); 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 kc_ketangbiao set skxs = #{skxs} where xnxq = #{xnxq}
</update> </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> </mapper>

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.kc.ktgl.entity.KcKetangbiao; import org.jeecg.modules.kc.ktgl.entity.KcKetangbiao;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.kc.ktgl.entity.KcKetangbiaoNum;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -64,4 +65,8 @@ public interface IKcKetangbiaoService extends IService<KcKetangbiao> {
void updateJsbh(); void updateJsbh();
void updateSkxs(KcKetangbiao kcKetangbiaoup); 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.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.kc.ktgl.entity.KcKetangbiao; 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.mapper.KcKetangbiaoMapper;
import org.jeecg.modules.kc.ktgl.service.IKcKetangbiaoService; import org.jeecg.modules.kc.ktgl.service.IKcKetangbiaoService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -131,4 +132,14 @@ public class KcKetangbiaoServiceImpl extends ServiceImpl<KcKetangbiaoMapper, KcK
public void updateSkxs(KcKetangbiao kcKetangbiaoup) { public void updateSkxs(KcKetangbiao kcKetangbiaoup) {
baseMapper.updateSkxs(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--> <!-- 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 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' 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 != ''">--> <!-- <if test="kcEvaluation.tksf != null and kcEvaluation.tksf != ''">-->
<!-- AND b.item_value = #{kcEvaluation.tksf}--> <!-- AND b.item_value = #{kcEvaluation.tksf}-->
<!-- </if>--> <!-- </if>-->
@ -351,27 +360,44 @@
</select> </select>
<select id="selectPkmxExportList" parameterType="org.jeecg.modules.kc.qa.entity.KcEvaluationPkmx" resultType="org.jeecg.modules.kc.qa.entity.KcEvaluationPkmx"> <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 SELECT pk.*, au.assess1 as tksf,xnxq.title as xqxn,if(kcb.szkc='1','是','否') as szkc FROM
FROM
( (
SELECT 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.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, k.bz,k.skrq,k.kechengbiaoid,
p.source, p.source
k.kechengbiaoid
FROM kc_ketangbiao k, kc_evaluation p, xxhbuser c FROM kc_ketangbiao k, kc_evaluation p, xxhbuser c
WHERE WHERE
k.id = p.minkcid k.id = p.minkcid
AND p.upuserid = c.gh AND p.upuserid = c.gh
<if test="startTime != null and startTime != ''"> <if test="startTime != null and startTime != ''">
and p.up_date &gt;= #{startTime} and k.skrq &gt;= #{startTime}
</if> </if>
<if test="endTime != null and endTime != ''"> <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> </if>
) AS pk ) AS pk
LEFT JOIN kc_assessuser au ON pk.userid = au.usercode LEFT JOIN (
left join zongtipingjiapingjunfen fen on fen.kechengbiaoid = pk.kechengbiaoid 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 left join kc_kechengbiao kcb on pk.kechengbiaoid = kcb.id
<where> <where>
<if test="kcxz != null and kcxz != ''"> <if test="kcxz != null and kcxz != ''">
@ -384,7 +410,7 @@
and pk.college = #{szdw} and pk.college = #{szdw}
</if> </if>
<if test="tksf != null and tksf != ''"> <if test="tksf != null and tksf != ''">
AND au.assesscode = #{tksf} AND au.assess1 = #{tksf}
</if> </if>
<if test="szkc != null and szkc != ''"> <if test="szkc != null and szkc != ''">
<if test='szkc == "1"'> <if test='szkc == "1"'>