Commit 65a68267 by zhangkb

修改指标计算保存结果值时判断结果表是否存在逻辑

parent 83ca9adc
......@@ -147,9 +147,16 @@ public class DriveIndCalculateActor extends AbstractActor{
driveIndValue = String.format("%.4f",
new BigDecimal(Double.valueOf(driveIndValue)));
}
//保存进考核指标结果表中
DriveIndCalResult driveIndCalResult = new DriveIndCalResult(compareId,
//判断结果表中是否已存在该结果数据,存在则覆盖
DriveIndCalResult driveIndCalResult = driveIndCalResultService.
findCalResultDataIsExist(compareId, compareObj, driveIndId, date);
if(driveIndCalResult==null) {
driveIndCalResult = new DriveIndCalResult(compareId,
driveIndId,compareObj,date,driveIndValue,unit,"1","1","admin");
}else {
driveIndCalResult.setValue(driveIndValue);
}
//保存进考核指标结果表中
driveIndCalResult = driveIndCalResultService.saveOrUpdate(driveIndCalResult);
//返回指标值回去算平均值和排名
......
......@@ -33,4 +33,6 @@ public interface DriveIndCalResultRepository extends MongoRepository<DriveIndCal
public List<DriveIndCalResult> findByCompareObjAndDate(String compareObj,int date);
public List<DriveIndCalResult> findByCompareObjAndDateAndIndIdIn(String compareObj,int date,List<String> indIds);
public Optional<DriveIndCalResult> findByCompareIdAndCompareObjAndIndIdAndDate(String compareId,String compareObj,String indId,int date);
}
......@@ -45,6 +45,16 @@ public class DriveIndCalResultService {
return null;
}
public DriveIndCalResult findCalResultDataIsExist(String compareId,String compareObj,
String indId,int date) {
Optional<DriveIndCalResult> resultOp = driveIndCalResultRepo.
findByCompareIdAndCompareObjAndIndIdAndDate(compareId, compareObj, indId, date);
if(resultOp.isPresent()) {
return resultOp.get();
}
return null;
}
public void calculateComp(String compareId,String compareObjsString,String driveIndIdsString,
int date) {
String[] compareObjs = compareObjsString.split(";");
......
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