⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 auto_no_builder_manager.java

📁 这是一个jbpm的高级应用,是一个oa工作流的系统,里面用到了spring,hibernate技术等.实为学习jbpm的好资料!
💻 JAVA
字号:
package com.xiangfeng.manager;

import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.hibernate.HibernateException;
import org.hibernate.Session;

import com.xiangfeng.model.Auto_NO_Builder;
import com.xiangfeng.util.hibernateUtil.HibernateUtil;

/**
 * Auto_NO_Builder_manager 用于生成逻辑主键 Auto_NO_Builder_manager 为单例模式
 * 
 * @author Administrator
 * 
 */
public class Auto_NO_Builder_manager {

	private static Auto_NO_Builder_manager auto_NO_Builder_manager = null;

	private Auto_NO_Builder_manager() {

	}

	public static Auto_NO_Builder_manager getAuto_NO_Builder_manager() {

		if (auto_NO_Builder_manager == null) {
			auto_NO_Builder_manager = new Auto_NO_Builder_manager();
		}
		return auto_NO_Builder_manager;
	}
	//B 00 20071022 000001
	
	public String getBillIncreamentNo(String strLast){
		String strResult ="";
		String strNo;
		
		strNo = strLast.substring(11,strLast.length());
		
		int iNo = Integer.valueOf(strNo);
		
		iNo = iNo + 1;
		DecimalFormat   sf   =   new   DecimalFormat("000000");   
		Date date = new Date();
		DateFormat dateFormat =  new SimpleDateFormat("yyyyMMdd"); 
		String d= dateFormat.format(date);
		
		strResult = "B00" +d+sf.format(iNo);   
		
		return(strResult);
	}
	public String getIncreamNo(String strLast) {
		String strResult = "";
		String strNo;

		strNo = strLast.substring(1, strLast.length());

		int iNo = Integer.valueOf(strNo);

		iNo = iNo + 1;
		DecimalFormat sf = new DecimalFormat("0000000000");
		strResult = "g" + sf.format(iNo);

		return (strResult);
	}
	
	public String getSupplyIncreamentNo(String strLast){
		String strResult ="";
		String strNo;
		
		strNo = strLast.substring(1,strLast.length());
		
		int iNo = Integer.valueOf(strNo);
		
		iNo = iNo + 1;
		DecimalFormat   sf   =   new   DecimalFormat("0000000000");   
		strResult = "S" +  sf.format(iNo);   
		
		return(strResult);
	}

	public void init_goodsNo() {
		Auto_NO_Builder goodsNO_Builder = new Auto_NO_Builder();
		String CGoodsNO_value = getIncreamNo("g0000000000");
		goodsNO_Builder.setAuto_NO_key("CGoodsNO_key");
		goodsNO_Builder.setAuto_NO_value(CGoodsNO_value);

		Session session = HibernateUtil.getSession();

		try {
			session.beginTransaction();
			session.save(goodsNO_Builder);
			session.getTransaction().commit();
		} catch (Exception e) {

			session.getTransaction().rollback();
			e.printStackTrace();
		} finally {
			HibernateUtil.closeSession(session);
		}
	}
	//通用方法 根据key 返回子增长的数值
	public synchronized String return_AllNo(String NO_key) {
		String auto_increment_no = "";
		Session session = HibernateUtil.getSession();

		try {
			session.beginTransaction();

			String sql = " from Auto_NO_Builder where Auto_NO_key = ? ";

			Auto_NO_Builder goodsNO_builder = (Auto_NO_Builder) session
					.createQuery(sql)
					.setParameter(0, NO_key).uniqueResult();
			if(NO_key.equalsIgnoreCase("CBillNO_key")){
				auto_increment_no=getBillIncreamentNo(goodsNO_builder.getAuto_NO_value());
				System.out.println("the  new  CBillNO is  " + auto_increment_no);
			}else{
			auto_increment_no = getIncreamNo(goodsNO_builder.getAuto_NO_value());
			}
			goodsNO_builder.setAuto_NO_value(auto_increment_no);
		
			session.update(goodsNO_builder);
			session.getTransaction().commit();
		} catch (Exception e) {

			session.getTransaction().rollback();
			e.printStackTrace();
		} finally {
			HibernateUtil.closeSession(session);
		}

		return auto_increment_no;

	}
	//通用方法 自动加1
	public String getAllIncreamentNo(String strLast){
		String strResult ="";
		String strNo;
		
		strNo = strLast.substring(1,strLast.length());
		String strBegin =strLast.substring(0, 1);
		int iNo = Integer.valueOf(strNo);
		
		iNo = iNo + 1;
		DecimalFormat   sf   =   new   DecimalFormat("0000000000");   
		strResult = strBegin +  sf.format(iNo);   
		
		return(strResult);
	}
	
