LayoutSyspdv::sysppdcn()   A
last analyzed

Complexity

Conditions 5
Paths 3

Size

Total Lines 16
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 5
eloc 12
c 1
b 0
f 0
nc 3
nop 1
dl 0
loc 16
rs 9.5555
1
<?php
2
3
namespace WagnerMontanini\LayoutSyspdv;
4
5
use WagnerMontanini\LayoutSyspdv\Helpers;
6
7
/**
8
 * Class LayoutSyspdv
9
 * @package WagnerMontanini\LayoutSyspdv
10
 */
11
abstract class LayoutSyspdv extends Helpers
12
{
13
    /** @var array */
14
    private $syspadm;
15
    
16
    /** @var array */
17
    private $syspplp;
18
19
    /** @var array */
20
    private $syspaplic;
21
22
    /** @var array */
23
    private $syspcar;
24
25
    /** @var array */
26
    private $syspcarac;
27
28
    /** @var array */
29
    private $syspcfo;
30
31
    /** @var array */
32
    private $syspcli;
33
34
    /** @var array */
35
    private $syspaux;
36
37
    /** @var array */
38
    private $syspcmp;
39
40
    /** @var array */
41
    private $syspcrc;
42
43
    /** @var array */
44
    private $syspest;
45
46
    /** @var array */
47
    private $syspestcon;
48
49
    /** @var array */
50
    private $syspgrp;
51
52
    /** @var array */
53
    private $syspfzd;
54
55
    /** @var array */
56
    private $syspfor;
57
58
    /** @var array */
59
    private $syspfun;
60
61
    /** @var array */
62
    private $syspimpfed;
63
64
    /** @var array */
65
    private $syspimppro;
66
67
    /** @var array */
68
    private $sysppplc;
69
70
    /** @var array */
71
    private $syspprp;
72
73
    /** @var array */
74
    private $sysppro;
75
76
    /** @var array */
77
    private $syspprofor;
78
79
    /** @var array */
80
    private $syspppl;
81
82
    /** @var array */
83
    private $sysppdcn;
84
85
    /** @var array */
86
    private $syspram;
87
88
    /** @var array */
89
    private $syspfab;
90
91
    /** @var array */
92
    private $syspsec;
93
94
    /** @var array */
95
    private $syspser;
96
97
    /** @var array */
98
    private $syspsbg;
99
100
    /** @var array */
101
    private $sysptxa;
102
103
    /** @var array */
104
    private $syspvdc;
105
106
    /** @var object */
107
    protected $response;
108
109
    /** @var array */
110
    private $precopraticado = [1, 2, 3];
111
112
    /** @var array */
113
    private $simNao = ["S", "N", ""];
114
115
    /** @var array */
116
    private $statusCar = ["A", "C", "B"];
117
118
    /** @var array */
119
    //private $tibutacao = ["T07", "T12", "T18", "T25", "F00", "I00"];
120
    
121
    /** @var array */
122
    private $pesoVariavel = ["S", "P", "N", "U","M"];
123
    
124
    /** @var array */
125
    private $tipoBonificacao = ["P", "Q", ""];
126
    
127
    /** @var array */
128
    //private $unidadeVenda = ["UN", "KG", "LT", "SRV"];
129
    
130
    /** @var array */
131
    private $produtoAlterado = ["A", "N", ""];
132
    
133
    /** @var array */
134
    private $especializacaoProduto = ["P","G", "O", ""];
135
    
136
    /** @var array */
137
    private $composicao = ["S", "N", "K", "C", ""];
138
    
139
    /** @var array */
140
    private $finalidade = [1, 2, 3, 4, 5, 6, 9];
141
    
142
    /** @var array */
143
    private $arredondarTruncar = ["A", "T", ""];
144
    
145
    /** @var array */
146
    private $producao = ["P", "T", ""];
147
    
148
    /** @var array */
149
    private $baixaEstoque = ["P", "V", ""];
150
    
151
    /** @var array */
152
    private $tipoComposicao = ["N", "K"];
153
    
154
    /** @var array */
155
    private $tipoJuro = ["S", "C"];
156
    
157
    /** @var array */
158
    private $tipoPagamento = ["P", "A"];
159
    
160
    /** @var array */
161
    private $tipoFormaPagamento = ["V-A", "P-A", ""];
162
    
163
    /** @var array */
164
    private $verificaLimiteCredito = [0, 1, 2];
165
    
166
    /** @var array */
167
    private $incidencia = ["E", "S", "A"];
168
    
169
    /** @var array */
170
    private $tipoImposto = ["P", "C"];
171
    
172
    /** @var array */
173
    private $categoriaConta = ["C", "D"];
174
    
175
    /** @var array */
176
    private $tipoPlano = ["A", "S"];
177
    
178
    /** @var array */
179
    private $natureza = ["01", "02", "03", "04", "05", "09"];
180
    
181
    /** @var array */
182
    private $nivelFornecedor = ["P", "S"];
183
    
184
    /** @var array */
185
    private $tipoDesconto = ["P", "V"];
186
    
187
    /** @var array */
188
    private $tipoPreco = [1, 2, 3];
189
    
190
    /** @var array */
191
    private $statusPromocao = ["A", "P", "I"];
192
    
193
    /** @var array */
194
    private $tipoPromocao = ["P", "F", "V", "C"];
195
    
196
    /** @var array */
197
    private $modalidadeDesconto = ["P", "V", "D"];
198
199
    /**
200
     * LayoutSyspdv constructor.
201
     */
202
    public function __construct()
203
    {
204
        parent::__construct();
205
        $this->response = new \stdClass();
206
        $this->response->errors = new \stdClass();
207
    }
208
209
    /**
210
     * @return object|null
211
     */
212
    public function response()
213
    {
214
        return $this->response;
215
    }
216
 
217
    /**
218
     * @return object|null
219
     */
220
    public function error()
221
    {
222
        if (!empty($this->response->errors)) {
223
            return $this->response->errors;
224
        }
225
        return null;
226
    }
227
228
    /**
229
     * @param array $fields
230
     * @return array|null
231
     */
232
    public function syspadm(array $fields): void
233
    {
234
        foreach ($fields as $data){
235
            $this->syspadm[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],2) , 2 , "0" , STR_PAD_LEFT).
236
                $this->mb_str_pad($this->str_limit_chars($data["002"],35 ) , 35 , " " , STR_PAD_RIGHT),9);
237
        }
238
        $this->response->syspadm =  $this->syspadm;           
239
    }
240
241
    /**
242
     * @param array $fields
243
     * @return array|null
244
     */
245
    public function syspaplic(array $fields): void
246
    {
247
        foreach ($fields as $data){
248
            $this->syspaplic[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],4) , 4 , "0" , STR_PAD_LEFT).
249
                $this->mb_str_pad($this->str_limit_chars($data["002"],100 ) , 100 , " " , STR_PAD_RIGHT),9);
250
        }
251
        $this->response->syspaplic =  $this->syspaplic;           
252
    }
253
254
    /**
255
     * @param array $fields
256
     * @return array|null
257
     */
258
    public function syspcar(array $fields): void
259
    {
260
        foreach ($fields as $data){
261
            if(in_array($data["004"], $this->statusCar)){
262
                $this->syspcar[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],19) , 19 , "0" , STR_PAD_LEFT).
263
                    $this->mb_str_pad($this->str_limit_chars($data["002"],6 ) , 6 , " " , STR_PAD_RIGHT).
264
                    $this->mb_str_pad($this->str_limit_chars($data["003"], 40) , 40 , "0" , STR_PAD_LEFT).
265
                    $this->mb_str_pad($this->str_limit_chars($data["004"], 1) , 1 , "0" , STR_PAD_LEFT).
266
                    $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["005"],"dmY"), 8) , 8 , "0" , STR_PAD_LEFT).
267
                    $this->mb_str_pad($this->str_limit_chars($data["006"], 14) , 14 , "0" , STR_PAD_LEFT),9);
268
            } else {
269
                $this->response->errors->syspcar = "Erro Valores Inválidos. Consultar documentação.";
270
            }
271
        }
272
        $this->response->syspcar =  $this->syspcar;           
273
    }
274
275
    /**
276
     * @param array $fields
277
     * @return array|null
278
     */
279
    public function syspcarac(array $fields): void
280
    {
281
        foreach ($fields as $data){
282
            $this->syspcarac[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],4) , 4 , "0" , STR_PAD_LEFT).
283
                $this->mb_str_pad($this->str_limit_chars($data["002"],100 ) , 100 , " " , STR_PAD_RIGHT),9);
284
        }
285
        $this->response->syspcarac =  $this->syspcarac;           
286
    }
287
288
    /**
289
     * @param array $fields
290
     * @return array|null
291
     */
292
    public function syspcfo(array $fields): void
293
    {
294
        foreach ($fields as $data){
295
            $this->syspcfo[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],5) , 5 , "0" , STR_PAD_LEFT).
296
                $this->mb_str_pad($this->str_limit_chars($data["002"],180 ) , 180 , " " , STR_PAD_RIGHT).
297
                $this->mb_str_pad($this->str_limit_chars($data["003"], 40) , 40 , " " , STR_PAD_RIGHT).
298
                $this->mb_str_pad($this->str_limit_chars($data["004"], 1) , 1 , " " , STR_PAD_RIGHT).
299
                $this->mb_str_pad($this->str_limit_chars($data["005"], 1) , 1 , " " , STR_PAD_RIGHT).
300
                $this->mb_str_pad($this->str_limit_chars($data["006"], 1) , 1 , " " , STR_PAD_RIGHT).
301
                $this->mb_str_pad($this->str_limit_chars($data["007"], 1) , 1 , " " , STR_PAD_RIGHT).
302
                $this->mb_str_pad($this->str_limit_chars($data["008"], 1) , 1 , " " , STR_PAD_RIGHT).
303
                $this->mb_str_pad($this->str_limit_chars($data["009"], 1) , 1 , " " , STR_PAD_RIGHT).
304
                $this->mb_str_pad($this->str_limit_chars($data["010"], 1) , 1 , " " , STR_PAD_RIGHT).
305
                $this->mb_str_pad($this->str_limit_chars($data["011"], 1) , 1 , " " , STR_PAD_RIGHT).
306
                $this->mb_str_pad($this->str_limit_chars($data["012"], 1) , 1 , " " , STR_PAD_RIGHT).
307
                $this->mb_str_pad($this->str_limit_chars($data["013"], 1) , 1 , " " , STR_PAD_RIGHT).
308
                $this->mb_str_pad($this->str_limit_chars($data["014"], 1) , 1 , " " , STR_PAD_RIGHT).
309
                $this->mb_str_pad($this->str_limit_chars($data["015"], 2) , 2 , " " , STR_PAD_RIGHT).
310
                $this->mb_str_pad($this->str_limit_chars($data["016"], 2) , 2 , " " , STR_PAD_RIGHT).
311
                $this->mb_str_pad($this->str_limit_chars($data["017"], 1) , 1 , " " , STR_PAD_RIGHT).
312
                $this->mb_str_pad($this->str_limit_chars($data["018"], 1) , 1 , " " , STR_PAD_RIGHT).
313
                $this->mb_str_pad($this->str_limit_chars($data["019"], 6) , 6 , " " , STR_PAD_RIGHT),9);
314
        }
315
        $this->response->syspcfo =  $this->syspcfo;           
316
    }
317
318
    /**
319
     * @param array $fields
320
     * @return array|null
321
     */
322
    public function syspcli(array $fields): void
323
    {
324
        foreach ($fields as $data){
325
            $this->syspcli[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],15) , 15 , "0" , STR_PAD_LEFT).
326
            $this->mb_str_pad($this->str_limit_chars($data["002"],40 ) , 40 , " " , STR_PAD_RIGHT).
327
            $this->mb_str_pad($this->str_limit_chars($data["003"], 14) , 14 , "0" , STR_PAD_LEFT).
328
            $this->mb_str_pad($this->str_limit_chars($data["004"], 45) , 45 , " " , STR_PAD_RIGHT).
329
            $this->mb_str_pad($this->str_limit_chars($data["005"], 15) , 15 , " " , STR_PAD_RIGHT).
330
            $this->mb_str_pad($this->str_limit_chars($data["006"], 20) , 20 , " " , STR_PAD_RIGHT).
331
            $this->mb_str_pad($this->str_limit_chars($data["007"], 2) , 2 , " " , STR_PAD_RIGHT).
332
            $this->mb_str_pad($this->str_limit_chars($data["008"], 8) , 8 , "0" , STR_PAD_LEFT).
333
            $this->mb_str_pad($this->str_limit_chars($data["009"], 12) , 12 , "0" , STR_PAD_LEFT).
334
            $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["010"]) ? $data["010"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
335
            $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["011"]) ? $data["011"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
336
            $this->mb_str_pad($this->str_limit_chars($data["012"], 2) , 2 , "0" , STR_PAD_LEFT).
337
            $this->mb_str_pad($this->str_limit_chars($data["013"], 3) , 3 , "0" , STR_PAD_LEFT).
338
            $this->mb_str_pad($this->str_limit_chars($data["014"], 3) , 3 , "0" , STR_PAD_LEFT).
339
            $this->mb_str_pad($this->str_limit_chars($data["015"], 25) , 25 , " " , STR_PAD_RIGHT).
340
            $this->mb_str_pad($this->str_limit_chars($data["016"], 20) , 20 , "0" , STR_PAD_LEFT).
341
            $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["017"],"Ymd"), 8) , 8 , "0" , STR_PAD_LEFT).
342
            $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["018"],"Ymd"), 8) , 8 , "0" , STR_PAD_LEFT).
343
            $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["019"],"Ymd"), 8) , 8 , "0" , STR_PAD_LEFT).
344
            $this->mb_str_pad($this->str_limit_chars($data["020"], 30) , 30 , " " , STR_PAD_RIGHT).
345
            $this->mb_str_pad($this->str_limit_chars($data["021"], 30) , 30 , " " , STR_PAD_RIGHT).
346
            $this->mb_str_pad($this->str_limit_chars($data["022"], 1) , 1 , " " , STR_PAD_RIGHT).
347
            $this->mb_str_pad($this->str_limit_chars($data["023"], 12) , 12 , "0" , STR_PAD_LEFT).
348
            $this->mb_str_pad($this->str_limit_chars($data["024"], 12) , 12 , "0" , STR_PAD_LEFT).
349
            $this->mb_str_pad($this->str_limit_chars($data["025"], 15) , 15 , " " , STR_PAD_RIGHT).
350
            $this->mb_str_pad($this->str_limit_chars($data["026"], 45) , 45 , " " , STR_PAD_RIGHT).
351
            $this->mb_str_pad($this->str_limit_chars($data["027"], 15) , 15 , " " , STR_PAD_RIGHT).
352
            $this->mb_str_pad($this->str_limit_chars($data["028"], 10) , 10 , "0" , STR_PAD_LEFT).
353
            $this->mb_str_pad($this->str_limit_chars($data["029"], 20) , 20 , " " ,  STR_PAD_RIGHT).
354
            $this->mb_str_pad($this->str_limit_chars($data["030"], 2) , 2 , " " , STR_PAD_RIGHT).
355
            $this->mb_str_pad($this->str_limit_chars($data["031"], 13) , 13 , " " , STR_PAD_RIGHT).
356
            $this->mb_str_pad($this->str_limit_chars($data["032"], 255) , 255 , " " , STR_PAD_RIGHT).
357
            $this->mb_str_pad($this->str_limit_chars($data["033"], 255) , 255 , " " , STR_PAD_RIGHT).
358
            $this->mb_str_pad($this->str_limit_chars($data["034"], 10) , 10 , " " , STR_PAD_RIGHT).
359
            $this->mb_str_pad($this->str_limit_chars($data["035"], 20) , 20 , " " , STR_PAD_RIGHT).
360
            $this->mb_str_pad($this->str_limit_chars($data["036"], 5) , 5 , " " , STR_PAD_RIGHT).
361
            $this->mb_str_pad($this->str_limit_chars($data["037"], 70) , 70 , " " , STR_PAD_RIGHT).
362
            $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["038"],"Ymd"), 8) , 8 , "0" , STR_PAD_LEFT).
363
            $this->mb_str_pad($this->str_limit_chars($data["039"], 7) , 7 , "0" , STR_PAD_LEFT).
364
            $this->mb_str_pad($this->str_limit_chars($data["040"], 1) , 1 , " " , STR_PAD_RIGHT).
365
            $this->mb_str_pad($this->str_limit_chars($data["041"], 1) , 1 , " " , STR_PAD_RIGHT).
366
            $this->mb_str_pad($this->str_limit_chars($data["042"], 10) , 10 , " " , STR_PAD_RIGHT).
367
            $this->mb_str_pad($this->str_limit_chars($data["043"], 50) , 50 , " " , STR_PAD_RIGHT).
368
            $this->mb_str_pad($this->str_limit_chars($data["044"], 50) , 50 , " " , STR_PAD_RIGHT).
369
            $this->mb_str_pad($this->str_limit_chars($data["045"], 1) , 1 , " " , STR_PAD_RIGHT).
370
            $this->mb_str_pad($this->str_limit_chars($data["046"], 1) , 1 , " " , STR_PAD_RIGHT).
371
            $this->mb_str_pad($this->str_limit_chars($data["047"], 1) , 1 , " " , STR_PAD_RIGHT).
372
            $this->mb_str_pad($this->str_limit_chars($data["048"], 40) , 40 , " " , STR_PAD_RIGHT).
373
            $this->mb_str_pad($this->str_limit_chars($data["049"], 12) , 12 , " " , STR_PAD_RIGHT).
374
            $this->mb_str_pad($this->str_limit_chars($data["050"], 20) , 20 , " " , STR_PAD_RIGHT).
375
            $this->mb_str_pad($this->str_limit_chars($data["051"], 10) , 10 , " " , STR_PAD_RIGHT).
376
            $this->mb_str_pad($this->str_limit_chars($data["052"], 50) , 50 , " " , STR_PAD_RIGHT).
377
            $this->mb_str_pad($this->str_limit_chars($data["053"], 20) , 20 , " " , STR_PAD_RIGHT).
378
            $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["054"]) ? $data["054"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
379
            $this->mb_str_pad($this->str_limit_chars($data["055"], 40) , 40 , " " , STR_PAD_RIGHT).
380
            $this->mb_str_pad($this->str_limit_chars($data["056"], 1) , 1 , " " , STR_PAD_RIGHT).
381
            $this->mb_str_pad($this->str_limit_chars($data["057"], 40) , 40 , " " , STR_PAD_RIGHT).
382
            $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["058"],"Ymd"), 8) , 8 , "0" , STR_PAD_LEFT).
383
            $this->mb_str_pad($this->str_limit_chars($data["059"], 40) , 40 , " " , STR_PAD_RIGHT).
384
            $this->mb_str_pad($this->str_limit_chars($data["060"], 12) , 12 , "0" , STR_PAD_LEFT).
385
            $this->mb_str_pad($this->str_limit_chars($data["061"], 20) , 20 , " " , STR_PAD_RIGHT).
386
            $this->mb_str_pad($this->str_limit_chars($data["062"], 20) , 20 , " " , STR_PAD_RIGHT).
