计算bug修改

yun-zuoyi
amy 6 years ago
parent a9ab449316
commit f2d7279e94

@ -1035,7 +1035,6 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
double sumResult = 0.0;
List<?> objList = query.getResultList();
// query.getSingleResult()
if(objList.size() > 0){
sumResult = Double.parseDouble(objList.iterator().next().toString());
}
@ -1053,17 +1052,19 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
@Override
public double findAvgByProperties(String sumPropertyName, String groupByName, String[] paramName, Object[] paramValue) {
if ((paramName != null) && (paramName.length > 0) && (paramValue != null) && (paramValue.length > 0)) {
StringBuffer sb = new StringBuffer("select avg(:"+sumPropertyName+") from " + persistentClass.getName() + " model where 1=1 ");
StringBuffer sb = new StringBuffer("select avg(model."+sumPropertyName+") from " + persistentClass.getName() + " model where 1=1 ");
appendQL(sb,paramName,paramValue);
sb.append(" group by :groupByName");
sb.append(" group by model." + groupByName);
Query query = entityManager.createQuery(sb.toString());
query.setParameter(":sumPropertyName", sumPropertyName);
setParameter(query,paramName,paramValue);
query.setParameter(":groupByName", groupByName);
Double sumResult = entityManager.createQuery(query.toString(),Double.class).getSingleResult();
return sumResult == null ? 0.0 : sumResult.doubleValue();
double sumResult = 0.0;
List<?> objList = query.getResultList();
if(objList.size() > 0){
sumResult = Double.parseDouble(objList.iterator().next().toString());
}
return sumResult;
}else{
throw new IllegalArgumentException("sum查询错误!paramName:" + paramName + ",paramValue:" + paramValue);
}
@ -1077,17 +1078,19 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
@Override
public double findMaxByProperties(String sumPropertyName, String groupByName, String[] paramName, Object[] paramValue) {
if ((paramName != null) && (paramName.length > 0) && (paramValue != null) && (paramValue.length > 0)) {
StringBuffer sb = new StringBuffer("select max(:"+sumPropertyName+") from " + persistentClass.getName() + " model where 1=1 ");
appendQL(sb,paramName,paramValue);
sb.append(" group by :groupByName");
StringBuffer sb = new StringBuffer("select max(model." + sumPropertyName + ") from " + persistentClass.getName() + " model where 1=1 ");
appendQL(sb, paramName, paramValue);
sb.append(" group by model." + groupByName);
Query query = entityManager.createQuery(sb.toString());
query.setParameter(":sumPropertyName", sumPropertyName);
setParameter(query,paramName,paramValue);
query.setParameter(":groupByName", groupByName);
Double sumResult = entityManager.createQuery(query.toString(),Double.class).getSingleResult();
return sumResult == null ? 0.0 : sumResult.doubleValue();
double sumResult = 0.0;
List<?> objList = query.getResultList();
if(objList.size() > 0){
sumResult = Double.parseDouble(objList.iterator().next().toString());
}
return sumResult;
}else{
throw new IllegalArgumentException("sum查询错误!paramName:" + paramName + ",paramValue:" + paramValue);
}
@ -1101,17 +1104,19 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
@Override
public double findMinByProperties(String sumPropertyName, String groupByName, String[] paramName, Object[] paramValue) {
if ((paramName != null) && (paramName.length > 0) && (paramValue != null) && (paramValue.length > 0)) {
StringBuffer sb = new StringBuffer("select min(:"+sumPropertyName+") from " + persistentClass.getName() + " model where 1=1 ");
appendQL(sb,paramName,paramValue);
sb.append(" group by :groupByName");
StringBuffer sb = new StringBuffer("select min(model." + sumPropertyName + ") from " + persistentClass.getName() + " model where 1=1 ");
appendQL(sb, paramName, paramValue);
sb.append(" group by model." + groupByName);
Query query = entityManager.createQuery(sb.toString());
query.setParameter(":sumPropertyName", sumPropertyName);
setParameter(query,paramName,paramValue);
query.setParameter(":groupByName", groupByName);
Double sumResult = entityManager.createQuery(query.toString(),Double.class).getSingleResult();
return sumResult == null ? 0.0 : sumResult.doubleValue();
double sumResult = 0.0;
List<?> objList = query.getResultList();
if(objList.size() > 0){
sumResult = Double.parseDouble(objList.iterator().next().toString());
}
return sumResult;
}else{
throw new IllegalArgumentException("sum查询错误!paramName:" + paramName + ",paramValue:" + paramValue);
}

Loading…
Cancel
Save