<?php use EasyFlow\Master\Models\Request; use EasyFlow\Master\Models\Connector; use EasyFlow\Master\Controllers\LogController; require_once dirname(dirname(__DIR__)) . "/includes/configuration.php"; try { $periodosArray = []; $periodos_bpcs = Connector::connect(\FlowSettingsCore::get(FLOW_RECLAMOS, 'REC_CONN_PERIODOS_BPCS')); $first_request = Request::where('request_flow', FLOW_RECLAMOS)->first(); $first_year = date('Y', strtotime($first_request->request_start_date)); $first_month = date('m', strtotime($first_request->request_start_date)); $first_date = strtotime($first_year . '-' . $first_month); foreach ($periodos_bpcs->data as $periodo) { if (strtotime($periodo['PLYEAR'] . '-' . $periodo['PLPERD']) >= $first_date) { $start = substr($periodo['PLSDAT'], 0, 4) . '-' . substr($periodo['PLSDAT'], 4, 2) . '-' . substr($periodo['PLSDAT'], 6, 2); $end = substr($periodo['PLEDAT'], 0, 4) . '-' . substr($periodo['PLEDAT'], 4, 2) . '-' . substr($periodo['PLEDAT'], 6, 2); $periodosArray[] = ['name' => 'Período BPCS: ' . $periodo['PLYEAR'] . '-' . $periodo['PLPERD'] . ' (Desde ' . $start . ' hasta ' . $end . ')', 'shortname' => $periodo['PLYEAR'] . '-' . $periodo['PLPERD'], 'start' => $start, 'end' => $end]; } } // Write file file_put_contents(APP_ENVPATH . '/includes/InterfaceData/Periodos.json', json_encode($periodosArray)); } catch (Exception $e) { LogController::logCron('Error al ejecutar cron (JobDailyActionSummaryi.php)', ['error' => $e->getMessage()], 'ERROR'); echo $e->getMessage(); }
$productos = Connector::connect(FlowSettings::get(FLOW_ADQUISICIONES, 'ADQ_CONNECTION_PRODUCTOS_HACIENDAS')); $productos = $productos->data; //******************************************************************* // 2. Ingreso y datos calculados //******************************************************************* foreach ($productos as $producto_bpcs) { //*********************************************** // Ingreso de datos básicos //*********************************************** // Ingreso los artículos a la base del BPM $producto = Producto::firstOrNew(['origen' => $clase->origen_productos, 'codigo' => $producto_bpcs['HCPROID']]); if (!$producto->id) { $producto->save(); } $producto->nombre = $producto_bpcs['HCPRONOC']; $producto->unidad = $producto_bpcs['HCPROUNM']; $producto->tipo = $producto_bpcs['HCPROBIE']; $producto->save(); // Sincronizo las clases del producto $producto->clases()->sync([$clase->id]); } // Consultar y actualizar stocks desde web service $result = Connector::connect(FlowSettings::get(FLOW_ADQUISICIONES, 'ADQ_CONNECTION_STOCKS_HACIENDAS')); $result = $result->data; $result = json_decode($result['Longvarchar']); foreach ($result as $producto) { $producto_bpm = Producto::where('codigo', $producto->HaKaCId)->where('origen', $clase->origen_productos)->first(); $producto_bpm->update(['stock_actual' => $producto->HaKacSto]); } } }