Browse Source

/textbook/wfTextbookClaim/info-distribute 教材发放页详情
/textbook/wfTextbookClaim/page 教材申领列表

phoenix 1 year ago
parent
commit
083b90b7a7

+ 21 - 0
src/main/java/com/xjrsoft/module/textbook/controller/WfTextbookClaimController.java

@@ -61,6 +61,17 @@ public class WfTextbookClaimController {
         return RT.ok(BeanUtil.toBean(wfTextbookClaim, WfTextbookClaimVo.class));
     }
 
+    @GetMapping(value = "/info-distribute")
+    @ApiOperation(value="教材发放页详情")
+    @SaCheckPermission("wftextbookclaim:detail")
+    public RT<WfTextbookClaimVo> infoDistribute(@RequestParam Long id){
+        WfTextbookClaimVo wfTextbookClaimVo = wfTextbookClaimService.infoDistribute(id);
+        if (wfTextbookClaimVo == null) {
+            return RT.error("找不到此数据!");
+        }
+        return RT.ok(BeanUtil.toBean(wfTextbookClaimVo, WfTextbookClaimVo.class));
+    }
+
 
     @PostMapping
     @ApiOperation(value = "新增教材申领")
@@ -71,6 +82,16 @@ public class WfTextbookClaimController {
     return RT.ok(isSuccess);
     }
 
+    @PutMapping("/confirm-istribute")
+    @ApiOperation(value = "确认发放")
+    @SaCheckPermission("wftextbookclaim:edit")
+    public RT<Boolean> confirmDistribute(@Valid @RequestBody UpdateWfTextbookClaimDto dto){
+
+        WfTextbookClaim wfTextbookClaim = BeanUtil.toBean(dto, WfTextbookClaim.class);
+        return RT.ok(wfTextbookClaimService.update(wfTextbookClaim));
+
+    }
+
     @PutMapping
     @ApiOperation(value = "修改教材申领")
     @SaCheckPermission("wftextbookclaim:edit")

+ 2 - 9
src/main/java/com/xjrsoft/module/textbook/dto/UpdateWfTextbookClaimDto.java

@@ -2,15 +2,6 @@ package com.xjrsoft.module.textbook.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import java.io.Serializable;
-
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import java.util.List;
-import java.util.Date;
-import com.xjrsoft.module.textbook.entity.WfTextbookClaimItem;
 
 
 
@@ -30,4 +21,6 @@ public class UpdateWfTextbookClaimDto extends AddWfTextbookClaimDto {
     */
     @ApiModelProperty("主键编号")
     private Long id;
+
+
 }

+ 3 - 0
src/main/java/com/xjrsoft/module/textbook/mapper/WfTextbookClaimMapper.java

@@ -5,6 +5,7 @@ import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.textbook.dto.WfTextbookClaimPageDto;
 import com.xjrsoft.module.textbook.entity.WfTextbookClaim;
 import com.xjrsoft.module.textbook.vo.WfTextbookClaimPageVo;
+import com.xjrsoft.module.textbook.vo.WfTextbookClaimVo;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -16,4 +17,6 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface WfTextbookClaimMapper extends MPJBaseMapper<WfTextbookClaim> {
     IPage<WfTextbookClaimPageVo> getPage(IPage<WfTextbookClaimPageDto> page, WfTextbookClaimPageDto dt0);
+
+    WfTextbookClaimVo infoDistribute(Long id);
 }

+ 13 - 0
src/main/java/com/xjrsoft/module/textbook/service/IWfTextbookClaimService.java

@@ -5,6 +5,7 @@ import com.github.yulichang.base.MPJBaseService;
 import com.xjrsoft.module.textbook.dto.WfTextbookClaimPageDto;
 import com.xjrsoft.module.textbook.entity.WfTextbookClaim;
 import com.xjrsoft.module.textbook.vo.WfTextbookClaimPageVo;
+import com.xjrsoft.module.textbook.vo.WfTextbookClaimVo;
 
 import java.util.List;
 
@@ -40,6 +41,18 @@ public interface IWfTextbookClaimService extends MPJBaseService<WfTextbookClaim>
     */
     Boolean delete(List<Long> ids);
 
+    /**
+     * 教材申领列表(分页)
+     * @param dto
+     * @return
+     */
     IPage<WfTextbookClaimPageVo> getPage(WfTextbookClaimPageDto dto);
 
