package com.supermap.zzsubcorp.LandManager.LandManagerEngine.dao.impl;

import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import com.supermap.zzsubcorp.LandManager.LandManagerEngine.dao.ZYZCDao;
import com.supermap.zzsubcorp.LandManager.LandManagerEngine.entity.HisQsQlr;
import com.supermap.zzsubcorp.LandManager.LandManagerEngine.entity.HisQsgxTdsyq;
import com.supermap.zzsubcorp.LandManager.LandManagerEngine.entity.HisStTd;
import com.supermap.zzsubcorp.LandManager.LandManagerEngine.entity.HisSydjSydjxm;
import com.supermap.zzsubcorp.LandManager.LandManagerEngine.entity.HisSydjSygx;
import com.supermap.zzsubcorp.LandManager.LandManagerEngine.entity.LandEntity;
import com.supermap.zzsubcorp.LandManager.LandManagerEngine.entity.QsQlr;
import com.supermap.zzsubcorp.LandManager.LandManagerEngine.entity.QsgxTdsyq;
import com.supermap.zzsubcorp.LandManager.LandManagerEngine.entity.StTd;
import com.supermap.zzsubcorp.LandManager.LandManagerEngine.entity.SydjSydjxm;
import com.supermap.zzsubcorp.LandManager.LandManagerEngine.entity.SydjSygx;
import com.supermap.zzsubcorp.LandManager.LandManagerEngine.entity.Tdzs;
import com.supermap.zzsubcorp.LandManager.LandManagerEngine.util.HibernateUtil;

@Repository
@Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW )
public class ZYZCDaoImpl implements ZYZCDao{
	@Override
	public int saveQLRInfo(QsQlr qsqlr) {
		Session session=null;
		Transaction tx=null;
		try{
			session=HibernateUtil.getSession();
			tx=session.beginTransaction();
			long o=Long.parseLong((String) session.save(qsqlr));
			tx.commit();
		}catch(HibernateException e){
			if(tx!=null){
				tx.rollback();
				throw e;
			  }
			}finally{
				if(session!=null){
					session.close();
				}
		}
		return 100;
	}

	@Override
	public int saveDJLXInfo(SydjSydjxm xmxx) {
		Session session=null;
		Transaction tx=null;
		try{
			session=HibernateUtil.getSession();
			tx=session.beginTransaction();
			long o=Long.parseLong((String) session.save(xmxx));
			tx.commit();
		}catch(HibernateException e){
			if(tx!=null){
				tx.rollback();
				throw e;
			  }
			}finally{
				if(session!=null){
					session.close();
				}
		}
		return 100;
	}
	@Override
	public int saveTDInfo(StTd jbxx) {
		Session session=null;
		Transaction tx=null;
		try{
			session=HibernateUtil.getSession();
			tx=session.beginTransaction();
			long o=Long.parseLong((String) session.save(jbxx));
			tx.commit();
		}catch(HibernateException e){
			if(tx!=null){
				tx.rollback();
				throw e;
			  }
			}finally{
				if(session!=null){
					session.close();
				}
		}
		return 100;
	}
	@Override
	public List<SydjSygx> findOperate(String nameOrBh) {
	        Session session=null;
			session=HibernateUtil.getSession();
		    String hql = "from SydjSygx where xmid=:xid";    
			Query query = session.createQuery(hql);
			query.setParameter("xid", nameOrBh);
			List<SydjSygx> list = query.list();  
			return list;
	}	 
	@Override
	public List<StTd> findDataBySSSTM(String ssst) {
		    Session session=HibernateUtil.getSession();                 
	        String hql = "from StTd where ssstm=:xid";    
	        Query query = session.createQuery(hql);
	        query.setParameter("xid", ssst);
	        List<StTd> list = query.list();  
	        return list;
	}

	@Override
	public List<QsgxTdsyq> findQLRInfox(String s) {
		    Session session=HibernateUtil.getSession();                       
	        String hql = "from QsgxTdsyq where bdcdyh=:xid";    
	        Query query = session.createQuery(hql);
	        query.setParameter("xid", s);
	        List<QsgxTdsyq> list = query.list();  
	        return list;
	}

	@Override
	public List<SydjSydjxm> findXXXXByXMID(String xmid) {
		    Session session=HibernateUtil.getSession();                      
	        String hql = "from SydjSydjxm where xmid=:xid";    
	        Query query = session.createQuery(hql);
	        query.setParameter("xid", xmid);
	        List<SydjSydjxm> list = query.list();  
	        return list;
	}

