Преглед изворни кода

1、导入bug调整
2、导出功能调整

dzx пре 1 година
родитељ
комит
4300a479d9

+ 25 - 4
src/main/java/com/xjrsoft/module/dataexpert/controller/DataExpertTemplateController.java

@@ -2,7 +2,10 @@ package com.xjrsoft.module.dataexpert.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
 import com.alibaba.excel.support.ExcelTypeEnum;
+import com.alibaba.excel.write.metadata.WriteSheet;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.xjrsoft.common.model.result.RT;
@@ -35,6 +38,8 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.io.ByteArrayOutputStream;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -117,12 +122,14 @@ public class DataExpertTemplateController {
     @GetMapping("/export")
     @ApiOperation(value = "导出")
     public ResponseEntity<byte[]> exportData(@Valid DataExpertDto dto) {
+        //查出想要的数据
         DataExpertTemplate template = dataExpertTemplateService.getById(dto.getDataExpertTemplateId());
         DataExpertSource expertSource = dataExpertSourceService.getById(template.getDataExpertSourceId());
 
+        //拼接字段
         String fields = "";
         Map<Integer, String> showNameMap = new HashMap<>();
-
+        List<String> titleList = new ArrayList<>();
         List<DataExpertTemplateFieldVo> fieldList = dto.getFieldList();
         for (int i = 0; i < fieldList.size(); i ++){
             DataExpertTemplateFieldVo fieldVo = fieldList.get(i);
@@ -131,13 +138,27 @@ public class DataExpertTemplateController {
                 fields += ",";
             }
             fields += fieldVo.getFieldName();
+            titleList.add(fieldVo.getShowName());
         }
-        for (DataExpertTemplateFieldVo dataExpertTemplateFieldVo : dto.getFieldList()) {
+        //查出导出的数据并进行组装
+        List<String[]> dataList = dataExpertTemplateService.getDataList(fields, expertSource.getViewName());
 
-        }
+        List<String[]> allDataList = new ArrayList<>();
+        allDataList.add(titleList.toArray(new String[titleList.size()]));
+        allDataList.addAll(dataList);
+
+        String sheetName = "数据";
+        String fileName = template.getName() + ExcelTypeEnum.XLSX.getValue();
+        ByteArrayOutputStream bot = new ByteArrayOutputStream();
+
+        ExcelWriter excelWriter = EasyExcel.write(bot).excelType(ExcelTypeEnum.XLSX).build();
+        WriteSheet writeSheet = EasyExcel.writerSheet(sheetName).needHead(Boolean.FALSE).build();
+
+        excelWriter.write(allDataList, writeSheet);
 
+        excelWriter.finish();
 
-        return RT.fileStream(null, "WeeklyDutySchedule" + ExcelTypeEnum.XLSX.getValue());
+        return RT.fileStream(bot.toByteArray(), fileName);
     }
 
 }

+ 5 - 0
src/main/java/com/xjrsoft/module/dataexpert/mapper/DataExpertTemplateMapper.java

