Jelajahi Sumber

/textbook/textbook/deliver-warehouse 教材管理入库接口 增加入库方式(warehouseMode)字段
/textbook/wfTextbookClaim/confirm-istribute 确定发放接口 当申领类型为学生的时候生成学生认领记录
/textbook/wfTextbookClaim/student-confirm-list 学生教材领取确定页面

phoenix 1 tahun lalu
induk
melakukan
918d3b6838

+ 35 - 0
src/main/java/com/xjrsoft/common/enums/WarehouseModeEnum.java

@@ -0,0 +1,35 @@
+package com.xjrsoft.common.enums;
+
+/**
+ * @description: 入库方式warehouse_mode
+ * @author: phoenix
+ * @create: 2023/12/21 11:27
+ * @Version 1.0
+ */
+public enum WarehouseModeEnum {
+    /**
+     * 笔记本
+     * */
+    WmManual("wm_manual", "手动"),
+
+    /**
+     * 作业本
+     * */
+    WmRecede("wm_recede", "退书");
+
+    final String code;
+    final String value;
+
+    public String getCode() {
+        return this.code;
+    }
+
+    public String getValue() {
+        return this.value;
+    }
+
+    WarehouseModeEnum(final String code, final String message) {
+        this.code = code;
+        this.value = message;
+    }
+}

+ 3 - 1
src/main/java/com/xjrsoft/module/teacher/controller/AttendanceRecordController.java

