Code Duplication    Length = 31-31 lines in 2 locations

lib/Sii/Dte.php 2 locations

@@ 1012-1042 (lines=31) @@
1009
     * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
1010
     * @version 2017-02-23
1011
     */
1012
    private function normalizar_56(array &$datos)
1013
    {
1014
        // completar con nodos por defecto
1015
        $datos = \sasco\LibreDTE\Arreglo::mergeRecursiveDistinct([
1016
            'Encabezado' => [
1017
                'IdDoc' => false,
1018
                'Emisor' => false,
1019
                'Receptor' => false,
1020
                'RUTSolicita' => false,
1021
                'Totales' => [
1022
                    'MntNeto' => 0,
1023
                    'MntExe' => 0,
1024
                    'TasaIVA' => \sasco\LibreDTE\Sii::getIVA(),
1025
                    'IVA' => false,
1026
                    'ImptoReten' => false,
1027
                    'IVANoRet' => false,
1028
                    'CredEC' => false,
1029
                    'MntTotal' => 0,
1030
                ]
1031
            ],
1032
        ], $datos);
1033
        // normalizar datos
1034
        $this->normalizar_detalle($datos);
1035
        $this->normalizar_aplicar_descuentos_recargos($datos);
1036
        $this->normalizar_impuesto_retenido($datos);
1037
        $this->normalizar_agregar_IVA_MntTotal($datos);
1038
        if (!$datos['Encabezado']['Totales']['MntNeto']) {
1039
            $datos['Encabezado']['Totales']['MntNeto'] = 0;
1040
            $datos['Encabezado']['Totales']['TasaIVA'] = false;
1041
        }
1042
    }
1043
1044
    /**
1045
     * Método que normaliza los datos de una nota de crédito
@@ 1050-1080 (lines=31) @@
1047
     * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
1048
     * @version 2017-02-23
1049
     */
1050
    private function normalizar_61(array &$datos)
1051
    {
1052
        // completar con nodos por defecto
1053
        $datos = \sasco\LibreDTE\Arreglo::mergeRecursiveDistinct([
1054
            'Encabezado' => [
1055
                'IdDoc' => false,
1056
                'Emisor' => false,
1057
                'Receptor' => false,
1058
                'RUTSolicita' => false,
1059
                'Totales' => [
1060
                    'MntNeto' => 0,
1061
                    'MntExe' => 0,
1062
                    'TasaIVA' => \sasco\LibreDTE\Sii::getIVA(),
1063
                    'IVA' => false,
1064
                    'ImptoReten' => false,
1065
                    'IVANoRet' => false,
1066
                    'CredEC' => false,
1067
                    'MntTotal' => 0,
1068
                ]
1069
            ],
1070
        ], $datos);
1071
        // normalizar datos
1072
        $this->normalizar_detalle($datos);
1073
        $this->normalizar_aplicar_descuentos_recargos($datos);
1074
        $this->normalizar_impuesto_retenido($datos);
1075
        $this->normalizar_agregar_IVA_MntTotal($datos);
1076
        if (!$datos['Encabezado']['Totales']['MntNeto']) {
1077
            $datos['Encabezado']['Totales']['MntNeto'] = 0;
1078
            $datos['Encabezado']['Totales']['TasaIVA'] = false;
1079
        }
1080
    }
1081
1082
    /**
1083
     * Método que normaliza los datos de una factura electrónica de exportación