Browse Source

Merge remote-tracking branch 'origin/dev' into dev

fanxp 1 year ago
parent
commit
5660d38b7d
100 changed files with 2722 additions and 307 deletions
  1. 35 0
      src/main/java/com/xjrsoft/common/enums/RecedeTypeEnum.java
  2. 3 0
      src/main/java/com/xjrsoft/module/base/entity/BaseOfficeBuild.java
  3. 18 0
      src/main/java/com/xjrsoft/module/base/mapper/BaseOfficeBuildMapper.java
  4. 2 1
      src/main/java/com/xjrsoft/module/liteflow/node/AddTextbookNode.java
  5. 0 1
      src/main/java/com/xjrsoft/module/liteflow/node/WfRoomApplicanNode.java
  6. 30 0
      src/main/java/com/xjrsoft/module/liteflow/node/WfTextbookRecedeNode.java
  7. 16 19
      src/main/java/com/xjrsoft/module/oa/controller/NewsController.java
  8. 5 4
      src/main/java/com/xjrsoft/module/room/controller/RoomBedCheckRecordController.java
  9. 6 3
      src/main/java/com/xjrsoft/module/room/controller/RoomController.java
  10. 105 0
      src/main/java/com/xjrsoft/module/room/controller/RoomValueWeekController.java
  11. 134 0
      src/main/java/com/xjrsoft/module/room/controller/WfRoomReportController.java
  12. 19 3
      src/main/java/com/xjrsoft/module/room/controller/WfRoomStayOvernightController.java
  13. 3 8
      src/main/java/com/xjrsoft/module/room/dto/AddRoomBedCheckRecordDto.java
  14. 54 0
      src/main/java/com/xjrsoft/module/room/dto/AddRoomValueWeekDto.java
  15. 58 0
      src/main/java/com/xjrsoft/module/room/dto/AddRoomValueWeekItemDto.java
  16. 63 0
      src/main/java/com/xjrsoft/module/room/dto/AddWfRoomReportDto.java
  17. 25 0
      src/main/java/com/xjrsoft/module/room/dto/RoomBedCheckRecordPageDto.java
  18. 37 0
      src/main/java/com/xjrsoft/module/room/dto/RoomValueWeekPageDto.java
  19. 39 0
      src/main/java/com/xjrsoft/module/room/dto/UpdateRoomValueWeekDto.java
  20. 32 0
      src/main/java/com/xjrsoft/module/room/dto/UpdateWfRoomReportDto.java
  21. 44 0
      src/main/java/com/xjrsoft/module/room/dto/WfRoomReportPageDto.java
  22. 3 3
      src/main/java/com/xjrsoft/module/room/dto/WfRoomStayOvernightPageDto.java
  23. 4 10
      src/main/java/com/xjrsoft/module/room/entity/RoomBedCheckRecord.java
  24. 3 11
      src/main/java/com/xjrsoft/module/room/entity/RoomBedCheckRecordRelation.java
  25. 100 0
      src/main/java/com/xjrsoft/module/room/entity/RoomValueWeek.java
  26. 108 0
      src/main/java/com/xjrsoft/module/room/entity/RoomValueWeekItem.java
  27. 113 0
      src/main/java/com/xjrsoft/module/room/entity/WfRoomReport.java
  28. 24 0
      src/main/java/com/xjrsoft/module/room/mapper/RoomValueWeekItemMapper.java
  29. 16 0
      src/main/java/com/xjrsoft/module/room/mapper/RoomValueWeekMapper.java
  30. 17 0
      src/main/java/com/xjrsoft/module/room/mapper/WfRoomReportMapper.java
  31. 5 1
      src/main/java/com/xjrsoft/module/room/service/IRoomBedCheckRecordService.java
  32. 1 1
      src/main/java/com/xjrsoft/module/room/service/IRoomService.java
  33. 53 0
      src/main/java/com/xjrsoft/module/room/service/IRoomValueWeekService.java
  34. 17 0
      src/main/java/com/xjrsoft/module/room/service/IWfRoomReportService.java
  35. 75 16
      src/main/java/com/xjrsoft/module/room/service/impl/RoomBedCheckRecordServiceImpl.java
  36. 9 0
      src/main/java/com/xjrsoft/module/room/service/impl/RoomBedServiceImpl.java
  37. 3 0
      src/main/java/com/xjrsoft/module/room/service/impl/RoomRuleServiceImpl.java
  38. 30 4
      src/main/java/com/xjrsoft/module/room/service/impl/RoomServiceImpl.java
  39. 211 0
      src/main/java/com/xjrsoft/module/room/service/impl/RoomValueWeekServiceImpl.java
  40. 25 0
      src/main/java/com/xjrsoft/module/room/service/impl/WfRoomReportServiceImpl.java
  41. 15 14
      src/main/java/com/xjrsoft/module/room/vo/RoomBedCheckRecordPageVo.java
  42. 6 7
      src/main/java/com/xjrsoft/module/room/vo/RoomBedCheckRecordRelationVo.java
  43. 53 27
      src/main/java/com/xjrsoft/module/room/vo/RoomBedCheckRecordVo.java
  44. 21 0
      src/main/java/com/xjrsoft/module/room/vo/RoomValueWeekItemPeopleVo.java
  45. 65 0
      src/main/java/com/xjrsoft/module/room/vo/RoomValueWeekItemVo.java
  46. 85 0
      src/main/java/com/xjrsoft/module/room/vo/RoomValueWeekPageVo.java
  47. 50 0
      src/main/java/com/xjrsoft/module/room/vo/RoomValueWeekVo.java
  48. 81 0
      src/main/java/com/xjrsoft/module/room/vo/WfRoomReportPageVo.java
  49. 89 0
      src/main/java/com/xjrsoft/module/room/vo/WfRoomReportVo.java
  50. 81 4
      src/main/java/com/xjrsoft/module/room/vo/WfRoomStayOvernightVo.java
  51. 5 0
      src/main/java/com/xjrsoft/module/student/dto/StudentHonorsPageDto.java
  52. 19 0
      src/main/java/com/xjrsoft/module/student/service/impl/StudentHonorsServiceImpl.java
  53. 10 0
      src/main/java/com/xjrsoft/module/teacher/entity/WfTeacherleave.java
  54. 22 16
      src/main/java/com/xjrsoft/module/teacher/service/impl/WfTeacherleaveServiceImpl.java
  55. 1 1
      src/main/java/com/xjrsoft/module/textbook/controller/SubjectGroupController.java
  56. 1 1
      src/main/java/com/xjrsoft/module/textbook/controller/SubjectGroupCourseController.java
  57. 5 5
      src/main/java/com/xjrsoft/module/textbook/controller/TextbookController.java
  58. 9 5
      src/main/java/com/xjrsoft/module/textbook/controller/TextbookStudentClaimController.java
  59. 2 2
      src/main/java/com/xjrsoft/module/textbook/controller/TextbookWarehouseRecordController.java
  60. 1 1
      src/main/java/com/xjrsoft/module/textbook/controller/WfTextbookClaimController.java
  61. 108 0
      src/main/java/com/xjrsoft/module/textbook/controller/WfTextbookRecedeController.java
  62. 0 7
      src/main/java/com/xjrsoft/module/textbook/dto/AddTextbookDto.java
  63. 0 7
      src/main/java/com/xjrsoft/module/textbook/dto/AddWfExerciseBookDto.java
  64. 0 7
      src/main/java/com/xjrsoft/module/textbook/dto/AddWfTextbookClaimDto.java
  65. 62 0
      src/main/java/com/xjrsoft/module/textbook/dto/AddWfTextbookRecedeDto.java
  66. 48 0
      src/main/java/com/xjrsoft/module/textbook/dto/AddWfTextbookRecedeItemDto.java
  67. 0 7
      src/main/java/com/xjrsoft/module/textbook/dto/AddWfTextbookSubscriptionDto.java
  68. 4 1
      src/main/java/com/xjrsoft/module/textbook/dto/TextbookPageDto.java
  69. 0 9
      src/main/java/com/xjrsoft/module/textbook/dto/UpdateSubjectGroupCourseDto.java
  70. 0 9
      src/main/java/com/xjrsoft/module/textbook/dto/UpdateTextbookClaimUserDto.java
  71. 0 11
      src/main/java/com/xjrsoft/module/textbook/dto/UpdateTextbookDto.java
  72. 0 9
      src/main/java/com/xjrsoft/module/textbook/dto/UpdateTextbookIssueRecordDto.java
  73. 0 9
      src/main/java/com/xjrsoft/module/textbook/dto/UpdateTextbookStudentClaimDto.java
  74. 0 10
      src/main/java/com/xjrsoft/module/textbook/dto/UpdateWfExerciseBookDto.java
  75. 23 0
      src/main/java/com/xjrsoft/module/textbook/dto/UpdateWfTextbookRecedeDto.java
  76. 0 10
      src/main/java/com/xjrsoft/module/textbook/dto/UpdateWfTextbookSubscriptionDto.java
  77. 26 0
      src/main/java/com/xjrsoft/module/textbook/dto/WfTextbookRecedePageDto.java
  78. 13 16
      src/main/java/com/xjrsoft/module/textbook/entity/TextbookIssueRecord.java
  79. 16 0
      src/main/java/com/xjrsoft/module/textbook/entity/TextbookWarehouseRecord.java
  80. 0 3
      src/main/java/com/xjrsoft/module/textbook/entity/WfExerciseBook.java
  81. 0 3
      src/main/java/com/xjrsoft/module/textbook/entity/WfTextbookClaim.java
  82. 117 0
      src/main/java/com/xjrsoft/module/textbook/entity/WfTextbookRecede.java
  83. 98 0
      src/main/java/com/xjrsoft/module/textbook/entity/WfTextbookRecedeItem.java
  84. 0 3
      src/main/java/com/xjrsoft/module/textbook/entity/WfTextbookSubscription.java
  85. 0 1
      src/main/java/com/xjrsoft/module/textbook/mapper/SubjectGroupCourseMapper.java
  86. 0 1
      src/main/java/com/xjrsoft/module/textbook/mapper/SubjectGroupMapper.java
  87. 0 1
      src/main/java/com/xjrsoft/module/textbook/mapper/TextbookClaimUserMapper.java
  88. 0 1
      src/main/java/com/xjrsoft/module/textbook/mapper/TextbookClassRelationMapper.java
  89. 0 1
      src/main/java/com/xjrsoft/module/textbook/mapper/TextbookIssueRecordMapper.java
  90. 4 4
      src/main/java/com/xjrsoft/module/textbook/mapper/TextbookMapper.java
  91. 2 2
      src/main/java/com/xjrsoft/module/textbook/mapper/TextbookStudentClaimMapper.java
  92. 0 1
      src/main/java/com/xjrsoft/module/textbook/mapper/TextbookSubscriptionRecordMapper.java
  93. 1 1
      src/main/java/com/xjrsoft/module/textbook/mapper/TextbookWarehouseRecordMapper.java
  94. 0 1
      src/main/java/com/xjrsoft/module/textbook/mapper/WfExerciseBookItemMapper.java
  95. 0 1
      src/main/java/com/xjrsoft/module/textbook/mapper/WfExerciseBookMapper.java
  96. 1 1
      src/main/java/com/xjrsoft/module/textbook/mapper/WfTextbookClaimItemMapper.java
  97. 1 1
      src/main/java/com/xjrsoft/module/textbook/mapper/WfTextbookClaimMapper.java
  98. 16 0
      src/main/java/com/xjrsoft/module/textbook/mapper/WfTextbookRecedeItemMapper.java
  99. 16 0
      src/main/java/com/xjrsoft/module/textbook/mapper/WfTextbookRecedeMapper.java
  100. 0 1
      src/main/java/com/xjrsoft/module/textbook/mapper/WfTextbookSubscriptionItemMapper.java

+ 35 - 0
src/main/java/com/xjrsoft/common/enums/RecedeTypeEnum.java

@@ -0,0 +1,35 @@
+package com.xjrsoft.common.enums;
+
+/**
+ * @description:退书类型recede_type
+ * @author: phoenix
+ * @create: 2023/12/21 11:27
+ * @Version 1.0
+ */
+public enum RecedeTypeEnum {
+    /**
+     * 退到教务处
+     * */
+    RecedeDeansOffice("recede_deans_office", "退到教务处"),
+
+    /**
+     * 退到书店
+     * */
+    RecedeBookstore("recede_bookstore", "退到书店");
+
+    final String code;
+    final String value;
+
+    public String getCode() {
+        return this.code;
+    }
+
+    public String getValue() {
+        return this.value;
+    }
+
+    RecedeTypeEnum(final String code, final String message) {
+        this.code = code;
+        this.value = message;
+    }
+}

+ 3 - 0
src/main/java/com/xjrsoft/module/base/entity/BaseOfficeBuild.java