387
            $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["063"]) ? $data["063"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
388
            $this->mb_str_pad($this->str_limit_chars($data["064"], 40) , 40 , " " , STR_PAD_RIGHT).
389
            $this->mb_str_pad($this->str_limit_chars($data["065"], 12) , 12 , " " , STR_PAD_RIGHT).
390
            $this->mb_str_pad($this->str_limit_chars($data["066"], 50) , 50 , " " , STR_PAD_RIGHT).
391
            $this->mb_str_pad($this->str_limit_chars($data["067"], 40) , 40 , " " , STR_PAD_RIGHT).
392
            $this->mb_str_pad($this->str_limit_chars($data["068"], 12) , 12 , " " , STR_PAD_RIGHT).
393
            $this->mb_str_pad($this->str_limit_chars($data["069"], 50) , 50 , " " , STR_PAD_RIGHT).
394
            $this->mb_str_pad($this->str_limit_chars($data["070"], 40) , 40 , " " , STR_PAD_RIGHT).
395
            $this->mb_str_pad($this->str_limit_chars($data["071"], 12) , 12 , " " , STR_PAD_RIGHT).
396
            $this->mb_str_pad($this->str_limit_chars($data["072"], 40) , 40 , " " , STR_PAD_RIGHT).
397
            $this->mb_str_pad($this->str_limit_chars($data["073"], 12) , 12 , " " , STR_PAD_RIGHT).
398
            $this->mb_str_pad($this->str_limit_chars($data["074"], 15) , 15 , " " , STR_PAD_RIGHT).
399
            $this->mb_str_pad($this->str_limit_chars($data["075"], 15) , 15 , " " , STR_PAD_RIGHT).
400
            $this->mb_str_pad($this->str_limit_chars($data["076"], 15) , 15 , " " , STR_PAD_RIGHT).
401
            $this->mb_str_pad($this->str_limit_chars($data["077"], 1) , 1 , " " , STR_PAD_RIGHT).
402
            $this->mb_str_pad($this->str_limit_chars($data["078"], 15) , 15 , " " , STR_PAD_RIGHT).
403
            $this->mb_str_pad($this->str_limit_chars($data["079"], 15) , 15 , " " , STR_PAD_RIGHT).
404
            $this->mb_str_pad($this->str_limit_chars($data["080"], 15) , 15 , " " , STR_PAD_RIGHT).
405
            $this->mb_str_pad($this->str_limit_chars($data["081"], 1) , 1 , " " , STR_PAD_RIGHT).
406
            $this->mb_str_pad($this->str_limit_chars($data["082"], 20) , 20 , " " , STR_PAD_RIGHT).
407
            $this->mb_str_pad($this->str_limit_chars($data["083"], 40) , 40 , " " , STR_PAD_RIGHT).
408
            $this->mb_str_pad($this->str_limit_chars($data["084"], 10) , 10 , " " , STR_PAD_RIGHT).
409
            $this->mb_str_pad($this->str_limit_chars($data["085"], 12) , 12 , "0" , STR_PAD_LEFT).
410
            $this->mb_str_pad($this->str_limit_chars($data["086"], 40) , 40 , " " , STR_PAD_RIGHT).
411
            $this->mb_str_pad($this->str_limit_chars($data["087"], 10) , 10 , " " , STR_PAD_RIGHT).
412
            $this->mb_str_pad($this->str_limit_chars($data["088"], 12) , 12 , "0" , STR_PAD_LEFT).
413
            $this->mb_str_pad($this->str_limit_chars($data["089"], 20) , 20 , " " , STR_PAD_RIGHT).
414
            $this->mb_str_pad($this->str_limit_chars($data["090"], 20) , 20 , " " , STR_PAD_RIGHT).
415
            $this->mb_str_pad($this->str_limit_chars($data["091"], 20) , 20 , " " , STR_PAD_RIGHT).
416
            $this->mb_str_pad($this->str_limit_chars($data["092"], 20) , 20 , " " , STR_PAD_RIGHT).
417
            $this->mb_str_pad($this->str_limit_chars($data["093"], 40) , 40 , " " , STR_PAD_RIGHT).
418
            $this->mb_str_pad($this->str_limit_chars($data["094"], 1) , 1 , " " , STR_PAD_RIGHT).
419
            $this->mb_str_pad($this->str_limit_chars($data["095"], 20) , 20 , " " , STR_PAD_RIGHT).
420
            $this->mb_str_pad($this->str_limit_chars($data["096"], 2) , 2 , "0" , STR_PAD_LEFT).
421
            $this->mb_str_pad($this->str_limit_chars($data["097"], 20) , 20 , " " , STR_PAD_RIGHT).
422
            $this->mb_str_pad($this->str_limit_chars($data["098"], 6) , 6 , " " , STR_PAD_RIGHT).
423
            $this->mb_str_pad($this->str_limit_chars($data["099"], 1) , 1 , " " , STR_PAD_RIGHT).
424
            $this->mb_str_pad($this->str_limit_chars($data["100"], 3) , 3 , "0" , STR_PAD_LEFT).
425
            $this->mb_str_pad($this->str_limit_chars($data["101"], 5) , 5 , " " , STR_PAD_RIGHT).
426
            $this->mb_str_pad($this->str_limit_chars($data["102"], 5) , 5 , " " , STR_PAD_RIGHT).
427
            $this->mb_str_pad($this->str_limit_chars($data["103"], 6) , 6 , "0" , STR_PAD_LEFT).
428
            $this->mb_str_pad($this->str_limit_chars($data["104"], 6) , 6 , "0" , STR_PAD_LEFT).
429
            $this->mb_str_pad($this->str_limit_chars($data["105"], 12) , 12 , " " , STR_PAD_RIGHT).
430
            $this->mb_str_pad($this->str_limit_chars($data["106"], 12) , 12 , " " , STR_PAD_RIGHT).
431
            $this->mb_str_pad($this->str_limit_chars($data["107"], 4) , 4 , "0" , STR_PAD_LEFT).
432
            $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["108"]) ? $data["108"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
433
            $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["109"]) ? $data["109"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
434
            $this->mb_str_pad($this->str_limit_chars($data["110"], 6) , 6 , "0" , STR_PAD_LEFT).
435
            $this->mb_str_pad($this->str_limit_chars($data["111"], 6) , 6 , "0" , STR_PAD_LEFT).
436
            $this->mb_str_pad($this->str_limit_chars($data["112"], 60) , 60 , " " , STR_PAD_RIGHT).
437
            $this->mb_str_pad($this->str_limit_chars($data["113"], 60) , 60 , " " , STR_PAD_RIGHT).
438
            $this->mb_str_pad($this->str_limit_chars($data["114"], 12) , 12 , "0" , STR_PAD_LEFT).
439
            $this->mb_str_pad($this->str_limit_chars($data["115"], 7) , 7 , "0" , STR_PAD_LEFT).
440
            $this->mb_str_pad($this->str_limit_chars($data["116"], 5) , 5 , "0" , STR_PAD_LEFT).
441
            $this->mb_str_pad($this->str_limit_chars($data["117"], 1) , 1 , "0" , STR_PAD_LEFT),9);
442
        }
443
        $this->response->syspcli =  $this->syspcli;           
444
    }
445
446
    /**
447
     * @param array $fields
448
     * @return array|null
449
     */
450
    public function syspaux(array $fields): void
451
    {
452
        foreach ($fields as $data){
453
            $this->syspaux[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],14) , 14 , "0" , STR_PAD_LEFT).
454
                $this->mb_str_pad($this->str_limit_chars($data["002"],20 ) , 20 , " " , STR_PAD_RIGHT).
455
                $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["003"]) ? $data["003"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
456
                $this->mb_str_pad($this->str_limit_chars($data["004"], 1) , 1 , " " , STR_PAD_RIGHT).
457
                $this->mb_str_pad($this->str_limit_chars($data["005"], 1) , 1 , " " , STR_PAD_RIGHT).
458
                $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["006"]) ? $data["006"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
459
                $this->mb_str_pad($this->str_limit_chars($data["007"], 1) , 1 , " " , STR_PAD_RIGHT).
460
                $this->mb_str_pad($this->str_limit_chars($data["008"], 1) , 1 , " " , STR_PAD_RIGHT).
461
                $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["009"]) ? $data["009"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
462
                $this->mb_str_pad($this->str_limit_chars($data["010"], 1) , 1 , " " , STR_PAD_RIGHT).
463
                $this->mb_str_pad($this->str_limit_chars($data["011"], 1) , 1 , " " , STR_PAD_RIGHT).
464
                $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["012"]) ? $data["012"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
465
                $this->mb_str_pad($this->str_limit_chars($data["013"], 1) , 1 , " " , STR_PAD_RIGHT),9);
466
        }
467
        $this->response->syspaux =  $this->syspaux;           
468
    }
469
470
    /**
471
     * @param array $fields
472
     * @return array|null
473
     */
474
    public function syspcmp(array $fields): void
475
    {
476
        foreach ($fields as $data){
477
            if($data["001"] == "C" && in_array($data["005"], $this->baixaEstoque) 
478
            && in_array($data["007"], $this->tipoComposicao) && in_array($data["008"], $this->simNao)){
479
                $this->syspcmp[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],1) , 1 , "0" , STR_PAD_LEFT).
480
                    $this->mb_str_pad($this->str_limit_chars($data["002"],1 ) , 1 , " " , STR_PAD_RIGHT).
481
                    $this->mb_str_pad($this->str_limit_chars($data["003"], 14) , 14 , "0" , STR_PAD_LEFT).
482
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["004"]) ? $data["004"] : 0), 3, ".", ""), 9) , 9 , "0" , STR_PAD_LEFT).
483
                    $this->mb_str_pad($this->str_limit_chars($data["005"], 1) , 1 , " " , STR_PAD_RIGHT).
484
                    $this->mb_str_pad($this->str_limit_chars($data["006"], 1) , 1 , " " , STR_PAD_RIGHT).
485
                    $this->mb_str_pad($this->str_limit_chars($data["007"], 1) , 1 , " " , STR_PAD_RIGHT).
486
                    $this->mb_str_pad($this->str_limit_chars($data["008"], 1) , 1 , " " , STR_PAD_RIGHT),9);
487
            } elseif($data["001"] == "I"){
488
                $this->syspcmp[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],1) , 1 , "0" , STR_PAD_LEFT).
489
                    $this->mb_str_pad($this->str_limit_chars($data["002"],14 ) , 14 , "0" , STR_PAD_LEFT).
490
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["003"]) ? $data["003"] : 0), 3, ".", ""), 9) , 9 , "0" , STR_PAD_LEFT).
491
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["004"]) ? $data["004"] : 0), 5, ".", ""), 7) , 7 , "0" , STR_PAD_LEFT).
492
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["005"]) ? $data["005"] : 0), 5, ".", ""), 7) , 7 , "0" , STR_PAD_LEFT).
493
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["006"]) ? $data["006"] : 0), 5, ".", ""), 7) , 7 , "0" , STR_PAD_LEFT).
494
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["007"]) ? $data["007"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
495
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["008"]) ? $data["008"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
496
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["009"]) ? $data["009"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT),9);
497
            } else {
498
                $this->response->errors->syspcmp = "Erro Valores Inválidos. Consultar documentação.";
499
            }
500
        }
501
        $this->response->syspcmp =  $this->syspcmp;           
502
    }
503
504
    /**
505
     * @param array $fields
506
     * @return array|null
507
     */
