Browse Source

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

# Conflicts:
#	src/test/java/com/xjrsoft/xjrsoftboot/FreeMarkerGeneratorTest.java
phoenix 1 year ago
parent
commit
edff1652f5
29 changed files with 742 additions and 266 deletions
  1. 22 0
      src/main/java/com/xjrsoft/module/room/controller/RoomBedController.java
  2. 43 0
      src/main/java/com/xjrsoft/module/room/dto/DistributeClassPageDto.java
  3. 43 0
      src/main/java/com/xjrsoft/module/room/dto/DistributeRoomBedPageDto.java
  4. 6 4
      src/main/java/com/xjrsoft/module/room/mapper/RoomBedMapper.java
  5. 20 0
      src/main/java/com/xjrsoft/module/room/service/IRoomBedService.java
  6. 14 1
      src/main/java/com/xjrsoft/module/room/service/impl/RoomBedServiceImpl.java
  7. 55 0
      src/main/java/com/xjrsoft/module/room/vo/DistributeClassPageVo.java
  8. 68 0
      src/main/java/com/xjrsoft/module/room/vo/DistributeRoomBedPageVo.java
  9. 18 25
      src/main/java/com/xjrsoft/module/textbook/controller/TextbookIssueRecordController.java
  10. 23 25
      src/main/java/com/xjrsoft/module/textbook/controller/TextbookWarehouseRecordController.java
  11. 25 0
      src/main/java/com/xjrsoft/module/textbook/dto/TextbookIssueRecordPageDto.java
  12. 7 1
      src/main/java/com/xjrsoft/module/textbook/dto/TextbookPageDto.java
  13. 26 0
      src/main/java/com/xjrsoft/module/textbook/dto/TextbookWarehouseRecordPageDto.java
  14. 4 1
      src/main/java/com/xjrsoft/module/textbook/mapper/TextbookIssueRecordMapper.java
  15. 4 1
      src/main/java/com/xjrsoft/module/textbook/mapper/TextbookWarehouseRecordMapper.java
  16. 0 14
      src/main/java/com/xjrsoft/module/textbook/service/ITextbookClassWarehouseService.java
  17. 5 3
      src/main/java/com/xjrsoft/module/textbook/service/ITextbookIssueRecordService.java
  18. 19 0
      src/main/java/com/xjrsoft/module/textbook/service/ITextbookWarehouseRecordService.java
  19. 0 19
      src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookClassWarehouseServiceImpl.java
  20. 8 0
      src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookIssueRecordServiceImpl.java
  21. 2 2
      src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookServiceImpl.java
  22. 27 0
      src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookWarehouseRecordServiceImpl.java
  23. 61 90
      src/main/java/com/xjrsoft/module/textbook/vo/TextbookIssueRecordPageVo.java
  24. 54 79
      src/main/java/com/xjrsoft/module/textbook/vo/TextbookWarehouseRecordPageVo.java
  25. 57 1
      src/main/resources/mapper/room/RoomBedMapper.xml
  26. 51 0
      src/main/resources/mapper/textbook/TextbookIssueRecordMapper.xml
  27. 6 0
      src/main/resources/mapper/textbook/TextbookMapper.xml
  28. 45 0
      src/main/resources/mapper/textbook/TextbookWarehouseRecordMapper.xml
  29. 29 0
      src/test/java/com/xjrsoft/xjrsoftboot/FreeMarkerGeneratorTest.java

+ 22 - 0
src/main/java/com/xjrsoft/module/room/controller/RoomBedController.java

@@ -9,10 +9,14 @@ 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.AddRoomBedDto;
+import com.xjrsoft.module.room.dto.DistributeClassPageDto;
+import com.xjrsoft.module.room.dto.DistributeRoomBedPageDto;
 import com.xjrsoft.module.room.dto.RoomBedPageDto;
 import com.xjrsoft.module.room.dto.UpdateRoomBedDto;
 import com.xjrsoft.module.room.entity.RoomBed;
 import com.xjrsoft.module.room.service.IRoomBedService;
+import com.xjrsoft.module.room.vo.DistributeClassPageVo;
+import com.xjrsoft.module.room.vo.DistributeRoomBedPageVo;
 import com.xjrsoft.module.room.vo.RoomBedPageVo;
 import com.xjrsoft.module.room.vo.RoomBedVo;
 import io.swagger.annotations.Api;
@@ -60,6 +64,24 @@ public class RoomBedController {
         return RT.ok(pageOutput);
     }
 
+    @GetMapping(value = "/distribute-class-page")
+    @ApiOperation(value="分配床位班级列表(分页)")
+    @SaCheckPermission("roombed:detail")
+    public RT<PageOutput<DistributeClassPageVo>> distributeClassPage(@Valid DistributeClassPageDto dto){
+        Page<DistributeClassPageVo> page = roomBedService.getDistributeClassInfo(new Page<>(dto.getLimit(), dto.getSize()), dto);
+        PageOutput<DistributeClassPageVo> pageOutput = ConventPage.getPageOutput(page, DistributeClassPageVo.class);
+        return RT.ok(pageOutput);
+    }
+
+    @GetMapping(value = "/distribute-roombed-page")
+    @ApiOperation(value="分配床位寝室床位列表(分页)")
+    @SaCheckPermission("roombed:detail")
+    public RT<PageOutput<DistributeRoomBedPageVo>> distributeRoomBedPage(@Valid DistributeRoomBedPageDto dto){
+        Page<DistributeRoomBedPageVo> page = roomBedService.getDistributeRoomBedInfo(new Page<>(dto.getLimit(), dto.getSize()), dto);
+        PageOutput<DistributeRoomBedPageVo> pageOutput = ConventPage.getPageOutput(page, DistributeRoomBedPageVo.class);
+        return RT.ok(pageOutput);
+    }
+
     @GetMapping(value = "/info")
     @ApiOperation(value="根据id查询寝室床位信息")
     @SaCheckPermission("roombed:detail")

+ 43 - 0
src/main/java/com/xjrsoft/module/room/dto/DistributeClassPageDto.java

@@ -0,0 +1,43 @@
+package com.xjrsoft.module.room.dto;
+
+import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+
+/**
+* @title: 寝室床位分页查询入参
+* @Author dzx
+* @Date: 2023-12-27
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DistributeClassPageDto extends PageInput {
+
+    @ApiModelProperty("楼栋id")
+    public Long officeBuildId;
+
+    @ApiModelProperty("楼层")
+    public Integer floorNumber;
+
+
+    @ApiModelProperty("寝室id")
+    public Long roomId;
+
+    @ApiModelProperty("入住性别")
+    public String gender;
+
+    @ApiModelProperty("寝室id")
+    public Long gradeId;
+
+    @ApiModelProperty("年级id")
+    public Long classId;
+
+    @ApiModelProperty("寝室id")
+    public String studentName;
+
+    @ApiModelProperty("学号")
+    public String studentId;
+}

+ 43 - 0
src/main/java/com/xjrsoft/module/room/dto/DistributeRoomBedPageDto.java

@@ -0,0 +1,43 @@
+package com.xjrsoft.module.room.dto;
+
+import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+
+/**
+* @title: 寝室床位分页查询入参
+* @Author dzx
+* @Date: 2023-12-27
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DistributeRoomBedPageDto extends PageInput {
+
+    @ApiModelProperty("楼栋id")
+    public Long officeBuildId;
+
+    @ApiModelProperty("楼层")
+    public Integer floorNumber;
+
+
+    @ApiModelProperty("寝室id")
+    public Long roomId;
+
+    @ApiModelProperty("入住性别")
+    public String gender;
+
+    @ApiModelProperty("寝室id")
+    public Long gradeId;
+
+    @ApiModelProperty("年级id")
+    public Long classId;
+
+    @ApiModelProperty("寝室id")
+    public String studentName;
+
+    @ApiModelProperty("学号")
+    public String studentId;
+}

+ 6 - 4
src/main/java/com/xjrsoft/module/room/mapper/RoomBedMapper.java

@@ -1,16 +1,16 @@
 package com.xjrsoft.module.room.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.room.dto.DistributeClassPageDto;
+import com.xjrsoft.module.room.dto.DistributeRoomBedPageDto;
 import com.xjrsoft.module.room.dto.RoomBedPageDto;
-import com.xjrsoft.module.room.dto.RoomPageDto;
 import com.xjrsoft.module.room.entity.RoomBed;
+import com.xjrsoft.module.room.vo.DistributeClassPageVo;
+import com.xjrsoft.module.room.vo.DistributeRoomBedPageVo;
 import com.xjrsoft.module.room.vo.RoomBedPageVo;
 import org.apache.ibatis.annotations.Mapper;
 
-import java.util.List;
-
 /**
 * @title: 寝室床位
 * @Author dzx
@@ -33,5 +33,7 @@ public interface RoomBedMapper extends MPJBaseMapper<RoomBed> {
      */
     Page<RoomBedPageVo> getPage(Page<RoomBedPageVo> page, RoomBedPageDto dto);
 
+    Page<DistributeClassPageVo> getDistributeClassInfo(Page<DistributeClassPageVo> page, DistributeClassPageDto dto);
 
+    Page<DistributeRoomBedPageVo> getDistributeRoomBedInfo(Page<DistributeRoomBedPageVo> page, DistributeRoomBedPageDto dto);
 }

+ 20 - 0
src/main/java/com/xjrsoft/module/room/service/IRoomBedService.java

@@ -2,8 +2,12 @@ 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.DistributeClassPageDto;
+import com.xjrsoft.module.room.dto.DistributeRoomBedPageDto;
 import com.xjrsoft.module.room.dto.RoomBedPageDto;
 import com.xjrsoft.module.room.entity.RoomBed;
+import com.xjrsoft.module.room.vo.DistributeClassPageVo;
+import com.xjrsoft.module.room.vo.DistributeRoomBedPageVo;
 import com.xjrsoft.module.room.vo.RoomBedPageVo;
 
 import java.util.List;
@@ -27,4 +31,20 @@ public interface IRoomBedService extends MPJBaseService<RoomBed> {
 
 
     Boolean clearStudentInfo(List<Long> ids);
+
+    /**
+     * 分配床位,第一步查询班级
+     * @param page
+     * @param dto
+     * @return
+     */
+    Page<DistributeClassPageVo> getDistributeClassInfo(Page<DistributeClassPageVo> page, DistributeClassPageDto dto);
+
+    /**
+     * 分配床位,第二步查询班级
+     * @param page
+     * @param dto
+     * @return
+     */
+    Page<DistributeRoomBedPageVo> getDistributeRoomBedInfo(Page<DistributeRoomBedPageVo> page, DistributeRoomBedPageDto dto);
 }

+ 14 - 1
src/main/java/com/xjrsoft/module/room/service/impl/RoomBedServiceImpl.java

@@ -1,12 +1,15 @@
 package com.xjrsoft.module.room.service.impl;
 
-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.room.dto.DistributeClassPageDto;
+import com.xjrsoft.module.room.dto.DistributeRoomBedPageDto;
 import com.xjrsoft.module.room.dto.RoomBedPageDto;
 import com.xjrsoft.module.room.entity.RoomBed;
 import com.xjrsoft.module.room.mapper.RoomBedMapper;
 import com.xjrsoft.module.room.service.IRoomBedService;
+import com.xjrsoft.module.room.vo.DistributeClassPageVo;
+import com.xjrsoft.module.room.vo.DistributeRoomBedPageVo;
 import com.xjrsoft.module.room.vo.RoomBedPageVo;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
@@ -38,4 +41,14 @@ public class RoomBedServiceImpl extends MPJBaseServiceImpl<RoomBedMapper, RoomBe
         }
         return true;
     }
+
+    @Override
+    public Page<DistributeClassPageVo> getDistributeClassInfo(Page<DistributeClassPageVo> page, DistributeClassPageDto dto) {
+        return roomBedMapper.getDistributeClassInfo(page, dto);
+    }
+
+    @Override
+    public Page<DistributeRoomBedPageVo> getDistributeRoomBedInfo(Page<DistributeRoomBedPageVo> page, DistributeRoomBedPageDto dto) {
+        return roomBedMapper.getDistributeRoomBedInfo(page, dto);
+    }
 }

+ 55 - 0
src/main/java/com/xjrsoft/module/room/vo/DistributeClassPageVo.java