	@Override
	public List<StTd> findTDInfox(String ssstm) {
		Session session=HibernateUtil.getSession();                        
        String hql = "from StTd where ssstm=:ssstm";    
        Query query = session.createQuery(hql);
        query.setParameter("ssstm", ssstm);
        List<StTd> list = query.list();  
        return list;
	}

	@Override
	public List<QsQlr> findQLRInfoByqlrbm(String qlrbm) {
		Session session=HibernateUtil.getSession();                          
        String hql = "from QsQlr where qlrbh=:qlrbm";    
        Query query = session.createQuery(hql);
        query.setParameter("qlrbm", qlrbm);
        List<QsQlr> list = query.list();  
        return list;
	}

	@Override
	public List<QsQlr> findQLRMCInfo(String qlrbh) {
		Session session=HibernateUtil.getSession();                       
        String hql = "from QsQlr where qlrbh=:qs";    
        Query query = session.createQuery(hql);
        query.setParameter("qs", qlrbh);
        List<QsQlr> list = query.list();  
        return list;
	}

	@Override
	public int saveToHisQLRInfo(QsQlr qsQlr, HisQsQlr hq) {
		Session session=null;
		Transaction tx=null;
		try{
			session=HibernateUtil.getSession();
			tx=session.beginTransaction();
			hq.setBzsm(qsQlr.getQlrbzsm());
			hq.setDz(qsQlr.getDz());
			hq.setDzyj(qsQlr.getDzyj());
			hq.setFzjg(qsQlr.getFzjg());
			hq.setGzdy(qsQlr.getGzdy());
			hq.setHjszss(qsQlr.getHjszss());
			hq.setLxdh(qsQlr.getLxdh());
			hq.setQlbh(qsQlr.getQlbh());
			hq.setQllx(qsQlr.getQlrqllx());
			hq.setQlrbh(qsQlr.getQlrbh());
			hq.setQlrlx(qsQlr.getQlrlx());
			hq.setQlrmc(qsQlr.getQlrmc());
			hq.setXb(qsQlr.getXb());
			hq.setYb(qsQlr.getYb());
			hq.setZjbh(qsQlr.getZjbh());
		    hq.setZjlx(qsQlr.getZjlx());
		    hq.setZt(qsQlr.getQlrzt());
		    long o=Long.parseLong((String) session.save(hq));
			tx.commit();
		}catch(HibernateException e){
			if(tx!=null){
				tx.rollback();
				throw e;
			  }
			}finally{
				if(session!=null){
					session.close();
				}
		}
		return 100;
	}

	@Override
	public int updateDataAfterSave(QsQlr qsqlr) {
		     Session session=null;
			Transaction tx=null;
			try{
				session=HibernateUtil.getSession();
				tx=session.beginTransaction();
				  QsQlr qq=session.get(QsQlr.class, qsqlr.getQlrpkid());
				  qq.setQlrbzsm(qsqlr.getQlrbzsm());
				  qq.setDz(qsqlr.getDz());
				  qq.setDzyj(qsqlr.getDzyj());
				  qq.setFzjg(qsqlr.getFzjg());
				  qq.setGzdy(qsqlr.getGzdy());
				  qq.setHjszss(qsqlr.getHjszss());
				  qq.setLxdh(qsqlr.getLxdh());
				  qq.setQlbh(qsqlr.getQlbh());
				  qq.setQlrqllx(qsqlr.getQlrqllx());
				  qq.setQlrbh(qsqlr.getQlrbh());
				  qq.setQlrlx(qsqlr.getQlrlx());
				  qq.setQlrmc(qsqlr.getQlrmc());
				  qq.setXb(qsqlr.getXb());
				  qq.setYb(qsqlr.getYb());
				  qq.setZjbh(qsqlr.getZjbh());
				  qq.setZjlx(qsqlr.getZjlx());
				  qq.setQlrzt(qsqlr.getQlrzt());
				  session.update(qq);
				  tx.commit();
			}catch(HibernateException e){
				if(tx!=null){
					tx.rollback();
					throw e;
				  }
				}finally{
					if(session!=null){
						session.close();
					}
			}
			return 100;
	}