508
    public function syspcrc(array $fields): void
509
    {
510
        foreach ($fields as $data){
511
            if($data["001"] == "C" && in_array($data["006"], $this->tipoJuro) ){
512
                $this->syspcrc[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],1) , 1 , "0" , STR_PAD_LEFT).
513
                $this->mb_str_pad($this->str_limit_chars($data["002"],4 ) , 4 , "0" , STR_PAD_LEFT).
514
                $this->mb_str_pad($this->str_limit_chars($data["003"], 3) , 3 , "0" , STR_PAD_LEFT).
515
                $this->mb_str_pad($this->str_limit_chars($data["004"], 3) , 3 , "0" , STR_PAD_LEFT).
516
                $this->mb_str_pad($this->str_limit_chars($data["005"], 3) , 3 , "0" , STR_PAD_LEFT).
517
                $this->mb_str_pad($this->str_limit_chars($data["006"], 1) , 1 , " " , STR_PAD_RIGHT).
518
                $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["007"]) ? $data["007"] : 0), 4, ".", ""), 8) , 8 , "0" , STR_PAD_LEFT).
519
                $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["008"]) ? $data["008"] : 0), 4, ".", ""), 8) , 8 , "0" , STR_PAD_LEFT).
520
                $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["009"]) ? $data["009"] : 0), 4, ".", ""), 8) , 8 , "0" , STR_PAD_LEFT),9);
521
            } elseif($data["001"] == "T" && in_array($data["004"], $this->tipoPagamento) ){
522
                $this->syspcrc[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],1) , 1 , "0" , STR_PAD_LEFT).
523
                    $this->mb_str_pad($this->str_limit_chars($data["002"],4 ) , 4 , "0" , STR_PAD_LEFT).
524
                    $this->mb_str_pad($this->str_limit_chars($data["003"], 10) , 10 , " " , STR_PAD_RIGHT).
525
                    $this->mb_str_pad($this->str_limit_chars($data["004"], 1) , 1 , " " , STR_PAD_RIGHT).
526
                    $this->mb_str_pad($this->str_limit_chars($data["005"], 4) , 4 , "0" , STR_PAD_LEFT).
527
                    $this->mb_str_pad($this->str_limit_chars($data["006"], 15) , 15 , "0" , STR_PAD_LEFT).
528
                    $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["007"],"dmY"), 8) , 8 , "0" , STR_PAD_LEFT).
529
                    $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["008"],"dmY"), 8) , 8 , "0" , STR_PAD_LEFT).
530
                    $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["009"],"dmY"), 8) , 8 , "0" , STR_PAD_LEFT).
531
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["010"]) ? $data["010"] : 0), 2, ".", ""), 12) , 12 , "0" , STR_PAD_LEFT).
532
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["011"]) ? $data["011"] : 0), 2, ".", ""), 12) , 12 , "0" , STR_PAD_LEFT).
533
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["012"]) ? $data["012"] : 0), 2, ".", ""), 12) , 12 , "0" , STR_PAD_LEFT).
534
                    $this->mb_str_pad($this->str_limit_chars($data["013"], 45) , 45 , " " , STR_PAD_RIGHT).
535
                    $this->mb_str_pad($this->str_limit_chars($data["014"], 6) , 6 , "0" , STR_PAD_LEFT).
536
                    $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["015"],"dmY"), 8) , 8 , "0" , STR_PAD_LEFT).
537
                    $this->mb_str_pad($this->str_limit_chars($data["016"], 6) , 6 , "0" , STR_PAD_LEFT),9);
538
            } elseif($data["001"] == "P"){
539
                $this->syspcrc[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],1) , 1 , "0" , STR_PAD_LEFT).
540
                    $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["002"],"dmY"),8 ) , 8 , "0" , STR_PAD_LEFT).
541
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["003"]) ? $data["003"] : 0), 2, ".", ""), 12) , 12 , "0" , STR_PAD_LEFT).
542
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["004"]) ? $data["004"] : 0), 2, ".", ""), 12) , 12 , "0" , STR_PAD_LEFT).
543
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["005"]) ? $data["005"] : 0), 2, ".", ""), 12) , 12 , "0" , STR_PAD_LEFT).
544
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["006"]) ? $data["006"] : 0), 2, ".", ""), 12) , 12 , "0" , STR_PAD_LEFT).
545
                    $this->mb_str_pad($this->str_limit_chars($data["007"], 4) , 4 , "0" , STR_PAD_LEFT).
546
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["008"]) ? $data["008"] : 0), 2, ".", ""), 12) , 12 , "0" , STR_PAD_LEFT).
547
                    $this->mb_str_pad($this->str_limit_chars($data["009"], 6) , 6 , "0" , STR_PAD_LEFT),9);
548
            } else {
549
                $this->response->errors->syspcmp = "Erro Valores Inválidos. Consultar documentação.";
550
            }
551
        }
552
        $this->response->syspcrc =  $this->syspcrc;           
553
    }
554
555
    /**
556
     * @param array $fields
557
     * @return array|null
558
     */
559
    public function syspest(array $fields): void
560
    {
561
        foreach ($fields as $data){
562
            $this->syspest[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],14) , 14 , "0" , STR_PAD_LEFT).
563
                $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["002"]) ? $data["002"] : 0), 2, ".", ""), 15) , 15 , "0" , STR_PAD_LEFT).
564
                $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["003"],"dmY"),8 ) , 8 , "0" , STR_PAD_LEFT).
565
                $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["004"],"dmY"), 8) , 8 , "0" , STR_PAD_LEFT),9);
566
        }
567
        $this->response->syspest =  $this->syspest;           
568
    }
569
570
    /**
571
     * @param array $fields
572
     * @return array|null
573
     */
574
    public function syspestcon(array $fields): void
575
    {
576
        foreach ($fields as $data){
577
            $this->syspestcon[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],4) , 4 , "0" , STR_PAD_LEFT).
578
                $this->mb_str_pad($this->str_limit_chars($data["002"], 14) , 14 , "0" , STR_PAD_LEFT).
579
                $this->mb_str_pad($this->str_limit_chars($data["003"],15 ) , 15 , "0" , STR_PAD_LEFT),9);
580
        }
581
        $this->response->syspestcon =  $this->syspestcon;           
582
    }
583
584
    /**
585
     * @param array $fields
586
     * @return array|null
587
     */
588
    public function syspgrp(array $fields): void
589
    {
590
        foreach ($fields as $data){
591
            $this->syspgrp[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],2) , 2 , "0" , STR_PAD_LEFT).
592
                $this->mb_str_pad($this->str_limit_chars($data["002"], 3) , 3 , "0" , STR_PAD_LEFT).
593
                $this->mb_str_pad($this->str_limit_chars($data["003"],30 ) , 30 , " " , STR_PAD_RIGHT),9);
594
        }
595
        $this->response->syspgrp =  $this->syspgrp;           
596
    }
597
598
    /**
599
     * @param array $fields
600
     * @return array|null
601
     */
602
    public function syspfzd(array $fields): void
603
    {
604
        foreach ($fields as $data){
605
            if(in_array($data["003"], $this->tipoFormaPagamento) && in_array($data["004"], $this->simNao) 
606
            && in_array($data["005"], $this->verificaLimiteCredito) && in_array($data["006"], $this->simNao)
607
            && in_array($data["008"], $this->simNao) && in_array($data["009"], $this->simNao) && in_array($data["011"], $this->simNao) 
608
            && in_array($data["012"], $this->simNao) && in_array($data["013"], $this->simNao) && in_array($data["020"], $this->simNao) 
609
            && in_array($data["021"], $this->simNao) && in_array($data["022"], $this->simNao) && in_array($data["023"], $this->simNao)
610
            && in_array($data["024"], $this->simNao) && in_array($data["027"], $this->simNao) && in_array($data["031"], $this->simNao)
611
            && in_array($data["035"], $this->simNao) && in_array($data["039"], $this->simNao) && in_array($data["041"], $this->simNao) 
612
            && in_array($data["043"], $this->simNao) && in_array($data["044"], $this->simNao) ){
613
                $this->syspfzd[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],3) , 3 , "0" , STR_PAD_LEFT).
614
                    $this->mb_str_pad($this->str_limit_chars($data["002"], 20) , 20 , " " , STR_PAD_RIGHT).
615
                    $this->mb_str_pad($this->str_limit_chars($data["003"], 1) , 1 , " " , STR_PAD_RIGHT).
616
                    $this->mb_str_pad($this->str_limit_chars($data["004"], 1) , 1 , " " , STR_PAD_RIGHT).
617
                    $this->mb_str_pad($this->str_limit_chars($data["005"], 1) , 1 , "0" , STR_PAD_LEFT).
618
                    $this->mb_str_pad($this->str_limit_chars($data["006"], 1) , 1 , " " , STR_PAD_RIGHT).
619
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["007"]) ? $data["007"] : 0), 2, ".", ""), 15) , 15 , "0" , STR_PAD_LEFT).
620
                    $this->mb_str_pad($this->str_limit_chars($data["008"], 1) , 1 , " " , STR_PAD_RIGHT).
621
                    $this->mb_str_pad($this->str_limit_chars($data["009"], 1) , 1 , " " , STR_PAD_RIGHT).
622
                    $this->mb_str_pad($this->str_limit_chars($data["010"], 3) , 3 , "0" , STR_PAD_LEFT).
623
                    $this->mb_str_pad($this->str_limit_chars($data["011"], 1) , 1 , " " , STR_PAD_RIGHT).
624
                    $this->mb_str_pad($this->str_limit_chars($data["012"], 1) , 1 , " " , STR_PAD_RIGHT).
625
                    $this->mb_str_pad($this->str_limit_chars($data["013"], 1) , 1 , " " , STR_PAD_RIGHT).
626
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["014"]) ? $data["014"] : 0), 2, ".", ""), 15) , 15 , "0" , STR_PAD_LEFT).
627
                    $this->mb_str_pad($this->str_limit_chars($data["015"], 1) , 1 , " " , STR_PAD_RIGHT).
628
                    $this->mb_str_pad($this->str_limit_chars($data["016"], 3) , 3 , "0" , STR_PAD_LEFT).
629
                    $this->mb_str_pad($this->str_limit_chars($data["017"], 1) , 1 , " " , STR_PAD_RIGHT).
