Code Duplication    Length = 31-31 lines in 2 locations

lib/Sii/Dte.php 2 locations

@@ 1048-1078 (lines=31) @@
1045
     * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
1046
     * @version 2017-02-23
1047
     */
1048
    private function normalizar_56(array &$datos)
1049
    {
1050
        // completar con nodos por defecto
1051
        $datos = \sasco\LibreDTE\Arreglo::mergeRecursiveDistinct([
1052
            'Encabezado' => [
1053
                'IdDoc' => false,
1054
                'Emisor' => false,
1055
                'Receptor' => false,
1056
                'RUTSolicita' => false,
1057
                'Totales' => [
1058
                    'MntNeto' => 0,
1059
                    'MntExe' => 0,
1060
                    'TasaIVA' => \sasco\LibreDTE\Sii::getIVA(),
1061
                    'IVA' => false,
1062
                    'ImptoReten' => false,
1063
                    'IVANoRet' => false,
1064
                    'CredEC' => false,
1065
                    'MntTotal' => 0,
1066
                ]
1067
            ],
1068
        ], $datos);
1069
        // normalizar datos
1070
        $this->normalizar_detalle($datos);
1071
        $this->normalizar_aplicar_descuentos_recargos($datos);
1072
        $this->normalizar_impuesto_retenido($datos);
1073
        $this->normalizar_agregar_IVA_MntTotal($datos);
1074
        if (!$datos['Encabezado']['Totales']['MntNeto']) {
1075
            $datos['Encabezado']['Totales']['MntNeto'] = 0;
1076
            $datos['Encabezado']['Totales']['TasaIVA'] = false;
1077
        }
1078
    }
1079
1080
    /**
1081
     * Método que normaliza los datos de una nota de crédito
@@ 1086-1116 (lines=31) @@
1083
     * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
1084
     * @version 2017-02-23
1085
     */
1086
    private function normalizar_61(array &$datos)
1087
    {
1088
        // completar con nodos por defecto
1089
        $datos = \sasco\LibreDTE\Arreglo::mergeRecursiveDistinct([
1090
            'Encabezado' => [
1091
                'IdDoc' => false,
1092
                'Emisor' => false,
1093
                'Receptor' => false,
1094
                'RUTSolicita' => false,
1095
                'Totales' => [
1096
                    'MntNeto' => 0,
1097
                    'MntExe' => 0,
1098
                    'TasaIVA' => \sasco\LibreDTE\Sii::getIVA(),
1099
                    'IVA' => false,
1100
                    'ImptoReten' => false,
1101
                    'IVANoRet' => false,
1102
                    'CredEC' => false,
1103
                    'MntTotal' => 0,
1104
                ]
1105
            ],
1106
        ], $datos);
1107
        // normalizar datos
1108
        $this->normalizar_detalle($datos);
1109
        $this->normalizar_aplicar_descuentos_recargos($datos);
1110
        $this->normalizar_impuesto_retenido($datos);
1111
        $this->normalizar_agregar_IVA_MntTotal($datos);
1112
        if (!$datos['Encabezado']['Totales']['MntNeto']) {
1113
            $datos['Encabezado']['Totales']['MntNeto'] = 0;
1114
            $datos['Encabezado']['Totales']['TasaIVA'] = false;
1115
        }
1116
    }
1117
1118
    /**
1119
     * Método que normaliza los datos de una factura electrónica de exportación