添加统计功能
This commit is contained in:
parent
7cb03da20e
commit
c0de7562a9
|
@ -88,16 +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,d.dwbh,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
|
<!-- left join kc_kkdw21_view b on a.dwbh = b.dwbh-->
|
||||||
order by b.id asc
|
<!-- 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">
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
@ -53,6 +56,8 @@ public class KcEvaluationsStatController extends JeecgController<KcEvaluationsSt
|
||||||
@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导入数据
|
||||||
*
|
*
|
||||||
|
|
|
@ -261,4 +261,9 @@ public class KcEvaluationsStat implements Serializable {
|
||||||
|
|
||||||
@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;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
}
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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>
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue