Browse Source

教材征订,按班级征订,展示出了未关联的教材名称

dzx 1 năm trước cách đây
mục cha
commit
e6832c5e27

+ 3 - 15
src/main/java/com/xjrsoft/module/textbook/controller/TextbookController.java

@@ -80,24 +80,12 @@ public class TextbookController {
     @SaCheckPermission("textbook:detail")
     public RT<PageOutput<TextbookSubscriptionListVo>> pageSubscription(@Valid TextbookSubscriptionListDto dto){
         List<String> classIdList = new ArrayList<>();
-        if(dto.getClassIds() != null && !dto.getClassIds().equals("")){
+        if(dto.getClassIds() != null && !"".equals(dto.getClassIds())){
             String[] classIdArr =  dto.getClassIds().split(",");
             classIdList = Arrays.asList(classIdArr);
         }
-
-        MPJLambdaWrapper<Textbook> textbookMPJLambdaWrapper = new MPJLambdaWrapper<>();
-        textbookMPJLambdaWrapper
-                .select(Textbook::getId)
-                .selectAs(Textbook::getId,TextbookSubscriptionListVo::getTextbookId)
-                .selectAs(BaseCourseSubject::getName, TextbookSubscriptionListVo::getCourseName)
-                .select(Textbook.class, x -> VoToColumnUtil.fieldsToColumns(TextbookSubscriptionListVo.class).contains(x.getProperty()))
-                .leftJoin(BaseClassCourse.class, BaseClassCourse::getCourseId, Textbook::getCourseSubjectId)
-                .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);
+        dto.setClassIdList(classIdList);
+        IPage<TextbookSubscriptionListVo> page = textbookService.getSubscriptionPageByClass(new Page<>(dto.getLimit(), dto.getSize()), dto);
 
         //获取所有班级的总人数
         LambdaQueryWrapper<BaseClassMajorSet> baseClassMajorSetLambdaQueryWrapper = new LambdaQueryWrapper<>();

+ 5 - 0
src/main/java/com/xjrsoft/module/textbook/dto/TextbookSubscriptionListDto.java

@@ -6,6 +6,8 @@ import com.xjrsoft.common.page.PageInput;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 
 /**
 * @title: 教材管理分页查询入参
@@ -25,4 +27,7 @@ public class TextbookSubscriptionListDto extends PageInput {
 
     @ApiModelProperty("学期id")
     public Long baseSemesterId;
+
+    @ApiModelProperty("班级ids")
+    public List<String> classIdList;
 }

+ 4 - 0
src/main/java/com/xjrsoft/module/textbook/mapper/TextbookMapper.java

@@ -6,6 +6,7 @@ import com.xjrsoft.module.textbook.dto.TextbookClaimExportQueryDto;
 import com.xjrsoft.module.textbook.dto.TextbookPageDto;
 import com.xjrsoft.module.textbook.dto.TextbookStandingExportQuerytDto;
 import com.xjrsoft.module.textbook.dto.TextbookSubscriptionExportQueryDto;
+import com.xjrsoft.module.textbook.dto.TextbookSubscriptionListDto;
 import com.xjrsoft.module.textbook.entity.Textbook;
 import com.xjrsoft.module.textbook.entity.TextbookClassRelation;
 import com.xjrsoft.module.textbook.vo.TextbookClaimExportQueryVo;
@@ -14,6 +15,7 @@ import com.xjrsoft.module.textbook.vo.TextbookPageVo;
 import com.xjrsoft.module.textbook.vo.TextbookStandingExportQueryVo;
 import com.xjrsoft.module.textbook.vo.TextbookSubscriptionClassVo;
 import com.xjrsoft.module.textbook.vo.TextbookSubscriptionExportQueryVo;
+import com.xjrsoft.module.textbook.vo.TextbookSubscriptionListVo;
 import com.xjrsoft.module.textbook.vo.TextbookSubscriptionRecordVo;
 import com.xjrsoft.module.textbook.vo.TextbookVo;
 import com.xjrsoft.module.textbook.vo.TextbookWarehouseRecordListVo;
@@ -102,4 +104,6 @@ public interface TextbookMapper extends MPJBaseMapper<Textbook> {
     List<TextbookSubscriptionExportQueryVo> listTextbookSubscriptionExportQuery(@Param("dto") TextbookSubscriptionExportQueryDto dto);
 
     List<TextbookClaimExportQueryVo> listTextbookClaimExportQuery(@Param("dto") TextbookClaimExportQueryDto dto);
+
+    Page<TextbookSubscriptionListVo> getSubscriptionPageByClass(Page<TextbookSubscriptionListVo> page, @Param("dto")TextbookSubscriptionListDto dto);
 }

+ 4 - 1
src/main/java/com/xjrsoft/module/textbook/service/ITextbookService.java

@@ -7,12 +7,13 @@ import com.xjrsoft.module.textbook.dto.TextbookClaimExportQueryDto;
 import com.xjrsoft.module.textbook.dto.TextbookPageDto;
 import com.xjrsoft.module.textbook.dto.TextbookStandingExportQuerytDto;
 import com.xjrsoft.module.textbook.dto.TextbookSubscriptionExportQueryDto;
+import com.xjrsoft.module.textbook.dto.TextbookSubscriptionListDto;
 import com.xjrsoft.module.textbook.entity.Textbook;
 import com.xjrsoft.module.textbook.entity.TextbookClassRelation;
 import com.xjrsoft.module.textbook.vo.TextbookIssueRecordListVo;
 import com.xjrsoft.module.textbook.vo.TextbookPageVo;
 import com.xjrsoft.module.textbook.vo.TextbookStandingExportQueryVo;
-import com.xjrsoft.module.textbook.vo.TextbookSubscriptionExportQueryVo;
+import com.xjrsoft.module.textbook.vo.TextbookSubscriptionListVo;
 import com.xjrsoft.module.textbook.vo.TextbookSubscriptionRecordVo;
 import com.xjrsoft.module.textbook.vo.TextbookVo;
 import com.xjrsoft.module.textbook.vo.TextbookWarehouseRecordListVo;
@@ -138,4 +139,6 @@ public interface ITextbookService extends MPJBaseService<Textbook> {
     ByteArrayOutputStream listTextbookClaimExportQuery(TextbookClaimExportQueryDto dto);
 
     Boolean excelImport(InputStream inputStream);
+
+    Page<TextbookSubscriptionListVo> getSubscriptionPageByClass(Page<TextbookSubscriptionListVo> page, TextbookSubscriptionListDto dto);
 }

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

@@ -898,6 +898,11 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
         return true;
     }
 
+    @Override
+    public Page<TextbookSubscriptionListVo> getSubscriptionPageByClass(Page<TextbookSubscriptionListVo> page, TextbookSubscriptionListDto dto) {
+        return this.baseMapper.getSubscriptionPageByClass(page, dto);
+    }
+
     private void saveData(List<TextbookImportDto> dataList) {
         //查询所有需要的数据
         //学科组

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

@@ -340,4 +340,22 @@
         </if>
         order by t2.name desc
     </select>
+
+    <select id="getSubscriptionPageByClass"
+            parameterType="com.xjrsoft.module.textbook.dto.TextbookSubscriptionListDto"
+            resultType="com.xjrsoft.module.textbook.vo.TextbookSubscriptionListVo">
+        SELECT t3.id, t3.id AS textbookId, t2.name AS courseName, t3.issn, t3.book_name,
+        t3.publishing_house, t3.editor_in_chief, t3.course_subject_id, t3.version,
+        t3.textbook_type, t3.use_type FROM base_class_course t
+        LEFT JOIN base_class t1 ON (t1.id = t.class_id)
+        LEFT JOIN base_course_subject t2 ON (t2.id = t.course_id)
+        LEFT JOIN textbook t3 ON (t3.id = t.textbook_id)
+        LEFT JOIN base_semester t4 ON (t4.id = t.base_semester_id)
+        WHERE t.delete_mark = 0 AND t3.delete_mark = 0
+        AND (t.base_semester_id = #{dto.baseSemesterId} AND t.class_id in
+        <foreach item="classId" index="index" collection="dto.classIdList" open="(" close=")" separator=",">
+            #{classId}
+        </foreach>
+        )
+    </select>
 </mapper>