bug修复

This commit is contained in:
liang.chao 2025-07-11 09:55:53 +08:00
parent 40a0ca3db8
commit 45b24e9a73
1 changed files with 55 additions and 36 deletions

View File

@ -386,7 +386,11 @@ public class OutsourcerEvaluateServiceImpl implements OutsourcerEvaluateService
BeanUtils.copyProperties(o, childBean); BeanUtils.copyProperties(o, childBean);
childBean.setJsonData(list.get(i).toString()); childBean.setJsonData(list.get(i).toString());
childBean.setDeptId(deptId); childBean.setDeptId(deptId);
if (!checkMapValuesAllEmpty(list.get(i), o.getTitleFiled())) {
childBean.setUserId(userId); childBean.setUserId(userId);
} else {
childBean.setUserId(null);
}
childBean.setParentId(o.getId()); childBean.setParentId(o.getId());
childBean.setProId(list.get(i).get("proId").toString()); childBean.setProId(list.get(i).get("proId").toString());
childBean.setProName(list.get(i).get("proName").toString()); childBean.setProName(list.get(i).get("proName").toString());
@ -403,7 +407,11 @@ public class OutsourcerEvaluateServiceImpl implements OutsourcerEvaluateService
detailsBean.setEvaluateId(o.getEvaluateId()); detailsBean.setEvaluateId(o.getEvaluateId());
detailsBean.setTemplateId(o.getTemplateId()); detailsBean.setTemplateId(o.getTemplateId());
detailsBean.setDeptId(deptId); detailsBean.setDeptId(deptId);
if (!checkMapValuesAllEmpty(map, o.getTitleFiled())) {
detailsBean.setUserId(userId); detailsBean.setUserId(userId);
} else {
detailsBean.setUserId(null);
}
detailsBean.setParentId(o.getId()); detailsBean.setParentId(o.getId());
detailsBean.setProId(map.get("proId").toString()); detailsBean.setProId(map.get("proId").toString());
detailsBean.setProName(map.get("proName").toString()); detailsBean.setProName(map.get("proName").toString());
@ -479,8 +487,10 @@ public class OutsourcerEvaluateServiceImpl implements OutsourcerEvaluateService
BeanUtils.copyProperties(o, childBean); BeanUtils.copyProperties(o, childBean);
childBean.setJsonData(list.get(i).toString()); childBean.setJsonData(list.get(i).toString());
childBean.setDeptId(deptId); childBean.setDeptId(deptId);
if (!checkMapValuesAllEmpty(list.get(i))){ if (!checkMapValuesAllEmpty(list.get(i), o.getTitleFiled())) {
childBean.setUserId(userId); childBean.setUserId(userId);
} else {
childBean.setUserId(null);
} }
childBean.setParentId(o.getId()); childBean.setParentId(o.getId());
childBean.setProId(list.get(i).get("proId").toString()); childBean.setProId(list.get(i).get("proId").toString());
@ -501,8 +511,10 @@ public class OutsourcerEvaluateServiceImpl implements OutsourcerEvaluateService
detailsBean.setEvaluateId(o.getEvaluateId()); detailsBean.setEvaluateId(o.getEvaluateId());
detailsBean.setTemplateId(o.getTemplateId()); detailsBean.setTemplateId(o.getTemplateId());
detailsBean.setDeptId(deptId); detailsBean.setDeptId(deptId);
if (!checkMapValuesAllEmpty(map)){ if (!checkMapValuesAllEmpty(map, o.getTitleFiled())) {
detailsBean.setUserId(userId); detailsBean.setUserId(userId);
} else {
detailsBean.setUserId(null);
} }
detailsBean.setParentId(o.getId()); detailsBean.setParentId(o.getId());
detailsBean.setProId(map.get("proId").toString()); detailsBean.setProId(map.get("proId").toString());
@ -530,33 +542,37 @@ public class OutsourcerEvaluateServiceImpl implements OutsourcerEvaluateService
return ar; return ar;
} }
public static boolean checkMapValuesAllEmpty(Map<String, Object> map) { public static boolean checkMapValuesAllEmpty(Map<String, Object> map, String titleFiled) {
if (map == null || map.isEmpty()) { if (map == null || map.isEmpty()) {
return true; // 空map认为所有值都是空 return false; // 空map肯定不满足条件
} }
for (Object value : map.values()) { if (titleFiled == null || titleFiled.trim().isEmpty()) {
return true; // 没有要检查的字段默认满足条件
}
String[] keys = titleFiled.split(",");
for (String key : keys) {
Object value = map.get(key.trim());
// 如果 key 不存在 或者 value null
if (value == null) { if (value == null) {
continue; // null 是空值继续检查下一个 continue;
} }
if (value instanceof String) { if (value instanceof String) {
String strVal = (String) value; if (!((String) value).trim().isEmpty()) {
if (!strVal.trim().isEmpty()) { return false; // 不是空字符串
return false; // 发现非空字符串立即返回 false
} }
} else if (value instanceof Boolean) {
return false; // boolean 类型true/false不为空
} else if (value instanceof Number) {
return false; // 数字类型0 也是有效值
} else { } else {
// 其他对象只要不为null就认为是非空 // 如果不是字符串类型认为不是空字符串
return false; return false;
} }
} }
return true; // 所有值都为空 return true; // 所有指定字段的值都为空字符串或 null
} }
@Override @Override
public AjaxRes getAuditBtn(EvaluateDataBean o) { public AjaxRes getAuditBtn(EvaluateDataBean o) {
AjaxRes ar = new AjaxRes(); AjaxRes ar = new AjaxRes();
@ -1385,22 +1401,22 @@ public class OutsourcerEvaluateServiceImpl implements OutsourcerEvaluateService
} }
} }
//计算平准值进行重新计算 //计算平准值进行重新计算
for (Map<String, Object> map:childDataList){ for (Map<String, Object> map : childDataList) {
BigDecimal bigDecimal=new BigDecimal("0"); BigDecimal bigDecimal = new BigDecimal("0");
int num=0; int num = 0;
for (String key : map.keySet()) { for (String key : map.keySet()) {
if(key.contains("-")){ if (key.contains("-")) {
String[] year=key.split("-"); String[] year = key.split("-");
if (year.length==2 && isNumeric(year[0]) && isNumeric(year[1]) ){ if (year.length == 2 && isNumeric(year[0]) && isNumeric(year[1])) {
BigDecimal pfnum=new BigDecimal(String.valueOf(map.get(key))); BigDecimal pfnum = new BigDecimal(String.valueOf(map.get(key)));
bigDecimal=bigDecimal.add(pfnum); bigDecimal = bigDecimal.add(pfnum);
num++; num++;
} }
} }
} }
BigDecimal nums=new BigDecimal(num); BigDecimal nums = new BigDecimal(num);
BigDecimal avg= bigDecimal.divide(nums); BigDecimal avg = bigDecimal.divide(nums);
map.put("avgScore",avg.toString()); map.put("avgScore", avg.toString());
} }
childDataList.sort((o1, o2) -> { childDataList.sort((o1, o2) -> {
@ -1413,9 +1429,11 @@ public class OutsourcerEvaluateServiceImpl implements OutsourcerEvaluateService
ar.setSucceed(resParams, childParams); ar.setSucceed(resParams, childParams);
return ar; return ar;
} }
public static boolean isNumeric(String str) { public static boolean isNumeric(String str) {
return str.matches("-?\\d+(\\.\\d+)?"); return str.matches("-?\\d+(\\.\\d+)?");
} }
@Override @Override
public AjaxRes isCheckOneIsAudit(EvaluateDataBean o) { public AjaxRes isCheckOneIsAudit(EvaluateDataBean o) {
AjaxRes ar = new AjaxRes(); AjaxRes ar = new AjaxRes();
@ -1439,6 +1457,7 @@ public class OutsourcerEvaluateServiceImpl implements OutsourcerEvaluateService
} }
return ar; return ar;
} }
@Override @Override
public AjaxRes isCheckThreeIsAudit(EvaluateDataBean o) { public AjaxRes isCheckThreeIsAudit(EvaluateDataBean o) {
AjaxRes ar = new AjaxRes(); AjaxRes ar = new AjaxRes();