	@Override
	public int saveToHisXMXXInfo(SydjSydjxm xmxx, HisSydjSydjxm hq) {
		            Session session=null;
					Transaction tx=null;
					int k=0;
					try{
						session=HibernateUtil.getSession();
						tx=session.beginTransaction();
						 hq.setDjdjms(xmxx.getDjdjms());
						    hq.setDjr(xmxx.getDjr());
						    hq.setDjrq(xmxx.getDjrq());
						    hq.setXmid(xmxx.getXmid());
						    hq.setXmlx(xmxx.getXmlx());
						    hq.setXmzt(xmxx.getXmzt());
							long o=Long.parseLong((String) session.save(hq));
							if(o>0){
								k=100;
							}else{
								k=0;
							}
						  tx.commit();
					}catch(HibernateException e){
						if(tx!=null){
							tx.rollback();
							throw e;
						  }
						}finally{
							if(session!=null){
								session.close();
							}
					}
					return k;
		
	
	}

	@Override
	public List<SydjSydjxm> findDataByXmxxPkid(String pkid) {
		    Session session=HibernateUtil.getSession();                   
	        String hql = "from SydjSydjxm where djpkid=:xid";    
	        Query query = session.createQuery(hql);
	        query.setParameter("xid", pkid);
	        List<SydjSydjxm> list = query.list();  
	        return list;
	}

	@Override
	public int updateXmxxInfo(SydjSydjxm xmxx) {
		    Session session=null;
			Transaction tx=null;
			try{
				session=HibernateUtil.getSession();
				tx=session.beginTransaction();
				  SydjSydjxm qq=session.get(SydjSydjxm.class, xmxx.getDjpkid());
				  qq.setDjdjms(xmxx.getDjdjms());
				  qq.setDjr(xmxx.getDjr());
				  qq.setDjrq(xmxx.getDjr());
				  qq.setXmzt(xmxx.getXmzt());
				  qq.setXmlx(xmxx.getXmlx());
				  qq.setXmid(xmxx.getXmid());
				  session.update(qq);
				  tx.commit();
			}catch(HibernateException e){
				if(tx!=null){
					tx.rollback();
					throw e;
				  }
				}finally{
					if(session!=null){
						session.close();
					}
			}
			return 100;
		
		
		
		
	}

	@Override
	public List<StTd> findDataByTDPkid(String pkid) {
		    Session session=HibernateUtil.getSession();                    
	        String hql = "from StTd where pkid=:xid";    
	        Query query = session.createQuery(hql);
	        query.setParameter("xid", pkid);
	        List<StTd> list = query.list();  
	        return list;
	}

	@Override
	public int saveToHisTDInfo(StTd stTd,HisStTd hq) {
			    Session session=null;
				Transaction tx=null;
				int k=0;
				try{
					session=HibernateUtil.getSession();
					tx=session.beginTransaction();
					 hq.setBdcdyh(stTd.getBdcdyh());
					    hq.setBzsm(stTd.getBzsm());
					    hq.setCjsj(stTd.getCjsj());
					    hq.setCjxmm(stTd.getCjxmm());
					    hq.setJdh(stTd.getJdh());
					    hq.setJfh(stTd.getJfh());
					    hq.setJzmd(stTd.getJzmd());
					    hq.setJzxg(stTd.getJzxg());
					    hq.setJzzdmj(stTd.getJzzdmj());
					    hq.setJzzmj(stTd.getJzzmj());
					    hq.setMjdw(stTd.getMjdw());
					    hq.setQllx(stTd.getQllx());
					    hq.setQlsdfs(stTd.getQlsdfs());
					    hq.setQsxz(stTd.getQsxz());
					    hq.setRjl(stTd.getRjl());
					    hq.setZdmj(stTd.getZdmj());
					    hq.setZdsz(stTd.getZdsz());
					    hq.setZl(stTd.getZl());
					    hq.setZt(stTd.getZt());
					    hq.setZxsj(stTd.getZxsj());
					    hq.setZxxmm(stTd.getZxxmm());
					    hq.setSsstm(stTd.getSsstm());
					    hq.setTdbh(stTd.getTdbh());
					    hq.setTddj(stTd.getTddj());  
					    hq.setTdyt(stTd.getTdyt());
					    hq.setZdlx(stTd.getZdlx());
					    hq.setXzqdm(stTd.getXzqdm());
					    hq.setZddm(stTd.getZddm());
						long o=Long.parseLong((String) session.save(hq));
						if(o>0){
							k=100;
						}else{
							k=0;
						}
					  tx.commit();
				}catch(HibernateException e){
					if(tx!=null){
						tx.rollback();
						throw e;
					  }
					}finally{
						if(session!=null){
							session.close();
						}
				}
				return k;
}