@@ -61,7 +61,9 @@ public class AttendanceRecordController {
     public RT<PageOutput<AttendanceRecordPageVo>> page(@Valid AttendanceRecordPageDto dto){
 
         MPJLambdaWrapper<AttendanceRecord> queryWrapper = new MPJLambdaWrapper<>();
-        queryWrapper.select(AttendanceRecord::getId)
+        queryWrapper
+                .disableSubLogicDel()
+                .select(AttendanceRecord::getId)
                 .selectAs(XjrUser::getName, AttendanceRecordPageVo::getUserName)
                 .select(AttendanceRecord.class, x -> VoToColumnUtil.fieldsToColumns(AttendanceRecordPageVo.class).contains(x.getProperty()))
                 .leftJoin(XjrUser.class, XjrUser::getId, AttendanceRecord::getUserId)

+ 14 - 13
src/main/java/com/xjrsoft/module/textbook/controller/TextbookStudentClaimController.java

@@ -1,26 +1,21 @@
 package com.xjrsoft.module.textbook.controller;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.xjrsoft.common.constant.GlobalConstant;
-import com.baomidou.mybatisplus.core.toolkit.StringPool;
+import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
-import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.textbook.dto.AddTextbookStudentClaimDto;
-import com.xjrsoft.module.textbook.dto.UpdateTextbookStudentClaimDto;
-import cn.dev33.satoken.annotation.SaCheckPermission;
-
+import com.xjrsoft.module.textbook.dto.TextbookClaimStudentConfirmDto;
 import com.xjrsoft.module.textbook.dto.TextbookStudentClaimPageDto;
+import com.xjrsoft.module.textbook.dto.UpdateTextbookStudentClaimDto;
 import com.xjrsoft.module.textbook.entity.TextbookStudentClaim;
 import com.xjrsoft.module.textbook.service.ITextbookStudentClaimService;
+import com.xjrsoft.module.textbook.vo.TextbookClaimStudentConfirmVo;
 import com.xjrsoft.module.textbook.vo.TextbookStudentClaimPageVo;
-
 import com.xjrsoft.module.textbook.vo.TextbookStudentClaimVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -28,7 +23,6 @@ import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
 import java.util.List;
 
 /**
@@ -50,16 +44,23 @@ public class TextbookStudentClaimController {
     @ApiOperation(value="学生教材认领记录列表(分页)")
     @SaCheckPermission("textbookstudentclaim:detail")
     public RT<PageOutput<TextbookStudentClaimPageVo>> page(@Valid TextbookStudentClaimPageDto dto){
-
         LambdaQueryWrapper<TextbookStudentClaim> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper
-                    .orderByDesc(TextbookStudentClaim::getId)
+                .orderByDesc(TextbookStudentClaim::getId)
                 .select(TextbookStudentClaim.class,x -> VoToColumnUtil.fieldsToColumns(TextbookStudentClaimPageVo.class).contains(x.getProperty()));
         IPage<TextbookStudentClaim> page = textbookStudentClaimService.page(ConventPage.getPage(dto), queryWrapper);
         PageOutput<TextbookStudentClaimPageVo> pageOutput = ConventPage.getPageOutput(page, TextbookStudentClaimPageVo.class);
         return RT.ok(pageOutput);
     }
 
+    @GetMapping(value = "/student-confirm-list")
+    @ApiOperation(value="学生教材领取确定页面")
+    @SaCheckPermission("textbookstudentclaim:detail")
+    public RT<TextbookClaimStudentConfirmVo> studentConfirmList(@Valid TextbookClaimStudentConfirmDto dto){
+        TextbookClaimStudentConfirmVo textbookClaimStudentConfirmVo = textbookStudentClaimService.getStudentConfirmList(dto);
+        return RT.ok(textbookClaimStudentConfirmVo);
+    }
+
     @GetMapping(value = "/info")
     @ApiOperation(value="根据id查询学生教材认领记录信息")
     @SaCheckPermission("textbookstudentclaim:detail")

+ 23 - 0
src/main/java/com/xjrsoft/module/textbook/dto/TextbookClaimStudentConfirmDto.java

@@ -0,0 +1,23 @@
+package com.xjrsoft.module.textbook.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+
+/**
+* @title: 学生教材认领确定页入参
+* @Author szs
+* @Date: 2023-12-26
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class TextbookClaimStudentConfirmDto {
+
+    /**
+     * 学期ID(base_semester)
+     */
+    @ApiModelProperty("学期ID(base_semester)")
+    private Long baseSemesterId;
+}

+ 10 - 6
src/main/java/com/xjrsoft/module/textbook/dto/TextbookStudentClaimPageDto.java

@@ -4,12 +4,6 @@ import com.xjrsoft.common.page.PageInput;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.Date;
 
 
 /**
@@ -22,5 +16,15 @@ import java.util.Date;
 @EqualsAndHashCode(callSuper = false)
 public class TextbookStudentClaimPageDto extends PageInput {
 
+    /**
+     * 学期ID(base_semester)
+     */
+    @ApiModelProperty("学期ID(base_semester)")
+    private Long baseSemesterId;
 
+    /**
+     * 学生用户编号
+     */
+    @ApiModelProperty("学生用户编号")
+    private Long studentUserId;
 }

+ 5 - 1
src/main/java/com/xjrsoft/module/textbook/entity/TextbookWarehouseRecord.java

@@ -109,6 +109,10 @@ public class TextbookWarehouseRecord implements Serializable {
     */
     @ApiModelProperty("总价(元)")
     private BigDecimal totalPrice;
-
+    /**
+     * 入库方式
+     */
+    @ApiModelProperty("入库方式")
+    private String warehouseMode;
 
 }

+ 4 - 1
src/main/java/com/xjrsoft/module/textbook/mapper/TextbookStudentClaimMapper.java

@@ -1,10 +1,12 @@
 package com.xjrsoft.module.textbook.mapper;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.textbook.entity.TextbookStudentClaim;
+import com.xjrsoft.module.textbook.vo.TextbookClaimVO;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
 * @title: 学生教材认领记录
 * @Author szs
@@ -14,4 +16,5 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface TextbookStudentClaimMapper extends MPJBaseMapper<TextbookStudentClaim> {
 
+    List<TextbookClaimVO> queryTextbookClaimList(Long baseSemesterId, Long studentUserId);
 }

+ 9 - 3
src/main/java/com/xjrsoft/module/textbook/service/ITextbookStudentClaimService.java

@@ -1,10 +1,9 @@
 package com.xjrsoft.module.textbook.service;
 
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.textbook.dto.TextbookClaimStudentConfirmDto;
 import com.xjrsoft.module.textbook.entity.TextbookStudentClaim;
-import lombok.Data;
-import java.util.List;
+import com.xjrsoft.module.textbook.vo.TextbookClaimStudentConfirmVo;
 
 /**
 * @title: 学生教材认领记录
@@ -14,4 +13,11 @@ import java.util.List;
 */
 
 public interface ITextbookStudentClaimService extends MPJBaseService<TextbookStudentClaim> {
+
+    /**
+     * 获取页面
+     * @param dto
+     * @return
+     */
+    TextbookClaimStudentConfirmVo  getStudentConfirmList(TextbookClaimStudentConfirmDto dto);
 }

+ 35 - 32
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookServiceImpl.java

@@ -9,6 +9,7 @@ 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.enums.WarehouseModeEnum;
 import com.xjrsoft.common.exception.MyException;
 import com.xjrsoft.module.base.entity.BaseClass;
 import com.xjrsoft.module.base.service.IBaseClassService;
@@ -246,28 +247,29 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
                         setTextbookId(textbook.getId());
                         setWfTextbookSubscriptionId(wfTextbookSubscription.getId());
                     }});
-                }
+                } else {
 
-                //征订的教材在教材管理,进行班级的和记录的管理
-                Textbook textbook = textbookList.get(0);
+                    //征订的教材在教材管理,进行班级的和记录的管理
+                    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));
-                        }});
+                    //班级不为空
+                    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));
+                            }});
+                        }
                     }
+                    //添加教材征订记录
+                    textbookTextbookSubscriptionRecordMapper.insert(new TextbookSubscriptionRecord() {{
+                        setTextbookId(textbook.getId());
+                        setWfTextbookSubscriptionId(wfTextbookSubscription.getId());
+                    }});
                 }
-                //添加教材征订记录
-                textbookTextbookSubscriptionRecordMapper.insert(new TextbookSubscriptionRecord() {{
-                    setTextbookId(textbook.getId());
-                    setWfTextbookSubscriptionId(wfTextbookSubscription.getId());
-                }});
             }
         }
         return true;
@@ -320,24 +322,24 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
                         setTextbookId(textbook.getId());
                         setWfTextbookSubscriptionId(wfExerciseBook.getId());
                     }});
