Code Duplication    Length = 59-59 lines in 3 locations

lib/Sii/Dte.php 3 locations

@@ 1023-1081 (lines=59) @@
1020
     * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
1021
     * @version 2016-04-05
1022
     */
1023
    private function normalizar_110(array &$datos)
1024
    {
1025
        // completar con nodos por defecto
1026
        $datos = \sasco\LibreDTE\Arreglo::mergeRecursiveDistinct([
1027
            'Encabezado' => [
1028
                'IdDoc' => false,
1029
                'Emisor' => false,
1030
                'Receptor' => false,
1031
                'Transporte' => [
1032
                    'Patente' => false,
1033
                    'RUTTrans' => false,
1034
                    'Chofer' => false,
1035
                    'DirDest' => false,
1036
                    'CmnaDest' => false,
1037
                    'CiudadDest' => false,
1038
                    'Aduana' => [
1039
                        'CodModVenta' => false,
1040
                        'CodClauVenta' => false,
1041
                        'TotClauVenta' => false,
1042
                        'CodViaTransp' => false,
1043
                        'NombreTransp' => false,
1044
                        'RUTCiaTransp' => false,
1045
                        'NomCiaTransp' => false,
1046
                        'IdAdicTransp' => false,
1047
                        'Booking' => false,
1048
                        'Operador' => false,
1049
                        'CodPtoEmbarque' => false,
1050
                        'IdAdicPtoEmb' => false,
1051
                        'CodPtoDesemb' => false,
1052
                        'IdAdicPtoDesemb' => false,
1053
                        'Tara' => false,
1054
                        'CodUnidMedTara' => false,
1055
                        'PesoBruto' => false,
1056
                        'CodUnidPesoBruto' => false,
1057
                        'PesoNeto' => false,
1058
                        'CodUnidPesoNeto' => false,
1059
                        'TotItems' => false,
1060
                        'TotBultos' => false,
1061
                        'TipoBultos' => false,
1062
                        'MntFlete' => false,
1063
                        'MntSeguro' => false,
1064
                        'CodPaisRecep' => false,
1065
                        'CodPaisDestin' => false,
1066
                    ],
1067
                ],
1068
                'Totales' => [
1069
                    'TpoMoneda' => null,
1070
                    'MntExe' => 0,
1071
                    'MntTotal' => 0,
1072
                ]
1073
            ],
1074
        ], $datos);
1075
        // normalizar datos
1076
        $this->normalizar_detalle($datos);
1077
        $this->normalizar_aplicar_descuentos_recargos($datos);
1078
        $this->normalizar_impuesto_retenido($datos);
1079
        $this->normalizar_agregar_IVA_MntTotal($datos);
1080
        $this->normalizar_exportacion($datos);
1081
    }
1082
1083
    /**
1084
     * Método que normaliza los datos de una nota de débito de exportación
@@ 1089-1147 (lines=59) @@
1086
     * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
1087
     * @version 2016-04-05
1088
     */
1089
    private function normalizar_111(array &$datos)
