diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/sync/SyncZyxx.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/sync/SyncZyxx.java new file mode 100644 index 0000000..721f459 --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/sync/SyncZyxx.java @@ -0,0 +1,140 @@ +package org.jeecg.modules.demo.sync; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.compress.utils.Lists; +import org.jeecg.modules.demo.xxhbjwxtjxrw.entity.JwxtJxrw; +import org.jeecg.modules.demo.xxhbjwxtjxrw.entity.Xxhbjwxtjxrw; +import org.jeecg.modules.demo.xxhbjwxtjxrw.service.IXxhbjwxtjxrwService; +import org.jeecg.modules.demo.xxhbjwxtjxrw.service.JwxtJxrwService; +import org.jeecg.modules.demo.xxhbjwxtscwjxx.entity.JwxtScwjxx; +import org.jeecg.modules.demo.xxhbjwxtscwjxx.entity.Xxhbjwxtscwjxx; +import org.jeecg.modules.demo.xxhbjwxtscwjxx.service.IXxhbjwxtscwjxxService; +import org.jeecg.modules.demo.xxhbjwxtscwjxx.service.JwxtscwjxxService; +import org.jeecg.modules.demo.xxhbjwxtxsmd.entity.JwxtXsmd; +import org.jeecg.modules.demo.xxhbjwxtxsmd.entity.Xxhbjwxtxsmd; +import org.jeecg.modules.demo.xxhbjwxtxsmd.service.IXxhbjwxtxsmdService; +import org.jeecg.modules.demo.xxhbjwxtxsmd.service.JwxtXsmdService; +import org.jeecg.modules.demo.zyHuizong.entity.Vkczxzy0001; +import org.jeecg.modules.demo.zyHuizong.entity.ZyHuizong; +import org.jeecg.modules.demo.zyHuizong.service.IZyHuizongService; +import org.jeecg.modules.demo.zyHuizong.service.Vkczxzy0001Service; +import org.jeecg.modules.demo.zyHuizongXiangxi.entity.Vkczxzy0002; +import org.jeecg.modules.demo.zyHuizongXiangxi.entity.ZyHuizongXiangxi; +import org.jeecg.modules.demo.zyHuizongXiangxi.service.IZyHuizongXiangxiService; +import org.jeecg.modules.demo.zyHuizongXiangxi.service.Vkczxzy0002Service; +import org.jeecg.modules.demo.zyInfoScjl.entity.ZyInfoScjl; +import org.jeecg.modules.demo.zyInfoScjl.entity.ZyInfoScjlOld; +import org.jeecg.modules.demo.zyInfoScjl.service.IZyInfoScjlOldService; +import org.jeecg.modules.demo.zyInfoScjl.service.IZyInfoScjlService; +import org.quartz.JobExecutionContext; +import org.springframework.beans.factory.annotation.Autowired; + +import java.time.LocalDate; +import java.util.List; +import java.util.Map; + +/** + * 同步作业信息 + */ +@Slf4j +public class SyncZyxx extends BaseSync { + + @Autowired + private Vkczxzy0001Service vkczxzy0001Service; + + @Autowired + private IZyHuizongService zyHuizongService; + + + @Autowired + private Vkczxzy0002Service vkczxzy0002Service; + + @Autowired + private IZyHuizongXiangxiService zyHuizongXiangxiService; + + @Autowired + private IZyInfoScjlOldService zyInfoScjlOldService; + + @Autowired + private IZyInfoScjlService zyInfoScjlService; + + /** + * 若参数变量名修改 QuartzJobController中也需对应修改 + */ + + @Override + public void execute(JobExecutionContext jobExecutionContext) { + start(); + run(getParamMap()); + end(); + } + + + /** + * 有参定时任务实现 + * @param param + */ + public void run(Map param){ + LocalDate today = LocalDate.now(); // 获取今天的日期 + LocalDate yesterday = today.minusDays(1); // 减去一天,得到昨天的日期 + System.out.println("昨天的日期是: " + yesterday); + + //查询数据 + QueryWrapper eqw1 = new QueryWrapper(); + eqw1.like("sfsckhcl_time",yesterday); + List inDataList = vkczxzy0001Service.list(eqw1); + List outDataList = Lists.newArrayList(); + + //查询数据 + QueryWrapper eqw2 = new QueryWrapper(); + eqw2.like("khcl_time",yesterday); + List in1DataList = vkczxzy0002Service.list(eqw2); + List out1DataList = Lists.newArrayList(); + + //查询数据 + QueryWrapper eqw3 = new QueryWrapper(); + eqw3.like("create_time",yesterday); + List in2DataList = zyInfoScjlOldService.list(eqw3); + List out2DataList = Lists.newArrayList(); + + //清洗数据 + inDataList.forEach(x -> outDataList.add(BeanUtil.toBean(x, ZyHuizong.class))); + in1DataList.forEach(x -> out1DataList.add(BeanUtil.toBean(x, ZyHuizongXiangxi.class))); + in2DataList.forEach(x -> out2DataList.add(BeanUtil.toBean(x, ZyInfoScjl.class))); + + //保存到胃 + try { + QueryWrapper dqw = new QueryWrapper(); + zyHuizongService.remove(dqw); + zyHuizongService.syncList(outDataList); + + QueryWrapper dqw1 = new QueryWrapper(); + zyHuizongXiangxiService.remove(dqw1); + zyHuizongXiangxiService.syncList(out1DataList); + + QueryWrapper dqw2 = new QueryWrapper(); + zyInfoScjlService.remove(dqw2); + zyInfoScjlService.syncList(out2DataList); + }catch (Exception e){ + e.printStackTrace(); + } + + } + + /** + * 无参定时任务实现 + */ + public void run(){ + run(null); + } + + + public static void main(String[] args) { + + LocalDate today = LocalDate.now(); // 获取今天的日期 + LocalDate yesterday = today.minusDays(1); // 减去一天,得到昨天的日期 + System.out.println("昨天的日期是: " + yesterday); + } +} diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/entity/Vkczxzy0001.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/entity/Vkczxzy0001.java new file mode 100644 index 0000000..2366423 --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/entity/Vkczxzy0001.java @@ -0,0 +1,86 @@ +package org.jeecg.modules.demo.zyHuizong.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +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.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: 作业汇总 + * @Author: jeecg-boot + * @Date: 2024-09-03 + * @Version: V1.0 + */ +@Data +@TableName("v_kczx_zy_0001") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="v_kczx_zy_0001对象", description="作业原来试图") +public class Vkczxzy0001 implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private String id; + /**学期学年*/ + @Excel(name = "学期学年", width = 15) + @ApiModelProperty(value = "学期学年") + private String xnxq; + /**学院编号*/ + @Excel(name = "学院编号", width = 15) + @ApiModelProperty(value = "学院编号") + private String xybh; + /**学院名称*/ + @Excel(name = "学院名称", width = 15) + @ApiModelProperty(value = "学院名称") + private String xymc; + /**任务编号*/ + @Excel(name = "任务编号", width = 15) + @ApiModelProperty(value = "任务编号") + private String rwbh; + /**课程名称*/ + @Excel(name = "课程名称", width = 15) + @ApiModelProperty(value = "课程名称") + private String kcmc; + /**教工号*/ + @Excel(name = "教工号", width = 15) + @ApiModelProperty(value = "教工号") + private String jgh; + /**授课教师*/ + @Excel(name = "授课教师", width = 15) + @ApiModelProperty(value = "授课教师") + private String skjs; + /**作业编号*/ + @Excel(name = "作业编号", width = 15) + @ApiModelProperty(value = "作业编号") + private String zybh; + /**作业名称*/ + @Excel(name = "作业名称", width = 15) + @ApiModelProperty(value = "作业名称") + private String zymc; + /**作业类型*/ + @Excel(name = "作业类型", width = 15) + @ApiModelProperty(value = "作业类型") + private String zylx; + /**作业占比*/ + @Excel(name = "作业占比", width = 15) + @ApiModelProperty(value = "作业占比") + private String qmzb; + + private String zyLeixing;//作业类型 0课程作业 1期末作业 + private String sfsckhcl;//是否上传考核材料(0否 1是) + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm") + private Date sfsckhclTime;//上传考核材料时间 +} diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/entity/ZyHuizong.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/entity/ZyHuizong.java index 08e99f3..52bf7f5 100644 --- a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/entity/ZyHuizong.java +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/entity/ZyHuizong.java @@ -95,5 +95,10 @@ public class ZyHuizong implements Serializable { /**作业占比*/ @Excel(name = "作业占比", width = 15) @ApiModelProperty(value = "作业占比") - private java.lang.String qmzb; + private java.lang.String qmzb;//占比 + private String zyLeixing;//作业类型 0课程作业 1期末作业 + private String sfsckhcl;//是否上传考核材料(0否 1是) + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm") + private Date sfsckhclTime;//上传考核材料时间 } diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/mapper/Vkczxzy0001Mapper.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/mapper/Vkczxzy0001Mapper.java new file mode 100644 index 0000000..6fe28a5 --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/mapper/Vkczxzy0001Mapper.java @@ -0,0 +1,15 @@ +package org.jeecg.modules.demo.zyHuizong.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.demo.zyHuizong.entity.Vkczxzy0001; +import org.jeecg.modules.demo.zyHuizong.entity.ZyHuizong; + +/** + * @Description: 作业汇总 + * @Author: jeecg-boot + * @Date: 2024-09-03 + * @Version: V1.0 + */ +public interface Vkczxzy0001Mapper extends BaseMapper { + +} diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/mapper/xml/Vkczxzy0001Mapper.xml b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/mapper/xml/Vkczxzy0001Mapper.xml new file mode 100644 index 0000000..1584669 --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/mapper/xml/Vkczxzy0001Mapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/service/IZyHuizongService.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/service/IZyHuizongService.java index 82a0611..2dd680f 100644 --- a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/service/IZyHuizongService.java +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/service/IZyHuizongService.java @@ -3,6 +3,8 @@ package org.jeecg.modules.demo.zyHuizong.service; import org.jeecg.modules.demo.zyHuizong.entity.ZyHuizong; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** * @Description: 作业汇总 * @Author: jeecg-boot @@ -11,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface IZyHuizongService extends IService { + void syncList(List outDataList); } diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/service/Vkczxzy0001Service.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/service/Vkczxzy0001Service.java new file mode 100644 index 0000000..fe0e82d --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/service/Vkczxzy0001Service.java @@ -0,0 +1,15 @@ +package org.jeecg.modules.demo.zyHuizong.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.demo.zyHuizong.entity.Vkczxzy0001; +import org.jeecg.modules.demo.zyHuizong.entity.ZyHuizong; + +/** + * @Description: 作业汇总 + * @Author: jeecg-boot + * @Date: 2024-09-03 + * @Version: V1.0 + */ +public interface Vkczxzy0001Service extends IService { + +} diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/service/impl/Vkczxzy0001ServiceImpl.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/service/impl/Vkczxzy0001ServiceImpl.java new file mode 100644 index 0000000..5352441 --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/service/impl/Vkczxzy0001ServiceImpl.java @@ -0,0 +1,23 @@ +package org.jeecg.modules.demo.zyHuizong.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.demo.zyHuizong.entity.Vkczxzy0001; +import org.jeecg.modules.demo.zyHuizong.entity.ZyHuizong; +import org.jeecg.modules.demo.zyHuizong.mapper.Vkczxzy0001Mapper; +import org.jeecg.modules.demo.zyHuizong.mapper.ZyHuizongMapper; +import org.jeecg.modules.demo.zyHuizong.service.IZyHuizongService; +import org.jeecg.modules.demo.zyHuizong.service.Vkczxzy0001Service; +import org.springframework.stereotype.Service; + +/** + * @Description: 作业汇总 + * @Author: jeecg-boot + * @Date: 2024-09-03 + * @Version: V1.0 + */ +@Service +@DS("multi-datasource1") +public class Vkczxzy0001ServiceImpl extends ServiceImpl implements Vkczxzy0001Service { + +} diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/service/impl/ZyHuizongServiceImpl.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/service/impl/ZyHuizongServiceImpl.java index a1fcc5a..c7c44a9 100644 --- a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/service/impl/ZyHuizongServiceImpl.java +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizong/service/impl/ZyHuizongServiceImpl.java @@ -1,11 +1,17 @@ package org.jeecg.modules.demo.zyHuizong.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.jeecg.modules.demo.xxhbjwxtjxrw.entity.Xxhbjwxtjxrw; import org.jeecg.modules.demo.zyHuizong.entity.ZyHuizong; import org.jeecg.modules.demo.zyHuizong.mapper.ZyHuizongMapper; import org.jeecg.modules.demo.zyHuizong.service.IZyHuizongService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; /** * @Description: 作业汇总 @@ -16,4 +22,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @Service public class ZyHuizongServiceImpl extends ServiceImpl implements IZyHuizongService { + @Override + public void syncList(List outDataList) { + syncList(outDataList, true); + } + + @Transactional(rollbackFor = {Exception.class}) + public boolean syncList(Collection entityList, boolean isDelete) { + return this.saveBatch(entityList, 1000); + } } diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/entity/Vkczxzy0002.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/entity/Vkczxzy0002.java new file mode 100644 index 0000000..71280ac --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/entity/Vkczxzy0002.java @@ -0,0 +1,132 @@ +package org.jeecg.modules.demo.zyHuizongXiangxi.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +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.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: 作业汇总详细 + * @Author: jeecg-boot + * @Date: 2024-09-03 + * @Version: V1.0 + */ +@Data +@TableName("v_kczx_zy_0002") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="v_kczx_zy_0002对象", description="原试图作业汇总详细") +public class Vkczxzy0002 implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private String id; + /**学年续期*/ + @Excel(name = "学年续期", width = 15) + @ApiModelProperty(value = "学年续期") + private String xnxq; + /**学院编号*/ + @Excel(name = "学院编号", width = 15) + @ApiModelProperty(value = "学院编号") + private String xybh; + /**学院名称*/ + @Excel(name = "学院名称", width = 15) + @ApiModelProperty(value = "学院名称") + private String xymc; + /**任务编号*/ + @Excel(name = "任务编号", width = 15) + @ApiModelProperty(value = "任务编号") + private String rwbh; + /**课程名称*/ + @Excel(name = "课程名称", width = 15) + @ApiModelProperty(value = "课程名称") + private String kcmc; + /**教工号*/ + @Excel(name = "教工号", width = 15) + @ApiModelProperty(value = "教工号") + private String jgh; + /**授课教师*/ + @Excel(name = "授课教师", width = 15) + @ApiModelProperty(value = "授课教师") + private String skjs; + /**作业编号*/ + @Excel(name = "作业编号", width = 15) + @ApiModelProperty(value = "作业编号") + private String zybh; + /**作业名称*/ + @Excel(name = "作业名称", width = 15) + @ApiModelProperty(value = "作业名称") + private String zymc; + /**占比*/ + @Excel(name = "占比", width = 15) + @ApiModelProperty(value = "占比") + private String qmzb; + /**学生学号*/ + @Excel(name = "学生学号", width = 15) + @ApiModelProperty(value = "学生学号") + private String xsxh; + /**学生姓名*/ + @Excel(name = "学生姓名", width = 15) + @ApiModelProperty(value = "学生姓名") + private String xsxm; + /**维普检测率*/ + @Excel(name = "维普检测率", width = 15) + @ApiModelProperty(value = "维普检测率") + private String wpzyk; + /**学校检测率*/ + @Excel(name = "学校检测率", width = 15) + @ApiModelProperty(value = "学校检测率") + private String xxzyk; + /**本次检测率*/ + @Excel(name = "本次检测率", width = 15) + @ApiModelProperty(value = "本次检测率") + private String bczyk; + /**aigc检测率*/ + @Excel(name = "aigc检测率", width = 15) + @ApiModelProperty(value = "aigc检测率") + private String aigc; + /**作业分数*/ + @Excel(name = "作业分数", width = 15) + @ApiModelProperty(value = "作业分数") + private String zyfs; + /**作业*/ + @Excel(name = "作业", width = 15) + @ApiModelProperty(value = "作业") + private String filePath; + /**pdf内容*/ + @Excel(name = "pdf内容", width = 15) + @ApiModelProperty(value = "pdf内容") + private String pdfPath; + /**发布时间*/ + @Excel(name = "发布时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "发布时间") + private Date publishTime; + /**是否上传考核*/ + @Excel(name = "是否上传考核", width = 15) + @ApiModelProperty(value = "是否上传考核") + private String sfsckhcl; + /**服务器附件地址*/ + @Excel(name = "服务器附件地址", width = 15) + @ApiModelProperty(value = "服务器附件地址") + private String fwqPath; + /**考核材料上传时间*/ + @Excel(name = "考核材料上传时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "考核材料上传时间") + private Date khclTime; +} diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/mapper/Vkczxzy0002Mapper.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/mapper/Vkczxzy0002Mapper.java new file mode 100644 index 0000000..4551bc2 --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/mapper/Vkczxzy0002Mapper.java @@ -0,0 +1,15 @@ +package org.jeecg.modules.demo.zyHuizongXiangxi.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.demo.zyHuizongXiangxi.entity.Vkczxzy0002; +import org.jeecg.modules.demo.zyHuizongXiangxi.entity.ZyHuizongXiangxi; + +/** + * @Description: 作业汇总详细 + * @Author: jeecg-boot + * @Date: 2024-09-03 + * @Version: V1.0 + */ +public interface Vkczxzy0002Mapper extends BaseMapper { + +} diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/mapper/xml/Vkczxzy0002Mapper.xml b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/mapper/xml/Vkczxzy0002Mapper.xml new file mode 100644 index 0000000..46a091e --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/mapper/xml/Vkczxzy0002Mapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/service/IZyHuizongXiangxiService.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/service/IZyHuizongXiangxiService.java index e636464..56166d7 100644 --- a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/service/IZyHuizongXiangxiService.java +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/service/IZyHuizongXiangxiService.java @@ -3,6 +3,8 @@ package org.jeecg.modules.demo.zyHuizongXiangxi.service; import org.jeecg.modules.demo.zyHuizongXiangxi.entity.ZyHuizongXiangxi; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** * @Description: 作业汇总详细 * @Author: jeecg-boot @@ -11,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface IZyHuizongXiangxiService extends IService { + void syncList(List out1DataList); } diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/service/Vkczxzy0002Service.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/service/Vkczxzy0002Service.java new file mode 100644 index 0000000..3153961 --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/service/Vkczxzy0002Service.java @@ -0,0 +1,15 @@ +package org.jeecg.modules.demo.zyHuizongXiangxi.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.demo.zyHuizongXiangxi.entity.Vkczxzy0002; +import org.jeecg.modules.demo.zyHuizongXiangxi.entity.ZyHuizongXiangxi; + +/** + * @Description: 作业汇总详细 + * @Author: jeecg-boot + * @Date: 2024-09-03 + * @Version: V1.0 + */ +public interface Vkczxzy0002Service extends IService { + +} diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/service/impl/Vkczxzy0002Impl.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/service/impl/Vkczxzy0002Impl.java new file mode 100644 index 0000000..25c76e1 --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/service/impl/Vkczxzy0002Impl.java @@ -0,0 +1,23 @@ +package org.jeecg.modules.demo.zyHuizongXiangxi.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.demo.zyHuizongXiangxi.entity.Vkczxzy0002; +import org.jeecg.modules.demo.zyHuizongXiangxi.entity.ZyHuizongXiangxi; +import org.jeecg.modules.demo.zyHuizongXiangxi.mapper.Vkczxzy0002Mapper; +import org.jeecg.modules.demo.zyHuizongXiangxi.mapper.ZyHuizongXiangxiMapper; +import org.jeecg.modules.demo.zyHuizongXiangxi.service.IZyHuizongXiangxiService; +import org.jeecg.modules.demo.zyHuizongXiangxi.service.Vkczxzy0002Service; +import org.springframework.stereotype.Service; + +/** + * @Description: 作业汇总详细 + * @Author: jeecg-boot + * @Date: 2024-09-03 + * @Version: V1.0 + */ +@Service +@DS("multi-datasource1") +public class Vkczxzy0002Impl extends ServiceImpl implements Vkczxzy0002Service { + +} diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/service/impl/ZyHuizongXiangxiServiceImpl.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/service/impl/ZyHuizongXiangxiServiceImpl.java index 676d6e2..9582394 100644 --- a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/service/impl/ZyHuizongXiangxiServiceImpl.java +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyHuizongXiangxi/service/impl/ZyHuizongXiangxiServiceImpl.java @@ -1,11 +1,16 @@ package org.jeecg.modules.demo.zyHuizongXiangxi.service.impl; +import org.jeecg.modules.demo.zyHuizong.entity.ZyHuizong; import org.jeecg.modules.demo.zyHuizongXiangxi.entity.ZyHuizongXiangxi; import org.jeecg.modules.demo.zyHuizongXiangxi.mapper.ZyHuizongXiangxiMapper; import org.jeecg.modules.demo.zyHuizongXiangxi.service.IZyHuizongXiangxiService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; /** * @Description: 作业汇总详细 @@ -16,4 +21,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @Service public class ZyHuizongXiangxiServiceImpl extends ServiceImpl implements IZyHuizongXiangxiService { + @Override + public void syncList(List out1DataList) { + syncList(out1DataList, true); + } + + @Transactional(rollbackFor = {Exception.class}) + public boolean syncList(Collection entityList, boolean isDelete) { + return this.saveBatch(entityList, 1000); + } } diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/entity/ZyInfoScjlOld.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/entity/ZyInfoScjlOld.java new file mode 100644 index 0000000..f59eb53 --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/entity/ZyInfoScjlOld.java @@ -0,0 +1,114 @@ +package org.jeecg.modules.demo.zyInfoScjl.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +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.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: 作业上传记录 + * @Author: jeecg-boot + * @Date: 2024-09-03 + * @Version: V1.0 + */ +@Data +@TableName("zy_info_scjl") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="zy_info_scjl对象", description="作业上传记录") +public class ZyInfoScjlOld implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private String id; + /**createTime*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "createTime") + private Date createTime; + /**createBy*/ + @ApiModelProperty(value = "createBy") + private String createBy; + /**updateTime*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "updateTime") + private Date updateTime; + /**updateBy*/ + @ApiModelProperty(value = "updateBy") + private String updateBy; + /**作业id*/ + @Excel(name = "作业id", width = 15) + @ApiModelProperty(value = "作业id") + private String zyId; + /**作业名称*/ + @Excel(name = "作业名称", width = 15) + @ApiModelProperty(value = "作业名称") + private String zyName; + /**作业类型*/ + @Excel(name = "作业类型", width = 15, dicCode = "zy_leixing") + @Dict(dicCode = "zy_leixing") + @ApiModelProperty(value = "作业类型") + private String zyLeixing; + /**占比*/ + @Excel(name = "占比", width = 15) + @ApiModelProperty(value = "占比") + private String zyZb; + /**开课单位*/ + @Excel(name = "开课单位", width = 15) + @ApiModelProperty(value = "开课单位") + private String kkdw; + /**开课单位id*/ + @Excel(name = "开课单位id", width = 15) + @ApiModelProperty(value = "开课单位id") + private String kkdwid; + /**课程名称*/ + @Excel(name = "课程名称", width = 15) + @ApiModelProperty(value = "课程名称") + private String kcmc; + /**教工号*/ + @Excel(name = "教工号", width = 15) + @ApiModelProperty(value = "教工号") + private String jgh; + /**授课教师*/ + @Excel(name = "授课教师", width = 15) + @ApiModelProperty(value = "授课教师") + private String skjs; + /**授课地点*/ + @Excel(name = "授课地点", width = 15) + @ApiModelProperty(value = "授课地点") + private String skdd; + /**课程性质*/ + @Excel(name = "课程性质", width = 15) + @ApiModelProperty(value = "课程性质") + private String kcxz; + /**学年学期*/ + @Excel(name = "学年学期", width = 15) + @ApiModelProperty(value = "学年学期") + private String xnxq; + /**文件*/ + @Excel(name = "文件", width = 15) + @ApiModelProperty(value = "文件") + private String filePath; + /**学工号*/ + @Excel(name = "学工号", width = 15) + @ApiModelProperty(value = "学工号") + private String studentNo; + /**学生姓名*/ + @Excel(name = "学生姓名", width = 15) + @ApiModelProperty(value = "学生姓名") + private String studentName; +} diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/mapper/ZyInfoScjlOldMapper.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/mapper/ZyInfoScjlOldMapper.java new file mode 100644 index 0000000..cadd4ae --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/mapper/ZyInfoScjlOldMapper.java @@ -0,0 +1,15 @@ +package org.jeecg.modules.demo.zyInfoScjl.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.demo.zyInfoScjl.entity.ZyInfoScjl; +import org.jeecg.modules.demo.zyInfoScjl.entity.ZyInfoScjlOld; + +/** + * @Description: 作业上传记录 + * @Author: jeecg-boot + * @Date: 2024-09-03 + * @Version: V1.0 + */ +public interface ZyInfoScjlOldMapper extends BaseMapper { + +} diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/mapper/xml/ZyInfoScjlOldMapper.xml b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/mapper/xml/ZyInfoScjlOldMapper.xml new file mode 100644 index 0000000..4aef7ff --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/mapper/xml/ZyInfoScjlOldMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/service/IZyInfoScjlOldService.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/service/IZyInfoScjlOldService.java new file mode 100644 index 0000000..8766300 --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/service/IZyInfoScjlOldService.java @@ -0,0 +1,15 @@ +package org.jeecg.modules.demo.zyInfoScjl.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.demo.zyInfoScjl.entity.ZyInfoScjl; +import org.jeecg.modules.demo.zyInfoScjl.entity.ZyInfoScjlOld; + +/** + * @Description: 作业上传记录 + * @Author: jeecg-boot + * @Date: 2024-09-03 + * @Version: V1.0 + */ +public interface IZyInfoScjlOldService extends IService { + +} diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/service/IZyInfoScjlService.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/service/IZyInfoScjlService.java index 34b732a..a982292 100644 --- a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/service/IZyInfoScjlService.java +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/service/IZyInfoScjlService.java @@ -3,6 +3,8 @@ package org.jeecg.modules.demo.zyInfoScjl.service; import org.jeecg.modules.demo.zyInfoScjl.entity.ZyInfoScjl; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** * @Description: 作业上传记录 * @Author: jeecg-boot @@ -11,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface IZyInfoScjlService extends IService { + void syncList(List out2DataList); } diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/service/impl/ZyInfoScjlOldServiceImpl.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/service/impl/ZyInfoScjlOldServiceImpl.java new file mode 100644 index 0000000..5c275b2 --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/service/impl/ZyInfoScjlOldServiceImpl.java @@ -0,0 +1,23 @@ +package org.jeecg.modules.demo.zyInfoScjl.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.demo.zyInfoScjl.entity.ZyInfoScjl; +import org.jeecg.modules.demo.zyInfoScjl.entity.ZyInfoScjlOld; +import org.jeecg.modules.demo.zyInfoScjl.mapper.ZyInfoScjlMapper; +import org.jeecg.modules.demo.zyInfoScjl.mapper.ZyInfoScjlOldMapper; +import org.jeecg.modules.demo.zyInfoScjl.service.IZyInfoScjlOldService; +import org.jeecg.modules.demo.zyInfoScjl.service.IZyInfoScjlService; +import org.springframework.stereotype.Service; + +/** + * @Description: 作业上传记录 + * @Author: jeecg-boot + * @Date: 2024-09-03 + * @Version: V1.0 + */ +@Service +@DS("multi-datasource1") +public class ZyInfoScjlOldServiceImpl extends ServiceImpl implements IZyInfoScjlOldService { + +} diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/service/impl/ZyInfoScjlServiceImpl.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/service/impl/ZyInfoScjlServiceImpl.java index 9bb99a9..5ad4ff4 100644 --- a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/service/impl/ZyInfoScjlServiceImpl.java +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/zyInfoScjl/service/impl/ZyInfoScjlServiceImpl.java @@ -1,11 +1,16 @@ package org.jeecg.modules.demo.zyInfoScjl.service.impl; +import org.jeecg.modules.demo.zyHuizongXiangxi.entity.ZyHuizongXiangxi; import org.jeecg.modules.demo.zyInfoScjl.entity.ZyInfoScjl; import org.jeecg.modules.demo.zyInfoScjl.mapper.ZyInfoScjlMapper; import org.jeecg.modules.demo.zyInfoScjl.service.IZyInfoScjlService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; /** * @Description: 作业上传记录 @@ -16,4 +21,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @Service public class ZyInfoScjlServiceImpl extends ServiceImpl implements IZyInfoScjlService { + @Override + public void syncList(List out2DataList) { + syncList(out2DataList, true); + } + + @Transactional(rollbackFor = {Exception.class}) + public boolean syncList(Collection entityList, boolean isDelete) { + return this.saveBatch(entityList, 1000); + } } diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml b/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml index 421dafd..420ce4f 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml +++ b/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml @@ -161,16 +161,16 @@ spring: slow-sql-millis: 5000 datasource: master: - url: jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai + url: jdbc:mysql://127.0.0.1:3306/dbsd_zjpt?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai username: root - password: root + password: abcAbc@123 driver-class-name: com.mysql.cj.jdbc.Driver # 多数据源配置 - #multi-datasource1: - #url: jdbc:mysql://localhost:3306/jeecg-boot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai - #username: root - #password: root - #driver-class-name: com.mysql.cj.jdbc.Driver + multi-datasource1: + url: jdbc:mysql://210.47.16.197:3306/course_information_center_jeecg_db?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai + username: root + password: ABCabc@123 + driver-class-name: com.mysql.cj.jdbc.Driver #redis 配置 redis: database: 0 @@ -269,7 +269,7 @@ jeecg: enabled: true #cas单点登录 cas: - prefixUrl: http://cas.example.org:8443/cas + prefixUrl: https://authserver.nenu.edu.cn/authserver #Mybatis输出sql日志 logging: level: diff --git a/jeecgboot-vue3/.env b/jeecgboot-vue3/.env index 398224a..a3ba918 100644 --- a/jeecgboot-vue3/.env +++ b/jeecgboot-vue3/.env @@ -8,7 +8,7 @@ VITE_GLOB_APP_TITLE = 东北师大-专家督导平台 VITE_GLOB_APP_SHORT_NAME = 专家督导平台 # 单点登录服务端地址 -VITE_GLOB_APP_CAS_BASE_URL=http://cas.test.com:8443/cas +VITE_GLOB_APP_CAS_BASE_URL=https://authserver.nenu.edu.cn/authserver # 是否开启单点登录 VITE_GLOB_APP_OPEN_SSO = false diff --git a/jeecgboot-vue3/.env.production b/jeecgboot-vue3/.env.production index 82ba21a..dbb79db 100644 --- a/jeecgboot-vue3/.env.production +++ b/jeecgboot-vue3/.env.production @@ -13,10 +13,10 @@ VITE_BUILD_COMPRESS = 'gzip' VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false #后台接口父地址(必填) -VITE_GLOB_API_URL=/jeecgboot +VITE_GLOB_API_URL=/jeecg-boot #后台接口全路径地址(必填) -VITE_GLOB_DOMAIN_URL=http://jeecg-boot-system:8080/jeecg-boot +VITE_GLOB_DOMAIN_URL=http://jxdd.nenu.edu.cn/jeecg-boot # 接口父路径前缀 VITE_GLOB_API_URL_PREFIX= diff --git a/jeecgboot-vue3/src/assets/images/welcome.png b/jeecgboot-vue3/src/assets/images/welcome.png new file mode 100644 index 0000000..8e4f877 Binary files /dev/null and b/jeecgboot-vue3/src/assets/images/welcome.png differ diff --git a/jeecgboot-vue3/src/views/bl/kckhcl/KckhclMain.vue b/jeecgboot-vue3/src/views/bl/kckhcl/KckhclMain.vue new file mode 100644 index 0000000..24ee92a --- /dev/null +++ b/jeecgboot-vue3/src/views/bl/kckhcl/KckhclMain.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/jeecgboot-vue3/src/views/dashboard/Analysis/index.vue b/jeecgboot-vue3/src/views/dashboard/Analysis/index.vue index 262fd46..bae45b8 100644 --- a/jeecgboot-vue3/src/views/dashboard/Analysis/index.vue +++ b/jeecgboot-vue3/src/views/dashboard/Analysis/index.vue @@ -1,6 +1,7 @@