Code Duplication    Length = 31-31 lines in 2 locations

lib/Sii/Dte.php 2 locations

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