	@Override
	public int updateTheTDInfo(StTd st) {
	                Session session=null;
					Transaction tx=null;
					try{
						session=HibernateUtil.getSession();
						tx=session.beginTransaction();
						  StTd qq=session.get(StTd.class, st.getPkid());
						    qq.setBdcdyh(st.getBdcdyh());
						    qq.setBzsm(st.getBzsm());
						    qq.setCjsj(st.getCjsj());
						    qq.setCjxmm(st.getCjxmm());
						    qq.setJdh(st.getJdh());
						    qq.setJfh(st.getJfh());
						    qq.setJzmd(st.getJzmd());
						    qq.setJzxg(st.getJzxg());
						    qq.setJzzdmj(st.getJzzdmj());
						    qq.setJzzmj(st.getJzzmj());
						    qq.setMjdw(st.getMjdw());
						    qq.setQllx(st.getQllx());
						    qq.setQlsdfs(st.getQlsdfs());
						    qq.setQsxz(st.getQsxz());
						    qq.setRjl(st.getRjl());
						    qq.setZdmj(st.getZdmj());
						    qq.setZdsz(st.getZdsz());
						    qq.setZl(st.getZl());
						    qq.setZt(st.getZt());
						    qq.setZxsj(st.getZxsj());
						    qq.setZxxmm(st.getZxxmm());
						    qq.setSsstm(st.getSsstm());
						    qq.setTdbh(st.getTdbh());
						    qq.setTddj(st.getTddj());  
						    qq.setTdyt(st.getTdyt());
						    qq.setZdlx(st.getZdlx());
						    qq.setXzqdm(st.getXzqdm());
						    qq.setZddm(st.getZddm());
						    session.update(qq);
						    tx.commit();
					}catch(HibernateException e){
						if(tx!=null){
							tx.rollback();
							throw e;
						  }
						}finally{
							if(session!=null){
								session.close();
							}
					}
					return 100;
	}

	@Override
	public List<StTd> findAllTDInfo() {
		    Session session=HibernateUtil.getSession();                   
	        String hql = "from StTd";    
	        Query query = session.createQuery(hql);
	        List<StTd> list = query.list();  
	        return list;
	}

	@Override
	public List<QsgxTdsyq> findOtherInfos(String bdcdyh) {
		    Session session=HibernateUtil.getSession();                     
	        String hql = "from QsgxTdsyq where bdcdyh=:bdc";    
	        Query query = session.createQuery(hql);
	        query.setParameter("bdc", bdcdyh);
	        List<QsgxTdsyq> list = query.list();  
	        return list;
	}

	@Override
	public List<QsQlr> findALlQLRInfoByBH(String qlrbh) {
		Session session=HibernateUtil.getSession();                 
        String hql = "from QsQlr where qlrbh=:bc";    
        Query query = session.createQuery(hql);
        query.setParameter("bc", qlrbh);
        List<QsQlr> list = query.list();  
        return list;
	}

	@Override
	public List<SydjSygx> findAllOperateInfo() {
		Session session=HibernateUtil.getSession();                   
        String hql = "from SydjSygx";    
        Query query = session.createQuery(hql);
       // query.setParameter("bc", qlrbh);
        List<SydjSygx> list = query.list();  
        return list;
	}

	@Override
	public int deleteXMXX(String xmid) {
   	    Session session=null;
		Transaction tx=null;
		int k=0;
		try{
			session=HibernateUtil.getSession();
			tx=session.beginTransaction();
			 String hql="delete SydjSydjxm where djpkid=:id";
		        Query query = session.createQuery(hql);
		        query.setParameter("id", xmid);
		        int i=query.executeUpdate(); 
		        if(i>0){
		        	k=100;
		        }else{
		        	k=0;
		        }
			    tx.commit();
		}catch(HibernateException e){
			if(tx!=null){
				tx.rollback();
				throw e;
			  }
			}finally{
				if(session!=null){
					session.close();
				}
		}
		return k;
	}