+    /**
+     * 教材发放页详情
+     * @param id
+     * @return
+     */
+    WfTextbookClaimVo infoDistribute(Long id);
+
 }

+ 11 - 9
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookServiceImpl.java

@@ -200,23 +200,25 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
                     textbookTextbookMapper.insert(textbook);
                     if (ObjectUtil.isNotNull(wfTextbookSubscriptionItem.getClassIds()) && !wfTextbookSubscriptionItem.getClassIds().equals("")) {
                         String classIds = wfTextbookSubscriptionItem.getClassIds();
-                        //查询年级
-                        LambdaQueryWrapper<BaseClass> queryWrapper1 = new LambdaQueryWrapper<>();
-                        queryWrapper1
-                                .in(BaseClass::getId, classIds)
-                                .groupBy(BaseClass::getGradeId);
-                        List<BaseClass> baseClassList = baseClassService.list(queryWrapper1);
-                        if (ObjectUtil.isNotNull(baseClassList) && baseClassList.size() == 1) {
-                            textbook.setGradeId(baseClassList.get(0).getGradeId());
-                        }
                         String[] classIdStrs = classIds.split(",");
+                        List<Long> classIdList = new ArrayList<>();
                         for (String classIdStr : classIdStrs) {
                             Long classId = Long.parseLong(classIdStr);
+                            classIdList.add(classId);
                             TextbookClassRelation textbookClassRelation = new TextbookClassRelation();
                             textbookClassRelation.setTextbookId(textbook.getId());
                             textbookClassRelation.setClassId(classId);
                             textbookTextbookClassRelationMapper.insert(textbookClassRelation);
                         }
+                        //查询年级
+                        LambdaQueryWrapper<BaseClass> queryWrapper1 = new LambdaQueryWrapper<>();
+                        queryWrapper1
+                                .in(BaseClass::getId, classIdList)
+                                .groupBy(BaseClass::getGradeId);
+                        List<BaseClass> baseClassList = baseClassService.list(queryWrapper1);
+                        if (ObjectUtil.isNotNull(baseClassList) && baseClassList.size() == 1) {
+                            textbook.setGradeId(baseClassList.get(0).getGradeId());
+                        }
                     }
                     TextbookSubscriptionRecord textbookSubscriptionRecord = new TextbookSubscriptionRecord();
                     textbookSubscriptionRecord.setWfTextbookSubscriptionId(textbook.getId());

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

@@ -16,10 +16,12 @@ import com.xjrsoft.module.textbook.mapper.WfTextbookClaimMapper;
 import com.xjrsoft.module.textbook.service.IWfTextbookClaimService;
 import com.xjrsoft.module.textbook.vo.WfTextbookClaimItemVo;
 import com.xjrsoft.module.textbook.vo.WfTextbookClaimPageVo;
