Forráskód Böngészése

教材入库分页

大数据与最优化研究所 10 hónapja
szülő
commit
167eee1751

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

@@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.bean.BeanUtil;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.support.ExcelTypeEnum;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
@@ -53,7 +54,7 @@ public class TextbookWarehouseRecordController {
     @ApiOperation(value="教材入库列表(分页)")
     @SaCheckPermission("textbookclasswarehouse:detail")
     public RT<PageOutput<TextbookWarehouseRecordPageVo>> page(@Valid TextbookWarehouseRecordPageDto dto){
-        Page<TextbookWarehouseRecordPageVo> page = textbookClassWarehouseService.getPage(dto);
+        IPage<TextbookWarehouseRecordPageVo> page = textbookClassWarehouseService.getPage(dto);
         PageOutput<TextbookWarehouseRecordPageVo> pageOutput = ConventPage.getPageOutput(page, TextbookWarehouseRecordPageVo.class);
         return RT.ok(pageOutput);
     }

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

@@ -16,9 +16,6 @@ import lombok.EqualsAndHashCode;
 @EqualsAndHashCode(callSuper = false)
 public class TextbookWarehouseRecordPageDto extends PageInput {
 
-    @ApiModelProperty("教材类型")
-    public String textbookType;
-
     @ApiModelProperty("学期id")
     public Long baseSemesterId;
 
@@ -28,23 +25,6 @@ public class TextbookWarehouseRecordPageDto extends PageInput {
     @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;
-    /**
-     * 出版社
-     */
-    @ApiModelProperty("出版社")
-    private String publishingHouse;
 }

+ 2 - 3
src/main/java/com/xjrsoft/module/textbook/service/ITextbookWarehouseRecordService.java

@@ -1,8 +1,7 @@
 package com.xjrsoft.module.textbook.service;
 
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.yulichang.base.MPJBaseService;
-import com.xjrsoft.module.textbook.dto.AddTextbookWarehouseRecordDto;
 import com.xjrsoft.module.textbook.dto.TextbookWarehouseRecordExportDto;
 import com.xjrsoft.module.textbook.dto.TextbookWarehouseRecordPageDto;
 import com.xjrsoft.module.textbook.entity.TextbookWarehouseRecord;
@@ -19,7 +18,7 @@ import java.util.List;
 
 public interface ITextbookWarehouseRecordService extends MPJBaseService<TextbookWarehouseRecord> {
 
-    Page<TextbookWarehouseRecordPageVo> getPage(TextbookWarehouseRecordPageDto dto);
+    IPage<TextbookWarehouseRecordPageVo> getPage(TextbookWarehouseRecordPageDto dto);
 
     List<TextbookWarehouseRecordPageVo> getList(TextbookWarehouseRecordExportDto dto);
 

+ 0 - 1
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookSubscriptionServiceImpl.java

@@ -273,7 +273,6 @@ public class TextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<Textbook
                 .select(TextbookSubscriptionItem::getId)
                 .selectAs(TextbookSubscriptionItem::getPrice, SubscriptionItemListDistributeVo::getActulPrice)
                 .select(TextbookSubscriptionItem.class,x -> VoToColumnUtil.fieldsToColumns(SubscriptionItemListDistributeVo.class).contains(x.getProperty()))
-                .innerJoin(TextbookSubscription.class, TextbookSubscription::getId, TextbookSubscriptionItem::getTextbookSubscriptionId)
                 .eq(TextbookSubscriptionItem::getTextbookId, dto.getTextbookId())
                 .gt(TextbookSubscriptionItem::getInStockNum, TextbookSubscriptionItem::getOutStockNum)
                 .orderByAsc(TextbookSubscriptionItem::getCreateDate)

+ 51 - 12
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookWarehouseRecordServiceImpl.java

@@ -2,22 +2,32 @@ package com.xjrsoft.module.textbook.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.xjrsoft.common.enums.WarehouseModeEnum;
 import com.xjrsoft.common.exception.MyException;
+import com.xjrsoft.common.page.ConventPage;
+import com.xjrsoft.common.utils.VoToColumnUtil;
+import com.xjrsoft.module.base.entity.BaseCourseSubject;
+import com.xjrsoft.module.base.entity.BaseSemester;
+import com.xjrsoft.module.base.entity.CourseSubjectDetail;
+import com.xjrsoft.module.system.entity.DictionaryDetail;
+import com.xjrsoft.module.teacher.entity.XjrUser;
 import com.xjrsoft.module.textbook.dto.AddTextbookWarehouseRecordDto;
 import com.xjrsoft.module.textbook.dto.TextbookWarehouseRecordExportDto;
 import com.xjrsoft.module.textbook.dto.TextbookWarehouseRecordPageDto;
-import com.xjrsoft.module.textbook.entity.Textbook;
-import com.xjrsoft.module.textbook.entity.TextbookWarehouseRecord;
+import com.xjrsoft.module.textbook.entity.*;
 import com.xjrsoft.module.textbook.mapper.TextbookMapper;
 import com.xjrsoft.module.textbook.mapper.TextbookWarehouseRecordMapper;
 import com.xjrsoft.module.textbook.service.ITextbookWarehouseRecordService;
+import com.xjrsoft.module.textbook.vo.SubscriptionItemListDistributeVo;
+import com.xjrsoft.module.textbook.vo.TextbookSubscriptionPageVo;
 import com.xjrsoft.module.textbook.vo.TextbookWarehouseRecordPageVo;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang3.ObjectUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -37,17 +47,46 @@ public class TextbookWarehouseRecordServiceImpl extends MPJBaseServiceImpl<Textb
     private final TextbookWarehouseRecordMapper textbookWarehouseRecordMapper;
 
     @Override
-    public Page<TextbookWarehouseRecordPageVo> getPage(TextbookWarehouseRecordPageDto dto) {
-//        MPJLambdaWrapper<TextbookWarehouseRecord>;-
-
-//        MPJLambdaWrapper<TextbookWarehouseRecord> textbookWarehouseRecordMPJLambdaWrapper = new MPJLambdaWrapper<>();
-//        textbookWarehouseRecordMPJLambdaWrapper
-//                .leftJoin()
-//                ;
-
-
+    public IPage<TextbookWarehouseRecordPageVo> getPage(TextbookWarehouseRecordPageDto dto) {
+        MPJLambdaWrapper<TextbookWarehouseRecord> textbookWarehouseRecordMPJLambdaWrapper = new MPJLambdaWrapper<>();
+        textbookWarehouseRecordMPJLambdaWrapper
+                .disableSubLogicDel()
+                .select(TextbookWarehouseRecord::getId)
+                .select(Textbook.class,x -> VoToColumnUtil.fieldsToColumns(TextbookWarehouseRecordPageVo.class).contains(x.getProperty()))
+                .select(TextbookWarehouseRecord.class,x -> VoToColumnUtil.fieldsToColumns(TextbookWarehouseRecordPageVo.class).contains(x.getProperty()))
+                .innerJoin(Textbook.class, Textbook::getId, TextbookWarehouseRecord::getTextbookId)
+                .leftJoin(TextbookSubscription.class, TextbookSubscription::getId, TextbookWarehouseRecord::getDataId,
+                        wrapper -> wrapper
+                                .selectAs(BaseSemester::getName, TextbookWarehouseRecordPageVo::getBaseSemesterIdCn)
+                                .leftJoin(BaseSemester.class, BaseSemester::getId, TextbookSubscription::getBaseSemesterId)
+                        )
+                .leftJoin(DictionaryDetail.class, DictionaryDetail::getCode, TextbookWarehouseRecord::getWarehouseMode,
+                        wrapper -> wrapper
+                                .selectAs(DictionaryDetail::getName, TextbookWarehouseRecordPageVo::getWarehouseModeCn)
+                )
+                .leftJoin(DictionaryDetail.class, DictionaryDetail::getCode, Textbook::getTextbookType,
+                        wrapper -> wrapper
+                                .selectAs(DictionaryDetail::getName, TextbookWarehouseRecordPageVo::getTextbookTypeCn)
+                )
+                .leftJoin(SubjectGroup.class, SubjectGroup::getId, Textbook::getSubjectGroupId,
+                        wrapper -> wrapper
+                                .selectAs(SubjectGroup::getGroupName, TextbookWarehouseRecordPageVo::getGroupName)
+                )
+                .leftJoin(BaseCourseSubject.class, BaseCourseSubject::getId, Textbook::getCourseSubjectId,
+                        wrapper -> wrapper
+                                .selectAs(BaseCourseSubject::getName, TextbookWarehouseRecordPageVo::getGroupName)
+                )
+                .leftJoin(XjrUser.class, XjrUser::getId, TextbookWarehouseRecord::getCreateUserId,
+                        wrapper -> wrapper
+                                .selectAs(XjrUser::getName, TextbookWarehouseRecordPageVo::getWarehouseUser)
+                )
+                .eq(ObjectUtils.isNotEmpty(dto.getBaseSemesterId()), TextbookSubscription::getBaseSemesterId, dto.getBaseSemesterId())
+                .eq(ObjectUtils.isNotEmpty(dto.getSubjectGroupId()), Textbook::getSubjectGroupId, dto.getSubjectGroupId())
+                .eq(ObjectUtils.isNotEmpty(dto.getCourseSubjectId()), Textbook::getCourseSubjectId, dto.getCourseSubjectId())
+                .like(StringUtils.isNotEmpty(dto.getBookName()), Textbook::getBookName, dto.getBookName())
+                ;
+        return this.selectJoinListPage(ConventPage.getPage(dto), TextbookWarehouseRecordPageVo.class, textbookWarehouseRecordMPJLambdaWrapper);
 //        return textbookWarehouseRecordMapper.getPage(page, dto);
-        return null;
     }
 
     @Override

+ 27 - 86
src/main/java/com/xjrsoft/module/textbook/vo/TextbookWarehouseRecordPageVo.java

@@ -17,119 +17,60 @@ import java.util.Date;
 @Data
 public class TextbookWarehouseRecordPageVo {
 
-    /**
-    * 主键编号
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("主键编号")
+    @ApiModelProperty("学期")
+    public String baseSemesterIdCn;
+
     @ApiModelProperty("主键编号")
     private String id;
 
-    /**
-    * 序号
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("序号")
-    @ApiModelProperty("序号")
-    private Integer sortCode;
-
-    /**
-     * 来源
-     */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("书号")
-    @ApiModelProperty("书号")
-    private String issn;
-    /**
-     * 单价(元)
-     */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("单价(元)")
-    @ApiModelProperty("单价(元)")
-    private BigDecimal Price;
-    /**
-     * 折扣
-     */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("折扣")
-    @ApiModelProperty("折扣")
-    private Double discount;
-    /**
-    * 书名
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("书名")
+    @ApiModelProperty("入库方式")
+    private String warehouseModeCn;
+
     @ApiModelProperty("书名")
     private String bookName;
 
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("出版社")
+    @ApiModelProperty("书号")
+    private String issn;
+
     @ApiModelProperty("出版社")
     private String publishingHouse;
 
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("作者(主编)")
     @ApiModelProperty("作者(主编)")
     private String editorInChief;
 
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("学科组")
+    @ApiModelProperty("是否为规划教材")
+    private Integer isTextbookPlan;
+
+    @ApiModelProperty("教材分类(xjr_dictionary_item[textbook_type])")
+    private String textbookTypeCn;
+
     @ApiModelProperty("学科组")
     private String groupName;
 
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("对应课程")
     @ApiModelProperty("对应课程")
     private String courseName;
 
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("类型")
-    @ApiModelProperty("类型")
-    private String textbookTypeCn;
+    @ApiModelProperty("使用类型(单位:学期)")
+    private Integer useType;
 
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("规格型号")
-    @ApiModelProperty("规格型号")
-    private String specificationsModels;
+    @ApiModelProperty("单价(元)")
+    private BigDecimal Price;
+
+    @ApiModelProperty("折扣")
+    private Double discount;
+
+    @ApiModelProperty("小计(元)")
+    private BigDecimal subtotal;
 
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("入库时间")
     @ApiModelProperty("入库时间")
     private Date createDate;
 
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("入库人员")
     @ApiModelProperty("入库人员")
     private String warehouseUser;
 
-    /**
-    * 入库数量
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("入库数量")
     @ApiModelProperty("入库数量")
     private Integer warehouseNumber;
 
-    /**
-     * 使用年级
-     */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("使用年级")
-    @ApiModelProperty("使用年级")
-    private String useGrade;
-    /**
-     * 使用年级
-     */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("学期")
-    @ApiModelProperty("学期")
-    public String baseSemesterIdCn;
-    /**
-     * 使用班级
-     */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("使用班级")
-    @ApiModelProperty("使用班级")
-    private String useClass;
-
+    @ApiModelProperty("总价(元)")
+    private BigDecimal totalPrice;
 }