-                }
+                } else {
+                    //征订的教材在教材管理,进行班级的和记录的管理
+                    Textbook textbook = textbookList.get(0);
 
-                //征订的教材在教材管理,进行班级的和记录的管理
-                Textbook textbook = textbookList.get(0);
+                    //班级不为空
+                    if (ObjectUtil.isNotNull(wfExerciseBook.getClassId()) && !wfExerciseBook.getClassId().equals("")) {
+                        textbookTextbookClassRelationMapper.insert(new TextbookClassRelation() {{
+                            setTextbookId(textbook.getId());
+                            setClassId(wfExerciseBook.getClassId());
+                        }});
 
-                //班级不为空
-                if (ObjectUtil.isNotNull(wfExerciseBook.getClassId()) && !wfExerciseBook.getClassId().equals("")) {
-                    textbookTextbookClassRelationMapper.insert(new TextbookClassRelation() {{
+                    }
+                    //添加教材征订记录
+                    textbookTextbookSubscriptionRecordMapper.insert(new TextbookSubscriptionRecord() {{
                         setTextbookId(textbook.getId());
-                        setClassId(wfExerciseBook.getClassId());
+                        setWfTextbookSubscriptionId(wfExerciseBook.getId());
                     }});
-
                 }
-                //添加教材征订记录
-                textbookTextbookSubscriptionRecordMapper.insert(new TextbookSubscriptionRecord() {{
-                    setTextbookId(textbook.getId());
-                    setWfTextbookSubscriptionId(wfExerciseBook.getId());
-                }});
             }
         }
         return true;
@@ -404,7 +406,7 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
     @Override
     public List<WfTextbookClaimListVo> claimList(Long id) {
         List<WfTextbookClaimListVo> result = textbookTextbookMapper.claimList(id);
-        if(!result.isEmpty()){
+        if (!result.isEmpty()) {
             return result;
         }
         return new ArrayList<>();
@@ -427,6 +429,7 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
         boolean isSuccess = this.updateById(updateTextbook);
 
         TextbookWarehouseRecord textbookWarehouseRecord = BeanUtil.toBean(dto, TextbookWarehouseRecord.class);
+        textbookWarehouseRecord.setWarehouseMode(WarehouseModeEnum.WmManual.getCode());
         isSuccess = textbookClassWarehouseService.save(textbookWarehouseRecord);
 
         return isSuccess;

+ 72 - 5
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookStudentClaimServiceImpl.java

@@ -1,17 +1,28 @@
 package com.xjrsoft.module.textbook.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import cn.dev33.satoken.stp.StpUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+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.IBaseSemesterService;
+import com.xjrsoft.module.student.entity.BaseStudent;
+import com.xjrsoft.module.student.entity.BaseStudentSchoolRoll;
+import com.xjrsoft.module.teacher.entity.AttendanceRecord;
+import com.xjrsoft.module.teacher.entity.XjrUser;
+import com.xjrsoft.module.teacher.mapper.XjrUserMapper;
+import com.xjrsoft.module.textbook.dto.TextbookClaimStudentConfirmDto;
 import com.xjrsoft.module.textbook.entity.TextbookStudentClaim;
 import com.xjrsoft.module.textbook.mapper.TextbookStudentClaimMapper;
 import com.xjrsoft.module.textbook.service.ITextbookStudentClaimService;
+import com.xjrsoft.module.textbook.vo.TextbookClaimStudentConfirmVo;
+import com.xjrsoft.module.textbook.vo.TextbookClaimVO;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
+
 import java.util.List;
-import java.util.Objects;
-import java.util.stream.Collectors;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 
 /**
 * @title: 学生教材认领记录
@@ -22,4 +33,60 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 @Service
 @AllArgsConstructor
 public class TextbookStudentClaimServiceImpl extends MPJBaseServiceImpl<TextbookStudentClaimMapper, TextbookStudentClaim> implements ITextbookStudentClaimService {
+
+    private final XjrUserMapper xjrUserMapper;
+
+    private final TextbookStudentClaimMapper textbookStudentClaimMapper;
+    private final IBaseSemesterService baseSemesterService;
+
+    @Override
+    public TextbookClaimStudentConfirmVo getStudentConfirmList(TextbookClaimStudentConfirmDto dto) {
+        //判断输入的合法性
+        if(ObjectUtil.isNull(dto.getBaseSemesterId()) || dto.getBaseSemesterId() <= 0){
+            throw new MyException("请选择学期");
+        }
+
+        //获取当前登录学生的信息
+        MPJLambdaWrapper<XjrUser> queryUser = new MPJLambdaWrapper<>();
+        queryUser
+                .selectAs(XjrUser::getName, TextbookClaimStudentConfirmVo::getStudentName)
+                .selectAs(BaseStudent::getStudentId, TextbookClaimStudentConfirmVo::getStudentId)
+                .selectAs(BaseClass::getName, TextbookClaimStudentConfirmVo::getClassCN)
+                .leftJoin(BaseStudent.class, BaseStudent::getUserId, XjrUser::getId)
+                .leftJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, XjrUser::getId)
+                .leftJoin(BaseClass.class, BaseClass::getId, BaseStudentSchoolRoll::getClassId)
+                .eq(XjrUser::getId, StpUtil.getLoginIdAsLong())
+                .disableSubLogicDel()
+                .orderByDesc(AttendanceRecord::getId);
+        TextbookClaimStudentConfirmVo textbookClaimStudentConfirmVo = xjrUserMapper.selectJoinOne(TextbookClaimStudentConfirmVo.class, queryUser);
+        if(ObjectUtil.isNull(textbookClaimStudentConfirmVo)){
+            throw new MyException("未找到该学生的相关信息");
+        }
+
+        //根据学期id查出学期名称
+        BaseSemester baseSemester = baseSemesterService.getById(dto.getBaseSemesterId());
+        if(ObjectUtil.isNull(baseSemester)){
+            throw new MyException("学期不存在");
+        }
+        textbookClaimStudentConfirmVo.setBaseSemesterCN(baseSemester.getName());
+
+        //查出整个学生教材认领记录集合
+        /*MPJLambdaWrapper<TextbookStudentClaim> queryTextbookClaimList = new MPJLambdaWrapper<>();
+        queryTextbookClaimList
+                .selectAs(TextbookStudentClaim::getId, TextbookClaimVO::getTextbookStudentClaimId)
+                .selectFunc(() ->"t1.price * t1.discount", TextbookClaimVO::getDiscountPrice)
+                .selectFunc("(%f * %f", arg -> arg.accept(Textbook::getPrice, Textbook::getDiscount), TextbookClaimVO::getDiscountPrice)
+                .select(TextbookStudentClaim.class, x -> VoToColumnUtil.fieldsToColumns(TextbookClaimVO.class).contains(x.getProperty()))
+                .select(Textbook.class, x -> VoToColumnUtil.fieldsToColumns(TextbookClaimVO.class).contains(x.getProperty()))
+                .leftJoin(Textbook.class, Textbook::getId, TextbookStudentClaim::getTextbookId)
+                .eq(TextbookStudentClaim::getStudentUserId, StpUtil.getLoginIdAsLong())
+                .eq(TextbookStudentClaim::getBaseSemesterId, dto.getBaseSemesterId())
+                .disableSubLogicDel()
+                .orderByDesc(AttendanceRecord::getId);
+        List<TextbookClaimVO> textbookClaimVOList = this.selectJoinList(TextbookClaimVO.class, queryTextbookClaimList);
+        textbookClaimStudentConfirmVo.setTextbookClaimVoList(textbookClaimVOList);*/
+        List<TextbookClaimVO> textbookClaimVOList = textbookStudentClaimMapper.queryTextbookClaimList(dto.getBaseSemesterId(),StpUtil.getLoginIdAsLong());
+        textbookClaimStudentConfirmVo.setTextbookClaimVoList(textbookClaimVOList);
+        return textbookClaimStudentConfirmVo;
+    }
 }

+ 14 - 12
src/main/java/com/xjrsoft/module/textbook/service/impl/WfTextbookClaimServiceImpl.java

@@ -249,21 +249,23 @@ public class WfTextbookClaimServiceImpl extends MPJBaseServiceImpl<WfTextbookCla
             }});
 
 
