@@ -44,42 +44,36 @@ const (
4444)
4545
4646type SerialNumber struct {
47- val int
48- size int
47+ val int
48+ len int
4949}
5050
5151func (sn SerialNumber ) String () string {
52- return utils .StrCode (sn .val , sn .size )
52+ return utils .StrCode (sn .val , sn .len )
5353}
5454
5555func (sn * SerialNumber ) Ints () []int {
5656 if sn == nil {
5757 return nil
5858 }
5959
60- res := make ([]int , sn .size )
61- nums := utils .CodeToInts (sn .val )
62-
63- idx := len (res ) - 1
64- for i := len (nums ) - 1 ; i >= 0 ; i -- {
65- res [idx ] = nums [i ]
66- idx --
67- }
60+ res := make ([]int , sn .len )
61+ utils .FillSlice (utils .CodeToInts (sn .val ), res , len (res )- 1 )
6862
6963 return res
7064}
7165
7266func GenerateSerailNumber (innType INNType ) SerialNumber {
7367 if innType == Physical {
7468 return SerialNumber {
75- val : int (utils .RandomDigits (physicalSerialNumberLength )),
76- size : physicalSerialNumberLength ,
69+ val : int (utils .RandomDigits (physicalSerialNumberLength )),
70+ len : physicalSerialNumberLength ,
7771 }
7872 }
7973
8074 return SerialNumber {
81- val : int (utils .RandomDigits (legalSerialNumberLength )),
82- size : legalSerialNumberLength ,
75+ val : int (utils .RandomDigits (legalSerialNumberLength )),
76+ len : legalSerialNumberLength ,
8377 }
8478}
8579
@@ -111,7 +105,6 @@ func GenerateCheckSums(innType INNType, nums []int) CheckSums {
111105 nums = append (nums , f (nums ))
112106 }
113107
114- fmt .Println (nums [len (nums )+ shiftIdx :])
115108 return nums [len (nums )+ shiftIdx :]
116109}
117110
@@ -148,10 +141,10 @@ func ParseINN(inn string) (*INNStruct, error) {
148141 }
149142
150143 t := Physical
151- snSize := physicalSerialNumberLength
144+ snlen := physicalSerialNumberLength
152145 parseIdx := len (inn ) - 2
153146 if len (inn ) == legalLength {
154- snSize = legalSerialNumberLength
147+ snlen = legalSerialNumberLength
155148 t = Legal
156149 parseIdx = len (inn ) - 1
157150 const foreignLegalStartWith = "9909"
@@ -173,8 +166,8 @@ func ParseINN(inn string) (*INNStruct, error) {
173166 return & INNStruct {
174167 taxRegionCode : taxRegionCode ,
175168 serialNumber : SerialNumber {
176- val : utils .SliceToInt (serialNumberArr ),
177- size : snSize ,
169+ val : utils .SliceToInt (serialNumberArr ),
170+ len : snlen ,
178171 },
179172 checkSums : checkSums ,
180173 t : t ,
0 commit comments