|
@@ -113,18 +113,14 @@ public class TextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<Textbook
|
|
|
|
|
|
@Override
|
|
|
public List<TextbookInstockroomOnceListVo> everyInstockroomList(TextbookInstockroomOnceListDto dto) {
|
|
|
- MPJLambdaWrapper<TextbookSubscriptionItem> queryWrapper = new MPJLambdaWrapper<>();
|
|
|
+ MPJLambdaWrapper<TextbookWarehouseRecord> queryWrapper = new MPJLambdaWrapper<>();
|
|
|
queryWrapper
|
|
|
.select(TextbookSubscriptionItem::getId)
|
|
|
+ .selectAs(TextbookWarehouseRecord::getWarehouseNumber, TextbookInstockroomOnceListVo::getOnceInStockNum)
|
|
|
+ .selectAs(TextbookWarehouseRecord::getCreateDate, TextbookInstockroomOnceListVo::getCreateDate)
|
|
|
+ .selectAs(TextbookWarehouseRecord::getCreateUserId, TextbookInstockroomOnceListVo::getCreateUserId)
|
|
|
.select(Textbook.class, x -> VoToColumnUtil.fieldsToColumns(TextbookInstockroomOnceListVo.class).contains(x.getProperty()))
|
|
|
- .select(TextbookSubscriptionItem.class, x -> VoToColumnUtil.fieldsToColumns(TextbookInstockroomOnceListVo.class).contains(x.getProperty()))
|
|
|
.leftJoin(Textbook.class, Textbook::getId, TextbookSubscriptionItem::getTextbookId)
|
|
|
- .leftJoin(TextbookWarehouseRecord.class, TextbookWarehouseRecord::getDataItemId, TextbookSubscriptionItem::getId,
|
|
|
- wrapper -> wrapper
|
|
|
- .selectAs(TextbookWarehouseRecord::getWarehouseNumber, TextbookInstockroomOnceListVo::getOnceInStockNum)
|
|
|
- .selectAs(TextbookWarehouseRecord::getCreateDate, TextbookInstockroomOnceListVo::getCreateDate)
|
|
|
- .selectAs(TextbookWarehouseRecord::getCreateUserId, TextbookInstockroomOnceListVo::getCreateUserId)
|
|
|
- )
|
|
|
.leftJoin(BaseCourseSubject.class, BaseCourseSubject::getId, Textbook::getCourseSubjectId,
|
|
|
wrapper -> wrapper
|
|
|
.selectAs(BaseCourseSubject::getName, TextbookInstockroomOnceListVo::getCourseName)
|
|
@@ -137,7 +133,7 @@ public class TextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<Textbook
|
|
|
.orderByAsc(TextbookSubscriptionItem::getInStockNum)
|
|
|
;
|
|
|
|
|
|
- return textbookSubscriptionTextbookSubscriptionItemMapper.selectJoinList(TextbookInstockroomOnceListVo.class, queryWrapper);
|
|
|
+ return textbookWarehouseRecordMapper.selectJoinList(TextbookInstockroomOnceListVo.class, queryWrapper);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -351,7 +347,9 @@ public class TextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<Textbook
|
|
|
|
|
|
List<Long> textbookSubscriptionItemIds = new ArrayList<>();
|
|
|
for (TextbookInstockroomDto dto : dtos) {
|
|
|
- textbookSubscriptionItemIds.add(dto.getTextbookSubscriptionItemId());
|
|
|
+ if(ObjectUtils.isNotEmpty(dto.getTextbookSubscriptionItemId())){
|
|
|
+ textbookSubscriptionItemIds.add(dto.getTextbookSubscriptionItemId());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if (textbookSubscriptionItemIds.isEmpty()) {
|
|
@@ -378,20 +376,20 @@ public class TextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<Textbook
|
|
|
itemByIdMap.put(el.getId(), el);
|
|
|
}
|
|
|
|
|
|
+ TextbookSubscriptionItem old = null;
|
|
|
for (TextbookInstockroomDto dto : dtos) {
|
|
|
- TextbookSubscriptionItem old = null;
|
|
|
- if (dto.getTextbookSubscriptionItemId() != null && dto.getTextbookSubscriptionItemId() > 0) {
|
|
|
+ if (ObjectUtils.isNotEmpty(dto.getTextbookSubscriptionItemId())) {
|
|
|
old = itemByIdMap.get(dto.getTextbookSubscriptionItemId());
|
|
|
}
|
|
|
|
|
|
- if (old == null) {
|
|
|
+ if (ObjectUtils.isEmpty(old)) {
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
TextbookSubscriptionItem updateItem = new TextbookSubscriptionItem();
|
|
|
updateItem.setId(old.getId());
|
|
|
updateItem.setDiscount(dto.getDiscount());
|
|
|
- updateItem.setPrice(dto.getPrice());
|
|
|
+ updateItem.setPrice(old.getPrice().multiply(BigDecimal.valueOf(dto.getDiscount()).divide(BigDecimal.valueOf(10), 2, RoundingMode.DOWN)));
|
|
|
updateItem.setInStockNum(old.getInStockNum() + dto.getInNum());
|
|
|
textbookSubscriptionTextbookSubscriptionItemMapper.updateById(updateItem);
|
|
|
|
|
@@ -401,9 +399,14 @@ public class TextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<Textbook
|
|
|
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()).divide(BigDecimal.valueOf(10), 2, RoundingMode.DOWN)));
|
|
|
+ textbookWarehouseRecord.setTotalPrice(textbookWarehouseRecord.getSubtotal().multiply(BigDecimal.valueOf(dto.getInNum())));
|
|
|
textbookWarehouseRecord.setWarehouseMode(WarehouseModeEnum.WmManual.getCode());
|
|
|
textbookWarehouseRecordMapper.insert(textbookWarehouseRecord);
|
|
|
}
|
|
|
+
|
|
|
return true;
|
|
|
}
|
|
|
|