-            //为班级每个学生生成领取(确认信息)认领记录
+            //当申领类型为学生的时候,为班级每个学生生成领取(确认信息)认领记录
             //查出班上的所有学生id
-            List<Long> userIdList = xjrUserMapper.getUserIdByClassId(wfTextbookClaim.getClassId());
+            if(ObjectUtil.isNotNull(wfTextbookClaim.getClaimType()) && wfTextbookClaim.getClaimType().equals(ClaimTypeEnum.ImStudent.getCode())){
+                List<Long> userIdList = xjrUserMapper.getUserIdByClassId(wfTextbookClaim.getClassId());
 
-            if (ObjectUtil.isNull(userIdList) && userIdList.size() <= 0) {
-                throw new MyException("申领班级有误,请核实");
-            }
+                if (ObjectUtil.isNull(userIdList) && userIdList.size() <= 0) {
+                    throw new MyException("申领班级有误,请核实");
+                }
 
-            for (Long userId : userIdList) {
-                textbookStudentClaimService.save(new TextbookStudentClaim() {{
-                    setStudentUserId(userId);
-                    setBaseSemesterId(wfTextbookClaim.getBaseSemesterId());
-                    setClassId(wfTextbookClaim.getClassId());
-                    setTextbookId(wfTextbookClaimItem.getTextbookId());
-                }});
+                for (Long userId : userIdList) {
+                    textbookStudentClaimService.save(new TextbookStudentClaim() {{
+                        setStudentUserId(userId);
+                        setBaseSemesterId(wfTextbookClaim.getBaseSemesterId());
+                        setClassId(wfTextbookClaim.getClassId());
+                        setTextbookId(wfTextbookClaimItem.getTextbookId());
+                    }});
+                }
             }
         }
         return true;

