📄 auto_no_builder_manager.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 + -