Bladeren bron

确认发放,发放类型字典值回显

大数据与最优化研究所 9 maanden geleden
bovenliggende
commit
e68f0ae4ff

+ 10 - 0
src/main/java/com/xjrsoft/module/textbook/dto/CanReturnTextbookListDto.java

@@ -1,10 +1,20 @@
 package com.xjrsoft.module.textbook.dto;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 public class CanReturnTextbookListDto {
 
     private static final long serialVersionUID = 1L;
+    @ApiModelProperty("当前登录用户主键编号")
+    private Long userId;
+
+    @ApiModelProperty("退还类型")
+    private String recordType;
 
+    @ApiModelProperty("学期主键编号")
+    private Long baseSemesterId;
 }

+ 1 - 0
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookIssueRecordServiceImpl.java

@@ -32,6 +32,7 @@ public class TextbookIssueRecordServiceImpl extends MPJBaseServiceImpl<TextbookI
 
     @Override
     public List<CanReturnTextbookListVo> canReturnTextbookList(CanReturnTextbookListDto dto) {
+
         return List.of();
     }
 

+ 28 - 6
src/main/java/com/xjrsoft/module/textbook/service/impl/WfTextbookClaimServiceImpl.java

@@ -275,6 +275,14 @@ public class WfTextbookClaimServiceImpl extends MPJBaseServiceImpl<WfTextbookCla
         WfTextbookClaim wfTextbookClaim = this.getByIdDeep(dto.getTextbookClaimId());
         List<WfTextbookClaimItem> wfTextbookClaimItemList = wfTextbookClaim.getWfTextbookClaimItemList();
 
+        int claimTotalNum = 0;
+        int issueTotalNum = 0;
+        for (WfTextbookClaimItem wfTextbookClaimItem : wfTextbookClaimItemList){
+            claimTotalNum += wfTextbookClaimItem.getApplicantNumber();
+            issueTotalNum += wfTextbookClaimItem.getIssueNumber();
+        }
+
+
         // 获取所有入库记录
         List<TextbookWarehouseRecord> textbookWarehouseRecordList = textbookWarehouseRecordMapper.selectList(
             Wrappers.lambdaQuery(TextbookWarehouseRecord.class)
@@ -319,6 +327,7 @@ public class WfTextbookClaimServiceImpl extends MPJBaseServiceImpl<WfTextbookCla
             int issueNumber = ObjectUtils.isEmpty(wfTextbookClaimItem.getIssueNumber()) ? 0 : wfTextbookClaimItem.getIssueNumber();//已发放
             int applicantNumber = ObjectUtils.isEmpty(wfTextbookClaimItem.getApplicantNumber()) ? 0 : wfTextbookClaimItem.getApplicantNumber();//申领总数量
             int confirmNumber = ObjectUtils.isEmpty(textbookClaimItem.getConfirmTotalNumber()) ? 0 : textbookClaimItem.getConfirmTotalNumber();//本次发放
+            issueTotalNum += confirmNumber;
             if (issueNumber + confirmNumber > applicantNumber) {
                 throw new MyException(textbookClaimItem.getTextbookIdCn() + "发放总数量超出申领数量");
             }
@@ -405,13 +414,19 @@ public class WfTextbookClaimServiceImpl extends MPJBaseServiceImpl<WfTextbookCla
                 textbookIssueRecordMapper.insert(textbookIssueRecord);
             }
 
+            WfTextbookClaim updateWfTextbookClaim = new WfTextbookClaim();
+            updateWfTextbookClaim.setModifyUserId(StpUtil.getLoginIdAsLong());
+            updateWfTextbookClaim.setModifyDate(new Date());
+            updateWfTextbookClaim.setId(wfTextbookClaim.getId());
+            if(claimTotalNum > issueTotalNum){
+                updateWfTextbookClaim.setStatus(2);
+            }
+            if(claimTotalNum > issueTotalNum){
+                updateWfTextbookClaim.setStatus(3);
+            }
+
             //更新申领项中的已经发放数量
-            wfTextbookClaimWfTextbookClaimItemMapper.updateById(new WfTextbookClaimItem() {{
-                setModifyUserId(StpUtil.getLoginIdAsLong());
-                setModifyDate(new Date());
-                setId(wfTextbookClaimItem.getId());
-                setIssueNumber(issueNumber + confirmNumber);
-            }});
+            wfTextbookClaimWfTextbookClaimMapper.updateById(updateWfTextbookClaim);
 
             // 当申领类型为学生的时候,为班级每个学生生成领取(确认信息)认领记录
 //            if (ObjectUtil.isNotNull(wfTextbookClaim.getClaimType()) && wfTextbookClaim.getClaimType().equals(ClaimTypeEnum.ClaimStudent.getCode())) {
@@ -442,6 +457,13 @@ public class WfTextbookClaimServiceImpl extends MPJBaseServiceImpl<WfTextbookCla
 //                }
 //            }
         }
+        //更新申领的发放状态为已经发放
+        wfTextbookClaimWfTextbookClaimItemMapper.updateById(new WfTextbookClaimItem() {{
+            setModifyUserId(StpUtil.getLoginIdAsLong());
+            setModifyDate(new Date());
+            setId(wfTextbookClaimItem.getId());
+            setIssueNumber(issueNumber + confirmNumber);
+        }});
         return true;
     }
 

+ 3 - 0
src/main/java/com/xjrsoft/module/textbook/vo/DistributePageVo.java

@@ -9,6 +9,9 @@ public class DistributePageVo {
     @ApiModelProperty("主键编号")
     private Long id;
 
+    @ApiModelProperty("申领类型(xjr_dictionary_item[claim_type])")
+    private String claimType;
+
     @ApiModelProperty("申领类型(xjr_dictionary_item[claim_type])")
     private String claimTypeCn;
 

+ 1 - 0
src/main/resources/mapper/base/BaseClassCourse.xml

@@ -94,6 +94,7 @@
         left join textbook t1 on t1.id = t3.textbook_id
         left join base_course_subject t2 on t3.course_id = t2.id
         where t.delete_mark = 0
+          and t3.delete_mark = 0
         <if test="classIds != null">
             AND t.id in
             <foreach item="classIds" collection="classIds" open="(" separator="," close=")">