Browse Source

季度考评报告数据调整

wangchangsheng 1 year ago
parent
commit
c053f755d3

+ 1 - 1
ims-common/src/main/java/com/ims/common/utils/FormulaUtils.java

@@ -125,7 +125,7 @@ public class FormulaUtils {
 
 
 	public static void main(String[] args) {
-		String va = calculateFormulaString("IF(AND(50<=50,50>=0),\"a\",IF(AND(50>50,50<=100),\"b\",IF(50>100,\"c\",\"\")))");
+		Double va = calculateFormula("IF(0.0>0,-0.0*2/0.0+10,0.0*2/0.0+10)");
 		System.out.println(va);
 	}
 

+ 1 - 4
ims-service/ims-eval/src/main/java/com/ims/eval/launch/LauncherServiceImpl.java

@@ -11,11 +11,8 @@ import java.util.Properties;
 public class LauncherServiceImpl implements LauncherService {
 	public void launcher(SpringApplicationBuilder builder, String appName, String profile, boolean isLocalDev) {
 
-		//http://123.60.219.66:8848/nacos/
-		//sh startup.sh -m standalone
-		//bash startup.sh -m standalone
+
 		//NACOS_ADDR=10.65.78.23:8848
-		//NACOS_ADDR=123.60.219.66:8848
 		//NACOS_ADDR=10.65.79.83:8080
 		Properties props = System.getProperties();
 		props.setProperty("spring.cloud.nacos.config.shared-dataids", "gddl_dbkp.yaml");

+ 3 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/IIndicatorDictionaryService.java

@@ -23,6 +23,9 @@ public interface IIndicatorDictionaryService extends IService<IndicatorDictionar
 	List<IndicatorDictionaryDTO> list(String indicatorId,String optionCode,String optionName);
 
 
+	IndicatorDictionary getIndicatorDictionaryByCode(String indicatorId,String childOptionCode);
+
+
 
 
 }

+ 19 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/IndicatorDictionaryServiceImpl.java

@@ -148,4 +148,23 @@ public class IndicatorDictionaryServiceImpl extends ServiceImpl<IndicatorDiction
 
 		return dtoList;
 	}
+
+
+	@Override
+	public IndicatorDictionary getIndicatorDictionaryByCode(String indicatorId, String childOptionCode) {
+
+		QueryWrapper<IndicatorDictionary> qw = new QueryWrapper<>();
+		if (StringUtils.isNotEmpty(indicatorId)) {
+			qw.lambda().eq(IndicatorDictionary::getIndicatorId, indicatorId);
+		}
+		if (StringUtils.isNotEmpty(childOptionCode)) {
+			qw.eq("CONCAT(child_code, '_', option_code)", childOptionCode);
+		}
+		List<IndicatorDictionary> list = baseMapper.selectList(qw);
+		if(null != list && list.size()>0){
+
+			return list.get(0);
+		}
+		return null;
+	}
 }

+ 28 - 21
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/OrganizationEvaluationInfoServiceImpl.java

