Browse Source

Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	src/main/java/com/xjrsoft/module/textbook/service/ITextbookService.java
#	src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookServiceImpl.java
phoenix 1 năm trước cách đây
mục cha
commit
29b7ca86ce

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

@@ -14,6 +14,8 @@ import com.xjrsoft.module.textbook.dto.TextbookPageDto;
 import com.xjrsoft.module.textbook.dto.UpdateTextbookDto;
 import com.xjrsoft.module.textbook.entity.Textbook;
 import com.xjrsoft.module.textbook.service.ITextbookService;
+import com.xjrsoft.module.textbook.vo.TextbookClassWarehouseListVo;
+import com.xjrsoft.module.textbook.vo.TextbookIssueRecordListVo;
 import com.xjrsoft.module.textbook.vo.TextbookPageVo;
 import com.xjrsoft.module.textbook.vo.TextbookSubscriptionRecordVo;
 import com.xjrsoft.module.textbook.vo.TextbookVo;
@@ -60,6 +62,7 @@ public class TextbookController {
         if (textbook == null) {
            return RT.error("找不到此数据!");
         }
+        textbook.setTextbookClassRelationList(textbookService.getClassRelation(textbook.getId()));
         return RT.ok(BeanUtil.toBean(textbook, TextbookVo.class));
     }
 
@@ -75,7 +78,7 @@ public class TextbookController {
     }
 
     @GetMapping(value = "/info-subscription-list")
