Code Duplication    Length = 59-59 lines in 3 locations

lib/Sii/Dte.php 3 locations

@@ 1111-1169 (lines=59) @@
1108
     * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
1109
     * @version 2016-04-05
1110
     */
1111
    private function normalizar_110(array &$datos)
1112
    {
1113
        // completar con nodos por defecto
1114
        $datos = \sasco\LibreDTE\Arreglo::mergeRecursiveDistinct([
1115
            'Encabezado' => [
1116
                'IdDoc' => false,
1117
                'Emisor' => false,
1118
                'Receptor' => false,
1119
                'Transporte' => [
1120
                    'Patente' => false,
1121
                    'RUTTrans' => false,
1122
                    'Chofer' => false,
1123
                    'DirDest' => false,
1124
                    'CmnaDest' => false,
1125
                    'CiudadDest' => false,
1126
                    'Aduana' => [
1127
                        'CodModVenta' => false,
1128
                        'CodClauVenta' => false,
1129
                        'TotClauVenta' => false,
1130
                        'CodViaTransp' => false,
1131
                        'NombreTransp' => false,
1132
                        'RUTCiaTransp' => false,
1133
                        'NomCiaTransp' => false,
1134
                        'IdAdicTransp' => false,
1135
                        'Booking' => false,
1136
                        'Operador' => false,
1137
                        'CodPtoEmbarque' => false,
1138
                        'IdAdicPtoEmb' => false,
1139
                        'CodPtoDesemb' => false,
1140
                        'IdAdicPtoDesemb' => false,
1141
                        'Tara' => false,
1142
                        'CodUnidMedTara' => false,
1143
                        'PesoBruto' => false,
1144
                        'CodUnidPesoBruto' => false,
1145
                        'PesoNeto' => false,
1146
                        'CodUnidPesoNeto' => false,
1147
                        'TotItems' => false,
1148
                        'TotBultos' => false,
1149
                        'TipoBultos' => false,
1150
                        'MntFlete' => false,
1151
                        'MntSeguro' => false,
1152
                        'CodPaisRecep' => false,
1153
                        'CodPaisDestin' => false,
1154
                    ],
1155
                ],
1156
                'Totales' => [
1157
                    'TpoMoneda' => null,
1158
                    'MntExe' => 0,
1159
                    'MntTotal' => 0,
1160
                ]
1161
            ],
1162
        ], $datos);
1163
        // normalizar datos
1164
        $this->normalizar_detalle($datos);
1165
        $this->normalizar_aplicar_descuentos_recargos($datos);
1166
        $this->normalizar_impuesto_retenido($datos);
1167
        $this->normalizar_agregar_IVA_MntTotal($datos);
1168
        $this->normalizar_exportacion($datos);
1169
    }
1170
1171
    /**
1172
     * Método que normaliza los datos de una nota de débito de exportación
@@ 1177-1235 (lines=59) @@
1174
     * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
1175
     * @version 2016-04-05
1176
     */
1177
    private function normalizar_111(array &$datos)
