Browse Source

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

fanxp 1 year ago
parent
commit
b45df769e1
31 changed files with 555 additions and 28 deletions
  1. 1 1
      src/main/java/com/xjrsoft/module/liteflow/node/WfTextbookRecedeNode.java
  2. 17 0
      src/main/java/com/xjrsoft/module/room/controller/RoomBedCheckRecordController.java
  3. 2 1
      src/main/java/com/xjrsoft/module/room/controller/RoomController.java
  4. 1 0
      src/main/java/com/xjrsoft/module/room/controller/WfRoomStayOvernightController.java
  5. 1 0
      src/main/java/com/xjrsoft/module/room/dto/AdjustBedPageDto.java
  6. 5 0
      src/main/java/com/xjrsoft/module/room/dto/RoomBedCheckRecordPageDto.java
  7. 3 0
      src/main/java/com/xjrsoft/module/room/dto/RoomBedPageDto.java
  8. 2 2
      src/main/java/com/xjrsoft/module/room/dto/RoomValueWeekPageDto.java
  9. 7 0
      src/main/java/com/xjrsoft/module/room/dto/WfRoomStayOvernightPageDto.java
  10. 3 1
      src/main/java/com/xjrsoft/module/room/mapper/RoomMapper.java
  11. 5 1
      src/main/java/com/xjrsoft/module/room/mapper/RoomValueWeekItemMapper.java
  12. 10 0
      src/main/java/com/xjrsoft/module/room/service/IRoomBedCheckRecordService.java
  13. 5 0
      src/main/java/com/xjrsoft/module/room/service/IRoomService.java
  14. 2 0
      src/main/java/com/xjrsoft/module/room/service/IRoomValueWeekService.java
  15. 94 7
      src/main/java/com/xjrsoft/module/room/service/impl/RoomBedCheckRecordServiceImpl.java
  16. 15 2
      src/main/java/com/xjrsoft/module/room/service/impl/RoomServiceImpl.java
  17. 2 0
      src/main/java/com/xjrsoft/module/room/service/impl/RoomTeacherAppointServiceImpl.java
  18. 29 1
      src/main/java/com/xjrsoft/module/room/service/impl/RoomValueWeekServiceImpl.java
  19. 48 0
      src/main/java/com/xjrsoft/module/room/vo/RoomBedCheckRecordEchoVo.java
  20. 32 0
      src/main/java/com/xjrsoft/module/room/vo/RoomEchoVo.java
  21. 97 0
      src/main/java/com/xjrsoft/module/room/vo/RoomExcelVo.java
  22. 47 0
      src/main/java/com/xjrsoft/module/room/vo/RoomValueWeekExcelVo.java
  23. 32 0
      src/main/java/com/xjrsoft/module/room/vo/RoomValueWeekItemExcelVo.java
  24. 3 0
      src/main/java/com/xjrsoft/module/room/vo/RoomValueWeekPageVo.java
  25. 15 1
      src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookServiceImpl.java
  26. 28 3
      src/main/resources/mapper/room/RoomBedMapper.xml
  27. 26 0
      src/main/resources/mapper/room/RoomMapper.xml
  28. 20 3
      src/main/resources/mapper/room/RoomValueWeekItemMapper.xml
  29. 1 1
      src/main/resources/mapper/textbook/TextbookMapper.xml
  30. 1 1
      src/test/java/com/xjrsoft/module/textbook/service/impl/WfTextbookClaimServiceImplTest.java
  31. 1 3
      src/test/java/com/xjrsoft/module/textbook/service/impl/WfTextbookRecedeServiceImplTest.java

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

@@ -11,7 +11,7 @@ import java.util.Map;
 /**
  * 退书申请
  */