+import com.xjrsoft.module.textbook.vo.WfTextbookClaimVo;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 import java.util.stream.Collectors;
@@ -100,25 +102,29 @@ public class WfTextbookClaimServiceImpl extends MPJBaseServiceImpl<WfTextbookCla
     @Override
     public IPage<WfTextbookClaimPageVo> getPage(WfTextbookClaimPageDto dto) {
         IPage<WfTextbookClaimPageVo> page = wfTextbookClaimWfTextbookClaimMapper.getPage(ConventPage.getPage(dto),dto);
-        //拆分代领人
+
         for (WfTextbookClaimPageVo wfTextbookClaimPageVo : page.getRecords()) {
+            //拆分代领人
             String receiveUserIdStr = wfTextbookClaimPageVo.getReceiveUserId();
             if(ObjectUtil.isNotNull(receiveUserIdStr) && !receiveUserIdStr.equals("")){
+                String[] receiveUserIdStrs = receiveUserIdStr.split(",");
+                List<Long> receiveUserIdList = new ArrayList<>();
+                for (String str : receiveUserIdStrs) {
+                    receiveUserIdList.add(Long.parseLong(str));
+                }
                 LambdaQueryWrapper<XjrUser> queryWrapper = new LambdaQueryWrapper<>();
                 queryWrapper
-                        .eq(XjrUser::getId,receiveUserIdStr);
+                        .in(XjrUser::getId,receiveUserIdStr);
                 List<XjrUser> xjrUserList = xjrUserMapper.selectList(queryWrapper);
                 if (ObjectUtil.isNotNull(xjrUserList) && xjrUserList.size() > 0){
                     StringBuilder sb = new StringBuilder();
                     for (XjrUser xjrUser : xjrUserList) {
-                        sb.append(xjrUser.getName());
+                        sb.append(","+xjrUser.getName());
                     }
                     wfTextbookClaimPageVo.setReceiveUserIdCN(sb.toString());
                 }
             }
-        }
-        //加上申领项
-        for (WfTextbookClaimPageVo wfTextbookClaimPageVo : page.getRecords()) {
+            //加上申领项
             List<WfTextbookClaimItemVo> wfTextbookClaimItemVoList = wfTextbookClaimWfTextbookClaimItemMapper.getListByWfTextbookClaimId(Long.parseLong(wfTextbookClaimPageVo.getId()));
 
             if(ObjectUtil.isNotNull(wfTextbookClaimItemVoList) && wfTextbookClaimItemVoList.size() > 0){
@@ -127,4 +133,38 @@ public class WfTextbookClaimServiceImpl extends MPJBaseServiceImpl<WfTextbookCla
         }
         return page;
     }
+
+    @Override
+    public WfTextbookClaimVo infoDistribute(Long id) {
+        WfTextbookClaimVo wfTextbookClaimVo = wfTextbookClaimWfTextbookClaimMapper.infoDistribute(id);
+        if(ObjectUtil.isNotNull(wfTextbookClaimVo)){
+            //拆分代领人
+            String receiveUserIdStr = wfTextbookClaimVo.getReceiveUserId();
+            if(ObjectUtil.isNotNull(receiveUserIdStr) && !receiveUserIdStr.equals("")){
+                String[] receiveUserIdStrs = receiveUserIdStr.split(",");
+                List<Long> receiveUserIdList = new ArrayList<>();
+                for (String str : receiveUserIdStrs) {
+                    receiveUserIdList.add(Long.parseLong(str));
+                }
+                LambdaQueryWrapper<XjrUser> queryWrapper = new LambdaQueryWrapper<>();
+                queryWrapper
+                        .in(XjrUser::getId,receiveUserIdList);
+                List<XjrUser> xjrUserList = xjrUserMapper.selectList(queryWrapper);
+                if (ObjectUtil.isNotNull(xjrUserList) && xjrUserList.size() > 0){
+                    StringBuilder sb = new StringBuilder();
+                    for (XjrUser xjrUser : xjrUserList) {
+                        sb.append(","+xjrUser.getName());
+                    }
+                    wfTextbookClaimVo.setReceiveUserIdCN(sb.toString());
+                }
+            }
+            //加上申领项
+            List<WfTextbookClaimItemVo> wfTextbookClaimItemVoList = wfTextbookClaimWfTextbookClaimItemMapper.getListByWfTextbookClaimId(Long.parseLong(wfTextbookClaimVo.getId()));
+
+            if(ObjectUtil.isNotNull(wfTextbookClaimItemVoList) && wfTextbookClaimItemVoList.size() > 0){
+                wfTextbookClaimVo.setWfTextbookClaimItemList(wfTextbookClaimItemVoList);
+            }
+        }
+        return wfTextbookClaimVo;
+    }
 }

+ 58 - 28
src/main/java/com/xjrsoft/module/textbook/vo/WfTextbookClaimVo.java

@@ -3,12 +3,7 @@ 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;
-import com.xjrsoft.module.textbook.entity.WfTextbookClaimItem;
 
 /**
 * @title: 教材申领表单出参
@@ -20,58 +15,93 @@ import com.xjrsoft.module.textbook.entity.WfTextbookClaimItem;
 public class WfTextbookClaimVo {
 
     /**
-    * 主键编号
-    */
+     * 主键编号
+     */
     @ApiModelProperty("主键编号")