1178
    {
1179
        // completar con nodos por defecto
1180
        $datos = \sasco\LibreDTE\Arreglo::mergeRecursiveDistinct([
1181
            'Encabezado' => [
1182
                'IdDoc' => false,
1183
                'Emisor' => false,
1184
                'Receptor' => false,
1185
                'Transporte' => [
1186
                    'Patente' => false,
1187
                    'RUTTrans' => false,
1188
                    'Chofer' => false,
1189
                    'DirDest' => false,
1190
                    'CmnaDest' => false,
1191
                    'CiudadDest' => false,
1192
                    'Aduana' => [
1193
                        'CodModVenta' => false,
1194
                        'CodClauVenta' => false,
1195
                        'TotClauVenta' => false,
1196
                        'CodViaTransp' => false,
1197
                        'NombreTransp' => false,
1198
                        'RUTCiaTransp' => false,
1199
                        'NomCiaTransp' => false,
1200
                        'IdAdicTransp' => false,
1201
                        'Booking' => false,
1202
                        'Operador' => false,
1203
                        'CodPtoEmbarque' => false,
1204
                        'IdAdicPtoEmb' => false,
1205
                        'CodPtoDesemb' => false,
1206
                        'IdAdicPtoDesemb' => false,
1207
                        'Tara' => false,
1208
                        'CodUnidMedTara' => false,
1209
                        'PesoBruto' => false,
1210
                        'CodUnidPesoBruto' => false,
1211
                        'PesoNeto' => false,
1212
                        'CodUnidPesoNeto' => false,
1213
                        'TotItems' => false,
1214
                        'TotBultos' => false,
1215
                        'TipoBultos' => false,
1216
                        'MntFlete' => false,
1217
                        'MntSeguro' => false,
1218
                        'CodPaisRecep' => false,
1219
                        'CodPaisDestin' => false,
1220
                    ],
1221
                ],
1222
                'Totales' => [
1223
                    'TpoMoneda' => null,
1224
                    'MntExe' => 0,
1225
                    'MntTotal' => 0,
1226
                ]
1227
            ],
1228
        ], $datos);
1229
        // normalizar datos
1230
        $this->normalizar_detalle($datos);
1231
        $this->normalizar_aplicar_descuentos_recargos($datos);
1232
        $this->normalizar_impuesto_retenido($datos);
1233
        $this->normalizar_agregar_IVA_MntTotal($datos);
1234
        $this->normalizar_exportacion($datos);
1235
    }
1236
1237
    /**
1238
     * Método que normaliza los datos de una nota de crédito de exportación
@@ 1243-1301 (lines=59) @@
1240
     * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
1241
     * @version 2016-04-05
1242
     */
1243
    private function normalizar_112(array &$datos)
1244
    {
1245
        // completar con nodos por defecto
1246
        $datos = \sasco\LibreDTE\Arreglo::mergeRecursiveDistinct([
1247
            'Encabezado' => [
1248
                'IdDoc' => false,
1249
                'Emisor' => false,
1250
                'Receptor' => false,
1251
                'Transporte' => [
1252
                    'Patente' => false,
1253
                    'RUTTrans' => false,
1254
                    'Chofer' => false,
1255
                    'DirDest' => false,
1256
                    'CmnaDest' => false,
1257
                    'CiudadDest' => false,
1258
                    'Aduana' => [
1259
                        'CodModVenta' => false,
1260
                        'CodClauVenta' => false,
1261
                        'TotClauVenta' => false,
1262
                        'CodViaTransp' => false,
1263
                        'NombreTransp' => false,
1264
                        'RUTCiaTransp' => false,
1265
                        'NomCiaTransp' => false,
1266
                        'IdAdicTransp' => false,
1267
                        'Booking' => false,
1268
                        'Operador' => false,
1269
                        'CodPtoEmbarque' => false,
1270
                        'IdAdicPtoEmb' => false,
1271
                        'CodPtoDesemb' => false,
1272
                        'IdAdicPtoDesemb' => false,
1273
                        'Tara' => false,
1274
                        'CodUnidMedTara' => false,
1275
                        'PesoBruto' => false,
1276
                        'CodUnidPesoBruto' => false,
1277
                        'PesoNeto' => false,
1278
                        'CodUnidPesoNeto' => false,
1279
                        'TotItems' => false,
1280
                        'TotBultos' => false,
1281
                        'TipoBultos' => false,
1282
                        'MntFlete' => false,
1283
                        'MntSeguro' => false,
1284
                        'CodPaisRecep' => false,
1285
                        'CodPaisDestin' => false,
1286
                    ],
1287
                ],
1288
                'Totales' => [
1289
                    'TpoMoneda' => null,
1290
                    'MntExe' => 0,
1291
                    'MntTotal' => 0,
1292
                ]
1293
            ],
1294
        ], $datos);
1295
        // normalizar datos
1296
        $this->normalizar_detalle($datos);
1297
        $this->normalizar_aplicar_descuentos_recargos($datos);
1298
        $this->normalizar_impuesto_retenido($datos);
1299
        $this->normalizar_agregar_IVA_MntTotal($datos);
1300
        $this->normalizar_exportacion($datos);
1301
    }
1302
1303
    /**
1304
     * Método que normaliza los datos de exportacion de un documento