Browse Source

教材征订时选择教材排除可以使用多个学期的教材

大数据与最优化研究所 1 month ago
parent
commit
4268e0a5ef

+ 1 - 0
src/main/java/com/xjrsoft/module/textbook/controller/TextbookSubscriptionController.java

@@ -79,6 +79,7 @@ public class TextbookSubscriptionController {
                 .rightJoin(TextbookSubscriptionItem.class, TextbookSubscriptionItem::getTextbookSubscriptionId, TextbookSubscription::getId)
                 .eq(TextbookSubscriptionItem::getTextbookId, dto.getTextbookId())
                 .eq(TextbookSubscription::getBaseSemesterId, dto.getBaseSemesterId())
+                .ne(TextbookSubscription::getStatus, 0)
         ;
         List<TextbookSubscriptionHistoryListVo> list = textbookSubscriptionService.selectJoinList(TextbookSubscriptionHistoryListVo.class, queryWrapper);
         return RT.ok(list);

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

@@ -28,4 +28,7 @@ public class TextbookSubscriptionListDto{
 
     @ApiModelProperty("学期id")
     public Long baseSemesterId;
+
+    @ApiModelProperty("学期id")
+    public Long textbookSubscriptionId;
 }

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

@@ -1052,6 +1052,11 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
         subscribedTextbook
                 .distinct()
                 .select(BaseClassCourse::getId)
+                .innerJoin(TextbookSubscription.class, TextbookSubscription::getId, TextbookSubscriptionItem::getTextbookSubscriptionId,
+                        wrapper -> wrapper
+                                .ne(TextbookSubscription::getStatus, 0)
+                        )
+
                 .innerJoin(TextbookSubscriptionItemClass.class,
                         wrapper -> wrapper
                                 .eq(TextbookSubscriptionItemClass::getTextbookSubscriptionItemId, TextbookSubscriptionItem::getId)
@@ -1066,6 +1071,7 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
                 )
 
                 .innerJoin(Textbook.class, Textbook::getId, TextbookSubscriptionItem::getTextbookId)
+                .ne(ObjectUtils.isNotEmpty(dto.getTextbookSubscriptionId()), TextbookSubscriptionItem::getTextbookSubscriptionId, dto.getTextbookSubscriptionId())
                 .gt(Textbook::getUseType, 1)
         ;
         List<BaseClassCourse> baseClassCourses = textbookSubscriptionItemMapper.selectJoinList(BaseClassCourse.class, subscribedTextbook);