@@ -3,6 +3,9 @@ package com.xjrsoft.module.dataexpert.mapper;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.dataexpert.entity.DataExpertTemplate;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
 
 /**
 * @title: 数据导出-数据模板
@@ -13,4 +16,6 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface DataExpertTemplateMapper extends MPJBaseMapper<DataExpertTemplate> {
 
+    @Select("select #{fields} from #{viewName}")
+    List<String[]> getDataList(String fields, String viewName);
 }

+ 3 - 0
src/main/java/com/xjrsoft/module/dataexpert/service/IDataExpertTemplateService.java

@@ -18,4 +18,7 @@ import java.util.List;
 public interface IDataExpertTemplateService extends MPJBaseService<DataExpertTemplate> {
 
     List<DataExpertTemplateFieldVo> getFieldList(Long id);
+
+
+    List<String[]> getDataList(String fields, String viewName);
 }

+ 7 - 0
src/main/java/com/xjrsoft/module/dataexpert/service/impl/DataExpertTemplateServiceImpl.java

@@ -24,6 +24,8 @@ import java.util.List;
 @AllArgsConstructor
 public class DataExpertTemplateServiceImpl extends MPJBaseServiceImpl<DataExpertTemplateMapper, DataExpertTemplate> implements IDataExpertTemplateService {
     private final DataExpertTemplateFieldMapper fieldMapper;
+
+    private final DataExpertTemplateMapper templateMapper;
     @Override
     public List<DataExpertTemplateFieldVo> getFieldList(Long id) {
         List<DataExpertTemplateField> list = fieldMapper.selectList(
@@ -32,4 +34,9 @@ public class DataExpertTemplateServiceImpl extends MPJBaseServiceImpl<DataExpert
         );
         return BeanUtil.copyToList(list, DataExpertTemplateFieldVo.class);
     }
+
+    @Override
+    public List<String[]> getDataList(String fields, String viewName) {
+        return templateMapper.getDataList(fields, viewName);
+    }
 }

+ 32 - 2
src/main/java/com/xjrsoft/module/student/service/impl/StudentManagerServiceImpl.java

@@ -1,7 +1,6 @@
 package com.xjrsoft.module.student.service.impl;
 
 import cn.dev33.satoken.secure.BCrypt;
-import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.StrUtil;
@@ -483,25 +482,56 @@ public class StudentManagerServiceImpl extends MPJBaseServiceImpl<BaseStudentUse
             BaseStudentSubsidize subsidize;
             BaseStudentFamily studentFamily;
             BaseStudentContact contact;
+            long userId = IdUtil.getSnowflakeNextId();
             if(user != null){
                 user.setDeleteMark(DeleteMark.NODELETE.getCode());
 
                 baseStudent = baseStudentMap.get(user.getId());
+                if(baseStudent == null){
+                    baseStudent = new BaseStudent();
+                    baseStudent.setUserId(userId);
+                    baseStudent.setCreateUserId(createUserId);
+                    baseStudent.setCreateDate(LocalDateTime.now());
+                }
                 baseStudent.setDeleteMark(DeleteMark.NODELETE.getCode());
 
                 schoolRoll = studentSchoolRollMap.get(user.getId());
+                if(schoolRoll == null){
+                    schoolRoll = new BaseStudentSchoolRoll();
+                    schoolRoll.setUserId(userId);
+                    schoolRoll.setCreateUserId(createUserId);
+                    schoolRoll.setCreateDate(LocalDateTime.now());
+                }
                 schoolRoll.setDeleteMark(DeleteMark.NODELETE.getCode());
 
                 subsidize = subsidizesMap.get(user.getId());
+                if(subsidize == null){
+                    subsidize = new BaseStudentSubsidize();
+                    subsidize.setUserId(userId);
+                    subsidize.setCreateUserId(createUserId);
+                    subsidize.setCreateDate(LocalDateTime.now());
+                }
                 subsidize.setDeleteMark(DeleteMark.NODELETE.getCode());
 
                 studentFamily = familyMap.get(user.getId());
+                if(studentFamily == null){
+                    studentFamily = new BaseStudentFamily();
+                    studentFamily.setUserId(userId);
+                    studentFamily.setCreateUserId(createUserId);
+                    studentFamily.setCreateDate(LocalDateTime.now());
+                }
                 studentFamily.setDeleteMark(DeleteMark.NODELETE.getCode());
 
                 contact = contactMap.get(user.getId());
+                if(contact == null){
+                    contact = new BaseStudentContact();
+                    contact.setUserId(userId);
+                    contact.setCreateUserId(createUserId);
+                    contact.setCreateDate(LocalDateTime.now());
+                }
                 contact.setDeleteMark(DeleteMark.NODELETE.getCode());
             }else{
-                long userId = IdUtil.getSnowflakeNextId();
+
                 user = new BaseStudentUser();
                 baseStudent = new BaseStudent();
                 baseStudent.setUserId(userId);

+ 1 - 1
src/main/resources/mapper/dataexpert/DataExpertTemplateMapper.xml

@@ -3,7 +3,7 @@
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.xjrsoft.module.dataexpert.mapper.DataExpertTemplateMapper">
-<!--    <select id="getSourceTypeList" parameterType="" resultType="java.lang.String">-->
+<!--    <select id="getDataList" parameterType="" resultType="java.util.List<java.lang.String>">-->
 <!--        SELECT DISTINCT data_group FROM data_expert_source_field WHERE delete_mark = 0-->
 <!--    </select>-->
 </mapper>

+ 1 - 1
src/main/resources/mapper/student/BaseStudentSchoolRollMapper.xml

@@ -54,7 +54,7 @@
             AND t4.grade_id = #{dto.gradeId}
         </if>
         <if test="dto.majorSetId != null">
-            AND t3.major_set_id = #{dto.majorSetId }
+            AND t3.major_set_id = #{dto.majorSetId}
         </if>
         <if test="dto.classId != null">
             AND t4.id = #{dto.classId}