@@ -857,30 +857,37 @@ public class OrganizationEvaluationInfoServiceImpl extends ServiceImpl<Organizat
 				}
 				List<OrganizationEvaluationInfo> evaluationInfos =new ArrayList<>();
 				for (Map.Entry<String,String > entry : valueMap.entrySet()) {
-					//organizationEvaluationId 考评记录id
-					// indicatorId 指标id
-					// organizationId 组织id
-					// childOptionCode 组合子指标和指标项
-					List<OrganizationEvaluationInfo>  organizationEvaluationInfoList = 	getEvaluationInfoByOptionCodeList(idMap.get("evalId"),idMap.get("indId"),idMap.get("organizationId"),entry.getKey());
-					OrganizationEvaluationInfo info = new OrganizationEvaluationInfo();
-					OrganizationEvaluationInfo oriinfo = null;
-					if(null !=organizationEvaluationInfoList &&  organizationEvaluationInfoList.size()>0){
-						 oriinfo = organizationEvaluationInfoList.get(0);//原始数据
-						info.setId(oriinfo.getId());
-					}
-					if (oriinfo.getIsQuantified()) {
-
-						if (MathCalculatorUtil.isNumber(String.valueOf(entry.getValue()))) {
-							info.setQuantifiedValue(Double.valueOf(entry.getValue()));
+					try {
+						//organizationEvaluationId 考评记录id
+						// indicatorId 指标id
+						// organizationId 组织id
+						// childOptionCode 组合子指标和指标项
+						List<OrganizationEvaluationInfo>  organizationEvaluationInfoList = 	getEvaluationInfoByOptionCodeList(idMap.get("evalId"),idMap.get("indId"),idMap.get("organizationId"),entry.getKey());
+						OrganizationEvaluationInfo info = new OrganizationEvaluationInfo();
+						OrganizationEvaluationInfo oriinfo = null;
+						if(null !=organizationEvaluationInfoList &&  organizationEvaluationInfoList.size()>0){
+							 oriinfo = organizationEvaluationInfoList.get(0);//原始数据
+							info.setId(oriinfo.getId());
 						} else {
-							info.setQuantifiedValue(0);
+							continue;
+						}
+						if (oriinfo.getIsQuantified()) {
+
+							if (MathCalculatorUtil.isNumber(String.valueOf(entry.getValue()))) {
+								info.setQuantifiedValue(Double.valueOf(entry.getValue()));
+							} else {
+								info.setQuantifiedValue(0);
+							}
 						}
+						info.setNonQuantifiedValue(entry.getValue());
+						String  state2 = idMap.get("state").toString();
+						String state = stateConvert(state2,false);
+						info.setState(state);
+						evaluationInfos.add(info);
+					} catch (NumberFormatException e) {
+						e.printStackTrace();
+						log.info("当前行出现异常;继续执行后面的记录");
 					}
-					info.setNonQuantifiedValue(entry.getValue());
-					String  state2 = idMap.get("state").toString();
-					String state = stateConvert(state2,false);
-					info.setState(state);
-					evaluationInfos.add(info);
 				}
 				this.saveOrUpdateBatch(evaluationInfos);
 			}

+ 5 - 6
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/OrganizationEvaluationServiceImpl.java

@@ -697,6 +697,7 @@ public class OrganizationEvaluationServiceImpl extends ServiceImpl<OrganizationE
 						Map<String, Object> opmap = new HashMap<>();
 						opmap.put("key", dto.getChildCode() + "_" + ids.getOptionCode());
 						opmap.put("name", ids.getOptionName());
+						opmap.put("flag", ids.getIsQuantified()?"1":"2");
 
 						oplist.add(opmap);
 					}
@@ -705,6 +706,7 @@ public class OrganizationEvaluationServiceImpl extends ServiceImpl<OrganizationE
 						Map<String, Object> zhdf = new HashMap<>();
 						zhdf.put("key", dto.getChildCode()+"_zhdf");
 						zhdf.put("name", "综合得分");
+						zhdf.put("flag", "1");
 						zhdfflg = false;
 						oplist.add(zhdf);
 					}
@@ -743,12 +745,9 @@ public class OrganizationEvaluationServiceImpl extends ServiceImpl<OrganizationE
 							}else {
 								opmap.put(dto.getChildCode()+"_"+dto.getOptionCode(),0.0);
 							}
-
-
-						}else if(iChildCodeMap.size()==1 && dto.getOptionCode().equals("DF")) {
-							opmap.put(dto.getChildCode()+"_"+dto.getOptionCode(),dto.getQuantifiedValue());
-						}else {
-							opmap.put(dto.getChildCode()+"_"+dto.getOptionCode(),0.0);
+						}else  {
+							//获取每个单元格的数据
+							opmap.put(dto.getChildCode()+"_"+dto.getOptionCode(),dto.getNonQuantifiedValue());
 						}
 
 						//综合得分