From 596d09bc34e7e469a9eb3b23fffde5cca90ab9fe Mon Sep 17 00:00:00 2001 From: bai <1643359946@qq.com> Date: Thu, 20 Apr 2023 08:48:13 +0800 Subject: [PATCH] =?UTF-8?q?2023=E5=B9=B44=E6=9C=8820=E6=97=A5=20=E5=86=B2?= =?UTF-8?q?=E7=AA=81=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SynchronizationService/SyncTJwXsxkb.java | 7 +- .../kc/grab/exports/entity/TJwKckb.java | 4 + .../kc/grab/imports/entity/Xxhbkckb.java | 4 + .../grab/imports/mapper/XxhbtkxxMapper.java | 2 + .../imports/mapper/xml/XxhbtkxxMapper.xml | 10 + .../imports/service/IXxhbtkxxService.java | 8 + .../imports/service/IXxhbxsxkbService.java | 3 +- .../service/impl/XxhbtkxxServiceImpl.java | 33 ++++ .../service/impl/XxhbxsxkbServiceImpl.java | 7 +- .../KcJiaoshixinxibiaoController.java | 178 ++++++++++++++++++ .../controller/KcZhihuijiaoshiController.java | 178 ++++++++++++++++++ .../kc/jiaoshi/entity/KcJiaoshixinxibiao.java | 95 ++++++++++ .../kc/jiaoshi/entity/KcZhihuijiaoshi.java | 63 +++++++ .../mapper/KcJiaoshixinxibiaoMapper.java | 17 ++ .../jiaoshi/mapper/KcZhihuijiaoshiMapper.java | 17 ++ .../mapper/xml/KcJiaoshixinxibiaoMapper.xml | 5 + .../mapper/xml/KcZhihuijiaoshiMapper.xml | 5 + .../service/IKcJiaoshixinxibiaoService.java | 14 ++ .../service/IKcZhihuijiaoshiService.java | 14 ++ .../impl/KcJiaoshixinxibiaoServiceImpl.java | 19 ++ .../impl/KcZhihuijiaoshiServiceImpl.java | 19 ++ .../modules/kc/ktgl/entity/KcKechengbiao.java | 3 + 22 files changed, 699 insertions(+), 6 deletions(-) create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/controller/KcJiaoshixinxibiaoController.java create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/controller/KcZhihuijiaoshiController.java create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/entity/KcJiaoshixinxibiao.java create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/entity/KcZhihuijiaoshi.java create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/mapper/KcJiaoshixinxibiaoMapper.java create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/mapper/KcZhihuijiaoshiMapper.java create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/mapper/xml/KcJiaoshixinxibiaoMapper.xml create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/mapper/xml/KcZhihuijiaoshiMapper.xml create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/service/IKcJiaoshixinxibiaoService.java create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/service/IKcZhihuijiaoshiService.java create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/service/impl/KcJiaoshixinxibiaoServiceImpl.java create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/service/impl/KcZhihuijiaoshiServiceImpl.java diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/SynchronizationService/SyncTJwXsxkb.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/SynchronizationService/SyncTJwXsxkb.java index cfef82c9..531f968c 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/SynchronizationService/SyncTJwXsxkb.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/SynchronizationService/SyncTJwXsxkb.java @@ -44,6 +44,7 @@ public class SyncTJwXsxkb extends BaseSync { */ public void run(Map param){ QueryWrapper eqw = new QueryWrapper(); + QueryWrapper dqw = new QueryWrapper(); boolean isDelete = true; if(param != null){ if(Boolean.parseBoolean((String)param.get("isToday"))){ @@ -51,6 +52,8 @@ public class SyncTJwXsxkb extends BaseSync { String nowStr = DateTime.now().toDateStr(); eqw.apply("TIMESTAMPS >= to_date('"+nowStr+"', 'yyyy-MM-dd')"); eqw.apply("TIMESTAMPS < to_date('"+nowStr+"','yyyy-MM-dd')"); + dqw.apply("TIMESTAMPS >= str_to_date('"+nowStr+"', 'yyyy-MM-dd')"); + dqw.apply("TIMESTAMPS < str_to_date('"+nowStr+"','yyyy-MM-dd')"); isDelete = false; } else if (Boolean.parseBoolean((String)param.get("isScope"))) { //按照范围查询 @@ -58,6 +61,8 @@ public class SyncTJwXsxkb extends BaseSync { String endDate = (String)param.get("endDate"); eqw.apply("TIMESTAMPS >= to_date('"+startDate+"', 'yyyy-MM-dd')"); eqw.apply("TIMESTAMPS < to_date('"+endDate+"','yyyy-MM-dd')"); + dqw.apply("TIMESTAMPS >= str_to_date('"+startDate+"', 'yyyy-MM-dd')"); + dqw.apply("TIMESTAMPS < str_to_date('"+endDate+"','yyyy-MM-dd')"); isDelete = false; } else if (Boolean.parseBoolean((String)param.get("isAll"))) { //全部。。。 @@ -71,7 +76,7 @@ public class SyncTJwXsxkb extends BaseSync { inDataList.forEach(x -> outDataList.add(BeanUtil.toBean(x, Xxhbxsxkb.class))); //保存到胃 - impService.syncList(outDataList,isDelete); + impService.syncList(outDataList,dqw,isDelete); Xxhbsynclog xxhbsynclog = new Xxhbsynclog(); xxhbsynclog.setSyncRowNum(String.valueOf(outDataList.size())); diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/exports/entity/TJwKckb.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/exports/entity/TJwKckb.java index 47025484..d0a036d7 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/exports/entity/TJwKckb.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/exports/entity/TJwKckb.java @@ -65,6 +65,9 @@ public class TJwKckb { @Excel(name = "kcxz", width = 15) @ApiModelProperty(value = "kcxz") private java.lang.String kcxz; + /**教室编号*/ + @Excel(name = "教室编号", width = 15) + private String jsbh; /**skdd*/ @Excel(name = "skdd", width = 15) @ApiModelProperty(value = "skdd") @@ -173,4 +176,5 @@ public class TJwKckb { @Excel(name = "jxdgnr", width = 15) @ApiModelProperty(value = "jxdgnr") private java.sql.Clob jxdgnr; + } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/entity/Xxhbkckb.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/entity/Xxhbkckb.java index 72df5e24..18e64c68 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/entity/Xxhbkckb.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/entity/Xxhbkckb.java @@ -80,6 +80,9 @@ public class Xxhbkckb implements Serializable { @Excel(name = "课程性质", width = 15) @ApiModelProperty(value = "课程性质") private java.lang.String kcxz; + /**教室编号*/ + @Excel(name = "教室编号", width = 15) + private String jsbh; /**授课地点*/ @Excel(name = "授课地点", width = 15) @ApiModelProperty(value = "授课地点") @@ -217,4 +220,5 @@ public class Xxhbkckb implements Serializable { @Excel(name = "是否需要线上", width = 15) @ApiModelProperty(value = "是否需要线上") private java.lang.String sfxsk; + } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/mapper/XxhbtkxxMapper.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/mapper/XxhbtkxxMapper.java index 0e6fc0ca..311b29c8 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/mapper/XxhbtkxxMapper.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/mapper/XxhbtkxxMapper.java @@ -2,6 +2,7 @@ package org.jeecg.modules.kc.grab.imports.mapper; import java.util.List; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import org.apache.ibatis.annotations.Param; import org.jeecg.modules.kc.grab.imports.entity.Xxhbtkxx; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -14,4 +15,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface XxhbtkxxMapper extends BaseMapper { + boolean updateToKeTang(Wrapper queryWrapper); } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/mapper/xml/XxhbtkxxMapper.xml b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/mapper/xml/XxhbtkxxMapper.xml index 66271e85..90910896 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/mapper/xml/XxhbtkxxMapper.xml +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/mapper/xml/XxhbtkxxMapper.xml @@ -2,4 +2,14 @@ + + UPDATE xxhbtkxx tk, ketangbiao kt + SET kt.sftk = tk.tklx, kt.tkyy = tk.tksy, kt.bkjh = tk.bkjh + WHERE + STR_TO_DATE( tk.skrq, '%Y%m%d' ) = kt.skrq + AND tk.skrq > '20220228' + AND tk.xm = kt.skjs + AND tk.sqrdw = kt.kkdw + AND tk.jc = kt.hh + \ No newline at end of file diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/IXxhbtkxxService.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/IXxhbtkxxService.java index ec0df652..3a868b36 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/IXxhbtkxxService.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/IXxhbtkxxService.java @@ -1,5 +1,6 @@ package org.jeecg.modules.kc.grab.imports.service; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import org.jeecg.modules.kc.grab.imports.entity.Xxhbtkxx; import com.baomidou.mybatisplus.extension.service.IService; @@ -28,4 +29,11 @@ public interface IXxhbtkxxService extends IService { */ boolean syncList(Collection entityList, boolean isDelete); + /** + * 更新至课堂表 + * @param queryWrapper + * @return + */ + boolean updateToKeTang(Wrapper queryWrapper); + } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/IXxhbxsxkbService.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/IXxhbxsxkbService.java index a92ef742..04b002f3 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/IXxhbxsxkbService.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/IXxhbxsxkbService.java @@ -1,5 +1,6 @@ package org.jeecg.modules.kc.grab.imports.service; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.jeecg.modules.kc.grab.imports.entity.Xxhbxsxkb; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,5 +27,5 @@ public interface IXxhbxsxkbService extends IService { * @param isDelete * @return */ - boolean syncList(Collection entityList, boolean isDelete); + boolean syncList(Collection entityList, QueryWrapper queryWrapper, boolean isDelete); } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/impl/XxhbtkxxServiceImpl.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/impl/XxhbtkxxServiceImpl.java index d087b7c7..887b4dde 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/impl/XxhbtkxxServiceImpl.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/impl/XxhbtkxxServiceImpl.java @@ -1,6 +1,8 @@ package org.jeecg.modules.kc.grab.imports.service.impl; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import org.jeecg.modules.kc.grab.imports.entity.Xxhbtkxx; import org.jeecg.modules.kc.grab.imports.entity.Xxhbxsxkb; import org.jeecg.modules.kc.grab.imports.mapper.XxhbtkxxMapper; @@ -34,6 +36,37 @@ public class XxhbtkxxServiceImpl extends ServiceImpl i if(isDelete){ baseMapper.delete(dqw); } +// SQL1:UPDATE xxhbtkxx set jc = replace( convert(jc using ascii),'?', '')【第5-6节 -> 5-6】 + UpdateWrapper upw1 = new UpdateWrapper<>(); + upw1.setSql("jc = replace( convert(jc using ascii),'?', '')"); + update(upw1); +// SQL2:UPDATE xxhbtkxx set jc = replace( jc,'-', '、')【5-6 -> 5、6】 + UpdateWrapper upw2 = new UpdateWrapper<>(); + upw2.setSql("jc = replace( jc,'-', '、')"); + update(upw2); + //将【5、6 -> 05、06】 + UpdateWrapper upw3 = new UpdateWrapper<>(); + upw3.setSql("jc = CONCAT("+ + "CASE"+ + "WHEN POSITION( '、' IN jc ) = 2 THEN concat( '0', substr( jc, 1, 1 ), '、' )"+ + "WHEN POSITION( '、' IN jc ) = 3 THEN concat( '0', substr( jc, 1, 2 ), '、' )"+ + "END,"+ + "CASE"+ + "WHEN LENGTH( jc ) - POSITION( '、' IN jc ) = 3 THEN CONCAT('0',substr( jc, POSITION( '、' IN jc )+ 1 ))"+ + "WHEN LENGTH( jc ) - POSITION( '、' IN jc ) = 4 THEN CONCAT(substr( jc, POSITION( '、' IN jc )+ 1 ))"+ + "END"+ + ")"); + update(upw3); + + //3、将停课信息(xxhbtkxx)更新至课堂表(ketangbiao) + updateToKeTang(new QueryWrapper<>()); + return this.saveBatch(entityList, 1000); } + + @Override + @Transactional(rollbackFor = {Exception.class}) + public boolean updateToKeTang(Wrapper queryWrapper) { + return baseMapper.updateToKeTang(queryWrapper); + } } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/impl/XxhbxsxkbServiceImpl.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/impl/XxhbxsxkbServiceImpl.java index 7b082369..a801f8fd 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/impl/XxhbxsxkbServiceImpl.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/impl/XxhbxsxkbServiceImpl.java @@ -23,15 +23,14 @@ public class XxhbxsxkbServiceImpl extends ServiceImpl entityList) { - return syncList(entityList, true); + return syncList(entityList,new QueryWrapper(), true); } @Override @Transactional(rollbackFor = {Exception.class}) - public boolean syncList(Collection entityList, boolean isDelete) { - QueryWrapper dqw = new QueryWrapper(); + public boolean syncList(Collection entityList,QueryWrapper queryWrapper , boolean isDelete) { if(isDelete){ - baseMapper.delete(dqw); + baseMapper.delete(queryWrapper); } return this.saveBatch(entityList, 1000); } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/controller/KcJiaoshixinxibiaoController.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/controller/KcJiaoshixinxibiaoController.java new file mode 100644 index 00000000..01999962 --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/controller/KcJiaoshixinxibiaoController.java @@ -0,0 +1,178 @@ +package org.jeecg.modules.kc.jiaoshi.controller; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.kc.jiaoshi.entity.KcJiaoshixinxibiao; +import org.jeecg.modules.kc.jiaoshi.service.IKcJiaoshixinxibiaoService; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; + + /** + * @Description: 教室信息表 + * @Author: jeecg-boot + * @Date: 2023-04-19 + * @Version: V1.0 + */ +@Api(tags="教室信息表") +@RestController +@RequestMapping("/jiaoshi/kcJiaoshixinxibiao") +@Slf4j +public class KcJiaoshixinxibiaoController extends JeecgController { + @Autowired + private IKcJiaoshixinxibiaoService kcJiaoshixinxibiaoService; + + /** + * 分页列表查询 + * + * @param kcJiaoshixinxibiao + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "教室信息表-分页列表查询") + @ApiOperation(value="教室信息表-分页列表查询", notes="教室信息表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(KcJiaoshixinxibiao kcJiaoshixinxibiao, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(kcJiaoshixinxibiao, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = kcJiaoshixinxibiaoService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param kcJiaoshixinxibiao + * @return + */ + @AutoLog(value = "教室信息表-添加") + @ApiOperation(value="教室信息表-添加", notes="教室信息表-添加") + @RequiresPermissions("jiaoshi:kc_jiaoshixinxibiao:add") + @PostMapping(value = "/add") + public Result add(@RequestBody KcJiaoshixinxibiao kcJiaoshixinxibiao) { + kcJiaoshixinxibiaoService.save(kcJiaoshixinxibiao); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param kcJiaoshixinxibiao + * @return + */ + @AutoLog(value = "教室信息表-编辑") + @ApiOperation(value="教室信息表-编辑", notes="教室信息表-编辑") + @RequiresPermissions("jiaoshi:kc_jiaoshixinxibiao:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody KcJiaoshixinxibiao kcJiaoshixinxibiao) { + kcJiaoshixinxibiaoService.updateById(kcJiaoshixinxibiao); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "教室信息表-通过id删除") + @ApiOperation(value="教室信息表-通过id删除", notes="教室信息表-通过id删除") + @RequiresPermissions("jiaoshi:kc_jiaoshixinxibiao:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + kcJiaoshixinxibiaoService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "教室信息表-批量删除") + @ApiOperation(value="教室信息表-批量删除", notes="教室信息表-批量删除") + @RequiresPermissions("jiaoshi:kc_jiaoshixinxibiao:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.kcJiaoshixinxibiaoService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "教室信息表-通过id查询") + @ApiOperation(value="教室信息表-通过id查询", notes="教室信息表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + KcJiaoshixinxibiao kcJiaoshixinxibiao = kcJiaoshixinxibiaoService.getById(id); + if(kcJiaoshixinxibiao==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(kcJiaoshixinxibiao); + } + + /** + * 导出excel + * + * @param request + * @param kcJiaoshixinxibiao + */ + @RequiresPermissions("jiaoshi:kc_jiaoshixinxibiao:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, KcJiaoshixinxibiao kcJiaoshixinxibiao) { + return super.exportXls(request, kcJiaoshixinxibiao, KcJiaoshixinxibiao.class, "教室信息表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("jiaoshi:kc_jiaoshixinxibiao:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, KcJiaoshixinxibiao.class); + } + +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/controller/KcZhihuijiaoshiController.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/controller/KcZhihuijiaoshiController.java new file mode 100644 index 00000000..a46a3d15 --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/controller/KcZhihuijiaoshiController.java @@ -0,0 +1,178 @@ +package org.jeecg.modules.kc.jiaoshi.controller; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshi; +import org.jeecg.modules.kc.jiaoshi.service.IKcZhihuijiaoshiService; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; + + /** + * @Description: 智慧教室 + * @Author: jeecg-boot + * @Date: 2023-04-19 + * @Version: V1.0 + */ +@Api(tags="智慧教室") +@RestController +@RequestMapping("/jiaoshi/kcZhihuijiaoshi") +@Slf4j +public class KcZhihuijiaoshiController extends JeecgController { + @Autowired + private IKcZhihuijiaoshiService kcZhihuijiaoshiService; + + /** + * 分页列表查询 + * + * @param kcZhihuijiaoshi + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "智慧教室-分页列表查询") + @ApiOperation(value="智慧教室-分页列表查询", notes="智慧教室-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(KcZhihuijiaoshi kcZhihuijiaoshi, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(kcZhihuijiaoshi, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = kcZhihuijiaoshiService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param kcZhihuijiaoshi + * @return + */ + @AutoLog(value = "智慧教室-添加") + @ApiOperation(value="智慧教室-添加", notes="智慧教室-添加") + @RequiresPermissions("jiaoshi:kc_zhihuijiaoshi:add") + @PostMapping(value = "/add") + public Result add(@RequestBody KcZhihuijiaoshi kcZhihuijiaoshi) { + kcZhihuijiaoshiService.save(kcZhihuijiaoshi); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param kcZhihuijiaoshi + * @return + */ + @AutoLog(value = "智慧教室-编辑") + @ApiOperation(value="智慧教室-编辑", notes="智慧教室-编辑") + @RequiresPermissions("jiaoshi:kc_zhihuijiaoshi:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody KcZhihuijiaoshi kcZhihuijiaoshi) { + kcZhihuijiaoshiService.updateById(kcZhihuijiaoshi); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "智慧教室-通过id删除") + @ApiOperation(value="智慧教室-通过id删除", notes="智慧教室-通过id删除") + @RequiresPermissions("jiaoshi:kc_zhihuijiaoshi:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + kcZhihuijiaoshiService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "智慧教室-批量删除") + @ApiOperation(value="智慧教室-批量删除", notes="智慧教室-批量删除") + @RequiresPermissions("jiaoshi:kc_zhihuijiaoshi:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.kcZhihuijiaoshiService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "智慧教室-通过id查询") + @ApiOperation(value="智慧教室-通过id查询", notes="智慧教室-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + KcZhihuijiaoshi kcZhihuijiaoshi = kcZhihuijiaoshiService.getById(id); + if(kcZhihuijiaoshi==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(kcZhihuijiaoshi); + } + + /** + * 导出excel + * + * @param request + * @param kcZhihuijiaoshi + */ + @RequiresPermissions("jiaoshi:kc_zhihuijiaoshi:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, KcZhihuijiaoshi kcZhihuijiaoshi) { + return super.exportXls(request, kcZhihuijiaoshi, KcZhihuijiaoshi.class, "智慧教室"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("jiaoshi:kc_zhihuijiaoshi:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, KcZhihuijiaoshi.class); + } + +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/entity/KcJiaoshixinxibiao.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/entity/KcJiaoshixinxibiao.java new file mode 100644 index 00000000..b704bbe7 --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/entity/KcJiaoshixinxibiao.java @@ -0,0 +1,95 @@ +package org.jeecg.modules.kc.jiaoshi.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableLogic; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 教室信息表 + * @Author: jeecg-boot + * @Date: 2023-04-19 + * @Version: V1.0 + */ +@Data +@TableName("kc_jiaoshixinxibiao") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="kc_jiaoshixinxibiao对象", description="教室信息表") +public class KcJiaoshixinxibiao implements Serializable { + private static final long serialVersionUID = 1L; + + /**教室编号*/ + @Excel(name = "教室编号", width = 15) + @ApiModelProperty(value = "教室编号") + private java.lang.String jsbh; + /**教室名称*/ + @Excel(name = "教室名称", width = 15) + @ApiModelProperty(value = "教室名称") + private java.lang.String jsmc; + /**门牌号*/ + @Excel(name = "门牌号", width = 15) + @ApiModelProperty(value = "门牌号") + private java.lang.String mph; + /**校区*/ + @Excel(name = "校区", width = 15) + @ApiModelProperty(value = "校区") + private java.lang.String xq; + /**教室类型*/ + @Excel(name = "教室类型", width = 15) + @ApiModelProperty(value = "教室类型") + private java.lang.String jslx; + /**所属教学楼*/ + @Excel(name = "所属教学楼", width = 15) + @ApiModelProperty(value = "所属教学楼") + private java.lang.String ssjxl; + /**所属单位*/ + @Excel(name = "所属单位", width = 15) + @ApiModelProperty(value = "所属单位") + private java.lang.String ssdw; + /**排课优先级*/ + @Excel(name = "排课优先级", width = 15) + @ApiModelProperty(value = "排课优先级") + private java.lang.String pkyxj; + /**是否专用*/ + @Excel(name = "是否专用", width = 15) + @ApiModelProperty(value = "是否专用") + private java.lang.String sfzy; + /**教室类型2*/ + @Excel(name = "教室类型2", width = 15) + @ApiModelProperty(value = "教室类型2") + private java.lang.String jslx2; + /**座位数*/ + @Excel(name = "座位数", width = 15) + @ApiModelProperty(value = "座位数") + private java.lang.String zws; + /**考试座位数*/ + @Excel(name = "考试座位数", width = 15) + @ApiModelProperty(value = "考试座位数") + private java.lang.String kszws; + /**是否可用*/ + @Excel(name = "是否可用", width = 15) + @ApiModelProperty(value = "是否可用") + private java.lang.String sfky; + /**是否笔试考试*/ + @Excel(name = "是否笔试考试", width = 15) + @ApiModelProperty(value = "是否笔试考试") + private java.lang.String sfbsks; + /**是否可借用*/ + @Excel(name = "是否可借用", width = 15) + @ApiModelProperty(value = "是否可借用") + private java.lang.String sfkjy; +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/entity/KcZhihuijiaoshi.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/entity/KcZhihuijiaoshi.java new file mode 100644 index 00000000..4e0d3b7f --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/entity/KcZhihuijiaoshi.java @@ -0,0 +1,63 @@ +package org.jeecg.modules.kc.jiaoshi.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableLogic; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 智慧教室 + * @Author: jeecg-boot + * @Date: 2023-04-19 + * @Version: V1.0 + */ +@Data +@TableName("kc_zhihuijiaoshi") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="kc_zhihuijiaoshi对象", description="智慧教室") +public class KcZhihuijiaoshi implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private java.lang.Integer id; + /**校区*/ + @Excel(name = "校区", width = 15) + @ApiModelProperty(value = "校区") + private java.lang.String xq; + /**项目*/ + @Excel(name = "项目", width = 15) + @ApiModelProperty(value = "项目") + private java.lang.String xm; + /**新ip*/ + @Excel(name = "新ip", width = 15) + @ApiModelProperty(value = "新ip") + private java.lang.String ip; + /**账号*/ + @Excel(name = "账号", width = 15) + @ApiModelProperty(value = "账号") + private java.lang.String user; + /**密码*/ + @Excel(name = "密码", width = 15) + @ApiModelProperty(value = "密码") + private java.lang.String mima; + /**备注*/ + @Excel(name = "备注", width = 15) + @ApiModelProperty(value = "备注") + private java.lang.String bz; +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/mapper/KcJiaoshixinxibiaoMapper.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/mapper/KcJiaoshixinxibiaoMapper.java new file mode 100644 index 00000000..78fbf688 --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/mapper/KcJiaoshixinxibiaoMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.kc.jiaoshi.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.kc.jiaoshi.entity.KcJiaoshixinxibiao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 教室信息表 + * @Author: jeecg-boot + * @Date: 2023-04-19 + * @Version: V1.0 + */ +public interface KcJiaoshixinxibiaoMapper extends BaseMapper { + +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/mapper/KcZhihuijiaoshiMapper.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/mapper/KcZhihuijiaoshiMapper.java new file mode 100644 index 00000000..6591e5ea --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/mapper/KcZhihuijiaoshiMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.kc.jiaoshi.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshi; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 智慧教室 + * @Author: jeecg-boot + * @Date: 2023-04-19 + * @Version: V1.0 + */ +public interface KcZhihuijiaoshiMapper extends BaseMapper { + +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/mapper/xml/KcJiaoshixinxibiaoMapper.xml b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/mapper/xml/KcJiaoshixinxibiaoMapper.xml new file mode 100644 index 00000000..28082eec --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/mapper/xml/KcJiaoshixinxibiaoMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/mapper/xml/KcZhihuijiaoshiMapper.xml b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/mapper/xml/KcZhihuijiaoshiMapper.xml new file mode 100644 index 00000000..ea34a8e8 --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/mapper/xml/KcZhihuijiaoshiMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/service/IKcJiaoshixinxibiaoService.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/service/IKcJiaoshixinxibiaoService.java new file mode 100644 index 00000000..eb5e4130 --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/service/IKcJiaoshixinxibiaoService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.kc.jiaoshi.service; + +import org.jeecg.modules.kc.jiaoshi.entity.KcJiaoshixinxibiao; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 教室信息表 + * @Author: jeecg-boot + * @Date: 2023-04-19 + * @Version: V1.0 + */ +public interface IKcJiaoshixinxibiaoService extends IService { + +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/service/IKcZhihuijiaoshiService.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/service/IKcZhihuijiaoshiService.java new file mode 100644 index 00000000..3d0f7883 --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/service/IKcZhihuijiaoshiService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.kc.jiaoshi.service; + +import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshi; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 智慧教室 + * @Author: jeecg-boot + * @Date: 2023-04-19 + * @Version: V1.0 + */ +public interface IKcZhihuijiaoshiService extends IService { + +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/service/impl/KcJiaoshixinxibiaoServiceImpl.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/service/impl/KcJiaoshixinxibiaoServiceImpl.java new file mode 100644 index 00000000..9cb37928 --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/service/impl/KcJiaoshixinxibiaoServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.kc.jiaoshi.service.impl; + +import org.jeecg.modules.kc.jiaoshi.entity.KcJiaoshixinxibiao; +import org.jeecg.modules.kc.jiaoshi.mapper.KcJiaoshixinxibiaoMapper; +import org.jeecg.modules.kc.jiaoshi.service.IKcJiaoshixinxibiaoService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 教室信息表 + * @Author: jeecg-boot + * @Date: 2023-04-19 + * @Version: V1.0 + */ +@Service +public class KcJiaoshixinxibiaoServiceImpl extends ServiceImpl implements IKcJiaoshixinxibiaoService { + +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/service/impl/KcZhihuijiaoshiServiceImpl.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/service/impl/KcZhihuijiaoshiServiceImpl.java new file mode 100644 index 00000000..7d46fc9f --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/service/impl/KcZhihuijiaoshiServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.kc.jiaoshi.service.impl; + +import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshi; +import org.jeecg.modules.kc.jiaoshi.mapper.KcZhihuijiaoshiMapper; +import org.jeecg.modules.kc.jiaoshi.service.IKcZhihuijiaoshiService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 智慧教室 + * @Author: jeecg-boot + * @Date: 2023-04-19 + * @Version: V1.0 + */ +@Service +public class KcZhihuijiaoshiServiceImpl extends ServiceImpl implements IKcZhihuijiaoshiService { + +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/ktgl/entity/KcKechengbiao.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/ktgl/entity/KcKechengbiao.java index 572b20b5..c78a3edb 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/ktgl/entity/KcKechengbiao.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/ktgl/entity/KcKechengbiao.java @@ -91,6 +91,9 @@ public class KcKechengbiao implements Serializable { @Dict(dicCode = "kcxz") @ApiModelProperty(value = "课程性质") private java.lang.String kcxz; + /**教室编号*/ + @Excel(name = "教室编号", width = 15) + private String jsbh; /**上课地点*/ @Excel(name = "上课地点", width = 15) @ApiModelProperty(value = "上课地点")