公用计算方法修改

yun-zuoyi
amy 7 years ago
parent 456a1dc8b9
commit e329c69aa5

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

@ -5,6 +5,8 @@ import cn.estsh.i3plus.pojo.wms.bean.WmsMoveDetails;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param; import org.springframework.data.repository.query.Param;
import java.util.List;
/** /**
* @Description : * @Description :
* @Reference : * @Reference :

Loading…
Cancel
Save