Code Duplication    Length = 31-31 lines in 2 locations

lib/Sii/Dte.php 2 locations

@@ 947-977 (lines=31) @@
944
     * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
945
     * @version 2017-02-23
946
     */
947
    private function normalizar_56(array &$datos)
948
    {
949
        // completar con nodos por defecto
950
        $datos = \sasco\LibreDTE\Arreglo::mergeRecursiveDistinct([
951
            'Encabezado' => [
952
                'IdDoc' => false,
953
                'Emisor' => false,
954
                'Receptor' => false,
955
                'RUTSolicita' => false,
956
                'Totales' => [
957
                    'MntNeto' => 0,
958
                    'MntExe' => 0,
959
                    'TasaIVA' => \sasco\LibreDTE\Sii::getIVA(),
960
                    'IVA' => false,
961
                    'ImptoReten' => false,
962
                    'IVANoRet' => false,
963
                    'CredEC' => false,
964
                    'MntTotal' => 0,
965
                ]
966
            ],
967
        ], $datos);
968
        // normalizar datos
969
        $this->normalizar_detalle($datos);
970
        $this->normalizar_aplicar_descuentos_recargos($datos);
971
        $this->normalizar_impuesto_retenido($datos);
972
        $this->normalizar_agregar_IVA_MntTotal($datos);
973
        if (!$datos['Encabezado']['Totales']['MntNeto']) {
974
            $datos['Encabezado']['Totales']['MntNeto'] = 0;
975
            $datos['Encabezado']['Totales']['TasaIVA'] = false;
976
        }
977
    }
978
979
    /**
980
     * Método que normaliza los datos de una nota de crédito
@@ 985-1015 (lines=31) @@
982
     * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
983
     * @version 2017-02-23
984
     */
985
    private function normalizar_61(array &$datos)
986
    {
987
        // completar con nodos por defecto
988
        $datos = \sasco\LibreDTE\Arreglo::mergeRecursiveDistinct([
989
            'Encabezado' => [
990
                'IdDoc' => false,
991
                'Emisor' => false,
992
                'Receptor' => false,
993
                'RUTSolicita' => false,
994
                'Totales' => [
995
                    'MntNeto' => 0,
996
                    'MntExe' => 0,
997
                    'TasaIVA' => \sasco\LibreDTE\Sii::getIVA(),
998
                    'IVA' => false,
999
                    'ImptoReten' => false,
1000
                    'IVANoRet' => false,
1001
                    'CredEC' => false,
1002
                    'MntTotal' => 0,
1003
                ]
1004
            ],
1005
        ], $datos);
1006
        // normalizar datos
1007
        $this->normalizar_detalle($datos);
1008
        $this->normalizar_aplicar_descuentos_recargos($datos);
1009
        $this->normalizar_impuesto_retenido($datos);
1010
        $this->normalizar_agregar_IVA_MntTotal($datos);
1011
        if (!$datos['Encabezado']['Totales']['MntNeto']) {
1012
            $datos['Encabezado']['Totales']['MntNeto'] = 0;
1013
            $datos['Encabezado']['Totales']['TasaIVA'] = false;
1014
        }
1015
    }
1016
1017
    /**
1018
     * Método que normaliza los datos de una factura electrónica de exportación