	//通用方法 插入初始数据及用于辨别的key  NO格式必须为 g0000000000   前面的第一个字母可自定义
	public void All_init_goodsNo(String all_IncreamNo,String NO_key) {
		Auto_NO_Builder goodsNO_Builder = new Auto_NO_Builder();
		String CGoodsNO_value=null;
		//String CGoodsNO_value = getIncreamNo("g0000000000");
		//goodsNO_Builder.setAuto_NO_key("CGoodsNO_key");
		if(NO_key.equalsIgnoreCase("CBillNO_key")){
			 CGoodsNO_value=getBillIncreamentNo(all_IncreamNo);
			
		}else{
		 CGoodsNO_value = getAllIncreamentNo(all_IncreamNo);
		}
		goodsNO_Builder.setAuto_NO_key(NO_key);
		goodsNO_Builder.setAuto_NO_value(CGoodsNO_value);

		Session session = HibernateUtil.getSession();

		try {
			session.beginTransaction();
			session.save(goodsNO_Builder);
			session.getTransaction().commit();
		} catch (Exception e) {

			session.getTransaction().rollback();
			e.printStackTrace();
		} finally {
			HibernateUtil.closeSession(session);
		}
	}
	

	public synchronized String return_GoodsNo() {
		String auto_increment_no = "";
		Session session = HibernateUtil.getSession();

		try {
			session.beginTransaction();

			String sql = "from Auto_NO_Builder where Auto_NO_key = ? ";

			Auto_NO_Builder goodsNO_builder = (Auto_NO_Builder) session
					.createQuery(sql)
					.setParameter(0, "CGoodsNO_key").uniqueResult();

			auto_increment_no = getIncreamNo(goodsNO_builder.getAuto_NO_value());

			goodsNO_builder.setAuto_NO_value(auto_increment_no);
			System.out.println("the  new  goodsNo is  " + auto_increment_no);
			session.update(goodsNO_builder);
			session.getTransaction().commit();
		} catch (Exception e) {

			session.getTransaction().rollback();
			e.printStackTrace();
		} finally {
			HibernateUtil.closeSession(session);
		}

		return auto_increment_no;

	}
	public synchronized String return_SupplyNo(){
		String auto_increment_no = "";
		Session session = HibernateUtil.getSession();
		try {
			session.beginTransaction();
			String sql =
				"from Auto_NO_Builder where Auto_NO_key = ? ";
			Auto_NO_Builder supply_NO_builder =(Auto_NO_Builder)session.createQuery(sql)
			
			.setParameter(0, "CSupplyNO_key")
			.uniqueResult();
			auto_increment_no =getSupplyIncreamentNo(supply_NO_builder.getAuto_NO_value());
			
			supply_NO_builder.setAuto_NO_value(auto_increment_no);
			System.out.println("the  new  goodsNo is  "+ auto_increment_no);
			session.update(supply_NO_builder);
			session.getTransaction().commit();
		} catch (HibernateException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			session.getTransaction().rollback();
		}finally{session.close();}
		return auto_increment_no;
	}

	public void search() {

	}

	public void testA() {

		init_goodsNo();
		// return_GoodsNo();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -