Commit 6b952b3e authored by liwei's avatar liwei

修改了单位开课的导入bug

parent 524b7876
......@@ -306,9 +306,9 @@ public class TeaTrialCourseController extends CyPaginationController<TeaTrialCou
// 开课类型列 第五列
ExcelUtil.XSSFSetDropDownAndHidden(applicantTypeList, workbook, sheet, 2, 10000, 4, 4);
// 岗位分类列 第六列
ExcelUtil.XSSFSetDropDownAndHidden(jobClassificationStrs, workbook, sheet, 2, 10000, 5, 5);
// ExcelUtil.XSSFSetDropDownAndHidden(jobClassificationStrs, workbook, sheet, 2, 10000, 5, 5);
// 技术分类列 第七列
ExcelUtil.XSSFSetDropDownAndHidden(technicalClassificationStrs, workbook, sheet, 2, 10000, 6, 6);
// ExcelUtil.XSSFSetDropDownAndHidden(technicalClassificationStrs, workbook, sheet, 2, 10000, 6, 6);
outputStream = response.getOutputStream();
workbook.write(outputStream);
} catch (IOException var12) {
......
......@@ -338,20 +338,20 @@ public class TeaTrialCourseServiceImpl extends ServiceImpl<TeaTrialCourseReposit
}
}
if (savedList.size() > 0) {
TeaTrialCourse delTeaTrialCourse = new TeaTrialCourse();
Set<String> stringSet = savedList.stream()
.map(teaTrialCourse -> teaTrialCourse.getApplicantUnit() + "_" + teaTrialCourse.getApplicantType())
.collect(Collectors.toCollection(HashSet::new));
for (String str : stringSet) {
String[] strings = str.split("_");
delTeaTrialCourse.setApplicantUnit(Integer.valueOf(strings[0]));
delTeaTrialCourse.setApplicantType(Integer.valueOf(strings[1]));
List<TeaTrialCourse> delTeaTrialCourseList = baseMapper.queryTeaTrialCourses(delTeaTrialCourse);
// 批量删除
if (!delTeaTrialCourseList.isEmpty()) {
baseMapper.deleteBatch(delTeaTrialCourseList);
}
}
// TeaTrialCourse delTeaTrialCourse = new TeaTrialCourse();
// Set<String> stringSet = savedList.stream()
// .map(teaTrialCourse -> teaTrialCourse.getApplicantUnit() + "_" + teaTrialCourse.getApplicantType())
// .collect(Collectors.toCollection(HashSet::new));
// for (String str : stringSet) {
// String[] strings = str.split("_");
// delTeaTrialCourse.setApplicantUnit(Integer.valueOf(strings[0]));
// delTeaTrialCourse.setApplicantType(Integer.valueOf(strings[1]));
// List<TeaTrialCourse> delTeaTrialCourseList = baseMapper.queryTeaTrialCourses(delTeaTrialCourse);
// // 批量删除
// if (!delTeaTrialCourseList.isEmpty()) {
// baseMapper.deleteBatch(delTeaTrialCourseList);
// }
// }
saveBatch(savedList);
}
return savedList.size() + "条数据导入成功;" + (trialCourseDTOList.size() - savedList.size()) + "条数据导入失败。";
......
......@@ -324,39 +324,32 @@ public class ExcelUtil {
DataValidationHelper dvHelper = sheet.getDataValidationHelper();
if (totalBytes > 255) {
// 当总选项字节数大于 255 时创建隐藏工作表用于存放下拉选项
// 创建sheet,写入枚举项
//判断当前sheet不存在则创建
Sheet hideSheet = workbook.getSheet("hiddenSheet");
if (workbook.getSheet("hiddenSheet") == null) {
hideSheet = workbook.createSheet("hiddenSheet");
String sheetName = "hiddenSheet_" + firstCol;
String nameName = "hidden_" + firstCol;
// 创建隐藏工作表
Sheet hideSheet = workbook.getSheet(sheetName);
if (hideSheet == null) {
hideSheet = workbook.createSheet(sheetName);
}
// 写入下拉选项
for (int i = 0; i < formulaString.length; i++) {
// 将下拉选项值存放在目标工作表下拉项目相同列
hideSheet.createRow(i).createCell(firstCol).setCellValue(formulaString[i]);
hideSheet.createRow(i).createCell(0).setCellValue(formulaString[i]);
}
// 创建名称,可被其他单元格引用
//判断当前名称不存在则创建
Name hiddenSheetName = workbook.getName("hidden");
if (workbook.getName("hidden") == null) {
// 创建名称定义
Name hiddenSheetName = workbook.getName(nameName);
if (hiddenSheetName == null) {
hiddenSheetName = workbook.createName();
hiddenSheetName.setNameName("hidden");
hiddenSheetName.setNameName(nameName);
}
// 设置名称引用的公式
// 使用像'A1:B1'这样的相对值会导致在Microsoft Excel中使用工作簿时名称所指向的单元格的意外移动,
// 通常使用绝对引用,例如'$A$1:$B$1'可以避免这种情况。
// 根据 firstCol 计算引用索引字母
StringBuilder columnLetter = new StringBuilder();
int columnIndex = firstCol;
while (columnIndex >= 0) {
int rem = columnIndex % 26;
columnLetter.append((char) ('A' + rem));
columnIndex = (columnIndex / 26) - 1;
}
columnLetter.reverse();
hiddenSheetName.setRefersToFormula("hiddenSheet!$" + columnLetter + "$1:$" + columnLetter + "$" + formulaString.length);
// 获取上文名称内数据
DataValidationConstraint constraint = dvHelper.createFormulaListConstraint("hidden");
hiddenSheetName.setRefersToFormula(sheetName + "!$A$1:$A$" + formulaString.length);
// 创建数据验证约束
DataValidationConstraint constraint = dvHelper.createFormulaListConstraint(nameName);
// 设置下拉框位置
CellRangeAddressList addressList = new CellRangeAddressList(firstRow, lastRow, firstCol, lastCol);
DataValidation dataValidation = dvHelper.createValidation(constraint, addressList);
......@@ -370,7 +363,7 @@ public class ExcelUtil {
}
// 作用在目标sheet上
sheet.addValidationData(dataValidation);
// 设置hiddenSheet隐藏
// 设置隐藏工作表隐藏
int hideSheetIndex = workbook.getSheetIndex(hideSheet);
workbook.setSheetHidden(hideSheetIndex, true);
} else {
......
......@@ -58,8 +58,8 @@
WHERE
tln.del_flag = 0
AND tln.flag = 1
AND cl.del_flag = 0
AND cl.flag = 1
# AND cl.del_flag = 0
# AND cl.flag = 1
AND tlbc.del_flag = 0
<if test="dto.deptId !=null and dto.deptId != '' ">
AND tlbc.applicant_unit = #{dto.deptId}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment