Advertisement
Guest User

Untitled

a guest
Jun 19th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 9.85 KB | None | 0 0
  1. private function getCalculoCamposCruzetas(array $linha, $normas, array $campos)
  2.     {
  3.         $campos['CRUZETA_REL'] = $normas->getQuantidade('REL', 'CRUZETA', $linha['TIPOLOGIA_ANEEL']) * $linha['RELIGADOR'];
  4.         $campos['CRUZETA_REG'] = $normas->getQuantidade('REG', 'CRUZETA', $linha['TIPOLOGIA_ANEEL']) * $linha['REGULADOR'];
  5.         $campos['CRUZETA_BC']  = $normas->getQuantidade('BC' , 'CRUZETA', $linha['TIPOLOGIA_ANEEL']) * $linha['BANCO_CAPACITORES'];
  6.        
  7.         $aux = $normas->getQuantidade('PR', 'CRUZETA', $linha['TIPOLOGIA_ANEEL']);
  8.         $campos['CRUZETA_PR']  = $aux * ($linha['PARA_RAIO_COM'] + $linha['PARA_RAIO_UAR']);
  9.        
  10.         $campos['CRUZETA_CHSECC'] = $normas->getQuantidade('CHSECC', 'CRUZETA', $linha['TIPOLOGIA_ANEEL']) * $linha['CHSECC'];
  11.         $campos['CRUZETA_SECCIONALIZADOR'] = $normas->getQuantidade('SECCIONALIZADOR', 'CRUZETA', $linha['TIPOLOGIA_ANEEL']) * $linha['SECCIONALIZADOR'];
  12.        
  13.         $aux = $normas->getQuantidade('CHFUS', 'CRUZETA', $linha['TIPOLOGIA_ANEEL']);
  14.         $campos['CRUZETA_CHFUS'] = ($aux * ($linha['CHFUS_COM'] + $linha['CHFUS_UAR'])) / $linha['FASES'];
  15.        
  16.         $campos['TOTAL_CRUZETA_EPTO'] = $campos['CRUZETA_REL'] + $campos['CRUZETA_REG'] + $campos['CRUZETA_BC'] + $campos['CRUZETA_PR'] + $campos['CRUZETA_CHSECC'] + $campos['CRUZETA_SECCIONALIZADOR'] + $campos['CRUZETA_CHFUS'];
  17.  
  18.         $campos['CRUZETA_MENOS_EPTO'] = max(0, $linha['CRUZETA'] - $campos['TOTAL_CRUZETA_EPTO']);
  19.  
  20.         if($linha['FASES'] == 1){
  21.             $campos['CRUZETA_POSTE'] = 0;
  22.         } else{
  23.             $campos['CRUZETA_POSTE'] = $normas->getQuantidade('POSTE', 'CRUZETA', $linha['TIPOLOGIA_ANEEL'])* $linha['POSTE'];
  24.         }
  25.  
  26.         $campos['CRUZETA_AJUSTADA_TOTAL'] =  min(($campos['TOTAL_CRUZETA_EPTO'] + $campos['CRUZETA_POSTE']),$linha['CRUZETA']);
  27.  
  28.         $campos['GLOSA_CRUZETA'] = min(0, $campos['CRUZETA_AJUSTADA_TOTAL'] - $linha['CRUZETA']);
  29.        
  30.         return $campos;
  31.     }
  32.  
  33.     private function getCalculoCamposIsoladorPinos(array $linha, $normas, array $campos)
  34.     {
  35.         $campos['ISOLADOR_PINO_AJUSTADO_TOTAL'] = min($normas->getQuantidade('CRUZETA', 'ISOP', $linha['TIPOLOGIA_ANEEL']), (empty($campos['CRUZETA_AJUSTADA_TOTAL']) ? 0 : $linha['ISOLADOR_PINO'] / $campos['CRUZETA_AJUSTADA_TOTAL'])) * $campos['CRUZETA_AJUSTADA_TOTAL'];
  36.  
  37.         $campos['GLOSA_ISOLADOR_PINO'] = min(0, $linha['ISOLADOR_PINO'] - $campos['ISOLADOR_PINO_AJUSTADO_TOTAL']);
  38.  
  39.         return $campos;
  40.     }
  41.  
  42.     private function getCalculoCamposIsoladorDiscos(array $linha, $normas, array $campos)
  43.     {
  44.         $campos['ISOLADOR_DISCO_AJUSTADO_TOTAL'] = min($normas->getQuantidade('POSTE', 'ISOD', $linha['TIPOLOGIA_ANEEL']), (empty($linha['POSTE']) ? 0 : $linha['ISOLADOR_DISCO'] / $linha['POSTE'])) * $linha['POSTE'];
  45.  
  46.         $campos['GLOSA_ISOLADOR_DISCO'] = min(0, $linha['ISOLADOR_DISCO'] - $campos['ISOLADOR_DISCO_AJUSTADO_TOTAL']);
  47.  
  48.         return $campos;
  49.     }
  50.  
  51.     private function getCalculoCamposPinos(array $linha, array $campos)
  52.     {
  53.         $campos['PINOS_AJUSTADO_TOTAL'] = min($linha['PINO'], $campos['ISOLADOR_PINO_AJUSTADO_TOTAL']);
  54.  
  55.         $campos['GLOSA_PINO'] = min(0, $linha['PINO']-$campos['PINOS_AJUSTADO_TOTAL']);
  56.  
  57.         return $campos;
  58.     }
  59.  
  60.     private function getCalculoCamposParaRaios(array $linha, $normas, array $campos)
  61.     {
  62.         $aux = $normas->getQuantidade('EXT_RD', 'PR', $linha['TIPOLOGIA_ANEEL']);
  63.         $campos['PARA_RAIO_NORMATIVO_TOTAL'] =
  64.              $normas->getQuantidade('REL'            , 'PR', $linha['TIPOLOGIA_ANEEL'])      * $linha['RELIGADOR'] +
  65.              $normas->getQuantidade('BC'             , 'PR', $linha['TIPOLOGIA_ANEEL'])      * $linha['BANCO_CAPACITORES'] +
  66.             ($normas->getQuantidade('REG'            , 'PR', $linha['TIPOLOGIA_ANEEL']) / 3) * $linha['REGULADOR'] +
  67.              $normas->getQuantidade('CHSECC'         , 'PR', $linha['TIPOLOGIA_ANEEL'])      * $linha['CHSECC'] +
  68.              $normas->getQuantidade('SECCIONALIZADOR', 'PR', $linha['TIPOLOGIA_ANEEL'])      * $linha['SECCIONALIZADOR'] +
  69.              $linha['TRAFO_MONO']    +
  70.              $linha['TRAFO_BI']  * 2 +
  71.              $linha['TRAFO_TRI'] * 3 +
  72.              floor((empty($linha['FASES'])) ? 0 : (($linha['CABO_ISO'] + $linha['CABO_NU']) / $linha['FASES']) * $aux);
  73.  
  74.         $campos['PARA_RAIO_AJUSTADOS'] = min(max(0,$campos['PARA_RAIO_NORMATIVO_TOTAL'] - $linha['PARA_RAIO_UAR']), $linha['PARA_RAIO_COM']);
  75.  
  76.         $campos['GLOSA_PARA_RAIO'] = min(0, $linha['PARA_RAIO_COM'] - $campos['PARA_RAIO_AJUSTADOS']);
  77.  
  78.         return $campos;
  79.     }
  80.  
  81.     private function getCalculoCamposHastes(array $linha, $normas, array $campos)
  82.     {
  83.         $campos['HASTE_NORMATIVO'] = floor(
  84.             ($normas->getQuantidade('PR', 'HASTE', $linha['TIPOLOGIA_ANEEL']) * (empty($linha['FASES']) ? 0 : $campos['PARA_RAIO_AJUSTADOS'] / $linha['FASES'])) +
  85.             (empty($linha['FASES']) ? 0 : (($linha['CABO_ISO'] + $linha['CABO_NU']) / $linha['FASES']) * $normas->getQuantidade('EXT_RD', 'HASTE', $linha['TIPOLOGIA_ANEEL']))
  86.         );
  87.  
  88.         $campos['HASTE_AJUSTADO'] = min($campos['HASTE_NORMATIVO'], $linha['HASTE']);
  89.  
  90.         $campos['GLOSA_HASTE'] = min(0, $linha['HASTE'] - $campos['HASTE_AJUSTADO']);
  91.  
  92.         return $campos;
  93.     }
  94.  
  95.     private function getCalculoChavesFusivel(array $linha, $normas, array $campos)
  96.     {
  97.         $campos['CHFUS_NORMATIVO'] =  
  98.             ($normas->getQuantidade('REG'            , 'CHFUS', $linha['TIPOLOGIA_ANEEL']) * ($linha['REGULADOR'] / 3)) +
  99.             ($normas->getQuantidade('REL'            , 'CHFUS', $linha['TIPOLOGIA_ANEEL']) * $linha['RELIGADOR']) +
  100.             ($normas->getQuantidade('BC'             , 'CHFUS', $linha['TIPOLOGIA_ANEEL']) * $linha['BANCO_CAPACITORES']) +
  101.             ($normas->getQuantidade('CHSECC'         , 'CHFUS', $linha['TIPOLOGIA_ANEEL']) * $linha['CHSECC']) +
  102.             ($normas->getQuantidade('SECCIONALIZADOR', 'CHFUS', $linha['TIPOLOGIA_ANEEL']) * $linha['SECCIONALIZADOR']) +
  103.             $linha['TRAFO_MONO'] +
  104.             ($linha['TRAFO_BI']  * 2) +
  105.             ($linha['TRAFO_TRI'] * 3) +
  106.             (empty($linha['FASES']) ? 0 : (($linha['CABO_ISO'] + $linha['CABO_NU']) / $linha['FASES']) * $normas->getQuantidade('EXT_RD', 'CHFUS', $linha['TIPOLOGIA_ANEEL']));
  107.  
  108.         $campos['CHFUS_AJUSTADO'] = min(max(0, $campos['CHFUS_NORMATIVO'] - $linha['CHFUS_UAR']), $linha['CHFUS_COM']);
  109.  
  110.         $campos['GLOSA_CHFUS'] = min(0, $linha['CHFUS_COM'] - $campos['CHFUS_AJUSTADO']);
  111.  
  112.         return $campos;
  113.     }
  114.  
  115.     private function getCalculoGlosasCOM(array $linha, array $campos)
  116.     {
  117.         $campos['VALOR_GLOSA_CRUZETA']        = $campos['GLOSA_CRUZETA'] * $linha['VALOR_UNITARIO_CRUZETA'];
  118.         $campos['VALOR_GLOSA_ISOLADOR_PINO']  = $campos['GLOSA_ISOLADOR_PINO'] * $linha['VALOR_UNITARIO_ISOLADOR_PINO'];
  119.         $campos['VALOR_GLOSA_ISOLADOR_DISCO'] = $campos['GLOSA_ISOLADOR_DISCO'] * $linha['VALOR_UNITARIO_ISOLADOR_DISCO'];
  120.         $campos['VALOR_GLOSA_PINO']           = $campos['GLOSA_PINO'] * $linha['VALOR_UNITARIO_PINO'];
  121.         $campos['VALOR_GLOSA_PARA_RAIO_COM']  = $campos['GLOSA_PARA_RAIO'] * $linha['VALOR_UNITARIO_PARA_RAIO_COM'];
  122.         $campos['VALOR_GLOSA_HASTE']          = $campos['GLOSA_HASTE'] * $linha['VALOR_UNITARIO_HASTE'];
  123.         $campos['VALOR_GLOSA_CHFUS_COM']      = $campos['GLOSA_CHFUS'] * $linha['VALOR_UNITARIO_CHFUS_COM'];
  124.  
  125.         $campos['VALOR_TOTAL_GLOSA_COM']      =
  126.             $campos['VALOR_GLOSA_CRUZETA'] +
  127.             $campos['VALOR_GLOSA_ISOLADOR_PINO'] +
  128.             $campos['VALOR_GLOSA_ISOLADOR_DISCO'] +
  129.             $campos['VALOR_GLOSA_PINO'] +
  130.             $campos['VALOR_GLOSA_PARA_RAIO_COM'] +
  131.             $campos['VALOR_GLOSA_HASTE'] +
  132.             $campos['VALOR_GLOSA_CHFUS_COM'];
  133.  
  134.         return $campos;
  135.     }
  136.  
  137.     private function getCalculoGlosasCA(array $linha, array $campos, $valores)
  138.     {
  139.         $campos['VALOR_GLOSA_CA_CRUZETA']        = 0;
  140.         $campos['VALOR_GLOSA_CA_CHFUS']          = 0;
  141.         $campos['VALOR_GLOSA_CA_ISOLADOR_PINO']  = 0;
  142.         $campos['VALOR_GLOSA_CA_ISOLADOR_DISCO'] = 0;
  143.         $campos['VALOR_GLOSA_CA_PINO']           = 0;
  144.         $campos['VALOR_GLOSA_CA_PARA_RAIO']      = 0;
  145.         $campos['VALOR_GLOSA_CA_HASTE']          = 0;
  146.                    
  147.         if ($linha['DATA_INICIO_OBRA']) {
  148.            
  149.             list($ano) = explode('-', $linha['DATA_INICIO_OBRA']);
  150.             $campos['VALOR_GLOSA_CA_CRUZETA']        = $campos['GLOSA_CRUZETA']        * $valores->getValorUnitarioServicoInstalacao('CRUZETA', $ano);
  151.             $campos['VALOR_GLOSA_CA_CHFUS']          = $campos['GLOSA_CHFUS']          * $valores->getValorUnitarioServicoInstalacao('CHFUS'  , $ano);
  152.             $campos['VALOR_GLOSA_CA_ISOLADOR_PINO']  = $campos['GLOSA_ISOLADOR_PINO']  * $valores->getValorUnitarioServicoInstalacao('ISOP'   , $ano);
  153.             $campos['VALOR_GLOSA_CA_ISOLADOR_DISCO'] = $campos['GLOSA_ISOLADOR_DISCO'] * $valores->getValorUnitarioServicoInstalacao('ISOD'   , $ano);
  154.             $campos['VALOR_GLOSA_CA_PINO']           = $campos['GLOSA_PINO']           * $valores->getValorUnitarioServicoInstalacao('PINO'   , $ano);
  155.             $campos['VALOR_GLOSA_CA_PARA_RAIO']      = $campos['GLOSA_PARA_RAIO']      * $valores->getValorUnitarioServicoInstalacao('PR'     , $ano);
  156.             $campos['VALOR_GLOSA_CA_HASTE']          = $campos['GLOSA_HASTE']          * $valores->getValorUnitarioServicoInstalacao('HASTE'  , $ano);
  157.         }
  158.        
  159.         $campos['VALOR_TOTAL_GLOSA_CA'] =
  160.             $campos['VALOR_GLOSA_CA_CRUZETA'] +
  161.             $campos['VALOR_GLOSA_CA_CHFUS'] +
  162.             $campos['VALOR_GLOSA_CA_ISOLADOR_PINO'] +
  163.             $campos['VALOR_GLOSA_CA_ISOLADOR_DISCO'] +
  164.             $campos['VALOR_GLOSA_CA_PINO'] +
  165.             $campos['VALOR_GLOSA_CA_PARA_RAIO'] +
  166.             $campos['VALOR_GLOSA_CA_HASTE'];
  167.  
  168.         return $campos;  
  169.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement