添加每日执行课程表数据,修正教师更改课程

This commit is contained in:
yangjun 2023-09-24 17:09:27 +08:00
parent d05b94ca1b
commit 8b6103d001
14 changed files with 349 additions and 0 deletions

View File

@ -0,0 +1,185 @@
package org.jeecg.modules.kc.grab.SynchronizationService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.util.DateUtils;
import org.jeecg.modules.kc.grab.SynchronizationService.base.BaseSync;
import org.jeecg.modules.kc.grab.imports.entity.Xxhbsynclog;
import org.jeecg.modules.kc.kcKetangbiaoSkrqLog.entity.KcKetangbiaoSkrqLog;
import org.jeecg.modules.kc.kcKetangbiaoSkrqLog.service.IKcKetangbiaoSkrqLogService;
import org.jeecg.modules.kc.kcSysConfig.entity.KcSysConfig;
import org.jeecg.modules.kc.kcSysConfig.service.IKcSysConfigService;
import org.jeecg.modules.kc.kcXqxnHistory.service.IKcXqxnHistoryService;
import org.jeecg.modules.kc.ktgl.entity.KcKechengbiao;
import org.jeecg.modules.kc.ktgl.entity.KcKetangbiao;
import org.jeecg.modules.kc.ktgl.service.IKcKechengbiaoHisService;
import org.jeecg.modules.kc.ktgl.service.IKcKechengbiaoService;
import org.jeecg.modules.kc.ktgl.service.IKcKetangbiaoHisService;
import org.jeecg.modules.kc.ktgl.service.IKcKetangbiaoService;
import org.quartz.JobExecutionContext;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.*;
/**
* 更具原始数据表初始化课程表
*/
@Slf4j
public class SyncKcktStat extends BaseSync {
@Autowired
private IKcKechengbiaoService kcKechengbiaoService;
@Autowired
private IKcSysConfigService kcSysConfigService;
@Autowired
private IKcKechengbiaoHisService kcKechengbiaoHisService;
@Autowired
private IKcKetangbiaoService kcKetangbiaoService;
@Autowired
private IKcKetangbiaoHisService kcKetangbiaoHisService;
@Autowired
private IKcXqxnHistoryService kcXqxnHistoryService;
@Autowired
private IKcKetangbiaoSkrqLogService kcKetangbiaoSkrqLogService;
@Override
public void execute(JobExecutionContext jobExecutionContext) {
start();
run(getParamMap());
end();
}
/**
* 有参定时任务实现
* @param param
*/
public void run(Map<String, Object> param){
try {
KcSysConfig kcSysConfig = kcSysConfigService.getById("1");
Date dateNow = new Date();
//-----------------修改课程表数据------------------------
KcKechengbiao kcKechengbiao = new KcKechengbiao();
kcKechengbiao.setXqxn(kcSysConfig.getFlag1());
List<KcKechengbiao> kckblist = kcKechengbiaoService.getKechengbiaoList(kcKechengbiao);
for(KcKechengbiao KcKechengbiaoPar:kckblist){
QueryWrapper<KcKechengbiao> kcKechengbiaoQueryWrapper = new QueryWrapper<>();
kcKechengbiaoQueryWrapper.eq("kcbh",KcKechengbiaoPar.getKcbh());
kcKechengbiaoQueryWrapper.eq("kcmc",KcKechengbiaoPar.getKcmc());
kcKechengbiaoQueryWrapper.eq("jgh",KcKechengbiaoPar.getJgh());
kcKechengbiaoQueryWrapper.eq("skjs",KcKechengbiaoPar.getSkjs());
kcKechengbiaoQueryWrapper.eq("zc",KcKechengbiaoPar.getZc());
kcKechengbiaoQueryWrapper.eq("rwbh",KcKechengbiaoPar.getRwbh());
kcKechengbiaoQueryWrapper.eq("kkdwid",KcKechengbiaoPar.getKkdwid());
kcKechengbiaoQueryWrapper.eq("kcxz",KcKechengbiaoPar.getKcxz());
kcKechengbiaoQueryWrapper.eq("jsbh",KcKechengbiaoPar.getJsbh());
kcKechengbiaoQueryWrapper.eq("skdd",KcKechengbiaoPar.getSkdd());
kcKechengbiaoQueryWrapper.eq("sksj",KcKechengbiaoPar.getSksj());
kcKechengbiaoQueryWrapper.eq("jkzc",KcKechengbiaoPar.getJkzc());
kcKechengbiaoQueryWrapper.eq("xf",KcKechengbiaoPar.getXf());
kcKechengbiaoQueryWrapper.eq("xnxq",KcKechengbiaoPar.getXnxq());
kcKechengbiaoQueryWrapper.eq("kcdl",KcKechengbiaoPar.getKcdl());
List<KcKechengbiao> KcKechengbiaoInsList = kcKechengbiaoService.list(kcKechengbiaoQueryWrapper);
if(KcKechengbiaoInsList!=null&&KcKechengbiaoInsList.size()>0){
for(KcKechengbiao KcKechengbiao : KcKechengbiaoInsList){
BeanUtils.copyProperties(KcKechengbiaoPar,KcKechengbiao);
kcKechengbiaoService.updateById(KcKechengbiao);
}
}else{
kcKechengbiaoService.saveOne(KcKechengbiaoPar);
}
}
//-----------------初始化数据------------------------
//-------------------删除本年的课程数据冰倩是当天及以后的----------------------
QueryWrapper<KcKetangbiao> KcKetangbiaoQueryWrapper = new QueryWrapper<>();
KcKetangbiaoQueryWrapper.eq("xnxq",kcSysConfig.getFlag1());
KcKetangbiaoQueryWrapper.ge("skrq",DateUtils.formatDate(dateNow,"yyyy-MM-dd"));
kcKetangbiaoService.remove(KcKetangbiaoQueryWrapper);
//-------------------删除本年的课程数据冰倩是当天及以后的----------------------
String bxqkssj = kcSysConfig.getBxqkssj();
//插入数据
KcKetangbiao kcKetangbiao = new KcKetangbiao();
kcKetangbiao.setXnxq(kcSysConfig.getFlag1());
List<KcKetangbiao> list = kcKetangbiaoService.selectSyncList(kcKetangbiao);
List<KcKetangbiao> arrayList = new ArrayList<>();
for(int i=0;i<list.size();i++){
KcKetangbiao kcKetangbiaoOld = list.get(i);
try {
String jkzc[] = kcKetangbiaoOld.getJkzc().split(",");
String week = kcKetangbiaoOld.getWeek();
for(int j=0;j<jkzc.length;j++){
KcKetangbiao kcKetangbiaoAddNew = new KcKetangbiao();
int djz = Integer.parseInt(jkzc[j]);
BeanUtils.copyProperties(kcKetangbiaoOld,kcKetangbiaoAddNew);
kcKetangbiaoAddNew.setId(null);
//skrq 生成规则取本学开始时间kc_sys_config.bxqkssj+(jkzc-1)*7+week
int addSj = (djz -1 )*7+Integer.parseInt(week)-1;
Date date = DateUtils.parseDate(bxqkssj,"yyyy-MM-dd");
Calendar c = Calendar.getInstance();
c.setTime(date);
c.add(Calendar.DAY_OF_MONTH, addSj);
String skrq = DateUtils.formatDate(c,"yyyy-MM-dd");
String dasj = DateUtils.formatDate(dateNow,"yyyy-MM-dd");
//判断生成数据的skrq是否大于等于当前日期如果满足则进行新增否则不动
if(DateUtils.parseDate(skrq,"yyyy-MM-dd").getTime()>=DateUtils.parseDate(dasj,"yyyy-MM-dd").getTime()){
kcKetangbiaoAddNew.setSkrq(skrq);
kcKetangbiaoAddNew.setDijizhou(djz);
kcKetangbiaoAddNew.setXnxq(kcSysConfig.getFlag1());
arrayList.add(kcKetangbiaoAddNew);
}
}
}catch (Exception e){
e.printStackTrace();
}
}
kcKetangbiaoService.saveBatch(arrayList);
//修改智慧教室关联的课堂表id-- 清洗智慧教室数据
kcKetangbiaoService.updateJsbh();
//修改智慧教室关联的课堂表id-- 清洗智慧教室数据
KcKetangbiao kcKetangbiaoup = new KcKetangbiao();
kcKetangbiaoup.setSkxs(1);
kcKetangbiaoup.setXnxq(kcSysConfig.getFlag1());
kcKetangbiaoService.updateSkxs(kcKetangbiaoup);
//修改调停课时间
String dasj = DateUtils.formatDate(dateNow,"yyyy-MM-dd");
QueryWrapper<KcKetangbiaoSkrqLog> kcKetangbiaoSkrqLogQueryWrapper = new QueryWrapper<>();
kcKetangbiaoSkrqLogQueryWrapper.ge("tzrq",dasj);
List<KcKetangbiaoSkrqLog> list1 = kcKetangbiaoSkrqLogService.list(kcKetangbiaoSkrqLogQueryWrapper);
for(KcKetangbiaoSkrqLog KcKetangbiaoSkrqLog:list1){
UpdateWrapper<KcKetangbiao> KcKetangbiaoUpdateWrapper = new UpdateWrapper<>();
KcKetangbiaoUpdateWrapper.set("skrq",KcKetangbiaoSkrqLog.getTzrq());
KcKetangbiaoUpdateWrapper.eq("skrq",KcKetangbiaoSkrqLog.getSkrq());
kcKetangbiaoService.update(KcKetangbiaoUpdateWrapper);
}
}catch (Exception e){
e.printStackTrace();
}
}
/**
* 无参定时任务实现
*/
public void run(){
run(null);
}
}

View File

@ -0,0 +1,39 @@
package org.jeecg.modules.kc.kcKetangbiaoSkrqLog.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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.io.Serializable;
/**
* @Description: kc_college
* @Author: jeecg-boot
* @Date: 2023-05-19
* @Version: V1.0
*/
@Data
@TableName("Kc_Ketangbiao_Skrq_Log")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="KcKetangbiaoSkrqLog", description="KcKetangbiaoSkrqLog")
public class KcKetangbiaoSkrqLog implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private java.lang.String id;
private String skrq;
private String tzrq;
}

View File

@ -0,0 +1,14 @@
package org.jeecg.modules.kc.kcKetangbiaoSkrqLog.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.jeecg.modules.kc.kcKetangbiaoSkrqLog.entity.KcKetangbiaoSkrqLog;
/**
* @Description: kc_college
* @Author: jeecg-boot
* @Date: 2023-05-19
* @Version: V1.0
*/
public interface KcKetangbiaoSkrqLogMapper extends BaseMapper<KcKetangbiaoSkrqLog> {
}

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.kc.kcKetangbiaoSkrqLog.mapper.KcKetangbiaoSkrqLogMapper">
</mapper>

View File

@ -0,0 +1,14 @@
package org.jeecg.modules.kc.kcKetangbiaoSkrqLog.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.kc.kcKetangbiaoSkrqLog.entity.KcKetangbiaoSkrqLog;
/**
* @Description: kc_college
* @Author: jeecg-boot
* @Date: 2023-05-19
* @Version: V1.0
*/
public interface IKcKetangbiaoSkrqLogService extends IService<KcKetangbiaoSkrqLog> {
}

View File

@ -0,0 +1,18 @@
package org.jeecg.modules.kc.kcKetangbiaoSkrqLog.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.kc.kcKetangbiaoSkrqLog.entity.KcKetangbiaoSkrqLog;
import org.jeecg.modules.kc.kcKetangbiaoSkrqLog.mapper.KcKetangbiaoSkrqLogMapper;
import org.jeecg.modules.kc.kcKetangbiaoSkrqLog.service.IKcKetangbiaoSkrqLogService;
import org.springframework.stereotype.Service;
/**
* @Description: kc_college
* @Author: jeecg-boot
* @Date: 2023-05-19
* @Version: V1.0
*/
@Service
public class KcKetangbiaoSkrqLogServiceImpl extends ServiceImpl<KcKetangbiaoSkrqLogMapper, KcKetangbiaoSkrqLog> implements IKcKetangbiaoSkrqLogService {
}

View File

@ -27,4 +27,8 @@ public interface KcKechengbiaoMapper extends BaseMapper<KcKechengbiao> {
List<KcKechengbiao> getSzkcList();
IPage<KcKechengbiao> listGroupBy(Page<KcKechengbiao> page,@Param(Constants.WRAPPER) QueryWrapper<KcKechengbiao> queryWrapper);
List<KcKechengbiao> getKechengbiaoList(KcKechengbiao kcKechengbiao);
void saveOne(KcKechengbiao kcKechengbiaoPar);
}

View File

@ -58,4 +58,8 @@ public interface KcKetangbiaoMapper extends BaseMapper<KcKetangbiao> {
IPage<KcKetangbiao> indexYkktzsPage(Page<KcKetangbiao> page, @Param(Constants.WRAPPER) QueryWrapper<KcKetangbiao> queryWrapper);
IPage<KcKetangbiao> getKtsbMorelist(Page<KcKetangbiao> page, @Param(Constants.WRAPPER) QueryWrapper<KcKetangbiao> queryWrapper);
void updateJsbh();
void updateSkxs(KcKetangbiao kcKetangbiaoup);
}

View File

@ -63,4 +63,28 @@
${ew.customSqlSegment}
</select>
<select id="getKechengbiaoList" resultType="org.jeecg.modules.kc.ktgl.entity.KcKechengbiao">
select
kcbh,kcmc,xm as skjs,zc,xkrs,pkrs,rwbh,kkdw,kcxz,skdd,sksj,
substring(jkzc,2,length(jkzc)-2) as jkzc,concat(substring(sksj,2,2),'、',substring(sksj,4,2)) as hh,substring(sksj,1,1) as week,
jc.hhks as hhks,jc.hhjs as hhjs,
'' as dsz,'' as wwks, '' as wwjs,'腾讯会议' as zbfs,'' as hyh,'' as hymm,'' as kclj,'' as beizhu,'' as zbpx,kkdwid,
'' as jrfs,'' as ewmwj,'' as qmc, '' as qlx,'' as leixing,'' as isqzyz,substring(jkzc,2,length(jkzc)-2) as jkzc1,xf,
case when xqbh = 'B' then '本部'
when xqbh = 'J' then '净月'
when xqbh = 'U' then '全部'
ELSE '' END as xq,
jgh,xnxq,jzglb,1 as sfcj,sfxsk as skxs,'' as sfzc,'' as bz,'' as zt,kcdl,#{xqxn}
from xxhbkckb t,kc_jieci jc where concat(substring(sksj,2,2),'、',substring(sksj,4,2)) = jc.jieci and t.kcdl != '毕业设计' and (t.jgh is not null or t.JKZC is not null)
</select>
<insert id="saveOne">
insert into kc_kechengbiao (
kcbh,kcmc,skjs,zc,xkrs,pkrs,rwbh,kkdw,kcxz,skdd,sksj,jkzc,hh,week,hhks,hhjs,dsz,
wwks,wwjs,zbfs,hyh,hymm,kclj,beizhu,zbpx,kkdwid,
jrfs,ewmwj,qmc,qlx,leixing,isqzyz,jkzc1,xf,xq,jgh,xnxq,jzglb,sfcj,skxs,sfzc,bz,zt,kcdl,xqxn
) values (#{kcbh},#{kcmc},#{skjs},#{zc},#{xkrs},#{pkrs},#{rwbh},#{kkdw},#{kcxz},#{skdd},#{sksj},#{jkzc},#{hh},#{week},#{hhks},#{hhjs},#{dsz},
#{wwks},#{wwjs},#{zbfs},#{hyh},#{hymm},#{kclj},#{beizhu},#{zbpx},#{kkdwid},
#{jrfs},#{ewmwj},#{qmc},#{qlx},#{leixing},#{isqzyz},#{jkzc1},#{xf},#{xq},#{jgh},#{xnxq},#{jzglb},#{sfcj},#{skxs},#{sfzc},#{bz},#{zt},#{kcdl},#{xqxn})
</insert>
</mapper>

View File

@ -140,6 +140,11 @@
id as kechengbiao1,
'' as sfxsk,jgh,bz,zt,jsbh,kcdl
from kc_kechengbiao
<where>
<if test="xnxq!=null and xnxq!=''">
and xqxn = #{xnxq}
</if>
</where>
</select>
<select id="getIndexYkktstjYkkttkktList" resultType="java.util.Map">
SELECT
@ -617,5 +622,14 @@
${ew.customSqlSegment}
</select>
<update id="updateJsbh">
update kc_ketangbiao a,(select jsbh,jsmc from kc_zhihuijiaoshi GROUP BY jsbh,jsmc) b
set a.jsbh = b.jsbh
where a.skdd = b.jsmc
</update>
<update id="updateSkxs">
update kc_ketangbiao set skxs = #{skxs} where xnxq = #{xnxq}
</update>
</mapper>

View File

@ -25,4 +25,8 @@ public interface IKcKechengbiaoService extends IService<KcKechengbiao> {
List<KcKechengbiao> getSzkcList();
IPage<KcKechengbiao> listGroupBy(Page<KcKechengbiao> page, QueryWrapper<KcKechengbiao> queryWrapper);
List<KcKechengbiao> getKechengbiaoList(KcKechengbiao kcKechengbiao);
void saveOne(KcKechengbiao kcKechengbiaoPar);
}

View File

@ -60,4 +60,8 @@ public interface IKcKetangbiaoService extends IService<KcKetangbiao> {
IPage<KcKetangbiao> indexYkktzsPage(Page<KcKetangbiao> page, QueryWrapper<KcKetangbiao> qw3);
IPage<KcKetangbiao> getKtsbMorelist(Page<KcKetangbiao> page, QueryWrapper<KcKetangbiao> queryWrapper);
void updateJsbh();
void updateSkxs(KcKetangbiao kcKetangbiaoup);
}

View File

@ -46,4 +46,14 @@ public class KcKechengbiaoServiceImpl extends ServiceImpl<KcKechengbiaoMapper, K
return baseMapper.listGroupBy(page,queryWrapper);
}
@Override
public List<KcKechengbiao> getKechengbiaoList(KcKechengbiao kcKechengbiao) {
return baseMapper.getKechengbiaoList(kcKechengbiao);
}
@Override
public void saveOne(KcKechengbiao kcKechengbiaoPar) {
baseMapper.saveOne(kcKechengbiaoPar);
}
}

View File

@ -121,4 +121,14 @@ public class KcKetangbiaoServiceImpl extends ServiceImpl<KcKetangbiaoMapper, KcK
public IPage<KcKetangbiao> getKtsbMorelist(Page<KcKetangbiao> page, QueryWrapper<KcKetangbiao> queryWrapper) {
return baseMapper.getKtsbMorelist(page,queryWrapper);
}
@Override
public void updateJsbh() {
baseMapper.updateJsbh();
}
@Override
public void updateSkxs(KcKetangbiao kcKetangbiaoup) {
baseMapper.updateSkxs(kcKetangbiaoup);
}
}