|
|
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
|
+import com.xjrsoft.common.enums.DeleteMark;
|
|
|
import com.xjrsoft.common.enums.TextbookTypeEnum;
|
|
|
import com.xjrsoft.common.model.result.R;
|
|
|
import com.xjrsoft.common.model.result.RT;
|
|
|
@@ -16,45 +17,20 @@ import com.xjrsoft.common.page.PageOutput;
|
|
|
import com.xjrsoft.common.utils.VoToColumnUtil;
|
|
|
import com.xjrsoft.module.base.entity.BaseClassCourse;
|
|
|
import com.xjrsoft.module.base.entity.BaseCourseSubject;
|
|
|
-import com.xjrsoft.module.base.entity.BaseSemester;
|
|
|
-import com.xjrsoft.module.base.service.IBaseSemesterService;
|
|
|
import com.xjrsoft.module.student.entity.BaseClassMajorSet;
|
|
|
-import com.xjrsoft.module.textbook.dto.AddTextbookDto;
|
|
|
-import com.xjrsoft.module.textbook.dto.AddTextbookWarehouseRecordDto;
|
|
|
-import com.xjrsoft.module.textbook.dto.TextbookClaimExportQueryDto;
|
|
|
-import com.xjrsoft.module.textbook.dto.TextbookConsumptionPageDto;
|
|
|
-import com.xjrsoft.module.textbook.dto.TextbookPageDto;
|
|
|
-import com.xjrsoft.module.textbook.dto.TextbookStandingExportQuerytDto;
|
|
|
-import com.xjrsoft.module.textbook.dto.TextbookSubscriptionExportQueryDto;
|
|
|
-import com.xjrsoft.module.textbook.dto.TextbookSubscriptionListDto;
|
|
|
-import com.xjrsoft.module.textbook.dto.UpdateTextbookDto;
|
|
|
+import com.xjrsoft.module.student.service.IBaseClassMajorSetService;
|
|
|
+import com.xjrsoft.module.textbook.dto.*;
|
|
|
import com.xjrsoft.module.textbook.entity.Textbook;
|
|
|
import com.xjrsoft.module.textbook.entity.TextbookClassRelation;
|
|
|
import com.xjrsoft.module.textbook.entity.TextbookStudentClaim;
|
|
|
import com.xjrsoft.module.textbook.service.ITextbookService;
|
|
|
import com.xjrsoft.module.textbook.service.ITextbookStudentClaimService;
|
|
|
-import com.xjrsoft.module.textbook.vo.TextbookConsumptionPageVo;
|
|
|
-import com.xjrsoft.module.textbook.vo.TextbookIssueRecordListVo;
|
|
|
-import com.xjrsoft.module.textbook.vo.TextbookPageVo;
|
|
|
-import com.xjrsoft.module.textbook.vo.TextbookStandingExportQueryVo;
|
|
|
-import com.xjrsoft.module.textbook.vo.TextbookSubscriptionExportQueryVo;
|
|
|
-import com.xjrsoft.module.textbook.vo.TextbookSubscriptionListVo;
|
|
|
-import com.xjrsoft.module.textbook.vo.TextbookSubscriptionRecordVo;
|
|
|
-import com.xjrsoft.module.textbook.vo.TextbookVo;
|
|
|
-import com.xjrsoft.module.textbook.vo.TextbookWarehouseRecordListVo;
|
|
|
-import com.xjrsoft.module.textbook.vo.WfTextbookClaimListVo;
|
|
|
+import com.xjrsoft.module.textbook.vo.*;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springframework.http.ResponseEntity;
|
|
|
-import org.springframework.web.bind.annotation.DeleteMapping;
|
|
|
-import org.springframework.web.bind.annotation.GetMapping;
|
|
|
-import org.springframework.web.bind.annotation.PostMapping;
|
|
|
-import org.springframework.web.bind.annotation.PutMapping;
|
|
|
-import org.springframework.web.bind.annotation.RequestBody;
|
|
|
-import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
-import org.springframework.web.bind.annotation.RequestParam;
|
|
|
-import org.springframework.web.bind.annotation.RestController;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.validation.Valid;
|
|
|
@@ -79,10 +55,11 @@ public class TextbookController {
|
|
|
|
|
|
private final ITextbookService textbookService;
|
|
|
|
|
|
- private final IBaseSemesterService baseSemesterService;
|
|
|
-
|
|
|
private final ITextbookStudentClaimService textbookStudentClaimService;
|
|
|
|
|
|
+
|
|
|
+ private final IBaseClassMajorSetService baseClassMajorSetService;
|
|
|
+
|
|
|
@GetMapping(value = "/page")
|
|
|
@ApiOperation(value="教材管理列表(分页)")
|
|
|
@SaCheckPermission("textbook:detail")
|
|
|
@@ -107,21 +84,34 @@ public class TextbookController {
|
|
|
.select(Textbook::getId)
|
|
|
.selectAs(Textbook::getId,TextbookSubscriptionListVo::getTextbookId)
|
|
|
.selectAs(BaseCourseSubject::getName, TextbookSubscriptionListVo::getCourseName)
|
|
|
- .selectSum(BaseClassMajorSet::getTotalStudent, TextbookSubscriptionListVo::getStudentSubscriptionNumber)
|
|
|
.select(Textbook.class, x -> VoToColumnUtil.fieldsToColumns(TextbookSubscriptionListVo.class).contains(x.getProperty()))
|
|
|
.leftJoin(BaseClassCourse.class, BaseClassCourse::getCourseId, Textbook::getCourseSubjectId)
|
|
|
- .leftJoin(BaseClassMajorSet.class, BaseClassMajorSet::getClassId, BaseClassCourse::getClassId)
|
|
|
.leftJoin(BaseCourseSubject.class, BaseCourseSubject::getId, Textbook::getCourseSubjectId)
|
|
|
.eq(dto.getBaseSemesterId() != null && dto.getBaseSemesterId() > 0, BaseClassCourse::getBaseSemesterId, dto.getBaseSemesterId())
|
|
|
.in(!classIdList.isEmpty(),BaseClassCourse::getClassId, classIdList)
|
|
|
.groupBy(Textbook::getId)
|
|
|
;
|
|
|
IPage<TextbookSubscriptionListVo> page = textbookService.selectJoinListPage(ConventPage.getPage(dto),TextbookSubscriptionListVo.class,textbookMPJLambdaWrapper);
|
|
|
+
|
|
|
+ //获取所有班级的总人数
|
|
|
+ LambdaQueryWrapper<BaseClassMajorSet> baseClassMajorSetLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ baseClassMajorSetLambdaQueryWrapper
|
|
|
+ .in(!classIdList.isEmpty(), BaseClassMajorSet::getClassId, classIdList)
|
|
|
+ .eq(BaseClassMajorSet::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ ;
|
|
|
+ List<BaseClassMajorSet> baseClassMajorSetList = baseClassMajorSetService.list(baseClassMajorSetLambdaQueryWrapper);
|
|
|
+
|
|
|
+ int studentSubscriptionNumber = 0;
|
|
|
+ for (BaseClassMajorSet baseClassMajorSet : baseClassMajorSetList){
|
|
|
+ studentSubscriptionNumber += baseClassMajorSet.getTotalStudent();
|
|
|
+ }
|
|
|
+
|
|
|
for(TextbookSubscriptionListVo t : page.getRecords()){
|
|
|
t.setClassIds(dto.getClassIds());
|
|
|
- if(t.getTextbookType() != null && !t.getTextbookType().equals("")){
|
|
|
+ if(t.getTextbookType() != null && !("").equals(t.getTextbookType())){
|
|
|
t.setTextbookTypeCn(TextbookTypeEnum.getValue(t.getTextbookType()));
|
|
|
}
|
|
|
+ t.setStudentSubscriptionNumber(studentSubscriptionNumber);
|
|
|
}
|
|
|
PageOutput<TextbookSubscriptionListVo> pageOutput = ConventPage.getPageOutput(page, TextbookSubscriptionListVo.class);
|
|
|
return RT.ok(pageOutput);
|
|
|
@@ -155,7 +145,7 @@ public class TextbookController {
|
|
|
@GetMapping(value = "/List-subscription")
|
|
|
@ApiOperation(value="教材管理列表(不分页,教材征订用)")
|
|
|
@SaCheckPermission("textbook:detail")
|
|
|
- public RT<List<TextbookSubscriptionListVo>> ListSubscription(@Valid TextbookSubscriptionListDto dto){
|
|
|
+ public RT<List<TextbookSubscriptionListVo>> listSubscription(@Valid TextbookSubscriptionListDto dto){
|
|
|
List<String> classIdList = new ArrayList<>();
|
|
|
if(dto.getClassIds() != null && !dto.getClassIds().equals("")){
|
|
|
String[] classIdArr = dto.getClassIds().split(",");
|