|
@@ -13,11 +13,9 @@ import com.xjrsoft.module.base.entity.BaseCourseSubject;
|
|
|
import com.xjrsoft.module.base.mapper.BaseClassMapper;
|
|
|
import com.xjrsoft.module.system.entity.DictionaryDetail;
|
|
|
import com.xjrsoft.module.textbook.dto.*;
|
|
|
-import com.xjrsoft.module.textbook.entity.Textbook;
|
|
|
-import com.xjrsoft.module.textbook.entity.TextbookSubscriptionRecord;
|
|
|
-import com.xjrsoft.module.textbook.entity.WfTextbookSubscription;
|
|
|
-import com.xjrsoft.module.textbook.entity.WfTextbookSubscriptionItem;
|
|
|
+import com.xjrsoft.module.textbook.entity.*;
|
|
|
import com.xjrsoft.module.textbook.mapper.TextbookSubscriptionRecordMapper;
|
|
|
+import com.xjrsoft.module.textbook.mapper.WfTextbookSubscriptionItemHistoryMapper;
|
|
|
import com.xjrsoft.module.textbook.mapper.WfTextbookSubscriptionItemMapper;
|
|
|
import com.xjrsoft.module.textbook.mapper.WfTextbookSubscriptionMapper;
|
|
|
import com.xjrsoft.module.textbook.service.ITextbookService;
|
|
@@ -27,6 +25,7 @@ import com.xjrsoft.module.textbook.vo.TextbookSubscriptionExportQueryListVo;
|
|
|
import com.xjrsoft.module.textbook.vo.WfTextbookSubscriptionItemVo;
|
|
|
import com.xjrsoft.module.textbook.vo.WfTextbookSubscriptionVo;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
@@ -48,6 +47,8 @@ public class WfTextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<WfText
|
|
|
|
|
|
private final TextbookSubscriptionRecordMapper textbookTextbookSubscriptionRecordMapper;
|
|
|
|
|
|
+ private final WfTextbookSubscriptionItemHistoryMapper wfTextbookSubscriptionItemHistoryMapper;
|
|
|
+
|
|
|
private final ITextbookService textbookService;
|
|
|
|
|
|
private final BaseClassMapper baseClassMapper;
|
|
@@ -104,6 +105,46 @@ public class WfTextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<WfText
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Boolean alteration(UpdateWfTextbookSubscriptionItemDto dto) {
|
|
|
+ WfTextbookSubscriptionItem old = wfTextbookSubscriptionWfTextbookSubscriptionItemMapper.selectById(dto.getId());
|
|
|
+ if(old == null){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ //将历史记录保存到历史变更记录表
|
|
|
+ LambdaQueryWrapper<WfTextbookSubscriptionItemHistory> wfTextbookSubscriptionItemHistoryLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ wfTextbookSubscriptionItemHistoryLambdaQueryWrapper
|
|
|
+ .eq(WfTextbookSubscriptionItemHistory::getWfTextbookSubscriptionItemId, old.getId())
|
|
|
+ .orderByDesc(WfTextbookSubscriptionItemHistory::getHistoryVersion)
|
|
|
+ .last("limit 1")
|
|
|
+ ;
|
|
|
+ WfTextbookSubscriptionItemHistory lastOne = wfTextbookSubscriptionItemHistoryMapper.selectOne(wfTextbookSubscriptionItemHistoryLambdaQueryWrapper);
|
|
|
+
|
|
|
+ WfTextbookSubscriptionItemHistory wfTextbookSubscriptionItemHistory = new WfTextbookSubscriptionItemHistory();
|
|
|
+ BeanUtils.copyProperties(old, wfTextbookSubscriptionItemHistory);
|
|
|
+ wfTextbookSubscriptionItemHistory.setId(null);
|
|
|
+ wfTextbookSubscriptionItemHistory.setWfTextbookSubscriptionItemId(old.getId());
|
|
|
+ wfTextbookSubscriptionItemHistory.setCreateDate(new Date());
|
|
|
+ wfTextbookSubscriptionItemHistory.setCreateUserId(StpUtil.getLoginIdAsLong());
|
|
|
+ if(lastOne != null){
|
|
|
+ wfTextbookSubscriptionItemHistory.setHistoryVersion(lastOne.getHistoryVersion() + 1);
|
|
|
+ } else {
|
|
|
+ wfTextbookSubscriptionItemHistory.setHistoryVersion(1);
|
|
|
+ }
|
|
|
+
|
|
|
+ wfTextbookSubscriptionItemHistoryMapper.insert(wfTextbookSubscriptionItemHistory);
|
|
|
+
|
|
|
+ //变更当前记录
|
|
|
+ WfTextbookSubscriptionItem updateItem = new WfTextbookSubscriptionItem();
|
|
|
+ BeanUtils.copyProperties(dto, updateItem);
|
|
|
+
|
|
|
+ wfTextbookSubscriptionWfTextbookSubscriptionItemMapper.updateById(updateItem);
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean delete(List<Long> ids) {
|
|
@@ -155,6 +196,7 @@ public class WfTextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<WfText
|
|
|
|
|
|
MPJLambdaWrapper<WfTextbookSubscriptionItem> mpjLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
mpjLambdaWrapper
|
|
|
+ .select(WfTextbookSubscriptionItem::getId)
|
|
|
.selectAs(BaseCourseSubject::getName, WfTextbookSubscriptionItemVo::getCourseSubjectIdCn)
|
|
|
.select(WfTextbookSubscriptionItem.class, x -> VoToColumnUtil.fieldsToColumns(WfTextbookSubscriptionItemVo.class).contains(x.getProperty()))
|
|
|
.select(Textbook.class, x -> VoToColumnUtil.fieldsToColumns(WfTextbookSubscriptionItemVo.class).contains(x.getProperty()))
|
|
@@ -271,7 +313,7 @@ public class WfTextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<WfText
|
|
|
MPJLambdaWrapper<WfTextbookSubscriptionItem> queryWrapper = new MPJLambdaWrapper<>();
|
|
|
queryWrapper
|
|
|
.select(WfTextbookSubscriptionItem::getId)
|
|
|
- .selectAs(BaseCourseSubject::getName, TextbookInstockroomListVo::getCourseSubjectIdCn)
|
|
|
+ .selectAs(BaseCourseSubject::getName, TextbookInstockroomListVo::getCourseName)
|
|
|
.selectAs(DictionaryDetail::getName, TextbookInstockroomListVo::getTextbookTypeCn)
|
|
|
.select("(t.student_subscription_number + t.teacher_subscription_number) as subscriptionNumber")
|
|
|
.select(Textbook.class, x -> VoToColumnUtil.fieldsToColumns(TextbookInstockroomListVo.class).contains(x.getProperty()))
|
|
@@ -280,11 +322,10 @@ public class WfTextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<WfText
|
|
|
.leftJoin(BaseCourseSubject.class, BaseCourseSubject::getId, Textbook::getCourseSubjectId)
|
|
|
.leftJoin(DictionaryDetail.class, DictionaryDetail::getCode, Textbook::getTextbookType)
|
|
|
.eq(WfTextbookSubscriptionItem::getWfTextbookSubscriptionId, dto.getWfTextbookSubscriptionId())
|
|
|
- .orderByAsc(WfTextbookSubscriptionItem::getInstockroomNum)
|
|
|
+ .orderByAsc(WfTextbookSubscriptionItem::getInStockroomNum)
|
|
|
;
|
|
|
- List<TextbookInstockroomListVo> list = wfTextbookSubscriptionWfTextbookSubscriptionItemMapper.selectJoinList(TextbookInstockroomListVo.class, queryWrapper);
|
|
|
|
|
|
- return list;
|
|
|
+ return wfTextbookSubscriptionWfTextbookSubscriptionItemMapper.selectJoinList(TextbookInstockroomListVo.class, queryWrapper);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -319,7 +360,7 @@ public class WfTextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<WfText
|
|
|
WfTextbookSubscriptionItem old = itemMap.get(dto.getId());
|
|
|
WfTextbookSubscriptionItem updateItem = new WfTextbookSubscriptionItem();
|
|
|
updateItem.setId(old.getId());
|
|
|
- updateItem.setInstockroomNum(old.getInstockroomNum() + dto.getInNum());
|
|
|
+ updateItem.setInStockroomNum(old.getInStockroomNum() + dto.getInNum());
|
|
|
updateItem.setModifyDate(now);
|
|
|
updateItem.setModifyUserId(loginId);
|
|
|
wfTextbookSubscriptionWfTextbookSubscriptionItemMapper.updateById(updateItem);
|