	@Override
	public int deleteTDInfo(String td) {
   	        Session session=null;
   			Transaction tx=null;
   			int k=0;
   			try{
   				session=HibernateUtil.getSession();
   				tx=session.beginTransaction();
   			    String hql="delete StTd where pkid=:Tdid";
   	            Query query = session.createQuery(hql);
   	            query.setParameter("Tdid", td);
   	            int i=query.executeUpdate(); 
   			        if(i>0){
   			        	k=100;
   			        }else{
   			        	k=0;
   			        }
   				    tx.commit();
   			}catch(HibernateException e){
   				if(tx!=null){
   					tx.rollback();
   					throw e;
   				  }
   				}finally{
   					if(session!=null){
   						session.close();
   					}
   			}
   			return k;
}

	@Override
	public List<QsQlr> findQLRBYPKID(String qlr) {
		Session session=HibernateUtil.getSession();                     
        String hql = "from QsQlr where qlrpkid=:pid";    
        Query query = session.createQuery(hql);
        query.setParameter("pid", qlr);
        List<QsQlr> list = query.list();  
        return list;
	}

	@Override
	public int deleteQSQLRInfo(String qlr) {
   	    Session session=null;
		Transaction tx=null;
		int k=0;
		try{
			session=HibernateUtil.getSession();
			tx=session.beginTransaction();
			  String hql="delete QsQlr where qlrpkid=:qsid";
		        Query query = session.createQuery(hql);
		        query.setParameter("qsid", qlr);
		        int i=query.executeUpdate(); 
		        if(i>0){
		        	k=100;
		        }else{
		           k=0;	
		        }
			    tx.commit();
		}catch(HibernateException e){
			if(tx!=null){
				tx.rollback();
				throw e;
			  }
			}finally{
				if(session!=null){
					session.close();
				}
		}
		return k;
}

	@Override
	public List<HisSydjSygx> findAllOperateFromHistory() {
		    Session session=HibernateUtil.getSession();                    
	        String hql = "from HisSydjSygx";    
	        Query query = session.createQuery(hql);
	        List<HisSydjSygx> list = query.list();  
	        session.close();
	        return list;
	}

	@Override
	public List<HisStTd> findDataBySSSTMFromHisTable(String ssst) {
		    Session session=HibernateUtil.getSession();                   
	        String hql = "from HisStTd where ssstm=:st";    
	        Query query = session.createQuery(hql);
	        query.setParameter("st", ssst);
	        List<HisStTd> list = query.list();  
	        return list;
	}

	@Override
	public List<HisQsgxTdsyq> findQLRInfoxFromHistory(String bdcdyh) {
		    Session session=HibernateUtil.getSession();                 
	        String hql = "from HisQsgxTdsyq where bdcdyh=:bdc";    
	        Query query = session.createQuery(hql);
	        query.setParameter("bdc", bdcdyh);
	        List<HisQsgxTdsyq> list = query.list();  
	        return list;
	}

	@Override
	public List<HisQsQlr> findQLRMCInfoFromHis(String qlrbh) {
		Session session=HibernateUtil.getSession();             
        String hql = "from HisQsQlr where qlrbh=:bc";    
        Query query = session.createQuery(hql);
        query.setParameter("bc", qlrbh);
        List<HisQsQlr> list = query.list();  
        return list;
	}

	@Override
	public List<HisSydjSydjxm> findXXXXByXMIDFromHis(String xmid) {
		Session session=HibernateUtil.getSession();                 
        String hql = "from HisSydjSydjxm where xmid=:bc";    
        Query query = session.createQuery(hql);
        query.setParameter("bc", xmid);
        List<HisSydjSydjxm> list = query.list();  
        return list;
	}

	@Override
	public List<HisStTd> findTDInfoxFromHis(String ssstm) {
		Session session=HibernateUtil.getSession();                     
        String hql = "from HisStTd where ssstm=:bc";    
        Query query = session.createQuery(hql);
        query.setParameter("bc", ssstm);
        List<HisStTd> list = query.list();  
        return list;
	}

	@Override
	public List<HisQsQlr> findQLRInfoByqlrbmFromHis(String qlrbm) {
		Session session=HibernateUtil.getSession();                    
        String hql = "from HisQsQlr where qlrbh=:bc";    
        Query query = session.createQuery(hql);
        query.setParameter("bc", qlrbm);
        List<HisQsQlr> list = query.list();  
        return list;
	}

	@Override
	public List<HisSydjSydjxm> findHisDataByPkid(String xmbid) {
		Session session=HibernateUtil.getSession();                     
        String hql = "from HisSydjSydjxm where djpkid=:pkid";    
        Query query = session.createQuery(hql);
        query.setParameter("pkid", xmbid);
        List<HisSydjSydjxm> list = query.list();  
        return list;
	}

