日期:2014-05-19 浏览次数:20802 次
统计业务员业务量SQL: select ManualManID,count(ManualManID) as totalNumber,sum(ProductQty) as totalProductQty,sum(ProductWeight) as totalProductWeight,sum(ProductVolume) as totalProductVolume, sum(ProductValue) as totalProductValue,sum(IncomeCarry) as totalIncomCarry from Oms_WayBill where Valid='True' group by ManualManID //------------------------------------ 我也要解决这问题,要用hql`` StringBuffer hql=new StringBuffer(); hql.append(" select new Map( "); hql.append(" count(*) as totalNumber "); hql.append(" ,sum(productQty) as totalProductQty "); hql.append(" ,sum(productWeight) as totalProductWeight "); hql.append(" ,sum(productVolume) as totalProductVolume "); hql.append(" ,sum(productValue) as totalProductValue "); hql.append(" ,sum(incomeCarry) as totalIncomCarry "); hql.append(" ) "); hql.append(" from WayBill "); hql.append(" where valid='1' "); hql.append(" group by empl.empId "); hql.append(" order by empl.empId "); System.out.println(hql.toString()); Query query=session.createQuery(hql.toString()); List<Map> list=query.list(); for(int i=0;i<list.size();i++){ Map m=list.get(i); System.out.println("--票数:"+m.get("totalNumber") +"--总件数:"+m.get("totalProductQty") +"--总重量:"+m.get("totalProductWeight") +"--总体积:"+m.get("totalProductVolume") +"--总价值:"+m.get("totalProductValue") +"--总收入:"+m.get("totalIncomCarry") ); } //运行结果: --票数:2--总件数:20--总重量:200--总体积:2000--总价值:1000--总收入:800 --票数:1--总件数:10--总重量:100--总体积:1000--总价值:500--总收入:400 现在还差个业务员,高手来解决啊··
------解决方案--------------------
Unable to locate appropriate constructor on class[.....]
是在这个类里没有找到对应的构造函数吧?
你在这个类里加个成员变量,用来接COUNT(customer.accounts.id))的值,这个类后加的成员变量与表没有对应映射没有关系,只要这个类与表有对应关系,你后加多少成员变量都没有关系,然后把这个成员变量的赋值加到构造函数里,new Customer(customer.id,customer.name,........,COUNT(customer.accounts.id))是一定要有对应相同参数个数的构造函数的!!!
------解决方案--------------------
Customer 提供 这些参数的构造方法
------解决方案--------------------
通过sql 用 addEntity
或者
query.setResultTransformer(Transformers.aliasToBean(xx.class));