package com.jshop.dao.impl;
import java.sql.SQLException;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.stereotype.Repository;
import com.jshop.dao.ElectronicMenuCartTDao;
import com.jshop.entity.ElectronicMenuCartT;
import com.jshop.entity.TableT;
/**
* A data access object (DAO) providing persistence and search support for
* ElectronicMenuCartT entities. Transaction control of the save(), update() and
* delete() operations can directly support Spring container-managed
* transactions or they can be augmented to handle user-managed Spring
* transactions. Each of these methods provides additional information for how
* to configure it for the desired type of transaction control.
*
* @see com.jshop.entity.ElectronicMenuCartT
* @author MyEclipse Persistence Tools
*/
@Repository("electronicMenuCartTDao")
public class ElectronicMenuCartTDaoImpl extends HibernateDaoSupport implements ElectronicMenuCartTDao {
private static final Logger log = LoggerFactory.getLogger(ElectronicMenuCartTDaoImpl.class);
public int addElectronicMenuCartT(ElectronicMenuCartT ec) {
log.debug("save ElectronicMenuCartT");
try {
this.getHibernateTemplate().save(ec);
log.debug("save successful");
return 1;
} catch (RuntimeException re) {
log.error("save ElectronicMenuCartT", re);
throw re;
}
}
public int countfindAllElectronicMenuCartT() {
log.debug("countfindAllElectronicMenuCartT");
try {
String queryString = "select count(*) from ElectronicMenuCartT";
List<ElectronicMenuCartT> list = this.getHibernateTemplate().find(queryString);
if (list.size() > 0) {
Object o = list.get(0);
long l = (Long) o;
return (int) l;
}
return 0;
} catch (RuntimeException re) {
log.error("countfindAllElectronicMenuCartT error", re);
throw re;
}
}
public int delElectronicMenuCartTGoods(final String tableNumber, final String tablestate, final String goodsid, final String state) {
log.debug("delElectronicMenuCartTGoods");
try {
final String queryString = "delete from ElectronicMenuCartT as ec where ec.tableNumber=:tableNumber and ec.tablestate=:tablestate and ec.goodsid=:goodsid and ec.state=:state";
this.getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Query query = session.createQuery(queryString);
int i = 0;
query.setParameter("tableNumber", tableNumber);
query.setParameter("tablestate", tablestate);
query.setParameter("goodsid", goodsid);
query.setParameter("state", state);
i = query.executeUpdate();
i++;
return i;
}
});
} catch (RuntimeException re) {
log.error("delElectronicMenuCartTGoods failed", re);
throw re;
}
return 0;
}
public List<ElectronicMenuCartT> findAllElectronicMenuCartT() {
log.debug("findAllElectronicMenuCartT");
try {
String queryString = "from ElectronicMenuCartT";
List<ElectronicMenuCartT> list = this.getHibernateTemplate().find(queryString);
return list;
} catch (RuntimeException re) {
log.error("findAllElectronicMenuCartT error", re);
throw re;
}
}
@SuppressWarnings("unchecked")
public List<ElectronicMenuCartT> findAllElectronicMenuCartTBytableNumber(String tableNumber, String tablestate) {
log.debug("findAllElectronicMenuCartTBytableNumber");
try {
String queryString = "from ElectronicMenuCartT as ec where ec.tableNumber=:tableNumber and ec.tablestate=:tablestate";
List<ElectronicMenuCartT> list = this.getHibernateTemplate().findByNamedParam(queryString,new String[]{"tableNumber","tablestate"}, new Object[]{tableNumber,tablestate});
return list;
} catch (RuntimeException re) {
log.error("findAllElectronicMenuCartTBytableNumber error", re);
throw re;
}
}
public List<ElectronicMenuCartT> findAllElectronicMenuCartTByusername(String username) {
log.debug("findAllElectronicMenuCartTByusername");
try {
String queryString = "from ElectronicMenuCartT as ec where ec.username=:username";
List<ElectronicMenuCartT> list = this.getHibernateTemplate().findByNamedParam(queryString,"username",username);
return list;
} catch (RuntimeException re) {
log.error("findAllElectronicMenuCartTByusername error", re);
throw re;
}
}
public List<ElectronicMenuCartT> findElectronicMenuCartTByelectronicMenuOrderid(String electronicMenuOrderid, String state) {
log.debug("findElectronicMenuCartTByelectronicMenuOrderid");
try {
String queryString = "from ElectronicMenuCartT as ec where ec.electronicMenuOrderid=:electronicMenuOrderid and ec.state=:state";
List<ElectronicMenuCartT> list = this.getHibernateTemplate().findByNamedParam(queryString,new String[]{"electronicMenuOrderid","state"}, new Object[]{electronicMenuOrderid,state});
return list;
} catch (RuntimeException re) {
log.error("findElectronicMenuCartTByelectronicMenuOrderid error", re);
throw re;
}
}
public ElectronicMenuCartT findGoodsInElectronicMenuCartTOrNot(String tableNumber, String tablestate, String goodsid, String state) {
log.debug("findGoodsInElectronicMenuCartTOrNot");
try {
String queryString = "from ElectronicMenuCartT as ec where ec.tableNumber=:tableNumber and ec.tablestate=:tablestate and ec.goodsid=:goodsid and ec.state=:state";
List<ElectronicMenuCartT> list = this.getHibernateTemplate().findByNamedParam(queryString,new String[]{"tableNumber","tablestate","goodsid","state"}, new Object[]{tableNumber,tablestate,goodsid,state});
if(!list.isEmpty()){
return list.get(0);
}
return null;
} catch (RuntimeException re) {
log.error("findGoodsInElectronicMenuCartTOrNot error", re);
throw re;
}
}
public int updateElectronicMenuCartTelectronicMenuCartid(final String electronicMenuCartid, final String state, final String tableNumber, final String tablestate) {
log.debug("updateElectronicMenuCartTelectronicMenuCartid");
try {
final String queryString = "update ElectronicMenuCartT as ec set ec.electronicMenuCartid=:electronicMenuCartid where ec.state=:state and ec.tableNumber=:tableNumber and ec.tablestate=:tablestate";
this.getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
int i = 0;
Query query = session.createQuery(queryString);
query.setParameter("electronicMenuCartid", electronicMenuCartid);
query.setParameter("state", state);
query.setParameter("tableNumber", tableNumber);
query.setParameter("tablestate", tablestate);
i = query.executeUpdate();
return i;
}
});
} catch (RuntimeException re) {
log.error("updateElectronicMenuCartTelectronicMenuCartid error", re);
throw re;
}
return 0;
}
public int updateElectronicMenuCartTneedquantityBygoodsid(final String tableNumber, final String tablestate, final String goodsid, final int needquantity, final String state) {
log.debug("updateElectronicMenuCartTneedquantityBygoodsid");
try {
final String queryString = "update ElectronicMenuCartT as ec set ec.needquantity=:needquantity+ec.needquantity where ec.tableNumber=:tableNumber and ec.tablestate=:tablestate and ec.goodsid=:goodsid and ec.state=:state";
this.getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
int i = 0;
Query query = session.createQuery(queryString);
query.setParameter("needquantity", needquantity);
query.setParameter("state", state);
query.setParameter("tableNumber", tableNumber);
query.setParameter("tablestate", tablestate);
query.setParameter("goodsid", goodsid);
i = query.executeUpdate();
return i;
}
});
} catch (RuntimeException re) {
log.error("updateElectronicMenuCartTneedquantityBygoodsid error", re);
throw re;
}
return 0;
}
public int updateElectronicMenuCartTstate(final String tableNumber, final String tablestate, final String electronicMenuOrderid, final String state, final String electronicMenuCartid) {
log.debug("updateElectronicMenuCartTstate");
try {
final String queryString = "update ElectronicMenuCartT as ec set ec.state=:state where ec.tableNumber=:tableNumber and ec.tablestate=:tablestate and ec.electronicMenuOrderid=:electronicMenuOrderid and ec.electronicMenuCartid=:electronicMenuCartid";
this.getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
int i = 0;
Query query = session.createQuery(queryString);
query.setParameter("state",state);
query.setParameter("electronicMenuOrderid", electronicMenuOrderid);
query.setParameter("tableNumber", tableNumber);
query.setParameter("tablestate", tablestate);
query.setParameter("electronicMenuCartid", electronicMenuCartid);
i = query.executeUpdate();
return i;
}
});
} catch (RuntimeException re) {
log.error("updateElectronicMenuCartTstate error", re);
throw re;
}
return 0;
}
public int updateElectronicMenuCartTstate(final String tableNumber, final String tablestate, final String goodsid, final String state) {
log.debug("updateElectronicMenuCartTstate");
try {
final String queryString = "update ElectronicMenuCartT as ec set ec.state=:state where ec.tableNumber=:tableNumber and ec.tablestate=:tablestate and ec.goodsid=:goodsid";
this.getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
int i = 0;
Query query = session.createQuery(queryString);
query.setParameter("state",state);
query.setParameter("tableNumber", tableNumber);
query.setParameter("tablestate", tablestate);
query.setParameter("goodsid", goodsid);
i = query.executeUpdate();
return i;
}
});
} catch (RuntimeException re) {
log.error("updateElectronicMenuCartTstate error", re);
throw re;
}
return 0;
}
public int updateElectronicMenuCartTsubtotal(final String tableNumber, final String tablestate, final String goodsid, final double subtotal) {
log.debug("updateElectronicMenuCartTsubtotal");
try {
final String queryString = "update ElectronicMenuCartT as ec set ec.subtotal=:subtotal where ec.tableNumber=:tableNumber and ec.tablestate=:tablestate and ec.goodsid=:goodsid";
this.getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
int i = 0;
Query query = session.createQuery(queryString);
query.setParameter("subtotal",subtotal);
query.setParameter("tableNumber", tableNumber);
query.setParameter("tablestate", tablestate);
query.setParameter("goodsid", goodsid);
i = query.executeUpdate();
return i;
}
});
} catch (RuntimeException re) {
log.error("updateElectronicMenuCartTsubtotal error", re);
throw re;
}
return 0;
}
public int updateElectronicMenuCartTtablestate(final String electronicMenuOrderid, final String tablestate) {
log.debug("updateElectronicMenuCartTtablestate");
try {
final String queryString = "update ElectronicMenuCartT as ec set ec.tablestate=:tablestate where ec.electronicMenuOrderid=:electronicMenuOrderid";
this.getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
int i = 0;
Query query = session.createQuery(queryString);
query.setParameter("tablestate",tablestate);
query.setParameter("electronicMenuOrderid", electronicMenuOrderid);
i = query.executeUpdate();
return i;
}
});
} catch (RuntimeException re) {
log.error("updateElectronicMenuCartTtablestate error", re);
throw re;
}
return 0;
}
@Override
public int updateElectroMenuCartCookingState(final String cookingstate,final String tableNumber) {
final String queryString="update ElectronicMenuCartT as ec set ec.cookingstate=:cookingstate where ec.tableNumber=:tableNumber";
try {
this.getHibernateTemplate().execute(new HibernateCallback() {
@Override
public Object doInHibernate(Session session) throws HibernateException,
SQLException {
int i =0;
Query query = session.createQuery(queryString);
query.setParameter("cookingstate", cookingstate);
query.setParameter("tableNumber", tableNumber);
i=query.executeUpdate();
return i;
}
});
} catch (RuntimeException e) {
throw e;
}
return 0;
}
@Override
public List<ElectronicMenuCartT> findElectronicCartByTableNumber(
String tableNumber) {
try {
String queryString="from ElectronicMenuCartT as ec where ec.tableNumber=:tableNumber";
List<ElectronicMenuCartT>list = this.getHibernateTemplate().findByNamedParam(queryString, "tableNumber", tableNumber);
return list;
} catch (RuntimeException e) {
throw e;
}
}
public int updateElectroMenuCartCookingState(final String cookingstate) {
final String queryString="update ElectronicMenuCartT as ec ec.cookingstate=:cookingstate";
try {
this.getHibernateTemplate().execute(new HibernateCallback() {
@Override
public Object doInHibernate(Session session) throws HibernateException,
SQLException {
int i =0;
Query query = session.createQuery(queryString);
query.setParameter("cookingstate", cookingstate);
i=query.executeUpdate();
return i;
}
});
} catch (DataAccessException e) {
throw e;
}
return 0;
}
}