Bladeren bron

出库记录导出时间格式变成字符串
教材管理详情领取记录

phoenix 1 jaar geleden
bovenliggende
commit
7b5eac703a

+ 9 - 8
src/main/java/com/xjrsoft/module/textbook/controller/TextbookIssueRecordController.java

@@ -19,17 +19,11 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.io.ByteArrayOutputStream;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -101,6 +95,13 @@ public class TextbookIssueRecordController {
     @ApiOperation(value = "导出")
     public ResponseEntity<byte[]> exportData(@Valid TextbookIssueRecordPageDto dto, @RequestParam(defaultValue = "false") Boolean isTemplate) {
         List<TextbookIssueRecordPageVo> customerList = isTemplate != null && isTemplate ? new ArrayList<>() : ((PageOutput<TextbookIssueRecordPageVo>) page(dto).getData()).getList();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
+        for (TextbookIssueRecordPageVo textbookIssueRecordPageVo : customerList) {
+            if(textbookIssueRecordPageVo.getCreateDate() == null){
+                continue;
+            }
+            textbookIssueRecordPageVo.setCreateDateStr(sdf.format(textbookIssueRecordPageVo.getCreateDate()));
+        }
         ByteArrayOutputStream bot = new ByteArrayOutputStream();
         EasyExcel.write(bot, TextbookIssueRecordPageVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(customerList);
 

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

@@ -2,16 +2,10 @@ package com.xjrsoft.module.textbook.mapper;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseMapper;
-import com.xjrsoft.module.textbook.vo.TextbookPageVo;
-import com.xjrsoft.module.textbook.vo.TextbookSubscriptionRecordVo;
-import com.xjrsoft.module.textbook.vo.TextbookVo;
-import com.xjrsoft.module.textbook.vo.WfTextbookClaimListVo;
 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.TextbookWarehouseRecordListVo;
-import com.xjrsoft.module.textbook.vo.TextbookIssueRecordListVo;
-import com.xjrsoft.module.textbook.vo.TextbookSubscriptionClassVo;
+import com.xjrsoft.module.textbook.vo.*;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
@@ -81,11 +75,4 @@ public interface TextbookMapper extends MPJBaseMapper<Textbook> {
      */
     List<TextbookIssueRecordListVo> issueList(Long id);
 
-    /**
-     * 领取记录
-     * @param id
-     * @return
-     */
-    List<WfTextbookClaimListVo> claimList(Long id);
-
 }

+ 50 - 7
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookServiceImpl.java

@@ -8,19 +8,20 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.xjrsoft.common.enums.ExerciseBookeTypeEnum;
 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.entity.BaseSemester;
 import com.xjrsoft.module.base.service.IBaseClassService;
+import com.xjrsoft.module.teacher.entity.XjrUser;
 import com.xjrsoft.module.textbook.dto.AddTextbookWarehouseRecordDto;
 import com.xjrsoft.module.textbook.dto.TextbookPageDto;
 import com.xjrsoft.module.textbook.entity.*;
-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.mapper.*;
 import com.xjrsoft.module.textbook.service.ITextbookService;
 import com.xjrsoft.module.textbook.service.ITextbookWarehouseRecordService;
 import com.xjrsoft.module.textbook.service.IWfExerciseBookService;
@@ -59,6 +60,10 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
 
     private final ITextbookWarehouseRecordService textbookClassWarehouseService;
 
+    private final TextbookIssueRecordMapper textbookIssueRecordMapper;
+
+    private final TextbookStudentClaimMapper textbookStudentClaimMapper;
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -476,11 +481,49 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
 
     @Override
     public List<WfTextbookClaimListVo> claimList(Long id) {
-        List<WfTextbookClaimListVo> result = textbookTextbookMapper.claimList(id);
-        if (!result.isEmpty()) {
-            return result;
+        List<WfTextbookClaimListVo> result = new ArrayList<>();
+        //教材领取分为两种
+        //教师领取
+        MPJLambdaWrapper<TextbookIssueRecord> queryIssueRecord = new MPJLambdaWrapper<>();
+        queryIssueRecord
+                .eq(TextbookIssueRecord::getTextbookId, id)
+                .eq(TextbookIssueRecord::getIssueMode, "im_teacher");
+        List<TextbookIssueRecord> textbookIssueRecordList =  textbookIssueRecordMapper.selectJoinList(TextbookIssueRecord.class, queryIssueRecord);
+        for(TextbookIssueRecord t : textbookIssueRecordList){
+            MPJLambdaWrapper<TextbookIssueRecord> queryTeaClaimVo = new MPJLambdaWrapper<>();
+            queryTeaClaimVo
+                    .selectAs(BaseSemester::getName, WfTextbookClaimListVo::getSemesterName)
+                    .selectAs(XjrUser::getName, WfTextbookClaimListVo::getName)
+                    .selectAs(XjrUser::getUserName, WfTextbookClaimListVo::getUserName)
+                    .selectAs(TextbookIssueRecord::getCreateDate, WfTextbookClaimListVo::getClaimDate)
+                    .leftJoin(XjrUser.class, XjrUser::getId, TextbookIssueRecord::getReceiveUserId)
+                    .leftJoin(WfTextbookClaim.class, WfTextbookClaim::getId, TextbookIssueRecord::getDataId)
+                    .leftJoin(BaseSemester.class, BaseSemester::getId, WfTextbookClaim::getBaseSemesterId)
+                    .eq(TextbookIssueRecord::getId, t.getId());
+            WfTextbookClaimListVo wfTextbookClaimListVo =  textbookIssueRecordMapper.selectJoinOne(WfTextbookClaimListVo.class, queryTeaClaimVo);
+            for (int j = 0; j < t.getIssueNumber(); j++){
+                wfTextbookClaimListVo.setClaimIdentity("教师");
+                wfTextbookClaimListVo.setClassName("/");
+                result.add(wfTextbookClaimListVo);
+            }
         }
-        return new ArrayList<>();
+        //学生领取
+        MPJLambdaWrapper<TextbookStudentClaim> queryStuClaimVo = new MPJLambdaWrapper<>();
+        queryStuClaimVo
+                .select("'学生' as claimIdentity")
+                .selectAs(BaseClass::getName, WfTextbookClaimListVo::getClassName)
+                .selectAs(BaseSemester::getName, WfTextbookClaimListVo::getSemesterName)
+                .selectAs(XjrUser::getName, WfTextbookClaimListVo::getName)
+                .selectAs(XjrUser::getUserName, WfTextbookClaimListVo::getUserName)
+                .selectAs(TextbookStudentClaim::getCreateDate, WfTextbookClaimListVo::getClaimDate)
+                .leftJoin(XjrUser.class, XjrUser::getId, TextbookStudentClaim::getStudentUserId)
+                .leftJoin(BaseSemester.class, BaseSemester::getId, TextbookStudentClaim::getBaseSemesterId)
+                .leftJoin(BaseClass.class, BaseClass::getId, TextbookStudentClaim::getClassId)
+                .eq(TextbookStudentClaim::getTextbookId, id);
+        List<WfTextbookClaimListVo> wfTextbookClaimListVoList = textbookStudentClaimMapper.selectJoinList(WfTextbookClaimListVo.class, queryStuClaimVo);
+
+        result.addAll(wfTextbookClaimListVoList);
+        return result;
     }
 
     @Override

+ 7 - 8
src/main/java/com/xjrsoft/module/textbook/vo/TextbookIssueRecordPageVo.java

@@ -1,17 +1,11 @@
 package com.xjrsoft.module.textbook.vo;
 
-import com.alibaba.excel.annotation.ExcelProperty;
 import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.alibaba.excel.annotation.write.style.ContentStyle;
-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;
 
 /**
@@ -93,10 +87,15 @@ public class TextbookIssueRecordPageVo {
     private String issueModeCn;
 
     @ContentStyle(dataFormat = 49)
-    @ExcelProperty("出库时间")
+    @ExcelIgnore
     @ApiModelProperty("出库时间")
     private Date createDate;
 
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("出库时间")
+    @ApiModelProperty("出库时间")
+    private String createDateStr;
+
     @ContentStyle(dataFormat = 49)
     @ExcelProperty("领取人员")
     @ApiModelProperty("领取人员")

+ 0 - 20
src/main/resources/mapper/textbook/TextbookMapper.xml

@@ -139,26 +139,6 @@
           AND t3.textbook_id = #{id}
         ORDER BY t1.sort_code;
     </select>
-    <select id="claimList" resultType="com.xjrsoft.module.textbook.vo.WfTextbookClaimListVo">
-        SELECT t2.name AS semester_name,
-               t5.name AS claim_identity,
-               t3.name AS class_name,
-               t5.name,
-               t5.user_name,
-               t4.create_date
-        FROM wf_textbook_claim t1
-                 LEFT JOIN base_semester t2 ON t1.base_semester_id = t2.id
-                 LEFT JOIN base_class t3 ON t1.class_id = t3.id
-                 LEFT JOIN textbook_issue_record t4 ON t4.data_id = t1.id
-                 LEFT JOIN xjr_user t5 ON t4.receive_user_id = t5.id
-                 LEFT JOIN xjr_user_role_relation t6 ON t5.id = t6.user_id
-                 LEFT JOIN xjr_role t7 ON t6.role_id = t7.id
-                 LEFT JOIN wf_textbook_claim_item t8 ON t8.wf_textbook_claim_id = t1.id
-        where t1.delete_mark = 0
-          and t8.delete_mark = 0
-          and t8.textbook_id = #{id}
-          and t1.status = 1
-    </select>
     <select id="getClassRelation" resultType="com.xjrsoft.module.textbook.entity.TextbookClassRelation">
         SELECT *
         FROM textbook_class_relation