@@ -16,14 +16,17 @@ public static function getTableName()
16
16
return self ::getTablePrefix ().'running_numbers ' ;
17
17
}
18
18
19
+ /**
20
+ * @deprecated next version will remove this method, use RunningNumberGenerator::make() instead
21
+ */
19
22
public static function generate (string $ type , string $ prefix , int $ length = 3 , bool $ reset = false , int $ resetValue = 1 )
20
23
{
21
24
$ runningNumber = RunningNumberKeeper::where ('type ' , $ type )
22
25
->where ('prefix ' , $ prefix )
23
26
->first ();
24
27
25
28
if (! $ runningNumber ) {
26
- $ runningNumber = new RunningNumberKeeper () ;
29
+ $ runningNumber = new RunningNumberKeeper ;
27
30
$ runningNumber ->type = $ type ;
28
31
$ runningNumber ->prefix = $ prefix ;
29
32
if ($ reset ) {
@@ -44,13 +47,16 @@ public static function generate(string $type, string $prefix, int $length = 3, b
44
47
return $ prefix .str_pad ($ runningNumber ->number , $ length , '0 ' , STR_PAD_LEFT );
45
48
}
46
49
50
+ /**
51
+ * @deprecated next version will remove this method, use RunningNumberGenerator::make() instead
52
+ */
47
53
public static function make (string $ type , string $ prefix , int $ length = 3 , bool $ reset = false , int $ resetValue = 1 )
48
54
{
49
55
$ runningNumber = RunningNumberKeeper::where ('type ' , $ type )
50
56
->where ('prefix ' , $ prefix )
51
57
->first ();
52
58
if (! $ runningNumber ) {
53
- $ runningNumber = new RunningNumberKeeper () ;
59
+ $ runningNumber = new RunningNumberKeeper ;
54
60
$ runningNumber ->type = $ type ;
55
61
$ runningNumber ->prefix = $ prefix ;
56
62
if ($ reset ) {
@@ -78,7 +84,7 @@ public static function reset(string $type, string $prefix, int $value = 1)
78
84
->first ();
79
85
80
86
if (! $ runningNumber ) {
81
- $ runningNumber = new RunningNumberKeeper () ;
87
+ $ runningNumber = new RunningNumberKeeper ;
82
88
$ runningNumber ->type = $ type ;
83
89
$ runningNumber ->prefix = $ prefix ;
84
90
$ runningNumber ->number = $ value ;
@@ -103,11 +109,51 @@ public static function list(?string $type = null, ?string $prefix = null)
103
109
return $ query ->get ()->toArray ();
104
110
}
105
111
106
- public static function delete (string $ type , string $ prefix )
112
+ public static function current (string $ type , string $ prefix )
107
113
{
108
- RunningNumberKeeper::where ('type ' , $ type )
114
+ $ runningNumber = RunningNumberKeeper::where ('type ' , $ type )
115
+ ->where ('prefix ' , $ prefix )
116
+ ->first ();
117
+
118
+ if (! $ runningNumber ) {
119
+ return null ;
120
+ }
121
+
122
+ return $ runningNumber ->number ;
123
+ }
124
+
125
+ public static function next (string $ type , string $ prefix )
126
+ {
127
+ $ runningNumber = RunningNumberKeeper::where ('type ' , $ type )
109
128
->where ('prefix ' , $ prefix )
110
- ->delete ();
129
+ ->first ();
111
130
131
+ if (! $ runningNumber ) {
132
+ $ runningNumber = new RunningNumberKeeper ;
133
+ $ runningNumber ->type = $ type ;
134
+ $ runningNumber ->prefix = $ prefix ;
135
+ $ runningNumber ->number = 1 ;
136
+ $ runningNumber ->save ();
137
+ } else {
138
+ $ runningNumber ->number += 1 ;
139
+ $ runningNumber ->save ();
140
+ }
141
+
142
+ return $ runningNumber ->number ;
143
+ }
144
+
145
+ public static function delete (string $ type , ?string $ prefix = null )
146
+ {
147
+ $ query = RunningNumberKeeper::where ('type ' , $ type );
148
+ if ($ prefix ) {
149
+ $ query ->where ('prefix ' , $ prefix );
150
+ }
151
+
152
+ return $ query ->delete ();
153
+ }
154
+
155
+ public static function flush ()
156
+ {
157
+ return RunningNumberKeeper::truncate ();
112
158
}
113
159
}
0 commit comments