-@Component("wf_textbook_recede")
+@Component("wf_textbook_recede_node")
 public class WfTextbookRecedeNode extends NodeComponent {
     @Autowired
     private IWfTextbookRecedeService wfTextbookRecedeService;

+ 17 - 0
src/main/java/com/xjrsoft/module/room/controller/RoomBedCheckRecordController.java

@@ -13,6 +13,7 @@ import com.xjrsoft.module.room.dto.RoomBedCheckRecordPageDto;
 import com.xjrsoft.module.room.dto.UpdateRoomBedCheckRecordDto;
 import com.xjrsoft.module.room.entity.RoomBedCheckRecord;
 import com.xjrsoft.module.room.service.IRoomBedCheckRecordService;
+import com.xjrsoft.module.room.vo.RoomBedCheckRecordEchoVo;
 import com.xjrsoft.module.room.vo.RoomBedCheckRecordPageVo;
 import com.xjrsoft.module.room.vo.RoomBedCheckRecordVo;
 import io.swagger.annotations.Api;
@@ -50,6 +51,15 @@ public class RoomBedCheckRecordController {
         return RT.ok(pageOutput);
     }
 
+    @GetMapping(value = "/page-mobile")
+    @ApiOperation(value="查寝记录列表(分页-移动)")
+    @SaCheckPermission("roombedcheckrecord:detail")
+    public RT<PageOutput<RoomBedCheckRecordPageVo>> pageMobile(@Valid RoomBedCheckRecordPageDto dto){
+        IPage<RoomBedCheckRecordPageVo> page = roomBedCheckRecordService.getPageMobile(dto);
+        PageOutput<RoomBedCheckRecordPageVo> pageOutput = ConventPage.getPageOutput(page, RoomBedCheckRecordPageVo.class);
+        return RT.ok(pageOutput);
+    }
+
     @GetMapping(value = "/info")
     @ApiOperation(value="根据id查询查寝记录信息")
     @SaCheckPermission("roombedcheckrecord:detail")
@@ -62,6 +72,13 @@ public class RoomBedCheckRecordController {
         return RT.ok(roomBedCheckRecordVo);
     }
 
+    @GetMapping(value = "/echo")
+    @ApiOperation(value="查寝记录回显")
+    @SaCheckPermission("roombedcheckrecord:detail")
+    public RT<RoomBedCheckRecordEchoVo> echo(){
+        RoomBedCheckRecordEchoVo roomBedCheckRecordEchoVo = roomBedCheckRecordService.getEcho();
+        return RT.ok(roomBedCheckRecordEchoVo);
+    }
 
     @PostMapping
     @ApiOperation(value = "新增查寝记录")

+ 2 - 1
src/main/java/com/xjrsoft/module/room/controller/RoomController.java

@@ -13,6 +13,7 @@ import com.xjrsoft.module.room.dto.RoomPageDto;
 import com.xjrsoft.module.room.dto.UpdateRoomDto;
 import com.xjrsoft.module.room.entity.Room;
 import com.xjrsoft.module.room.service.IRoomService;
+import com.xjrsoft.module.room.vo.RoomExcelVo;
 import com.xjrsoft.module.room.vo.RoomPageVo;
 import com.xjrsoft.module.room.vo.RoomVo;
 import io.swagger.annotations.Api;
@@ -115,7 +116,7 @@ public class RoomController {
     @GetMapping("/export")
     @ApiOperation(value = "导出")
     public ResponseEntity<byte[]> exportData(@Valid RoomPageDto dto, @RequestParam(defaultValue = "false") Boolean isTemplate) {
-        List<RoomPageVo> customerList = isTemplate != null && isTemplate ? new ArrayList<>() : ((PageOutput<RoomPageVo>) page(dto).getData()).getList();
+        List<RoomExcelVo> customerList = roomService.getList(dto);
         ByteArrayOutputStream bot = new ByteArrayOutputStream();
         EasyExcel.write(bot, RoomPageVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(customerList);
 

+ 1 - 0
src/main/java/com/xjrsoft/module/room/controller/WfRoomStayOvernightController.java

@@ -52,6 +52,7 @@ public class WfRoomStayOvernightController {
         MPJLambdaWrapper<WfRoomStayOvernight> queryWrapper = new MPJLambdaWrapper<>();
         queryWrapper
                 .disableSubLogicDel()
+                .like(ObjectUtil.isNotNull(dto.getUserName()),"t1.name",dto.getUserName())
                 .like(ObjectUtil.isNotNull(dto.getClassName()),WfRoomStayOvernight::getClassName,dto.getClassName())
                 .like(ObjectUtil.isNotNull(dto.getGenderName()),WfRoomStayOvernight::getGenderName,dto.getGenderName())
                 .like(ObjectUtil.isNotNull(dto.getStudentId()),WfRoomStayOvernight::getStudentId,dto.getStudentId())

+ 1 - 0
src/main/java/com/xjrsoft/module/room/dto/AdjustBedPageDto.java

@@ -34,4 +34,5 @@ public class AdjustBedPageDto extends PageInput {
     @ApiModelProperty("入住班级")
     public Long classId;
 
+
 }

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

@@ -19,6 +19,11 @@ import java.time.LocalDateTime;
 @Data
 @EqualsAndHashCode(callSuper = false)
 public class RoomBedCheckRecordPageDto extends PageInput {
+    /**
+     * 用户编号
+     */
+    @ApiModelProperty(value = "用户编号",hidden = true)
+    private Long userId;
     /**
      * 班级编号
      */

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

@@ -40,4 +40,7 @@ public class RoomBedPageDto extends PageInput {
 
     @ApiModelProperty("学号")
     public String studentId;
+
+    @ApiModelProperty("入住身份")
+    public String identity;
 }

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

@@ -28,8 +28,8 @@ public class RoomValueWeekPageDto extends PageInput {
     @ApiModelProperty("结束时间")
     private String endTime;
 
-    @ApiModelProperty("值班人员id")
-    private String userId;
+    @ApiModelProperty("值班人员")
+    private String userName;
 
     @ApiModelProperty("寝室类型")
     private String roomType;

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

@@ -20,6 +20,13 @@ import java.time.LocalDate;
 @EqualsAndHashCode(callSuper = false)
 public class WfRoomStayOvernightPageDto extends PageInput {
 
+    /**
+     * 姓名
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("姓名")
+    @ApiModelProperty("姓名")
+    private String userName;
     /**
      * 班级
      */

+ 3 - 1
src/main/java/com/xjrsoft/module/room/mapper/RoomMapper.java

@@ -6,8 +6,10 @@ 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.vo.RoomClassCountVo;
+import com.xjrsoft.module.room.vo.RoomExcelVo;
 import com.xjrsoft.module.room.vo.RoomPageVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -27,7 +29,7 @@ public interface RoomMapper extends MPJBaseMapper<Room> {
      */
     Page<RoomPageVo> getPage(Page<RoomPageDto> page, RoomPageDto dto);
 
-
+    List<RoomExcelVo> getList(@Param("dto") RoomPageDto dto);
     /**
      * 批量添加
      */

+ 5 - 1
src/main/java/com/xjrsoft/module/room/mapper/RoomValueWeekItemMapper.java

@@ -8,6 +8,8 @@ import com.xjrsoft.module.room.vo.RoomValueWeekPageVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
 * @title: 宿管值班管理(人员)
 * @Author dzx
@@ -17,7 +19,9 @@ import org.apache.ibatis.annotations.Param;
 @Mapper
 public interface RoomValueWeekItemMapper extends MPJBaseMapper<RoomValueWeekItem> {
 
-    Page<RoomValueWeekPageVo> getItemList(Page<RoomValueWeekPageDto> page, @Param("dto") RoomValueWeekPageDto dto);
+    Page<RoomValueWeekPageVo> getItemPage(Page<RoomValueWeekPageDto> page, @Param("dto") RoomValueWeekPageDto dto);
+
+    List<RoomValueWeekPageVo> getItemList(@Param("dto") RoomValueWeekPageDto dto);
 
     Integer getMaxSortCode();
 

+ 10 - 0
src/main/java/com/xjrsoft/module/room/service/IRoomBedCheckRecordService.java

@@ -4,6 +4,7 @@ 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.RoomBedCheckRecordEchoVo;
 import com.xjrsoft.module.room.vo.RoomBedCheckRecordPageVo;
 import com.xjrsoft.module.room.vo.RoomBedCheckRecordVo;
 
@@ -48,5 +49,14 @@ public interface IRoomBedCheckRecordService extends MPJBaseService<RoomBedCheckR
      */
     IPage<RoomBedCheckRecordPageVo> getPage(RoomBedCheckRecordPageDto dto);
 
+    /**
+     * 获取分页
+     * @param dto
+     * @return
+     */
+    IPage<RoomBedCheckRecordPageVo> getPageMobile(RoomBedCheckRecordPageDto dto);
+
     RoomBedCheckRecordVo getInfo(Long id);
+
+    RoomBedCheckRecordEchoVo getEcho();
 }

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

@@ -5,8 +5,11 @@ import com.github.yulichang.base.MPJBaseService;
 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.vo.RoomExcelVo;
 import com.xjrsoft.module.room.vo.RoomPageVo;
 
+import java.util.List;
+
 /**
 * @title: 寝室
 * @Author dzx
@@ -24,6 +27,8 @@ public interface IRoomService extends MPJBaseService<Room> {
      */
     Page<RoomPageVo> getPage(Page<RoomPageDto> page, RoomPageDto dto);
 
+    List<RoomExcelVo> getList(RoomPageDto dto);
+
     /**
      * 批量添加
      */

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

@@ -45,6 +45,8 @@ public interface IRoomValueWeekService extends MPJBaseService<RoomValueWeek> {
 
     Page<RoomValueWeekPageVo> getPage(Page<RoomValueWeekPageDto> page, RoomValueWeekPageDto dto);
 
+    List<RoomValueWeek> getList(RoomValueWeekPageDto dto);
+
     Boolean updateNumberPeople();
 
     RoomValueWeekItemVo getItemInfo(Long id);

+ 94 - 7
src/main/java/com/xjrsoft/module/room/service/impl/RoomBedCheckRecordServiceImpl.java

@@ -2,6 +2,7 @@ package com.xjrsoft.module.room.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.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.yulichang.base.MPJBaseServiceImpl;
@@ -10,24 +11,25 @@ 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.base.mapper.BaseClassMapper;
 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.entity.*;
 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.room.vo.*;
+import com.xjrsoft.module.student.entity.BaseStudentSchoolRoll;
+import com.xjrsoft.module.system.entity.DictionaryDetail;
 import com.xjrsoft.module.system.entity.File;
 import com.xjrsoft.module.system.service.IFileService;
 import com.xjrsoft.module.teacher.entity.XjrUser;
+import com.xjrsoft.module.teacher.mapper.XjrUserMapper;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 import java.util.stream.Collectors;
@@ -49,10 +51,15 @@ public class RoomBedCheckRecordServiceImpl extends MPJBaseServiceImpl<RoomBedChe
 
     private final RoomMapper roomMapper;
 
+    private final XjrUserMapper xjrUserMapper;
+
+    private final BaseClassMapper baseClassMapper;
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean add(RoomBedCheckRecord roomBedCheckRecord) {
+        roomBedCheckRecord.setUserId(StpUtil.getLoginIdAsLong());
         roomBedCheckRecordRoomBedCheckRecordMapper.insert(roomBedCheckRecord);
         for (RoomBedCheckRecordRelation roomBedCheckRecordRelation : roomBedCheckRecord.getRoomBedCheckRecordRelationList()) {
             roomBedCheckRecordRelation.setRoomBedCheckRecordId(roomBedCheckRecord.getId());
@@ -113,6 +120,25 @@ public class RoomBedCheckRecordServiceImpl extends MPJBaseServiceImpl<RoomBedChe
 
     @Override
     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(ObjectUtil.isNotNull(dto.getClassId()), RoomBedCheckRecord::getClassId, dto.getClassId())
+                .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 IPage<RoomBedCheckRecordPageVo> getPageMobile(RoomBedCheckRecordPageDto dto) {
         MPJLambdaWrapper<RoomBedCheckRecord> queryRoomBedCheckRecord = new MPJLambdaWrapper<>();
         queryRoomBedCheckRecord
                 .select(RoomBedCheckRecord::getId)
@@ -122,7 +148,7 @@ public class RoomBedCheckRecordServiceImpl extends MPJBaseServiceImpl<RoomBedChe
                 .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())
+                .eq(ObjectUtil.isNotNull(dto.getClassId()), RoomBedCheckRecord::getClassId, dto.getClassId())
                 .between(ObjectUtil.isNotNull(dto.getCheckRecordTimeStart()) && ObjectUtil.isNotNull(dto.getCheckRecordTimeEnd()), RoomBedCheckRecord::getCheckRecordTime, dto.getCheckRecordTimeStart(), dto.getCheckRecordTimeEnd())
                 .disableSubLogicDel()
                 .orderByDesc(RoomBedCheckRecord::getId);
@@ -165,4 +191,65 @@ public class RoomBedCheckRecordServiceImpl extends MPJBaseServiceImpl<RoomBedChe
 
         return roomBedCheckRecordVo;
     }
+
+    @Override
+    public RoomBedCheckRecordEchoVo getEcho() {
+        //获取当前用户信息
+        XjrUser xjrUser = xjrUserMapper.selectById(StpUtil.getLoginIdAsLong());
+        RoomBedCheckRecordEchoVo roomBedCheckRecordEchoVo = new RoomBedCheckRecordEchoVo();
+        roomBedCheckRecordEchoVo.setUserId(xjrUser.getId());
+        roomBedCheckRecordEchoVo.setUserName(xjrUser.getName());
+
+        //根据用户id获取其所管理的班级
+        LambdaQueryWrapper<BaseClass> queryWrapperClass = new LambdaQueryWrapper<>();
+        queryWrapperClass
+                .eq(BaseClass::getTeacherId,xjrUser.getId());
+        List<BaseClass> baseClassList = baseClassMapper.selectList(queryWrapperClass);
+        List<BaseClass> classList = new ArrayList<>();
+        List<Long> classIdList = new ArrayList<>();
+        for (BaseClass baseClass : baseClassList) {
+            classList.add(new BaseClass(){{
+                setId(baseClass.getId());
+                setName(baseClass.getName());
+            }});
+            classIdList.add(baseClass.getId());
+        }
+        roomBedCheckRecordEchoVo.setClassList(classList);
+
+        //获取用户管理的寝室
+        //根据班级
+        List<RoomEchoVo> roomEchoVoByClassList = new ArrayList<>();
+        if(classIdList != null && classIdList.size() > 0){
+            MPJLambdaWrapper<Room> queryRoomByClass = new MPJLambdaWrapper<>();
+            queryRoomByClass
+                    .selectAs(Room::getId, RoomEchoVo::getRoomId)
+                    .select("CONCAT(t2.name,\"-\" , t3.name, t.room_name) as roomName")
+                    .leftJoin(RoomBed.class, RoomBed::getRoomId, Room::getId)
+                    .leftJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, RoomBed::getStudentUserId)
+                    .leftJoin(BaseOfficeBuild.class, BaseOfficeBuild::getId, Room::getOfficeBuildId)
+                    .leftJoin(DictionaryDetail.class, DictionaryDetail::getCode, Room::getGender)
+                    .in(BaseStudentSchoolRoll::getClassId, classIdList);
+            roomEchoVoByClassList = roomMapper.selectJoinList(RoomEchoVo.class, queryRoomByClass);
+        }
+
+        //根据宿管任命
+        MPJLambdaWrapper<Room> queryRoomByTeacherAppoint = new MPJLambdaWrapper<>();
+        queryRoomByTeacherAppoint
+                .selectAs(Room::getId, RoomEchoVo::getRoomId)
+                .select("CONCAT(t2.name,\"-\" , t3.name, t.room_name) as roomName")
+                .leftJoin(RoomTeacherAppoint.class, RoomTeacherAppoint::getRoomId, Room::getId)
+                .leftJoin(BaseOfficeBuild.class, BaseOfficeBuild::getId, Room::getOfficeBuildId)
+                .leftJoin(DictionaryDetail.class, DictionaryDetail::getCode, Room::getGender)
+                .eq(RoomTeacherAppoint::getUserId, StpUtil.getLoginIdAsLong())
+                .disableSubLogicDel();
+        List<RoomEchoVo> roomEchoVoByTeacherAppointList = roomMapper.selectJoinList(RoomEchoVo.class, queryRoomByTeacherAppoint);
+
+        List<RoomEchoVo> roomEchoVoList = new ArrayList<>();
+        roomEchoVoList.addAll(roomEchoVoByClassList);
+        roomEchoVoList.addAll(roomEchoVoByTeacherAppointList);
+
+        roomBedCheckRecordEchoVo.setRoomEchoVoList(roomEchoVoList);
+
+        return roomBedCheckRecordEchoVo;
+    }
 }

+ 15 - 2
src/main/java/com/xjrsoft/module/room/service/impl/RoomServiceImpl.java

@@ -18,8 +18,8 @@ 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.RoomExcelVo;
 import com.xjrsoft.module.room.vo.RoomPageVo;
-import com.xjrsoft.module.student.entity.BaseStudent;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
@@ -47,6 +47,19 @@ public class RoomServiceImpl extends MPJBaseServiceImpl<RoomMapper, Room> implem
         return result;
     }
 
+    @Override
+    public List<RoomExcelVo> getList(RoomPageDto dto) {
+        List<RoomExcelVo> list = roomMapper.getList(dto);
+        for (RoomExcelVo roomExcelVo : list) {
+            if("1".equals(roomExcelVo.getIsMax())){
+                roomExcelVo.setIsMax("是");
+            }else if("2".equals(roomExcelVo.getIsMax())){
+                roomExcelVo.setIsMax("否");
+            }
+        }
+        return list;
+    }
+
     @Override
     public String saveBatch(AddRoomDto dto) {
         MPJLambdaWrapper<RoomRule> queryWrapper = new MPJLambdaWrapper<>();
@@ -118,7 +131,7 @@ public class RoomServiceImpl extends MPJBaseServiceImpl<RoomMapper, Room> implem
     public String deleteReachBed(Long id) {
         List<RoomBed> bedList = roomBedMapper.selectList(
             MPJWrappers.<RoomBed>lambdaJoin()
-            .select(BaseStudent::getUserId)
+            .select(RoomBed::getStudentUserId)
             .eq(RoomBed::getRoomId, id).isNotNull(RoomBed::getStudentUserId)
         );
         if(bedList != null && !bedList.isEmpty()){

+ 2 - 0
src/main/java/com/xjrsoft/module/room/service/impl/RoomTeacherAppointServiceImpl.java

@@ -2,6 +2,7 @@ package com.xjrsoft.module.room.service.impl;
 
 import cn.dev33.satoken.stp.StpUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+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;
@@ -41,6 +42,7 @@ public class RoomTeacherAppointServiceImpl extends MPJBaseServiceImpl<RoomTeache
 
     @Override
     public Boolean saveBatch(AddRoomTeacherAppointDto dto) {
+        roomTeacherAppointMapper.delete(new QueryWrapper<RoomTeacherAppoint>().lambda().in(RoomTeacherAppoint::getRoomId, dto.getRoomIds()));
         Long createUserId = StpUtil.getLoginIdAsLong();
         Date createDate = new Date();
         for (Long roomId : dto.getRoomIds()) {

+ 29 - 1
src/main/java/com/xjrsoft/module/room/service/impl/RoomValueWeekServiceImpl.java

@@ -16,6 +16,8 @@ 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.RoomValueWeekExcelVo;
+import com.xjrsoft.module.room.vo.RoomValueWeekItemExcelVo;
 import com.xjrsoft.module.room.vo.RoomValueWeekItemVo;
 import com.xjrsoft.module.room.vo.RoomValueWeekPageVo;
 import lombok.AllArgsConstructor;
@@ -25,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional;
 import java.text.SimpleDateFormat;
 import java.time.ZoneId;
 import java.time.ZonedDateTime;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
@@ -133,11 +136,36 @@ public class RoomValueWeekServiceImpl extends MPJBaseServiceImpl<RoomValueWeekMa
 
     @Override
     public Page<RoomValueWeekPageVo> getPage(Page<RoomValueWeekPageDto> page, RoomValueWeekPageDto dto) {
-        Page<RoomValueWeekPageVo> result = roomValueWeekRoomValueWeekItemMapper.getItemList(page, dto);
+        Page<RoomValueWeekPageVo> result = roomValueWeekRoomValueWeekItemMapper.getItemPage(page, dto);
 
         return result;
     }
 
+    @Override
+    public List<RoomValueWeek> getList(RoomValueWeekPageDto dto) {
+        List<RoomValueWeek> weekList = roomValueWeekRoomValueWeekMapper.selectList(
+            new QueryWrapper<RoomValueWeek>().lambda()
+            .ge(RoomValueWeek::getEndTime, dto.getEndTime())
+            .le(RoomValueWeek::getStartTime, dto.getStartTime())
+        );
+        List<RoomValueWeekExcelVo> dataList = BeanUtil.copyToList(weekList, RoomValueWeekExcelVo.class);
+
+        List<RoomValueWeekPageVo> allItemList = roomValueWeekRoomValueWeekItemMapper.getItemList(dto);
+
+        for (RoomValueWeekExcelVo weekExcelVo : dataList) {
+            List<RoomValueWeekItemExcelVo> itemList = new ArrayList<>();
+            for (RoomValueWeekPageVo roomValueWeekPageVo : allItemList) {
+                if(roomValueWeekPageVo.getRoomValueWeekId().equals(weekExcelVo.getId())){
+                    RoomValueWeekItemExcelVo itemExcelVo = new RoomValueWeekItemExcelVo();
+                }
+            }
+        }
+
+
+
+        return null;
+    }
+
     @Override
     public Boolean updateNumberPeople() {
         Date date = new Date();

+ 48 - 0
src/main/java/com/xjrsoft/module/room/vo/RoomBedCheckRecordEchoVo.java

@@ -0,0 +1,48 @@
+package com.xjrsoft.module.room.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import com.xjrsoft.module.base.entity.BaseClass;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+* @title: 查寝记录表单回显出参
+* @Author szs
+* @Date: 2024-01-02
+* @Version 1.0
+*/
+@Data
+public class RoomBedCheckRecordEchoVo {
+
+    /**
+     * 填写人
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("用户id")
+    @ApiModelProperty("用户id")
+    private Long userId;
+    /**
+     * 填写人
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("用户名")
+    @ApiModelProperty("用户名")
+    private String userName;
+    /**
+     * 班级
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("班级")
+    @ApiModelProperty("班级")
+    private List<BaseClass> classList;
+
+    /**
+    * 寝室
+    */
+    @ApiModelProperty("寝室")
+    private List<RoomEchoVo> roomEchoVoList;
+
+}

+ 32 - 0
src/main/java/com/xjrsoft/module/room/vo/RoomEchoVo.java

@@ -0,0 +1,32 @@
+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-02
+* @Version 1.0
+*/
+@Data
+public class RoomEchoVo {
+
+    /**
+     * 寝室名
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("寝室id")
+    @ApiModelProperty("寝室id")
+    private Long roomId;
+
+    /**
+     * 寝室名
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("寝室名")
+    @ApiModelProperty("寝室名")
+    private String roomName;
+}

+ 97 - 0
src/main/java/com/xjrsoft/module/room/vo/RoomExcelVo.java

@@ -0,0 +1,97 @@
+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 dzx
+* @Date: 2023-12-27
+* @Version 1.0
+*/
+@Data
+public class RoomExcelVo {
+
+    /**
+    * 序号
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("序号")
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+    /**
+    * 楼栋(base_office_build)
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("楼栋名称")
+    @ApiModelProperty("楼栋名称")
+    private String bulidName;
+    /**
+    * 楼层
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("楼层")
+    @ApiModelProperty("楼层")
+    private Integer floorNumber;
+    /**
+    * 寝室名称
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("寝室名称")
+    @ApiModelProperty("寝室名称")
+    private String roomName;
+    /**
+    * 入住身份
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("入住身份")
+    @ApiModelProperty("入住身份")
+    private String checkInStatusCn;
+    /**
+    * 入住性别(xjr_dictionary_item[gender])
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("入住性别")
+    @ApiModelProperty("入住性别")
+    private String genderCn;
+    /**
+    * 床位数
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("床位数")
+    @ApiModelProperty("床位数")
+    private Integer bedCount;
+
+    /**
+     * 寝室长
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("寝室长")
+    @ApiModelProperty("寝室长")
+    private String studentAppointNames;
+
+    /**
+     * 寝室长
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("宿管")
+    @ApiModelProperty("宿管")
+    private String teacherAppointNames;
+
+    /**
+    * 是否是混合寝室【一个寝室有多个班级的学生】(1:是 0:否)
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("混合寝室")
+    @ApiModelProperty("是否是混合寝室")
+    private String isMax;
+    /**
+    * 备注
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("备注")
+    @ApiModelProperty("备注")
+    private String remark;
+}

+ 47 - 0
src/main/java/com/xjrsoft/module/room/vo/RoomValueWeekExcelVo.java

@@ -0,0 +1,47 @@
+package com.xjrsoft.module.room.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.yulichang.annotation.EntityMapping;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+* @title: 宿管值班管理excel导出
+* @Author dzx
+* @Date: 2024-01-04
+* @Version 1.0
+*/
+@Data
+public class RoomValueWeekExcelVo {
+
+    /**
+     * 主键编号
+     */
+    @ApiModelProperty("主键编号")
+    @TableId
+    private Long id;
+    /**
+     * 开始时间
+     */
+    @ApiModelProperty("开始时间")
+    private Date startTime;
+    /**
+     * 结束时间
+     */
+    @ApiModelProperty("结束时间")
+    private Date endTime;
+
+    /**
+     * roomValueWeekItem
+     */
+    @ApiModelProperty("roomValueWeekItem子表")
+    @TableField(exist = false)
+    @EntityMapping(thisField = "id", joinField = "roomValueWeekId")
+    private List<RoomValueWeekItemExcelVo> itemList;
+
+
+}

+ 32 - 0
src/main/java/com/xjrsoft/module/room/vo/RoomValueWeekItemExcelVo.java

@@ -0,0 +1,32 @@
+package com.xjrsoft.module.room.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import lombok.Data;
+
+/**
+* @title: 宿管值班管理excel导出
+* @Author dzx
+* @Date: 2024-01-04
+* @Version 1.0
+*/
+@Data
+public class RoomValueWeekItemExcelVo {
+
+    @ExcelProperty(index = 0)
+    @ColumnWidth(15)
+    private String column1;
+
+    @ExcelProperty(index = 0)
+    @ColumnWidth(15)
+    private String column2;
+
+    @ExcelProperty(index = 0)
+    @ColumnWidth(15)
+    private String column3;
+
+    @ExcelProperty(index = 0)
+    @ColumnWidth(15)
+    private String column4;
+
+}

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

@@ -82,4 +82,7 @@ public class RoomValueWeekPageVo {
     @ApiModelProperty("人数(添加时先默认统计一个进去)")
     private Integer numberPeople;
 
+    @ApiModelProperty("宿管值班管理编号(room_value_week)")
+    private Long roomValueWeekId;
+
 }

+ 15 - 1
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookServiceImpl.java

@@ -29,6 +29,7 @@ import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
@@ -308,7 +309,7 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
                         if(ObjectUtil.isNotNull(wfExerciseBookItem.getSubscriptionType()) && wfExerciseBookItem.getSubscriptionType().equals(ExerciseBookeTypeEnum.ExerciseBook2.getCode())){
                             setBookName(ExerciseBookeTypeEnum.ExerciseBook2.getValue());
                         }
-
+                        setSpecificationsModels(wfExerciseBookItem.getSpecificationsModels());
                         setTextbookType(TextbookTypeEnum.TExerciseBook.getCode());
                         //年级id
                         if (ObjectUtil.isNotNull(wfExerciseBook.getClassId()) && wfExerciseBook.getClassId() > 0){
@@ -368,6 +369,10 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
         List<TextbookSubscriptionRecordVo> recordVos = textbookTextbookMapper.subscriptionList(id);
         for (TextbookSubscriptionRecordVo recordVo : recordVos) {
             if (ObjectUtil.isNull(recordVo) || StrUtil.isEmpty(recordVo.getClassIds())) {
+                recordVos.remove(recordVo);
+                if(recordVos.isEmpty()){
+                    break;
+                }
                 continue;
             }
             String[] split = recordVo.getClassIds().split(",");
@@ -444,10 +449,19 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
         updateTextbook.setId(textbook.getId());
         Integer oldStock = ObjectUtil.isNull(textbook.getStock()) ? 0 : textbook.getStock();
         updateTextbook.setStock(oldStock + (ObjectUtil.isNull(dto.getWarehouseNumber()) ? 0 : dto.getWarehouseNumber()));
+        BigDecimal price = ObjectUtil.isNull(dto.getPrice())?new BigDecimal(0):dto.getPrice();
+        updateTextbook.setPrice(price);
+        Double discount = ObjectUtil.isNull(dto.getDiscount())?10:dto.getDiscount();
+        updateTextbook.setDiscount(discount);
+        BigDecimal subtotal = price.multiply(new BigDecimal(discount/10));
+        updateTextbook.setSubtotal(subtotal);
+
         boolean isSuccess = this.updateById(updateTextbook);
 
         TextbookWarehouseRecord textbookWarehouseRecord = BeanUtil.toBean(dto, TextbookWarehouseRecord.class);
         textbookWarehouseRecord.setWarehouseMode(WarehouseModeEnum.WmManual.getCode());
+        textbookWarehouseRecord.setDiscount(discount);
+        textbookWarehouseRecord.setSubtotal(subtotal);
         isSuccess = textbookClassWarehouseService.save(textbookWarehouseRecord);
 
         return isSuccess;

+ 28 - 3
src/main/resources/mapper/room/RoomBedMapper.xml

@@ -14,6 +14,7 @@
         LEFT JOIN base_grade t7 ON t6.grade_id = t7.id
         LEFT JOIN base_class t8 ON t6.class_id = t8.id
         LEFT JOIN xjr_dictionary_detail t9 ON t2.gender = t9.code AND t9.item_id = 2023000000000000004
+        where t1.delete_mark = 0 and t2.delete_mark = 0
         <if test="dto.officeBuildId != null">
             and t2.office_build_id = #{dto.officeBuildId}
         </if>
@@ -38,6 +39,9 @@
         <if test="dto.studentId != null">
             and t5.student_id like concat('%',#{dto.studentId},'%')
         </if>
+        <if test="dto.identity != null and dto.identity != ''">
+            and t5.check_in_status like concat('%',#{dto.identity},'%')
+        </if>
         ORDER BY t1.sort_code
     </select>
     <select id="getMaxSortCode" resultType="java.lang.Integer">
@@ -73,10 +77,10 @@
         AND a2.class_id = t1.id
         )
         <if test="dto.gradeId != null">
-            and a2.grade_id = #{dto.gradeId}
+            and t1.grade_id = #{dto.gradeId}
         </if>
         <if test="dto.classId != null">
-            and a2.class_id = #{dto.classId}
+            and t1.id = #{dto.classId}
         </if>
     </select>
     <select id="getDistributeRoomBedInfo" parameterType="com.xjrsoft.module.room.dto.DistributeRoomBedPageDto" resultType="com.xjrsoft.module.room.vo.DistributeRoomBedPageVo">
@@ -176,9 +180,30 @@
         LEFT JOIN xjr_user t4 ON t1.student_user_id = t4.id
         LEFT JOIN xjr_dictionary_detail t5 ON t2.gender = t5.code AND t5.item_id = 2023000000000000004
         LEFT JOIN room_student_appoint t6 ON t6.room_bed_id = t1.id
+        LEFT JOIN base_student_school_roll t7 ON t4.id = t7.user_id
         WHERE t1.delete_mark = 0 AND t2.delete_mark = 0
         <if test="dto.isEmptyRoom != null">
-            and t2.name like concat('%', #{dto.studentName}, '%')
+            <if test="dto.isEmptyRoom == 1">
+                and t2.bed_count = (SELECT COUNT(*) FROM room_bed WHERE delete_mark = 0 AND student_user_id IS NULL AND is_check_in = 0 AND room_id = t2.id)
+            </if>
+            <if test="dto.isEmptyRoom == 0">
+                and t2.bed_count != (SELECT COUNT(*) FROM room_bed WHERE delete_mark = 0 AND student_user_id IS NULL AND is_check_in = 0 AND room_id = t2.id)
+            </if>
+        </if>
+        <if test="dto.roomName != null">
+            and t2.room_name like concat('%', #{dto.roomName}, '%')
+        </if>
+        <if test="dto.isMax != null">
+            and t2.is_max = #{dto.isMax}
+        </if>
+        <if test="dto.floorNumber != null">
+            and t2.floor_number = #{dto.floorNumber}
+        </if>
+        <if test="dto.floorNumber != null">
+            and t2.floor_number = #{dto.floorNumber}
+        </if>
+        <if test="dto.classId != null">
+            and t7.class_id = #{dto.classId}
         </if>
         ORDER BY t2.sort_code,t1.sort_code
     </select>

+ 26 - 0
src/main/resources/mapper/room/RoomMapper.xml

@@ -29,6 +29,32 @@
         </if>
         ORDER BY t1.sort_code
     </select>
+    <select id="getList" parameterType="com.xjrsoft.module.room.dto.RoomPageDto" resultType="com.xjrsoft.module.room.vo.RoomExcelVo">
+        SELECT t1.id,t1.sort_code,t2.name AS bulid_name,t1.floor_number,t1.room_name,t3.name AS check_in_status_cn,t4.name AS gender_cn,t1.bed_count,
+        (SELECT GROUP_CONCAT(c2.name) FROM room_student_appoint c1
+        LEFT JOIN xjr_user c2 ON c1.student_user_id = c2.id
+        WHERE c1.delete_mark = 0 AND c1.room_id = t1.id) AS student_appoint_names,
+        (SELECT GROUP_CONCAT(c2.name) FROM room_teacher_appoint c1
+        LEFT JOIN xjr_user c2 ON c1.user_id = c2.id
+        WHERE c1.delete_mark = 0 AND c1.room_id = t1.id) AS teacher_appoint_names,t1.is_max,t1.remark FROM room t1
+        LEFT JOIN base_office_build t2 ON t1.office_build_id = t2.id
+        LEFT JOIN xjr_dictionary_detail t3 ON t1.check_in_status = t3.code AND t3.item_id = 1739843696019435521
+        LEFT JOIN xjr_dictionary_detail t4 ON t1.gender = t4.code AND t4.item_id = 2023000000000000004
+        WHERE t1.delete_mark = 0
+        <if test="dto.officeBuildId != null">
+            and t1.office_build_id = #{dto.officeBuildId}
+        </if>
+        <if test="dto.floorNumber != null">
+            and t1.floor_number = #{dto.floorNumber}
+        </if>
+        <if test="dto.checkInStatus != null and dto.checkInStatus != ''">
+            and t1.check_in_status = #{dto.checkInStatus}
+        </if>
+        <if test="dto.gender != null and dto.gender != ''">
+            and t1.gender = #{dto.gender}
+        </if>
+        ORDER BY t1.sort_code
+    </select>
     <select id="getMaxSortCode" resultType="java.lang.Integer">
         SELECT IFNULL(MAX(sort_code),1) FROM room WHERE delete_mark = 0
     </select>

+ 20 - 3
src/main/resources/mapper/room/RoomValueWeekItemMapper.xml

@@ -3,7 +3,7 @@
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.xjrsoft.module.room.mapper.RoomValueWeekItemMapper">
-    <select id="getItemList" parameterType="com.xjrsoft.module.room.dto.RoomValueWeekPageDto" resultType="com.xjrsoft.module.room.vo.RoomValueWeekPageVo">
+    <select id="getItemPage" parameterType="com.xjrsoft.module.room.dto.RoomValueWeekPageDto" resultType="com.xjrsoft.module.room.vo.RoomValueWeekPageVo">
         SELECT t1.id,t2.sort_code,t2.start_time,t2.end_time,t1.user_id,t3.name as user_name,t1.post_name,t1.room_type,t1.number_people FROM room_value_week_item t1
         LEFT JOIN room_value_week t2 ON t1.room_value_week_id = t2.id
         LEFT JOIN xjr_user t3 ON t1.user_id = t3.id
@@ -14,8 +14,24 @@
         <if test="dto.endTime != null">
             and #{dto.endTime} >= t2.end_time
         </if>
-        <if test="dto.userId != null">
-            and t3.id = #{dto.userId}
+        <if test="dto.userName != null and dto.userName != ''">
+            and t3.name like concat('%', #{dto.userId}, '%')
+        </if>
+        <if test="dto.roomType != null and dto.roomType != ''">
+            and t1.room_type = #{dto.roomType}
+        </if>
+        ORDER BY t2.sort_code,t1.sort_code
+    </select>
+    <select id="getItemList" parameterType="com.xjrsoft.module.room.dto.RoomValueWeekPageDto" resultType="com.xjrsoft.module.room.vo.RoomValueWeekPageVo">
+        SELECT t1.id,t2.sort_code,t2.start_time,t2.end_time,t1.user_id,t3.name as user_name,t1.post_name,t1.room_type,t1.number_people,t1.room_value_week_id FROM room_value_week_item t1
+        LEFT JOIN room_value_week t2 ON t1.room_value_week_id = t2.id
+        LEFT JOIN xjr_user t3 ON t1.user_id = t3.id
+        WHERE t2.delete_mark = 0 AND t1.delete_mark = 0
+        <if test="dto.startTime != null">
+            and t2.start_time >= #{dto.startTime}
+        </if>
+        <if test="dto.endTime != null">
+            and #{dto.endTime} >= t2.end_time
         </if>
         <if test="dto.userName != null and dto.userName != ''">
             and t3.name like concat('%', #{dto.userId}, '%')
@@ -25,6 +41,7 @@
         </if>
         ORDER BY t2.sort_code,t1.sort_code
     </select>
+
     <select id="getMaxSortCode" resultType="java.lang.Integer">
         SELECT IFNULL(MAX(sort_code),0) FROM room_value_week_item WHERE delete_mark = 0
     </select>

+ 1 - 1
src/main/resources/mapper/textbook/TextbookMapper.xml

@@ -123,7 +123,7 @@
         FROM wf_textbook_claim t1
                  LEFT JOIN base_semester t2 ON t1.base_semester_id = t2.id
                  LEFT JOIN base_class t3 ON t1.class_id = t3.id
-                 LEFT JOIN textbook_issue_record t4 ON t4.wf_textbook_claim_id = t1.id
+                 LEFT JOIN textbook_issue_record t4 ON t4.data_id = t1.id
                  LEFT JOIN xjr_user t5 ON t4.receive_user_id = t5.id
                  LEFT JOIN xjr_user_role_relation t6 ON t5.id = t6.user_id
                  LEFT JOIN xjr_role t7 ON t6.role_id = t7.id

+ 1 - 1
src/test/java/com/xjrsoft/module/textbook/service/impl/WfTextbookClaimServiceImplTest.java

@@ -18,6 +18,6 @@ class WfTextbookClaimServiceImplTest {
     private IWfTextbookClaimService wfTextbookClaimService;
     @Test
     void dataHandleAddClaimUserNode() {
-        wfTextbookClaimService.dataHandleAddClaimUserNode(1739576121003929600L);
+        wfTextbookClaimService.dataHandleAddClaimUserNode(1743210949226065920L);
     }
 }

+ 1 - 3
src/test/java/com/xjrsoft/module/textbook/service/impl/WfTextbookRecedeServiceImplTest.java

@@ -5,8 +5,6 @@ import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 
-import static org.junit.jupiter.api.Assertions.*;
-
 /**
  * @description:TODO
  * @author: phoenix
@@ -21,6 +19,6 @@ class WfTextbookRecedeServiceImplTest {
 
     @Test
     void dataHandle() {
-        wfTextbookRecedeService.dataHandle(1739838239871660032L);
+        wfTextbookRecedeService.dataHandle(1743226403487281152L);
     }
 }