课程作业管理、课程测验管理中作业统计信息 发布作业次数、作业完成次数、查重次数、互评次数、超时未完成次数动态计算

This commit is contained in:
1378012178@qq.com 2024-12-11 14:01:05 +08:00
parent 7ccaca977e
commit b5dbc4307a
8 changed files with 257 additions and 90 deletions

View File

@ -45,4 +45,11 @@ public class KccyglSys implements Serializable {
private String jgh;
private String ywId;
private String atype;
@Excel(name = "发布作业次数", width = 15)
private Integer fbzycs;
@Excel(name = "作业完成次数", width = 15)
private Integer zywccs;
@Excel(name = "超时未完成次数", width = 15)
private Integer cswwccs;
}

View File

@ -84,9 +84,21 @@
<select id="sysList" resultType="org.jeecg.modules.kc.wjxWjxx.entity.KccyglSys">
SELECT t.kcbh, t.kcmc, t.kkdw, t.kcxz, t.szkc, t.xqxn, t.rwbh, t.skdd, t.xkrs, t.jgh, func_jc (GROUP_CONCAT( t.sksj)) AS sksj, t.skjs,b.num
SELECT t.kcbh, t.kcmc, t.kkdw, t.kcxz, t.szkc, t.xqxn, t.rwbh, t.skdd, t.xkrs, t.jgh, func_jc (GROUP_CONCAT( t.sksj)) AS sksj, t.skjs,b.num,
b.fbzycs,
b.zywccs,
b.cswwccs
FROM (
select xqxn,rwbh,create_by,count(*) as num,atype from wjx_wjxx GROUP BY xqxn,rwbh,create_by,atype
select xqxn,rwbh,create_by,count(*) as num,atype,
SUM(CASE WHEN qpublish IN ('1', '2') THEN 1 ELSE 0 END) AS fbzycs,
SUM(CASE WHEN qpublish = '2' THEN 1 ELSE 0 END) AS zywccs,
SUM(
CASE
WHEN qpublish = '1' AND end_time &lt; NOW() THEN 1
ELSE 0
END
) AS cswwccs
from wjx_wjxx GROUP BY xqxn,rwbh,create_by,atype
) b
inner join (
SELECT DISTINCT
@ -101,14 +113,30 @@
</if>
</where>
GROUP BY kcbh,kcmc,kkdw,kcxz,szkc,xqxn,rwbh,skjs,skdd,xkrs,jgh
GROUP BY kcbh,kcmc,kkdw,kcxz,szkc,xqxn,rwbh,skjs,skdd,xkrs,jgh,
b.num,
b.fbzycs,
b.zywccs,
b.cswwccs
</select>
<select id="exportSysXls" resultType="org.jeecg.modules.kc.wjxWjxx.entity.KccyglSys">
SELECT t.kcbh, t.kcmc, t.kkdw, t.kcxz, t.szkc, t.xqxn, t.rwbh, t.skdd, t.xkrs, t.jgh, func_jc (GROUP_CONCAT( t.sksj)) AS sksj, t.skjs,b.num
SELECT t.kcbh, t.kcmc, t.kkdw, t.kcxz, t.szkc, t.xqxn, t.rwbh, t.skdd, t.xkrs, t.jgh, func_jc (GROUP_CONCAT( t.sksj)) AS sksj, t.skjs,b.num,
b.fbzycs,
b.zywccs,
b.cswwccs
FROM (
select xqxn,rwbh,create_by,count(*) as num,atype from wjx_wjxx GROUP BY xqxn,rwbh,create_by,atype
select xqxn,rwbh,create_by,count(*) as num,atype,
SUM(CASE WHEN qpublish IN ('1', '2') THEN 1 ELSE 0 END) AS fbzycs,
SUM(CASE WHEN qpublish = '2' THEN 1 ELSE 0 END) AS zywccs,
SUM(
CASE
WHEN qpublish = '1' AND end_time &lt; NOW() THEN 1
ELSE 0
END
) AS cswwccs
from wjx_wjxx GROUP BY xqxn,rwbh,create_by,atype
) b
inner join (
SELECT DISTINCT
@ -123,7 +151,48 @@
</if>
</where>
GROUP BY kcbh,kcmc,kkdw,kcxz,szkc,xqxn,rwbh,skjs,skdd,xkrs,jgh
GROUP BY kcbh,kcmc,kkdw,kcxz,szkc,xqxn,rwbh,skjs,skdd,xkrs,jgh,
b.num,
b.fbzycs,
b.zywccs,
b.cswwccs
</select>
<select id="exportSysXls2" resultType="org.jeecg.modules.kc.wjxWjxx.entity.KccyglSys">
SELECT t.kcbh, t.kcmc, t.kkdw, t.kcxz, t.szkc, t.xqxn, t.rwbh, t.skdd, t.xkrs, t.jgh, func_jc (GROUP_CONCAT( t.sksj)) AS sksj, t.skjs,b.num,
b.fbzycs,
b.zywccs,
b.cswwccs
FROM (
select xqxn,rwbh,create_by,count(*) as num,atype,
SUM(CASE WHEN qpublish IN ('1', '2') THEN 1 ELSE 0 END) AS fbzycs,
SUM(CASE WHEN qpublish = '2' THEN 1 ELSE 0 END) AS zywccs,
SUM(
CASE
WHEN qpublish = '1' AND end_time &lt; NOW() THEN 1
ELSE 0
END
) AS cswwccs
from wjx_wjxx GROUP BY xqxn,rwbh,create_by,atype
) b
inner join (
SELECT DISTINCT
kcbh,kcmc,kkdw,kcxz,szkc,xqxn, rwbh, skdd, xkrs, jgh,concat(WEEK,REPLACE ( hh, '、', '' )) AS sksj,skjs
FROM
kc_kechengbiao
${ew.customSqlSegment}
) t on t.jgh = b.create_by and t.rwbh = b.rwbh and t.xqxn = b.xqxn
<where>
<if test="kccyglSys.atype != null and kccyglSys.atype != ''">
and b.atype = #{kccyglSys.atype}
</if>
</where>
GROUP BY kcbh,kcmc,kkdw,kcxz,szkc,xqxn,rwbh,skjs,skdd,xkrs,jgh,b.num,
b.fbzycs,
b.zywccs,
b.cswwccs
</select>

View File

@ -642,7 +642,7 @@ public class ZyInfoController extends JeecgController<ZyInfo, IZyInfoService> {
queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKcmc()),"kcmc",zyInfoSys.getKcmc());
queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKcbh()),"kcbh",zyInfoSys.getKcbh());
queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getSkjs()),"skjs",zyInfoSys.getSkjs());
queryWrapper.eq("flag",0);
Page<ZyInfoSys> page = new Page<ZyInfoSys>(pageNo, pageSize);
IPage<ZyInfoSys> pageList = zyInfoService.sysList(page, queryWrapper);
return Result.OK(pageList);
@ -706,15 +706,22 @@ public class ZyInfoController extends JeecgController<ZyInfo, IZyInfoService> {
queryWrapperCon.orderByDesc("create_time");
queryWrapperCon.last("limit 1");
KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon);
zyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc());
queryWrapper.eq("kkdw",kcExportConfigTpkwcqkjzglx.getDwmc());
}
if(com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())){
KcSysConfig kcSysConfig = kcSysConfigService.getById("1");
zyInfoSys.setXqxn(kcSysConfig.getFlag1());
queryWrapper.eq("xqxn",kcSysConfig.getFlag1());
}else{
queryWrapper.eq("xqxn",zyInfoSys.getXqxn());
}
queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKkdw()),"kkdw",zyInfoSys.getKkdw());
queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKcmc()),"kcmc",zyInfoSys.getKcmc());
queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKcbh()),"kcbh",zyInfoSys.getKcbh());
queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getSkjs()),"skjs",zyInfoSys.getSkjs());
queryWrapper.eq("flag",0);
// Step.2 获取导出数据
List<ZyInfoSys> exportList = service.exportSysXls(zyInfoSys);
List<ZyInfoSys> exportList = service.exportSysXls(zyInfoSys,queryWrapper);
// Step.3 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());