-    private Long id;
+    private String id;
     /**
-    * 序号
-    */
+     * 序号
+     */
     @ApiModelProperty("序号")
     private Integer sortCode;
     /**
-    * 申请人
-    */
+     * 申请人
+     */
     @ApiModelProperty("申请人")
     private Long applicantUserId;
     /**
-    * 班级编号
-    */
+     * 申请人
+     */
+    @ApiModelProperty("申请人")
+    private String applicantUserIdCN;
+    /**
+     * 班级编号
+     */
     @ApiModelProperty("班级编号")
     private Long classId;
     /**
-    * 学期ID(base_semester)
-    */
+     * 班级编号
+     */
+    @ApiModelProperty("班级编号")
+    private String classIdCN;
+    /**
+     * 学期ID(base_semester)
+     */
     @ApiModelProperty("学期ID(base_semester)")
     private Long baseSemesterId;
     /**
-    * 学生编号
-    */
+     * 学期ID(base_semester)
+     */
+    @ApiModelProperty("学期ID(base_semester)")
+    private String baseSemesterIdCN;
+    /**
+     * 学生编号
+     */
     @ApiModelProperty("学生编号")
     private Long studentUserId;
     /**
-    * 领取地点
-    */
+     * 学生编号
+     */
+    @ApiModelProperty("学生编号")
+    private String studentUserIdCN;
+    /**
+     * 领取地点
+     */
     @ApiModelProperty("领取地点")
     private String claimAddress;
     /**
-    * 申领类型(xjr_dictionary_item[claim_type])
-    */
+     * 申领类型(xjr_dictionary_item[claim_type])
+     */
     @ApiModelProperty("申领类型(xjr_dictionary_item[claim_type])")
     private String claimType;
     /**
-    * 代领取人
-    */
+     * 申领类型(xjr_dictionary_item[claim_type])
+     */
+    @ApiModelProperty("申领类型(xjr_dictionary_item[claim_type])")
+    private String claimTypeCN;
+    /**
+     * 代领取人
+     */
     @ApiModelProperty("代领取人")
     private String receiveUserId;
     /**
-    * 领取用户编号(申请人帮领取人申请去领取)
-    */
+     * 代领取人
+     */
+    @ApiModelProperty("代领取人")
+    private String receiveUserIdCN;
+    /**
+     * 领取用户编号(申请人帮领取人申请去领取)
+     */
     @ApiModelProperty("领取用户编号(申请人帮领取人申请去领取)")
     private Long claimUserId;
     /**
-    * 状态(1:结束 0:未结束)
-    */
+     * 领取用户编号(申请人帮领取人申请去领取)
+     */
+    @ApiModelProperty("领取用户编号(申请人帮领取人申请去领取)")
+    private String claimUserIdCN;
+    /**
+     * 状态(1:结束 0:未结束)
+     */
     @ApiModelProperty("状态(1:结束 0:未结束)")
     private Integer status;
 

+ 1 - 1
src/main/resources/mapper/textbook/WfTextbookClaimItemMapper.xml

@@ -10,7 +10,7 @@
             t1.book_name as textbookIdCN
         FROM wf_textbook_claim_item t
                  LEFT JOIN textbook t1 ON (t1.id = t.textbook_id)
-        WHERE t.delete_mark = 0
+        WHERE t.delete_mark = 0 and t.wf_textbook_claim_id = #{id}
         order by t.id;
     </select>
 </mapper>

+ 21 - 0
src/main/resources/mapper/textbook/WfTextbookClaimMapper.xml

@@ -23,4 +23,25 @@
         WHERE t.delete_mark = 0
         order by t.id;
     </select>
+
+    <select id="infoDistribute" parameterType="java.lang.Long"
+            resultType="com.xjrsoft.module.textbook.vo.WfTextbookClaimVo">
+        SELECT
+            t.*,
+            t1.name as applicantUserIdCN,
+            t2.name as classIdCN,
+            t3.name as baseSemesterIdCN,
+            t4.name as studentUserIdCN,
+            t5.name as claimTypeCN,
+            t6.name as claimUserIdCN
+        FROM wf_textbook_claim t
+                 LEFT JOIN xjr_user t1 ON (t1.id = t.applicant_user_id)
+                 LEFT JOIN base_class t2 ON (t2.id = t.class_id)
+                 LEFT JOIN base_semester t3 ON (t3.id = t.base_semester_id)
+                 LEFT JOIN xjr_user t4 ON (t4.id = t.student_user_id)
+                 LEFT JOIN xjr_dictionary_detail t5 ON (t5.code = t.claim_type)
+                 LEFT JOIN xjr_user t6 ON (t6.id = t.claim_user_id)
+        WHERE t.delete_mark = 0 and t.id = #{id}
+        order by t.id;
+    </select>
 </mapper>