arta.synergy.ejb.bp.docflow.counters
Class NumberGenerator

java.lang.Object
  extended by arta.synergy.ejb.bp.docflow.counters.NumberGenerator

public class NumberGenerator
extends java.lang.Object

Created by IntelliJ IDEA. User: exile Date: 22.05.13 Time: 10:19 To change this template use File | Settings | File Templates.


Field Summary
static java.text.SimpleDateFormat DAY
           
static java.text.SimpleDateFormat HOUR
           
static java.text.SimpleDateFormat MINUTE
           
static java.text.SimpleDateFormat MONTH
           
static java.util.ArrayList<java.lang.String> reservedCodes
           
static java.text.SimpleDateFormat YEAR_FULL
           
static java.text.SimpleDateFormat YEAR_SHORT
           
 
Constructor Summary
NumberGenerator()
           
 
Method Summary
static boolean checkNumber(java.lang.String inputNumber, java.lang.String template)
           
static boolean formulaNeedInput(java.lang.String formula)
           
static long getCounterNumber(java.lang.String registerID, java.lang.String reservedID, java.sql.Statement st)
          Получение текущего значения доп. счетчика для журнала и увеличение его на 1
static ReservedNumber getNextNumber(java.lang.String registerID, ReservedNumber number, boolean fix, java.sql.Statement st)
           
static ReservedNumber getNextNumberForFormula(java.lang.String formula, ReservedNumber number, boolean fix, java.sql.Statement st)
          Метод возвращает следующий генерируемый номер
static java.lang.String getNumberForFormula(java.lang.String formula, java.util.HashMap<java.lang.String,java.lang.String> additionalValues, java.lang.String inputNumber, java.util.Date regDate, java.lang.String reservedID, java.sql.Statement st)
          Возвращает значение шаблона номера для следующего или зарезервированного номера
static java.lang.String getNumberForRegister(java.lang.String registerID, java.util.HashMap<java.lang.String,java.lang.String> additionalValues, java.lang.String inputNumber, java.util.Date regDate, java.lang.String reservedID, java.sql.Statement st)
           
static void lockCounters(java.util.ArrayList<java.lang.String> codes, java.sql.Statement st)
          Метод блокирует счетчик на уровне базы до окончания транзакции
static void main(java.lang.String[] args)
           
static void updateCounter(java.lang.String code, java.sql.Statement st)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

YEAR_SHORT

public static final java.text.SimpleDateFormat YEAR_SHORT

YEAR_FULL

public static final java.text.SimpleDateFormat YEAR_FULL

MONTH

public static final java.text.SimpleDateFormat MONTH

DAY

public static final java.text.SimpleDateFormat DAY

HOUR

public static final java.text.SimpleDateFormat HOUR

MINUTE

public static final java.text.SimpleDateFormat MINUTE

reservedCodes

public static java.util.ArrayList<java.lang.String> reservedCodes
Constructor Detail

NumberGenerator

public NumberGenerator()
Method Detail

formulaNeedInput

public static boolean formulaNeedInput(java.lang.String formula)

checkNumber

public static boolean checkNumber(java.lang.String inputNumber,
                                  java.lang.String template)

getNumberForRegister

public static java.lang.String getNumberForRegister(java.lang.String registerID,
                                                    java.util.HashMap<java.lang.String,java.lang.String> additionalValues,
                                                    java.lang.String inputNumber,
                                                    java.util.Date regDate,
                                                    java.lang.String reservedID,
                                                    java.sql.Statement st)
                                             throws java.lang.Exception
Throws:
java.lang.Exception

getCounterNumber

public static long getCounterNumber(java.lang.String registerID,
                                    java.lang.String reservedID,
                                    java.sql.Statement st)
                             throws java.lang.Exception
Получение текущего значения доп. счетчика для журнала и увеличение его на 1

Parameters:
registerID - идентификатор журнала
st -
Returns:
значение доп. счетчика для журнала
Throws:
java.lang.Exception

getNumberForFormula

public static java.lang.String getNumberForFormula(java.lang.String formula,
                                                   java.util.HashMap<java.lang.String,java.lang.String> additionalValues,
                                                   java.lang.String inputNumber,
                                                   java.util.Date regDate,
                                                   java.lang.String reservedID,
                                                   java.sql.Statement st)
                                            throws java.lang.Exception
Возвращает значение шаблона номера для следующего или зарезервированного номера

Parameters:
formula - формула
additionalValues - специальные значения. Используютс яв документобороте для вставки индекса дела в номер и т.д.
inputNumber - Если шаблон подразумевает введение пользователем данных, то это то, что получается при подствке этих данных в номер, Если шаблон не подразумевает введение данных пользователем то, это та же самая формула
regDate - Дата, которая должна подставляться в шаблон, если он содержит элементы даты.
reservedID - Id зарезервированного номера (если зарезервированного номера нет, то null)
st -
Returns:
Throws:
java.lang.Exception

getNextNumber

public static ReservedNumber getNextNumber(java.lang.String registerID,
                                           ReservedNumber number,
                                           boolean fix,
                                           java.sql.Statement st)
                                    throws java.lang.Exception
Throws:
java.lang.Exception

getNextNumberForFormula

public static ReservedNumber getNextNumberForFormula(java.lang.String formula,
                                                     ReservedNumber number,
                                                     boolean fix,
                                                     java.sql.Statement st)
                                              throws java.lang.Exception
Метод возвращает следующий генерируемый номер

Parameters:
formula - - Формула шаблона номера
number - - номер за которым должен быть сгенерирован данный номер. (если нужен просто следующий по порядку номер то передаем null)
fix - - зафиксировать ли в базе что значения уже заняты или нет если пользователь просто просматривает список следующих к генерации номеров, то закреплять номера не нужно, если пользователь использует номер, то нужно зафиксировать что номер используется
st -
Returns:
Throws:
java.lang.Exception

lockCounters

public static void lockCounters(java.util.ArrayList<java.lang.String> codes,
                                java.sql.Statement st)
                         throws java.lang.Exception
Метод блокирует счетчик на уровне базы до окончания транзакции

Parameters:
codes -
st -
Throws:
java.lang.Exception

updateCounter

public static void updateCounter(java.lang.String code,
                                 java.sql.Statement st)
                          throws java.lang.Exception
Throws:
java.lang.Exception

main

public static void main(java.lang.String[] args)


Copyright © 2000 Dummy Corp. All Rights Reserved.