|
|
@@ -390,8 +390,9 @@ public class IEnrollServiceImpl implements IEnrollService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 判断单元格是否表示“已选择”
|
|
|
+ * 判断单元格是否表示"已选择"
|
|
|
* 支持:是、yes、true、1、✔、✅、√ 等
|
|
|
+ * 不支持:×、否、no、false、0 等表示不选择的值
|
|
|
*/
|
|
|
private static boolean isCellSelected(Cell cell) {
|
|
|
if (cell == null) return false;
|
|
|
@@ -401,14 +402,21 @@ public class IEnrollServiceImpl implements IEnrollService {
|
|
|
return cell.getBooleanCellValue();
|
|
|
}
|
|
|
if (cell.getCellType() == CellType.NUMERIC) {
|
|
|
- return cell.getNumericCellValue() == 1;
|
|
|
+ return cell.getNumericCellValue() == 1 || cell.getNumericCellValue() == 1.0;
|
|
|
}
|
|
|
|
|
|
String value = getCellValueAsString(cell).trim().toLowerCase();
|
|
|
+
|
|
|
+ // 明确排除表示"不选择"的值
|
|
|
+ if (value.isBlank() || value.equals("×") || value.equals("否") || value.equals("no") || value.equals("false") || value.equals("0") || value.equals("n")) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 只有明确表示"选择"的值才返回true
|
|
|
return !value.isEmpty() &&
|
|
|
(value.equals("是") || value.equals("yes") || value.equals("true") ||
|
|
|
value.equals("1") || value.contains("✔") || value.contains("✅") ||
|
|
|
- value.contains("√") || value.equals("×"));
|
|
|
+ value.contains("√"));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -939,9 +947,8 @@ public class IEnrollServiceImpl implements IEnrollService {
|
|
|
Map<String, Boolean> selectProjects = enrollInfo.getProjectSelections();
|
|
|
List<Long> selectionProjectIds = new ArrayList<>();
|
|
|
for (Map.Entry<String, Boolean> selectProject : selectProjects.entrySet()) {
|
|
|
- Long projectId = projectList.get(selectProject.getKey());
|
|
|
- if (ObjectUtils.isNotEmpty(projectId)) {
|
|
|
- selectionProjectIds.add(projectId);
|
|
|
+ if (selectProject.getValue()) {
|
|
|
+ selectionProjectIds.add(projectList.get(selectProject.getKey()));
|
|
|
}
|
|
|
}
|
|
|
gameAthleteBo.setProjectValue(JSONUtil.toJsonStr(selectionProjectIds));
|