Code Duplication    Length = 31-31 lines in 2 locations

lib/Sii/Dte.php 2 locations

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