Bläddra i källkod

教材征订入库,当同一个征订项价格没有更改的时候使用原有价格

大数据与最优化研究所 5 månader sedan
förälder
incheckning
0209047164

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

@@ -108,7 +108,7 @@ public class TextbookStudentClaimController {
         MPJLambdaWrapper<TextbookStudentClaim> textbookStudentClaimMPJLambdaWrapper = new MPJLambdaWrapper<>();
         textbookStudentClaimMPJLambdaWrapper
                 .selectAs(TextbookStudentClaim::getClassId, Class2AllDetailListVo::getBaseClassId)
-                .innerJoin(BaseClass.class, BaseClass::getId, TextbookStudentClaim::getBaseSemesterId,
+                .innerJoin(BaseClass.class, BaseClass::getId, TextbookStudentClaim::getClassId,
                         wrapper -> wrapper
                                 .selectAs(BaseClass::getName, Class2AllDetailListVo::getBaseClassIdCn)
                 )

+ 7 - 3
src/main/java/com/xjrsoft/module/textbook/dto/AllDetailPageDto.java

@@ -13,9 +13,13 @@ public class AllDetailPageDto extends PageInput {
     @ApiModelProperty("班级ID")
     private Long baseClassId;
 
-    @ApiModelProperty("学生ID")
-    private Long userId;
+    @ApiModelProperty("学生用户编号")
+    private Long studentUserId;
+    @ApiModelProperty("学生用户编号")
+    private String studentUserIdCn;
 
-    @ApiModelProperty("教材ID")
+    @ApiModelProperty("教材管理编号")
     private Long textbookId;
+    @ApiModelProperty("教材管理编号")
+    private String textbookIdCn;
 }

+ 28 - 1
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookStudentClaimServiceImpl.java

@@ -211,8 +211,35 @@ public class TextbookStudentClaimServiceImpl extends MPJBaseServiceImpl<Textbook
 
     @Override
     public IPage<AllDetailPageVo> allDetailPage(AllDetailPageDto dto) {
+        MPJLambdaWrapper<TextbookStudentClaim> textbookStudentClaimMPJLambdaWrapper = new MPJLambdaWrapper<>();
+        textbookStudentClaimMPJLambdaWrapper
+                .select(TextbookStudentClaim::getId)
+                .select(TextbookStudentClaim.class, x -> VoToColumnUtil.fieldsToColumns(AllDetailPageVo.class).contains(x.getProperty()))
+                .leftJoin(BaseSemester.class, BaseSemester::getId, TextbookStudentClaim::getBaseSemesterId,
+                        wrapper -> wrapper
+                                .selectAs(BaseSemester::getName, AllDetailPageVo::getBaseSemesterIdCn)
+                )
+                .leftJoin(BaseClass.class, BaseClass::getId, TextbookStudentClaim::getClassId,
+                        wrapper -> wrapper
+                                .selectAs(BaseClass::getName, AllDetailPageVo::getClassIdCn)
+                )
+                .leftJoin(XjrUser.class, XjrUser::getId, TextbookStudentClaim::getStudentUserId,
+                        wrapper -> wrapper
+                                .selectAs(XjrUser::getName, AllDetailPageVo::getStudentUserIdCn)
+                                .like(StringUtils.isNotEmpty(dto.getStudentUserIdCn()), XjrUser::getName, dto.getStudentUserIdCn())
+                )
+                .leftJoin(Textbook.class, Textbook::getId, TextbookStudentClaim::getTextbookId,
+                        wrapper -> wrapper
+                                .selectAs(Textbook::getBookName, AllDetailPageVo::getTextbookIdCn)
+                                .like(StringUtils.isNotEmpty(dto.getTextbookIdCn()), Textbook::getBookName, dto.getTextbookIdCn())
+                )
+                .eq(ObjectUtils.isNotEmpty(dto.getBaseSemesterId()), TextbookStudentClaim::getBaseSemesterId, dto.getBaseSemesterId())
+                .eq(ObjectUtils.isNotEmpty(dto.getBaseClassId()), TextbookStudentClaim::getClassId, dto.getBaseClassId())
+                .eq(ObjectUtils.isNotEmpty(dto.getStudentUserId()), TextbookStudentClaim::getStudentUserId, dto.getStudentUserId())
+                .eq(ObjectUtils.isNotEmpty(dto.getTextbookId()), TextbookStudentClaim::getTextbookId, dto.getTextbookId())
+        ;
 
-        return null;
+        return this.selectJoinListPage(ConventPage.getPage(dto), AllDetailPageVo.class, textbookStudentClaimMPJLambdaWrapper);
     }
 
     @Override

+ 2 - 2
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookSubscriptionServiceImpl.java

@@ -656,13 +656,13 @@ public class TextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<Textbook
                     throw new MyException("第" + (i+1) + "本教材已入库数量产生负数,请输入合理的入库数量");
                 }
                 textbookWarehouseRecord.setWarehouseNumber(oldTextbookWarehouseRecord.getWarehouseNumber() + dto.getInNum());
-                textbookWarehouseRecord.setTotalPrice(textbookWarehouseRecord.getSubtotal().multiply(BigDecimal.valueOf(textbookWarehouseRecord.getWarehouseNumber())));
+                textbookWarehouseRecord.setTotalPrice(oldTextbookWarehouseRecord.getSubtotal().multiply(BigDecimal.valueOf(textbookWarehouseRecord.getWarehouseNumber())));
 
                 if(oldTextbookWarehouseRecord.getActualWarehouseNumber() + dto.getInNum() < 0){
                     throw new MyException("第" + (i+1) + "本教材实际入库数量产生负数,请输入合理的入库数量");
                 }
                 textbookWarehouseRecord.setActualWarehouseNumber(oldTextbookWarehouseRecord.getActualWarehouseNumber() + dto.getInNum());
-                textbookWarehouseRecord.setActualTotalPrice(textbookWarehouseRecord.getSubtotal().multiply(BigDecimal.valueOf(textbookWarehouseRecord.getActualWarehouseNumber())));
+                textbookWarehouseRecord.setActualTotalPrice(oldTextbookWarehouseRecord.getSubtotal().multiply(BigDecimal.valueOf(textbookWarehouseRecord.getActualWarehouseNumber())));
 
                 if(oldTextbookWarehouseRecord.getRemainNumber() + dto.getInNum() < 0){
                     throw new MyException("第" + (i+1) + "本教材剩余库存数量产生负数,请输入合理的入库数量");

+ 63 - 1
src/main/java/com/xjrsoft/module/textbook/vo/AllDetailPageVo.java

@@ -1,8 +1,70 @@
 package com.xjrsoft.module.textbook.vo;
 
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
+
 @Data
 public class AllDetailPageVo {
-
+    /**
+     * 主键编号
+     */
+    @ApiModelProperty("主键编号")
+    @TableId
+    private Long id;
+    /**
+     * 学期ID(base_semester)
+     */
+    @ApiModelProperty("学期ID(base_semester)")
+    private Long baseSemesterId;
+    @ApiModelProperty("学期ID(base_semester)")
+    private String baseSemesterIdCn;
+    /**
+     * 班级编号
+     */
+    @ApiModelProperty("班级编号")
+    private Long classId;
+    @ApiModelProperty("班级编号")
+    private String classIdCn;
+    /**
+     * 学生用户编号
+     */
+    @ApiModelProperty("学生用户编号")
+    private Long studentUserId;
+    @ApiModelProperty("学生用户编号")
+    private String studentUserIdCn;
+    /**
+     * 教材管理编号
+     */
+    @ApiModelProperty("教材管理编号")
+    private Long textbookId;
+    @ApiModelProperty("教材管理编号")
+    private String textbookIdCn;
+    /**
+     * 关联入库主键
+     */
+    @ApiModelProperty("关联入库主键")
+    private Long textbookWarehouseRecordId;
+    /**
+     * 教材确认领取的价格
+     */
+    @ApiModelProperty("教材确认领取的价格")
+    private BigDecimal price;
+    /**
+     * 是否领取(1:已领取 0:未领取 2:领取后退还教务处了)
+     */
+    @ApiModelProperty("是否领取(1:已领取 0:未领取 2:领取后退还教务处了)")
+    private Integer isClaim;
+    /**
+     * 确认领取来源(1:个人申领发放,当确认领取不能被修改未领取,2:班级申领发放,可以修改为未领取)
+     */
+    @ApiModelProperty("确认领取来源(1:个人申领发放,当确认领取不能被修改未领取,2:班级申领发放,可以修改为未领取)")
+    private Integer claimSource;
+    /**
+     * 备注
+     */
+    @ApiModelProperty("备注")
+    private String remark;
 }