Browse Source

教材入库记录接口实现

dzx 1 year ago
parent
commit
a2d7e13899

+ 20 - 22
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;
 
 /**
@@ -43,18 +46,13 @@ import java.util.List;
 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);
     }

+ 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/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> {
-}

+ 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 {
-}

+ 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

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

@@ -0,0 +1,26 @@
+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 {
+    @Override
+    public Page<TextbookWarehouseRecordPageVo> getPage(Page<TextbookWarehouseRecordPageDto> page, TextbookWarehouseRecordPageDto dto) {
+        return null;
+    }
+}

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

@@ -0,0 +1,47 @@
+<?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,t6.name AS grade_name,
+        t7.name AS class_name,t5.name AS course_name,t8.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_id t4 ON t3.subject_group_id = t4.id
+        LEFT JOIN base_course_subject t5 ON t3.course_subject_id = t5.id
+        LEFT JOIN base_grade t6 ON t3.grade_id = t6.id
+        LEFT JOIN base_class t7 ON t3.class_id = t7.id
+        LEFT JOIN xjr_dictionary_detail t8 ON t3.textbook_type = t8.code AND t8.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>