dzx 10 місяців тому
батько
коміт
53240dcba1

+ 14 - 16
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookSubscriptionServiceImpl.java

@@ -134,20 +134,18 @@ public class TextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<Textbook
         MPJLambdaWrapper<TextbookSubscriptionItem> queryWrapper = new MPJLambdaWrapper<>();
         queryWrapper
                 .disableSubLogicDel()
+                .selectAs(Textbook::getPrice, TextbookInstockroomListVo::getPrice)
+                .selectAs(TextbookSubscriptionItem::getDiscount, TextbookInstockroomListVo::getDiscount)
+                .selectAs(TextbookSubscriptionItem::getPrice, TextbookInstockroomListVo::getActualPrice)
+                .selectAs(TextbookSubscriptionItem::getStudentNum, TextbookInstockroomListVo::getStudentSubscriptionNumber)
+                .selectAs(TextbookSubscriptionItem::getTeacherNum, TextbookInstockroomListVo::getTeacherSubscriptionNumber)
                 .selectAs(TextbookSubscriptionItem::getId, TextbookInstockroomListVo::getTextbookSubscriptionItemId)
                 .select(Textbook.class, x -> VoToColumnUtil.fieldsToColumns(TextbookInstockroomListVo.class).contains(x.getProperty()))
                 .select(TextbookSubscriptionItem.class, x -> VoToColumnUtil.fieldsToColumns(TextbookInstockroomListVo.class).contains(x.getProperty()))
-                .selectAs(TextbookSubscriptionItem::getStudentNum, TextbookInstockroomListVo::getStudentSubscriptionNumber)
-                .selectAs(TextbookSubscriptionItem::getTeacherNum, TextbookInstockroomListVo::getTeacherSubscriptionNumber)
 //                .selectAs(TextbookSubscriptionItem::getPrice, TextbookInstockroomListVo::getActualPrice)
 //                .selectAs(TextbookSubscriptionItem::getDiscount, TextbookInstockroomListVo::getDiscount)
-                .selectAs(Textbook::getPrice, TextbookInstockroomListVo::getPrice)
-                .select("ifnull(t2.discount, t.discount) as discount")
-                .select("ifnull(t2.price, t.price) as actual_price")
                 .leftJoin(Textbook.class, Textbook::getId, TextbookSubscriptionItem::getTextbookId)
-
                 .leftJoin(TextbookWarehouseRecord.class, TextbookWarehouseRecord::getDataItemId, TextbookSubscriptionItem::getId)
-
                 .leftJoin(BaseCourseSubject.class, BaseCourseSubject::getId, Textbook::getCourseSubjectId,
                         wrapper -> wrapper
                                 .selectAs(BaseCourseSubject::getName, TextbookInstockroomListVo::getCourseName)
@@ -158,6 +156,7 @@ public class TextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<Textbook
                 )
 
                 .eq(TextbookSubscriptionItem::getTextbookSubscriptionId, dto.getTextbookSubscriptionId())
+                .like(StringUtils.isNotEmpty(dto.getBookName()), Textbook::getBookName, dto.getBookName())
                 .orderByAsc(TextbookSubscriptionItem::getInStockNum)
         ;
 
@@ -451,15 +450,14 @@ public class TextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<Textbook
         }
 
         //获取需要修改的list
-        MPJLambdaWrapper<TextbookSubscriptionItem> queryWrapper = new MPJLambdaWrapper<>();
+        LambdaQueryWrapper<TextbookSubscriptionItem> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper
                 .select(TextbookSubscriptionItem::getId)
                 .select(TextbookSubscriptionItem.class, x -> VoToColumnUtil.fieldsToColumns(TextbookSubscriptionItem.class).contains(x.getProperty()))
-                .leftJoin(Textbook.class, Textbook::getId, TextbookSubscriptionItem::getTextbookId)
                 .in(TextbookSubscriptionItem::getId, textbookSubscriptionItemIds)
                 .eq(TextbookSubscriptionItem::getDeleteMark, DeleteMark.NODELETE.getCode())
         ;
-        List<TextbookSubscriptionItem> textbookSubscriptionItemList = textbookSubscriptionTextbookSubscriptionItemMapper.selectJoinList(TextbookSubscriptionItem.class, queryWrapper);
+        List<TextbookSubscriptionItem> textbookSubscriptionItemList = textbookSubscriptionTextbookSubscriptionItemMapper.selectList(queryWrapper);
         if (textbookSubscriptionItemList.isEmpty()) {
             throw new MyException("证订项已经变更,请刷新重试");
         }
@@ -526,7 +524,7 @@ public class TextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<Textbook
             updateItem = new TextbookSubscriptionItem();
             updateItem.setId(old.getId());
             updateItem.setDiscount(dto.getDiscount());
-            updateItem.setPrice(old.getPrice().multiply(BigDecimal.valueOf(dto.getDiscount() / 10)));
+            updateItem.setPrice(dto.getPrice().multiply(BigDecimal.valueOf(dto.getDiscount() / 10)));
             updateItem.setInStockNum(old.getInStockNum() + dto.getInNum());
             updateItem.setModifyDate(new Date());
             updateItem.setModifyUserId(StpUtil.getLoginIdAsLong());
@@ -543,11 +541,11 @@ public class TextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<Textbook
                 textbookWarehouseRecord.setTextbookId(old.getTextbookId());
                 textbookWarehouseRecord.setDataId(dto.getTextbookSubscriptionId());
                 textbookWarehouseRecord.setDataItemId(dto.getTextbookSubscriptionItemId());
-                textbookWarehouseRecord.setWarehouseNumber(dto.getInNum());
-                textbookWarehouseRecord.setPrice(old.getPrice());
-                textbookWarehouseRecord.setDiscount(dto.getDiscount());
-                textbookWarehouseRecord.setSubtotal(old.getPrice().multiply(BigDecimal.valueOf(dto.getDiscount() / 10)));
-                textbookWarehouseRecord.setTotalPrice(textbookWarehouseRecord.getSubtotal().multiply(BigDecimal.valueOf(dto.getInNum())));
+                textbookWarehouseRecord.setWarehouseNumber(ObjectUtils.isNotEmpty(dto.getInNum()) ? dto.getInNum() : 0);
+                textbookWarehouseRecord.setPrice(ObjectUtils.isNotEmpty(dto.getPrice()) ? dto.getPrice() : BigDecimal.ZERO);
+                textbookWarehouseRecord.setDiscount(ObjectUtils.isNotEmpty(dto.getDiscount()) ? dto.getDiscount() : 10D);
+                textbookWarehouseRecord.setSubtotal(dto.getPrice().multiply(BigDecimal.valueOf(dto.getDiscount() / 10)));
+                textbookWarehouseRecord.setTotalPrice(textbookWarehouseRecord.getSubtotal().multiply(BigDecimal.valueOf(textbookWarehouseRecord.getWarehouseNumber())));
                 oldOrderInteger += 1;
                 String newOrder = String.format("%03d", oldOrderInteger); // 补零并格式化为三位数
                 textbookWarehouseRecord.setOrderNumber(sb + newOrder);

+ 1 - 1
src/main/resources/mapper/base/BaseClassCourse.xml

@@ -89,7 +89,7 @@
         t1.issn,
         t1.editor_in_chief,
         t1.version
-        from tl.base_class_admin_course t
+        from base_class_admin_course t
         left join base_class_course t3 on t3.class_id = t.id
         left join textbook t1 on t1.id = t3.textbook_id
         left join base_course_subject t2 on t3.course_id = t2.id