	@Override
	public List<HisStTd> findTdInfoHisByPkid(String tdbid) {
		Session session=HibernateUtil.getSession();                      
        String hql = "from HisStTd where pkid=:bc";    
        Query query = session.createQuery(hql);
        query.setParameter("bc", tdbid);
        List<HisStTd> list = query.list();  
        return list;
	}

	@Override
	public int deleteHisXmByPkid(String xmbid) {
   	        Session session=null;
   			Transaction tx=null;
   			int k=0;
   			try{
   				session=HibernateUtil.getSession();
   				tx=session.beginTransaction();
   			    String hql="delete HisSydjSydjxm where djpkid=:id";
   	            Query query = session.createQuery(hql);
   	            query.setParameter("id", xmbid);
   	            int i=query.executeUpdate(); 
   			        if(i>0){
   			        	k=100;
   			        }else{
   			           k=0;	
   			        }
   				    tx.commit();
   			}catch(HibernateException e){
   				if(tx!=null){
   					tx.rollback();
   					throw e;
   				  }
   				}finally{
   					if(session!=null){
   						session.close();
   					}
   			}
   			return k;
	}

	@Override
	public int hsFromHisToNowTDInfo(StTd st) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public int deleteHisTDInfoAfterHS(String tdbid) {
   	  Session session=null;
			Transaction tx=null;
			int k=0;
			try{
				session=HibernateUtil.getSession();
				tx=session.beginTransaction();
				String hql="delete HisStTd where pkid=:id";
			    Query query = session.createQuery(hql);
			    query.setParameter("id", tdbid);
			         int i=query.executeUpdate(); 
			        if(i>0){
			        	k=100;
			        }else{
			           k=0;	
			        }
				    tx.commit();
			}catch(HibernateException e){
				if(tx!=null){
					tx.rollback();
					throw e;
				  }
				}finally{
					if(session!=null){
						session.close();
					}
			}
			return k;
	}

	@Override
	public List<HisQsQlr> findHisInfoByPkid(String qlbid) {
		Session session=HibernateUtil.getSession();               
        String hql = "from HisQsQlr where pkid=:bc";    
        Query query = session.createQuery(hql);
        query.setParameter("bc", qlbid);
        List<HisQsQlr> list = query.list();  
        return list;
	}

	@Override
	public int deleteAfterHsForQlrInfo(String qlbid) {
   	    Session session=null;
		Transaction tx=null;
		int k=0;
		try{
			session=HibernateUtil.getSession();
			tx=session.beginTransaction();
			  String hql="delete HisQsQlr where pkid=:id";
		        Query query = session.createQuery(hql);
		        query.setParameter("id", qlbid);
		       int i=query.executeUpdate(); 
		        if(i>0){
		        	k=100;
		        }else{
		           k=0;	
		        }
			    tx.commit();
		}catch(HibernateException e){
			if(tx!=null){
				tx.rollback();
				throw e;
			  }
			}finally{
				if(session!=null){
					session.close();
				}
		}
		return k;
	}

	@Override
	public List<QsgxTdsyq> findGXtableByQlrBm(String dm) {
		Session session=HibernateUtil.getSession();             
        String hql = "from QsgxTdsyq where qlrbh=:bc";    
        Query query = session.createQuery(hql);
        query.setParameter("bc", dm);
        List<QsgxTdsyq> list = query.list();  
        return list;
	}

	@Override
	public List<StTd> findInfoByBdcdyh(String bdcdyh) {
		Session session=HibernateUtil.getSession();             
        String hql = "from StTd where bdcdyh=:bc";    
        Query query = session.createQuery(hql);
        query.setParameter("bc", bdcdyh);
        List<StTd> list = query.list();  
        return list;
	}

	@Override
	public List<QsQlr> findQlrInfoByManyParam(String name, String dm, String dz) {
		Session session=HibernateUtil.getSession();                   
        String hql = "from QsQlr where qlrmc=:mc and qlrbh=:bh and dz=:dz1";    
        Query query = session.createQuery(hql);
        query.setParameter("mc", name);
        query.setParameter("bh", dm);
        query.setParameter("dz1", dz);
        List<QsQlr> list = query.list();  
        return list;
	}

	@Override
	public List<StTd> findTdInfoByManyConditionForZhcx(StTd form1) {
		Session session=HibernateUtil.getSession();
		StringBuffer hql=new StringBuffer();
		hql.append("from StTd where  1=1");
		if(form1.getZddm()!=null&&!"".equals(form1.getZddm())){
			hql.append(" and zddm="+form1.getZddm());
		}
		if(form1.getSyqx()!=null&&!"".equals(form1.getSyqx())){
			hql.append(" and syqx="+form1.getSyqx());
		}
		if(form1.getJzlx()!=null&&!"".equals(form1.getJzlx())){
			hql.append(" and jzlx=:jzlx");
		}
		if(form1.getJzmd()!=null&&!"".equals(form1.getJzmd())){
			hql.append(" and jzmd="+form1.getJzmd());
		}
		if(form1.getRjl()!=null&&!"".equals(form1.getRjl())){
			hql.append(" and rjl="+form1.getRjl());
		}
		if(form1.getPzyt()!=null&&!"".equals(form1.getPzyt())){
			hql.append(" and pzyt="+form1.getPzyt());
		}
		if(form1.getSjyt()!=null&&!"".equals(form1.getSjyt())){
			hql.append(" and sjyt="+form1.getSjyt());
		}
		if(form1.getQsxz()!=null&&!"".equals(form1.getQsxz())){
			hql.append(" and qsxz="+form1.getQsxz());
		}
		if(form1.getSyqlx()!=null&&!"".equals(form1.getSyqlx())){
			hql.append(" and syqlx="+form1.getSyqlx());
		}
		Query query = session.createQuery(hql.toString());
		List<StTd> list = query.list();  
		return list;
	}

	@Override
	public List<Tdzs> findTdZhInfoByManyCondition(Tdzs form2,String x) {
		Session session=HibernateUtil.getSession();
		StringBuffer hql=new StringBuffer();
		String tdzh=form2.getTdzh();
		hql.append("from Tdzs where 1=1 ");
		if(form2.getTdzh()!=null&&!"".equals(form2.getTdzh())){
			hql.append(" and tdzh="+"'"+tdzh+"'");
		}
		if(form2.getDjlb()!=null&&!"".equals(form2.getDjlb())){
			hql.append(" and djlb="+"'"+form2.getDjlb()+"'");
		}
		Query query = session.createQuery(hql.toString());
		List<Tdzs> list = query.list();  
		return list;
		
	}

	@Override
	public QsgxTdsyq findOneQlrbhByBdcdyh(String bdcdyh) {
		Session session=HibernateUtil.getSession();                   
        String hql = "from QsgxTdsyq where bdcdyh=:bdcdyh";    
        Query query = session.createQuery(hql);
        query.setParameter("bdcdyh", bdcdyh);
        QsgxTdsyq list = (QsgxTdsyq) query.uniqueResult();  
        return list;
	}

	@Override
	public QsQlr findQsQlrInfoByManyConditions(String qlrbh, QsQlr form3) {
		Session session=HibernateUtil.getSession();
		StringBuffer hql=new StringBuffer();
		hql.append("from QsQlr where  qlrbh=:qlrbh ");
		if(form3.getQlrmc()!=null&&!"".equals(form3.getQlrmc())){
			//hql.append("tdzh="+"'"+tdzh+"'");
			hql.append(" and qlrmc="+"'"+form3.getQlrmc()+"'");
		}
		if(form3.getQlrxz()!=null&&!"".equals(form3.getQlrxz())){
			hql.append(" and qlrxz="+"'"+form3.getQlrxz()+"'");
		}
		if(form3.getDz()!=null&&!"".equals(form3.getDz())){
			hql.append(" and dz="+"'"+form3.getDz()+"'");
		}
		if(form3.getFr()!=null&&!"".equals(form3.getFr())){
			hql.append(" and fr="+"'"+form3.getFr()+"'");
		}
		
		Query query = session.createQuery(hql.toString());
		query.setParameter("qlrbh", qlrbh);
		
		QsQlr list = (QsQlr) query.uniqueResult();  
		return list;
		
	}

	@Override
	public HisSydjSygx findQsQlrInfoByManyConditions(String paramx) {
		Session session=HibernateUtil.getSession();                   
        String hql = "from HisSydjSygx where xmid=:mc";    
        Query query = session.createQuery(hql);
        query.setParameter("mc", paramx);
        HisSydjSygx list = (HisSydjSygx)query.uniqueResult();  
        return list;
	}
}
-------------------------------------------------------------------------------------
package com.supermap.zzsubcorp.LandManager.LandManagerEngine.dao.impl;

import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.springframework.stereotype.Repository;

