dzx 6 mesiacov pred
rodič
commit
90bbbda9e2

+ 2 - 3
src/main/java/com/xjrsoft/module/student/controller/BaseStudentScholarshipReleaseController.java

@@ -10,7 +10,6 @@ import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.common.utils.VoToColumnUtil;
-import com.xjrsoft.module.organization.service.IUserService;
 import com.xjrsoft.module.student.dto.AddBaseStudentScholarshipReleaseDto;
 import com.xjrsoft.module.student.dto.AddStudentScholarshipDto;
 import com.xjrsoft.module.student.dto.BaseStudentScholarshipReleasePageDto;
@@ -126,7 +125,7 @@ public class BaseStudentScholarshipReleaseController {
     @ApiOperation(value = "删除奖学金发放记录表")
     @SaCheckPermission("basestudentscholarshiprelease:delete")
     public RT<Boolean> delete(@Valid @RequestBody List<Long> ids) {
-        return RT.ok(releaseService.removeBatchByIds(ids));
+        return RT.ok(releaseService.remove(ids));
     }
 
     @PostMapping("add-student")
@@ -166,7 +165,7 @@ public class BaseStudentScholarshipReleaseController {
     }
 
     @PostMapping("/import")
-    @ApiOperation(value = "成绩导入")
+    @ApiOperation(value = "奖助学金发放导入")
     public RT<List<Map<String, String>>> scoreImport(@RequestParam MultipartFile file) throws IOException {
         List<Map<String, String>> maps = applicantService.importData(file);
         return RT.ok(maps);

+ 19 - 7
src/main/java/com/xjrsoft/module/student/service/impl/BaseStudentScholarshipApplicantServiceImpl.java

@@ -10,6 +10,8 @@ import com.xjrsoft.common.enums.GenderEnum;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.base.entity.BaseSemester;
 import com.xjrsoft.module.base.service.IBaseSemesterService;
+import com.xjrsoft.module.organization.entity.User;
+import com.xjrsoft.module.organization.service.IUserService;
 import com.xjrsoft.module.student.dto.BaseStudentScholarshipApplicantCategoryPageDto;
 import com.xjrsoft.module.student.entity.BaseStudentScholarshipApplicant;
 import com.xjrsoft.module.student.entity.BaseStudentScholarshipCategory;
@@ -44,6 +46,7 @@ public class BaseStudentScholarshipApplicantServiceImpl extends MPJBaseServiceIm
     private final BaseStudentScholarshipApplicantMapper applicantMapper;
     private final IBaseSemesterService semesterService;
     private final IBaseStudentScholarshipCategoryService categoryService;
+    private final IUserService userService;
     @Override
     public Page<BaseStudentScholarshipApplicantCategoryPageVo> getScholarshiPage(Page<BaseStudentScholarshipApplicantCategoryPageDto> page, BaseStudentScholarshipApplicantCategoryPageDto dto) {
         Page<BaseStudentScholarshipApplicantCategoryPageVo> result = applicantMapper.getScholarshiPage(page, dto);
@@ -77,7 +80,7 @@ public class BaseStudentScholarshipApplicantServiceImpl extends MPJBaseServiceIm
 
     @Override
     public List<Map<String, String>> importData(MultipartFile file) throws IOException {
-        List<ScholarshipApplicantImportVo> dataList = EasyExcel.read(file.getInputStream()).headRowNumber(2).head(ScholarshipApplicantImportVo.class).sheet().doReadSync();
+        List<ScholarshipApplicantImportVo> dataList = EasyExcel.read(file.getInputStream()).headRowNumber(3).head(ScholarshipApplicantImportVo.class).sheet().doReadSync();
         List<BaseStudentScholarshipApplicant> applicantList = this.list(
                 new QueryWrapper<BaseStudentScholarshipApplicant>().lambda()
                         .select(BaseStudentScholarshipApplicant::getId)
@@ -85,6 +88,9 @@ public class BaseStudentScholarshipApplicantServiceImpl extends MPJBaseServiceIm
                         .eq(BaseStudentScholarshipApplicant::getStatus, 1)
         );
 
+        List<Long> userIds = applicantList.stream().map(BaseStudentScholarshipApplicant::getApplicantUserId).collect(Collectors.toList());
+        Map<Long, User> userMap = userService.list(new QueryWrapper<User>().lambda().in(User::getId, userIds)).stream().collect(Collectors.toMap(x -> x.getId(), x -> x));
+
         List<BaseSemester> semesterList = semesterService.list(
                 new QueryWrapper<BaseSemester>().lambda()
                         .select(BaseSemester::getId)
@@ -100,7 +106,8 @@ public class BaseStudentScholarshipApplicantServiceImpl extends MPJBaseServiceIm
                         .eq(BaseStudentScholarshipCategory::getDeleteMark, DeleteMark.NODELETE.getCode())
         );
 
-        Map<String, Long> categoryMap = categoryList.stream().collect(Collectors.toMap(BaseStudentScholarshipCategory::getName, BaseStudentScholarshipCategory::getId));
+        Map<String, BaseStudentScholarshipCategory> categoryMap = categoryList.stream().collect(Collectors.toMap(BaseStudentScholarshipCategory::getName, x -> x));
+        Map<String, Long> categorySemeterMap = categoryList.stream().collect(Collectors.toMap(BaseStudentScholarshipCategory::getName, BaseStudentScholarshipCategory::getBaseSemesterId));
 
         List<Map<String, String>> errorList = new ArrayList<>();
         List<BaseStudentScholarshipApplicant> updateList = new ArrayList<>();
@@ -111,24 +118,29 @@ public class BaseStudentScholarshipApplicantServiceImpl extends MPJBaseServiceIm
                 errorMsg.add("有未填写的列");
             }
             if(semesterMap.get(importVo.getSemesterName()) == null){
-                errorMsg.add("学期名称填写不正确");
+                errorMsg.add("学期填写不正确");
             }
             Long semesterId = semesterMap.get(importVo.getSemesterName());
             if(categoryMap.get(importVo.getScholarshipCategoryName()) == null){
                 errorMsg.add("奖学金名称填写不正确");
             }
-            Long categoryId = categoryMap.get(importVo.getScholarshipCategoryName());
+            BaseStudentScholarshipCategory category = categoryMap.get(importVo.getScholarshipCategoryName());
             for (BaseStudentScholarshipApplicant applicant : applicantList) {
-                if(applicant.getBaseSemesterId() == semesterId && importVo.getName().equals(applicant.getName()) && importVo.getCredentialNumber().equals(applicant.getStudentId())){
-                    applicant.setBaseStudentScholarshipCategoryId(categoryId);
+                User user = userMap.get(applicant.getApplicantUserId());
+                Long baseSemesterId = categorySemeterMap.get(importVo.getScholarshipCategoryName());
+                if(baseSemesterId.equals(semesterId)
+                        && importVo.getName().equals(user.getName())
+                        && importVo.getCredentialNumber().equals(user.getCredentialNumber())){
+                    applicant.setBaseStudentScholarshipCategoryId(category.getId());
                     applicant.setReviewStatus(1);
+                    applicant.setAmount(category.getTotalAmount());
                     applicant.setScholarshipLevel(importVo.getScholarshipLevel());
                     updateList.add(applicant);
                 }
             }
             if(!errorMsg.isEmpty()){
                 LinkedHashMap<String, String> map = new LinkedHashMap<>();
-                map.put("学期名称", importVo.getSemesterName());
+                map.put("学期", importVo.getSemesterName());
                 map.put("姓名", importVo.getName());
                 map.put("身份证号", importVo.getCredentialNumber());
                 map.put("奖学金名称", importVo.getScholarshipCategoryName());

+ 5 - 5
src/main/java/com/xjrsoft/module/student/vo/ScholarshipApplicantImportVo.java

@@ -13,23 +13,23 @@ import lombok.Data;
 @Data
 public class ScholarshipApplicantImportVo {
 
-    @ExcelProperty("学期名称")
+    @ExcelProperty("*学期")
     @ApiModelProperty("学期名称")
     private String semesterName;
 
-    @ExcelProperty("姓名")
+    @ExcelProperty("*姓名")
     @ApiModelProperty("姓名")
     private String name;
 
-    @ExcelProperty("身份证号")
+    @ExcelProperty("*身份证号")
     @ApiModelProperty("身份证号")
     private String credentialNumber;
 
-    @ExcelProperty("奖学金名称")
+    @ExcelProperty("*奖学金名称")
     @ApiModelProperty("奖学金名称")
     private String scholarshipCategoryName;
 
-    @ExcelProperty("获奖等级")
+    @ExcelProperty("*获奖等级")
     @ApiModelProperty("获奖等级")
     private Integer scholarshipLevel;