|
@@ -4,22 +4,24 @@ import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
|
|
|
|
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
|
import com.xjrsoft.common.enums.ExerciseBookeTypeEnum;
|
|
import com.xjrsoft.common.enums.ExerciseBookeTypeEnum;
|
|
|
import com.xjrsoft.common.enums.SubscriptionTypeEnum;
|
|
import com.xjrsoft.common.enums.SubscriptionTypeEnum;
|
|
|
import com.xjrsoft.common.enums.TextbookTypeEnum;
|
|
import com.xjrsoft.common.enums.TextbookTypeEnum;
|
|
|
import com.xjrsoft.common.enums.WarehouseModeEnum;
|
|
import com.xjrsoft.common.enums.WarehouseModeEnum;
|
|
|
import com.xjrsoft.common.exception.MyException;
|
|
import com.xjrsoft.common.exception.MyException;
|
|
|
import com.xjrsoft.module.base.entity.BaseClass;
|
|
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.base.service.IBaseClassService;
|
|
|
|
|
+import com.xjrsoft.module.teacher.entity.XjrUser;
|
|
|
import com.xjrsoft.module.textbook.dto.AddTextbookWarehouseRecordDto;
|
|
import com.xjrsoft.module.textbook.dto.AddTextbookWarehouseRecordDto;
|
|
|
import com.xjrsoft.module.textbook.dto.TextbookPageDto;
|
|
import com.xjrsoft.module.textbook.dto.TextbookPageDto;
|
|
|
import com.xjrsoft.module.textbook.entity.*;
|
|
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.ITextbookService;
|
|
|
import com.xjrsoft.module.textbook.service.ITextbookWarehouseRecordService;
|
|
import com.xjrsoft.module.textbook.service.ITextbookWarehouseRecordService;
|
|
|
import com.xjrsoft.module.textbook.service.IWfExerciseBookService;
|
|
import com.xjrsoft.module.textbook.service.IWfExerciseBookService;
|
|
@@ -31,6 +33,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
@@ -57,23 +60,28 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
|
|
|
|
|
private final ITextbookWarehouseRecordService textbookClassWarehouseService;
|
|
private final ITextbookWarehouseRecordService textbookClassWarehouseService;
|
|
|
|
|
|
|
|
|
|
+ private final TextbookIssueRecordMapper textbookIssueRecordMapper;
|
|
|
|
|
+
|
|
|
|
|
+ private final TextbookStudentClaimMapper textbookStudentClaimMapper;
|
|
|
|
|
+
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean add(Textbook textbook) {
|
|
public Boolean add(Textbook textbook) {
|
|
|
|
|
+ textbook.setCreateDate(new Date());
|
|
|
textbookTextbookMapper.insert(textbook);
|
|
textbookTextbookMapper.insert(textbook);
|
|
|
for (TextbookClassRelation textbookClassRelation : textbook.getTextbookClassRelationList()) {
|
|
for (TextbookClassRelation textbookClassRelation : textbook.getTextbookClassRelationList()) {
|
|
|
textbookClassRelation.setTextbookId(textbook.getId());
|
|
textbookClassRelation.setTextbookId(textbook.getId());
|
|
|
|
|
+ textbookClassRelation.setCreateDate(new Date());
|
|
|
textbookTextbookClassRelationMapper.insert(textbookClassRelation);
|
|
textbookTextbookClassRelationMapper.insert(textbookClassRelation);
|
|
|
}
|
|
}
|
|
|
if (textbook.getTextbookSubscriptionRecordList() != null) {
|
|
if (textbook.getTextbookSubscriptionRecordList() != null) {
|
|
|
for (TextbookSubscriptionRecord textbookSubscriptionRecord : textbook.getTextbookSubscriptionRecordList()) {
|
|
for (TextbookSubscriptionRecord textbookSubscriptionRecord : textbook.getTextbookSubscriptionRecordList()) {
|
|
|
- textbookSubscriptionRecord.setWfTextbookSubscriptionId(textbook.getId());
|
|
|
|
|
|
|
+ textbookSubscriptionRecord.setTextbookId(textbook.getId());
|
|
|
|
|
+ textbookSubscriptionRecord.setCreateDate(new Date());
|
|
|
textbookTextbookSubscriptionRecordMapper.insert(textbookSubscriptionRecord);
|
|
textbookTextbookSubscriptionRecordMapper.insert(textbookSubscriptionRecord);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -195,23 +203,28 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
//征订的教材没有在教材管理
|
|
//征订的教材没有在教材管理
|
|
|
if (ObjectUtil.isNull(textbookList) || textbookList.size() == 0) {
|
|
if (ObjectUtil.isNull(textbookList) || textbookList.size() == 0) {
|
|
|
Textbook textbook = new Textbook() {{
|
|
Textbook textbook = new Textbook() {{
|
|
|
- setIssn(wfTextbookSubscriptionItem.getIssn());
|
|
|
|
|
- setIsbn(wfTextbookSubscriptionItem.getIsbn());
|
|
|
|
|
- setBookName(wfTextbookSubscriptionItem.getBookName());
|
|
|
|
|
- setPublishingHouse(wfTextbookSubscriptionItem.getPublishingHouse());
|
|
|
|
|
- setEditorInChief(wfTextbookSubscriptionItem.getEditorInChief());
|
|
|
|
|
- setSubjectGroupId(wfTextbookSubscription.getSubjectGroupId());
|
|
|
|
|
|
|
+ setIssn((ObjectUtil.isNull(wfTextbookSubscriptionItem.getIssn()) || StringUtils.isBlank(wfTextbookSubscriptionItem.getIssn())) ? "/" : wfTextbookSubscriptionItem.getIssn());
|
|
|
|
|
+ setIsbn((ObjectUtil.isNull(wfTextbookSubscriptionItem.getIsbn()) || StringUtils.isBlank(wfTextbookSubscriptionItem.getIsbn())) ? "/" : wfTextbookSubscriptionItem.getIsbn());
|
|
|
|
|
+ setBookName((ObjectUtil.isNull(wfTextbookSubscriptionItem.getBookName()) || StringUtils.isBlank(wfTextbookSubscriptionItem.getBookName())) ? "/" : wfTextbookSubscriptionItem.getBookName());
|
|
|
|
|
+ setPublishingHouse((ObjectUtil.isNull(wfTextbookSubscriptionItem.getPublishingHouse()) || StringUtils.isBlank(wfTextbookSubscriptionItem.getPublishingHouse())) ? "/" : wfTextbookSubscriptionItem.getPublishingHouse());
|
|
|
|
|
+ setEditorInChief((ObjectUtil.isNull(wfTextbookSubscriptionItem.getEditorInChief()) || StringUtils.isBlank(wfTextbookSubscriptionItem.getEditorInChief())) ? "/" : wfTextbookSubscriptionItem.getEditorInChief());
|
|
|
|
|
+ setSubjectGroupId((ObjectUtil.isNull(wfTextbookSubscription.getSubjectGroupId())) ? 0 : wfTextbookSubscription.getSubjectGroupId());
|
|
|
setBaseSemesterId(wfTextbookSubscription.getBaseSemesterId());
|
|
setBaseSemesterId(wfTextbookSubscription.getBaseSemesterId());
|
|
|
- setCourseSubjectId(wfTextbookSubscriptionItem.getCourseSubjectId());
|
|
|
|
|
- setVersion(wfTextbookSubscriptionItem.getVersion());
|
|
|
|
|
- setIsTextbookPlan(wfTextbookSubscriptionItem.getIsTextbookPlan());
|
|
|
|
|
|
|
+ setCourseSubjectId((ObjectUtil.isNull(wfTextbookSubscriptionItem.getCourseSubjectId())) ? 0 : wfTextbookSubscriptionItem.getCourseSubjectId());
|
|
|
|
|
+ setVersion((ObjectUtil.isNull(wfTextbookSubscriptionItem.getVersion()) || StringUtils.isBlank(wfTextbookSubscriptionItem.getVersion())) ? "/" : wfTextbookSubscriptionItem.getVersion());
|
|
|
|
|
+ setIsTextbookPlan((ObjectUtil.isNull(wfTextbookSubscriptionItem.getIsTextbookPlan()) || StringUtils.isBlank(wfTextbookSubscriptionItem.getIsTextbookPlan())) ? "/" : wfTextbookSubscriptionItem.getIsTextbookPlan());
|
|
|
if (ObjectUtil.isNotNull(wfTextbookSubscriptionItem.getSubscriptionType()) && wfTextbookSubscriptionItem.getSubscriptionType().equals(SubscriptionTypeEnum.STextbook.getCode())) {
|
|
if (ObjectUtil.isNotNull(wfTextbookSubscriptionItem.getSubscriptionType()) && wfTextbookSubscriptionItem.getSubscriptionType().equals(SubscriptionTypeEnum.STextbook.getCode())) {
|
|
|
setTextbookType(TextbookTypeEnum.TTextbook.getCode());
|
|
setTextbookType(TextbookTypeEnum.TTextbook.getCode());
|
|
|
}
|
|
}
|
|
|
if (ObjectUtil.isNotNull(wfTextbookSubscriptionItem.getSubscriptionType()) && wfTextbookSubscriptionItem.getSubscriptionType().equals(SubscriptionTypeEnum.SMaterials.getCode())) {
|
|
if (ObjectUtil.isNotNull(wfTextbookSubscriptionItem.getSubscriptionType()) && wfTextbookSubscriptionItem.getSubscriptionType().equals(SubscriptionTypeEnum.SMaterials.getCode())) {
|
|
|
setTextbookType(TextbookTypeEnum.TMaterials.getCode());
|
|
setTextbookType(TextbookTypeEnum.TMaterials.getCode());
|
|
|
}
|
|
}
|
|
|
- setAppraisalPrice(wfTextbookSubscriptionItem.getAppraisalPrice());
|
|
|
|
|
|
|
+ setSpecificationsModels("/");
|
|
|
|
|
+ setAppraisalPrice((ObjectUtil.isNull(wfTextbookSubscriptionItem.getAppraisalPrice())) ? new BigDecimal(0) : wfTextbookSubscriptionItem.getAppraisalPrice());
|
|
|
|
|
+ setPrice(new BigDecimal(0));
|
|
|
|
|
+ setDiscount(10D);
|
|
|
|
|
+ setSubtotal(new BigDecimal(0));
|
|
|
|
|
+ setStock(0);
|
|
|
}};
|
|
}};
|
|
|
|
|
|
|
|
//班级不为空
|
|
//班级不为空
|
|
@@ -234,14 +247,16 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
List<BaseClass> baseClassList = baseClassService.list(queryWrapper1);
|
|
List<BaseClass> baseClassList = baseClassService.list(queryWrapper1);
|
|
|
if (ObjectUtil.isNotNull(baseClassList) && baseClassList.size() == 1) {
|
|
if (ObjectUtil.isNotNull(baseClassList) && baseClassList.size() == 1) {
|
|
|
textbook.setGradeId(baseClassList.get(0).getGradeId());
|
|
textbook.setGradeId(baseClassList.get(0).getGradeId());
|
|
|
- }}
|
|
|
|
|
-
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
//插入教材数据
|
|
//插入教材数据
|
|
|
|
|
+ textbook.setCreateDate(new Date());
|
|
|
textbookTextbookMapper.insert(textbook);
|
|
textbookTextbookMapper.insert(textbook);
|
|
|
|
|
|
|
|
//插入班级和教材关系
|
|
//插入班级和教材关系
|
|
|
for (Long classId : classIdList) {
|
|
for (Long classId : classIdList) {
|
|
|
textbookTextbookClassRelationMapper.insert(new TextbookClassRelation() {{
|
|
textbookTextbookClassRelationMapper.insert(new TextbookClassRelation() {{
|
|
|
|
|
+ setCreateDate(new Date());
|
|
|
setTextbookId(textbook.getId());
|
|
setTextbookId(textbook.getId());
|
|
|
setClassId(classId);
|
|
setClassId(classId);
|
|
|
}});
|
|
}});
|
|
@@ -249,8 +264,9 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
|
|
|
|
|
//添加教材征订记录
|
|
//添加教材征订记录
|
|
|
textbookTextbookSubscriptionRecordMapper.insert(new TextbookSubscriptionRecord() {{
|
|
textbookTextbookSubscriptionRecordMapper.insert(new TextbookSubscriptionRecord() {{
|
|
|
|
|
+ setCreateDate(new Date());
|
|
|
setTextbookId(textbook.getId());
|
|
setTextbookId(textbook.getId());
|
|
|
- setWfTextbookSubscriptionId(wfTextbookSubscriptionItem.getId());//该字段存入正定项的id,征订项中有所属征订记录
|
|
|
|
|
|
|
+ setWfTextbookSubscriptionId(wfTextbookSubscription.getId());//该字段存入征订项的id,征订项中有所属征订记录
|
|
|
}});
|
|
}});
|
|
|
} else {
|
|
} else {
|
|
|
|
|
|
|
@@ -264,6 +280,7 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
String[] classIdStrs = classIds.split(",");
|
|
String[] classIdStrs = classIds.split(",");
|
|
|
for (String classIdStr : classIdStrs) {
|
|
for (String classIdStr : classIdStrs) {
|
|
|
textbookTextbookClassRelationMapper.insert(new TextbookClassRelation() {{
|
|
textbookTextbookClassRelationMapper.insert(new TextbookClassRelation() {{
|
|
|
|
|
+ setCreateDate(new Date());
|
|
|
setTextbookId(textbook.getId());
|
|
setTextbookId(textbook.getId());
|
|
|
setClassId(Long.parseLong(classIdStr));
|
|
setClassId(Long.parseLong(classIdStr));
|
|
|
}});
|
|
}});
|
|
@@ -271,8 +288,9 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
}
|
|
}
|
|
|
//添加教材征订记录
|
|
//添加教材征订记录
|
|
|
textbookTextbookSubscriptionRecordMapper.insert(new TextbookSubscriptionRecord() {{
|
|
textbookTextbookSubscriptionRecordMapper.insert(new TextbookSubscriptionRecord() {{
|
|
|
|
|
+ setCreateDate(new Date());
|
|
|
setTextbookId(textbook.getId());
|
|
setTextbookId(textbook.getId());
|
|
|
- setWfTextbookSubscriptionId(wfTextbookSubscriptionItem.getId());//该字段存入正定项的id,征订项中有所属征订记录
|
|
|
|
|
|
|
+ setWfTextbookSubscriptionId(wfTextbookSubscription.getId());//该字段存入正定项的id,征订项中有所属征订记录
|
|
|
}});
|
|
}});
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -302,15 +320,21 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
//征订的作业本没有在教材管理
|
|
//征订的作业本没有在教材管理
|
|
|
if (ObjectUtil.isNull(textbookList) || textbookList.size() == 0) {
|
|
if (ObjectUtil.isNull(textbookList) || textbookList.size() == 0) {
|
|
|
Textbook textbook = new Textbook() {{
|
|
Textbook textbook = new Textbook() {{
|
|
|
- setBaseSemesterId(wfExerciseBook.getBaseSemesterId());
|
|
|
|
|
|
|
+ setIssn("/");
|
|
|
|
|
+ setIsbn("/");
|
|
|
if(ObjectUtil.isNotNull(wfExerciseBookItem.getSubscriptionType()) && wfExerciseBookItem.getSubscriptionType().equals(ExerciseBookeTypeEnum.ExerciseBook1.getCode())){
|
|
if(ObjectUtil.isNotNull(wfExerciseBookItem.getSubscriptionType()) && wfExerciseBookItem.getSubscriptionType().equals(ExerciseBookeTypeEnum.ExerciseBook1.getCode())){
|
|
|
setBookName(ExerciseBookeTypeEnum.ExerciseBook1.getValue());
|
|
setBookName(ExerciseBookeTypeEnum.ExerciseBook1.getValue());
|
|
|
}
|
|
}
|
|
|
if(ObjectUtil.isNotNull(wfExerciseBookItem.getSubscriptionType()) && wfExerciseBookItem.getSubscriptionType().equals(ExerciseBookeTypeEnum.ExerciseBook2.getCode())){
|
|
if(ObjectUtil.isNotNull(wfExerciseBookItem.getSubscriptionType()) && wfExerciseBookItem.getSubscriptionType().equals(ExerciseBookeTypeEnum.ExerciseBook2.getCode())){
|
|
|
setBookName(ExerciseBookeTypeEnum.ExerciseBook2.getValue());
|
|
setBookName(ExerciseBookeTypeEnum.ExerciseBook2.getValue());
|
|
|
}
|
|
}
|
|
|
- setSpecificationsModels(wfExerciseBookItem.getSpecificationsModels());
|
|
|
|
|
|
|
+ setPublishingHouse("/");
|
|
|
|
|
+ setEditorInChief("/");
|
|
|
|
|
+ setBaseSemesterId(wfExerciseBook.getBaseSemesterId());
|
|
|
|
|
+ setVersion("/");
|
|
|
|
|
+ setIsTextbookPlan("/");
|
|
|
setTextbookType(TextbookTypeEnum.TExerciseBook.getCode());
|
|
setTextbookType(TextbookTypeEnum.TExerciseBook.getCode());
|
|
|
|
|
+ setSpecificationsModels((ObjectUtil.isNull(wfExerciseBookItem.getSpecificationsModels()) || StringUtils.isBlank(wfExerciseBookItem.getSpecificationsModels())) ? "/" : wfExerciseBookItem.getSpecificationsModels());
|
|
|
//年级id
|
|
//年级id
|
|
|
if (ObjectUtil.isNotNull(wfExerciseBook.getClassId()) && wfExerciseBook.getClassId() > 0){
|
|
if (ObjectUtil.isNotNull(wfExerciseBook.getClassId()) && wfExerciseBook.getClassId() > 0){
|
|
|
LambdaQueryWrapper<BaseClass> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<BaseClass> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
@@ -321,15 +345,21 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
setGradeId(baseClass.getGradeId());
|
|
setGradeId(baseClass.getGradeId());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- setAppraisalPrice(wfExerciseBookItem.getAppraisalPrice());
|
|
|
|
|
|
|
+ setAppraisalPrice((ObjectUtil.isNull(wfExerciseBookItem.getAppraisalPrice())) ? new BigDecimal(0) : wfExerciseBookItem.getAppraisalPrice());
|
|
|
|
|
+ setPrice(new BigDecimal(0));
|
|
|
|
|
+ setDiscount(10D);
|
|
|
|
|
+ setSubtotal(new BigDecimal(0));
|
|
|
|
|
+ setStock(0);
|
|
|
}};
|
|
}};
|
|
|
|
|
|
|
|
//插入教材数据
|
|
//插入教材数据
|
|
|
|
|
+ textbook.setCreateDate(new Date());
|
|
|
textbookTextbookMapper.insert(textbook);
|
|
textbookTextbookMapper.insert(textbook);
|
|
|
|
|
|
|
|
//插入班级和教材关系
|
|
//插入班级和教材关系
|
|
|
if(ObjectUtil.isNotNull(wfExerciseBook.getClassId()) && wfExerciseBook.getClassId() > 0){
|
|
if(ObjectUtil.isNotNull(wfExerciseBook.getClassId()) && wfExerciseBook.getClassId() > 0){
|
|
|
textbookTextbookClassRelationMapper.insert(new TextbookClassRelation() {{
|
|
textbookTextbookClassRelationMapper.insert(new TextbookClassRelation() {{
|
|
|
|
|
+ setCreateDate(new Date());
|
|
|
setTextbookId(textbook.getId());
|
|
setTextbookId(textbook.getId());
|
|
|
setClassId(wfExerciseBook.getClassId());
|
|
setClassId(wfExerciseBook.getClassId());
|
|
|
}});
|
|
}});
|
|
@@ -338,8 +368,9 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
|
|
|
|
|
//添加教材征订记录
|
|
//添加教材征订记录
|
|
|
textbookTextbookSubscriptionRecordMapper.insert(new TextbookSubscriptionRecord() {{
|
|
textbookTextbookSubscriptionRecordMapper.insert(new TextbookSubscriptionRecord() {{
|
|
|
|
|
+ setCreateDate(new Date());
|
|
|
setTextbookId(textbook.getId());
|
|
setTextbookId(textbook.getId());
|
|
|
- setWfTextbookSubscriptionId(wfExerciseBookItem.getId());
|
|
|
|
|
|
|
+ setWfTextbookSubscriptionId(wfExerciseBook.getId());
|
|
|
}});
|
|
}});
|
|
|
} else {
|
|
} else {
|
|
|
//征订的教材在教材管理,进行班级的和记录的管理
|
|
//征订的教材在教材管理,进行班级的和记录的管理
|
|
@@ -348,6 +379,7 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
//班级不为空
|
|
//班级不为空
|
|
|
if (ObjectUtil.isNotNull(wfExerciseBook.getClassId()) && wfExerciseBook.getClassId() > 0) {
|
|
if (ObjectUtil.isNotNull(wfExerciseBook.getClassId()) && wfExerciseBook.getClassId() > 0) {
|
|
|
textbookTextbookClassRelationMapper.insert(new TextbookClassRelation() {{
|
|
textbookTextbookClassRelationMapper.insert(new TextbookClassRelation() {{
|
|
|
|
|
+ setCreateDate(new Date());
|
|
|
setTextbookId(textbook.getId());
|
|
setTextbookId(textbook.getId());
|
|
|
setClassId(wfExerciseBook.getClassId());
|
|
setClassId(wfExerciseBook.getClassId());
|
|
|
}});
|
|
}});
|
|
@@ -355,8 +387,9 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
}
|
|
}
|
|
|
//添加教材征订记录
|
|
//添加教材征订记录
|
|
|
textbookTextbookSubscriptionRecordMapper.insert(new TextbookSubscriptionRecord() {{
|
|
textbookTextbookSubscriptionRecordMapper.insert(new TextbookSubscriptionRecord() {{
|
|
|
|
|
+ setCreateDate(new Date());
|
|
|
setTextbookId(textbook.getId());
|
|
setTextbookId(textbook.getId());
|
|
|
- setWfTextbookSubscriptionId(wfExerciseBookItem.getId());
|
|
|
|
|
|
|
+ setWfTextbookSubscriptionId(wfExerciseBook.getId());
|
|
|
}});
|
|
}});
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -366,31 +399,51 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public List<TextbookSubscriptionRecordVo> subscriptionList(Long id) {
|
|
public List<TextbookSubscriptionRecordVo> subscriptionList(Long id) {
|
|
|
- List<TextbookSubscriptionRecordVo> recordVos = textbookTextbookMapper.subscriptionList(id);
|
|
|
|
|
- for (TextbookSubscriptionRecordVo recordVo : recordVos) {
|
|
|
|
|
- if (ObjectUtil.isNull(recordVo) || StrUtil.isEmpty(recordVo.getClassIds())) {
|
|
|
|
|
- recordVos.remove(recordVo);
|
|
|
|
|
- if(recordVos.isEmpty()){
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
- continue;
|
|
|
|
|
- }
|
|
|
|
|
- String[] split = recordVo.getClassIds().split(",");
|
|
|
|
|
- List<String> ids = new ArrayList<>();
|
|
|
|
|
- for (String classId : split) {
|
|
|
|
|
- ids.add(classId.trim());
|
|
|
|
|
|
|
+ Textbook textbook = this.getById(id);
|
|
|
|
|
+ List<TextbookSubscriptionRecordVo> recordVos = new ArrayList<>();
|
|
|
|
|
+ //是作业本
|
|
|
|
|
+ if(textbook.getTextbookType().equals(TextbookTypeEnum.TExerciseBook.getCode())){
|
|
|
|
|
+ recordVos = textbookTextbookMapper.exerciseBookSubscriptionList(id);
|
|
|
|
|
+ for (TextbookSubscriptionRecordVo recordVo : recordVos) {
|
|
|
|
|
+ recordVo.setIssn("/");
|
|
|
|
|
+ recordVo.setPublishingHouse("/");
|
|
|
|
|
+ recordVo.setEditorInChief("/");
|
|
|
|
|
+ recordVo.setIsTextbookPlanCn("/");
|
|
|
|
|
+ recordVo.setCourseName("/");
|
|
|
|
|
+ recordVo.setGradeName("/");
|
|
|
|
|
+ recordVo.setTeacherSubscriptionNumber(0);
|
|
|
|
|
+ recordVo.setTeacherFeferenceNumber(0);
|
|
|
}
|
|
}
|
|
|
- List<TextbookSubscriptionClassVo> classInfo = textbookTextbookMapper.getClassInfo(ids);
|
|
|
|
|
- String useClass = "";
|
|
|
|
|
- for (int i = 0; i < classInfo.size(); i++) {
|
|
|
|
|
- if (i >= 1) {
|
|
|
|
|
- useClass += ",";
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ //是教材或者教辅
|
|
|
|
|
+ if (textbook.getTextbookType().equals(TextbookTypeEnum.TTextbook.getCode()) || textbook.getTextbookType().equals(TextbookTypeEnum.TMaterials.getCode())){
|
|
|
|
|
+ recordVos = textbookTextbookMapper.subscriptionList(id);
|
|
|
|
|
+ for (TextbookSubscriptionRecordVo recordVo : recordVos) {
|
|
|
|
|
+ if (ObjectUtil.isNull(recordVo) || StrUtil.isEmpty(recordVo.getClassIds())) {
|
|
|
|
|
+ recordVos.remove(recordVo);
|
|
|
|
|
+ if(recordVos.isEmpty()){
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ String[] split = recordVo.getClassIds().split(",");
|
|
|
|
|
+ List<String> ids = new ArrayList<>();
|
|
|
|
|
+ for (String classId : split) {
|
|
|
|
|
+ ids.add(classId.trim());
|
|
|
|
|
+ }
|
|
|
|
|
+ List<TextbookSubscriptionClassVo> classInfo = textbookTextbookMapper.getClassInfo(ids);
|
|
|
|
|
+ String useClass = "";
|
|
|
|
|
+ for (int i = 0; i < classInfo.size(); i++) {
|
|
|
|
|
+ if (i >= 1) {
|
|
|
|
|
+ useClass += ",";
|
|
|
|
|
+ }
|
|
|
|
|
+ TextbookSubscriptionClassVo classVo = classInfo.get(i);
|
|
|
|
|
+ useClass += classVo.getName();
|
|
|
}
|
|
}
|
|
|
- TextbookSubscriptionClassVo classVo = classInfo.get(i);
|
|
|
|
|
- useClass += classVo.getName();
|
|
|
|
|
|
|
+ recordVo.setUseClass(useClass);
|
|
|
}
|
|
}
|
|
|
- recordVo.setUseClass(useClass);
|
|
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
return recordVos;
|
|
return recordVos;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -428,11 +481,49 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public List<WfTextbookClaimListVo> claimList(Long id) {
|
|
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
|
|
@Override
|
|
@@ -444,27 +535,30 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
throw new MyException("入库失败,该教材不存在");
|
|
throw new MyException("入库失败,该教材不存在");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ BigDecimal price = ObjectUtil.isNull(dto.getPrice()) ? new BigDecimal(0) : dto.getPrice();
|
|
|
|
|
+ Double discount = ObjectUtil.isNull(dto.getDiscount()) ? 10 : dto.getDiscount();
|
|
|
|
|
+ BigDecimal subtotal = price.multiply(new BigDecimal(discount / 10));
|
|
|
//更新总的库存数量
|
|
//更新总的库存数量
|
|
|
- Textbook updateTextbook = new Textbook();
|
|
|
|
|
- updateTextbook.setId(textbook.getId());
|
|
|
|
|
- Integer oldStock = ObjectUtil.isNull(textbook.getStock()) ? 0 : textbook.getStock();
|
|
|
|
|
- updateTextbook.setStock(oldStock + (ObjectUtil.isNull(dto.getWarehouseNumber()) ? 0 : dto.getWarehouseNumber()));
|
|
|
|
|
- BigDecimal price = ObjectUtil.isNull(dto.getPrice())?new BigDecimal(0):dto.getPrice();
|
|
|
|
|
- updateTextbook.setPrice(price);
|
|
|
|
|
- Double discount = ObjectUtil.isNull(dto.getDiscount())?10:dto.getDiscount();
|
|
|
|
|
- updateTextbook.setDiscount(discount);
|
|
|
|
|
- BigDecimal subtotal = price.multiply(new BigDecimal(discount/10));
|
|
|
|
|
- updateTextbook.setSubtotal(subtotal);
|
|
|
|
|
-
|
|
|
|
|
- boolean isSuccess = this.updateById(updateTextbook);
|
|
|
|
|
|
|
+ this.updateById(new Textbook(){
|
|
|
|
|
+ {
|
|
|
|
|
+ setId(textbook.getId());
|
|
|
|
|
+ Integer oldStock = ObjectUtil.isNull(textbook.getStock()) ? 0 : textbook.getStock();
|
|
|
|
|
+ setStock(oldStock + (ObjectUtil.isNull(dto.getWarehouseNumber()) ? 0 : dto.getWarehouseNumber()));
|
|
|
|
|
+ setPrice(price);
|
|
|
|
|
+ setDiscount(discount);
|
|
|
|
|
+ setSubtotal(subtotal);
|
|
|
|
|
+ setModifyDate(new Date());
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
|
|
|
TextbookWarehouseRecord textbookWarehouseRecord = BeanUtil.toBean(dto, TextbookWarehouseRecord.class);
|
|
TextbookWarehouseRecord textbookWarehouseRecord = BeanUtil.toBean(dto, TextbookWarehouseRecord.class);
|
|
|
textbookWarehouseRecord.setWarehouseMode(WarehouseModeEnum.WmManual.getCode());
|
|
textbookWarehouseRecord.setWarehouseMode(WarehouseModeEnum.WmManual.getCode());
|
|
|
textbookWarehouseRecord.setDiscount(discount);
|
|
textbookWarehouseRecord.setDiscount(discount);
|
|
|
textbookWarehouseRecord.setSubtotal(subtotal);
|
|
textbookWarehouseRecord.setSubtotal(subtotal);
|
|
|
- isSuccess = textbookClassWarehouseService.save(textbookWarehouseRecord);
|
|
|
|
|
|
|
+ textbookWarehouseRecord.setCreateDate(new Date());
|
|
|
|
|
+ textbookClassWarehouseService.save(textbookWarehouseRecord);
|
|
|
|
|
|
|
|
- return isSuccess;
|
|
|
|
|
|
|
+ return true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|