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

📄 seqno.java

📁 梦界家园程序开发基底框架
💻 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 + -