예제 #1
0
파일: E200.php 프로젝트: dbemfica/S-Efd
 private function validar($atributo, $valor)
 {
     switch ($atributo) {
         case 'REG':
             if ($this->REG === 'E200') {
                 throw new \InvalidArgumentException("O campo '{$atributo}' tem que ter o valor 'E200'");
             }
             break;
         case 'UF':
             if (!TCodMunicipio::isCodigoUF($valor)) {
                 throw new \InvalidArgumentException("No campo '{$atributo}' o valor {$valor} está com valor invalido");
             }
             break;
         case 'DT_INI':
             if (strlen($valor) != 8) {
                 throw new \InvalidArgumentException("O campo '{$atributo}' só pode ter 8 caracteres");
             }
             break;
         case 'DT_FIN':
             if (strlen($valor) != 8) {
                 throw new \InvalidArgumentException("O campo '{$atributo}' só pode ter 8 caracteres");
             }
             break;
     }
 }
예제 #2
0
파일: _0150.php 프로젝트: dbemfica/S-Efd
 private function validar($atributo, $valor)
 {
     switch ($atributo) {
         case 'REG':
             if ($this->REG === '0150') {
                 throw new \InvalidArgumentException("O campo '{$atributo}' tem que ter o valor '0150'");
             }
             break;
         case 'COD_PART':
             if (strlen($valor) > 60) {
                 throw new \InvalidArgumentException("O campo '{$atributo}' não pode ter mais que 60 caracteres");
             }
             break;
         case 'NOME':
             if (strlen($valor) > 100) {
                 throw new \InvalidArgumentException("O campo '{$atributo}' não pode ter mais que 100 caracteres");
             }
             break;
         case 'COD_PAIS':
             if (!T321::isCodigo($valor)) {
                 throw new \InvalidArgumentException("O campo '{$atributo}' está com um valor invalido");
             }
             break;
         case 'CNPJ':
             if (strlen($valor) > 14) {
                 throw new \InvalidArgumentException("O campo '{$atributo}' não pode ter mais que 14 caracteres");
             }
             break;
         case 'CPF':
             if (strlen($valor) > 11) {
                 throw new \InvalidArgumentException("O campo '{$atributo}' não pode ter mais que 11 caracteres");
             }
             break;
         case 'IE':
             if (strlen($valor) > 14) {
                 throw new \InvalidArgumentException("O campo '{$atributo}' não pode ter mais que 11 caracteres");
             }
             break;
         case 'COD_MUN':
             if (strlen($valor) > 14) {
                 throw new \InvalidArgumentException("O campo '{$atributo}' não pode ter mais que 11 caracteres");
             }
             break;
         case 'COD_MUN':
             if (TCodMunicipio::isCodigoMunicipio($valor)) {
                 throw new \InvalidArgumentException("No campo '{$atributo}' o valor {$valor} está com valor invalido");
             }
             break;
         case 'SUFRAMA':
             if (strlen($valor) > 9) {
                 throw new \InvalidArgumentException("O campo '{$atributo}' não pode ter mais que 7 caracteres");
             }
             break;
         case 'END':
             if (strlen($valor) > 60) {
                 throw new \InvalidArgumentException("O campo '{$atributo}' não pode ter mais que 60 caracteres");
             }
             break;
         case 'NUM':
             if (strlen($valor) > 10) {
                 throw new \InvalidArgumentException("O campo '{$atributo}' não pode ter mais que 10 caracteres");
             }
             break;
         case 'COMPL':
             if (strlen($valor) > 60) {
                 throw new \InvalidArgumentException("O campo '{$atributo}' não pode ter mais que 60 caracteres");
             }
             break;
         case 'BAIRRO':
             if (strlen($valor) > 60) {
                 throw new \InvalidArgumentException("O campo '{$atributo}' não pode ter mais que 60 caracteres");
             }
             break;
     }
 }
예제 #3
0
파일: BlocoE.php 프로젝트: dbemfica/S-Efd
 public function makeE210(Efd $efd, E200 $e200)
 {
     $bloco0 = $efd->bloco0;
     $blocoC = $efd->blocoC;
     $vC190 = array();
     if (!empty($blocoC->C100)) {
         foreach ($blocoC->C100 as $c100) {
             $codParticipanete = $c100->COD_PART;
             foreach ($bloco0->_0150 as $_0150) {
                 if ($_0150->COD_PART == $codParticipanete) {
                     $codMunicipio = $_0150->COD_MUN;
                     break;
                 }
             }
             $municipio = TCodMunicipio::buscaMunicipio($codMunicipio);
             if ($e200->UF == $municipio['uf']) {
                 foreach ($c100->C190 as $c190) {
                     $vC190[] = $c190;
                 }
             }
         }
     }
     $e210 = new E210();
     $e210->IND_MOV_ST = 0;
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     //04 - VL_DEVOL_ST
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     $VL_DEVOL_ST = 0;
     if (!empty($vC190)) {
         foreach ($vC190 as $c190) {
             switch ($c190->CFOP) {
                 case "1410":
                 case "1411":
                 case "1414":
                 case "1415":
                 case "1660":
                 case "1661":
                 case "1662":
                 case "2410":
                 case "2411":
                 case "2414":
                 case "2415":
                 case "2660":
                 case "2661":
                 case "2662":
                     $VL_DEVOL_ST += $c190->VL_ICMS_ST;
                     break;
             }
         }
     }
     $e210->VL_DEVOL_ST = $VL_DEVOL_ST;
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     //05 - VL_RESSARC_ST
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     $VL_RESSARC_ST = 0;
     if (!empty($vC190)) {
         foreach ($vC190 as $c190) {
             switch ($c190->CFOP) {
                 case "1603":
                 case "2603":
                     $VL_RESSARC_ST += $c190->VL_ICMS_ST;
                     break;
             }
         }
     }
     $e210->VL_RESSARC_ST = $VL_RESSARC_ST;
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     //06 - VL_OUT_CRED_ST
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     $VL_OUT_CRED_ST = 0;
     if (!empty($vC190)) {
         foreach ($vC190 as $c190) {
             $cfop = substr($c190->CFOP, 0, 1);
             switch ($cfop) {
                 case 1:
                 case 2:
                     if ($c190->CFOP != '1410' && $c190->CFOP != '1411' && $c190->CFOP != '1414' && $c190->CFOP != '1415' && $c190->CFOP != '1660' && $c190->CFOP != '1661' && $c190->CFOP != '1662' && $c190->CFOP != '2410' && $c190->CFOP != '2411' && $c190->CFOP != '2414' && $c190->CFOP != '2415' && $c190->CFOP != '2660' && $c190->CFOP != '2661' && $c190->CFOP != '2662') {
                         $VL_OUT_CRED_ST += $c190->VL_ICMS_ST;
                     }
                     break;
             }
         }
     }
     $e210->VL_OUT_CRED_ST = $VL_OUT_CRED_ST;
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     //07 - VL_OUT_CRED_ST
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     $VL_AJ_CREDITOS_ST = 0;
     $e210->VL_AJ_CREDITOS_ST = $VL_AJ_CREDITOS_ST;
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     //08 - VL_RETENÇAO_ST
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     $VL_RETENCAO_ST = 0;
     $e210->VL_RETENCAO_ST = $VL_RETENCAO_ST;
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     //09 - VL_OUT_DEB_ST
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     $VL_OUT_DEB_ST = 0;
     $e210->VL_OUT_DEB_ST = $VL_OUT_DEB_ST;
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     //10 - VL_AJ_DEBITOS_ST
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     $VL_AJ_DEBITOS_ST = 0;
     $e210->VL_AJ_DEBITOS_ST = $VL_AJ_DEBITOS_ST;
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     //11 - VL_SLD_DEV_ANT_ST
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     $VL_SLD_DEV_ANT_ST = 0;
     $e210->VL_SLD_DEV_ANT_ST = $VL_SLD_DEV_ANT_ST;
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     //12 - VL_DEDUÇÕES_ST
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     $VL_DEDUCOES_ST = 0;
     $e210->VL_DEDUCOES_ST = $VL_DEDUCOES_ST;
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     //13 - VL_ICMS_RECOL_ST
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     $VL_ICMS_RECOL_ST = 0;
     $e210->VL_ICMS_RECOL_ST = $VL_ICMS_RECOL_ST;
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     //14 - VL_ICMS_RECOL_ST
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     $VL_SLD_CRED_ST_TRANSPORTAR = 0;
     $e210->VL_SLD_CRED_ST_TRANSPORTAR = $VL_SLD_CRED_ST_TRANSPORTAR;
     $espressao = $e210->VL_RETENCAO_ST + $e210->VL_OUT_DEB_ST + $e210->VL_AJ_DEBITOS_ST - $e210->VL_SLD_CRED_ANT_ST - $e210->VL_DEVOL_ST - $e210->VL_RESSARC_ST - $e210->VL_OUT_CRED_ST - $e210->VL_AJ_CREDITOS_ST;
     if ($espressao >= 0) {
         $e210->VL_SLD_CRED_ST_TRANSPORTAR = 0;
     } else {
         $e210->VL_SLD_CRED_ST_TRANSPORTAR = $espressao * -1;
     }
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     //15 - DEB_ESP_ST
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     $DEB_ESP_ST = 0;
     $e210->DEB_ESP_ST = $DEB_ESP_ST;
     $this->addE210($e210);
 }