|
@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
|
|
+import com.xjrsoft.common.enums.SubscriptionTypeEnum;
|
|
|
+import com.xjrsoft.common.enums.TextbookTypeEnum;
|
|
|
import com.xjrsoft.common.exception.MyException;
|
|
|
import com.xjrsoft.module.base.entity.BaseClass;
|
|
|
import com.xjrsoft.module.base.service.IBaseClassService;
|
|
@@ -18,6 +20,7 @@ import com.xjrsoft.module.textbook.mapper.TextbookMapper;
|
|
|
import com.xjrsoft.module.textbook.mapper.TextbookSubscriptionRecordMapper;
|
|
|
import com.xjrsoft.module.textbook.service.ITextbookClassWarehouseService;
|
|
|
import com.xjrsoft.module.textbook.service.ITextbookService;
|
|
|
+import com.xjrsoft.module.textbook.service.IWfExerciseBookService;
|
|
|
import com.xjrsoft.module.textbook.service.IWfTextbookSubscriptionService;
|
|
|
import com.xjrsoft.module.textbook.vo.*;
|
|
|
import lombok.AllArgsConstructor;
|
|
@@ -45,6 +48,8 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
|
|
|
private final IWfTextbookSubscriptionService iWfTextbookSubscriptionService;
|
|
|
|
|
|
+ private final IWfExerciseBookService wfExerciseBookService;
|
|
|
+
|
|
|
private final IBaseClassService baseClassService;
|
|
|
|
|
|
private final ITextbookClassWarehouseService textbookClassWarehouseService;
|
|
@@ -170,47 +175,51 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Boolean dataHandle(Long dataId) {
|
|
|
+ @Transactional
|
|
|
+ public Boolean dataHandleAddTextbookNode(Long dataId) {
|
|
|
WfTextbookSubscription wfTextbookSubscription = iWfTextbookSubscriptionService.selectById(dataId);
|
|
|
if (ObjectUtil.isNotNull(wfTextbookSubscription) && ObjectUtil.isNotNull(wfTextbookSubscription.getWfTextbookSubscriptionItemList()) && wfTextbookSubscription.getWfTextbookSubscriptionItemList().size() > 0) {
|
|
|
for (WfTextbookSubscriptionItem wfTextbookSubscriptionItem : wfTextbookSubscription.getWfTextbookSubscriptionItemList()) {
|
|
|
- String issn = wfTextbookSubscriptionItem.getIssn();
|
|
|
Long semesterId = wfTextbookSubscription.getBaseSemesterId();
|
|
|
- Long subjectGroupId = wfTextbookSubscription.getSubjectGroupId();
|
|
|
+ String issn = wfTextbookSubscriptionItem.getIssn();
|
|
|
LambdaQueryWrapper<Textbook> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper
|
|
|
.eq(Textbook::getIssn, issn)
|
|
|
- .eq(Textbook::getBaseSemesterId, semesterId)
|
|
|
- .eq(Textbook::getSubjectGroupId, subjectGroupId);
|
|
|
- Long count = this.count(queryWrapper);
|
|
|
- if (count <= 0) {//该书不存在教材管理
|
|
|
- Textbook textbook = new Textbook();
|
|
|
- textbook.setIssn(wfTextbookSubscriptionItem.getIssn());
|
|
|
- textbook.setIsbn(wfTextbookSubscriptionItem.getIsbn());
|
|
|
- textbook.setBookName(wfTextbookSubscriptionItem.getBookName());
|
|
|
- textbook.setPublishingHouse(wfTextbookSubscriptionItem.getPublishingHouse());
|
|
|
- textbook.setEditorInChief(wfTextbookSubscriptionItem.getEditorInChief());
|
|
|
- textbook.setSubjectGroupId(wfTextbookSubscription.getSubjectGroupId());
|
|
|
- textbook.setBaseSemesterId(wfTextbookSubscription.getBaseSemesterId());
|
|
|
- textbook.setCourseSubjectId(wfTextbookSubscriptionItem.getCourseSubjectId());
|
|
|
- textbook.setVersion(wfTextbookSubscriptionItem.getVersion());
|
|
|
- textbook.setIsTextbookPlan(wfTextbookSubscriptionItem.getIsTextbookPlan());
|
|
|
- textbook.setTextbookType(wfTextbookSubscriptionItem.getSubscriptionType());
|
|
|
- textbook.setAppraisalPrice(wfTextbookSubscriptionItem.getAppraisalPrice());
|
|
|
- textbookTextbookMapper.insert(textbook);
|
|
|
+ .eq(Textbook::getBaseSemesterId, semesterId);
|
|
|
+ List<Textbook> textbookList = this.list(queryWrapper);
|
|
|
+ //征订的教材没有在教材管理
|
|
|
+ if (ObjectUtil.isNull(textbookList) || textbookList.size() <= 0) {//该书不存在于教材管理
|
|
|
+ Textbook textbook = new Textbook() {{
|
|
|
+ setIssn(wfTextbookSubscriptionItem.getIssn());
|
|
|
+ setIsbn(wfTextbookSubscriptionItem.getIsbn());
|
|
|
+ setBookName(wfTextbookSubscriptionItem.getBookName());
|
|
|
+ setPublishingHouse(wfTextbookSubscriptionItem.getPublishingHouse());
|
|
|
+ setEditorInChief(wfTextbookSubscriptionItem.getEditorInChief());
|
|
|
+ setSubjectGroupId(wfTextbookSubscription.getSubjectGroupId());
|
|
|
+ setBaseSemesterId(wfTextbookSubscription.getBaseSemesterId());
|
|
|
+ setCourseSubjectId(wfTextbookSubscriptionItem.getCourseSubjectId());
|
|
|
+ setVersion(wfTextbookSubscriptionItem.getVersion());
|
|
|
+ setIsTextbookPlan(wfTextbookSubscriptionItem.getIsTextbookPlan());
|
|
|
+ if (wfTextbookSubscriptionItem.getSubscriptionType().equals(SubscriptionTypeEnum.STextbook.getCode())) {
|
|
|
+ setTextbookType(TextbookTypeEnum.TTextbook.getCode());
|
|
|
+ }
|
|
|
+ if (wfTextbookSubscriptionItem.getSubscriptionType().equals(SubscriptionTypeEnum.SMaterials.getCode())) {
|
|
|
+ setTextbookType(TextbookTypeEnum.TMaterials.getCode());
|
|
|
+ }
|
|
|
+ setAppraisalPrice(wfTextbookSubscriptionItem.getAppraisalPrice());
|
|
|
+ }};
|
|
|
+
|
|
|
+ //班级不为空
|
|
|
if (ObjectUtil.isNotNull(wfTextbookSubscriptionItem.getClassIds()) && !wfTextbookSubscriptionItem.getClassIds().equals("")) {
|
|
|
+ //将班级ids转换为List
|
|
|
String classIds = wfTextbookSubscriptionItem.getClassIds();
|
|
|
String[] classIdStrs = classIds.split(",");
|
|
|
List<Long> classIdList = new ArrayList<>();
|
|
|
for (String classIdStr : classIdStrs) {
|
|
|
- Long classId = Long.parseLong(classIdStr);
|
|
|
- classIdList.add(classId);
|
|
|
- TextbookClassRelation textbookClassRelation = new TextbookClassRelation();
|
|
|
- textbookClassRelation.setTextbookId(textbook.getId());
|
|
|
- textbookClassRelation.setClassId(classId);
|
|
|
- textbookTextbookClassRelationMapper.insert(textbookClassRelation);
|
|
|
+ classIdList.add(Long.parseLong(classIdStr));
|
|
|
}
|
|
|
- //查询年级
|
|
|
+
|
|
|
+ //查询年级,如果添加的班级只存在一个年级,添加年级字段值
|
|
|
LambdaQueryWrapper<BaseClass> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
queryWrapper1
|
|
|
.in(BaseClass::getId, classIdList)
|
|
@@ -219,12 +228,115 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
if (ObjectUtil.isNotNull(baseClassList) && baseClassList.size() == 1) {
|
|
|
textbook.setGradeId(baseClassList.get(0).getGradeId());
|
|
|
}
|
|
|
+
|
|
|
+ //插入教材数据
|
|
|
+ textbookTextbookMapper.insert(textbook);
|
|
|
+
|
|
|
+ //插入班级和教材关系
|
|
|
+ for (Long classId : classIdList) {
|
|
|
+ textbookTextbookClassRelationMapper.insert(new TextbookClassRelation() {{
|
|
|
+ setTextbookId(textbook.getId());
|
|
|
+ setClassId(classId);
|
|
|
+ }});
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //添加教材征订记录
|
|
|
+ textbookTextbookSubscriptionRecordMapper.insert(new TextbookSubscriptionRecord() {{
|
|
|
+ setWfTextbookSubscriptionId(textbook.getId());
|
|
|
+ setWfTextbookSubscriptionId(wfTextbookSubscription.getId());
|
|
|
+ }});
|
|
|
+ }
|
|
|
+
|
|
|
+ //征订的教材在教材管理,进行班级的和记录的管理
|
|
|
+ Textbook textbook = textbookList.get(0);
|
|
|
+
|
|
|
+ //班级不为空
|
|
|
+ if (ObjectUtil.isNotNull(wfTextbookSubscriptionItem.getClassIds()) && !wfTextbookSubscriptionItem.getClassIds().equals("")) {
|
|
|
+ //将班级ids转换为List
|
|
|
+ String classIds = wfTextbookSubscriptionItem.getClassIds();
|
|
|
+ String[] classIdStrs = classIds.split(",");
|
|
|
+ for (String classIdStr : classIdStrs) {
|
|
|
+ textbookTextbookClassRelationMapper.insert(new TextbookClassRelation() {{
|
|
|
+ setTextbookId(textbook.getId());
|
|
|
+ setClassId(Long.parseLong(classIdStr));
|
|
|
+ }});
|
|
|
}
|
|
|
- TextbookSubscriptionRecord textbookSubscriptionRecord = new TextbookSubscriptionRecord();
|
|
|
- textbookSubscriptionRecord.setWfTextbookSubscriptionId(textbook.getId());
|
|
|
- textbookSubscriptionRecord.setWfTextbookSubscriptionId(wfTextbookSubscription.getId());
|
|
|
- textbookTextbookSubscriptionRecordMapper.insert(textbookSubscriptionRecord);
|
|
|
}
|
|
|
+ //添加教材征订记录
|
|
|
+ textbookTextbookSubscriptionRecordMapper.insert(new TextbookSubscriptionRecord() {{
|
|
|
+ setWfTextbookSubscriptionId(textbook.getId());
|
|
|
+ setWfTextbookSubscriptionId(wfTextbookSubscription.getId());
|
|
|
+ }});
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 添加作业本规则
|
|
|
+ *
|
|
|
+ * @param dataId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Boolean dataHandleAddExerciseBookNode(Long dataId) {
|
|
|
+ WfExerciseBook wfExerciseBook = wfExerciseBookService.selectById(dataId);
|
|
|
+ if (ObjectUtil.isNotNull(wfExerciseBook) && ObjectUtil.isNotNull(wfExerciseBook.getWfExerciseBookItemList()) && wfExerciseBook.getWfExerciseBookItemList().size() > 0) {
|
|
|
+ for (WfExerciseBookItem wfExerciseBookItem : wfExerciseBook.getWfExerciseBookItemList()) {
|
|
|
+ Long semesterId = wfExerciseBook.getBaseSemesterId();
|
|
|
+ String bookName = wfExerciseBookItem.getSubscriptionType();//作业本的选择类型对应教材管理的书名
|
|
|
+ LambdaQueryWrapper<Textbook> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper
|
|
|
+ .eq(Textbook::getBookName, bookName)
|
|
|
+ .eq(Textbook::getBaseSemesterId, semesterId);
|
|
|
+ List<Textbook> textbookList = this.list(queryWrapper);
|
|
|
+ //征订的作业本没有在教材管理
|
|
|
+ if (ObjectUtil.isNull(textbookList) || textbookList.size() <= 0) {
|
|
|
+ Textbook textbook = new Textbook() {{
|
|
|
+ setBaseSemesterId(wfExerciseBook.getBaseSemesterId());
|
|
|
+ setBookName(wfExerciseBookItem.getSubscriptionType());
|
|
|
+ setTextbookType(TextbookTypeEnum.TExerciseBook.getCode());
|
|
|
+ //年级id
|
|
|
+ LambdaQueryWrapper<BaseClass> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper1
|
|
|
+ .eq(BaseClass::getId, wfExerciseBook.getClassId());
|
|
|
+ BaseClass baseClass = baseClassService.getOne(queryWrapper1);
|
|
|
+ setGradeId(baseClass.getGradeId());
|
|
|
+ setAppraisalPrice(wfExerciseBookItem.getAppraisalPrice());
|
|
|
+ }};
|
|
|
+
|
|
|
+ //插入教材数据
|
|
|
+ textbookTextbookMapper.insert(textbook);
|
|
|
+
|
|
|
+ //插入班级和教材关系
|
|
|
+ textbookTextbookClassRelationMapper.insert(new TextbookClassRelation() {{
|
|
|
+ setTextbookId(textbook.getId());
|
|
|
+ setClassId(wfExerciseBook.getClassId());
|
|
|
+ }});
|
|
|
+
|
|
|
+ //添加教材征订记录
|
|
|
+ textbookTextbookSubscriptionRecordMapper.insert(new TextbookSubscriptionRecord() {{
|
|
|
+ setWfTextbookSubscriptionId(textbook.getId());
|
|
|
+ setWfTextbookSubscriptionId(wfExerciseBook.getId());
|
|
|
+ }});
|
|
|
+ }
|
|
|
+
|
|
|
+ //征订的教材在教材管理,进行班级的和记录的管理
|
|
|
+ Textbook textbook = textbookList.get(0);
|
|
|
+
|
|
|
+ //班级不为空
|
|
|
+ if (ObjectUtil.isNotNull(wfExerciseBook.getClassId()) && !wfExerciseBook.getClassId().equals("")) {
|
|
|
+ textbookTextbookClassRelationMapper.insert(new TextbookClassRelation() {{
|
|
|
+ setTextbookId(textbook.getId());
|
|
|
+ setClassId(wfExerciseBook.getClassId());
|
|
|
+ }});
|
|
|
+
|
|
|
+ }
|
|
|
+ //添加教材征订记录
|
|
|
+ textbookTextbookSubscriptionRecordMapper.insert(new TextbookSubscriptionRecord() {{
|
|
|
+ setWfTextbookSubscriptionId(textbook.getId());
|
|
|
+ setWfTextbookSubscriptionId(wfExerciseBook.getId());
|
|
|
+ }});
|
|
|
}
|
|
|
}
|
|
|
return true;
|
|
@@ -234,7 +346,7 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
public List<TextbookSubscriptionRecordVo> subscriptionList(Long id) {
|
|
|
List<TextbookSubscriptionRecordVo> recordVos = textbookTextbookMapper.subscriptionList(id);
|
|
|
for (TextbookSubscriptionRecordVo recordVo : recordVos) {
|
|
|
- if(ObjectUtil.isNull(recordVo) || StrUtil.isEmpty(recordVo.getClassIds())){
|
|
|
+ if (ObjectUtil.isNull(recordVo) || StrUtil.isEmpty(recordVo.getClassIds())) {
|
|
|
continue;
|
|
|
}
|
|
|
String[] split = recordVo.getClassIds().split(",");
|
|
@@ -244,8 +356,8 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
}
|
|
|
List<TextbookSubscriptionClassVo> classInfo = textbookTextbookMapper.getClassInfo(ids);
|
|
|
String useClass = "";
|
|
|
- for (int i = 0; i < classInfo.size(); i ++){
|
|
|
- if(i >= 1){
|
|
|
+ for (int i = 0; i < classInfo.size(); i++) {
|
|
|
+ if (i >= 1) {
|
|
|
useClass += ",";
|
|
|
}
|
|
|
TextbookSubscriptionClassVo classVo = classInfo.get(i);
|
|
@@ -264,7 +376,7 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
@Override
|
|
|
public List<TextbookClassWarehouseListVo> warehouseList(Long id) {
|
|
|
List<TextbookClassWarehouseListVo> result = textbookTextbookMapper.warehouseList(id);
|
|
|
- if(!result.isEmpty()){
|
|
|
+ if (!result.isEmpty()) {
|
|
|
return result;
|
|
|
}
|
|
|
return new ArrayList<>();
|
|
@@ -273,7 +385,7 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
@Override
|
|
|
public List<TextbookClassRelation> getClassRelation(Long id) {
|
|
|
List<TextbookClassRelation> classRelation = textbookTextbookMapper.getClassRelation(id);
|
|
|
- if(!classRelation.isEmpty()){
|
|
|
+ if (!classRelation.isEmpty()) {
|
|
|
return classRelation;
|
|
|
}
|
|
|
return new ArrayList<>();
|
|
@@ -282,7 +394,7 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
@Override
|
|
|
public List<TextbookIssueRecordListVo> issueList(Long id) {
|
|
|
List<TextbookIssueRecordListVo> result = textbookTextbookMapper.issueList(id);
|
|
|
- if(!result.isEmpty()){
|
|
|
+ if (!result.isEmpty()) {
|
|
|
return result;
|
|
|
}
|
|
|
return new ArrayList<>();
|