|
|
@@ -1,9 +1,11 @@
|
|
|
package com.xjrsoft.module.veb.service.impl;
|
|
|
|
|
|
+import cn.dev33.satoken.stp.StpUtil;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
import com.alibaba.excel.EasyExcel;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
|
import com.xjrsoft.common.enums.DeleteMark;
|
|
|
import com.xjrsoft.module.base.entity.*;
|
|
|
import com.xjrsoft.module.base.mapper.*;
|
|
|
@@ -29,11 +31,9 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import java.io.IOException;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
+import java.util.stream.Stream;
|
|
|
|
|
|
import static com.xjrsoft.module.veb.util.ImportExcelUtil.*;
|
|
|
|
|
|
@@ -99,6 +99,8 @@ public class ImportRubAndHandServiceImpl implements ImportRubAndHandService {
|
|
|
courseSubject.setId(id);
|
|
|
courseSubject.setName(dto.getName());
|
|
|
courseSubject.setCode(dto.getCode());
|
|
|
+ courseSubject.setCreateDate(new Date());
|
|
|
+ courseSubject.setCreateUserId(StpUtil.getLoginIdAsLong());
|
|
|
baseCourseSubjects.add(courseSubject);
|
|
|
|
|
|
CourseSubjectDetail courseSubjectDetail = BeanUtil.toBean(dto, CourseSubjectDetail.class);
|
|
|
@@ -168,6 +170,9 @@ public class ImportRubAndHandServiceImpl implements ImportRubAndHandService {
|
|
|
|
|
|
// 布尔类型
|
|
|
|
|
|
+ courseSubjectDetail.setCreateDate(new Date());
|
|
|
+ courseSubjectDetail.setCreateUserId(StpUtil.getLoginIdAsLong());
|
|
|
+
|
|
|
courseSubjectDetails.add(courseSubjectDetail);
|
|
|
}
|
|
|
|
|
|
@@ -214,6 +219,8 @@ public class ImportRubAndHandServiceImpl implements ImportRubAndHandService {
|
|
|
Map<String, Long> baseSemesterMap = baseSemesters.stream()
|
|
|
.collect(Collectors.toMap(BaseSemester::getName, BaseSemester::getId, (o1, o2) -> o1));
|
|
|
|
|
|
+ // 实训基地
|
|
|
+ // 校内实训基地
|
|
|
List<TrainingSchool> trainingSchools = trainingSchoolMapper.selectList(
|
|
|
Wrappers
|
|
|
.lambdaQuery(TrainingSchool.class)
|
|
|
@@ -221,7 +228,10 @@ public class ImportRubAndHandServiceImpl implements ImportRubAndHandService {
|
|
|
);
|
|
|
Map<String, Long> trainingSchoolMap = trainingSchools.stream()
|
|
|
.collect(Collectors.toMap(TrainingSchool::getTrainingName, TrainingSchool::getId, (o1, o2) -> o1));
|
|
|
+ Map<String, String> trainingSchoolNumberMap = trainingSchools.stream()
|
|
|
+ .collect(Collectors.toMap(TrainingSchool::getTrainingName, TrainingSchool::getTrainingNumber, (o1, o2) -> o1));
|
|
|
|
|
|
+ // 校外实训基地
|
|
|
List<TrainingOutside> trainingOutsides = trainingOutsideMapper.selectList(
|
|
|
Wrappers
|
|
|
.lambdaQuery(TrainingOutside.class)
|
|
|
@@ -229,6 +239,24 @@ public class ImportRubAndHandServiceImpl implements ImportRubAndHandService {
|
|
|
);
|
|
|
Map<String, Long> trainingOutsideMap = trainingOutsides.stream()
|
|
|
.collect(Collectors.toMap(TrainingOutside::getTrainingName, TrainingOutside::getId, (o1, o2) -> o1));
|
|
|
+ Map<String, String> trainingOutsideNumberMap = trainingOutsides.stream()
|
|
|
+ .collect(Collectors.toMap(TrainingOutside::getTrainingName, TrainingOutside::getTrainingNumber, (o1, o2) -> o1));
|
|
|
+ // 实训基地合集
|
|
|
+ Map<String, Long> trainingMap = Stream.of(trainingSchoolMap, trainingOutsideMap)
|
|
|
+ .flatMap(map -> map.entrySet().stream())
|
|
|
+ .collect(Collectors.toMap(
|
|
|
+ Map.Entry::getKey,
|
|
|
+ Map.Entry::getValue,
|
|
|
+ (oldVal, newVal) -> newVal // 用新值覆盖旧值
|
|
|
+ ));
|
|
|
+
|
|
|
+ Map<String, String> trainingNumberMap = Stream.of(trainingSchoolNumberMap, trainingOutsideNumberMap)
|
|
|
+ .flatMap(map -> map.entrySet().stream())
|
|
|
+ .collect(Collectors.toMap(
|
|
|
+ Map.Entry::getKey,
|
|
|
+ Map.Entry::getValue,
|
|
|
+ (oldVal, newVal) -> newVal // 用新值覆盖旧值
|
|
|
+ ));
|
|
|
|
|
|
List<User> users = userMapper.selectList(
|
|
|
Wrappers
|
|
|
@@ -258,11 +286,12 @@ public class ImportRubAndHandServiceImpl implements ImportRubAndHandService {
|
|
|
List<InternshipPlanManageParticipant> internshipPlanManageParticipants = new ArrayList<>();
|
|
|
|
|
|
for (int i = 0; i < excelDataList.size(); i++) {
|
|
|
+ int row = i + 1;
|
|
|
InternshipPlanImportVo vo = excelDataList.get(i);
|
|
|
|
|
|
if (isRequiredFieldsFilled(vo,
|
|
|
sb,
|
|
|
- i)) {
|
|
|
+ row)) {
|
|
|
return sb.toString();
|
|
|
}
|
|
|
|
|
|
@@ -282,7 +311,7 @@ public class ImportRubAndHandServiceImpl implements ImportRubAndHandService {
|
|
|
baseSemesterMap,
|
|
|
internshipPlanManage::setBaseSemesterId,
|
|
|
sb,
|
|
|
- i
|
|
|
+ row
|
|
|
)) {
|
|
|
return sb.toString();
|
|
|
}
|
|
|
@@ -293,24 +322,26 @@ public class ImportRubAndHandServiceImpl implements ImportRubAndHandService {
|
|
|
dictionary,
|
|
|
internshipPlanManage::setInternshipPlanType,
|
|
|
sb,
|
|
|
- i)) {
|
|
|
+ row)) {
|
|
|
return sb.toString();
|
|
|
}
|
|
|
|
|
|
if (validateAndSetString2LongField(vo::getTrainingBaseName,
|
|
|
"实训基地名称",
|
|
|
- trainingSchoolMap,
|
|
|
+ trainingMap,
|
|
|
internshipPlanManage::setTrainingBaseId,
|
|
|
sb,
|
|
|
- i
|
|
|
- ) && (validateAndSetString2LongField(vo::getTrainingBaseName,
|
|
|
+ row)
|
|
|
+ ) {
|
|
|
+ return sb.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ if (validateAndSetString2StringField(vo::getTrainingBaseName,
|
|
|
"实训基地名称",
|
|
|
- trainingOutsideMap,
|
|
|
- internshipPlanManage::setTrainingBaseId,
|
|
|
+ trainingNumberMap,
|
|
|
+ internshipPlanManage::setTrainingBaseNumber,
|
|
|
sb,
|
|
|
- i
|
|
|
- )
|
|
|
- )
|
|
|
+ row)
|
|
|
) {
|
|
|
return sb.toString();
|
|
|
}
|
|
|
@@ -321,7 +352,7 @@ public class ImportRubAndHandServiceImpl implements ImportRubAndHandService {
|
|
|
dictionary,
|
|
|
internshipPlanManage::setInsurancePurchaser,
|
|
|
sb,
|
|
|
- i)) {
|
|
|
+ row)) {
|
|
|
return sb.toString();
|
|
|
}
|
|
|
|
|
|
@@ -331,7 +362,7 @@ public class ImportRubAndHandServiceImpl implements ImportRubAndHandService {
|
|
|
dictionary,
|
|
|
internshipPlanManage::setInternshipWhereabouts,
|
|
|
sb,
|
|
|
- i)) {
|
|
|
+ row)) {
|
|
|
return sb.toString();
|
|
|
}
|
|
|
|
|
|
@@ -341,7 +372,7 @@ public class ImportRubAndHandServiceImpl implements ImportRubAndHandService {
|
|
|
dictionary,
|
|
|
internshipPlanManage::setInsuranceType,
|
|
|
sb,
|
|
|
- i)) {
|
|
|
+ row)) {
|
|
|
return sb.toString();
|
|
|
}
|
|
|
|
|
|
@@ -351,7 +382,7 @@ public class ImportRubAndHandServiceImpl implements ImportRubAndHandService {
|
|
|
dictionary,
|
|
|
internshipPlanManage::setInsuranceType,
|
|
|
sb,
|
|
|
- i)) {
|
|
|
+ row)) {
|
|
|
return sb.toString();
|
|
|
}
|
|
|
|
|
|
@@ -361,7 +392,7 @@ public class ImportRubAndHandServiceImpl implements ImportRubAndHandService {
|
|
|
dictionary,
|
|
|
internshipPlanManage::setInternshipSiteType,
|
|
|
sb,
|
|
|
- i)) {
|
|
|
+ row)) {
|
|
|
return sb.toString();
|
|
|
}
|
|
|
|
|
|
@@ -371,7 +402,7 @@ public class ImportRubAndHandServiceImpl implements ImportRubAndHandService {
|
|
|
dictionary,
|
|
|
internshipPlanManage::setInternshipUnitSource,
|
|
|
sb,
|
|
|
- i)) {
|
|
|
+ row)) {
|
|
|
return sb.toString();
|
|
|
}
|
|
|
|
|
|
@@ -381,7 +412,7 @@ public class ImportRubAndHandServiceImpl implements ImportRubAndHandService {
|
|
|
dictionary,
|
|
|
internshipPlanManage::setLodgingPlan,
|
|
|
sb,
|
|
|
- i)) {
|
|
|
+ row)) {
|
|
|
return sb.toString();
|
|
|
}
|
|
|
|
|
|
@@ -391,9 +422,11 @@ public class ImportRubAndHandServiceImpl implements ImportRubAndHandService {
|
|
|
dictionary,
|
|
|
internshipPlanManage::setProfessionalRelevanceEnterprise,
|
|
|
sb,
|
|
|
- i)) {
|
|
|
+ row)) {
|
|
|
return sb.toString();
|
|
|
}
|
|
|
+ internshipPlanManage.setCreateDate(new Date());
|
|
|
+ internshipPlanManage.setCreateUserId(StpUtil.getLoginIdAsLong());
|
|
|
internshipPlanManageMap.put(key, internshipPlanManage);
|
|
|
} else {
|
|
|
InternshipPlanManage internshipPlanManage = internshipPlanManageMap.get(key);
|
|
|
@@ -408,28 +441,32 @@ public class ImportRubAndHandServiceImpl implements ImportRubAndHandService {
|
|
|
userMap,
|
|
|
internshipPlanManageParticipant::setParticipantUserId,
|
|
|
sb,
|
|
|
- i
|
|
|
+ row
|
|
|
)) {
|
|
|
return sb.toString();
|
|
|
}
|
|
|
+
|
|
|
if (validateAndSetString2LongField(vo::getBaseMajorName,
|
|
|
"所属专业名称",
|
|
|
baseMajorMap,
|
|
|
internshipPlanManageParticipant::setBaseMajorId,
|
|
|
sb,
|
|
|
- i
|
|
|
+ row
|
|
|
)) {
|
|
|
return sb.toString();
|
|
|
}
|
|
|
+
|
|
|
if (validateAndSetString2LongField(vo::getClassName,
|
|
|
"班级名称",
|
|
|
baseClassMap,
|
|
|
internshipPlanManageParticipant::setClassId,
|
|
|
sb,
|
|
|
- i
|
|
|
+ row
|
|
|
)) {
|
|
|
return sb.toString();
|
|
|
}
|
|
|
+ internshipPlanManageParticipant.setCreateDate(new Date());
|
|
|
+ internshipPlanManageParticipant.setCreateUserId(StpUtil.getLoginIdAsLong());
|
|
|
internshipPlanManageParticipants.add(internshipPlanManageParticipant);
|
|
|
}
|
|
|
|