import com.supermap.zzsubcorp.LandManager.LandManagerEngine.dao.CommonDicDao;
import com.supermap.zzsubcorp.LandManager.LandManagerEngine.entity.CommonDic;
import com.supermap.zzsubcorp.LandManager.LandManagerEngine.entity.QsQlr;
import com.supermap.zzsubcorp.LandManager.LandManagerEngine.entity.SydjSygx;
import com.supermap.zzsubcorp.LandManager.LandManagerEngine.util.HibernateUtil;
@Repository
public class CommonDicDaoImpl implements CommonDicDao{

	@Override
	public int saveNameInfo(CommonDic cd) {
		Session session=null;
		Transaction tx=null;
		try{
			session=HibernateUtil.getSession();
			tx=session.beginTransaction();
			session.save(cd);
			tx.commit();
		}catch(HibernateException e){
			if(tx!=null){
				tx.rollback();
				throw e;
			  }
			}finally{
				if(session!=null){
					session.close();
				}
		}
		return 100;
	}

	@Override
	public CommonDic findByName(String queryName) {
		    Session session=null;
			session=HibernateUtil.getSession();
		    String hql = "from CommonDic where nodeName=:name";    
			Query query = session.createQuery(hql);
			query.setParameter("name", queryName);
			CommonDic list = (CommonDic)query.uniqueResult();  
			return list;
	}

	@Override
	public int updateOneData(String nodeName, String nodeCode, String pkidx) {
		   Integer idx=Integer.parseInt(pkidx);
		    Session session=null;
			Transaction tx=null;
			try{
				session=HibernateUtil.getSession();
				tx=session.beginTransaction();
				  CommonDic qq=session.get(CommonDic.class, idx);
				  qq.setNodeCode(nodeCode);
				  qq.setNodeName(nodeName);
				  session.update(qq);
				  tx.commit();
			}catch(HibernateException e){
				if(tx!=null){
					tx.rollback();
					throw e;
				  }
				}finally{
					if(session!=null){
						session.close();
					}
			}
			return 100;
	}

	@Override
	public int deleteOneData(String deleteByid) {
		    Session session=null;
		    Transaction tx=null;
			try{
				session=HibernateUtil.getSession();
				tx=session.beginTransaction();
				 String hql="delete CommonDic where pkid=:id";
			        Query query = session.createQuery(hql);
			        query.setParameter("id", Integer.parseInt(deleteByid));
			        int i=query.executeUpdate(); 
				    tx.commit();
			}catch(HibernateException e){
				if(tx!=null){
					tx.rollback();
					throw e;
				  }
				}finally{
					if(session!=null){
						session.close();
					}
			}
			return 100;
	}

	@Override
	public List<CommonDic> findAllInfo() {
		    Session session=null;
			session=HibernateUtil.getSession();
		    String hql = "from CommonDic";    
			Query query = session.createQuery(hql);
			List<CommonDic> list =query.list();  
			return list;
	}

	@Override
	public List<CommonDic> findDetailDataShow(String type) {
		  Session session=null;
			session=HibernateUtil.getSession();
		    String hql = "from CommonDic where type=:name";    
			Query query = session.createQuery(hql);
			query.setParameter("name", type);
			List<CommonDic> list =query.list();  
			return list;
	}

	@Override
	public CommonDic findSec(String id) {
		 Session session=null;
			session=HibernateUtil.getSession();
		    String hql = "from CommonDic where pkid=:name";    
			Query query = session.createQuery(hql);
			query.setParameter("name", Integer.parseInt(id));
			CommonDic list =(CommonDic) query.uniqueResult();  
			return list;
	}

	@Override
	public int updatexData(String aaName, String aaDm, String aatype, String aaDesc, String aapkid) {
		 Integer idx=Integer.parseInt(aapkid);
		    Session session=null;
			Transaction tx=null;
			try{
				session=HibernateUtil.getSession();
				tx=session.beginTransaction();
				  CommonDic qq=session.get(CommonDic.class, idx);
				  qq.setNodeCode(aaDm);
				  qq.setNodeName(aaName);
				  qq.setIntro(aaDesc);
				  qq.setNodeOrder(aaDm);
				  qq.setType(aatype);
				  session.update(qq);
				  tx.commit();
			}catch(HibernateException e){
				if(tx!=null){
					tx.rollback();
					throw e;
				  }
				}finally{
					if(session!=null){
						session.close();
					}
			}
			return 100;
	}

}