`
jxqc_job
  • 浏览: 529 次
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
NewMateAppBillDaoImpl.java newmateappbilldaoimpl.java
package com.tdtech.pdm.create.dao.impl;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.HibernateTemplate;

import com.tdtech.pdm.create.dao.NewMateAppBillDao;
import com.tdtech.pdm.create.pojo.DQAssemblyPojo;
import com.tdtech.pdm.create.pojo.NewMateAppBillPojo;
public class NewMateAppBillDaoImpl implements NewMateAppBillDao{
	private HibernateTemplate hibernateTemplate;
	public HibernateTemplate getHibernateTemplate() {
		return hibernateTemplate;
	}
	public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
		this.hibernateTemplate = hibernateTemplate;
	}
	/**
	 * 风险评估时的更新
	 */
	public boolean updateRiskEvaluation(final NewMateAppBillPojo newMateAppBillPojo){
		boolean flag=false;
		try{
			int count=this.hibernateTemplate.execute(new HibernateCallback(){
				public Object doInHibernate(Session session)
						throws HibernateException, SQLException {
					String sql="update tb_newMateAppBill d "+
								"set d.recallbill=? "+
								"where d.applyid=?";
					Query query = session.createSQLQuery(sql);
					query.setString(0, newMateAppBillPojo.getRecallbill());
					query.setString(1, newMateAppBillPojo.getApplyid());
					return query.executeUpdate();
				}
			});
			if(count>0){
				flag=true;
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		return flag;
	}
	/**
	 * 通过applyid查询物料申请单的主键
	 */
	public int queryIdByApplyid(final String applyid){
		int id=0;
		try{
			id=this.getHibernateTemplate().execute(new HibernateCallback(){
				public Object doInHibernate(Session session)
						throws HibernateException, SQLException {
					String sql="select d.id from tb_newMateAppBill d where d.applyid=?";
					Query query = session.createSQLQuery(sql);
					query.setString(0, applyid);
					return query.list().get(0);
				}
			});
		}catch(Exception e){
			e.printStackTrace();
		}
		System.out.println("通过applyid查询物料申请单的主键:id="+id);
		return id;
	}
	/**
	 * 任务完成
	 */
	public boolean updateTaskComplate(final String applyid,final String applyResult,final String isYTechEnvalute,final String isYResearchValidate){
		boolean flag = false;
		int num=0; //受影响的行数
		try{
			num=this.hibernateTemplate.execute(new HibernateCallback(){
				public Object doInHibernate(Session session)
						throws HibernateException, SQLException {
					String sql = "update tb_newMateAppBill d "+
								 "set d.applyResult=?,d.isYTechEnvalute=?,d.isYResearchValidate=? "+
								 "where d.applyid=?";
					Query query = session.createSQLQuery(sql);
					query.setString(0, applyResult);
					query.setString(1, isYTechEnvalute);
					query.setString(2, isYResearchValidate);
					query.setString(3, applyid);
					return query.executeUpdate();
				}
			});
		}catch(Exception e){
			e.printStackTrace();
		}
		if(num>0){
			flag=true;
		}
		return flag;
	}
	/**
	 * 更新物料申请单信息
	 */
	public boolean updateMateDemandAppBill(final NewMateAppBillPojo newMateAppBillPojo){
		boolean flag=false;
		try{
			this.getHibernateTemplate().execute(new HibernateCallback(){
				public Object doInHibernate(Session session)
						throws HibernateException, SQLException {
					int num=0;
					String sql="update tb_newMateAppBill d "
					          +"set d.appbillname=?,d.projecttype=?,d.standprotime=?,"
							      +"d.cdcpplaintime=?,d.pdcpplaintime=?,d.tr4atime=?,d.productmanager=?,"
					              +"d.hardwaremanager=?,d.buyer=?,d.costmanager=?,"
							      +"d.sysmanager=?,d.projectmanager=?,d.roadsignedition=?,d.edition=? "
					          +"where d.applyid=?";
					Query query=session.createSQLQuery(sql);
					query.setString(0, newMateAppBillPojo.getAppbillname());
					query.setString(1, newMateAppBillPojo.getProjecttype());
					query.setString(2, newMateAppBillPojo.getStandprotime());
					query.setString(3, newMateAppBillPojo.getCdcpplaintime());
					query.setString(4, newMateAppBillPojo.getPdcpplaintime());
					query.setString(5, newMateAppBillPojo.getTr4atime());
					query.setString(6, newMateAppBillPojo.getProductmanager());
					query.setString(7, newMateAppBillPojo.getHardwaremanager());
					query.setString(8, newMateAppBillPojo.getBuyer());
					query.setString(9, newMateAppBillPojo.getCostmanager());
					query.setString(10, newMateAppBillPojo.getSysmanager());
					query.setString(11, newMateAppBillPojo.getProjectmanager());
					query.setString(12, newMateAppBillPojo.getRoadsignedition());
					query.setString(13, newMateAppBillPojo.getEdition());
					query.setString(14, newMateAppBillPojo.getApplyid());
					query.executeUpdate();
					num+=1;
					return num;
				}
			});
			flag=true;
		}catch(Exception e){
			e.printStackTrace();
		}
		return flag;
	}
	/**
	 * 通过申请单编号查询物料认证申请单--精确查询
	 */
	public NewMateAppBillPojo queryMateDemandAppBillByApplyid(final String applyid){
		NewMateAppBillPojo n=new NewMateAppBillPojo();
		List<NewMateAppBillPojo> list=this.getHibernateTemplate().execute(new HibernateCallback(){
			public Object doInHibernate(Session session)
					throws HibernateException, SQLException {
				String hql="from NewMateAppBillPojo n where applyid='"+applyid+"'";
				Query query = session.createQuery(hql);
				return query.list();
			}
		});
		System.out.println("NewMateAppBillDaoImpl.java,method=queryMateDemandAppBillByApplyid()通过申请单编号查询物料认证申请单--dao--精确查询"+list.size());
		if(list.size()>0){
			n=list.get(0);
		}
		return n;
	}
	/**
	 * 查询多个新物料认证申请单
	 */
	public List<NewMateAppBillPojo> queryMutiNewMateAppBill(final String applyid){
		List<NewMateAppBillPojo> list=new ArrayList<NewMateAppBillPojo>();
		try{
			list=this.getHibernateTemplate().execute(new HibernateCallback(){
				public Object doInHibernate(Session session)
						throws HibernateException, SQLException {
					String hql="from NewMateAppBillPojo n where n.applyid like ? order by n.applyid desc";
					Query query = session.createQuery(hql);
					query.setString(0, "%"+applyid+"%");
					return query.list();
				}
			});
			//System.out.println("------------size="+list.size());
		}catch(Exception e){
			e.printStackTrace();
		}
		return list;
	}
	/**
	 * 查询最新的新物件认证申请单
	 */
	public List<NewMateAppBillPojo> queryNewMateAppBill(){
		List<NewMateAppBillPojo> list=new ArrayList<NewMateAppBillPojo>();
		try{
			list=this.hibernateTemplate.execute(new HibernateCallback(){
				public Object doInHibernate(Session session)
						throws HibernateException, SQLException {
					String sql="select * from tb_newMateAppBill m where m.id=(select max(t.id) from tb_newMateAppBill t)";
					Query query = session.createSQLQuery(sql).addEntity(NewMateAppBillPojo.class);
					return query.list();
				}
			});
		}catch(Exception e){
			e.printStackTrace();
		}
		return list;
	}
	/**
	 * 创建新物料认证申请单
	 */
	public boolean createNewMateAppBill(NewMateAppBillPojo newMateAppBillPojo){
		boolean flag=false;
		try{
			this.hibernateTemplate.save(newMateAppBillPojo);
			flag=true;
		}catch(Exception e){
			e.printStackTrace();
		}
		return flag;
	}
	/**
	 * 生成申请单编号
	 */
	public String generateAppBillCode(final String smallSortCode){
//		System.out.println("dao-生成新物料认证申请单编号 smallSortCode="+smallSortCode);
		String applyid=null;
		List<NewMateAppBillPojo> list=new ArrayList<NewMateAppBillPojo>();
		try{
			list=this.getHibernateTemplate().executeFind(new HibernateCallback(){
				public Object doInHibernate(Session session)
						throws HibernateException, SQLException {
					String hql="from NewMateAppBillPojo np where np.applyid like 'MAB-"+smallSortCode+"%' order by np.applyid desc";
					Query query=session.createQuery(hql);
					return query.list();
				}
			});
		}catch(Exception e){
			applyid=" ";
		}
//		System.out.println("生成申请单编号  size="+list.size());
		if(list.size()>0){
			applyid=list.get(0).getApplyid();
//			System.out.println("当前申请单编号:"+applyid);
		}else{
			applyid=" ";
		}
		if(!(" ".equals(applyid))){
			String s=applyid.substring(8);
			StringBuffer sb=new StringBuffer();
			int applyNum=Integer.parseInt(s);
			applyNum+=1;
			if(applyNum<10){
				sb.append("0000"+applyNum);
			}else if(applyNum<100){
				sb.append("000"+applyNum);
			}else if(applyNum<1000){
				sb.append("00"+applyNum);
			}else if(applyNum<10000){
				sb.append("0"+applyNum);
			}else{
				sb.append(applyNum);
			}
//			System.out.println("生成的物料申请单号:"+applyNum);
			System.out.println("生成完整的物料申请单号:"+"MAB-"+smallSortCode+sb.toString());
			return "MAB-"+smallSortCode+sb.toString();
		}else{
			System.out.println("物料申请单号:"+smallSortCode+"00001");
			return "MAB-"+smallSortCode+"00001";
		}
	}
}
Global site tag (gtag.js) - Google Analytics