630
                    $this->mb_str_pad($this->str_limit_chars($data["018"], 1) , 1 , " " , STR_PAD_RIGHT).
631
                    $this->mb_str_pad($this->str_limit_chars($data["019"], 1) , 1 , " " , STR_PAD_RIGHT).
632
                    $this->mb_str_pad($this->str_limit_chars($data["020"], 1) , 1 , " " , STR_PAD_RIGHT).
633
                    $this->mb_str_pad($this->str_limit_chars($data["021"], 1) , 1 , " " , STR_PAD_RIGHT).
634
                    $this->mb_str_pad($this->str_limit_chars($data["022"], 1) , 1 , " " , STR_PAD_RIGHT).
635
                    $this->mb_str_pad($this->str_limit_chars($data["023"], 1) , 1 , " " , STR_PAD_RIGHT).
636
                    $this->mb_str_pad($this->str_limit_chars($data["024"], 1) , 1 , " " , STR_PAD_RIGHT).
637
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["025"]) ? $data["025"] : 0), 2, ".", ""), 15) , 15 , "0" , STR_PAD_LEFT).
638
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["026"]) ? $data["026"] : 0), 2, ".", ""), 15) , 15 , "0" , STR_PAD_LEFT).
639
                    $this->mb_str_pad($this->str_limit_chars($data["027"], 1) , 1 , " " , STR_PAD_RIGHT).
640
                    $this->mb_str_pad($this->str_limit_chars($data["028"], 15) , 15 , " " , STR_PAD_RIGHT).
641
                    $this->mb_str_pad($this->str_limit_chars($data["029"], 1) , 1 , " " , STR_PAD_RIGHT).
642
                    $this->mb_str_pad($this->str_limit_chars($data["030"], 2) , 2 , "0" , STR_PAD_LEFT).
643
                    $this->mb_str_pad($this->str_limit_chars($data["031"], 1) , 1 , " " , STR_PAD_RIGHT).
644
                    $this->mb_str_pad($this->str_limit_chars($data["032"], 15) , 15 , " " , STR_PAD_RIGHT).
645
                    $this->mb_str_pad($this->str_limit_chars($data["033"], 1) , 1 , " " , STR_PAD_RIGHT).
646
                    $this->mb_str_pad($this->str_limit_chars($data["034"], 2) , 2 , "0" , STR_PAD_LEFT).
647
                    $this->mb_str_pad($this->str_limit_chars($data["035"], 1) , 1 , " " , STR_PAD_RIGHT).
648
                    $this->mb_str_pad($this->str_limit_chars($data["036"], 15) , 15 , " " , STR_PAD_RIGHT).
649
                    $this->mb_str_pad($this->str_limit_chars($data["037"], 1) , 1 , " " , STR_PAD_RIGHT).
650
                    $this->mb_str_pad($this->str_limit_chars($data["038"], 2) , 2 , "0" , STR_PAD_LEFT).
651
                    $this->mb_str_pad($this->str_limit_chars($data["039"], 1) , 1 , " " , STR_PAD_RIGHT).
652
                    $this->mb_str_pad($this->str_limit_chars($data["040"], 15) , 15 , " " , STR_PAD_RIGHT).
653
                    $this->mb_str_pad($this->str_limit_chars($data["041"], 1) , 1 , " " , STR_PAD_RIGHT).
654
                    $this->mb_str_pad($this->str_limit_chars($data["042"], 2) , 2 , "0" , STR_PAD_LEFT).
655
                    $this->mb_str_pad($this->str_limit_chars($data["043"], 1) , 1 , " " , STR_PAD_RIGHT).
656
                    $this->mb_str_pad($this->str_limit_chars($data["044"], 1) , 1 , " " , STR_PAD_RIGHT).
657
                    $this->mb_str_pad($this->str_limit_chars($data["045"], 2) , 2 , "0" , STR_PAD_LEFT).
658
                    $this->mb_str_pad($this->str_limit_chars($data["046"], 1) , 1 , " " , STR_PAD_RIGHT).
659
                    $this->mb_str_pad($this->str_limit_chars($data["047"], 2) , 2 , "0" , STR_PAD_LEFT),9);
660
            } else {
661
                $this->response->errors->syspcmp = "Erro Valores Inválidos. Consultar documentação.";
662
            }
663
        }
664
        $this->response->syspfzd =  $this->syspfzd;           
665
    }
666
667
    /**
668
     * @param array $fields
669
     * @return array|null
670
     */
671
    public function syspfor(array $fields): void
672
    {
673
        foreach ($fields as $data){
674
            $this->syspfor[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],4) , 4 , "0" , STR_PAD_LEFT).
675
                $this->mb_str_pad($this->str_limit_chars($data["002"], 40) , 40 , " " , STR_PAD_RIGHT).
676
                $this->mb_str_pad($this->str_limit_chars($data["003"], 40) , 40 , " " , STR_PAD_RIGHT).
677
                $this->mb_str_pad($this->str_limit_chars($data["004"], 20) , 20 , " " , STR_PAD_RIGHT).
678
                $this->mb_str_pad($this->str_limit_chars($data["005"], 15) , 15 , " " , STR_PAD_RIGHT).
679
                $this->mb_str_pad($this->str_limit_chars($data["006"], 2) , 2 , " " , STR_PAD_RIGHT).
680
                $this->mb_str_pad($this->str_limit_chars($data["007"], 15) , 15 , "0" , STR_PAD_LEFT).
681
                $this->mb_str_pad($this->str_limit_chars($data["008"], 15) , 15 , "0" , STR_PAD_LEFT).
682
                $this->mb_str_pad($this->str_limit_chars($data["009"], 10) , 10 , "0" , STR_PAD_LEFT).
683
                $this->mb_str_pad($this->str_limit_chars($data["010"], 15) , 15 , " " , STR_PAD_RIGHT).
684
                $this->mb_str_pad($this->str_limit_chars($data["011"], 70) , 70 , " " , STR_PAD_RIGHT).
685
                $this->mb_str_pad($this->str_limit_chars($data["012"], 15) , 15 , " " , STR_PAD_RIGHT).
686
                $this->mb_str_pad($this->str_limit_chars($data["013"], 6) , 6 , " " , STR_PAD_RIGHT).
687
                $this->mb_str_pad($this->str_limit_chars($data["014"], 15) , 15 , " " , STR_PAD_RIGHT).
688
                $this->mb_str_pad($this->str_limit_chars($data["015"], 14) , 14 , " " , STR_PAD_RIGHT).
689
                $this->mb_str_pad($this->str_limit_chars($data["016"], 21) , 21 , " " , STR_PAD_RIGHT).
690
                $this->mb_str_pad($this->str_limit_chars($data["017"], 60) , 60 , " " , STR_PAD_RIGHT).
691
                $this->mb_str_pad($this->str_limit_chars($data["018"], 60) , 60 , " " , STR_PAD_RIGHT),9);
692
        }
693
        $this->response->syspfor =  $this->syspfor;           
694
    }
695
696
    /**
697
     * @param array $fields
698
     * @return array|null
699
     */
700
    public function syspfun(array $fields): void
701
    {
702
        foreach ($fields as $data){
703
            $this->syspfun[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],4) , 4 , "0" , STR_PAD_LEFT).
704
                $this->mb_str_pad($this->str_limit_chars($data["002"], 15) , 15 , " " , STR_PAD_RIGHT).
705
                $this->mb_str_pad($this->str_limit_chars($data["003"], 5) , 5 , " " , STR_PAD_RIGHT).
706
                $this->mb_str_pad($this->str_limit_chars($data["004"], 1) , 1 , " " , STR_PAD_RIGHT).
707
                $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["005"]) ? $data["005"] : 0), 2, ".", ""), 15) , 15 , "0" , STR_PAD_LEFT).
708
                $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["006"]) ? $data["006"] : 0), 2, ".", ""), 15) , 15 , "0" , STR_PAD_LEFT).
709
                $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["007"]) ? $data["007"] : 0), 2, ".", ""), 15) , 15 , "0" , STR_PAD_LEFT).
710
                $this->mb_str_pad($this->str_limit_chars($data["008"], 30) , 30 , " " , STR_PAD_RIGHT).
711
                $this->mb_str_pad($this->str_limit_chars($data["009"], 1) , 1 , "0" , STR_PAD_LEFT).
712
                $this->mb_str_pad($this->str_limit_chars($data["010"], 40) , 40 , " " , STR_PAD_RIGHT).
713
                $this->mb_str_pad($this->str_limit_chars($data["011"], 6) , 6 , "0" , STR_PAD_LEFT).
714
                $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["012"]) ? $data["012"] : 0), 2, ".", ""), 15) , 15 , "0" , STR_PAD_LEFT),9);
715
        }
716
        $this->response->syspfun =  $this->syspfun;           
717
    }
718
719
    /**
720
     * @param array $fields
721
     * @return array|null
722
     */
723
    public function syspimpfed(array $fields): void
724
    {
725
        foreach ($fields as $data){
726
            if(in_array($data["003"], $this->incidencia) && in_array($data["007"], $this->tipoImposto) ){
727
                $this->syspimpfed[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],1) , 1 , " " , STR_PAD_RIGHT).
728
                    $this->mb_str_pad($this->str_limit_chars($data["002"], 20) , 20 , " " , STR_PAD_RIGHT).
729
                    $this->mb_str_pad($this->str_limit_chars($data["003"], 1) , 1 , " " , STR_PAD_RIGHT).
730
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["004"]) ? $data["004"] : 0), 4, ".", ""), 8) , 8 , "0" , STR_PAD_LEFT).
731
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["005"]) ? $data["005"] : 0), 4, ".", ""), 8) , 8 , "0" , STR_PAD_LEFT).
732
                    $this->mb_str_pad($this->str_limit_chars($data["006"], 50) , 50 , " " , STR_PAD_RIGHT).
733
                    $this->mb_str_pad($this->str_limit_chars($data["007"], 1) , 1 , " " , STR_PAD_RIGHT).
734
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["008"]) ? $data["008"] : 0), 4, ".", ""), 8) , 8 , "0" , STR_PAD_LEFT).
735
                    $this->mb_str_pad($this->str_limit_chars($data["009"], 2) , 2 , "0" , STR_PAD_LEFT).