@@ -0,0 +1,55 @@
+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 DistributeClassPageVo {
+
+    /**
+    * 主键编号
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("主键编号")
+    @ApiModelProperty("主键编号")
+    private String id;
+
+    /**
+     * 楼栋名称
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("年级")
+    @ApiModelProperty("年级")
+    private String gradeName;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("专业部")
+    @ApiModelProperty("专业部")
+    private String orgName;
+
+    /**
+     * 班级名称
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("班级名称")
+    @ApiModelProperty("班级名称")
+    private String className;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("需要住宿人数")
+    @ApiModelProperty("需要住宿人数")
+    private Integer needCount;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("已分配床位数")
+    @ApiModelProperty("已分配床位数")
+    private Integer distributeCount;
+}

+ 68 - 0
src/main/java/com/xjrsoft/module/room/vo/DistributeRoomBedPageVo.java

@@ -0,0 +1,68 @@
+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 DistributeRoomBedPageVo {
+
+    /**
+    * 主键编号
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("主键编号")
+    @ApiModelProperty("主键编号")
+    private String id;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("序号")
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+
+    /**
+     * 楼栋名称
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("楼栋")
+    @ApiModelProperty("楼栋")
+    private String buildName;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("专业部")
+    @ApiModelProperty("专业部")
+    private Integer floorNumer;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("寝室号")
+    @ApiModelProperty("寝室号")
+    private String roomName;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("入住性别")
+    @ApiModelProperty("入住性别")
+    private String genderCn;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("入住身份")
+    @ApiModelProperty("入住身份")
+    private String checkInStatusCn;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("入住班级")
+    @ApiModelProperty("入住班级")
+    private String intoClass;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("床位数")
+    @ApiModelProperty("床位数")
+    private Integer bedCount;
+
+}

+ 18 - 25
src/main/java/com/xjrsoft/module/textbook/controller/TextbookIssueRecordController.java

@@ -1,39 +1,36 @@
 package com.xjrsoft.module.textbook.controller;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.xjrsoft.common.constant.GlobalConstant;
-import com.baomidou.mybatisplus.core.toolkit.StringPool;
+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.common.model.result.RT;
-import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.textbook.dto.AddTextbookIssueRecordDto;
-import com.xjrsoft.module.textbook.dto.UpdateTextbookIssueRecordDto;
-import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.support.ExcelTypeEnum;
-import org.springframework.http.ResponseEntity;
-import java.io.ByteArrayOutputStream;
-import java.util.ArrayList;
-
 import com.xjrsoft.module.textbook.dto.TextbookIssueRecordPageDto;
+import com.xjrsoft.module.textbook.dto.UpdateTextbookIssueRecordDto;
 import com.xjrsoft.module.textbook.entity.TextbookIssueRecord;
 import com.xjrsoft.module.textbook.service.ITextbookIssueRecordService;
 import com.xjrsoft.module.textbook.vo.TextbookIssueRecordPageVo;
-
 import com.xjrsoft.module.textbook.vo.TextbookIssueRecordVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.*;
+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 javax.validation.constraints.NotNull;
+import java.io.ByteArrayOutputStream;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -56,11 +53,7 @@ public class TextbookIssueRecordController {
     @SaCheckPermission("textbookissuerecord:detail")
     public RT<PageOutput<TextbookIssueRecordPageVo>> page(@Valid TextbookIssueRecordPageDto dto){
 
-        LambdaQueryWrapper<TextbookIssueRecord> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper
-                    .orderByDesc(TextbookIssueRecord::getId)
-                .select(TextbookIssueRecord.class,x -> VoToColumnUtil.fieldsToColumns(TextbookIssueRecordPageVo.class).contains(x.getProperty()));
-        IPage<TextbookIssueRecord> page = textbookIssueRecordService.page(ConventPage.getPage(dto), queryWrapper);
+        Page<TextbookIssueRecordPageVo> page = textbookIssueRecordService.getPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
         PageOutput<TextbookIssueRecordPageVo> pageOutput = ConventPage.getPageOutput(page, TextbookIssueRecordPageVo.class);
         return RT.ok(pageOutput);
     }

+ 23 - 25
src/main/java/com/xjrsoft/module/textbook/controller/TextbookClassWarehouseController.java → src/main/java/com/xjrsoft/module/textbook/controller/TextbookWarehouseRecordController.java

@@ -1,33 +1,36 @@
 package com.xjrsoft.module.textbook.controller;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.bean.BeanUtil;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+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.common.model.result.RT;
-import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.textbook.dto.AddTextbookWarehouseRecordDto;
-import com.xjrsoft.module.textbook.dto.UpdateTextbookWarehouseRecordDto;
-import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.support.ExcelTypeEnum;
-import org.springframework.http.ResponseEntity;
-import java.io.ByteArrayOutputStream;
-import java.util.ArrayList;
-
 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.ITextbookClassWarehouseService;
+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;
 import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.*;
+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;
 
 /**
@@ -37,24 +40,19 @@ import java.util.List;
 * @Version 1.0
 */
 @RestController
-@RequestMapping("/textbook" + "/textbookClassWarehouse")
-@Api(value = "/textbook"  + "/textbookClassWarehouse",tags = "教材入库代码")
+@RequestMapping("/textbook" + "/textbookWarehouseRecord")
+@Api(value = "/textbook"  + "/textbookWarehouseRecord",tags = "教材入库代码")
 @AllArgsConstructor
-public class TextbookClassWarehouseController {
+public class TextbookWarehouseRecordController {
 
 
-    private final ITextbookClassWarehouseService textbookClassWarehouseService;
+    private final ITextbookWarehouseRecordService textbookClassWarehouseService;
 
     @GetMapping(value = "/page")
     @ApiOperation(value="教材入库列表(分页)")
     @SaCheckPermission("textbookclasswarehouse:detail")
     public RT<PageOutput<TextbookWarehouseRecordPageVo>> page(@Valid TextbookWarehouseRecordPageDto dto){
-
-        LambdaQueryWrapper<TextbookWarehouseRecord> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper
-                    .orderByDesc(TextbookWarehouseRecord::getId)
-                .select(TextbookWarehouseRecord.class, x -> VoToColumnUtil.fieldsToColumns(TextbookWarehouseRecordPageVo.class).contains(x.getProperty()));
-        IPage<TextbookWarehouseRecord> page = textbookClassWarehouseService.page(ConventPage.getPage(dto), queryWrapper);
+        Page<TextbookWarehouseRecordPageVo> page = textbookClassWarehouseService.getPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
         PageOutput<TextbookWarehouseRecordPageVo> pageOutput = ConventPage.getPageOutput(page, TextbookWarehouseRecordPageVo.class);
         return RT.ok(pageOutput);
     }

+ 25 - 0
src/main/java/com/xjrsoft/module/textbook/dto/TextbookIssueRecordPageDto.java

@@ -22,5 +22,30 @@ import java.util.Date;
 @EqualsAndHashCode(callSuper = false)
 public class TextbookIssueRecordPageDto extends PageInput {
 
+    @ApiModelProperty("教材类型")
+    public String textbookType;
 
+    @ApiModelProperty("学期id")
+    public Long baseSemesterId;
+
+    @ApiModelProperty("学科组id")
+    public Long subjectGroupId;
+
+    @ApiModelProperty("课程id")
+    public Long courseSubjectId;
+
+    @ApiModelProperty("班级id")
+    public Long classId;
+
+    @ApiModelProperty("书名")
+    public String bookName;
+
+    @ApiModelProperty("书号")
+    public String issn;
+
+    @ApiModelProperty("规格型号")
+    public String specificationsModels;
+
+    @ApiModelProperty("规划教材")
+    public String isTextbookPlan;
 }

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

@@ -37,7 +37,13 @@ public class TextbookPageDto extends PageInput {
     @ApiModelProperty("书名")
     public String bookName;
 
-    @ApiModelProperty("书号")
+    @ApiModelProperty("规划教材")
     public String isTextbookPlan;
 
+    @ApiModelProperty("书号")
+    public String issn;
+
+    @ApiModelProperty("出版社")
+    public String editorInChief;
+
 }

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

@@ -1,6 +1,7 @@
 package com.xjrsoft.module.textbook.dto;
 
 import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -15,5 +16,30 @@ import lombok.EqualsAndHashCode;
 @EqualsAndHashCode(callSuper = false)
 public class TextbookWarehouseRecordPageDto extends PageInput {
 
+    @ApiModelProperty("教材类型")
+    public String textbookType;
 
+    @ApiModelProperty("学期id")
+    public Long baseSemesterId;
+
+    @ApiModelProperty("学科组id")
+    public Long subjectGroupId;
+
+    @ApiModelProperty("课程id")
+    public Long courseSubjectId;
+
+    @ApiModelProperty("班级id")
+    public Long classId;
+
+    @ApiModelProperty("书名")
+    public String bookName;
+
+    @ApiModelProperty("书号")
+    public String issn;
+
+    @ApiModelProperty("规格型号")
+    public String specificationsModels;
+
+    @ApiModelProperty("规划教材")
+    public String isTextbookPlan;
 }

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

@@ -1,8 +1,11 @@
 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;
 import com.xjrsoft.module.textbook.entity.TextbookIssueRecord;
+import com.xjrsoft.module.textbook.vo.TextbookIssueRecordPageVo;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -13,5 +16,5 @@ import org.apache.ibatis.annotations.Mapper;
 */
 @Mapper
 public interface TextbookIssueRecordMapper extends MPJBaseMapper<TextbookIssueRecord> {
-
+    Page<TextbookIssueRecordPageVo> getPage(Page<TextbookIssueRecordPageDto> page, TextbookIssueRecordPageDto dto);
 }

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

@@ -1,7 +1,10 @@
 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.dto.TextbookWarehouseRecordPageDto;
 import com.xjrsoft.module.textbook.entity.TextbookWarehouseRecord;
+import com.xjrsoft.module.textbook.vo.TextbookWarehouseRecordPageVo;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -12,5 +15,5 @@ import org.apache.ibatis.annotations.Mapper;
 */
 @Mapper
 public interface TextbookWarehouseRecordMapper extends MPJBaseMapper<TextbookWarehouseRecord> {
-
+    Page<TextbookWarehouseRecordPageVo> getPage(Page<TextbookWarehouseRecordPageDto> page, TextbookWarehouseRecordPageDto dto);
 }

+ 0 - 14
src/main/java/com/xjrsoft/module/textbook/service/ITextbookClassWarehouseService.java

@@ -1,14 +0,0 @@
-package com.xjrsoft.module.textbook.service;
-
-import com.github.yulichang.base.MPJBaseService;
-import com.xjrsoft.module.textbook.entity.TextbookWarehouseRecord;
-
-/**
-* @title: 教材入库
-* @Author szs
-* @Date: 2023-12-26
-* @Version 1.0
-*/
-
-public interface ITextbookClassWarehouseService extends MPJBaseService<TextbookWarehouseRecord> {
-}

+ 5 - 3
src/main/java/com/xjrsoft/module/textbook/service/ITextbookIssueRecordService.java

@@ -1,10 +1,10 @@
 package com.xjrsoft.module.textbook.service;
 
-import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.textbook.dto.TextbookIssueRecordPageDto;
 import com.xjrsoft.module.textbook.entity.TextbookIssueRecord;
-import lombok.Data;
-import java.util.List;
+import com.xjrsoft.module.textbook.vo.TextbookIssueRecordPageVo;
 
 /**
 * @title: 教材出库记录
@@ -14,4 +14,6 @@ import java.util.List;
 */
 
 public interface ITextbookIssueRecordService extends MPJBaseService<TextbookIssueRecord> {
+
+    Page<TextbookIssueRecordPageVo> getPage(Page<TextbookIssueRecordPageDto> page, TextbookIssueRecordPageDto dto);
 }

+ 19 - 0
src/main/java/com/xjrsoft/module/textbook/service/ITextbookWarehouseRecordService.java

@@ -0,0 +1,19 @@
+package com.xjrsoft.module.textbook.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.textbook.dto.TextbookWarehouseRecordPageDto;
+import com.xjrsoft.module.textbook.entity.TextbookWarehouseRecord;
+import com.xjrsoft.module.textbook.vo.TextbookWarehouseRecordPageVo;
+
+/**
+* @title: 教材入库
+* @Author szs
+* @Date: 2023-12-26
+* @Version 1.0
+*/
+
+public interface ITextbookWarehouseRecordService extends MPJBaseService<TextbookWarehouseRecord> {
+
+    Page<TextbookWarehouseRecordPageVo> getPage(Page<TextbookWarehouseRecordPageDto> page, TextbookWarehouseRecordPageDto dto);
+}

+ 0 - 19
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookClassWarehouseServiceImpl.java

@@ -1,19 +0,0 @@
-package com.xjrsoft.module.textbook.service.impl;
-
-import com.github.yulichang.base.MPJBaseServiceImpl;
-import com.xjrsoft.module.textbook.entity.TextbookWarehouseRecord;
-import com.xjrsoft.module.textbook.mapper.TextbookWarehouseRecordMapper;
-import com.xjrsoft.module.textbook.service.ITextbookClassWarehouseService;
-import lombok.AllArgsConstructor;
-import org.springframework.stereotype.Service;
-
-/**
-* @title: 教材入库
-* @Author szs
-* @Date: 2023-12-26
-* @Version 1.0
-*/
-@Service
-@AllArgsConstructor
-public class TextbookClassWarehouseServiceImpl extends MPJBaseServiceImpl<TextbookWarehouseRecordMapper, TextbookWarehouseRecord> implements ITextbookClassWarehouseService {
-}

+ 8 - 0
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookIssueRecordServiceImpl.java

@@ -1,10 +1,13 @@
 package com.xjrsoft.module.textbook.service.impl;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.module.textbook.dto.TextbookIssueRecordPageDto;
 import com.xjrsoft.module.textbook.entity.TextbookIssueRecord;
 import com.xjrsoft.module.textbook.mapper.TextbookIssueRecordMapper;
 import com.xjrsoft.module.textbook.service.ITextbookIssueRecordService;
+import com.xjrsoft.module.textbook.vo.TextbookIssueRecordPageVo;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -22,4 +25,9 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 @Service
 @AllArgsConstructor
 public class TextbookIssueRecordServiceImpl extends MPJBaseServiceImpl<TextbookIssueRecordMapper, TextbookIssueRecord> implements ITextbookIssueRecordService {
+    private final TextbookIssueRecordMapper textbookIssueRecordMapper;
+    @Override
+    public Page<TextbookIssueRecordPageVo> getPage(Page<TextbookIssueRecordPageDto> page, TextbookIssueRecordPageDto dto) {
+        return textbookIssueRecordMapper.getPage(page, dto);
+    }
 }

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

@@ -19,7 +19,7 @@ import com.xjrsoft.module.textbook.entity.*;
 import com.xjrsoft.module.textbook.mapper.TextbookClassRelationMapper;
 import com.xjrsoft.module.textbook.mapper.TextbookMapper;
 import com.xjrsoft.module.textbook.mapper.TextbookSubscriptionRecordMapper;
-import com.xjrsoft.module.textbook.service.ITextbookClassWarehouseService;
+import com.xjrsoft.module.textbook.service.ITextbookWarehouseRecordService;
 import com.xjrsoft.module.textbook.service.ITextbookService;
 import com.xjrsoft.module.textbook.service.IWfExerciseBookService;
 import com.xjrsoft.module.textbook.service.IWfTextbookSubscriptionService;
@@ -53,7 +53,7 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
 
     private final IBaseClassService baseClassService;
 
-    private final ITextbookClassWarehouseService textbookClassWarehouseService;
+    private final ITextbookWarehouseRecordService textbookClassWarehouseService;
 
 
     @Override

+ 27 - 0
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookWarehouseRecordServiceImpl.java

@@ -0,0 +1,27 @@
+package com.xjrsoft.module.textbook.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.module.textbook.dto.TextbookWarehouseRecordPageDto;
+import com.xjrsoft.module.textbook.entity.TextbookWarehouseRecord;
+import com.xjrsoft.module.textbook.mapper.TextbookWarehouseRecordMapper;
+import com.xjrsoft.module.textbook.service.ITextbookWarehouseRecordService;
+import com.xjrsoft.module.textbook.vo.TextbookWarehouseRecordPageVo;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+/**
+* @title: 教材入库
+* @Author szs
+* @Date: 2023-12-26
+* @Version 1.0
+*/
+@Service
+@AllArgsConstructor
+public class TextbookWarehouseRecordServiceImpl extends MPJBaseServiceImpl<TextbookWarehouseRecordMapper, TextbookWarehouseRecord> implements ITextbookWarehouseRecordService {
+    private final TextbookWarehouseRecordMapper textbookWarehouseRecordMapper;
+    @Override
+    public Page<TextbookWarehouseRecordPageVo> getPage(Page<TextbookWarehouseRecordPageDto> page, TextbookWarehouseRecordPageDto dto) {
+        return textbookWarehouseRecordMapper.getPage(page, dto);
+    }
+}

+ 61 - 90
src/main/java/com/xjrsoft/module/textbook/vo/TextbookIssueRecordPageVo.java

@@ -30,110 +30,81 @@ public class TextbookIssueRecordPageVo {
     @ExcelProperty("主键编号")
     @ApiModelProperty("主键编号")
     private String id;
-    /**
-    * 创建人
-    */
+
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("创建人")
-    @ApiModelProperty("创建人")
-    private Long createUserId;
-    /**
-    * 创建时间
-    */
+    @ExcelProperty("序号")
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+
+
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("创建时间")
-    @ApiModelProperty("创建时间")
-    private Date createDate;
-    /**
-    * 修改人
-    */
+    @ExcelProperty("书号")
+    @ApiModelProperty("书号")
+    private String issn;
+
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("修改人")
-    @ApiModelProperty("修改人")
-    private Long modifyUserId;
-    /**
-    * 修改时间
-    */
+    @ExcelProperty("书名")
+    @ApiModelProperty("书名")
+    private String bookName;
+
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("修改时间")
-    @ApiModelProperty("修改时间")
-    private Date modifyDate;
-    /**
-    * 删除标记
-    */
+    @ExcelProperty("出版社")
+    @ApiModelProperty("出版社")
+    private String publishingHouse;
+
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("删除标记")
-    @ApiModelProperty("删除标记")
-    private Integer deleteMark;
-    /**
-    * 有效标志
-    */
+    @ExcelProperty("作者(主编)")
+    @ApiModelProperty("作者(主编)")
+    private String editorInChief;
+
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("有效标志")
-    @ApiModelProperty("有效标志")
-    private Integer enabledMark;
-    /**
-    * 序号
-    */
+    @ExcelProperty("学科组")
+    @ApiModelProperty("学科组")
+    private String groupName;
+
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("序号")
-    @ApiModelProperty("序号")
-    private Integer sortCode;
-    /**
-    * 教材申领编号
-    */
+    @ExcelProperty("使用年级")
+    @ApiModelProperty("使用年级")
+    private String gradeName;
+
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("教材申领编号")
-    @ApiModelProperty("教材申领编号")
-    private Long wfTextbookClaimId;
-    /**
-    * 教材申领项编号
-    */
+    @ExcelProperty("使用班级")
+    @ApiModelProperty("使用班级")
+    private String className;
+
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("教材申领项编号")
-    @ApiModelProperty("教材申领项编号")
-    private Long wfTextbookClaimItemId;
-    /**
-    * 出库数量
-    */
+    @ExcelProperty("对应课程")
+    @ApiModelProperty("对应课程")
+    private String courseName;
+
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("出库数量")
-    @ApiModelProperty("出库数量")
-    private Integer issueNumber;
-    /**
-    * 剩余数量
-    */
+    @ExcelProperty("类型")
+    @ApiModelProperty("类型")
+    private String textbookTypeCn;
+
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("剩余数量")
-    @ApiModelProperty("剩余数量")
-    private Integer remainingNumber;
-    /**
-    * 领取用户编号
-    */
+    @ExcelProperty("规格型号")
+    @ApiModelProperty("规格型号")
+    private String specificationsModels;
+
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("领取用户编号")
-    @ApiModelProperty("领取用户编号")
-    private Long receiveUserId;
-    /**
-    * 出库用户编号
-    */
+    @ExcelProperty("出库方式")
+    @ApiModelProperty("出库方式")
+    private String issueModeCn;
+
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("出库用户编号")
-    @ApiModelProperty("出库用户编号")
-    private Long issueUserId;
-    /**
-    * 出库方式(xjr_dictionary_item[issue_mode])
-    */
+    @ExcelProperty("出库时间")
+    @ApiModelProperty("出库时间")
+    private Date createDate;
+
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("出库方式(xjr_dictionary_item[issue_mode])")
-    @ApiModelProperty("出库方式(xjr_dictionary_item[issue_mode])")
-    private String issueMode;
-    /**
-    * 备注
-    */
+    @ExcelProperty("领取人员")
+    @ApiModelProperty("领取人员")
+    private String claimUser;
+
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("备注")
-    @ApiModelProperty("备注")
-    private String remark;
+    @ExcelProperty("出库数量")
+    @ApiModelProperty("出库数量")
+    private Integer issueNumber;
 
 }

+ 54 - 79
src/main/java/com/xjrsoft/module/textbook/vo/TextbookWarehouseRecordPageVo.java

@@ -5,7 +5,6 @@ import com.alibaba.excel.annotation.write.style.ContentStyle;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.math.BigDecimal;
 import java.util.Date;
 
 /**
@@ -24,62 +23,71 @@ public class TextbookWarehouseRecordPageVo {
     @ExcelProperty("主键编号")
     @ApiModelProperty("主键编号")
     private String id;
+
     /**
-    * 创建人
+    * 序号
     */
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("创建人")
-    @ApiModelProperty("创建人")
-    private Long createUserId;
+    @ExcelProperty("序号")
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+
     /**
-    * 创建时间
-    */
+     * 来源
+     */
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("创建时间")
-    @ApiModelProperty("创建时间")
-    private Date createDate;
+    @ExcelProperty("书号")
+    @ApiModelProperty("书号")
+    private String issn;
+
     /**
-    * 修改人
+    * 书名
     */
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("修改人")
-    @ApiModelProperty("修改人")
-    private Long modifyUserId;
-    /**
-    * 修改时间
-    */
+    @ExcelProperty("书名")
+    @ApiModelProperty("书名")
+    private String bookName;
+
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("修改时间")
-    @ApiModelProperty("修改时间")
-    private Date modifyDate;
-    /**
-    * 删除标记
-    */
+    @ExcelProperty("出版社")
+    @ApiModelProperty("出版社")
+    private String publishingHouse;
+
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("删除标记")
-    @ApiModelProperty("删除标记")
-    private Integer deleteMark;
-    /**
-    * 有效标志
-    */
+    @ExcelProperty("作者(主编)")
+    @ApiModelProperty("作者(主编)")
+    private String editorInChief;
+
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("有效标志")
-    @ApiModelProperty("有效标志")
-    private Integer enabledMark;
-    /**
-    * 序号
-    */
+    @ExcelProperty("学科组")
+    @ApiModelProperty("学科组")
+    private String groupName;
+
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("序号")
-    @ApiModelProperty("序号")
-    private Integer sortCode;
-    /**
-    * 教材管理编号
-    */
+    @ExcelProperty("对应课程")
+    @ApiModelProperty("对应课程")
+    private String courseName;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("类型")
+    @ApiModelProperty("类型")
+    private String textbookTypeCn;
+
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("教材管理编号")
-    @ApiModelProperty("教材管理编号")
-    private Long textbookId;
+    @ExcelProperty("规格型号")
+    @ApiModelProperty("规格型号")
+    private String specificationsModels;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("入库时间")
+    @ApiModelProperty("入库时间")
+    private Date createDate;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("入库人员")
+    @ApiModelProperty("入库人员")
+    private String warehouseUser;
+
     /**
     * 入库数量
     */
@@ -87,40 +95,7 @@ public class TextbookWarehouseRecordPageVo {
     @ExcelProperty("入库数量")
     @ApiModelProperty("入库数量")
     private Integer warehouseNumber;
-    /**
-    * 来源
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("来源")
-    @ApiModelProperty("来源")
-    private String source;
-    /**
-    * 定价(元)
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("定价(元)")
-    @ApiModelProperty("定价(元)")
-    private BigDecimal price;
-    /**
-    * 折扣
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("折扣")
-    @ApiModelProperty("折扣")
-    private Double discount;
-    /**
-    * 小计(元)
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("小计(元)")
-    @ApiModelProperty("小计(元)")
-    private BigDecimal subtotal;
-    /**
-    * 总价(元)
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("总价(元)")
-    @ApiModelProperty("总价(元)")
-    private BigDecimal totalPrice;
+
+
 
 }

+ 57 - 1
src/main/resources/mapper/room/RoomBedMapper.xml

@@ -5,7 +5,7 @@
 <mapper namespace="com.xjrsoft.module.room.mapper.RoomBedMapper">
     <select id="getPage" parameterType="com.xjrsoft.module.room.dto.RoomBedPageDto" resultType="com.xjrsoft.module.room.vo.RoomBedPageVo">
         SELECT t1.id,t1.sort_code,t3.name AS build_name,t2.floor_number,t2.room_name,t1.bed_number,t4.name AS student_name,t5.student_id,
-        t4.mobile,t2.gender as gender_cn,t7.name AS grade_name,t8.name AS class_name FROM room_bed t1
+        t4.mobile,t9.name as gender_cn,t7.name AS grade_name,t8.name AS class_name FROM room_bed t1
         LEFT JOIN room t2 ON t1.room_id = t2.id
         LEFT JOIN base_office_build t3 ON t2.office_build_id = t3.id
         LEFT JOIN xjr_user t4 ON t1.student_user_id = t4.id
@@ -13,6 +13,7 @@
         LEFT JOIN base_student_school_roll t6 ON t1.student_user_id = t6.user_id
         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
         <if test="dto.officeBuildId != null">
             and t2.office_build_id = #{dto.officeBuildId}
         </if>
@@ -42,4 +43,59 @@
     <select id="getMaxSortCode" resultType="java.lang.Integer">
         SELECT IFNULL(MAX(sort_code),0) FROM room_bed WHERE delete_mark = 0
     </select>
+
+    <select id="getDistributeClassInfo" parameterType="com.xjrsoft.module.room.dto.DistributeClassPageDto" resultType="com.xjrsoft.module.room.vo.DistributeClassPageVo">
+        SELECT t1.id,t2.name AS grade_name,t3.name AS org_name,t1.name AS class_name,
+        (SELECT COUNT(*) FROM base_student c1
+        LEFT JOIN base_student_school_roll c2 ON c1.user_id = c2.user_id
+        LEFT JOIN xjr_dictionary_detail c3 ON c2.stduy_status = c3.code AND c3.item_id = 2023000000000000030
+        WHERE c1.delete_mark = 0 AND c2.delete_mark = 0
+        AND c3.code = 'FB3002' AND c2.class_id = t1.id) AS need_count,(
+        SELECT COUNT(*) FROM room_bed a1
+        LEFT JOIN base_student_school_roll a2 ON a1.student_user_id = a2.user_id
+        WHERE a1.delete_mark = 0 AND a2.delete_mark = 0
+        AND a2.class_id = t1.id
+        ) AS distribute_count FROM base_class t1
+        LEFT JOIN base_grade t2 ON t1.grade_id = t2.id
+        LEFT JOIN xjr_department t3 ON t1.org_id = t3.id
+        WHERE t1.delete_mark = 0
+        and (
+        SELECT COUNT(*) FROM base_student c1
+        LEFT JOIN base_student_school_roll c2 ON c1.user_id = c2.user_id
+        LEFT JOIN xjr_dictionary_detail c3 ON c2.stduy_status = c3.code AND c3.item_id = 2023000000000000030
+        WHERE c1.delete_mark = 0 AND c2.delete_mark = 0
+        AND c3.code = 'FB3002' AND c2.class_id = t1.id
+        ) !=
+        (
+        SELECT COUNT(*) FROM room_bed a1
+        LEFT JOIN base_student_school_roll a2 ON a1.student_user_id = a2.user_id
+        WHERE a1.delete_mark = 0 AND a2.delete_mark = 0
+        AND a2.class_id = t1.id
+        )
+    </select>
+    <select id="getDistributeRoomBedInfo" parameterType="com.xjrsoft.module.room.dto.DistributeRoomBedPageDto" resultType="com.xjrsoft.module.room.vo.DistributeRoomBedPageVo">
+        SELECT t1.id,t1.sort_code,t2.name AS build_name,t1.floor_number,t1.room_name,t4.name AS gender_cn, t3.name AS check_in_status_cn,
+        t1.bed_count,(
+        SELECT COUNT(*) FROM room_bed
+        WHERE delete_mark = 0 AND room_id = t1.id
+        AND student_user_id IS NOT NULL
+        ) AS into_count,(
+        SELECT GROUP_CONCAT(c3.name) FROM room_bed c1
+        LEFT JOIN base_student_school_roll c2 ON c1.student_user_id = c2.user_id
+        LEFT JOIN base_class c3 ON c2.class_id = c3.id
+        WHERE c1.delete_mark = 0 AND c1.room_id = t1.id
+        AND c1.student_user_id IS NOT NULL GROUP BY c3.id
+        ) AS into_class 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
+        and
+            (
+                SELECT COUNT(*) FROM room_bed
+                WHERE delete_mark = 0 AND room_id = t1.id
+                  AND student_user_id IS NOT NULL
+            ) != t1.bed_count
+        ORDER BY t1.sort_code
+    </select>
 </mapper>

+ 51 - 0
src/main/resources/mapper/textbook/TextbookIssueRecordMapper.xml

@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xjrsoft.module.textbook.mapper.TextbookIssueRecordMapper">
+    <select id="getPage" parameterType="com.xjrsoft.module.textbook.dto.TextbookIssueRecordPageDto" resultType="com.xjrsoft.module.textbook.vo.TextbookIssueRecordPageVo">
+        SELECT t1.id,t1.sort_code,t3.issn,t3.book_name,t3.publishing_house,t3.editor_in_chief,t7.group_name,t5.name AS grade_name,
+        t6.name AS class_name,t8.name AS course_name,t10.name AS textbook_type_cn,t3.specifications_models,
+        t11.name AS issue_mode_cn,t1.create_date,t9.name AS claim_user,t1.issue_number FROM textbook_issue_record t1
+        LEFT JOIN wf_textbook_claim_item t2 ON t1.wf_textbook_claim_item_id = t2.id
+        LEFT JOIN textbook t3 ON t2.textbook_id = t3.id
+        LEFT JOIN wf_textbook_claim t4 ON t2.wf_textbook_claim_id = t4.id
+        LEFT JOIN base_grade t5 ON t3.grade_id = t5.id
+        LEFT JOIN base_class t6 ON t4.class_id = t6.id
+        LEFT JOIN subject_group t7 ON t3.subject_group_id = t7.id
+        LEFT JOIN base_course_subject t8 ON t3.course_subject_id = t8.id
+        LEFT JOIN xjr_user t9 ON t4.claim_user_id = t9.id
+        LEFT JOIN xjr_dictionary_detail t10 ON t3.textbook_type = t10.code AND t10.item_id = 1739209191193636865
+        LEFT JOIN xjr_dictionary_detail t11 ON t1.issue_mode = t11.code AND t11.item_id = 1739821685805215745
+        WHERE t1.delete_mark = 0
+        <if test="dto.textbookType != null and dto.textbookType != ''">
+            and t3.textbook_type = #{dto.textbookType}
+        </if>
+        <if test="dto.baseSemesterId != null">
+            and t3.base_semester_id = #{dto.baseSemesterId}
+        </if>
+        <if test="dto.subjectGroupId != null">
+            and t3.subject_group_id = #{dto.subjectGroupId}
+        </if>
+        <if test="dto.courseSubjectId != null">
+            and t3.course_subject_id = #{dto.courseSubjectId}
+        </if>
+        <if test="dto.classId != null">
+            and t4.class_id = #{dto.classId}
+        </if>
+        <if test="dto.bookName != null and dto.bookName != ''">
+            and t3.book_name like concat('%',#{dto.bookName}, '%')
+        </if>
+        <if test="dto.issn != null and dto.issn != ''">
+            and t3.issn like concat('%',#{dto.issn}, '%')
+        </if>
+        <if test="dto.specificationsModels != null and dto.specificationsModels != ''">
+            and t3.specifications_models like concat('%',#{dto.specificationsModels}, '%')
+        </if>
+        <if test="dto.isTextbookPlan != null and dto.isTextbookPlan != ''">
+            and t3.is_textbook_plan = #{dto.isTextbookPlan}
+        </if>
+        ORDER BY t1.sort_code
+    </select>
+
+</mapper>

+ 6 - 0
src/main/resources/mapper/textbook/TextbookMapper.xml

@@ -36,6 +36,12 @@
         <if test="dto.isTextbookPlan != null and dto.isTextbookPlan != ''">
             and t1.is_textbook_plan = #{dto.isTextbookPlan}
         </if>
+        <if test="dto.issn != null and dto.issn != ''">
+            and t1.issn like concat('%', #{dto.issn}, '%')
+        </if>
+        <if test="dto.editorInChief != null and dto.editorInChief != ''">
+            and t1.editor_in_chief like concat('%', #{dto.editorInChief}, '%')
+        </if>
     </select>
 
     <select id="subscriptionList" resultType="com.xjrsoft.module.textbook.vo.TextbookSubscriptionRecordVo">

+ 45 - 0
src/main/resources/mapper/textbook/TextbookWarehouseRecordMapper.xml

@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xjrsoft.module.textbook.mapper.TextbookWarehouseRecordMapper">
+    <select id="getPage" parameterType="com.xjrsoft.module.textbook.dto.TextbookWarehouseRecordPageDto" resultType="com.xjrsoft.module.textbook.vo.TextbookWarehouseRecordPageVo">
+        SELECT t1.id, t1.sort_code, t3.issn,t3.book_name,t3.publishing_house,t3.editor_in_chief,t4.group_name,
+        t5.name AS course_name,t6.name AS textbook_type_cn,t3.specifications_models,t1.create_date,t2.name AS warehouse_user,t1.warehouse_number FROM textbook_warehouse_record t1
+        LEFT JOIN xjr_user t2 ON t1.create_user_id = t2.id
+        LEFT JOIN textbook t3 ON t1.textbook_id = t3.id
+        LEFT JOIN subject_group t4 ON t3.subject_group_id = t4.id
+        LEFT JOIN base_course_subject t5 ON t3.course_subject_id = t5.id
+        LEFT JOIN xjr_dictionary_detail t6 ON t3.textbook_type = t6.code AND t6.item_id = 1739209191193636865
+        WHERE t1.delete_mark = 0
+        <if test="dto.textbookType != null and dto.textbookType != ''">
+            and t3.textbook_type = #{dto.textbookType}
+        </if>
+        <if test="dto.baseSemesterId != null">
+            and t3.base_semester_id = #{dto.baseSemesterId}
+        </if>
+        <if test="dto.subjectGroupId != null">
+            and t3.subject_group_id = #{dto.subjectGroupId}
+        </if>
+        <if test="dto.courseSubjectId != null">
+            and t3.course_subject_id = #{dto.courseSubjectId}
+        </if>
+        <if test="dto.classId != null">
+            and t3.class_id = #{dto.classId}
+        </if>
+        <if test="dto.bookName != null and dto.bookName != ''">
+            and t3.book_name like concat('%',#{dto.bookName}, '%')
+        </if>
+        <if test="dto.issn != null and dto.issn != ''">
+            and t3.issn like concat('%',#{dto.issn}, '%')
+        </if>
+        <if test="dto.specificationsModels != null and dto.specificationsModels != ''">
+            and t3.specifications_models like concat('%',#{dto.specificationsModels}, '%')
+        </if>
+        <if test="dto.isTextbookPlan != null and dto.isTextbookPlan != ''">
+            and t3.is_textbook_plan = #{dto.isTextbookPlan}
+        </if>
+        ORDER BY t1.sort_code
+    </select>
+
+</mapper>

+ 29 - 0
src/test/java/com/xjrsoft/xjrsoftboot/FreeMarkerGeneratorTest.java

@@ -1558,4 +1558,33 @@ public class FreeMarkerGeneratorTest {
 
         apiGeneratorService.generateCodes(params);
     }
+    /**
+     * 寝室维护
+     * @throws IOException
+     */
+    @Test
+    public void gcRoomBedRecord() throws IOException {
+        List<TableConfig> tableConfigs = new ArrayList<>();
+        TableConfig mainTable = new TableConfig();
+        mainTable.setTableName("room_bed_record");//init_sql中的表名
+        mainTable.setIsMain(true);//是否是主表,一般默认为true
+        mainTable.setPkField(GlobalConstant.DEFAULT_PK);//设置主键
+        mainTable.setPkType(GlobalConstant.DEFAULT_PK_TYPE);//设置主键类型
+        tableConfigs.add(mainTable);
+
+        ApiGenerateCodesDto params = new ApiGenerateCodesDto();
+        params.setAuthor("dzx");//作者名称
+        params.setPackageName("room");//包名
+        params.setTableConfigs(tableConfigs);
+        params.setPage(true);//是否生成分页接口
+        params.setImport(true);//是否生成导入接口
+        params.setExport(true);//是否生成导出接口
+        params.setOutMainDir(true);//是否生成在主目录,前期测试可设置成false
+        params.setDs(ds);
+
+        IApiGeneratorService apiGeneratorService = new ApiGeneratorServiceImpl();
+
+        apiGeneratorService.generateCodes(params);
+    }
+
 }