Code Duplication    Length = 31-31 lines in 2 locations

lib/Sii/Dte.php 2 locations

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