736
                    $this->mb_str_pad($this->str_limit_chars($data["010"], 2) , 2 , "0" , STR_PAD_LEFT).
737
                    $this->mb_str_pad($this->str_limit_chars($data["011"], 2) , 2 , "0" , STR_PAD_LEFT),9);
738
            } else {
739
                $this->response->errors->syspcmp = "Erro Valores Inválidos. Consultar documentação.";
740
            }
741
        }
742
        $this->response->syspimpfed =  $this->syspimpfed;           
743
    }
744
745
    /**
746
     * @param array $fields
747
     * @return array|null
748
     */
749
    public function syspimppro(array $fields): void
750
    {
751
        foreach ($fields as $data){
752
            $this->syspimppro[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],14) , 14 , "0" , STR_PAD_LEFT).
753
                $this->mb_str_pad($this->str_limit_chars($data["002"], 1) , 1 , " " , STR_PAD_RIGHT).
754
                $this->mb_str_pad($this->str_limit_chars($data["003"], 2) , 2 , "0" , STR_PAD_LEFT),9);
755
        }
756
        $this->response->syspimppro =  $this->syspimppro;           
757
    }
758
759
    /**
760
     * @param array $fields
761
     * @return array|null
762
     */
763
    public function sysppplc(array $fields): void
764
    {
765
        foreach ($fields as $data){
766
            if(in_array($data["003"], $this->categoriaConta) && in_array($data["006"], $this->tipoPlano) 
767
            && in_array($data["008"], $this->natureza) ){  
768
                $this->sysppplc[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],13) , 13 , " " , STR_PAD_RIGHT).
769
                    $this->mb_str_pad($this->str_limit_chars($data["002"], 4) , 4 , "0" , STR_PAD_LEFT).
770
                    $this->mb_str_pad($this->str_limit_chars($data["003"], 1) , 1 , " " , STR_PAD_RIGHT).
771
                    $this->mb_str_pad($this->str_limit_chars($data["004"], 30) , 30 , " " , STR_PAD_RIGHT).
772
                    $this->mb_str_pad($this->str_limit_chars($data["005"], 20) , 20 , " " , STR_PAD_RIGHT).
773
                    $this->mb_str_pad($this->str_limit_chars($data["006"], 1) , 1 , " " , STR_PAD_RIGHT).
774
                    $this->mb_str_pad($this->str_limit_chars($data["007"], 20) , 20 , " " , STR_PAD_RIGHT).
775
                    $this->mb_str_pad($this->str_limit_chars($data["008"], 2) , 2 , " " , STR_PAD_RIGHT).
776
                    $this->mb_str_pad($this->str_limit_chars($data["009"], 60) , 60 , " " , STR_PAD_RIGHT),9);
777
            } else {
778
                $this->response->errors->syspcmp = "Erro Valores Inválidos. Consultar documentação.";
779
            }
780
        }
781
        $this->response->sysppplc =  $this->sysppplc;           
782
    }
783
784
    /**
785
     * @param array $fields
786
     * @return array|null
787
     */
788
    public function syspplp(array $fields): void
789
    {
790
        foreach ($fields as $data){
791
            $this->syspplp[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],2) , 2 , "0" , STR_PAD_LEFT).
792
                $this->mb_str_pad($this->str_limit_chars($data["002"],20 ) , 20 , " " , STR_PAD_RIGHT).
793
                $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["003"]) ? $data["003"] : 0), 2, ".", ""), 15) , 15 , "0" , STR_PAD_LEFT).
794
                $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["004"]) ? $data["004"] : 0), 2, ".", ""), 15) , 15 , "0" , STR_PAD_LEFT).
795
                $this->mb_str_pad($this->str_limit_chars($data["005"], 3) , 3 , "0" , STR_PAD_LEFT).
796
                $this->mb_str_pad($this->str_limit_chars($data["006"], 3) , 3 , "0" , STR_PAD_LEFT).
797
                $this->mb_str_pad($this->str_limit_chars($data["007"], 3) , 3 , "0" , STR_PAD_LEFT).
798
                $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["008"]) ? $data["008"] : 0), 2, ".", ""), 15) , 15 , "0" , STR_PAD_LEFT).
799
                $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["009"]) ? $data["009"] : 0), 2, ".", ""), 15) , 15 , "0" , STR_PAD_LEFT).
800
                $this->mb_str_pad($this->str_limit_chars($data["010"], 15) , 15 , " " , STR_PAD_RIGHT).
801
                $this->mb_str_pad($this->str_limit_chars($data["011"], 1) , 1 , " " , STR_PAD_RIGHT).
802
                $this->mb_str_pad($this->str_limit_chars($data["012"], 2) , 2 , "0" , STR_PAD_LEFT).
803
                $this->mb_str_pad($this->str_limit_chars($data["013"], 1) , 1 , " " , STR_PAD_RIGHT).
804
                $this->mb_str_pad($this->str_limit_chars($data["014"], 15) , 15 , " " , STR_PAD_RIGHT).
805
                $this->mb_str_pad($this->str_limit_chars($data["015"], 1) , 1 , " " , STR_PAD_RIGHT).
806
                $this->mb_str_pad($this->str_limit_chars($data["016"], 2) , 2 , "0" , STR_PAD_LEFT).
807
                $this->mb_str_pad($this->str_limit_chars($data["017"], 1) , 1 , " " , STR_PAD_RIGHT).
808
                $this->mb_str_pad($this->str_limit_chars($data["018"], 15) , 15 , " " , STR_PAD_RIGHT).
809
                $this->mb_str_pad($this->str_limit_chars($data["019"], 1) , 1 , " " , STR_PAD_RIGHT).
810
                $this->mb_str_pad($this->str_limit_chars($data["020"], 2) , 2 , "0" , STR_PAD_LEFT).
811
                $this->mb_str_pad($this->str_limit_chars($data["021"], 1) , 1 , " " , STR_PAD_RIGHT).
812
                $this->mb_str_pad($this->str_limit_chars($data["022"], 15) , 15 , " " , STR_PAD_RIGHT).
813
                $this->mb_str_pad($this->str_limit_chars($data["023"], 1) , 1 , " " , STR_PAD_RIGHT).
814
                $this->mb_str_pad($this->str_limit_chars($data["024"], 2) , 2 , "0" , STR_PAD_LEFT).
815
                $this->mb_str_pad($this->str_limit_chars($data["025"], 1) , 1 , " " , STR_PAD_RIGHT).
816
                $this->mb_str_pad($this->str_limit_chars($data["026"], 1) , 1 , " " , STR_PAD_RIGHT).
817
                $this->mb_str_pad($this->str_limit_chars($data["027"], 1) , 1 , " " , STR_PAD_RIGHT),9);
818
        }
819
        $this->response->syspplp =  $this->syspplp;           
820
    }
821
822
    /**
823
    * @param array $fields
824
    */
825
    public function syspprp(array $fields): void
826
    {
827
        foreach ($fields as $data){
828
            if(in_array($data["002"], $this->precopraticado)){
829
                $this->syspprp[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],14) , 14 , "0" , STR_PAD_LEFT).
830
                    $this->mb_str_pad($this->str_limit_chars($data["002"],1 ) , 1 , " " , STR_PAD_RIGHT).
831
                    $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["003"],"Ymd"), 8) , 8 , "0" , STR_PAD_LEFT).
832
                    $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["004"],"Ymd"), 8) , 8 , "0" , STR_PAD_LEFT).
833
                    $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["005"],"Ymd"), 8) , 8 , "0" , STR_PAD_LEFT).
834
                    $this->mb_str_pad($this->str_limit_chars($data["006"], 13) , 13 , " " , STR_PAD_RIGHT).
835
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["007"]) ? $data["007"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
836
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["008"]) ? $data["008"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT),9);
837
            } else {
838
                $this->response->errors->syspcmp = "Erro Valores Inválidos. Consultar documentação.";
839
            }
840
        }
841
        $this->response->syspprp =  $this->syspprp;          
842
    }
843
844
    /**
845
    * @param array $fields
846
    * @return array|null
847
    */
848
    public function sysppro(array $fields): void
849
    {
850
        foreach ($fields as $data){
851
            if(in_array($data["005"], $this->simNao) 
852
                && in_array($data["007"], $this->pesoVariavel) && in_array($data["016"], $this->simNao) 
853
                && in_array($data["017"], $this->simNao) && in_array($data["026"], $this->tipoBonificacao) 
854
                && in_array($data["031"], $this->produtoAlterado) 
855
                && in_array($data["033"], $this->simNao) && in_array($data["034"], $this->simNao) 
856
                && in_array($data["035"], $this->simNao) && in_array($data["036"], $this->especializacaoProduto) 
857
                && in_array($data["037"], $this->composicao) && in_array($data["038"], $this->simNao) 
858
                && in_array($data["039"], $this->simNao) && in_array($data["049"], $this->simNao) 
859
                && in_array($data["072"], $this->finalidade) && in_array($data["073"], $this->arredondarTruncar) 
860
                && in_array($data["074"], $this->producao) && in_array($data["075"], $this->simNao) 
861
                && in_array($data["087"], $this->simNao) && in_array($data["092"], $this->simNao) 
862
                && in_array($data["093"], $this->simNao) ){
863
                $this->sysppro[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],14) , 14 , "0" , STR_PAD_LEFT).
864
                    $this->mb_str_pad($this->str_limit_chars($data["002"],45 ) , 45 , " " , STR_PAD_RIGHT).
865
                    $this->mb_str_pad($this->str_limit_chars($data["003"], 20) , 20 , " " , STR_PAD_RIGHT).
866
                    $this->mb_str_pad($this->str_limit_chars($data["004"], 2) , 2 , "0" , STR_PAD_LEFT).
867
                    $this->mb_str_pad($this->str_limit_chars($data["005"], 1) , 1 , " " , STR_PAD_RIGHT).
868
                    $this->mb_str_pad($this->str_limit_chars($data["006"], 3) , 3 , " " , STR_PAD_RIGHT).
869
                    $this->mb_str_pad($this->str_limit_chars($data["007"], 1) , 1 , " " , STR_PAD_RIGHT).
870
                    $this->mb_str_pad($this->str_limit_chars($data["008"], 2) , 2 , "0" , STR_PAD_LEFT).
871
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["009"]) ? $data["009"] : 0), 2, ".", ""), 5) , 5 , "0" , STR_PAD_LEFT).
872
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["010"]) ? $data["010"] : 0), 2, ".", ""), 5) , 5 , "0" , STR_PAD_LEFT).
873
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["011"]) ? $data["011"] : 0), 2, ".", ""), 5) , 5 , "0" , STR_PAD_LEFT).
874
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["012"]) ? $data["012"] : 0), 2, ".", ""), 5) , 5 , "0" , STR_PAD_LEFT).
875
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["013"]) ? $data["013"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
876
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["014"]) ? $data["014"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
877
                    $this->mb_str_pad($this->str_limit_chars($data["015"], 3) , 3 , "0" , STR_PAD_LEFT).
878
                    $this->mb_str_pad($this->str_limit_chars($data["016"], 1) , 1 , " " , STR_PAD_RIGHT).
879
                    $this->mb_str_pad($this->str_limit_chars($data["017"], 1) , 1 , " " , STR_PAD_RIGHT).
880
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["018"]) ? $data["018"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
881
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["019"]) ? $data["019"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
882
                    $this->mb_str_pad($this->str_limit_chars($data["020"], 4) , 4 , "0" , STR_PAD_LEFT).
883
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["021"]) ? $data["021"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
884
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["022"]) ? $data["022"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
885
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["023"]) ? $data["023"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
886
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["024"]) ? $data["024"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
887
                    $this->mb_str_pad($this->str_limit_chars($data["025"], 1) , 1 , " " , STR_PAD_RIGHT).
888
                    $this->mb_str_pad($this->str_limit_chars($data["026"], 1) , 1 , " " , STR_PAD_RIGHT).
889
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["027"]) ? $data["027"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
890
                    $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["028"],"Ymd"), 8) , 8 , "0" , STR_PAD_LEFT).