1090
    {
1091
        // completar con nodos por defecto
1092
        $datos = \sasco\LibreDTE\Arreglo::mergeRecursiveDistinct([
1093
            'Encabezado' => [
1094
                'IdDoc' => false,
1095
                'Emisor' => false,
1096
                'Receptor' => false,
1097
                'Transporte' => [
1098
                    'Patente' => false,
1099
                    'RUTTrans' => false,
1100
                    'Chofer' => false,
1101
                    'DirDest' => false,
1102
                    'CmnaDest' => false,
1103
                    'CiudadDest' => false,
1104
                    'Aduana' => [
1105
                        'CodModVenta' => false,
1106
                        'CodClauVenta' => false,
1107
                        'TotClauVenta' => false,
1108
                        'CodViaTransp' => false,
1109
                        'NombreTransp' => false,
1110
                        'RUTCiaTransp' => false,
1111
                        'NomCiaTransp' => false,
1112
                        'IdAdicTransp' => false,
1113
                        'Booking' => false,
1114
                        'Operador' => false,
1115
                        'CodPtoEmbarque' => false,
1116
                        'IdAdicPtoEmb' => false,
1117
                        'CodPtoDesemb' => false,
1118
                        'IdAdicPtoDesemb' => false,
1119
                        'Tara' => false,
1120
                        'CodUnidMedTara' => false,
1121
                        'PesoBruto' => false,
1122
                        'CodUnidPesoBruto' => false,
1123
                        'PesoNeto' => false,
1124
                        'CodUnidPesoNeto' => false,
1125
                        'TotItems' => false,
1126
                        'TotBultos' => false,
1127
                        'TipoBultos' => false,
1128
                        'MntFlete' => false,
1129
                        'MntSeguro' => false,
1130
                        'CodPaisRecep' => false,
1131
                        'CodPaisDestin' => false,
1132
                    ],
1133
                ],
1134
                'Totales' => [
1135
                    'TpoMoneda' => null,
1136
                    'MntExe' => 0,
1137
                    'MntTotal' => 0,
1138
                ]
1139
            ],
1140
        ], $datos);
1141
        // normalizar datos
1142
        $this->normalizar_detalle($datos);
1143
        $this->normalizar_aplicar_descuentos_recargos($datos);
1144
        $this->normalizar_impuesto_retenido($datos);
1145
        $this->normalizar_agregar_IVA_MntTotal($datos);
1146
        $this->normalizar_exportacion($datos);
1147
    }
1148
1149
    /**
1150
     * Método que normaliza los datos de una nota de crédito de exportación
@@ 1155-1213 (lines=59) @@
1152
     * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
1153
     * @version 2016-04-05
1154
     */
1155
    private function normalizar_112(array &$datos)
1156
    {
1157
        // completar con nodos por defecto
1158
        $datos = \sasco\LibreDTE\Arreglo::mergeRecursiveDistinct([
1159
            'Encabezado' => [
1160
                'IdDoc' => false,
1161
                'Emisor' => false,
1162
                'Receptor' => false,
1163
                'Transporte' => [
1164
                    'Patente' => false,
1165
                    'RUTTrans' => false,
1166
                    'Chofer' => false,
1167
                    'DirDest' => false,
1168
                    'CmnaDest' => false,
1169
                    'CiudadDest' => false,
1170
                    'Aduana' => [
1171
                        'CodModVenta' => false,
1172
                        'CodClauVenta' => false,
1173
                        'TotClauVenta' => false,
1174
                        'CodViaTransp' => false,
1175
                        'NombreTransp' => false,
1176
                        'RUTCiaTransp' => false,
1177
                        'NomCiaTransp' => false,
1178
                        'IdAdicTransp' => false,
1179
                        'Booking' => false,
1180
                        'Operador' => false,
1181
                        'CodPtoEmbarque' => false,
1182
                        'IdAdicPtoEmb' => false,
1183
                        'CodPtoDesemb' => false,
1184
                        'IdAdicPtoDesemb' => false,
1185
                        'Tara' => false,
1186
                        'CodUnidMedTara' => false,
1187
                        'PesoBruto' => false,
1188
                        'CodUnidPesoBruto' => false,
1189
                        'PesoNeto' => false,
1190
                        'CodUnidPesoNeto' => false,
1191
                        'TotItems' => false,
1192
                        'TotBultos' => false,
1193
                        'TipoBultos' => false,
1194
                        'MntFlete' => false,
1195
                        'MntSeguro' => false,
1196
                        'CodPaisRecep' => false,
1197
                        'CodPaisDestin' => false,
1198
                    ],
1199
                ],
1200
                'Totales' => [
1201
                    'TpoMoneda' => null,
1202
                    'MntExe' => 0,
1203
                    'MntTotal' => 0,
1204
                ]
1205
            ],
1206
        ], $datos);
1207
        // normalizar datos
1208
        $this->normalizar_detalle($datos);
1209
        $this->normalizar_aplicar_descuentos_recargos($datos);
1210
        $this->normalizar_impuesto_retenido($datos);
1211
        $this->normalizar_agregar_IVA_MntTotal($datos);
1212
        $this->normalizar_exportacion($datos);
1213
    }
1214
1215
    /**
1216
     * Método que normaliza los datos de exportacion de un documento