|
|
@@ -8,19 +8,20 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
|
|
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
|
import com.xjrsoft.common.enums.ExerciseBookeTypeEnum;
|
|
|
import com.xjrsoft.common.enums.SubscriptionTypeEnum;
|
|
|
import com.xjrsoft.common.enums.TextbookTypeEnum;
|
|
|
import com.xjrsoft.common.enums.WarehouseModeEnum;
|
|
|
import com.xjrsoft.common.exception.MyException;
|
|
|
import com.xjrsoft.module.base.entity.BaseClass;
|
|
|
+import com.xjrsoft.module.base.entity.BaseSemester;
|
|
|
import com.xjrsoft.module.base.service.IBaseClassService;
|
|
|
+import com.xjrsoft.module.teacher.entity.XjrUser;
|
|
|
import com.xjrsoft.module.textbook.dto.AddTextbookWarehouseRecordDto;
|
|
|
import com.xjrsoft.module.textbook.dto.TextbookPageDto;
|
|
|
import com.xjrsoft.module.textbook.entity.*;
|
|
|
-import com.xjrsoft.module.textbook.mapper.TextbookClassRelationMapper;
|
|
|
-import com.xjrsoft.module.textbook.mapper.TextbookMapper;
|
|
|
-import com.xjrsoft.module.textbook.mapper.TextbookSubscriptionRecordMapper;
|
|
|
+import com.xjrsoft.module.textbook.mapper.*;
|
|
|
import com.xjrsoft.module.textbook.service.ITextbookService;
|
|
|
import com.xjrsoft.module.textbook.service.ITextbookWarehouseRecordService;
|
|
|
import com.xjrsoft.module.textbook.service.IWfExerciseBookService;
|
|
|
@@ -59,6 +60,10 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
|
|
|
private final ITextbookWarehouseRecordService textbookClassWarehouseService;
|
|
|
|
|
|
+ private final TextbookIssueRecordMapper textbookIssueRecordMapper;
|
|
|
+
|
|
|
+ private final TextbookStudentClaimMapper textbookStudentClaimMapper;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@@ -476,11 +481,49 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
|
|
|
@Override
|
|
|
public List<WfTextbookClaimListVo> claimList(Long id) {
|
|
|
- List<WfTextbookClaimListVo> result = textbookTextbookMapper.claimList(id);
|
|
|
- if (!result.isEmpty()) {
|
|
|
- return result;
|
|
|
+ List<WfTextbookClaimListVo> result = new ArrayList<>();
|
|
|
+ //教材领取分为两种
|
|
|
+ //教师领取
|
|
|
+ MPJLambdaWrapper<TextbookIssueRecord> queryIssueRecord = new MPJLambdaWrapper<>();
|
|
|
+ queryIssueRecord
|
|
|
+ .eq(TextbookIssueRecord::getTextbookId, id)
|
|
|
+ .eq(TextbookIssueRecord::getIssueMode, "im_teacher");
|
|
|
+ List<TextbookIssueRecord> textbookIssueRecordList = textbookIssueRecordMapper.selectJoinList(TextbookIssueRecord.class, queryIssueRecord);
|
|
|
+ for(TextbookIssueRecord t : textbookIssueRecordList){
|
|
|
+ MPJLambdaWrapper<TextbookIssueRecord> queryTeaClaimVo = new MPJLambdaWrapper<>();
|
|
|
+ queryTeaClaimVo
|
|
|
+ .selectAs(BaseSemester::getName, WfTextbookClaimListVo::getSemesterName)
|
|
|
+ .selectAs(XjrUser::getName, WfTextbookClaimListVo::getName)
|
|
|
+ .selectAs(XjrUser::getUserName, WfTextbookClaimListVo::getUserName)
|
|
|
+ .selectAs(TextbookIssueRecord::getCreateDate, WfTextbookClaimListVo::getClaimDate)
|
|
|
+ .leftJoin(XjrUser.class, XjrUser::getId, TextbookIssueRecord::getReceiveUserId)
|
|
|
+ .leftJoin(WfTextbookClaim.class, WfTextbookClaim::getId, TextbookIssueRecord::getDataId)
|
|
|
+ .leftJoin(BaseSemester.class, BaseSemester::getId, WfTextbookClaim::getBaseSemesterId)
|
|
|
+ .eq(TextbookIssueRecord::getId, t.getId());
|
|
|
+ WfTextbookClaimListVo wfTextbookClaimListVo = textbookIssueRecordMapper.selectJoinOne(WfTextbookClaimListVo.class, queryTeaClaimVo);
|
|
|
+ for (int j = 0; j < t.getIssueNumber(); j++){
|
|
|
+ wfTextbookClaimListVo.setClaimIdentity("教师");
|
|
|
+ wfTextbookClaimListVo.setClassName("/");
|
|
|
+ result.add(wfTextbookClaimListVo);
|
|
|
+ }
|
|
|
}
|
|
|
- return new ArrayList<>();
|
|
|
+ //学生领取
|
|
|
+ MPJLambdaWrapper<TextbookStudentClaim> queryStuClaimVo = new MPJLambdaWrapper<>();
|
|
|
+ queryStuClaimVo
|
|
|
+ .select("'学生' as claimIdentity")
|
|
|
+ .selectAs(BaseClass::getName, WfTextbookClaimListVo::getClassName)
|
|
|
+ .selectAs(BaseSemester::getName, WfTextbookClaimListVo::getSemesterName)
|
|
|
+ .selectAs(XjrUser::getName, WfTextbookClaimListVo::getName)
|
|
|
+ .selectAs(XjrUser::getUserName, WfTextbookClaimListVo::getUserName)
|
|
|
+ .selectAs(TextbookStudentClaim::getCreateDate, WfTextbookClaimListVo::getClaimDate)
|
|
|
+ .leftJoin(XjrUser.class, XjrUser::getId, TextbookStudentClaim::getStudentUserId)
|
|
|
+ .leftJoin(BaseSemester.class, BaseSemester::getId, TextbookStudentClaim::getBaseSemesterId)
|
|
|
+ .leftJoin(BaseClass.class, BaseClass::getId, TextbookStudentClaim::getClassId)
|
|
|
+ .eq(TextbookStudentClaim::getTextbookId, id);
|
|
|
+ List<WfTextbookClaimListVo> wfTextbookClaimListVoList = textbookStudentClaimMapper.selectJoinList(WfTextbookClaimListVo.class, queryStuClaimVo);
|
|
|
+
|
|
|
+ result.addAll(wfTextbookClaimListVoList);
|
|
|
+ return result;
|
|
|
}
|
|
|
|
|
|
@Override
|