891
                    $this->mb_str_pad($this->str_limit_chars($data["029"], 1) , 1 , "0" , STR_PAD_LEFT).
892
                    $this->mb_str_pad($this->str_limit_chars($data["030"], 3) , 3 , " " , STR_PAD_RIGHT).
893
                    $this->mb_str_pad($this->str_limit_chars($data["031"], 1) , 1 , " " , STR_PAD_RIGHT).
894
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["032"]) ? $data["032"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
895
                    $this->mb_str_pad($this->str_limit_chars($data["033"], 1) , 1 , " " , STR_PAD_RIGHT).
896
                    $this->mb_str_pad($this->str_limit_chars($data["034"], 1) , 1 , " " , STR_PAD_RIGHT).
897
                    $this->mb_str_pad($this->str_limit_chars($data["035"], 1) , 1 , " " , STR_PAD_RIGHT).
898
                    $this->mb_str_pad($this->str_limit_chars($data["036"], 1) , 1 , " " , STR_PAD_RIGHT).
899
                    $this->mb_str_pad($this->str_limit_chars($data["037"], 1) , 1 , " " , STR_PAD_RIGHT).
900
                    $this->mb_str_pad($this->str_limit_chars($data["038"], 1) , 1 , " " , STR_PAD_RIGHT).
901
                    $this->mb_str_pad($this->str_limit_chars($data["039"], 1) , 1 , " " , STR_PAD_RIGHT).
902
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["040"]) ? $data["040"] : 0), 2, ".", ""), 7) , 7 , "0" , STR_PAD_LEFT).
903
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["041"]) ? $data["041"] : 0), 2, ".", ""), 7) , 7 , "0" , STR_PAD_LEFT).
904
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["042"]) ? $data["042"] : 0), 2, ".", ""), 7) , 7 , "0" , STR_PAD_LEFT).
905
                    $this->mb_str_pad($this->str_limit_chars($data["043"], 1) , 1 , " " , STR_PAD_RIGHT).
906
                    $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["044"],"dmY"), 8) , 8 , "0" , STR_PAD_LEFT).
907
                    $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["045"],"dmY"), 8) , 8 , "0" , STR_PAD_LEFT).
908
                    $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["046"],"dmY"), 8) , 8 , "0" , STR_PAD_LEFT).
909
                    $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["047"],"dmY"), 8) , 8 , "0" , STR_PAD_LEFT).
910
                    $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["048"],"dmY"), 8) , 8 , "0" , STR_PAD_LEFT).
911
                    $this->mb_str_pad($this->str_limit_chars($data["049"], 1) , 1 , " " , STR_PAD_RIGHT).
912
                    $this->mb_str_pad($this->str_limit_chars($data["050"], 20) , 20 , " " , STR_PAD_RIGHT).
913
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["051"]) ? $data["052"] : 0), 2, ".", ""), 9) , 9 , "0" , STR_PAD_LEFT).
914
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["052"]) ? $data["051"] : 0), 2, ".", ""), 9) , 9 , "0" , STR_PAD_LEFT).
915
                    $this->mb_str_pad($this->str_limit_chars($data["053"], 3) , 3 , "0" , STR_PAD_LEFT).
916
                    $this->mb_str_pad($this->str_limit_chars($data["054"], 3) , 3 , "0" , STR_PAD_LEFT).
917
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["055"]) ? $data["055"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
918
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["056"]) ? $data["056"] : 0), 2, ".", ""), 9) , 9 , "0" , STR_PAD_LEFT).
919
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["057"]) ? $data["057"] : 0), 3, ".", ""), 9) , 9 , "0" , STR_PAD_LEFT).
920
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["058"]) ? $data["058"] : 0), 3, ".", ""), 9) , 9 , "0" , STR_PAD_LEFT).
921
                    $this->mb_str_pad($this->str_limit_chars($data["059"], 3) , 3 , " " , STR_PAD_RIGHT).
922
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["060"]) ? $data["060"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
923
                    $this->mb_str_pad($this->str_limit_chars($data["061"], 3) , 3 , "0" , STR_PAD_LEFT).
924
                    $this->mb_str_pad($this->str_limit_chars($data["062"], 35) , 35 , " " , STR_PAD_RIGHT).
925
                    $this->mb_str_pad($this->str_limit_chars($data["063"], 20) , 20 , " " , STR_PAD_RIGHT).
926
                    $this->mb_str_pad($this->str_limit_chars($data["064"], 3) , 3 , " " , STR_PAD_RIGHT).
927
                    $this->mb_str_pad($this->str_limit_chars($data["065"], 3) , 3 , "0" , STR_PAD_LEFT).
928
                    $this->mb_str_pad($this->str_limit_chars($data["066"], 3) , 3 , "0" , STR_PAD_LEFT).
929
                    $this->mb_str_pad($this->str_limit_chars($data["067"], 8) , 8 , " " , STR_PAD_RIGHT).
930
                    $this->mb_str_pad($this->str_limit_chars($data["068"], 2) , 2 , " " , STR_PAD_RIGHT).
931
                    $this->mb_str_pad($this->str_limit_chars($data["069"], 3) , 3 , " " , STR_PAD_RIGHT).
932
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["070"]) ? $data["070"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
933
                    $this->mb_str_pad($this->str_limit_chars($data["071"], 7) , 7 , "0" , STR_PAD_LEFT).
934
                    $this->mb_str_pad($this->str_limit_chars($data["072"], 1) , 1 , " " , STR_PAD_RIGHT).
935
                    $this->mb_str_pad($this->str_limit_chars($data["073"], 1) , 1 , " " , STR_PAD_RIGHT).
936
                    $this->mb_str_pad($this->str_limit_chars($data["074"], 1) , 1 , " " , STR_PAD_RIGHT).
937
                    $this->mb_str_pad($this->str_limit_chars($data["075"], 1) , 1 , " " , STR_PAD_RIGHT).
938
                    $this->mb_str_pad($this->str_limit_chars($data["076"], 14) , 14 , "0" , STR_PAD_LEFT).
939
                    $this->mb_str_pad($this->str_limit_chars($data["077"], 1) , 1 , " " , STR_PAD_RIGHT).
940
                    $this->mb_str_pad($this->str_limit_chars($data["078"], 2) , 2 , "0" , STR_PAD_LEFT).
941
                    $this->mb_str_pad($this->str_limit_chars($data["079"], 2) , 2 , "0" , STR_PAD_LEFT).
942
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["080"]) ? $data["080"] : 0), 4, ".", ""), 8) , 8 , "0" , STR_PAD_LEFT).
943
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["081"]) ? $data["081"] : 0), 4, ".", ""), 8) , 8 , "0" , STR_PAD_LEFT).
944
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["084"]) ? $data["084"] : 0), 4, ".", ""), 8) , 8 , "0" , STR_PAD_LEFT).
945
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["085"]) ? $data["085"] : 0), 4, ".", ""), 8) , 8 , "0" , STR_PAD_LEFT).
946
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["086"]) ? $data["086"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
947
                    $this->mb_str_pad($this->str_limit_chars($data["087"], 1) , 1 , " " , STR_PAD_RIGHT).
948
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["088"]) ? $data["088"] : 0), 2, ".", ""), 7) , 7 , "0" , STR_PAD_LEFT).
949
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["089"]) ? $data["089"] : 0), 2, ".", ""), 15) , 15 , "0" , STR_PAD_LEFT).
950
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["090"]) ? $data["090"] : 0), 2, ".", ""), 15) , 15 , "0" , STR_PAD_LEFT).
951
                    $this->mb_str_pad($this->str_limit_chars($data["091"], 8) , 8 , " " , STR_PAD_RIGHT).
952
                    $this->mb_str_pad($this->str_limit_chars($data["092"], 1) , 1 , " " , STR_PAD_RIGHT).
953
                    $this->mb_str_pad($this->str_limit_chars($data["093"], 1) , 1 , " " , STR_PAD_RIGHT),9);
954
            } else {
955
                $this->response->errors->syspcmp = "Erro Valores Inválidos. Consultar documentação.";
956
            }
957
        }
958
        $this->response->sysppro =  $this->sysppro;           
959
    }
960
961
    /**
962
    * @param array $fields
963
    */
964
    public function syspprofor(array $fields): void