View File

@ -37,13 +37,13 @@ public class ZyInfoSys implements Serializable {
private String skjs;
@Excel(name = "职称", width = 15)
private String zc;
@Excel(name = "作业名称", width = 15)
// @Excel(name = "作业名称", width = 15)
private String title;
@Excel(name = "是否完成", width = 15)
// @Excel(name = "是否完成", width = 15)
private String sfwc;
@Excel(name = "是否发布", width = 15)
// @Excel(name = "是否发布", width = 15)
private String sffb;
@Excel(name = "是否互评", width = 15)
// @Excel(name = "是否互评", width = 15)
private String sfhp;
private String sfcc;
private Date startTime;
@ -63,4 +63,15 @@ public class ZyInfoSys implements Serializable {
private String type;
private String count;
private String rownum;
@Excel(name = "发布作业次数", width = 15)
private Integer fbzycs;
@Excel(name = "作业完成次数", width = 15)
private Integer zywccs;
@Excel(name = "查重次数", width = 15)
private Integer cccs;
@Excel(name = "互评次数", width = 15)
private Integer hpcs;
@Excel(name = "超时未完成次数", width = 15)
private Integer cswwccs;
}

View File

@ -24,7 +24,7 @@ public interface ZyInfoMapper extends BaseMapper<ZyInfo> {
IPage<ZyInfoSys> sysList(Page<ZyInfoSys> page, @Param(Constants.WRAPPER) QueryWrapper<ZyInfoSys> queryWrapper);
List<ZyInfoSys> exportSysXls(@Param("zyInfoSys") ZyInfoSys zyInfoSys);
List<ZyInfoSys> exportSysXls(@Param("zyInfoSys") ZyInfoSys zyInfoSys, @Param(Constants.WRAPPER) QueryWrapper<ZyInfoSys> queryWrapper);
ZyInfo getKechengById(@Param("id") String id);

View File

@ -29,26 +29,84 @@
</select>
<select id="sysList" resultType="org.jeecg.modules.kc.zyInfo.entity.ZyInfoSys">
SELECT t.kcbh, t.kcmc, t.kkdw, t.kcxz, t.szkc, t.xqxn, t.rwbh, t.skdd, t.xkrs, t.jgh, func_jc (GROUP_CONCAT( t.sksj)) AS sksj, t.skjs,b.num
SELECT t.kcbh, t.kcmc, t.kkdw, t.kcxz, t.szkc, t.xqxn, t.rwbh, t.xkrs, t.jgh,t.jzglb zc, t.skjs,b.num,
b.fbzycs, -- 发布作业次数
b.zywccs, -- 作业完成次数
b.cccs, -- 查重次数
b.hpcs, -- 互评次数
b.cswwccs -- 超时未完成次数
FROM (
select xnxq,rwbh,create_by,count(*) as num from zy_info GROUP BY xnxq,rwbh,create_by
select xnxq,rwbh,create_by,count(*) as num,
SUM(CASE WHEN zy_status IN ('1', '2') THEN 1 ELSE 0 END) AS fbzycs,
SUM(CASE WHEN zy_status = '2' THEN 1 ELSE 0 END) AS zywccs,
SUM(CASE WHEN zy_status in ('1','2') and sfcc IN ('1', '2') THEN 1 ELSE 0 END) AS cccs,
SUM(CASE WHEN zy_status in ('1','2') and xshpkg = '1' THEN 1 ELSE 0 END) AS hpcs,
SUM(
CASE
WHEN zy_status = '1' AND end_time &lt; NOW() THEN 1
ELSE 0
END
) AS cswwccs
from zy_info GROUP BY xnxq,rwbh,create_by
) b
inner join (
SELECT DISTINCT
kcbh,kcmc,kkdw,kcxz,szkc,xqxn, rwbh, skdd, xkrs, jgh,concat(WEEK,REPLACE ( hh, '、', '' )) AS sksj,skjs
kcbh,kcmc,kkdw,kcxz,szkc,xqxn, rwbh, xkrs,jzglb, jgh,skjs
FROM
kc_kechengbiao
${ew.customSqlSegment}
) t on t.jgh = b.create_by and t.rwbh = b.rwbh and t.xqxn = b.xnxq
GROUP BY kcbh,kcmc,kkdw,kcxz,szkc,xqxn,rwbh,skjs,skdd,xkrs,jgh
GROUP BY kcbh,kcmc,kkdw,kcxz,szkc,xqxn,rwbh,skjs,xkrs,jgh,zc
</select>
<select id="exportSysXls" resultType="org.jeecg.modules.kc.zyInfo.entity.ZyInfoSys">
select a.*,b.skjs,b.jgh,b.kcmc,b.kcbh,b.xkrs,b.kkdw,b.kcxz,b.zc,a.xnxq as xqxn,
SELECT t.kcbh, t.kcmc, t.kkdw, t.kcxz, t.szkc, t.xqxn, t.rwbh, t.xkrs, t.jgh,t.jzglb zc, t.skjs,b.num,
b.fbzycs, -- 发布作业次数
b.zywccs, -- 作业完成次数
b.cccs, -- 查重次数
b.hpcs, -- 互评次数
b.cswwccs -- 超时未完成次数
FROM (
select xnxq,rwbh,create_by,count(*) as num,
SUM(CASE WHEN zy_status IN ('1', '2') THEN 1 ELSE 0 END) AS fbzycs,
SUM(CASE WHEN zy_status = '2' THEN 1 ELSE 0 END) AS zywccs,
SUM(CASE WHEN zy_status in ('1','2') and sfcc IN ('1', '2') THEN 1 ELSE 0 END) AS cccs,
SUM(CASE WHEN zy_status in ('1','2') and xshpkg = '1' THEN 1 ELSE 0 END) AS hpcs,
SUM(
CASE
WHEN zy_status = '1' AND end_time &lt; NOW() THEN 1
ELSE 0
END
) AS cswwccs
from zy_info GROUP BY xnxq,rwbh,create_by
) b
inner join (
SELECT DISTINCT
kcbh,kcmc,kkdw,kcxz,szkc,xqxn, rwbh, xkrs, jgh,jzglb,skjs
FROM
kc_kechengbiao
${ew.customSqlSegment}
) t on t.jgh = b.create_by and t.rwbh = b.rwbh and t.xqxn = b.xnxq
GROUP BY kcbh,kcmc,kkdw,kcxz,szkc,xqxn,rwbh,skjs,xkrs,jgh,jzglb
</select>
<select id="exportSysXls2" resultType="org.jeecg.modules.kc.zyInfo.entity.ZyInfoSys">
select a.id,a.create_by,a.create_time,a.update_by,a.update_time,a.title,a.zy_type,a.content,a.start_time,a.end_time,a.zy_status,a.xnxq,a.wwcc,a.wwtgl,a.nwcc,a.nwtgl,a.aigccc,a.aigctgl,a.rwbh,a.file_path,a.xkxs,a.xncc,a.xntgl,a.score,a.kcnr,a.pfbz,a.sturead,a.sort,a.xshpkg,a.xshprsq,a.xshpkssj,a.xshpjssj,a.sfzzcj,a.xssfck,a.hpsfwcone,a.hpsfwctwo,a.zy_leixing,a.sfcc,a.sfsckhcl,a.sfsckhcl_time,b.skjs,b.jgh,b.kcmc,b.kcbh,b.xkrs,b.kkdw,b.kcxz,b.zc,a.xnxq as xqxn,
IF( a.zy_status = '2', '全部完成', '未全部完成' ) as sfwc,
IF( a.zy_status = '0', '未发布', '已发布' ) as sffb,
IF( a.xshpkg = '1', '是', '否' ) as sfhp
IF( a.xshpkg = '1', '是', '否' ) as sfhp,
SUM(CASE WHEN a.zy_status IN ('1', '2') THEN 1 ELSE 0 END) AS fbzycs,
SUM(CASE WHEN a.zy_status = '2' THEN 1 ELSE 0 END) AS zywccs,
SUM(CASE WHEN a.sfcc IN ('1', '2') THEN 1 ELSE 0 END) AS cccs,
SUM(CASE WHEN a.xshpkg = '1' THEN 1 ELSE 0 END) AS hpcs,
SUM(
CASE
WHEN a.zy_status = '1' AND a.end_time &lt; NOW() THEN 1
ELSE 0
END
) AS cswwccs
from zy_info a,
(select skjs,jgh,kcmc,kcbh,xkrs,kkdw,rwbh,kcxz,zc from kc_kechengbiao where xqxn = #{zyInfoSys.xqxn} and flag = '0' GROUP BY skjs,jgh,kcmc,kcbh,xkrs,kkdw, rwbh,kcxz,zc) b
where a.rwbh = b.rwbh and a.create_by = b.jgh and a.xnxq = #{zyInfoSys.xqxn} and a.zy_status in (1,2)
@ -67,7 +125,16 @@
<if test="zyInfoSys.sfhp != null and zyInfoSys.sfhp != ''">
and a.xshpkg = #{zyInfoSys.sfhp}
</if>
group by
a.id,a.create_by,a.create_time,a.update_by,a.update_time,a.title,a.zy_type,a.content,a.start_time,a.end_time,a.zy_status,a.xnxq,a.wwcc,a.wwtgl,a.nwcc,a.nwtgl,a.aigccc,a.aigctgl,a.rwbh,a.file_path,a.xkxs,a.xncc,a.xntgl,a.score,a.kcnr,a.pfbz,a.sturead,a.sort,a.xshpkg,a.xshprsq,a.xshpkssj,a.xshpjssj,a.sfzzcj,a.xssfck,a.hpsfwcone,a.hpsfwctwo,a.zy_leixing,a.sfcc,a.sfsckhcl,a.sfsckhcl_time,
b.skjs,
b.jgh,
b.kcmc,
b.kcbh,
b.xkrs,
b.kkdw,
b.kcxz,
b.zc
</select>
<select id="getKechengById" resultType="org.jeecg.modules.kc.zyInfo.entity.ZyInfo">
@ -156,25 +223,27 @@
<select id="getZyStaticNo" resultType="org.jeecg.modules.kc.zyInfo.entity.ZyInfoSys">
select count(*) as count,'1' as type from zy_info where xnxq = #{zyInfoSys.xqxn} and zy_status in (1,2)
select count(distinct zi.id) as count,'1' as type from zy_info zi join kc_kechengbiao kk on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq where zi.zy_status in ('1','2') and zi.xnxq = #{zyInfoSys.xqxn} and kk.flag = 0
union all
select count(*) as count,'2' as type from zy_info where xnxq = #{zyInfoSys.xqxn} and zy_status in (1,2) and xshpkg = '1'
select count(distinct zi.id) as count,'2' as type from zy_info zi join kc_kechengbiao kk on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq where zi.zy_status in ('1','2') and zi.xnxq = #{zyInfoSys.xqxn} and kk.flag = 0 and zi.xshpkg = '1'
union all
select count(*) as count,'3' as type from zy_info where xnxq = #{zyInfoSys.xqxn} and zy_status in (2)
select count(distinct zi.id) as count,'3' as type from zy_info zi join kc_kechengbiao kk on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq where zi.zy_status in ('2') and zi.xnxq = #{zyInfoSys.xqxn} and kk.flag = 0
union all
select count(*) as count,'4' as type from zy_info where (update_time = DATE_FORMAT(NOW(),'%Y-%m-%d') or create_time = DATE_FORMAT(NOW(),'%Y-%m-%d') ) and zy_status in (1,2)
select count(distinct zi.id) as count,'4' as type from zy_info zi join kc_kechengbiao kk on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq where zi.zy_status in ('1','2') and (zi.update_time = DATE_FORMAT(NOW(),'%Y-%m-%d') or zi.create_time = DATE_FORMAT(NOW(),'%Y-%m-%d') ) and kk.flag = 0
union all
select count(*) as count,'5' as type from zy_info where (update_time = DATE_FORMAT(NOW(),'%Y-%m-%d') or create_time = DATE_FORMAT(NOW(),'%Y-%m-%d') ) and zy_status in (1,2) and xshpkg = '1'
select count(distinct zi.id) as count,'5' as type from zy_info zi join kc_kechengbiao kk on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq where zi.zy_status in ('1','2') and (zi.update_time = DATE_FORMAT(NOW(),'%Y-%m-%d') or zi.create_time = DATE_FORMAT(NOW(),'%Y-%m-%d') ) and zi.xshpkg = '1' and kk.flag = 0
union all
select count(*) as count,'6' as type from zy_info where (update_time = DATE_FORMAT(NOW(),'%Y-%m-%d') or create_time = DATE_FORMAT(NOW(),'%Y-%m-%d') ) and zy_status in (2)
select count(distinct zi.id) as count,'6' as type from zy_info zi join kc_kechengbiao kk on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq where zi.zy_status in ('2') and (zi.update_time = DATE_FORMAT(NOW(),'%Y-%m-%d') or zi.create_time = DATE_FORMAT(NOW(),'%Y-%m-%d') ) and kk.flag = 0
union all
select count(*) as count,'7' as type from wjx_wjxx where xqxn = #{zyInfoSys.xqxn} and qpublish in (1,2)
select count(distinct ww.id) as count,'7' as type from wjx_wjxx ww join kc_kechengbiao kk on kk.jgh = ww.create_by AND kk.rwbh = ww.rwbh AND kk.xqxn = ww.xqxn where ww.xqxn = #{zyInfoSys.xqxn} and ww.qpublish in (1,2)
union all
select count(*) as count,'8' as type from wjx_wjxx where xqxn = #{zyInfoSys.xqxn} and qpublish = '2'
select count(distinct ww.id) as count,'8' as type from wjx_wjxx ww join kc_kechengbiao kk on kk.jgh = ww.create_by AND kk.rwbh = ww.rwbh AND kk.xqxn = ww.xqxn where ww.xqxn = #{zyInfoSys.xqxn} and ww.qpublish in (2)
union all
select count(*) as count,'9' as type from wjx_wjxx where (update_time = DATE_FORMAT(NOW(),'%Y-%m-%d') or create_time = DATE_FORMAT(NOW(),'%Y-%m-%d') ) and qpublish in (1,2)
select count(distinct ww.id) as count,'9' as type from wjx_wjxx ww join kc_kechengbiao kk on kk.jgh = ww.create_by AND kk.rwbh = ww.rwbh AND kk.xqxn = ww.xqxn where (ww.update_time = DATE_FORMAT(NOW(),'%Y-%m-%d') or ww.create_time = DATE_FORMAT(NOW(),'%Y-%m-%d') ) and ww.qpublish in (1,2)
union all
select count(*) as count,'10' as type from wjx_wjxx where (update_time = DATE_FORMAT(NOW(),'%Y-%m-%d') or create_time = DATE_FORMAT(NOW(),'%Y-%m-%d') ) and qpublish = '2'
select count(distinct ww.id) as count,'10' as type from wjx_wjxx ww join kc_kechengbiao kk on kk.jgh = ww.create_by AND kk.rwbh = ww.rwbh AND kk.xqxn = ww.xqxn where (ww.update_time = DATE_FORMAT(NOW(),'%Y-%m-%d') or ww.create_time = DATE_FORMAT(NOW(),'%Y-%m-%d') ) and ww.qpublish in (2)
union all
select count(distinct zi.id) as count,'11' as type from zy_info zi join kc_kechengbiao kk on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq where zi.zy_status in ('1','2') and zi.xnxq = #{zyInfoSys.xqxn} and zi.sfcc in ('1','2') and kk.flag = 0
</select>
<select id="getZyTopList" resultType="org.jeecg.modules.kc.zyInfo.entity.ZyInfoSys">

View File

@ -23,7 +23,7 @@ public interface IZyInfoService extends IService<ZyInfo> {
IPage<ZyInfoSys> sysList(Page<ZyInfoSys> page, QueryWrapper<ZyInfoSys> queryWrapper);
List<ZyInfoSys> exportSysXls(ZyInfoSys zyInfoSys);
List<ZyInfoSys> exportSysXls(ZyInfoSys zyInfoSys, QueryWrapper<ZyInfoSys> queryWrapper);
ZyInfo getKechengById(String id);

View File

@ -33,7 +33,7 @@ import java.util.*;
/**
* @Description: 作业发布
* @Author: jeecg-boot
* @Date: 2024-05-06
* @Date: 2024-05-06
* @Version: V1.0
*/
@Service
@ -57,8 +57,8 @@ public class ZyInfoServiceImpl extends ServiceImpl<ZyInfoMapper, ZyInfo> impleme
}
@Override
public List<ZyInfoSys> exportSysXls(ZyInfoSys zyInfoSys) {
return baseMapper.exportSysXls(zyInfoSys);
public List<ZyInfoSys> exportSysXls(ZyInfoSys zyInfoSys, QueryWrapper<ZyInfoSys> queryWrapper) {
return baseMapper.exportSysXls(zyInfoSys, queryWrapper);
}
@Override
@ -68,53 +68,52 @@ public class ZyInfoServiceImpl extends ServiceImpl<ZyInfoMapper, ZyInfo> impleme
@Override
public List<ZyInfo> zyzb(String rwbh, String xqxn, String teano, String zyLeixing) {
return baseMapper.zyzb(rwbh,xqxn,teano,zyLeixing);
return baseMapper.zyzb(rwbh, xqxn, teano, zyLeixing);
}
@Override
public void updateInfoZyStatus() {
QueryWrapper<ZyInfo> zyInfoQueryWrapper = new QueryWrapper<>();
zyInfoQueryWrapper.le("start_time", DateUtils.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
zyInfoQueryWrapper.eq("zy_status","0");
zyInfoQueryWrapper.le("start_time", DateUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
zyInfoQueryWrapper.eq("zy_status", "0");
List<ZyInfo> list2 = baseMapper.selectList(zyInfoQueryWrapper);
if(list2.size()>0){
if (list2.size() > 0) {
for(ZyInfo zyInfo : list2){
for (ZyInfo zyInfo : list2) {
zyInfo.setZyStatus("1");
baseMapper.updateById(zyInfo);
try {
QueryWrapper<KcKechengbiao> kcKechengbiaoQueryWrapper = new QueryWrapper<>();
kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh());
kcKechengbiaoQueryWrapper.eq("jgh",zyInfo.getCreateBy());
kcKechengbiaoQueryWrapper.eq("xqxn",zyInfo.getXnxq());
kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh());
kcKechengbiaoQueryWrapper.eq("jgh", zyInfo.getCreateBy());
kcKechengbiaoQueryWrapper.eq("xqxn", zyInfo.getXnxq());
kcKechengbiaoQueryWrapper.last("limit 1");
KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper);
QueryWrapper<ZyDbtx> zyDbtxQueryWrapper = new QueryWrapper<>();
zyDbtxQueryWrapper.eq("type",zyInfo.getZyLeixing());//发送作业
zyDbtxQueryWrapper.eq("rwbh",zyInfo.getRwbh());
zyDbtxQueryWrapper.eq("main_id",zyInfo.getId());
zyDbtxQueryWrapper.eq("type", zyInfo.getZyLeixing());//发送作业
zyDbtxQueryWrapper.eq("rwbh", zyInfo.getRwbh());
zyDbtxQueryWrapper.eq("main_id", zyInfo.getId());
List<ZyDbtx> dbtxlist = zyDbtxService.list(zyDbtxQueryWrapper);
String xharrs[] = new String[dbtxlist.size()];
for(int i=0;i<dbtxlist.size();i++){
for (int i = 0; i < dbtxlist.size(); i++) {
xharrs[i] = dbtxlist.get(i).getCreateBy();
}
ZyInfo zyInfo2 = baseMapper.getKechengById(zyInfo.getId());
QueryWrapper<Xxhbbks> queryWrapper = new QueryWrapper<>();
queryWrapper.apply("a.xh = b.xh");
queryWrapper.eq("b.KCAPZBBH",zyInfo2.getRwbh());
if(xharrs.length>0){
queryWrapper.notIn("a.xh",xharrs);
queryWrapper.eq("b.KCAPZBBH", zyInfo2.getRwbh());
if (xharrs.length > 0) {
queryWrapper.notIn("a.xh", xharrs);
}
List<Xxhbbks> list = xxhbbksService.getXsxkbAllList(queryWrapper);
for(Xxhbbks xxhbbks:list) {
for (Xxhbbks xxhbbks : list) {
//作业代办提醒
ZyDbtx zyDbtx = new ZyDbtx();
@ -122,14 +121,14 @@ public class ZyInfoServiceImpl extends ServiceImpl<ZyInfoMapper, ZyInfo> impleme
zyDbtx.setMainId(zyInfo.getId());
zyDbtx.setRwbh(zyInfo.getRwbh());
String hpts = "";
if(StringUtils.equals(zyInfo.getXshpkg(),"1")){
hpts = "互评时间:"+ org.jeecg.common.util.DateUtils.formatDate(zyInfo.getXshpkssj(),"yyyy-MM-dd HH:mm")+" ~ "+ org.jeecg.common.util.DateUtils.formatDate(zyInfo.getXshpjssj(),"yyyy-MM-dd HH:mm");
if (StringUtils.equals(zyInfo.getXshpkg(), "1")) {
hpts = "互评时间:" + org.jeecg.common.util.DateUtils.formatDate(zyInfo.getXshpkssj(), "yyyy-MM-dd HH:mm") + " ~ " + org.jeecg.common.util.DateUtils.formatDate(zyInfo.getXshpjssj(), "yyyy-MM-dd HH:mm");
}
if(StringUtils.equals(zyInfo.getZyLeixing(),"0")) {
if (StringUtils.equals(zyInfo.getZyLeixing(), "0")) {
zyDbtx.setType("0");//0发布作业 1评分 2测验 3问卷 4讨论
zyDbtx.setContent(kcKechengbiao.getSkjs() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + org.jeecg.common.util.DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的作业,该作业提交时间为:" + org.jeecg.common.util.DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + org.jeecg.common.util.DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts);
}else if (StringUtils.equals(zyInfo.getZyLeixing(),"1")){
} else if (StringUtils.equals(zyInfo.getZyLeixing(), "1")) {
zyDbtx.setType("10");//0发布作业 1评分 2测验 3问卷 4讨论
zyDbtx.setContent(kcKechengbiao.getSkjs() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + org.jeecg.common.util.DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的期末考试,该期末考试提交时间为:" + org.jeecg.common.util.DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + org.jeecg.common.util.DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts);
}
@ -157,7 +156,7 @@ public class ZyInfoServiceImpl extends ServiceImpl<ZyInfoMapper, ZyInfo> impleme
}
@Override
public IPage<ZyInfoSys> sysStaticList(Page<ZyInfoSys> page,ZyInfoSys zyInfoSys) {
public IPage<ZyInfoSys> sysStaticList(Page<ZyInfoSys> page, ZyInfoSys zyInfoSys) {
return baseMapper.sysStaticList(page, zyInfoSys);
}
@ -167,8 +166,8 @@ public class ZyInfoServiceImpl extends ServiceImpl<ZyInfoMapper, ZyInfo> impleme
}
@Override
public Map<String,Object> sysStaticNo(ZyInfoSys zyInfoSys) {
Map<String,Object> map = new HashMap<>();
public Map<String, Object> sysStaticNo(ZyInfoSys zyInfoSys) {
Map<String, Object> map = new HashMap<>();
String xn_zy_syzcs = "0";
String xn_zy_hpzcs = "0";
@ -180,29 +179,32 @@ public class ZyInfoServiceImpl extends ServiceImpl<ZyInfoMapper, ZyInfo> impleme
String jr_zy_ywczcs = "0";
String jr_cy_syzcs = "0";
String jr_cy_ywczcs = "0";
String xn_zy_cccs = "0"; //查重次数
List<ZyInfoSys> list = baseMapper.getZyStaticNo(zyInfoSys);
for(ZyInfoSys par : list){
if(StringUtils.equals("1",par.getType())){
for (ZyInfoSys par : list) {
if (StringUtils.equals("1", par.getType())) {
xn_zy_syzcs = par.getCount();
}else if(StringUtils.equals("2",par.getType())){
} else if (StringUtils.equals("2", par.getType())) {
xn_zy_hpzcs = par.getCount();
}else if(StringUtils.equals("3",par.getType())){
} else if (StringUtils.equals("3", par.getType())) {
xn_zy_ywczcs = par.getCount();
}else if(StringUtils.equals("4",par.getType())){
} else if (StringUtils.equals("4", par.getType())) {
jr_zy_syzcs = par.getCount();
}else if(StringUtils.equals("5",par.getType())){
} else if (StringUtils.equals("5", par.getType())) {
jr_zy_hpzcs = par.getCount();
}else if(StringUtils.equals("6",par.getType())){
} else if (StringUtils.equals("6", par.getType())) {
jr_zy_ywczcs = par.getCount();
}else if(StringUtils.equals("7",par.getType())){
} else if (StringUtils.equals("7", par.getType())) {
xn_cy_syzcs = par.getCount();
}else if(StringUtils.equals("8",par.getType())){
} else if (StringUtils.equals("8", par.getType())) {
xn_cy_ywczcs = par.getCount();
}else if(StringUtils.equals("9",par.getType())){
} else if (StringUtils.equals("9", par.getType())) {
jr_cy_syzcs = par.getCount();
}else if(StringUtils.equals("10",par.getType())){
} else if (StringUtils.equals("10", par.getType())) {
jr_cy_ywczcs = par.getCount();
} else if (StringUtils.equals("11", par.getType())) {
xn_zy_cccs = par.getCount();
}
}
@ -210,29 +212,31 @@ public class ZyInfoServiceImpl extends ServiceImpl<ZyInfoMapper, ZyInfo> impleme
List<ZyInfoSys> list2 = baseMapper.getCyTopList(zyInfoSys);
list.add(zyInfoSys);
map.put("xn_zy_syzcs",xn_zy_syzcs);//本学年作业使用总次数
map.put("xn_zy_hpzcs",xn_zy_hpzcs);//本学年作业互评总次数
map.put("xn_zy_ywczcs",xn_zy_ywczcs);//本学年作业已完成总次数
map.put("xn_cy_syzcs",xn_cy_syzcs);//本学年测验使用总次数
map.put("xn_cy_ywczcs",xn_cy_ywczcs);//本学年测验已完成总次数
map.put("jr_zy_syzcs",jr_zy_syzcs);//今日作业使用总次数
map.put("jr_zy_hpzcs",jr_zy_hpzcs);//今日作业互评总次数
map.put("jr_zy_ywczcs",jr_zy_ywczcs);//今日作业已完成总次数
map.put("jr_cy_syzcs",jr_cy_syzcs);//今日测验使用总次数
map.put("jr_cy_ywczcs",jr_cy_ywczcs);//今日测验已完成总次数
map.put("xntop10",list1);//本学年作业使用排行TOP10
map.put("jrtop10",list2);//本学年测验使用排行TOP10
map.put("xn_zy_syzcs", xn_zy_syzcs);//本学年作业使用总次数
map.put("xn_zy_hpzcs", xn_zy_hpzcs);//本学年作业互评总次数
map.put("xn_zy_ywczcs", xn_zy_ywczcs);//本学年作业已完成总次数
map.put("xn_zy_cccs", xn_zy_cccs);//本学年查重次数
map.put("xn_cy_syzcs", xn_cy_syzcs);//本学年测验使用总次数
map.put("xn_cy_ywczcs", xn_cy_ywczcs);//本学年测验已完成总次数
map.put("jr_zy_syzcs", jr_zy_syzcs);//今日作业使用总次数
map.put("jr_zy_hpzcs", jr_zy_hpzcs);//今日作业互评总次数
map.put("jr_zy_ywczcs", jr_zy_ywczcs);//今日作业已完成总次数
map.put("jr_cy_syzcs", jr_cy_syzcs);//今日测验使用总次数
map.put("jr_cy_ywczcs", jr_cy_ywczcs);//今日测验已完成总次数
map.put("xntop10", list1);//本学年作业使用排行TOP10
map.put("jrtop10", list2);//本学年测验使用排行TOP10
return map;
}
@Override
public IPage<ZyInfoSys> sysStaticZyList(Page<ZyInfoSys> page, ZyInfoSys zyInfoSys) {
return baseMapper.sysStaticZyList(page,zyInfoSys);
return baseMapper.sysStaticZyList(page, zyInfoSys);
}
@Override
public IPage<CyInfoSys> sysStaticCyList(Page<CyInfoSys> page, CyInfoSys cyInfoSys) {
return baseMapper.sysStaticCyList(page,cyInfoSys);
return baseMapper.sysStaticCyList(page, cyInfoSys);
}
@Override
@ -242,7 +246,7 @@ public class ZyInfoServiceImpl extends ServiceImpl<ZyInfoMapper, ZyInfo> impleme
@Override
public IPage<ZyInfo> listKhcl(Page<ZyInfo> page, QueryWrapper<ZyInfo> queryWrapper) {
return baseMapper.listKhcl(page,queryWrapper);
return baseMapper.listKhcl(page, queryWrapper);
}
// appId