Code Duplication    Length = 31-31 lines in 2 locations

lib/Sii/Dte.php 2 locations

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