965
    {
966
        foreach ($fields as $data){
967
            if(in_array($data["006"], $this->nivelFornecedor)){
968
                $this->syspprofor[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],14) , 14 , "0" , STR_PAD_LEFT).
969
                    $this->mb_str_pad($this->str_limit_chars($data["002"],4 ) , 4 , "0" , STR_PAD_LEFT).
970
                    $this->mb_str_pad($this->str_limit_chars($data["003"], 20) , 20 , " " , STR_PAD_RIGHT).
971
                    $this->mb_str_pad($this->str_limit_chars($data["004"], 3) , 3 , " " , STR_PAD_RIGHT).
972
                    $this->mb_str_pad($this->str_limit_chars($data["005"], 9) , 9 , "0" , STR_PAD_LEFT).
973
                    $this->mb_str_pad($this->str_limit_chars($data["006"], 1) , 1 , " " , STR_PAD_RIGHT),9);
974
            } else {
975
                $this->response->errors->syspcmp = "Erro Valores Inválidos. Consultar documentação.";
976
            }
977
        }
978
        $this->response->syspprofor =  $this->syspprofor;          
979
    }
980
981
    /**
982
    * @param array $fields
983
    */
984
    public function syspppl(array $fields): void
985
    {
986
        foreach ($fields as $data){
987
            if($data["001"] == "01" && in_array($data["008"], $this->tipoDesconto) && in_array($data["009"], $this->tipoPreco) && in_array($data["010"], $this->statusPromocao) ){
988
                $this->syspppl[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],2) , 2 , " " , STR_PAD_RIGHT).
989
                    $this->mb_str_pad($this->str_limit_chars($data["002"],6 ) , 6 , "0" , STR_PAD_LEFT).
990
                    $this->mb_str_pad($this->str_limit_chars($data["003"], 60) , 60 , " " , STR_PAD_RIGHT).
991
                    $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["004"],"dmY"), 8) , 8 , "0" , STR_PAD_LEFT).
992
                    $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["005"],"dmY"), 8) , 8 , "0" , STR_PAD_LEFT).
993
                    $this->mb_str_pad($this->str_limit_chars($data["006"], 9) , 9 , "0" , STR_PAD_LEFT).
994
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["007"]) ? $data["007"] : 0), 2, ".", ""), 12) , 12 , "0" , STR_PAD_LEFT).
995
                    $this->mb_str_pad($this->str_limit_chars($data["008"], 1) , 1 , " " , STR_PAD_RIGHT).
996
                    $this->mb_str_pad($this->str_limit_chars($data["009"], 1) , 1 , " " , STR_PAD_RIGHT).
997
                    $this->mb_str_pad($this->str_limit_chars($data["010"], 1) , 1 , " " , STR_PAD_RIGHT),9);
998
            } else if($data["001"] == "02" ){
999
                $this->syspppl[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],2) , 2 , " " , STR_PAD_RIGHT).
1000
                    $this->mb_str_pad($this->str_limit_chars($data["002"],6 ) , 6 , "0" , STR_PAD_LEFT).
1001
                    $this->mb_str_pad($this->str_limit_chars($data["003"], 14) , 14 , "0" , STR_PAD_LEFT),9);
1002
            } else {
1003
                $this->response->errors->syspcmp = "Erro Valores Inválidos. Consultar documentação.";
1004
            }
1005
        }
1006
        $this->response->syspppl =  $this->syspppl;          
1007
    }
1008
1009
    /**
1010
    * @param array $fields
1011
    */
1012
    public function sysppdcn(array $fields): void
1013
    {
1014
        foreach ($fields as $data){
1015
            if(in_array($data["003"], $this->tipoPromocao) && in_array($data["005"], $this->modalidadeDesconto) ){
1016
                $this->sysppdcn[] = gzcompress($this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["001"],"dmY"),8) , 8 , "0" , STR_PAD_LEFT).
1017
                    $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["002"],"dmY"),8 ) , 8 , "0" , STR_PAD_LEFT).
1018
                    $this->mb_str_pad($this->str_limit_chars($data["003"], 1) , 1 , " " , STR_PAD_RIGHT).
1019
                    $this->mb_str_pad($this->str_limit_chars($data["004"], 14) , 14 , "0" , STR_PAD_LEFT).
1020
                    $this->mb_str_pad($this->str_limit_chars($data["005"], 1) , 1 , " " , STR_PAD_RIGHT).
1021
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["006"]) ? $data["006"] : 0), 2, ".", ""), 13) , 13 , "0" , STR_PAD_LEFT).
1022
                    $this->mb_str_pad($this->str_limit_chars($data["007"], 3) , 3 , "0" , STR_PAD_LEFT),9);
1023
            } else {
1024
                $this->response->errors->syspcmp = "Erro Valores Inválidos. Consultar documentação.";
1025
            }
1026
        }
1027
        $this->response->sysppdcn =  $this->sysppdcn;          
1028
    }
1029
1030
    /**
1031
    * @param array $fields
1032
    */
1033
    public function syspram(array $fields): void
1034
    {
1035
        foreach ($fields as $data){
1036
            $this->syspram[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],3) , 3 , "0" , STR_PAD_LEFT).
1037
                $this->mb_str_pad($this->str_limit_chars($data["002"],20 ) , 20 , " " , STR_PAD_RIGHT),9);
1038
        }
1039
        $this->response->syspram =  $this->syspram;          
1040
    }
1041
1042
    /**
1043
    * @param array $fields
1044
    */
1045
    public function syspfab(array $fields): void
1046
    {
1047
        foreach ($fields as $data){
1048
            $this->syspfab[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],14) , 14 , "0" , STR_PAD_LEFT).
1049
                $this->mb_str_pad($this->str_limit_chars($data["002"],20 ) , 20 , "0" , STR_PAD_LEFT),9);
1050
        }
1051
        $this->response->syspfab =  $this->syspfab;          
1052
    }
1053
1054
    /**
1055
    * @param array $fields
1056
    */
1057
    public function syspsec(array $fields): void
1058
    {
1059
        foreach ($fields as $data){
1060
            $this->syspsec[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],2) , 2 , "0" , STR_PAD_LEFT).
1061
                $this->mb_str_pad($this->str_limit_chars($data["002"],30 ) , 30 , " " , STR_PAD_RIGHT),9);
1062
        }
1063
        $this->response->syspsec =  $this->syspsec;          
1064
    }
1065
1066
    /**
1067
    * @param array $fields
1068
    */
1069
    public function syspser(array $fields): void
1070
    {
1071
        foreach ($fields as $data){
1072
            $this->syspser[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],14) , 14 , "0" , STR_PAD_LEFT).
1073
                $this->mb_str_pad($this->str_limit_chars($data["002"],20 ) , 20 , " " , STR_PAD_RIGHT).
1074
                $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["003"],"dmY"),8 ) , 8 , "0" , STR_PAD_LEFT),9);
1075
        }
1076
        $this->response->syspser =  $this->syspser;          
1077
    }
1078
1079
    /**
1080
    * @param array $fields
1081
    */
1082
    public function syspsbg(array $fields): void
1083
    {
1084
        foreach ($fields as $data){
1085
            if(in_array($data["005"], $this->simNao) ){
1086
                $this->syspsbg[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],2) , 2 , "0" , STR_PAD_LEFT).
1087
                    $this->mb_str_pad($this->str_limit_chars($data["002"],3 ) , 3 , "0" , STR_PAD_LEFT).
1088
                    $this->mb_str_pad($this->str_limit_chars($data["003"], 3) , 3 , "0" , STR_PAD_LEFT).
1089
                    $this->mb_str_pad($this->str_limit_chars($data["004"], 30) , 30 , " " , STR_PAD_RIGHT).
1090
                    $this->mb_str_pad($this->str_limit_chars($data["005"], 1) , 1 , " " , STR_PAD_RIGHT).
1091
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["006"]) ? $data["006"] : 0), 2, ".", ""), 7) , 7 , "0" , STR_PAD_LEFT),9);
1092
            } else {
1093
                $this->response->errors->syspcmp = "Erro Valores Inválidos. Consultar documentação.";
1094
            }
1095
        }
1096
        $this->response->syspsbg =  $this->syspsbg;          
1097
    }
1098
1099
    /**
1100
    * @param array $fields
1101
    */
1102
    public function sysptxa(array $fields): void
1103
    {
1104
        foreach ($fields as $data){
1105
            $this->sysptxa[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],3) , 3 , "0" , STR_PAD_LEFT).
1106
                $this->mb_str_pad($this->str_limit_chars($data["002"],2 ) , 2 , "0" , STR_PAD_LEFT).
1107
                $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["003"]) ? $data["003"] : 0), 2, ".", ""),15 ) , 15 , "0" , STR_PAD_LEFT),9);
1108
        }
1109
        $this->response->sysptxa =  $this->sysptxa;          
1110
    }
1111
1112
    /**
1113
    * @param array $fields
1114
    */
1115
    public function syspvdc(array $fields): void
1116
    {
1117
        foreach ($fields as $data){
1118
                $this->syspvdc[] = gzcompress($this->mb_str_pad($this->str_limit_chars($data["001"],6) , 6 , "0" , STR_PAD_LEFT).
1119
                    $this->mb_str_pad($this->str_limit_chars($data["002"],60 ) , 60 , " " , STR_PAD_RIGHT).
1120
                    $this->mb_str_pad($this->str_limit_chars($data["003"], 14) , 14 , "0" , STR_PAD_LEFT).
1121
                    $this->mb_str_pad($this->str_limit_chars($data["004"], 14) , 14 , "0" , STR_PAD_LEFT).
1122
                    $this->mb_str_pad($this->str_limit_chars($data["005"], 7) , 7 , "0" , STR_PAD_LEFT).
1123
                    $this->mb_str_pad($this->str_limit_chars($data["006"], 7) , 7 , "0" , STR_PAD_LEFT).
1124
                    $this->mb_str_pad($this->str_limit_chars(number_format((!empty($data["007"]) ? $data["007"] : 0), 2, ".", ""), 12) , 12 , "0" , STR_PAD_LEFT).
1125
                    $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["008"],"dmY"), 8) , 8 , "0" , STR_PAD_LEFT).
1126
                    $this->mb_str_pad($this->str_limit_chars($this->date_fmt($data["009"],"dmY"), 8) , 8 , "0" , STR_PAD_LEFT).
1127
                    $this->mb_str_pad($this->str_limit_chars($data["010"], 1) , 1 , " " , STR_PAD_RIGHT),9);
1128
        }
1129
        $this->response->syspvdc =  $this->syspvdc;          
1130
    }
1131
}