@@ -56,6 +56,9 @@ public class BaseOfficeBuild implements Serializable {
     @ApiModelProperty("楼栋类型(xjr_dictionary_item[build_type])")
     private String buildType;
 
+    @ApiModelProperty("楼栋号")
+    private Integer buildNumber;
+
     @ApiModelProperty("状态(1:可用 0:停用)")
     private Integer status;
 

+ 18 - 0
src/main/java/com/xjrsoft/module/base/mapper/BaseOfficeBuildMapper.java

@@ -0,0 +1,18 @@
+package com.xjrsoft.module.base.mapper;
+
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.base.entity.BaseOfficeBuild;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 班级表 Mapper 接口
+ * </p>
+ *
+ * @author baomidou
+ * @since 2023-09-02 04:52:58
+ */
+@Mapper
+public interface BaseOfficeBuildMapper extends MPJBaseMapper<BaseOfficeBuild> {
+
+}

+ 2 - 1
src/main/java/com/xjrsoft/module/liteflow/node/AddTextbookNode.java

@@ -12,7 +12,8 @@ import java.util.Map;
  * 添加新出现的教材数据到教材管理
  */
 @Component("add_textbook_node")
-public class AddTextbookNode extends NodeComponent {
+public class
+AddTextbookNode extends NodeComponent {
     @Autowired
     private ITextbookService textbookService;
 

+ 0 - 1
src/main/java/com/xjrsoft/module/liteflow/node/WfRoomApplicanNode.java

@@ -2,7 +2,6 @@ package com.xjrsoft.module.liteflow.node;
 
 import cn.hutool.core.convert.Convert;
 import com.xjrsoft.module.room.service.IWfRoomApplicantService;
-import com.xjrsoft.module.textbook.service.IWfTextbookClaimService;
 import com.yomahub.liteflow.core.NodeComponent;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;

+ 30 - 0
src/main/java/com/xjrsoft/module/liteflow/node/WfTextbookRecedeNode.java

@@ -0,0 +1,30 @@
+package com.xjrsoft.module.liteflow.node;
+
+import cn.hutool.core.convert.Convert;
+import com.xjrsoft.module.textbook.service.IWfTextbookRecedeService;
+import com.yomahub.liteflow.core.NodeComponent;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * 退书申请
+ */
+@Component("wf_textbook_recede")
+public class WfTextbookRecedeNode extends NodeComponent {
+    @Autowired
+    private IWfTextbookRecedeService wfTextbookRecedeService;
+
+    @Override
+    public void process() throws Exception {
+        // 获取表单中数据编号
+        Map<String, Object> params = this.getFirstContextBean();
+        Object value = util.getFormDatKey(params,"id");
+        Long formId = Convert.toLong(value);
+        if (formId != null) {
+            // 数据处理
+            wfTextbookRecedeService.dataHandle(formId);
+        }
+    }
+}

+ 16 - 19
src/main/java/com/xjrsoft/module/oa/controller/NewsController.java

@@ -5,7 +5,6 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
@@ -102,29 +101,23 @@ public class NewsController {
             RT.error("找不到此新闻!");
         }
 
-        LambdaQueryWrapper<NewsRelation> queryWrapper = new LambdaQueryWrapper<>();
+        List<NewsRelationVo> newsRelationVoList = new ArrayList<>();
+        MPJLambdaWrapper<NewsRelation> queryWrapper = new MPJLambdaWrapper<>();
         queryWrapper
+                .select(NewsRelation::getId)
+                .selectAs(XjrUser::getName,NewsRelationVo::getUserName)
+                .select(NewsRelation.class, x -> VoToColumnUtil.fieldsToColumns(NewsRelationVo.class).contains(x.getProperty()))
+                .leftJoin(XjrUser.class,XjrUser::getId,NewsRelation::getUserId)
                 .eq(NewsRelation::getNewsId , id)
-                .select(NewsRelation.class, x -> VoToColumnUtil.fieldsToColumns(NewsRelation.class).contains(x.getProperty()));
-
-        List<NewsRelationVo> newsRelationVoList = new ArrayList<>();
-
+                .disableSubLogicDel();
         if(ObjectUtil.isNotNull(news.getCreateUserId()) && StpUtil.getLoginIdAsLong() == news.getCreateUserId()){
-
-            List<NewsRelation> newsRelationList = newsRelationService.list(queryWrapper);
-
-            newsRelationList.stream().forEach(element -> {
-                // 对元素进行操作
-                NewsRelationVo newsRelationVo = BeanUtil.toBean(element, NewsRelationVo.class);
-                newsRelationVoList.add(newsRelationVo);
-            });
-
-
+            newsRelationVoList = newsRelationService.selectJoinList(NewsRelationVo.class, queryWrapper);
         }else{
             queryWrapper.eq(NewsRelation::getUserId , StpUtil.getLoginIdAsLong());
-            NewsRelation newsRelation = newsRelationService.getOne(queryWrapper);
-            NewsRelationVo newsRelationVo = BeanUtil.toBean(newsRelation, NewsRelationVo.class);
-            newsRelationVoList.add(newsRelationVo);
+            NewsRelationVo newsRelationVo = newsRelationService.selectJoinOne(NewsRelationVo.class, queryWrapper);
+            if(ObjectUtil.isNotNull(newsRelationVo)){
+                newsRelationVoList.add(newsRelationVo);
+            }
         }
 
         NewsVo newsVo = BeanUtil.toBean(news, NewsVo.class);
@@ -199,6 +192,10 @@ public class NewsController {
         //将原来的修改enabled_mark改为修改status
         xjrNews.setStatus(changeNewsDto.getStatus());
         if(xjrNews.getStatus() == 2){
+            //将发布时间改为当前时间
+            xjrNews.setReleaseTime(LocalDateTime.now());
+            //将张贴时间改为当前时间
+            xjrNews.setSendStartDate(LocalDateTime.now());
             newsService.SendMessage(xjrNews.getId());
         }
 

+ 5 - 4
src/main/java/com/xjrsoft/module/room/controller/RoomBedCheckRecordController.java

@@ -45,7 +45,7 @@ public class RoomBedCheckRecordController {
     @ApiOperation(value="查寝记录列表(分页)")
     @SaCheckPermission("roombedcheckrecord:detail")
     public RT<PageOutput<RoomBedCheckRecordPageVo>> page(@Valid RoomBedCheckRecordPageDto dto){
-        IPage<RoomBedCheckRecord> page = roomBedCheckRecordService.getPage(dto);
+        IPage<RoomBedCheckRecordPageVo> page = roomBedCheckRecordService.getPage(dto);
         PageOutput<RoomBedCheckRecordPageVo> pageOutput = ConventPage.getPageOutput(page, RoomBedCheckRecordPageVo.class);
         return RT.ok(pageOutput);
     }
@@ -54,11 +54,12 @@ public class RoomBedCheckRecordController {
     @ApiOperation(value="根据id查询查寝记录信息")
     @SaCheckPermission("roombedcheckrecord:detail")
     public RT<RoomBedCheckRecordVo> info(@RequestParam Long id){
-        RoomBedCheckRecord roomBedCheckRecord = roomBedCheckRecordService.getByIdDeep(id);
-        if (roomBedCheckRecord == null) {
+        RoomBedCheckRecordVo roomBedCheckRecordVo = roomBedCheckRecordService.getInfo(id);
+        if (roomBedCheckRecordVo == null) {
            return RT.error("找不到此数据!");
         }
-        return RT.ok(BeanUtil.toBean(roomBedCheckRecord, RoomBedCheckRecordVo.class));
+
+        return RT.ok(roomBedCheckRecordVo);
     }
 
 

+ 6 - 3
src/main/java/com/xjrsoft/module/room/controller/RoomController.java

@@ -75,9 +75,12 @@ public class RoomController {
     @PostMapping
     @ApiOperation(value = "新增寝室")
     @SaCheckPermission("room:add")
-    public RT<Boolean> add(@Valid @RequestBody AddRoomDto dto){
-        boolean isSuccess = roomService.saveBatch(dto);
-        return RT.ok(isSuccess);
+    public RT<String> add(@Valid @RequestBody AddRoomDto dto){
+        String message = roomService.saveBatch(dto);
+        if("ok".equals(message)){
+            return RT.ok("true");
+        }
+        return RT.ok(message);
     }
 
     @PutMapping

+ 105 - 0
src/main/java/com/xjrsoft/module/room/controller/RoomValueWeekController.java

@@ -0,0 +1,105 @@
+package com.xjrsoft.module.room.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.support.ExcelTypeEnum;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xjrsoft.common.model.result.RT;
+import com.xjrsoft.common.page.ConventPage;
+import com.xjrsoft.common.page.PageOutput;
+import com.xjrsoft.module.room.dto.AddRoomValueWeekDto;
+import com.xjrsoft.module.room.dto.RoomValueWeekPageDto;
+import com.xjrsoft.module.room.dto.UpdateRoomValueWeekDto;
+import com.xjrsoft.module.room.service.IRoomValueWeekService;
+import com.xjrsoft.module.room.vo.RoomValueWeekItemVo;
+import com.xjrsoft.module.room.vo.RoomValueWeekPageVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.io.ByteArrayOutputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+* @title: 宿管值班管理
+* @Author dzx
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@RestController
+@RequestMapping("/room" + "/roomValueWeek")
+@Api(value = "/room"  + "/roomValueWeek",tags = "宿管值班管理代码")
+@AllArgsConstructor
+public class RoomValueWeekController {
+
+
+    private final IRoomValueWeekService roomValueWeekService;
+
+    @GetMapping(value = "/page")
+    @ApiOperation(value="宿管值班管理列表(分页)")
+    @SaCheckPermission("roomvalueweek:detail")
+    public RT<PageOutput<RoomValueWeekPageVo>> page(@Valid RoomValueWeekPageDto dto){
+        roomValueWeekService.updateNumberPeople();
+        Page<RoomValueWeekPageVo> page = roomValueWeekService.getPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
+        PageOutput<RoomValueWeekPageVo> pageOutput = ConventPage.getPageOutput(page, RoomValueWeekPageVo.class);
+        return RT.ok(pageOutput);
+    }
+
+    @GetMapping(value = "/info")
+    @ApiOperation(value="根据id查询宿管值班管理信息")
+    @SaCheckPermission("roomvalueweek:detail")
+    public RT<RoomValueWeekItemVo> info(@RequestParam Long id){
+        RoomValueWeekItemVo roomValueWeek = roomValueWeekService.getItemInfo(id);
+        if (roomValueWeek == null) {
+           return RT.error("找不到此数据!");
+        }
+        return RT.ok(roomValueWeek);
+    }
+
+
+    @PostMapping
+    @ApiOperation(value = "新增宿管值班管理")
+    @SaCheckPermission("roomvalueweek:add")
+    public RT<Boolean> add(@Valid @RequestBody AddRoomValueWeekDto dto){
+        boolean isSuccess = roomValueWeekService.add(dto);
+        return RT.ok(isSuccess);
+    }
+
+    @PutMapping
+    @ApiOperation(value = "修改宿管值班管理")
+    @SaCheckPermission("roomvalueweek:edit")
+    public RT<Boolean> update(@Valid @RequestBody UpdateRoomValueWeekDto dto){
+
+        return RT.ok(roomValueWeekService.updateItem(dto));
+
+    }
+
+    @DeleteMapping
+    @ApiOperation(value = "删除宿管值班管理")
+    @SaCheckPermission("roomvalueweek:delete")
+    public RT<Boolean> delete(@Valid @RequestBody List<Long> ids){
+        return RT.ok(roomValueWeekService.delete(ids));
+
+    }
+
+    @GetMapping("/export")
+    @ApiOperation(value = "导出")
+    public ResponseEntity<byte[]> exportData(@Valid RoomValueWeekPageDto dto, @RequestParam(defaultValue = "false") Boolean isTemplate) {
+        List<RoomValueWeekPageVo> customerList = isTemplate != null && isTemplate ? new ArrayList<>() : ((PageOutput<RoomValueWeekPageVo>) page(dto).getData()).getList();
+        ByteArrayOutputStream bot = new ByteArrayOutputStream();
+        EasyExcel.write(bot, RoomValueWeekPageVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(customerList);
+
+        return RT.fileStream(bot.toByteArray(), "RoomValueWeek" + ExcelTypeEnum.XLSX.getValue());
+    }
+}

+ 134 - 0
src/main/java/com/xjrsoft/module/room/controller/WfRoomReportController.java

@@ -0,0 +1,134 @@
+package com.xjrsoft.module.room.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.support.ExcelTypeEnum;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.xjrsoft.common.model.result.RT;
+import com.xjrsoft.common.page.ConventPage;
+import com.xjrsoft.common.page.PageOutput;
+import com.xjrsoft.common.utils.VoToColumnUtil;
+import com.xjrsoft.module.room.dto.AddWfRoomReportDto;
+import com.xjrsoft.module.room.dto.UpdateWfRoomReportDto;
+import com.xjrsoft.module.room.dto.WfRoomReportPageDto;
+import com.xjrsoft.module.room.entity.WfRoomReport;
+import com.xjrsoft.module.room.service.IWfRoomReportService;
+import com.xjrsoft.module.room.vo.WfRoomReportPageVo;
+import com.xjrsoft.module.room.vo.WfRoomReportVo;
+import com.xjrsoft.module.system.entity.File;
+import com.xjrsoft.module.system.service.IFileService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.io.ByteArrayOutputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+* @title: 寝室情况汇报
+* @Author szs
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@RestController
+@RequestMapping("/room" + "/wfRoomReport")
+@Api(value = "/room"  + "/wfRoomReport",tags = "寝室情况汇报代码")
+@AllArgsConstructor
+public class WfRoomReportController {
+
+
+    private final IWfRoomReportService wfRoomReportService;
+
+    private final IFileService fileService;
+
+    @GetMapping(value = "/page")
+    @ApiOperation(value="寝室情况汇报列表(分页)")
+    @SaCheckPermission("wfroomreport:detail")
+    public RT<PageOutput<WfRoomReportPageVo>> page(@Valid WfRoomReportPageDto dto){
+
+        MPJLambdaWrapper<WfRoomReport> queryWrapper = new MPJLambdaWrapper<>();
+        queryWrapper
+                .select(WfRoomReport::getId)
+                .select("t1.`name` as applicantUserIdCN")
+                .select("t2.`name` as headTeacherIdCN")
+                .leftJoin("xjr_user t1 on t1.id = t.applicant_user_id")
+                .leftJoin("xjr_user t2 on t2.id = t.head_teacher_id")
+                .select(WfRoomReport.class,x -> VoToColumnUtil.fieldsToColumns(WfRoomReportPageVo.class).contains(x.getProperty()))
+                .disableSubLogicDel()
+                .orderByDesc(WfRoomReport::getId);
+        IPage<WfRoomReportPageVo> page = wfRoomReportService.selectJoinListPage(ConventPage.getPage(dto), WfRoomReportPageVo.class, queryWrapper);
+        PageOutput<WfRoomReportPageVo> pageOutput = ConventPage.getPageOutput(page, WfRoomReportPageVo.class);
+        return RT.ok(pageOutput);
+    }
+
+    @GetMapping(value = "/info")
+    @ApiOperation(value="根据id查询寝室情况汇报信息")
+    @SaCheckPermission("wfroomreport:detail")
+    public RT<WfRoomReportVo> info(@RequestParam Long id){
+        MPJLambdaWrapper<WfRoomReport> queryWrapper = new MPJLambdaWrapper<>();
+        queryWrapper
+                .select(WfRoomReport::getId)
+                .select("t1.`name` as applicantUserIdCN")
+                .select("t2.`name` as headTeacherIdCN")
+                .leftJoin("xjr_user t1 on t1.id = t.applicant_user_id")
+                .leftJoin("xjr_user t2 on t2.id = t.head_teacher_id")
+                .select(WfRoomReport.class,x -> VoToColumnUtil.fieldsToColumns(WfRoomReportVo.class).contains(x.getProperty()))
+                .eq(WfRoomReport::getId, id)
+                .disableSubLogicDel()
+                .orderByDesc(WfRoomReport::getId);
+        WfRoomReportVo wfRoomReportVo = wfRoomReportService.selectJoinOne(WfRoomReportVo.class, queryWrapper);
+
+        if (wfRoomReportVo == null) {
+           return RT.error("找不到此数据!");
+        }
+
+        wfRoomReportVo.setFileList(fileService.list(Wrappers.<File>query().lambda().eq(File::getFolderId, wfRoomReportVo.getFileId())));
+
+        return RT.ok(wfRoomReportVo);
+    }
+
+
+    @PostMapping
+    @ApiOperation(value = "新增寝室情况汇报")
+    @SaCheckPermission("wfroomreport:add")
+    public RT<Boolean> add(@Valid @RequestBody AddWfRoomReportDto dto){
+        WfRoomReport wfRoomReport = BeanUtil.toBean(dto, WfRoomReport.class);
+        boolean isSuccess = wfRoomReportService.save(wfRoomReport);
+    return RT.ok(isSuccess);
+    }
+
+    @PutMapping
+    @ApiOperation(value = "修改寝室情况汇报")
+    @SaCheckPermission("wfroomreport:edit")
+    public RT<Boolean> update(@Valid @RequestBody UpdateWfRoomReportDto dto){
+
+        WfRoomReport wfRoomReport = BeanUtil.toBean(dto, WfRoomReport.class);
+        return RT.ok(wfRoomReportService.updateById(wfRoomReport));
+
+    }
+
+    @DeleteMapping
+    @ApiOperation(value = "删除寝室情况汇报")
+    @SaCheckPermission("wfroomreport:delete")
+    public RT<Boolean> delete(@Valid @RequestBody List<Long> ids){
+        return RT.ok(wfRoomReportService.removeBatchByIds(ids));
+
+    }
+
+    @GetMapping("/export")
+    @ApiOperation(value = "导出")
+    public ResponseEntity<byte[]> exportData(@Valid WfRoomReportPageDto dto, @RequestParam(defaultValue = "false") Boolean isTemplate) {
+        List<WfRoomReportPageVo> customerList = isTemplate != null && isTemplate ? new ArrayList<>() : ((PageOutput<WfRoomReportPageVo>) page(dto).getData()).getList();
+        ByteArrayOutputStream bot = new ByteArrayOutputStream();
+        EasyExcel.write(bot, WfRoomReportPageVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(customerList);
+
+        return RT.fileStream(bot.toByteArray(), "WfRoomReport" + ExcelTypeEnum.XLSX.getValue());
+    }
+}

+ 19 - 3
src/main/java/com/xjrsoft/module/room/controller/WfRoomStayOvernightController.java

@@ -27,7 +27,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.io.ByteArrayOutputStream;
-import java.util.ArrayList;
+import java.text.SimpleDateFormat;
 import java.util.List;
 
 /**
@@ -111,9 +111,25 @@ public class WfRoomStayOvernightController {
     @GetMapping("/export")
     @ApiOperation(value = "导出")
     public ResponseEntity<byte[]> exportData(@Valid WfRoomStayOvernightPageDto dto, @RequestParam(defaultValue = "false") Boolean isTemplate) {
-        List<WfRoomStayOvernightPageVo> customerList = isTemplate != null && isTemplate ? new ArrayList<>() : ((PageOutput<WfRoomStayOvernightPageVo>) page(dto).getData()).getList();
+        MPJLambdaWrapper<WfRoomStayOvernight> queryWrapper = new MPJLambdaWrapper<>();
+        queryWrapper
+                .disableSubLogicDel()
+                .leftJoin(XjrUser.class,XjrUser::getId,WfRoomStayOvernight::getApplicantUserId,ext1->ext1
+                        .selectAs(XjrUser::getName,WfRoomStayOvernightVo::getApplicantUserIdCN))
+                .leftJoin(XjrUser.class,XjrUser::getId,WfRoomStayOvernight::getHeadTeacherId,ext2->ext2
+                        .selectAs(XjrUser::getName,WfRoomStayOvernightVo::getHeadTeacherIdCN))
+                .orderByDesc(WfRoomStayOvernight::getId)
+                .select(WfRoomStayOvernight::getId)
+                .select(WfRoomStayOvernight.class,x -> VoToColumnUtil.fieldsToColumns(WfRoomStayOvernightVo.class).contains(x.getProperty()));
+        List<WfRoomStayOvernightVo> wfRoomStayOvernightVoList = wfRoomStayOvernightService.selectJoinList(WfRoomStayOvernightVo.class, queryWrapper);
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
+        for (WfRoomStayOvernightVo wfRoomStayOvernightVo : wfRoomStayOvernightVoList) {
+            wfRoomStayOvernightVo.setStartTimeStr(sdf.format(wfRoomStayOvernightVo.getStartTime()));
+            wfRoomStayOvernightVo.setEndTimeStr(sdf.format(wfRoomStayOvernightVo.getEndTime()));
+        }
+
         ByteArrayOutputStream bot = new ByteArrayOutputStream();
-        EasyExcel.write(bot, WfRoomStayOvernightPageVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(customerList);
+        EasyExcel.write(bot, WfRoomStayOvernightVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet("WfRoomStayOvernight").doWrite(wfRoomStayOvernightVoList);
 
         return RT.fileStream(bot.toByteArray(), "WfRoomStayOvernight" + ExcelTypeEnum.XLSX.getValue());
     }

+ 3 - 8
src/main/java/com/xjrsoft/module/room/dto/AddRoomBedCheckRecordDto.java

@@ -2,15 +2,10 @@ package com.xjrsoft.module.room.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import java.io.Serializable;
-import com.fasterxml.jackson.annotation.JsonFormat;
 
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.List;
+import java.io.Serializable;
 import java.util.Date;
-import com.xjrsoft.module.room.entity.RoomBedCheckRecordRelation;
+import java.util.List;
 
 
 
@@ -49,7 +44,7 @@ public class AddRoomBedCheckRecordDto implements Serializable {
     * 情况
     */
     @ApiModelProperty("情况")
-    private String condition;
+    private String record;
     /**
     * 备注
     */

+ 54 - 0
src/main/java/com/xjrsoft/module/room/dto/AddRoomValueWeekDto.java

@@ -0,0 +1,54 @@
+package com.xjrsoft.module.room.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.time.LocalDate;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+import com.xjrsoft.module.room.entity.RoomValueWeekItem;
+
+
+
+/**
+* @title: 宿管值班管理
+* @Author dzx
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+public class AddRoomValueWeekDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 开始时间
+    */
+    @ApiModelProperty("开始时间")
+    private LocalDate startTime;
+    /**
+    * 结束时间
+    */
+    @ApiModelProperty("结束时间")
+    private LocalDate endTime;
+
+    @ApiModelProperty("男寝宿管id")
+    private Long maleUserId;
+
+    @ApiModelProperty("女寝宿管id")
+    private Long femaleUserId;
+
+    @ApiModelProperty("教官id")
+    private Long instructorUserId;
+
+    @ApiModelProperty("男生留宿人数")
+    private Integer maleStudents;
+
+    @ApiModelProperty("女生留宿人数")
+    private Integer femaleStudents;
+}

+ 58 - 0
src/main/java/com/xjrsoft/module/room/dto/AddRoomValueWeekItemDto.java

@@ -0,0 +1,58 @@
+package com.xjrsoft.module.room.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+
+
+/**
+* @title: 宿管值班管理(人员)
+* @Author dzx
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+public class AddRoomValueWeekItemDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 序号
+    */
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+    /**
+    * 宿管值班管理编号(room_value_week)
+    */
+    @ApiModelProperty("宿管值班管理编号(room_value_week)")
+    private Long roomValueWeekId;
+    /**
+    * 值班人员用户编号
+    */
+    @ApiModelProperty("值班人员用户编号")
+    private Long userId;
+    /**
+    * 职务(宿管、教官)
+    */
+    @ApiModelProperty("职务(宿管、教官)")
+    private String postName;
+    /**
+    * 负责寝室(男寝、女寝固定)
+    */
+    @ApiModelProperty("负责寝室(男寝、女寝固定)")
+    private String roomType;
+    /**
+    * 人数(添加时先默认统计一个进去)
+    */
+    @ApiModelProperty("人数(添加时先默认统计一个进去)")
+    private Integer numberPeople;
+
+}

+ 63 - 0
src/main/java/com/xjrsoft/module/room/dto/AddWfRoomReportDto.java

@@ -0,0 +1,63 @@
+package com.xjrsoft.module.room.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+
+
+/**
+* @title: 寝室情况汇报
+* @Author szs
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+public class AddWfRoomReportDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 序号
+    */
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+    /**
+    * 申请人
+    */
+    @ApiModelProperty("申请人")
+    private Long applicantUserId;
+    /**
+    * 班主任用户编号
+    */
+    @ApiModelProperty("班主任用户编号")
+    private Long headTeacherId;
+    /**
+    * 寝室+床位名称
+    */
+    @ApiModelProperty("寝室+床位名称")
+    private String roomBedNumber;
+    /**
+    * 备注
+    */
+    @ApiModelProperty("备注")
+    private String remark;
+    /**
+    * 附件文件id
+    */
+    @ApiModelProperty("附件文件id")
+    private Long fileId;
+    /**
+    * 状态(1:结束 0:未结束)
+    */
+    @ApiModelProperty("状态(1:结束 0:未结束)")
+    private Integer status;
+
+}

+ 25 - 0
src/main/java/com/xjrsoft/module/room/dto/RoomBedCheckRecordPageDto.java

@@ -1,9 +1,14 @@
 package com.xjrsoft.module.room.dto;
 
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
 import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.time.LocalDateTime;
+
 
 /**
 * @title: 查寝记录分页查询入参
@@ -14,5 +19,25 @@ import lombok.EqualsAndHashCode;
 @Data
 @EqualsAndHashCode(callSuper = false)
 public class RoomBedCheckRecordPageDto extends PageInput {
+    /**
+     * 班级编号
+     */
+    @ApiModelProperty("班级编号")
+    private Long classId;
+    /**
+     * 查寝时间-开始
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("查寝时间-开始")
+    @ApiModelProperty("查寝时间-开始")
+    private LocalDateTime checkRecordTimeStart;
+    /**
+     * 查寝时间-结束
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("查寝时间-结束")
+    @ApiModelProperty("查寝时间-结束")
+    private LocalDateTime checkRecordTimeEnd;
+
 
 }

+ 37 - 0
src/main/java/com/xjrsoft/module/room/dto/RoomValueWeekPageDto.java

@@ -0,0 +1,37 @@
+package com.xjrsoft.module.room.dto;
+
+import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.Date;
+
+
+/**
+* @title: 宿管值班管理分页查询入参
+* @Author dzx
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class RoomValueWeekPageDto extends PageInput {
+
+    @ApiModelProperty("开始时间")
+    private String startTime;
+
+    @ApiModelProperty("结束时间")
+    private String endTime;
+
+    @ApiModelProperty("值班人员id")
+    private String userId;
+
+    @ApiModelProperty("寝室类型")
+    private String roomType;
+
+}

+ 39 - 0
src/main/java/com/xjrsoft/module/room/dto/UpdateRoomValueWeekDto.java

@@ -0,0 +1,39 @@
+package com.xjrsoft.module.room.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.List;
+import java.util.Date;
+import com.xjrsoft.module.room.entity.RoomValueWeekItem;
+
+
+
+/**
+* @title: 宿管值班管理
+* @Author dzx
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+public class UpdateRoomValueWeekDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    private Long id;
+
+    @ApiModelProperty("人员编号")
+    private Long userId;
+
+    @ApiModelProperty("留寝人数")
+    private Integer numberPeople;
+}

+ 32 - 0
src/main/java/com/xjrsoft/module/room/dto/UpdateWfRoomReportDto.java

@@ -0,0 +1,32 @@
+package com.xjrsoft.module.room.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.List;
+import java.util.Date;
+
+
+
+/**
+* @title: 寝室情况汇报
+* @Author szs
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+public class UpdateWfRoomReportDto extends AddWfRoomReportDto {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    private Long id;
+}

+ 44 - 0
src/main/java/com/xjrsoft/module/room/dto/WfRoomReportPageDto.java

@@ -0,0 +1,44 @@
+package com.xjrsoft.module.room.dto;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+
+/**
+* @title: 寝室情况汇报分页查询入参
+* @Author szs
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class WfRoomReportPageDto extends PageInput {
+    /**
+     * 申请人
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("申请人")
+    @ApiModelProperty("申请人")
+    private Long applicantUserId;
+
+    /**
+     * 班主任用户编号
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("班主任用户编号")
+    @ApiModelProperty("班主任用户编号")
+    private Long headTeacherId;
+    /**
+     * 寝室+床位名称
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("寝室+床位名称")
+    @ApiModelProperty("寝室+床位名称")
+    private String roomBedNumber;
+
+
+}

+ 3 - 3
src/main/java/com/xjrsoft/module/room/dto/WfRoomStayOvernightPageDto.java

@@ -7,7 +7,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
-import java.util.Date;
+import java.time.LocalDate;
 
 
 /**
@@ -47,12 +47,12 @@ public class WfRoomStayOvernightPageDto extends PageInput {
     @ContentStyle(dataFormat = 49)
     @ExcelProperty("开始时间")
     @ApiModelProperty("开始时间")
-    private Date startTime;
+    private LocalDate startTime;
     /**
      * 结束时间
      */
     @ContentStyle(dataFormat = 49)
     @ExcelProperty("结束时间")
     @ApiModelProperty("结束时间")
-    private Date endTime;
+    private LocalDate endTime;
 }

+ 4 - 10
src/main/java/com/xjrsoft/module/room/entity/RoomBedCheckRecord.java

@@ -1,20 +1,14 @@
 package com.xjrsoft.module.room.entity;
 
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.*;
 import com.github.yulichang.annotation.EntityMapping;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+
 import java.io.Serializable;
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.List;
 import java.util.Date;
+import java.util.List;
 
 
 /**
@@ -97,7 +91,7 @@ public class RoomBedCheckRecord implements Serializable {
     * 情况
     */
     @ApiModelProperty("情况")
-    private String condition;
+    private String record;
     /**
     * 备注
     */

+ 3 - 11
src/main/java/com/xjrsoft/module/room/entity/RoomBedCheckRecordRelation.java

@@ -1,19 +1,11 @@
 package com.xjrsoft.module.room.entity;
 
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.github.yulichang.annotation.EntityMapping;
+import com.baomidou.mybatisplus.annotation.*;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+
 import java.io.Serializable;
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.List;
 import java.util.Date;
 
 
@@ -92,7 +84,7 @@ public class RoomBedCheckRecordRelation implements Serializable {
     * 楼栋(base_office_build)
     */
     @ApiModelProperty("楼栋(base_office_build)")
-    private String officeBuildId;
+    private Long officeBuildId;
     /**
     * 楼层
     */

+ 100 - 0
src/main/java/com/xjrsoft/module/room/entity/RoomValueWeek.java

@@ -0,0 +1,100 @@
+package com.xjrsoft.module.room.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.yulichang.annotation.EntityMapping;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+
+/**
+* @title: 宿管值班管理
+* @Author dzx
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+@TableName("room_value_week")
+@ApiModel(value = "room_value_week", description = "宿管值班管理")
+public class RoomValueWeek implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    @TableId
+    private Long id;
+    /**
+    * 创建人
+    */
+    @ApiModelProperty("创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+    /**
+    * 创建时间
+    */
+    @ApiModelProperty("创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createDate;
+    /**
+    * 修改人
+    */
+    @ApiModelProperty("修改人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
+    /**
+    * 修改时间
+    */
+    @ApiModelProperty("修改时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private Date modifyDate;
+    /**
+    * 删除标记
+    */
+    @ApiModelProperty("删除标记")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+    /**
+    * 有效标志
+    */
+    @ApiModelProperty("有效标志")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+    /**
+    * 序号
+    */
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+    /**
+    * 开始时间
+    */
+    @ApiModelProperty("开始时间")
+    private Date startTime;
+    /**
+    * 结束时间
+    */
+    @ApiModelProperty("结束时间")
+    private Date endTime;
+
+    /**
+    * roomValueWeekItem
+    */
+    @ApiModelProperty("roomValueWeekItem子表")
+    @TableField(exist = false)
+    @EntityMapping(thisField = "id", joinField = "roomValueWeekId")
+    private List<RoomValueWeekItem> roomValueWeekItemList;
+
+}

+ 108 - 0
src/main/java/com/xjrsoft/module/room/entity/RoomValueWeekItem.java

@@ -0,0 +1,108 @@
+package com.xjrsoft.module.room.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.yulichang.annotation.EntityMapping;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+
+/**
+* @title: 宿管值班管理(人员)
+* @Author dzx
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+@TableName("room_value_week_item")
+@ApiModel(value = "room_value_week_item", description = "宿管值班管理(人员)")
+public class RoomValueWeekItem implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    @TableId
+    private Long id;
+    /**
+    * 创建人
+    */
+    @ApiModelProperty("创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+    /**
+    * 创建时间
+    */
+    @ApiModelProperty("创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createDate;
+    /**
+    * 修改人
+    */
+    @ApiModelProperty("修改人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
+    /**
+    * 修改时间
+    */
+    @ApiModelProperty("修改时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private Date modifyDate;
+    /**
+    * 删除标记
+    */
+    @ApiModelProperty("删除标记")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+    /**
+    * 有效标志
+    */
+    @ApiModelProperty("有效标志")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+    /**
+    * 序号
+    */
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+    /**
+    * 宿管值班管理编号(room_value_week)
+    */
+    @ApiModelProperty("宿管值班管理编号(room_value_week)")
+    private Long roomValueWeekId;
+    /**
+    * 值班人员用户编号
+    */
+    @ApiModelProperty("值班人员用户编号")
+    private Long userId;
+    /**
+    * 职务(宿管、教官)
+    */
+    @ApiModelProperty("职务(宿管、教官)")
+    private String postName;
+    /**
+    * 负责寝室(男寝、女寝固定)
+    */
+    @ApiModelProperty("负责寝室(男寝、女寝固定)")
+    private String roomType;
+    /**
+    * 人数(添加时先默认统计一个进去)
+    */
+    @ApiModelProperty("人数(添加时先默认统计一个进去)")
+    private Integer numberPeople;
+
+
+}

+ 113 - 0
src/main/java/com/xjrsoft/module/room/entity/WfRoomReport.java

@@ -0,0 +1,113 @@
+package com.xjrsoft.module.room.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.yulichang.annotation.EntityMapping;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+
+/**
+* @title: 寝室情况汇报
+* @Author szs
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+@TableName("wf_room_report")
+@ApiModel(value = "wf_room_report", description = "寝室情况汇报")
+public class WfRoomReport implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    @TableId
+    private Long id;
+    /**
+    * 创建人
+    */
+    @ApiModelProperty("创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+    /**
+    * 创建时间
+    */
+    @ApiModelProperty("创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createDate;
+    /**
+    * 修改人
+    */
+    @ApiModelProperty("修改人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
+    /**
+    * 修改时间
+    */
+    @ApiModelProperty("修改时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private Date modifyDate;
+    /**
+    * 删除标记
+    */
+    @ApiModelProperty("删除标记")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+    /**
+    * 有效标志
+    */
+    @ApiModelProperty("有效标志")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+    /**
+    * 序号
+    */
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+    /**
+    * 申请人
+    */
+    @ApiModelProperty("申请人")
+    private Long applicantUserId;
+    /**
+    * 班主任用户编号
+    */
+    @ApiModelProperty("班主任用户编号")
+    private Long headTeacherId;
+    /**
+    * 寝室+床位名称
+    */
+    @ApiModelProperty("寝室+床位名称")
+    private String roomBedNumber;
+    /**
+    * 备注
+    */
+    @ApiModelProperty("备注")
+    private String remark;
+    /**
+    * 附件文件id
+    */
+    @ApiModelProperty("附件文件id")
+    private Long fileId;
+    /**
+    * 状态(1:结束 0:未结束)
+    */
+    @ApiModelProperty("状态(1:结束 0:未结束)")
+    private Integer status;
+
+
+}

+ 24 - 0
src/main/java/com/xjrsoft/module/room/mapper/RoomValueWeekItemMapper.java

@@ -0,0 +1,24 @@
+package com.xjrsoft.module.room.mapper;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.room.dto.RoomValueWeekPageDto;
+import com.xjrsoft.module.room.entity.RoomValueWeekItem;
+import com.xjrsoft.module.room.vo.RoomValueWeekPageVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+* @title: 宿管值班管理(人员)
+* @Author dzx
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Mapper
+public interface RoomValueWeekItemMapper extends MPJBaseMapper<RoomValueWeekItem> {
+
+    Page<RoomValueWeekPageVo> getItemList(Page<RoomValueWeekPageDto> page, @Param("dto") RoomValueWeekPageDto dto);
+
+    Integer getMaxSortCode();
+
+}

+ 16 - 0
src/main/java/com/xjrsoft/module/room/mapper/RoomValueWeekMapper.java

@@ -0,0 +1,16 @@
+package com.xjrsoft.module.room.mapper;
+
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.room.entity.RoomValueWeek;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: 宿管值班管理
+* @Author dzx
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Mapper
+public interface RoomValueWeekMapper extends MPJBaseMapper<RoomValueWeek> {
+    Integer getMaxSortCode();
+}

+ 17 - 0
src/main/java/com/xjrsoft/module/room/mapper/WfRoomReportMapper.java

@@ -0,0 +1,17 @@
+package com.xjrsoft.module.room.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.room.entity.WfRoomReport;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: 寝室情况汇报
+* @Author szs
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Mapper
+public interface WfRoomReportMapper extends MPJBaseMapper<WfRoomReport> {
+
+}

+ 5 - 1
src/main/java/com/xjrsoft/module/room/service/IRoomBedCheckRecordService.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.yulichang.base.MPJBaseService;
 import com.xjrsoft.module.room.dto.RoomBedCheckRecordPageDto;
 import com.xjrsoft.module.room.entity.RoomBedCheckRecord;
+import com.xjrsoft.module.room.vo.RoomBedCheckRecordPageVo;
+import com.xjrsoft.module.room.vo.RoomBedCheckRecordVo;
 
 import java.util.List;
 
@@ -44,5 +46,7 @@ public interface IRoomBedCheckRecordService extends MPJBaseService<RoomBedCheckR
      * @param dto
      * @return
      */
-    IPage<RoomBedCheckRecord> getPage(RoomBedCheckRecordPageDto dto);
+    IPage<RoomBedCheckRecordPageVo> getPage(RoomBedCheckRecordPageDto dto);
+
+    RoomBedCheckRecordVo getInfo(Long id);
 }

+ 1 - 1
src/main/java/com/xjrsoft/module/room/service/IRoomService.java

@@ -27,7 +27,7 @@ public interface IRoomService extends MPJBaseService<Room> {
     /**
      * 批量添加
      */
-    Boolean saveBatch(AddRoomDto dto);
+    String saveBatch(AddRoomDto dto);
 
 
     /**

+ 53 - 0
src/main/java/com/xjrsoft/module/room/service/IRoomValueWeekService.java

@@ -0,0 +1,53 @@
+package com.xjrsoft.module.room.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.room.dto.AddRoomValueWeekDto;
+import com.xjrsoft.module.room.dto.RoomValueWeekPageDto;
+import com.xjrsoft.module.room.dto.UpdateRoomValueWeekDto;
+import com.xjrsoft.module.room.entity.RoomValueWeek;
+import com.xjrsoft.module.room.vo.RoomValueWeekItemVo;
+import com.xjrsoft.module.room.vo.RoomValueWeekPageVo;
+
+import java.util.List;
+
+/**
+* @title: 宿管值班管理
+* @Author dzx
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+
+public interface IRoomValueWeekService extends MPJBaseService<RoomValueWeek> {
+    /**
+    * 新增
+    *
+    * @param dto
+    * @return
+    */
+    Boolean add(AddRoomValueWeekDto dto);
+
+    /**
+    * 更新
+    *
+    * @param roomValueWeek
+    * @return
+    */
+    Boolean update(RoomValueWeek roomValueWeek);
+
+    /**
+    * 删除
+    *
+    * @param ids
+    * @return
+    */
+    Boolean delete(List<Long> ids);
+
+    Page<RoomValueWeekPageVo> getPage(Page<RoomValueWeekPageDto> page, RoomValueWeekPageDto dto);
+
+    Boolean updateNumberPeople();
+
+    RoomValueWeekItemVo getItemInfo(Long id);
+
+    Boolean updateItem(UpdateRoomValueWeekDto dto);
+}

+ 17 - 0
src/main/java/com/xjrsoft/module/room/service/IWfRoomReportService.java

@@ -0,0 +1,17 @@
+package com.xjrsoft.module.room.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.room.entity.WfRoomReport;
+import lombok.Data;
+import java.util.List;
+
+/**
+* @title: 寝室情况汇报
+* @Author szs
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+
+public interface IWfRoomReportService extends MPJBaseService<WfRoomReport> {
+}

+ 75 - 16
src/main/java/com/xjrsoft/module/room/service/impl/RoomBedCheckRecordServiceImpl.java

@@ -1,14 +1,29 @@
 package com.xjrsoft.module.room.service.impl;
 
+import cn.dev33.satoken.stp.StpUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.xjrsoft.common.page.ConventPage;
+import com.xjrsoft.common.utils.VoToColumnUtil;
+import com.xjrsoft.module.base.entity.BaseClass;
+import com.xjrsoft.module.base.entity.BaseOfficeBuild;
 import com.xjrsoft.module.room.dto.RoomBedCheckRecordPageDto;
+import com.xjrsoft.module.room.entity.Room;
 import com.xjrsoft.module.room.entity.RoomBedCheckRecord;
 import com.xjrsoft.module.room.entity.RoomBedCheckRecordRelation;
 import com.xjrsoft.module.room.mapper.RoomBedCheckRecordMapper;
 import com.xjrsoft.module.room.mapper.RoomBedCheckRecordRelationMapper;
+import com.xjrsoft.module.room.mapper.RoomMapper;
 import com.xjrsoft.module.room.service.IRoomBedCheckRecordService;
+import com.xjrsoft.module.room.vo.RoomBedCheckRecordPageVo;
+import com.xjrsoft.module.room.vo.RoomBedCheckRecordRelationVo;
+import com.xjrsoft.module.room.vo.RoomBedCheckRecordVo;
+import com.xjrsoft.module.system.entity.File;
+import com.xjrsoft.module.system.service.IFileService;
+import com.xjrsoft.module.teacher.entity.XjrUser;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -30,6 +45,10 @@ public class RoomBedCheckRecordServiceImpl extends MPJBaseServiceImpl<RoomBedChe
 
     private final RoomBedCheckRecordRelationMapper roomBedCheckRecordRoomBedCheckRecordRelationMapper;
 
+    private final IFileService fileService;
+
+    private final RoomMapper roomMapper;
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -37,6 +56,10 @@ public class RoomBedCheckRecordServiceImpl extends MPJBaseServiceImpl<RoomBedChe
         roomBedCheckRecordRoomBedCheckRecordMapper.insert(roomBedCheckRecord);
         for (RoomBedCheckRecordRelation roomBedCheckRecordRelation : roomBedCheckRecord.getRoomBedCheckRecordRelationList()) {
             roomBedCheckRecordRelation.setRoomBedCheckRecordId(roomBedCheckRecord.getId());
+            Room room = roomMapper.selectById(roomBedCheckRecordRelation.getRoomId());
+            roomBedCheckRecordRelation.setRoomName(room.getRoomName());
+            roomBedCheckRecordRelation.setFloorNumber(room.getFloorNumber());
+            roomBedCheckRecordRelation.setOfficeBuildId(room.getOfficeBuildId());
             roomBedCheckRecordRoomBedCheckRecordRelationMapper.insert(roomBedCheckRecordRelation);
         }
 
@@ -89,21 +112,57 @@ public class RoomBedCheckRecordServiceImpl extends MPJBaseServiceImpl<RoomBedChe
     }
 
     @Override
-    public IPage<RoomBedCheckRecord> getPage(RoomBedCheckRecordPageDto dto) {
-        //查询当前用户的班级
-//        LambdaQueryWrapper<BaseClass> queryWrapper = new LambdaQueryWrapper<>();
-//        queryWrapper
-//                .eq(BaseClass::getTeacherId, StpUtil.getLoginIdAsLong())
-//                .orderByDesc(BaseClass::getId);
-//        BaseClass
-//
-//        MPJLambdaWrapper<RoomBedCheckRecord> query = new MPJLambdaWrapper<>();
-//
-//        LambdaQueryWrapper<RoomBedCheckRecord> queryWrapper = new LambdaQueryWrapper<>();
-//        queryWrapper
-//                .orderByDesc(RoomBedCheckRecord::getId)
-//                .select(RoomBedCheckRecord.class,x -> VoToColumnUtil.fieldsToColumns(RoomBedCheckRecordPageVo.class).contains(x.getProperty()));
-        //IPage<RoomBedCheckRecord> page = this.getPage(ConventPage.getPage(dto), queryWrapper);
-        return null;
+    public IPage<RoomBedCheckRecordPageVo> getPage(RoomBedCheckRecordPageDto dto) {
+        MPJLambdaWrapper<RoomBedCheckRecord> queryRoomBedCheckRecord = new MPJLambdaWrapper<>();
+        queryRoomBedCheckRecord
+                .select(RoomBedCheckRecord::getId)
+                .selectAs(XjrUser::getName,RoomBedCheckRecordPageVo::getUserIdCN)
+                .selectAs(BaseClass::getName,RoomBedCheckRecordPageVo::getClassIdCN)
+                .select(RoomBedCheckRecord.class,x -> VoToColumnUtil.fieldsToColumns(RoomBedCheckRecordPageVo.class).contains(x.getProperty()))
+                .leftJoin(XjrUser.class,XjrUser::getId,RoomBedCheckRecord::getUserId)
+                .leftJoin(BaseClass.class,BaseClass::getId,RoomBedCheckRecord::getClassId)
+                .eq(RoomBedCheckRecord::getUserId, StpUtil.getLoginIdAsLong())
+                .eq(ObjectUtil.isNotNull(dto.getClassId()), RoomBedCheckRecord::getUserId, StpUtil.getLoginIdAsLong())
+                .between(ObjectUtil.isNotNull(dto.getCheckRecordTimeStart()) && ObjectUtil.isNotNull(dto.getCheckRecordTimeEnd()), RoomBedCheckRecord::getCheckRecordTime, dto.getCheckRecordTimeStart(), dto.getCheckRecordTimeEnd())
+                .disableSubLogicDel()
+                .orderByDesc(RoomBedCheckRecord::getId);
+
+        IPage<RoomBedCheckRecordPageVo> page = this.selectJoinListPage(ConventPage.getPage(dto), RoomBedCheckRecordPageVo.class, queryRoomBedCheckRecord);
+        return page;
+    }
+
+    @Override
+    public RoomBedCheckRecordVo getInfo(Long id) {
+        MPJLambdaWrapper<RoomBedCheckRecord> queryRoomBedCheckRecord = new MPJLambdaWrapper<>();
+        queryRoomBedCheckRecord
+                .select(RoomBedCheckRecord::getId)
+                .selectAs(XjrUser::getName,RoomBedCheckRecordVo::getUserIdCN)
+                .selectAs(BaseClass::getName,RoomBedCheckRecordVo::getClassIdCN)
+                .select(RoomBedCheckRecord.class,x -> VoToColumnUtil.fieldsToColumns(RoomBedCheckRecordVo.class).contains(x.getProperty()))
+                .leftJoin(XjrUser.class,XjrUser::getId,RoomBedCheckRecord::getUserId)
+                .leftJoin(BaseClass.class,BaseClass::getId,RoomBedCheckRecord::getClassId)
+                .eq(RoomBedCheckRecord::getId, id)
+                .disableSubLogicDel()
+                .orderByDesc(RoomBedCheckRecord::getId);
+
+        RoomBedCheckRecordVo roomBedCheckRecordVo = this.selectJoinOne(RoomBedCheckRecordVo.class, queryRoomBedCheckRecord);
+        if(roomBedCheckRecordVo == null){
+            return null;
+        }
+
+        MPJLambdaWrapper<RoomBedCheckRecordRelation> queryRelation = new MPJLambdaWrapper<>();
+        queryRelation
+                .select(RoomBedCheckRecordRelation::getId)
+                .selectAs(BaseOfficeBuild::getName,RoomBedCheckRecordRelationVo::getOfficeBuildIdCN)
+                .select(RoomBedCheckRecordRelation.class,x -> VoToColumnUtil.fieldsToColumns(RoomBedCheckRecordRelationVo.class).contains(x.getProperty()))
+                .leftJoin(BaseOfficeBuild.class, BaseOfficeBuild::getId, RoomBedCheckRecordRelation::getOfficeBuildId)
+                .eq(RoomBedCheckRecordRelation::getRoomBedCheckRecordId,roomBedCheckRecordVo.getId())
+                .orderByDesc(RoomBedCheckRecordRelation::getId);
+        List<RoomBedCheckRecordRelationVo> roomBedCheckRecordRelationVoList = roomBedCheckRecordRoomBedCheckRecordRelationMapper.selectJoinList(RoomBedCheckRecordRelationVo.class, queryRelation);
+        roomBedCheckRecordVo.setRoomBedCheckRecordRelationList(roomBedCheckRecordRelationVoList);
+
+        roomBedCheckRecordVo.setFileList(fileService.list(Wrappers.<File>query().lambda().eq(File::getFolderId, roomBedCheckRecordVo.getFileId())));
+
+        return roomBedCheckRecordVo;
     }
 }

+ 9 - 0
src/main/java/com/xjrsoft/module/room/service/impl/RoomBedServiceImpl.java

@@ -279,6 +279,15 @@ public class RoomBedServiceImpl extends MPJBaseServiceImpl<RoomBedMapper, RoomBe
 
     @Override
     public Boolean adjustBed(AdjustStudentBedDto dto) {
+        //先清空学生原来的床位
+        UpdateWrapper<RoomBed> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("student_user_id", dto.getStudentUserId());
+        updateWrapper.setSql("student_user_id = null");
+        updateWrapper.setSql("is_check_in = 0");
+
+        RoomBed roomBed = roomBedMapper.selectOne(new QueryWrapper<RoomBed>().lambda().eq(RoomBed::getStudentUserId, dto.getStudentUserId()));
+        roomBedMapper.update(roomBed, updateWrapper);
+        //再把学生保存到新的床位
         roomBedMapper.updateById(new RoomBed(){{
             setId(dto.getBedId());
             setStudentUserId(dto.getStudentUserId());

+ 3 - 0
src/main/java/com/xjrsoft/module/room/service/impl/RoomRuleServiceImpl.java

@@ -109,6 +109,9 @@ public class RoomRuleServiceImpl extends MPJBaseServiceImpl<RoomRuleMapper, Room
         //再插入最新传入的楼栋
         Integer itemMaxSortCode = roomRuleRoomRuleMapper.getItemMaxSortCode();
         for (Long buildId : dto.getOfficeBuildIds()) {
+            if(buildId == null || dto.getRoomRuleId() == null){
+                continue;
+            }
             RoomRuleItem roomRuleItem = new RoomRuleItem();
             itemMaxSortCode ++;
             roomRuleItem.setSortCode(itemMaxSortCode);

+ 30 - 4
src/main/java/com/xjrsoft/module/room/service/impl/RoomServiceImpl.java

@@ -5,12 +5,18 @@ import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.toolkit.MPJWrappers;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.xjrsoft.module.base.entity.BaseOfficeBuild;
+import com.xjrsoft.module.base.mapper.BaseOfficeBuildMapper;
 import com.xjrsoft.module.room.dto.AddRoomDto;
 import com.xjrsoft.module.room.dto.RoomPageDto;
 import com.xjrsoft.module.room.entity.Room;
 import com.xjrsoft.module.room.entity.RoomBed;
+import com.xjrsoft.module.room.entity.RoomRule;
+import com.xjrsoft.module.room.entity.RoomRuleItem;
 import com.xjrsoft.module.room.mapper.RoomBedMapper;
 import com.xjrsoft.module.room.mapper.RoomMapper;
+import com.xjrsoft.module.room.mapper.RoomRuleMapper;
 import com.xjrsoft.module.room.service.IRoomService;
 import com.xjrsoft.module.room.vo.RoomPageVo;
 import com.xjrsoft.module.student.entity.BaseStudent;
@@ -33,7 +39,8 @@ import java.util.Map;
 public class RoomServiceImpl extends MPJBaseServiceImpl<RoomMapper, Room> implements IRoomService {
     private final RoomMapper roomMapper;
     private final RoomBedMapper roomBedMapper;
-
+    private final RoomRuleMapper roomRuleRoomRuleMapper;
+    private final BaseOfficeBuildMapper baseOfficeBuildMapper;
     @Override
     public Page<RoomPageVo> getPage(Page<RoomPageDto> page, RoomPageDto dto) {
         Page<RoomPageVo> result = roomMapper.getPage(page, dto);
@@ -41,13 +48,32 @@ public class RoomServiceImpl extends MPJBaseServiceImpl<RoomMapper, Room> implem
     }
 
     @Override
-    public Boolean saveBatch(AddRoomDto dto) {
+    public String saveBatch(AddRoomDto dto) {
+        MPJLambdaWrapper<RoomRule> queryWrapper = new MPJLambdaWrapper<>();
+        queryWrapper.leftJoin(RoomRuleItem.class, RoomRuleItem::getRoomRuleId, RoomRule::getId)
+                .eq(RoomRuleItem::getOfficeBuildId, dto.getOfficeBuildId());
+        RoomRule roomRule = roomRuleRoomRuleMapper.selectJoinOne(RoomRule.class, queryWrapper);
+        if(roomRule == null){
+            return "该楼栋未配置规则,请先配置规则";
+        }
+        BaseOfficeBuild build = baseOfficeBuildMapper.selectById(dto.getOfficeBuildId());
+
         Integer maxSortCode = roomMapper.getMaxSortCode();
         Date createDate = new Date();
         long createUserId = StpUtil.getLoginIdAsLong();
         for (int i = 0; i < dto.getFloorRoomsCount(); i ++){
             for (String floorNumber : dto.getFloorNumber().split(",")) {
-                String roomName = floorNumber + String.format("%02d", (i + 1));
+                String roomName = "";
+                if(roomRule.getRule().contains("1")){
+                    roomName += build.getBuildNumber();
+                }
+                if(roomRule.getRule().contains("2")){
+                    roomName += floorNumber;
+                }
+                if(roomRule.getRule().contains("3")){
+                    roomName += String.format("%02d", (i + 1));
+                }
+
                 Map<String, Object> param = new HashMap<>();
                 param.put("room_name", roomName);
                 param.put("floor_number", Integer.parseInt(floorNumber));
@@ -85,7 +111,7 @@ public class RoomServiceImpl extends MPJBaseServiceImpl<RoomMapper, Room> implem
                 }
             }
         }
-        return true;
+        return "ok";
     }
 
     @Override

+ 211 - 0
src/main/java/com/xjrsoft/module/room/service/impl/RoomValueWeekServiceImpl.java

@@ -0,0 +1,211 @@
+package com.xjrsoft.module.room.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.common.enums.DeleteMark;
+import com.xjrsoft.module.room.dto.AddRoomValueWeekDto;
+import com.xjrsoft.module.room.dto.RoomValueWeekPageDto;
+import com.xjrsoft.module.room.dto.UpdateRoomValueWeekDto;
+import com.xjrsoft.module.room.entity.RoomValueWeek;
+import com.xjrsoft.module.room.entity.RoomValueWeekItem;
+import com.xjrsoft.module.room.entity.WfRoomStayOvernight;
+import com.xjrsoft.module.room.mapper.RoomValueWeekItemMapper;
+import com.xjrsoft.module.room.mapper.RoomValueWeekMapper;
+import com.xjrsoft.module.room.mapper.WfRoomStayOvernightMapper;
+import com.xjrsoft.module.room.service.IRoomValueWeekService;
+import com.xjrsoft.module.room.vo.RoomValueWeekItemVo;
+import com.xjrsoft.module.room.vo.RoomValueWeekPageVo;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.text.SimpleDateFormat;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
+import java.util.Date;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+* @title: 宿管值班管理
+* @Author dzx
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Service
+@AllArgsConstructor
+public class RoomValueWeekServiceImpl extends MPJBaseServiceImpl<RoomValueWeekMapper, RoomValueWeek> implements IRoomValueWeekService {
+    private final RoomValueWeekMapper roomValueWeekRoomValueWeekMapper;
+
+    private final RoomValueWeekItemMapper roomValueWeekRoomValueWeekItemMapper;
+
+    private final WfRoomStayOvernightMapper wfRoomStayOvernightMapper;
+
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean add(AddRoomValueWeekDto dto) {
+        RoomValueWeek roomValueWeek = BeanUtil.toBean(dto, RoomValueWeek.class);
+        Integer maxSortCode = roomValueWeekRoomValueWeekMapper.getMaxSortCode();
+        roomValueWeek.setSortCode(maxSortCode + 1);
+        roomValueWeekRoomValueWeekMapper.insert(roomValueWeek);
+        Integer ItemMaxSortCode = roomValueWeekRoomValueWeekItemMapper.getMaxSortCode();
+        if(dto.getMaleUserId() != null){
+            RoomValueWeekItem maleItem = new RoomValueWeekItem();
+            maleItem.setRoomValueWeekId(roomValueWeek.getId());
+            maleItem.setRoomType("男寝");
+            maleItem.setPostName("宿管");
+            maleItem.setUserId(dto.getMaleUserId());
+            maleItem.setNumberPeople(dto.getMaleStudents());
+            maleItem.setSortCode(ItemMaxSortCode + 1);
+            roomValueWeekRoomValueWeekItemMapper.insert(maleItem);
+        }
+        if(dto.getFemaleUserId() != null){
+            RoomValueWeekItem femaleItem = new RoomValueWeekItem();
+            femaleItem.setRoomValueWeekId(roomValueWeek.getId());
+            femaleItem.setRoomType("女寝");
+            femaleItem.setPostName("宿管");
+            femaleItem.setUserId(dto.getFemaleUserId());
+            femaleItem.setNumberPeople(dto.getFemaleStudents());
+            femaleItem.setSortCode(ItemMaxSortCode + 2);
+            roomValueWeekRoomValueWeekItemMapper.insert(femaleItem);
+        }
+        if(dto.getInstructorUserId() != null){
+            RoomValueWeekItem instructorItem = new RoomValueWeekItem();
+            instructorItem.setRoomValueWeekId(roomValueWeek.getId());
+            instructorItem.setPostName("教官");
+            instructorItem.setUserId(dto.getInstructorUserId());
+            instructorItem.setSortCode(ItemMaxSortCode + 3);
+            roomValueWeekRoomValueWeekItemMapper.insert(instructorItem);
+        }
+
+        return true;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean update(RoomValueWeek roomValueWeek) {
+        roomValueWeekRoomValueWeekMapper.updateById(roomValueWeek);
+        //********************************* RoomValueWeekItem  增删改  开始 *******************************************/
+        {
+            // 查出所有子级的id
+            List<RoomValueWeekItem> roomValueWeekItemList = roomValueWeekRoomValueWeekItemMapper.selectList(Wrappers.lambdaQuery(RoomValueWeekItem.class).eq(RoomValueWeekItem::getRoomValueWeekId, roomValueWeek.getId()).select(RoomValueWeekItem::getId));
+            List<Long> roomValueWeekItemIds = roomValueWeekItemList.stream().map(RoomValueWeekItem::getId).collect(Collectors.toList());
+            //原有子表单 没有被删除的主键
+            List<Long> roomValueWeekItemOldIds = roomValueWeek.getRoomValueWeekItemList().stream().map(RoomValueWeekItem::getId).filter(Objects::nonNull).collect(Collectors.toList());
+            //找到需要删除的id
+            List<Long> roomValueWeekItemRemoveIds = roomValueWeekItemIds.stream().filter(item -> !roomValueWeekItemOldIds.contains(item)).collect(Collectors.toList());
+
+            for (RoomValueWeekItem roomValueWeekItem : roomValueWeek.getRoomValueWeekItemList()) {
+                //如果不等于空则修改
+                if (roomValueWeekItem.getId() != null) {
+                    roomValueWeekRoomValueWeekItemMapper.updateById(roomValueWeekItem);
+                }
+                //如果等于空 则新增
+                else {
+                    //已经不存在的id 删除
+                    roomValueWeekItem.setRoomValueWeekId(roomValueWeek.getId());
+                    roomValueWeekRoomValueWeekItemMapper.insert(roomValueWeekItem);
+                }
+            }
+            //已经不存在的id 删除
+            if(roomValueWeekItemRemoveIds.size() > 0){
+                roomValueWeekRoomValueWeekItemMapper.deleteBatchIds(roomValueWeekItemRemoveIds);
+            }
+        }
+        //********************************* RoomValueWeekItem  增删改  结束 *******************************************/
+
+        return true;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean delete(List<Long> ids) {
+        roomValueWeekRoomValueWeekMapper.deleteBatchIds(ids);
+        roomValueWeekRoomValueWeekItemMapper.delete(Wrappers.lambdaQuery(RoomValueWeekItem.class).in(RoomValueWeekItem::getRoomValueWeekId, ids));
+
+        return true;
+    }
+
+    @Override
+    public Page<RoomValueWeekPageVo> getPage(Page<RoomValueWeekPageDto> page, RoomValueWeekPageDto dto) {
+        Page<RoomValueWeekPageVo> result = roomValueWeekRoomValueWeekItemMapper.getItemList(page, dto);
+
+        return result;
+    }
+
+    @Override
+    public Boolean updateNumberPeople() {
+        Date date = new Date();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        List<RoomValueWeek> weeks = roomValueWeekRoomValueWeekMapper.selectList(
+            new QueryWrapper<RoomValueWeek>().lambda()
+            .ge(RoomValueWeek::getEndTime, sdf.format(date))
+            .le(RoomValueWeek::getStartTime, sdf.format(date))
+        );
+
+        for (RoomValueWeek week : weeks) {
+            List<RoomValueWeekItem> roomValueWeekItems = roomValueWeekRoomValueWeekItemMapper.selectList(
+                    new QueryWrapper<RoomValueWeekItem>().lambda().eq(RoomValueWeekItem::getRoomValueWeekId, week.getId())
+            );
+            for (RoomValueWeekItem roomValueWeekItem : roomValueWeekItems) {
+                if("男寝".equals(roomValueWeekItem.getRoomType())){
+                    Long maleStudents = wfRoomStayOvernightMapper.selectCount(
+                            new QueryWrapper<WfRoomStayOvernight>().lambda()
+                            .eq(WfRoomStayOvernight::getGenderName, "男")
+                            .eq(WfRoomStayOvernight::getStatus, 1)
+                            .eq(WfRoomStayOvernight::getDeleteMark, DeleteMark.NODELETE.getCode())
+                            .le(WfRoomStayOvernight::getEndTime, sdf.format(week.getEndTime()))
+                            .ge(WfRoomStayOvernight::getStartTime, sdf.format(week.getStartTime()))
+                    );
+                    roomValueWeekRoomValueWeekItemMapper.updateById(new RoomValueWeekItem(){{
+                        setId(roomValueWeekItem.getId());
+                        setNumberPeople(maleStudents.intValue());
+                    }});
+                }else if("女寝".equals(roomValueWeekItem.getRoomType())){
+                    Long FemaleStudents = wfRoomStayOvernightMapper.selectCount(
+                            new QueryWrapper<WfRoomStayOvernight>().lambda()
+                                    .eq(WfRoomStayOvernight::getGenderName, "女")
+                                    .eq(WfRoomStayOvernight::getStatus, 1)
+                                    .eq(WfRoomStayOvernight::getDeleteMark, DeleteMark.NODELETE.getCode())
+                                    .le(WfRoomStayOvernight::getEndTime, sdf.format(week.getEndTime()))
+                                    .ge(WfRoomStayOvernight::getStartTime, sdf.format(week.getStartTime()))
+                    );
+                    roomValueWeekRoomValueWeekItemMapper.updateById(new RoomValueWeekItem(){{
+                        setId(roomValueWeekItem.getId());
+                        setNumberPeople(FemaleStudents.intValue());
+                    }});
+                }
+            }
+        }
+        return null;
+    }
+
+    @Override
+    public RoomValueWeekItemVo getItemInfo(Long id) {
+        RoomValueWeekItem roomValueWeekItem = roomValueWeekRoomValueWeekItemMapper.selectById(id);
+        RoomValueWeekItemVo itemVo = BeanUtil.toBean(roomValueWeekItem, RoomValueWeekItemVo.class);
+        RoomValueWeek roomValueWeek = roomValueWeekRoomValueWeekMapper.selectById(roomValueWeekItem.getRoomValueWeekId());
+
+
+        ZoneId zoneId = ZoneId.systemDefault();
+        itemVo.setStartTime(ZonedDateTime.ofInstant(roomValueWeek.getStartTime().toInstant(), zoneId).toLocalDate());
+        itemVo.setStartTime(ZonedDateTime.ofInstant(roomValueWeek.getEndTime().toInstant(), zoneId).toLocalDate());
+
+        return itemVo;
+    }
+
+    @Override
+    public Boolean updateItem(UpdateRoomValueWeekDto dto) {
+        roomValueWeekRoomValueWeekItemMapper.updateById(new RoomValueWeekItem(){{
+            setId(dto.getId());
+            setUserId(dto.getUserId());
+            setNumberPeople(dto.getNumberPeople());
+        }});
+        return true;
+    }
+}

+ 25 - 0
src/main/java/com/xjrsoft/module/room/service/impl/WfRoomReportServiceImpl.java

@@ -0,0 +1,25 @@
+package com.xjrsoft.module.room.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.module.room.entity.WfRoomReport;
+import com.xjrsoft.module.room.mapper.WfRoomReportMapper;
+import com.xjrsoft.module.room.service.IWfRoomReportService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+
+/**
+* @title: 寝室情况汇报
+* @Author szs
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Service
+@AllArgsConstructor
+public class WfRoomReportServiceImpl extends MPJBaseServiceImpl<WfRoomReportMapper, WfRoomReport> implements IWfRoomReportService {
+}

+ 15 - 14
src/main/java/com/xjrsoft/module/room/vo/RoomBedCheckRecordPageVo.java

@@ -2,14 +2,10 @@ package com.xjrsoft.module.room.vo;
 
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.alibaba.excel.annotation.write.style.ContentStyle;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.github.yulichang.annotation.EntityMapping;
-import com.xjrsoft.module.room.entity.RoomBedCheckRecordRelation;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.util.Date;
-import java.util.List;
 
 /**
 * @title: 查寝记录分页列表出参
@@ -34,13 +30,26 @@ public class RoomBedCheckRecordPageVo {
     @ExcelProperty("填写人")
     @ApiModelProperty("填写人")
     private Long userId;
+    /**
+     * 填写人
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("填写人")
+    @ApiModelProperty("填写人")
+    private String userIdCN;
     /**
     * 班级编号
     */
     @ContentStyle(dataFormat = 49)
     @ExcelProperty("班级编号")
     @ApiModelProperty("班级编号")
-    private Long classId;
+    private Long classId;/**
+     * 班级编号
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("班级编号")
+    @ApiModelProperty("班级编号")
+    private String classIdCN;
     /**
     * 查寝时间
     */
@@ -54,7 +63,7 @@ public class RoomBedCheckRecordPageVo {
     @ContentStyle(dataFormat = 49)
     @ExcelProperty("情况")
     @ApiModelProperty("情况")
-    private String condition;
+    private String record;
     /**
     * 备注
     */
@@ -70,12 +79,4 @@ public class RoomBedCheckRecordPageVo {
     @ApiModelProperty("附件文件id")
     private Long fileId;
 
-    /**
-     * roomBedCheckRecordRelation
-     */
-    @ApiModelProperty("roomBedCheckRecordRelation子表")
-    @TableField(exist = false)
-    @EntityMapping(thisField = "id", joinField = "roomBedCheckRecordId")
-    private List<RoomBedCheckRecordRelation> roomBedCheckRecordRelationList;
-
 }

+ 6 - 7
src/main/java/com/xjrsoft/module/room/vo/RoomBedCheckRecordRelationVo.java

@@ -3,12 +3,6 @@ package com.xjrsoft.module.room.vo;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Date;
-
 /**
 * @title: 查寝记录(关联寝室)表单出参
 * @Author szs
@@ -42,7 +36,12 @@ public class RoomBedCheckRecordRelationVo {
     * 楼栋(base_office_build)
     */
     @ApiModelProperty("楼栋(base_office_build)")
-    private String officeBuildId;
+    private Long officeBuildId;
+    /**
+     * 楼栋(base_office_build)
+     */
+    @ApiModelProperty("楼栋(base_office_build)")
+    private String officeBuildIdCN;
     /**
     * 楼层
     */

+ 53 - 27
src/main/java/com/xjrsoft/module/room/vo/RoomBedCheckRecordVo.java

@@ -1,14 +1,13 @@
 package com.xjrsoft.module.room.vo;
 
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import com.xjrsoft.module.system.entity.File;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.List;
 import java.util.Date;
-import com.xjrsoft.module.room.entity.RoomBedCheckRecordRelation;
+import java.util.List;
 
 /**
 * @title: 查寝记录表单出参
@@ -20,46 +19,73 @@ import com.xjrsoft.module.room.entity.RoomBedCheckRecordRelation;
 public class RoomBedCheckRecordVo {
 
     /**
-    * 主键编号
-    */
+     * 主键编号
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("主键编号")
     @ApiModelProperty("主键编号")
-    private Long id;
-    /**
-    * 序号
-    */
-    @ApiModelProperty("序号")
-    private Integer sortCode;
+    private String id;
     /**
-    * 填写人
-    */
+     * 填写人
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("填写人")
     @ApiModelProperty("填写人")
     private Long userId;
     /**
-    * 班级编号
-    */
+     * 填写人
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("填写人")
+    @ApiModelProperty("填写人")
+    private String userIdCN;
+    /**
+     * 班级编号
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("班级编号")
+    @ApiModelProperty("班级编号")
+    private Long classId;/**
+     * 班级编号
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("班级编号")
     @ApiModelProperty("班级编号")
-    private Long classId;
+    private String classIdCN;
     /**
-    * 查寝时间
-    */
+     * 查寝时间
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("查寝时间")
     @ApiModelProperty("查寝时间")
     private Date checkRecordTime;
     /**
-    * 情况
-    */
+     * 情况
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("情况")
     @ApiModelProperty("情况")
-    private String condition;
+    private String record;
     /**
-    * 备注
-    */
+     * 备注
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("备注")
     @ApiModelProperty("备注")
     private String remark;
     /**
-    * 附件文件id
-    */
+     * 附件文件id
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("附件文件id")
     @ApiModelProperty("附件文件id")
     private Long fileId;
 
+    /**
+     * 文件集合
+     */
+    @ApiModelProperty("文件集合")
+    private List<File> fileList;
 
     /**
     * roomBedCheckRecordRelation

+ 21 - 0
src/main/java/com/xjrsoft/module/room/vo/RoomValueWeekItemPeopleVo.java

@@ -0,0 +1,21 @@
+package com.xjrsoft.module.room.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+* @title: 宿管值班管理(人员)表单出参
+* @Author dzx
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+public class RoomValueWeekItemPeopleVo {
+
+    @ApiModelProperty("男生留宿人数")
+    private Integer maleStudents;
+
+    @ApiModelProperty("女生留宿人数")
+    private Integer femaleStudents;
+
+}

+ 65 - 0
src/main/java/com/xjrsoft/module/room/vo/RoomValueWeekItemVo.java

@@ -0,0 +1,65 @@
+package com.xjrsoft.module.room.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDate;
+import java.util.Date;
+
+/**
+* @title: 宿管值班管理(人员)表单出参
+* @Author dzx
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+public class RoomValueWeekItemVo {
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    private Long id;
+    /**
+    * 序号
+    */
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+    /**
+    * 宿管值班管理编号(room_value_week)
+    */
+    @ApiModelProperty("宿管值班管理编号(room_value_week)")
+    private Long roomValueWeekId;
+    /**
+    * 值班人员用户编号
+    */
+    @ApiModelProperty("值班人员用户编号")
+    private Long userId;
+    /**
+    * 职务(宿管、教官)
+    */
+    @ApiModelProperty("职务(宿管、教官)")
+    private String postName;
+    /**
+    * 负责寝室(男寝、女寝固定)
+    */
+    @ApiModelProperty("负责寝室(男寝、女寝固定)")
+    private String roomType;
+    /**
+    * 人数(添加时先默认统计一个进去)
+    */
+    @ApiModelProperty("人数(添加时先默认统计一个进去)")
+    private Integer numberPeople;
+
+    /**
+     * 开始时间
+     */
+    @ApiModelProperty("开始时间")
+    private LocalDate startTime;
+    /**
+     * 结束时间
+     */
+    @ApiModelProperty("结束时间")
+    private LocalDate endTime;
+
+}

+ 85 - 0
src/main/java/com/xjrsoft/module/room/vo/RoomValueWeekPageVo.java

@@ -0,0 +1,85 @@
+package com.xjrsoft.module.room.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import com.xjrsoft.common.annotation.Trans;
+import com.xjrsoft.common.enums.TransType;
+
+import java.time.LocalDate;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+* @title: 宿管值班管理分页列表出参
+* @Author dzx
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+public class RoomValueWeekPageVo {
+
+    /**
+    * 主键编号
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("主键编号")
+    @ApiModelProperty("主键编号")
+    private String id;
+    /**
+    * 序号
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("序号")
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+    /**
+    * 开始时间
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("开始时间")
+    @ApiModelProperty("开始时间")
+    private LocalDate startTime;
+    /**
+    * 结束时间
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("结束时间")
+    @ApiModelProperty("结束时间")
+    private LocalDate endTime;
+
+    /**
+     * 值班人员用户编号
+     */
+    @ApiModelProperty("值班人员用户编号")
+    private Long userId;
+
+    /**
+     * 值班人员用户编号
+     */
+    @ApiModelProperty("值班人员用户编号")
+    private String userName;
+    /**
+     * 职务(宿管、教官)
+     */
+    @ApiModelProperty("职务(宿管、教官)")
+    private String postName;
+    /**
+     * 负责寝室(男寝、女寝固定)
+     */
+    @ApiModelProperty("负责寝室(男寝、女寝固定)")
+    private String roomType;
+    /**
+     * 人数(添加时先默认统计一个进去)
+     */
+    @ApiModelProperty("人数(添加时先默认统计一个进去)")
+    private Integer numberPeople;
+
+}

+ 50 - 0
src/main/java/com/xjrsoft/module/room/vo/RoomValueWeekVo.java

@@ -0,0 +1,50 @@
+package com.xjrsoft.module.room.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+import com.xjrsoft.module.room.entity.RoomValueWeekItem;
+
+/**
+* @title: 宿管值班管理表单出参
+* @Author dzx
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+public class RoomValueWeekVo {
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    private Long id;
+    /**
+    * 序号
+    */
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+    /**
+    * 开始时间
+    */
+    @ApiModelProperty("开始时间")
+    private Date startTime;
+    /**
+    * 结束时间
+    */
+    @ApiModelProperty("结束时间")
+    private Date endTime;
+
+
+    /**
+    * roomValueWeekItem
+    */
+    @ApiModelProperty("roomValueWeekItem子表")
+    private List<RoomValueWeekItemVo> roomValueWeekItemList;
+
+}

+ 81 - 0
src/main/java/com/xjrsoft/module/room/vo/WfRoomReportPageVo.java

@@ -0,0 +1,81 @@
+package com.xjrsoft.module.room.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+* @title: 寝室情况汇报分页列表出参
+* @Author szs
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+public class WfRoomReportPageVo {
+
+    /**
+    * 主键编号
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("主键编号")
+    @ApiModelProperty("主键编号")
+    private String id;
+    /**
+    * 申请人
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("申请人")
+    @ApiModelProperty("申请人")
+    private Long applicantUserId;
+    /**
+     * 申请人
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("申请人")
+    @ApiModelProperty("申请人")
+    private String applicantUserIdCN;
+    /**
+    * 班主任用户编号
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("班主任用户编号")
+    @ApiModelProperty("班主任用户编号")
+    private Long headTeacherId;
+    /**
+     * 班主任用户编号
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("班主任用户编号")
+    @ApiModelProperty("班主任用户编号")
+    private String headTeacherIdCN;
+    /**
+    * 寝室+床位名称
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("寝室+床位名称")
+    @ApiModelProperty("寝室+床位名称")
+    private String roomBedNumber;
+    /**
+    * 备注
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("备注")
+    @ApiModelProperty("备注")
+    private String remark;
+    /**
+    * 附件文件id
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("附件文件id")
+    @ApiModelProperty("附件文件id")
+    private Long fileId;
+    /**
+    * 状态(1:结束 0:未结束)
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("状态(1:结束 0:未结束)")
+    @ApiModelProperty("状态(1:结束 0:未结束)")
+    private Integer status;
+
+}

+ 89 - 0
src/main/java/com/xjrsoft/module/room/vo/WfRoomReportVo.java

@@ -0,0 +1,89 @@
+package com.xjrsoft.module.room.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import com.xjrsoft.module.system.entity.File;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+
+/**
+* @title: 寝室情况汇报表单出参
+* @Author szs
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+public class WfRoomReportVo {
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    private Long id;
+    /**
+    * 序号
+    */
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+    /**
+     * 申请人
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("申请人")
+    @ApiModelProperty("申请人")
+    private Long applicantUserId;
+    /**
+     * 申请人
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("申请人")
+    @ApiModelProperty("申请人")
+    private String applicantUserIdCN;
+    /**
+     * 班主任用户编号
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("班主任用户编号")
+    @ApiModelProperty("班主任用户编号")
+    private Long headTeacherId;
+    /**
+     * 班主任用户编号
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("班主任用户编号")
+    @ApiModelProperty("班主任用户编号")
+    private String headTeacherIdCN;
+    /**
+    * 寝室+床位名称
+    */
+    @ApiModelProperty("寝室+床位名称")
+    private String roomBedNumber;
+    /**
+    * 备注
+    */
+    @ApiModelProperty("备注")
+    private String remark;
+    /**
+    * 附件文件id
+    */
+    @ApiModelProperty("附件文件id")
+    private Long fileId;
+
+    /**
+     * 附件文件
+     */
+    @ApiModelProperty("附件文件")
+    private List<File> fileList;
+
+    /**
+    * 状态(1:结束 0:未结束)
+    */
+    @ApiModelProperty("状态(1:结束 0:未结束)")
+    private Integer status;
+
+
+
+}

+ 81 - 4
src/main/java/com/xjrsoft/module/room/vo/WfRoomStayOvernightVo.java

@@ -1,12 +1,13 @@
 package com.xjrsoft.module.room.vo;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import com.alibaba.excel.annotation.write.style.HeadFontStyle;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.List;
 import java.util.Date;
 
 /**
@@ -21,81 +22,157 @@ public class WfRoomStayOvernightVo {
     /**
     * 主键编号
     */
+    @ExcelIgnore
     @ApiModelProperty("主键编号")
     private Long id;
     /**
     * 序号
     */
+    @ExcelIgnore
     @ApiModelProperty("序号")
     private Integer sortCode;
     /**
     * 申请人
     */
+    @ExcelIgnore
     @ApiModelProperty("申请人")
     private Long applicantUserId;
+    /**
+     * 申请人姓名
+     */
+    @ColumnWidth(15)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("申请人")
+    @ApiModelProperty("申请人姓名")
+    private String applicantUserIdCN;
     /**
     * 班主任用户编号
     */
+    @ExcelIgnore
     @ApiModelProperty("班主任用户编号")
     private Long headTeacherId;
+    /**
+     * 班主任姓名
+     */
+    @ColumnWidth(15)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("班主任")
+    @ApiModelProperty("班主任姓名")
+    private String headTeacherIdCN;
     /**
     * 寝室编号(room)
     */
+    @ExcelIgnore
     @ApiModelProperty("寝室编号(room)")
     private Long roomId;
     /**
     * 寝室+床位名称
     */
+    @ColumnWidth(25)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("寝室+床位名称")
     @ApiModelProperty("寝室+床位名称")
     private String roomBedNumber;
     /**
     * 学号
     */
+    @ColumnWidth(20)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("学号")
     @ApiModelProperty("学号")
     private String studentId;
     /**
     * 性别
     */
+    @ColumnWidth(15)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("性别")
     @ApiModelProperty("性别")
     private String genderName;
     /**
     * 班级
     */
+    @ColumnWidth(15)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("班级")
     @ApiModelProperty("班级")
     private String className;
     /**
     * 开始时间
     */
+    @ExcelIgnore
     @ApiModelProperty("开始时间")
     private Date startTime;
+    /**
+     * 开始时间
+     */
+    @ColumnWidth(20)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("开始时间")
+    @ApiModelProperty("开始时间")
+    private String startTimeStr;
     /**
     * 结束时间
     */
+    @ExcelIgnore
     @ApiModelProperty("结束时间")
     private Date endTime;
+    /**
+     * 结束时间
+     */
+    @ColumnWidth(20)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("结束时间")
+    @ApiModelProperty("结束时间")
+    private String endTimeStr;
     /**
     * 时长(天)
     */
+    @ColumnWidth(15)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("时长(天)")
     @ApiModelProperty("时长(天)")
     private Integer duration;
     /**
     * 联系电话
     */
+    @ColumnWidth(15)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("联系电话")
     @ApiModelProperty("联系电话")
     private String mobile;
     /**
     * 监护人电话
     */
+    @ColumnWidth(15)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("监护人电话")
     @ApiModelProperty("监护人电话")
     private String guardianMobile;
     /**
     * 备注
     */
+    @ColumnWidth(20)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("备注")
     @ApiModelProperty("备注")
     private String remark;
     /**
     * 状态(1:结束 0:未结束)
     */
+    @ExcelIgnore
     @ApiModelProperty("状态(1:结束 0:未结束)")
     private Integer status;
 

+ 5 - 0
src/main/java/com/xjrsoft/module/student/dto/StudentHonorsPageDto.java

@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.util.List;
+
 
 /**
 * @title: 学生荣誉分页查询入参
@@ -19,6 +21,9 @@ public class StudentHonorsPageDto extends PageInput {
     @ApiModelProperty("班级id")
     public Long classId;
 
+    @ApiModelProperty(value = "当前用户所管理的班级", hidden = true)
+    public List<Long> classIdList;
+
     @ApiModelProperty("学期Id")
     private Long baseSemesterId;
 }

+ 19 - 0
src/main/java/com/xjrsoft/module/student/service/impl/StudentHonorsServiceImpl.java

@@ -1,9 +1,13 @@
 package com.xjrsoft.module.student.service.impl;
 
+import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.module.base.entity.BaseClass;
+import com.xjrsoft.module.base.mapper.BaseClassMapper;
 import com.xjrsoft.module.student.dto.StudentHonorsPageDto;
 import com.xjrsoft.module.student.entity.StudentHonors;
 import com.xjrsoft.module.student.mapper.StudentHonorsMapper;
@@ -16,6 +20,7 @@ import com.xjrsoft.module.system.service.IFileService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -29,8 +34,22 @@ import java.util.List;
 public class StudentHonorsServiceImpl extends MPJBaseServiceImpl<StudentHonorsMapper, StudentHonors> implements IStudentHonorsService {
     private final StudentHonorsMapper studentHonorsMapper;
     private final IFileService fileService;
+
+    private final BaseClassMapper baseClassMapper;
     @Override
     public Page<StudentHonorsPageVo> getPage(Page<StudentHonorsPageDto> page, StudentHonorsPageDto dto) {
+        //获取当前用户所管理的班级
+        LambdaQueryWrapper<BaseClass> queryWrapperClass = new LambdaQueryWrapper<>();
+        queryWrapperClass
+                .eq(BaseClass::getTeacherId, StpUtil.getLoginIdAsLong());
+        List<BaseClass> baseClassList = baseClassMapper.selectList(queryWrapperClass);
+        List<Long> classIdList = new ArrayList<>();
+        if(baseClassList != null && baseClassList.size() > 0){
+            for (BaseClass baseClass : baseClassList) {
+                classIdList.add(baseClass.getId());
+            }
+            dto.setClassIdList(classIdList);
+        }
         return studentHonorsMapper.getPage(page, dto);
     }
 

+ 10 - 0
src/main/java/com/xjrsoft/module/teacher/entity/WfTeacherleave.java

@@ -49,6 +49,16 @@ public class WfTeacherleave implements Serializable {
     */
     @ApiModelProperty("是否班主任")
     private String isItAHomeroomTeacher;
+    /**
+     *替班班主任
+     */
+    @ApiModelProperty("替班班主任")
+    private Long reliefHomerooTeacherId;
+    /**
+     *替班教师
+     */
+    @ApiModelProperty("替班教师")
+    private Long reliefTeacherId;
     /**
     * 请假事由
     */

+ 22 - 16
src/main/java/com/xjrsoft/module/teacher/service/impl/WfTeacherleaveServiceImpl.java

@@ -61,23 +61,29 @@ public class WfTeacherleaveServiceImpl extends MPJBaseServiceImpl<WfTeacherleave
                  * 自动同步一条请假类型为“早自习、课间操”的数据到班主任事项请假列表。
                  */
                 if (dayOfWeekValue > 0 && dayOfWeekValue < 5
-                        && startTime.compareTo(forenoonStartDateTime) < 0
+                        && startTime.compareTo(forenoonEndDateTime) < 0
                         && endTime.compareTo(forenoonEndDateTime) > 0) {
-                    WfHeadTeacherLeave wfHeadTeacherLeave = new WfHeadTeacherLeave();
 
-                    wfHeadTeacherLeave.setWfTeacherleaveId(wfTeacherleave.getId());
-                    wfHeadTeacherLeave.setApplicantUserId(Long.valueOf(wfTeacherleave.getUserId()));
-                    wfHeadTeacherLeave.setLeaveReason(LeaveReasonEnum.LeaveReason2.getCode());
-                    Instant startTimeInstant = startTime.atZone(ZoneId.systemDefault()).toInstant();
-                    Date startTimeDate = Date.from(startTimeInstant);
-                    wfHeadTeacherLeave.setStartTime(startTimeDate);
-                    Instant endTimeInstant = endTime.atZone(ZoneId.systemDefault()).toInstant();
-                    Date endTimeDate = Date.from(endTimeInstant);
-                    wfHeadTeacherLeave.setEndTime(endTimeDate);
-                    wfHeadTeacherLeave.setRemark(wfTeacherleave.getReasonForLeave());
-                    wfHeadTeacherLeave.setStatus(1);
-
-                    wfHeadTeacherLeaveList.add(wfHeadTeacherLeave);
+                    wfHeadTeacherLeaveList.add(new WfHeadTeacherLeave(){{
+                        setWfTeacherleaveId(wfTeacherleave.getId());
+                        setApplicantUserId(Long.valueOf(wfTeacherleave.getUserId()));
+                        setLeaveReason(LeaveReasonEnum.LeaveReason2.getCode());
+                        Instant startTimeInstant = startTime.atZone(ZoneId.systemDefault()).toInstant();
+                        Date startTimeDate = Date.from(startTimeInstant);
+                        setStartTime(startTimeDate);
+                        Instant endTimeInstant = endTime.atZone(ZoneId.systemDefault()).toInstant();
+                        Date endTimeDate = Date.from(endTimeInstant);
+                        setEndTime(endTimeDate);
+                        setRemark(wfTeacherleave.getReasonForLeave());
+                        setStatus(1);
+                        if(wfTeacherleave.getLeaveDays() <= 1){
+                            setSubstituteUserId(wfTeacherleave.getReliefHomerooTeacherId());
+                        }
+                        if(wfTeacherleave.getLeaveDays() > 1){
+                            setSubstituteUserId(wfTeacherleave.getReliefTeacherId());
+                        }
+
+                    }});
                 }
                 /*
                  * 当天是在星期五,
@@ -86,7 +92,7 @@ public class WfTeacherleaveServiceImpl extends MPJBaseServiceImpl<WfTeacherleave
                  * 自动同步一条请假类型为“学生放假”的数据到班主任事项请假列表。
                  */
                 if (dayOfWeekValue == 5
-                        && startTime.compareTo(afternoonStartDateTime) < 0
+                        && startTime.compareTo(afternoonEndDateTime) < 0
                         && endTime.compareTo(afternoonEndDateTime) > 0) {
                     WfHeadTeacherLeave wfHeadTeacherLeave = new WfHeadTeacherLeave();
 

+ 1 - 1
src/main/java/com/xjrsoft/module/textbook/controller/SubjectGroupController.java

@@ -10,6 +10,7 @@ import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.base.entity.BaseCourseSubject;
+import com.xjrsoft.module.textbook.vo.SubjectGroupVo;
 import com.xjrsoft.module.teacher.entity.XjrUser;
 import com.xjrsoft.module.textbook.dto.AddCourseToSubjectGroupDto;
 import com.xjrsoft.module.textbook.dto.AddSubjectGroupDto;
@@ -21,7 +22,6 @@ import com.xjrsoft.module.textbook.service.ISubjectGroupCourseService;
 import com.xjrsoft.module.textbook.service.ISubjectGroupService;
 import com.xjrsoft.module.textbook.vo.SubjectGroupCoursePageVo;
 import com.xjrsoft.module.textbook.vo.SubjectGroupPageVo;
-import com.xjrsoft.module.textbook.vo.SubjectGroupVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;

+ 1 - 1
src/main/java/com/xjrsoft/module/textbook/controller/SubjectGroupCourseController.java

@@ -10,6 +10,7 @@ import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.base.entity.BaseCourseSubject;
+import com.xjrsoft.module.textbook.vo.SubjectGroupCourseVo;
 import com.xjrsoft.module.textbook.dto.AddSubjectGroupCourseDto;
 import com.xjrsoft.module.textbook.dto.SubjectGroupCoursePageDto;
 import com.xjrsoft.module.textbook.dto.UpdateSubjectGroupCourseDto;
@@ -17,7 +18,6 @@ import com.xjrsoft.module.textbook.entity.SubjectGroup;
 import com.xjrsoft.module.textbook.entity.SubjectGroupCourse;
 import com.xjrsoft.module.textbook.service.ISubjectGroupCourseService;
 import com.xjrsoft.module.textbook.vo.SubjectGroupCoursePageVo;
-import com.xjrsoft.module.textbook.vo.SubjectGroupCourseVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;

+ 5 - 5
src/main/java/com/xjrsoft/module/textbook/controller/TextbookController.java

@@ -9,17 +9,17 @@ import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.module.textbook.dto.AddTextbookWarehouseRecordDto;
-import com.xjrsoft.module.textbook.dto.AddTextbookDto;
 import com.xjrsoft.module.textbook.dto.TextbookPageDto;
-import com.xjrsoft.module.textbook.dto.UpdateTextbookDto;
 import com.xjrsoft.module.textbook.entity.Textbook;
-import com.xjrsoft.module.textbook.service.ITextbookService;
-import com.xjrsoft.module.textbook.vo.TextbookWarehouseRecordListVo;
-import com.xjrsoft.module.textbook.vo.TextbookIssueRecordListVo;
 import com.xjrsoft.module.textbook.vo.TextbookPageVo;
 import com.xjrsoft.module.textbook.vo.TextbookSubscriptionRecordVo;
 import com.xjrsoft.module.textbook.vo.TextbookVo;
 import com.xjrsoft.module.textbook.vo.WfTextbookClaimListVo;
+import com.xjrsoft.module.textbook.dto.AddTextbookDto;
+import com.xjrsoft.module.textbook.dto.UpdateTextbookDto;
+import com.xjrsoft.module.textbook.service.ITextbookService;
+import com.xjrsoft.module.textbook.vo.TextbookWarehouseRecordListVo;
+import com.xjrsoft.module.textbook.vo.TextbookIssueRecordListVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;

+ 9 - 5
src/main/java/com/xjrsoft/module/textbook/controller/TextbookStudentClaimController.java

@@ -139,11 +139,15 @@ public class TextbookStudentClaimController {
     @PutMapping("/teacher-confirm")
     @ApiOperation(value = "教师帮助学生确认已经领取")
     @SaCheckPermission("textbookstudentclaim:edit")
-    public RT<Boolean> teacherConfirm(@Valid @RequestBody TeacherConfirmDto dto){
-        TextbookStudentClaim textbookStudentClaim = BeanUtil.toBean(dto, TextbookStudentClaim.class);
-        textbookStudentClaim.setIsClaim(1);
-        textbookStudentClaim.setRemark(dto.getRemark());
-        return RT.ok(textbookStudentClaimService.updateById(textbookStudentClaim));
+    public RT<Boolean> teacherConfirm(@Valid @RequestBody List<TeacherConfirmDto> teacherConfirmDtoList){
+        for (TeacherConfirmDto dto : teacherConfirmDtoList) {
+            TextbookStudentClaim textbookStudentClaim = BeanUtil.toBean(dto, TextbookStudentClaim.class);
+            textbookStudentClaim.setId(dto.getTextbookStudentClaimId());
+            textbookStudentClaim.setIsClaim(1);
+            textbookStudentClaim.setRemark(dto.getRemark());
+            textbookStudentClaimService.updateById(textbookStudentClaim);
+        }
+        return RT.ok(true);
     }
 
     @DeleteMapping

+ 2 - 2
src/main/java/com/xjrsoft/module/textbook/controller/TextbookWarehouseRecordController.java

@@ -8,12 +8,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
+import com.xjrsoft.module.textbook.entity.TextbookWarehouseRecord;
+import com.xjrsoft.module.textbook.vo.TextbookWarehouseRecordPageVo;
 import com.xjrsoft.module.textbook.dto.AddTextbookWarehouseRecordDto;
 import com.xjrsoft.module.textbook.dto.TextbookWarehouseRecordPageDto;
 import com.xjrsoft.module.textbook.dto.UpdateTextbookWarehouseRecordDto;
-import com.xjrsoft.module.textbook.entity.TextbookWarehouseRecord;
 import com.xjrsoft.module.textbook.service.ITextbookWarehouseRecordService;
-import com.xjrsoft.module.textbook.vo.TextbookWarehouseRecordPageVo;
 import com.xjrsoft.module.textbook.vo.TextbookWarehouseRecordVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;

+ 1 - 1
src/main/java/com/xjrsoft/module/textbook/controller/WfTextbookClaimController.java

@@ -9,13 +9,13 @@ import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.common.utils.QrCodeUtil;
 import com.xjrsoft.config.CommonPropertiesConfig;
+import com.xjrsoft.module.textbook.vo.WfTextbookClaimPageVo;
 import com.xjrsoft.module.textbook.dto.AddWfTextbookClaimDto;
 import com.xjrsoft.module.textbook.dto.ConfirmDistributeDto;
 import com.xjrsoft.module.textbook.dto.UpdateWfTextbookClaimDto;
 import com.xjrsoft.module.textbook.dto.WfTextbookClaimPageDto;
 import com.xjrsoft.module.textbook.entity.WfTextbookClaim;
 import com.xjrsoft.module.textbook.service.IWfTextbookClaimService;
-import com.xjrsoft.module.textbook.vo.WfTextbookClaimPageVo;
 import com.xjrsoft.module.textbook.vo.WfTextbookClaimVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;

+ 108 - 0
src/main/java/com/xjrsoft/module/textbook/controller/WfTextbookRecedeController.java

@@ -0,0 +1,108 @@
+package com.xjrsoft.module.textbook.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.support.ExcelTypeEnum;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.xjrsoft.common.model.result.RT;
+import com.xjrsoft.common.page.ConventPage;
+import com.xjrsoft.common.page.PageOutput;
+import com.xjrsoft.common.utils.VoToColumnUtil;
+import com.xjrsoft.module.textbook.service.IWfTextbookRecedeService;
+import com.xjrsoft.module.textbook.dto.AddWfTextbookRecedeDto;
+import com.xjrsoft.module.textbook.dto.UpdateWfTextbookRecedeDto;
+import com.xjrsoft.module.textbook.dto.WfTextbookRecedePageDto;
+import com.xjrsoft.module.textbook.entity.WfTextbookRecede;
+import com.xjrsoft.module.textbook.vo.WfTextbookRecedePageVo;
+import com.xjrsoft.module.textbook.vo.WfTextbookRecedeVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.io.ByteArrayOutputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+* @title: 推书申请
+* @Author szs
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@RestController
+@RequestMapping("/textbook" + "/wfTextbookRecede")
+@Api(value = "/textbook"  + "/wfTextbookRecede",tags = "推书申请代码")
+@AllArgsConstructor
+public class WfTextbookRecedeController {
+
+
+    private final IWfTextbookRecedeService wfTextbookRecedeService;
+
+    @GetMapping(value = "/page")
+    @ApiOperation(value="推书申请列表(分页)")
+    @SaCheckPermission("wftextbookrecede:detail")
+    public RT<PageOutput<WfTextbookRecedePageVo>> page(@Valid WfTextbookRecedePageDto dto){
+
+        LambdaQueryWrapper<WfTextbookRecede> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper
+                    .orderByDesc(WfTextbookRecede::getId)
+                .select(WfTextbookRecede.class,x -> VoToColumnUtil.fieldsToColumns(WfTextbookRecedePageVo.class).contains(x.getProperty()));
+        IPage<WfTextbookRecede> page = wfTextbookRecedeService.page(ConventPage.getPage(dto), queryWrapper);
+        PageOutput<WfTextbookRecedePageVo> pageOutput = ConventPage.getPageOutput(page, WfTextbookRecedePageVo.class);
+        return RT.ok(pageOutput);
+    }
+
+    @GetMapping(value = "/info")
+    @ApiOperation(value="根据id查询推书申请信息")
+    @SaCheckPermission("wftextbookrecede:detail")
+    public RT<WfTextbookRecedeVo> info(@RequestParam Long id){
+        WfTextbookRecede wfTextbookRecede = wfTextbookRecedeService.getByIdDeep(id);
+        if (wfTextbookRecede == null) {
+           return RT.error("找不到此数据!");
+        }
+        return RT.ok(BeanUtil.toBean(wfTextbookRecede, WfTextbookRecedeVo.class));
+    }
+
+
+    @PostMapping
+    @ApiOperation(value = "新增推书申请")
+    @SaCheckPermission("wftextbookrecede:add")
+    public RT<Boolean> add(@Valid @RequestBody AddWfTextbookRecedeDto dto){
+        WfTextbookRecede wfTextbookRecede = BeanUtil.toBean(dto, WfTextbookRecede.class);
+        boolean isSuccess = wfTextbookRecedeService.add(wfTextbookRecede);
+    return RT.ok(isSuccess);
+    }
+
+    @PutMapping
+    @ApiOperation(value = "修改推书申请")
+    @SaCheckPermission("wftextbookrecede:edit")
+    public RT<Boolean> update(@Valid @RequestBody UpdateWfTextbookRecedeDto dto){
+
+        WfTextbookRecede wfTextbookRecede = BeanUtil.toBean(dto, WfTextbookRecede.class);
+        return RT.ok(wfTextbookRecedeService.update(wfTextbookRecede));
+
+    }
+
+    @DeleteMapping
+    @ApiOperation(value = "删除推书申请")
+    @SaCheckPermission("wftextbookrecede:delete")
+    public RT<Boolean> delete(@Valid @RequestBody List<Long> ids){
+        return RT.ok(wfTextbookRecedeService.delete(ids));
+
+    }
+
+    @GetMapping("/export")
+    @ApiOperation(value = "导出")
+    public ResponseEntity<byte[]> exportData(@Valid WfTextbookRecedePageDto dto, @RequestParam(defaultValue = "false") Boolean isTemplate) {
+        List<WfTextbookRecedePageVo> customerList = isTemplate != null && isTemplate ? new ArrayList<>() : ((PageOutput<WfTextbookRecedePageVo>) page(dto).getData()).getList();
+        ByteArrayOutputStream bot = new ByteArrayOutputStream();
+        EasyExcel.write(bot, WfTextbookRecedePageVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(customerList);
+
+        return RT.fileStream(bot.toByteArray(), "WfTextbookRecede" + ExcelTypeEnum.XLSX.getValue());
+    }
+}

+ 0 - 7
src/main/java/com/xjrsoft/module/textbook/dto/AddTextbookDto.java

@@ -3,16 +3,9 @@ package com.xjrsoft.module.textbook.dto;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import java.io.Serializable;
-import com.fasterxml.jackson.annotation.JsonFormat;
 
-import java.time.LocalTime;
-import java.time.LocalDateTime;
 import java.math.BigDecimal;
 import java.util.List;
-import java.util.Date;
-import com.xjrsoft.module.textbook.entity.TextbookClassRelation;
-import com.xjrsoft.module.textbook.entity.TextbookSubscriptionRecord;
-
 
 
 /**

+ 0 - 7
src/main/java/com/xjrsoft/module/textbook/dto/AddWfExerciseBookDto.java

@@ -3,15 +3,8 @@ package com.xjrsoft.module.textbook.dto;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import java.io.Serializable;
-import com.fasterxml.jackson.annotation.JsonFormat;
 
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
 import java.util.List;
-import java.util.Date;
-import com.xjrsoft.module.textbook.entity.WfExerciseBookItem;
-
 
 
 /**

+ 0 - 7
src/main/java/com/xjrsoft/module/textbook/dto/AddWfTextbookClaimDto.java

@@ -3,15 +3,8 @@ package com.xjrsoft.module.textbook.dto;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import java.io.Serializable;
-import com.fasterxml.jackson.annotation.JsonFormat;
 
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
 import java.util.List;
-import java.util.Date;
-import com.xjrsoft.module.textbook.entity.WfTextbookClaimItem;
-
 
 
 /**

+ 62 - 0
src/main/java/com/xjrsoft/module/textbook/dto/AddWfTextbookRecedeDto.java

@@ -0,0 +1,62 @@
+package com.xjrsoft.module.textbook.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+
+import java.util.List;
+
+
+/**
+* @title: 推书申请
+* @Author szs
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+public class AddWfTextbookRecedeDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 序号
+    */
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+    /**
+    * 申请人
+    */
+    @ApiModelProperty("申请人")
+    private Long applicantUserId;
+    /**
+    * 学期ID(base_semester)
+    */
+    @ApiModelProperty("学期ID(base_semester)")
+    private Long baseSemesterId;
+    /**
+    * 班级编号
+    */
+    @ApiModelProperty("班级编号")
+    private Long classId;
+    /**
+    * 退书类型(xjr_dictionary_item[recede_type])
+    */
+    @ApiModelProperty("退书类型(xjr_dictionary_item[recede_type])")
+    private String recedeType;
+    /**
+    * 退还地点
+    */
+    @ApiModelProperty("退还地点")
+    private String recedeAddress;
+    /**
+    * 状态(1:结束 0:未结束)
+    */
+    @ApiModelProperty("状态(1:结束 0:未结束)")
+    private Integer status;
+
+    /**
+    * wfTextbookRecedeItem
+    */
+    @ApiModelProperty("wfTextbookRecedeItem子表")
+    private List<AddWfTextbookRecedeItemDto> wfTextbookRecedeItemList;
+}

+ 48 - 0
src/main/java/com/xjrsoft/module/textbook/dto/AddWfTextbookRecedeItemDto.java

@@ -0,0 +1,48 @@
+package com.xjrsoft.module.textbook.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+
+
+/**
+* @title: 推书申请项
+* @Author szs
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+public class AddWfTextbookRecedeItemDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 序号
+    */
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+    /**
+    * 退书申请编号
+    */
+    @ApiModelProperty("退书申请编号")
+    private Long wfTextbookRecedeId;
+    /**
+    * 教材管理编号
+    */
+    @ApiModelProperty("教材管理编号")
+    private Long textbookId;
+    /**
+    * 数量
+    */
+    @ApiModelProperty("数量")
+    private Integer number;
+
+}

+ 0 - 7
src/main/java/com/xjrsoft/module/textbook/dto/AddWfTextbookSubscriptionDto.java

@@ -3,15 +3,8 @@ package com.xjrsoft.module.textbook.dto;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import java.io.Serializable;
-import com.fasterxml.jackson.annotation.JsonFormat;
 
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
 import java.util.List;
-import java.util.Date;
-import com.xjrsoft.module.textbook.entity.WfTextbookSubscriptionItem;
-
 
 
 /**

+ 4 - 1
src/main/java/com/xjrsoft/module/textbook/dto/TextbookPageDto.java

@@ -43,7 +43,10 @@ public class TextbookPageDto extends PageInput {
     @ApiModelProperty("书号")
     public String issn;
 
-    @ApiModelProperty("出版社")
+    @ApiModelProperty("主编")
     public String editorInChief;
 
+    @ApiModelProperty("出版色")
+    public String publishingHouse;
+
 }

+ 0 - 9
src/main/java/com/xjrsoft/module/textbook/dto/UpdateSubjectGroupCourseDto.java

@@ -2,15 +2,6 @@ package com.xjrsoft.module.textbook.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import java.io.Serializable;
-
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import java.util.List;
-import java.util.Date;
-
 
 
 /**

+ 0 - 9
src/main/java/com/xjrsoft/module/textbook/dto/UpdateTextbookClaimUserDto.java

@@ -2,15 +2,6 @@ package com.xjrsoft.module.textbook.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import java.io.Serializable;
-
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import java.util.List;
-import java.util.Date;
-
 
 
 /**

+ 0 - 11
src/main/java/com/xjrsoft/module/textbook/dto/UpdateTextbookDto.java

@@ -2,17 +2,6 @@ package com.xjrsoft.module.textbook.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import java.io.Serializable;
-
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import java.util.List;
-import java.util.Date;
-import com.xjrsoft.module.textbook.entity.TextbookClassRelation;
-import com.xjrsoft.module.textbook.entity.TextbookSubscriptionRecord;
-
 
 
 /**

+ 0 - 9
src/main/java/com/xjrsoft/module/textbook/dto/UpdateTextbookIssueRecordDto.java

@@ -2,15 +2,6 @@ package com.xjrsoft.module.textbook.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import java.io.Serializable;
-
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import java.util.List;
-import java.util.Date;
-
 
 
 /**

+ 0 - 9
src/main/java/com/xjrsoft/module/textbook/dto/UpdateTextbookStudentClaimDto.java

@@ -2,15 +2,6 @@ package com.xjrsoft.module.textbook.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import java.io.Serializable;
-
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import java.util.List;
-import java.util.Date;
-
 
 
 /**

+ 0 - 10
src/main/java/com/xjrsoft/module/textbook/dto/UpdateWfExerciseBookDto.java

@@ -2,16 +2,6 @@ package com.xjrsoft.module.textbook.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import java.io.Serializable;
-
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import java.util.List;
-import java.util.Date;
-import com.xjrsoft.module.textbook.entity.WfExerciseBookItem;
-
 
 
 /**

+ 23 - 0
src/main/java/com/xjrsoft/module/textbook/dto/UpdateWfTextbookRecedeDto.java

@@ -0,0 +1,23 @@
+package com.xjrsoft.module.textbook.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+* @title: 推书申请
+* @Author szs
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+public class UpdateWfTextbookRecedeDto extends AddWfTextbookRecedeDto {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    private Long id;
+}

+ 0 - 10
src/main/java/com/xjrsoft/module/textbook/dto/UpdateWfTextbookSubscriptionDto.java

@@ -2,16 +2,6 @@ package com.xjrsoft.module.textbook.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import java.io.Serializable;
-
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import java.util.List;
-import java.util.Date;
-import com.xjrsoft.module.textbook.entity.WfTextbookSubscriptionItem;
-
 
 
 /**

+ 26 - 0
src/main/java/com/xjrsoft/module/textbook/dto/WfTextbookRecedePageDto.java

@@ -0,0 +1,26 @@
+package com.xjrsoft.module.textbook.dto;
+
+import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.Date;
+
+
+/**
+* @title: 推书申请分页查询入参
+* @Author szs
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class WfTextbookRecedePageDto extends PageInput {
+
+
+}

+ 13 - 16
src/main/java/com/xjrsoft/module/textbook/entity/TextbookIssueRecord.java

@@ -1,19 +1,11 @@
 package com.xjrsoft.module.textbook.entity;
 
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.github.yulichang.annotation.EntityMapping;
+import com.baomidou.mybatisplus.annotation.*;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+
 import java.io.Serializable;
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.List;
 import java.util.Date;
 
 
@@ -79,15 +71,20 @@ public class TextbookIssueRecord implements Serializable {
     @ApiModelProperty("序号")
     private Integer sortCode;
     /**
-    * 教材申领编号
+     * 教材管理编号
+     */
+    @ApiModelProperty("教材管理编号")
+    private Long textbookId;
+    /**
+    * 数据编号(根据出库方式,编号来自不同数据表)
     */
-    @ApiModelProperty("教材申领编号")
-    private Long wfTextbookClaimId;
+    @ApiModelProperty("数据编号(根据出库方式,编号来自不同数据表)")
+    private Long dataId;
     /**
-    * 教材申领项编号
+    * 数据项项编号(根据出库方式,编号来自不同数据表)
     */
-    @ApiModelProperty("教材申领项编号")
-    private Long wfTextbookClaimItemId;
+    @ApiModelProperty("数据项项编号(根据出库方式,编号来自不同数据表)")
+    private Long dataItemId;
     /**
     * 出库数量
     */

+ 16 - 0
src/main/java/com/xjrsoft/module/textbook/entity/TextbookWarehouseRecord.java

@@ -79,6 +79,16 @@ public class TextbookWarehouseRecord implements Serializable {
     */
     @ApiModelProperty("教材管理编号")
     private Long textbookId;
+    /**
+     * 数据编号(根据入库方式,编号来自不同数据表)
+     */
+    @ApiModelProperty("数据编号(根据入库方式,编号来自不同数据表)")
+    private Long dataId;
+    /**
+     * 数据项项编号(根据入库方式,编号来自不同数据表)
+     */
+    @ApiModelProperty("数据项项编号(根据入库方式,编号来自不同数据表)")
+    private Long dataItemId;
     /**
     * 入库数量
     */
@@ -114,5 +124,11 @@ public class TextbookWarehouseRecord implements Serializable {
      */
     @ApiModelProperty("入库方式")
     private String warehouseMode;
+    /**
+     * 备注
+     */
+    @ApiModelProperty("备注")
+    private String remark;
+
 
 }

+ 0 - 3
src/main/java/com/xjrsoft/module/textbook/entity/WfExerciseBook.java

@@ -10,9 +10,6 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import java.io.Serializable;
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
 import java.util.List;
 import java.util.Date;
 

+ 0 - 3
src/main/java/com/xjrsoft/module/textbook/entity/WfTextbookClaim.java

@@ -10,9 +10,6 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import java.io.Serializable;
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
 import java.util.List;
 import java.util.Date;
 

+ 117 - 0
src/main/java/com/xjrsoft/module/textbook/entity/WfTextbookRecede.java

@@ -0,0 +1,117 @@
+package com.xjrsoft.module.textbook.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.yulichang.annotation.EntityMapping;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import java.util.List;
+import java.util.Date;
+
+
+/**
+* @title: 推书申请
+* @Author szs
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+@TableName("wf_textbook_recede")
+@ApiModel(value = "wf_textbook_recede", description = "推书申请")
+public class WfTextbookRecede implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    @TableId
+    private Long id;
+    /**
+    * 创建人
+    */
+    @ApiModelProperty("创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+    /**
+    * 创建时间
+    */
+    @ApiModelProperty("创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createDate;
+    /**
+    * 修改人
+    */
+    @ApiModelProperty("修改人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
+    /**
+    * 修改时间
+    */
+    @ApiModelProperty("修改时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private Date modifyDate;
+    /**
+    * 删除标记
+    */
+    @ApiModelProperty("删除标记")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+    /**
+    * 有效标志
+    */
+    @ApiModelProperty("有效标志")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+    /**
+    * 序号
+    */
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+    /**
+    * 申请人
+    */
+    @ApiModelProperty("申请人")
+    private Long applicantUserId;
+    /**
+    * 学期ID(base_semester)
+    */
+    @ApiModelProperty("学期ID(base_semester)")
+    private Long baseSemesterId;
+    /**
+    * 班级编号
+    */
+    @ApiModelProperty("班级编号")
+    private Long classId;
+    /**
+    * 退书类型(xjr_dictionary_item[recede_type])
+    */
+    @ApiModelProperty("退书类型(xjr_dictionary_item[recede_type])")
+    private String recedeType;
+    /**
+    * 退还地点
+    */
+    @ApiModelProperty("退还地点")
+    private String recedeAddress;
+    /**
+    * 状态(1:结束 0:未结束)
+    */
+    @ApiModelProperty("状态(1:结束 0:未结束)")
+    private Integer status;
+
+    /**
+    * wfTextbookRecedeItem
+    */
+    @ApiModelProperty("wfTextbookRecedeItem子表")
+    @TableField(exist = false)
+    @EntityMapping(thisField = "id", joinField = "wfTextbookRecedeId")
+    private List<WfTextbookRecedeItem> wfTextbookRecedeItemList;
+
+}

+ 98 - 0
src/main/java/com/xjrsoft/module/textbook/entity/WfTextbookRecedeItem.java

@@ -0,0 +1,98 @@
+package com.xjrsoft.module.textbook.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.yulichang.annotation.EntityMapping;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+
+/**
+* @title: 推书申请项
+* @Author szs
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+@TableName("wf_textbook_recede_item")
+@ApiModel(value = "wf_textbook_recede_item", description = "推书申请项")
+public class WfTextbookRecedeItem implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    @TableId
+    private Long id;
+    /**
+    * 创建人
+    */
+    @ApiModelProperty("创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+    /**
+    * 创建时间
+    */
+    @ApiModelProperty("创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createDate;
+    /**
+    * 修改人
+    */
+    @ApiModelProperty("修改人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
+    /**
+    * 修改时间
+    */
+    @ApiModelProperty("修改时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private Date modifyDate;
+    /**
+    * 删除标记
+    */
+    @ApiModelProperty("删除标记")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+    /**
+    * 有效标志
+    */
+    @ApiModelProperty("有效标志")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+    /**
+    * 序号
+    */
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+    /**
+    * 退书申请编号
+    */
+    @ApiModelProperty("退书申请编号")
+    private Long wfTextbookRecedeId;
+    /**
+    * 教材管理编号
+    */
+    @ApiModelProperty("教材管理编号")
+    private Long textbookId;
+    /**
+    * 数量
+    */
+    @ApiModelProperty("数量")
+    private Integer number;
+
+
+}

+ 0 - 3
src/main/java/com/xjrsoft/module/textbook/entity/WfTextbookSubscription.java

@@ -10,9 +10,6 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import java.io.Serializable;
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
 import java.util.List;
 import java.util.Date;
 

+ 0 - 1
src/main/java/com/xjrsoft/module/textbook/mapper/SubjectGroupCourseMapper.java

@@ -1,6 +1,5 @@
 package com.xjrsoft.module.textbook.mapper;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.textbook.entity.SubjectGroupCourse;
 import org.apache.ibatis.annotations.Mapper;

+ 0 - 1
src/main/java/com/xjrsoft/module/textbook/mapper/SubjectGroupMapper.java

@@ -1,6 +1,5 @@
 package com.xjrsoft.module.textbook.mapper;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.textbook.entity.SubjectGroup;
 import org.apache.ibatis.annotations.Mapper;

+ 0 - 1
src/main/java/com/xjrsoft/module/textbook/mapper/TextbookClaimUserMapper.java

@@ -1,6 +1,5 @@
 package com.xjrsoft.module.textbook.mapper;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.textbook.entity.TextbookClaimUser;
 import org.apache.ibatis.annotations.Mapper;

+ 0 - 1
src/main/java/com/xjrsoft/module/textbook/mapper/TextbookClassRelationMapper.java

@@ -1,6 +1,5 @@
 package com.xjrsoft.module.textbook.mapper;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.textbook.entity.TextbookClassRelation;
 import org.apache.ibatis.annotations.Mapper;

+ 0 - 1
src/main/java/com/xjrsoft/module/textbook/mapper/TextbookIssueRecordMapper.java

@@ -1,6 +1,5 @@
 package com.xjrsoft.module.textbook.mapper;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.textbook.dto.TextbookIssueRecordPageDto;

+ 4 - 4
src/main/java/com/xjrsoft/module/textbook/mapper/TextbookMapper.java

@@ -2,16 +2,16 @@ package com.xjrsoft.module.textbook.mapper;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.textbook.vo.TextbookPageVo;
+import com.xjrsoft.module.textbook.vo.TextbookSubscriptionRecordVo;
+import com.xjrsoft.module.textbook.vo.TextbookVo;
+import com.xjrsoft.module.textbook.vo.WfTextbookClaimListVo;
 import com.xjrsoft.module.textbook.dto.TextbookPageDto;
 import com.xjrsoft.module.textbook.entity.Textbook;
 import com.xjrsoft.module.textbook.entity.TextbookClassRelation;
 import com.xjrsoft.module.textbook.vo.TextbookWarehouseRecordListVo;
 import com.xjrsoft.module.textbook.vo.TextbookIssueRecordListVo;
-import com.xjrsoft.module.textbook.vo.TextbookPageVo;
 import com.xjrsoft.module.textbook.vo.TextbookSubscriptionClassVo;
-import com.xjrsoft.module.textbook.vo.TextbookSubscriptionRecordVo;
-import com.xjrsoft.module.textbook.vo.TextbookVo;
-import com.xjrsoft.module.textbook.vo.WfTextbookClaimListVo;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;

+ 2 - 2
src/main/java/com/xjrsoft/module/textbook/mapper/TextbookStudentClaimMapper.java

@@ -2,13 +2,13 @@ package com.xjrsoft.module.textbook.mapper;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.textbook.entity.TextbookStudentClaim;
+import com.xjrsoft.module.textbook.vo.TeacherCheckByclassVo;
 import com.xjrsoft.module.textbook.dto.TeacherCheckByStuDto;
 import com.xjrsoft.module.textbook.dto.TeacherCheckByclassDto;
 import com.xjrsoft.module.textbook.dto.TeacherCheckStuClaimDto;
 import com.xjrsoft.module.textbook.dto.TextbookClaimStudentConfirmDto;
-import com.xjrsoft.module.textbook.entity.TextbookStudentClaim;
 import com.xjrsoft.module.textbook.vo.TeacherCheckByStuVo;
-import com.xjrsoft.module.textbook.vo.TeacherCheckByclassVo;
 import com.xjrsoft.module.textbook.vo.TeacherCheckStuClaimVo;
 import com.xjrsoft.module.textbook.vo.TextbookClaimVO;
 import org.apache.ibatis.annotations.Mapper;

+ 0 - 1
src/main/java/com/xjrsoft/module/textbook/mapper/TextbookSubscriptionRecordMapper.java

@@ -1,6 +1,5 @@
 package com.xjrsoft.module.textbook.mapper;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.textbook.entity.TextbookSubscriptionRecord;
 import org.apache.ibatis.annotations.Mapper;

+ 1 - 1
src/main/java/com/xjrsoft/module/textbook/mapper/TextbookWarehouseRecordMapper.java

@@ -2,9 +2,9 @@ package com.xjrsoft.module.textbook.mapper;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.textbook.vo.TextbookWarehouseRecordPageVo;
 import com.xjrsoft.module.textbook.dto.TextbookWarehouseRecordPageDto;
 import com.xjrsoft.module.textbook.entity.TextbookWarehouseRecord;
-import com.xjrsoft.module.textbook.vo.TextbookWarehouseRecordPageVo;
 import org.apache.ibatis.annotations.Mapper;
 
 /**

+ 0 - 1
src/main/java/com/xjrsoft/module/textbook/mapper/WfExerciseBookItemMapper.java

@@ -1,6 +1,5 @@
 package com.xjrsoft.module.textbook.mapper;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.textbook.entity.WfExerciseBookItem;
 import org.apache.ibatis.annotations.Mapper;

+ 0 - 1
src/main/java/com/xjrsoft/module/textbook/mapper/WfExerciseBookMapper.java

@@ -1,6 +1,5 @@
 package com.xjrsoft.module.textbook.mapper;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.textbook.entity.WfExerciseBook;
 import org.apache.ibatis.annotations.Mapper;

+ 1 - 1
src/main/java/com/xjrsoft/module/textbook/mapper/WfTextbookClaimItemMapper.java

@@ -1,8 +1,8 @@
 package com.xjrsoft.module.textbook.mapper;
 
 import com.github.yulichang.base.MPJBaseMapper;
-import com.xjrsoft.module.textbook.entity.WfTextbookClaimItem;
 import com.xjrsoft.module.textbook.vo.WfTextbookClaimItemVo;
+import com.xjrsoft.module.textbook.entity.WfTextbookClaimItem;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;

+ 1 - 1
src/main/java/com/xjrsoft/module/textbook/mapper/WfTextbookClaimMapper.java

@@ -2,9 +2,9 @@ package com.xjrsoft.module.textbook.mapper;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.textbook.vo.WfTextbookClaimPageVo;
 import com.xjrsoft.module.textbook.dto.WfTextbookClaimPageDto;
 import com.xjrsoft.module.textbook.entity.WfTextbookClaim;
-import com.xjrsoft.module.textbook.vo.WfTextbookClaimPageVo;
 import com.xjrsoft.module.textbook.vo.WfTextbookClaimVo;
 import org.apache.ibatis.annotations.Mapper;
 

+ 16 - 0
src/main/java/com/xjrsoft/module/textbook/mapper/WfTextbookRecedeItemMapper.java

@@ -0,0 +1,16 @@
+package com.xjrsoft.module.textbook.mapper;
+
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.textbook.entity.WfTextbookRecedeItem;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: 推书申请项
+* @Author szs
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Mapper
+public interface WfTextbookRecedeItemMapper extends MPJBaseMapper<WfTextbookRecedeItem> {
+
+}

+ 16 - 0
src/main/java/com/xjrsoft/module/textbook/mapper/WfTextbookRecedeMapper.java

@@ -0,0 +1,16 @@
+package com.xjrsoft.module.textbook.mapper;
+
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.textbook.entity.WfTextbookRecede;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: 推书申请
+* @Author szs
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Mapper
+public interface WfTextbookRecedeMapper extends MPJBaseMapper<WfTextbookRecede> {
+
+}

+ 0 - 1
src/main/java/com/xjrsoft/module/textbook/mapper/WfTextbookSubscriptionItemMapper.java

@@ -1,6 +1,5 @@
 package com.xjrsoft.module.textbook.mapper;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.textbook.entity.WfTextbookSubscriptionItem;
 import org.apache.ibatis.annotations.Mapper;

Some files were not shown because too many files changed in this diff