-    @ApiOperation(value="查看详情信息-征订记录")
+    @ApiOperation(value="教材管理-详情-征订记录")
     @SaCheckPermission("textbook:detail")
     public RT<List<TextbookSubscriptionRecordVo>> subscriptionList(@RequestParam Long id){
         List<TextbookSubscriptionRecordVo> result = textbookService.subscriptionList(id);
@@ -85,6 +88,28 @@ public class TextbookController {
         return RT.ok(result);
     }
 
+    @GetMapping(value = "/info-warehouse-list")
+    @ApiOperation(value="教材管理-详情-入库记录")
+    @SaCheckPermission("textbook:detail")
+    public RT<List<TextbookClassWarehouseListVo>> warehouseList(@RequestParam Long id){
+        List<TextbookClassWarehouseListVo> result = textbookService.warehouseList(id);
+        if (result == null) {
+            return RT.error("找不到此数据!");
+        }
+        return RT.ok(result);
+    }
+
+    @GetMapping(value = "/info-issue-list")
+    @ApiOperation(value="教材管理-详情-出库记录")
+    @SaCheckPermission("textbook:detail")
+    public RT<List<TextbookIssueRecordListVo>> issueList(@RequestParam Long id){
+        List<TextbookIssueRecordListVo> result = textbookService.issueList(id);
+        if (result == null) {
+            return RT.error("找不到此数据!");
+        }
+        return RT.ok(result);
+    }
+
 
     @PostMapping
     @ApiOperation(value = "新增教材管理")

+ 10 - 4
src/main/java/com/xjrsoft/module/textbook/dto/TextbookPageDto.java

@@ -23,15 +23,21 @@ import java.util.Date;
 public class TextbookPageDto extends PageInput {
 
     @ApiModelProperty("教材类型")
-    public String textbook_type;
+    public String textbookType;
 
     @ApiModelProperty("学期id")
-    public Long base_semester_id;
+    public Long baseSemesterId;
 
     @ApiModelProperty("学科id")
-    public Long subject_group_id;
+    public Long subjectGroupId;
 
     @ApiModelProperty("课程id")
-    public Long course_subject_id;
+    public Long courseSubjectId;
+
+    @ApiModelProperty("书名")
+    public String bookName;
+
+    @ApiModelProperty("书号")
+    public String isTextbookPlan;
 
 }

+ 21 - 1
src/main/java/com/xjrsoft/module/textbook/mapper/TextbookMapper.java

@@ -4,6 +4,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.textbook.dto.TextbookPageDto;
 import com.xjrsoft.module.textbook.entity.Textbook;
+import com.xjrsoft.module.textbook.entity.TextbookClassRelation;
+import com.xjrsoft.module.textbook.vo.TextbookClassWarehouseListVo;
+import com.xjrsoft.module.textbook.vo.TextbookClassWarehouseVo;
+import com.xjrsoft.module.textbook.vo.TextbookIssueRecordListVo;
 import com.xjrsoft.module.textbook.vo.TextbookPageVo;
 import com.xjrsoft.module.textbook.vo.TextbookSubscriptionClassVo;
 import com.xjrsoft.module.textbook.vo.TextbookSubscriptionRecordVo;
@@ -47,10 +51,26 @@ public interface TextbookMapper extends MPJBaseMapper<Textbook> {
     List<TextbookSubscriptionClassVo> getClassInfo(List<String> ids);
     /**
      * 根据书号查询最新一条信息
-     * @param isnn
+     * @param issn
      * @return
      */
     TextbookVo getInfoByissn(String issn);
 
+    /**
+     * 入库记录
+     * @param id
+     * @return
+     */
+    List<TextbookClassWarehouseListVo> warehouseList(Long id);
+
+
+    List<TextbookClassRelation> getClassRelation(Long id);
+
+    /**
+     * 入库记录
+     * @param id
+     * @return
+     */
+    List<TextbookIssueRecordListVo> issueList(Long id);
 
 }

+ 21 - 0
src/main/java/com/xjrsoft/module/textbook/service/ITextbookService.java

@@ -5,7 +5,12 @@ import com.github.yulichang.base.MPJBaseService;
 import com.xjrsoft.module.textbook.dto.AddTextbookClassWarehouseDto;
 import com.xjrsoft.module.textbook.dto.TextbookPageDto;
 import com.xjrsoft.module.textbook.entity.Textbook;
+import com.xjrsoft.module.textbook.entity.TextbookClassRelation;
+import com.xjrsoft.module.textbook.vo.TextbookClassWarehouseListVo;
+import com.xjrsoft.module.textbook.vo.TextbookClassWarehouseVo;
+import com.xjrsoft.module.textbook.vo.TextbookIssueRecordListVo;
 import com.xjrsoft.module.textbook.vo.TextbookPageVo;
+import com.xjrsoft.module.textbook.vo.TextbookSubscriptionClassVo;
 import com.xjrsoft.module.textbook.vo.TextbookSubscriptionRecordVo;
 import com.xjrsoft.module.textbook.vo.TextbookVo;
 
@@ -74,4 +79,20 @@ public interface ITextbookService extends MPJBaseService<Textbook> {
      */
     Boolean deliverWarehouse(AddTextbookClassWarehouseDto dto);
 
+    /**
+     * 入库记录
+     * @param id
+     * @return
+     */
+    List<TextbookClassWarehouseListVo> warehouseList(Long id);
+
+
+    List<TextbookClassRelation> getClassRelation(Long id);
+
+    /**
+     * 入库记录
+     * @param id
+     * @return
+     */
+    List<TextbookIssueRecordListVo> issueList(Long id);
 }

+ 59 - 4
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookServiceImpl.java

@@ -12,13 +12,19 @@ import com.xjrsoft.module.base.entity.BaseClass;
 import com.xjrsoft.module.base.service.IBaseClassService;
 import com.xjrsoft.module.textbook.dto.AddTextbookClassWarehouseDto;
 import com.xjrsoft.module.textbook.dto.TextbookPageDto;
-import com.xjrsoft.module.textbook.entity.*;
+import com.xjrsoft.module.textbook.entity.Textbook;
+import com.xjrsoft.module.textbook.entity.TextbookClassRelation;
+import com.xjrsoft.module.textbook.entity.TextbookSubscriptionRecord;
+import com.xjrsoft.module.textbook.entity.WfTextbookSubscription;
+import com.xjrsoft.module.textbook.entity.WfTextbookSubscriptionItem;
 import com.xjrsoft.module.textbook.mapper.TextbookClassRelationMapper;
 import com.xjrsoft.module.textbook.mapper.TextbookMapper;
 import com.xjrsoft.module.textbook.mapper.TextbookSubscriptionRecordMapper;
 import com.xjrsoft.module.textbook.service.ITextbookClassWarehouseService;
 import com.xjrsoft.module.textbook.service.ITextbookService;
 import com.xjrsoft.module.textbook.service.IWfTextbookSubscriptionService;
+import com.xjrsoft.module.textbook.vo.TextbookClassWarehouseListVo;
+import com.xjrsoft.module.textbook.vo.TextbookIssueRecordListVo;
 import com.xjrsoft.module.textbook.vo.TextbookPageVo;
 import com.xjrsoft.module.textbook.vo.TextbookSubscriptionClassVo;
 import com.xjrsoft.module.textbook.vo.TextbookSubscriptionRecordVo;
@@ -111,10 +117,27 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
             List<TextbookSubscriptionRecord> textbookSubscriptionRecordList = textbookTextbookSubscriptionRecordMapper.selectList(Wrappers.lambdaQuery(TextbookSubscriptionRecord.class).eq(TextbookSubscriptionRecord::getWfTextbookSubscriptionId, textbook.getId()).select(TextbookSubscriptionRecord::getId));
             List<Long> textbookSubscriptionRecordIds = textbookSubscriptionRecordList.stream().map(TextbookSubscriptionRecord::getId).collect(Collectors.toList());
             //原有子表单 没有被删除的主键
-            List<Long> textbookSubscriptionRecordOldIds = textbook.getTextbookSubscriptionRecordList().stream().map(TextbookSubscriptionRecord::getId).filter(Objects::nonNull).collect(Collectors.toList());
-            //找到需要删除的id
-            List<Long> textbookSubscriptionRecordRemoveIds = textbookSubscriptionRecordIds.stream().filter(item -> !textbookSubscriptionRecordOldIds.contains(item)).collect(Collectors.toList());
+            if(!textbookSubscriptionRecordIds.isEmpty()){
+                List<Long> textbookSubscriptionRecordOldIds = textbook.getTextbookSubscriptionRecordList().stream().map(TextbookSubscriptionRecord::getId).filter(Objects::nonNull).collect(Collectors.toList());
+                //找到需要删除的id
+                List<Long> textbookSubscriptionRecordRemoveIds = textbookSubscriptionRecordIds.stream().filter(item -> !textbookSubscriptionRecordOldIds.contains(item)).collect(Collectors.toList());
 
+                for (TextbookSubscriptionRecord textbookSubscriptionRecord : textbook.getTextbookSubscriptionRecordList()) {
+                    //如果不等于空则修改
+                    if (textbookSubscriptionRecord.getId() != null) {
+                        textbookTextbookSubscriptionRecordMapper.updateById(textbookSubscriptionRecord);
+                    }
+                    //如果等于空 则新增
+                    else {
+                        //已经不存在的id 删除
+                        textbookSubscriptionRecord.setWfTextbookSubscriptionId(textbook.getId());
+                        textbookTextbookSubscriptionRecordMapper.insert(textbookSubscriptionRecord);
+                    }
+                }
+                //已经不存在的id 删除
+                if(textbookSubscriptionRecordRemoveIds.size() > 0){
+                    textbookTextbookSubscriptionRecordMapper.deleteBatchIds(textbookSubscriptionRecordRemoveIds);
+                }
             for (TextbookSubscriptionRecord textbookSubscriptionRecord : textbook.getTextbookSubscriptionRecordList()) {
                 //如果不等于空则修改
                 if (textbookSubscriptionRecord.getId() != null) {
@@ -131,6 +154,11 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
             if (textbookSubscriptionRecordRemoveIds.size() > 0) {
                 textbookTextbookSubscriptionRecordMapper.deleteBatchIds(textbookSubscriptionRecordRemoveIds);
             }
+
+
+
+
+
         }
         //********************************* TextbookSubscriptionRecord  增删改  结束 *******************************************/
 
@@ -242,6 +270,33 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
         return textbookTextbookMapper.getInfoByissn(issn);
     }
 
+    @Override
+    public List<TextbookClassWarehouseListVo> warehouseList(Long id) {
+        List<TextbookClassWarehouseListVo> result = textbookTextbookMapper.warehouseList(id);
+        if(!result.isEmpty()){
+            return result;
+        }
+        return new ArrayList<>();
+    }
+
+    @Override
+    public List<TextbookClassRelation> getClassRelation(Long id) {
+        List<TextbookClassRelation> classRelation = textbookTextbookMapper.getClassRelation(id);
+        if(!classRelation.isEmpty()){
+            return classRelation;
+        }
+        return new ArrayList<>();
+    }
+
+    @Override
+    public List<TextbookIssueRecordListVo> issueList(Long id) {
+        List<TextbookIssueRecordListVo> result = textbookTextbookMapper.issueList(id);
+        if(!result.isEmpty()){
+            return result;
+        }
+        return new ArrayList<>();
+    }
+
     @Override
     @Transactional
     public Boolean deliverWarehouse(AddTextbookClassWarehouseDto dto) {

+ 41 - 0
src/main/java/com/xjrsoft/module/textbook/vo/TextbookClassWarehouseListVo.java

@@ -0,0 +1,41 @@
+package com.xjrsoft.module.textbook.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+* @title: 教材入库表单出参
+* @Author dzx
+* @Date: 2023-12-26
+* @Version 1.0
+*/
+@Data
+public class TextbookClassWarehouseListVo {
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("入库时间")
+    private Date warehouseDate;
+    /**
+    * 序号
+    */
+    @ApiModelProperty("入库人员")
+    private String warehouseUser;
+    /**
+    * 入库数量
+    */
+    @ApiModelProperty("入库数量")
+    private Integer warehouseNumber;
+    /**
+    * 来源
+    */
+    @ApiModelProperty("来源")
+    private String source;
+
+
+
+}

+ 40 - 0
src/main/java/com/xjrsoft/module/textbook/vo/TextbookIssueRecordListVo.java

@@ -0,0 +1,40 @@
+package com.xjrsoft.module.textbook.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+* @title: 教材入库表单出参
+* @Author dzx
+* @Date: 2023-12-26
+* @Version 1.0
+*/
+@Data
+public class TextbookIssueRecordListVo {
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("入库时间")
+    private Date warehouseDate;
+    /**
+    * 序号
+    */
+    @ApiModelProperty("入库人员")
+    private String warehouseUser;
+    /**
+    * 入库数量
+    */
+    @ApiModelProperty("入库数量")
+    private Integer warehouseNumber;
+    /**
+    * 来源
+    */
+    @ApiModelProperty("来源")
+    private String source;
+
+
+
+}

+ 6 - 0
src/main/java/com/xjrsoft/module/textbook/vo/TextbookVo.java

@@ -111,4 +111,10 @@ public class TextbookVo {
      */
     @ApiModelProperty("入学年级(base_grade)")
     private Long gradeId;
+
+    /**
+     * 入学年级(base_grade)
+     */
+    @ApiModelProperty("textbookClassRelation子表")
+    private List<TextbookClassRelationVo> textbookClassRelationList;
 }

+ 31 - 2
src/main/resources/mapper/textbook/TextbookMapper.xml

@@ -18,6 +18,24 @@
         LEFT JOIN base_grade t6 ON t1.grade_id = t6.id
         LEFT JOIN xjr_dictionary_detail t7 ON t1.is_textbook_plan = t7.code AND t7.item_id = 1737360269850038273
         WHERE t1.delete_mark = 0
+        <if test="dto.textbookType != null and dto.textbookType != ''">
+            and t1.textbook_type = #{dto.textbookType}
+        </if>
+        <if test="dto.baseSemesterId != null">
+            and t1.base_semester_id = #{dto.baseSemesterId}
+        </if>
+        <if test="dto.subjectGroupId != null">
+            and t1.subject_group_id = #{dto.subjectGroupId}
+        </if>
+        <if test="dto.courseSubjectId != null">
+            and t1.course_subject_id = #{dto.courseSubjectId}
+        </if>
+        <if test="dto.bookName != null and dto.bookName != ''">
+            and t1.book_name like concat('%',#{dto.bookName}, '%')
+        </if>
+        <if test="dto.isTextbookPlan != null and dto.isTextbookPlan != ''">
+            and t1.is_textbook_plan = #{dto.isTextbookPlan}
+        </if>
     </select>
 
     <select id="subscriptionList" resultType="com.xjrsoft.module.textbook.vo.TextbookSubscriptionRecordVo">
@@ -44,7 +62,18 @@
     <select id="getInfoByissn" resultType="com.xjrsoft.module.textbook.vo.TextbookVo">
         SELECT * FROM textbook WHERE delete_mark = 0 AND issn = #{issn} order by create_date desc limit 0,1
     </select>
-    <select id="isnnExist" resultType="java.lang.Integer">
-
+    <select id="warehouseList" resultType="com.xjrsoft.module.textbook.vo.TextbookClassWarehouseListVo">
+        SELECT t1.create_date AS warehouse_date,t2.name AS warehouse_user,t1.warehouse_number,t1.source FROM textbook_class_warehouse t1
+        LEFT JOIN xjr_user t2 ON t1.create_user_id = t2.id
+        WHERE t1.delete_mark = 0 AND t1.textbook_id = #{id} order by t1.sort_code
+    </select>
+    <select id="issueList" resultType="com.xjrsoft.module.textbook.vo.TextbookIssueRecordListVo">
+        SELECT t1.create_date AS issue_date,t2.name AS issue_user,t1.issue_number FROM textbook_issue_record t1
+        LEFT JOIN xjr_user t2 ON t1.create_user_id = t2.id
+        LEFT JOIN wf_textbook_claim_item t3 ON t1.wf_textbook_claim_item_id = t3.id
+        WHERE t1.delete_mark = 0 AND t3.textbook_id = #{id} ORDER BY t1.sort_code;
+    </select>
+    <select id="getClassRelation" resultType="com.xjrsoft.module.textbook.entity.TextbookClassRelation">
+        SELECT * FROM textbook_class_relation WHERE delete_mark = 0 AND textbook_id = #{id}
     </select>
 </mapper>