+ 42 - 0
src/main/java/com/xjrsoft/module/textbook/vo/TextbookClaimStudentConfirmVo.java

@@ -0,0 +1,42 @@
+package com.xjrsoft.module.textbook.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @title: 学生教材认领确定页出参
+ * @Author szs
+ * @Date: 2023-12-26
+ * @Version 1.0
+ */
+@Data
+public class TextbookClaimStudentConfirmVo {
+
+    /**
+     * 学生教材认领记录集合
+     */
+    @ApiModelProperty("学生教材认领记录集合")
+    private List<TextbookClaimVO> textbookClaimVoList;
+    /**
+     * 学生姓名
+     */
+    @ApiModelProperty("学生姓名")
+    private String studentName;
+    /**
+     * 学号
+     */
+    @ApiModelProperty("学号")
+    private String studentId;
+    /**
+     * 学期
+     */
+    @ApiModelProperty("学期")
+    private String baseSemesterCN;
+    /**
+     * 班级
+     */
+    @ApiModelProperty("班级")
+    private String classCN;
+}

+ 52 - 0
src/main/java/com/xjrsoft/module/textbook/vo/TextbookClaimVO.java

@@ -0,0 +1,52 @@
+package com.xjrsoft.module.textbook.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+* @title: 学生教材认领记录出参-确认领取页面
+* @Author szs
+* @Date: 2023-12-26
+* @Version 1.0
+*/
+@Data
+public class TextbookClaimVO {
+
+    /**
+     * 学生教材认领主键编号
+     */
+    @ApiModelProperty("学生教材认领主键编号")
+    private String textbookStudentClaimId;
+    /**
+     * 序号
+     */
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+    /**
+     * 教材管理编号
+     */
+    @ApiModelProperty("教材管理编号")
+    private Long textbookId;
+    /**
+     * 书名
+     */
+    @ApiModelProperty("书名")
+    private String bookName;
+    /**
+     * 定价(元)
+     */
+    @ApiModelProperty("定价(元)")
+    private BigDecimal price;
+    /**
+     * 折后价格
+     */
+    @ApiModelProperty("折后价格")
+    private BigDecimal discountPrice;
+    /**
+     * 是否领取(1:已领取 0:未领取)
+     */
+    @ApiModelProperty("是否领取(1:已领取 0:未领取)")
+    private Integer isClaim;
+}

+ 15 - 51
src/main/java/com/xjrsoft/module/textbook/vo/TextbookStudentClaimPageVo.java

@@ -1,15 +1,9 @@
 package com.xjrsoft.module.textbook.vo;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import com.xjrsoft.common.annotation.Trans;
-import com.xjrsoft.common.enums.TransType;
-import java.time.LocalTime;
-import java.time.LocalDateTime;
 import java.math.BigDecimal;
