📄 seqno.java
字号:
package jm.entity.util;
import jm.entity.command.DBCommandKeys;
import jm.entity.system.ESM000900;
import jm.framework.util.SimpleDBTable;
import jm.util.JM2DArray;
import jm.util.JMENDateUtil;
import jm.util.JMMap;
import jm.util.JMUtility;
import jm.framework.gui.ReLoad;
/**
* 采番,数据库定义需要采番的项目种类(长度),根据当前时间采番(YYYYMMDDHHMISS)</p>
* 目前没有采用数据库定义长度,返回长度统一
* <p>Copyright: Copyright (c) 2004-2006</p>
*
* <p>Company: 1SHome</p>
*
* <p>@author Spook</p>
*
* @since 1.3
* @see JDK 1.5.0.6
*/
public class SEQNo implements ReLoad {
private static SEQNo SeqNo = null;
public static SEQNo getInstance () {
if (SeqNo == null) {
SeqNo = new SEQNo();
}
return SeqNo;
}
private SEQNo(){
reLoad();
}
private JMMap<String, ESM000900> seqs_ = new JMMap<String, ESM000900>();
private final static int LENGTH = 4;
public boolean reLoad () {
try {
SimpleDBTable _dbTable = new SimpleDBTable(DBCommandKeys.DBTABLE_SEQ);
String[] _field = new String[] {DBCommandKeys.DB_KEY_SM000900_SEQVALUE};
//对象
JM2DArray seq = _dbTable.select(_field).getResultData();
ESM000900 _item = null;
for (int i = 0; i < seq.rowCount(); i++) {
_item = new ESM000900();
_item.setSEQValue(seq.getStringValue(i, 0));
seqs_.put(_item.getSEQValue(), _item);
}
return true;
} catch (Exception e) {
}
return false;
}
public synchronized String getNextSeqNo (String key) throws Exception {
ESM000900 _item = seqs_.get(key);
String nowDateTime = JMENDateUtil.nowDate(JMENDateUtil.PATTERN_DB_REGIST_DATETIME);
String oldDateTime = _item.getUpDateTime();
int nowNum = _item.getSEQVCount();
if (!nowDateTime.equals(oldDateTime)) {
nowNum = 0;
_item.setUpDateTime(nowDateTime);
} else {
nowNum++;
}
_item.setSEQVCount(nowNum);
return key + nowDateTime + JMUtility.complement("" + nowNum, "0", LENGTH, true);
}
// public static void main (String[] args) {
// try {
// reLoad();
// System.out.println(seqs_);
// for (int i = 0; i < 10000; i++)
// System.out.println(getNextSeqNo(OftenCommandKeys.SEQ_KINDID));
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -