Ver Fonte

教材优化

大数据与最优化研究所 há 1 ano atrás
pai
commit
fa529d5790

+ 21 - 4
src/main/java/com/xjrsoft/module/textbook/controller/TextbookController.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.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
@@ -16,6 +17,7 @@ import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.base.entity.BaseClassCourse;
 import com.xjrsoft.module.base.entity.BaseCourseSubject;
 import com.xjrsoft.module.student.entity.BaseClassMajorSet;
+import com.xjrsoft.module.student.service.IBaseClassMajorSetService;
 import com.xjrsoft.module.textbook.dto.*;
 import com.xjrsoft.module.textbook.entity.Textbook;
 import com.xjrsoft.module.textbook.entity.TextbookClassRelation;
@@ -54,6 +56,9 @@ public class TextbookController {
 
     private final ITextbookStudentClaimService textbookStudentClaimService;
 
+
+    private final IBaseClassMajorSetService baseClassMajorSetService;
+
     @GetMapping(value = "/page")
     @ApiOperation(value="教材管理列表(分页)")
     @SaCheckPermission("textbook:detail")
@@ -78,21 +83,33 @@ public class TextbookController {
                 .select(Textbook::getId)
                 .selectAs(Textbook::getId,TextbookSubscriptionListVo::getTextbookId)
                 .selectAs(BaseCourseSubject::getName, TextbookSubscriptionListVo::getCourseName)
-                .selectSum(BaseClassMajorSet::getTotalStudent, TextbookSubscriptionListVo::getStudentSubscriptionNumber)
                 .select(Textbook.class, x -> VoToColumnUtil.fieldsToColumns(TextbookSubscriptionListVo.class).contains(x.getProperty()))
                 .leftJoin(BaseClassCourse.class, BaseClassCourse::getCourseId, Textbook::getCourseSubjectId)
-                .leftJoin(BaseClassMajorSet.class, BaseClassMajorSet::getClassId, BaseClassCourse::getClassId)
                 .leftJoin(BaseCourseSubject.class, BaseCourseSubject::getId, Textbook::getCourseSubjectId)
                 .eq(dto.getBaseSemesterId() != null && dto.getBaseSemesterId() > 0, BaseClassCourse::getBaseSemesterId, dto.getBaseSemesterId())
                 .in(!classIdList.isEmpty(),BaseClassCourse::getClassId, classIdList)
                 .groupBy(Textbook::getId)
         ;
         IPage<TextbookSubscriptionListVo> page = textbookService.selectJoinListPage(ConventPage.getPage(dto),TextbookSubscriptionListVo.class,textbookMPJLambdaWrapper);
+
+        //获取所有班级的总人数
+        LambdaQueryWrapper<BaseClassMajorSet> baseClassMajorSetLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        baseClassMajorSetLambdaQueryWrapper
+                .in(!classIdList.isEmpty(), BaseClassMajorSet::getClassId, classIdList)
+                ;
+        List<BaseClassMajorSet> baseClassMajorSetList = baseClassMajorSetService.list();
+
+        int studentSubscriptionNumber = 0;
+        for (BaseClassMajorSet baseClassMajorSet : baseClassMajorSetList){
+            studentSubscriptionNumber += baseClassMajorSet.getTotalStudent();
+        }
+
         for(TextbookSubscriptionListVo t : page.getRecords()){
             t.setClassIds(dto.getClassIds());
-            if(t.getTextbookType() != null && !t.getTextbookType().equals("")){
+            if(t.getTextbookType() != null && !("").equals(t.getTextbookType())){
                 t.setTextbookTypeCn(TextbookTypeEnum.getValue(t.getTextbookType()));
             }
+            t.setStudentSubscriptionNumber(studentSubscriptionNumber);
         }
         PageOutput<TextbookSubscriptionListVo> pageOutput = ConventPage.getPageOutput(page, TextbookSubscriptionListVo.class);
         return RT.ok(pageOutput);
@@ -126,7 +143,7 @@ public class TextbookController {
     @GetMapping(value = "/List-subscription")
     @ApiOperation(value="教材管理列表(不分页,教材征订用)")
     @SaCheckPermission("textbook:detail")
-    public RT<List<TextbookSubscriptionListVo>> ListSubscription(@Valid TextbookSubscriptionListDto dto){
+    public RT<List<TextbookSubscriptionListVo>> listSubscription(@Valid TextbookSubscriptionListDto dto){
         List<String> classIdList = new ArrayList<>();
         if(dto.getClassIds() != null && !dto.getClassIds().equals("")){
             String[] classIdArr =  dto.getClassIds().split(",");

+ 15 - 0
src/main/java/com/xjrsoft/module/textbook/vo/TextbookSubscriptionListVo.java

@@ -39,6 +39,21 @@ public class TextbookSubscriptionListVo {
     */
     @ApiModelProperty("书名")
     private String bookName;
+    /**
+     * 国际标准刊号
+     */
+    @ApiModelProperty("国际标准刊号")
+    private String issn;
+    /**
+     * 主编
+     */
+    @ApiModelProperty("主编")
+    private String editorInChief;
+    /**
+     * 版本
+     */
+    @ApiModelProperty("版本")
+    private String version;
     /**
     * 出版社
     */