-import java.util.Date;
 
 /**
 * @title: 学生教材认领记录分页列表出参
@@ -26,60 +20,30 @@ public class TextbookStudentClaimPageVo {
     @ApiModelProperty("主键编号")
     private String id;
     /**
-    * 创建人
-    */
-    @ApiModelProperty("创建人")
-    private Long createUserId;
-    /**
-    * 创建时间
-    */
-    @ApiModelProperty("创建时间")
-    private Date createDate;
-    /**
-    * 修改人
-    */
-    @ApiModelProperty("修改人")
-    private Long modifyUserId;
-    /**
-    * 修改时间
-    */
-    @ApiModelProperty("修改时间")
-    private Date modifyDate;
-    /**
-    * 删除标记
-    */
-    @ApiModelProperty("删除标记")
-    private Integer deleteMark;
-    /**
-    * 有效标志
-    */
-    @ApiModelProperty("有效标志")
-    private Integer enabledMark;
-    /**
     * 序号
     */
     @ApiModelProperty("序号")
     private Integer sortCode;
     /**
-    * 学期ID(base_semester)
-    */
-    @ApiModelProperty("学期ID(base_semester)")
-    private Long baseSemesterId;
-    /**
-    * 班级编号
-    */
-    @ApiModelProperty("班级编号")
-    private Long classId;
-    /**
-    * 学生用户编号
-    */
-    @ApiModelProperty("学生用户编号")
-    private Long studentUserId;
-    /**
     * 教材管理编号
     */
     @ApiModelProperty("教材管理编号")
     private Long textbookId;
+    /**
+     * 书名
+     */
+    @ApiModelProperty("书名")
+    private String bookName;
+    /**
+     * 定价(元)
+     */
+    @ApiModelProperty("定价(元)")
+    private BigDecimal price;
+    /**
+     * 折后价格
+     */
+    @ApiModelProperty("折后价格")
+    private BigDecimal discountPrice;
     /**
     * 是否领取(1:已领取 0:未领取)
     */

+ 20 - 6
src/main/java/com/xjrsoft/module/textbook/vo/TextbookStudentClaimVo.java

@@ -3,12 +3,6 @@ package com.xjrsoft.module.textbook.vo;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Date;
-
 /**
 * @title: 学生教材认领记录表单出参
 * @Author szs
@@ -33,21 +27,41 @@ public class TextbookStudentClaimVo {
     */
     @ApiModelProperty("学期ID(base_semester)")
     private Long baseSemesterId;
+    /**
+     * 学期ID(base_semester)
+     */
+    @ApiModelProperty("学期ID(base_semester)")
+    private Long baseSemesterIdCN;
     /**
     * 班级编号
     */
     @ApiModelProperty("班级编号")
     private Long classId;
+    /**
+     * 班级编号
+     */
+    @ApiModelProperty("班级编号")
+    private Long classIdCN;
     /**
     * 学生用户编号
     */
     @ApiModelProperty("学生用户编号")
     private Long studentUserId;
+    /**
+     * 学生用户编号
+     */
+    @ApiModelProperty("学生用户编号")
+    private Long studentUserIdCN;
     /**
     * 教材管理编号
     */
     @ApiModelProperty("教材管理编号")
     private Long textbookId;
+    /**
+     * 教材管理编号
+     */
+    @ApiModelProperty("教材管理编号")
+    private String textbookIdCN;
     /**
     * 是否领取(1:已领取 0:未领取)
     */

+ 22 - 0
src/main/resources/mapper/textbook/TextbookStudentClaimMapper.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xjrsoft.module.textbook.mapper.TextbookStudentClaimMapper">
+    <select id="queryTextbookClaimList"
+            resultType="com.xjrsoft.module.textbook.vo.TextbookClaimVO">
+        SELECT t.id                   AS textbookStudentClaimId,
+               t1.price * t1.discount AS discountPrice,
+               t.sort_code as sortCode,
+               t.textbook_id as textbookId,
+               t.is_claim as isClaim,
+               t1.book_name as bookName,
+               t1.price as price
+        FROM textbook_student_claim t
+                 LEFT JOIN textbook t1 ON (t1.id = t.textbook_id)
+        WHERE t.delete_mark = 0
+          AND (t.student_user_id = #{studentUserId})
+            AND (t.base_semester_id = #{baseSemesterId})
+        ORDER BY t.id DESC
+    </select>
+</mapper>