public function genera_oc() { $cotizaciones = Cotizacion::whereReq_id($this->req_id)->get(); foreach ($cotizaciones as $cotizacion) { $this->oc = ''; foreach ($cotizacion->articulos as $art) { if ($art->pivot->sel == 1 && $art->oc_id == '') { if (empty($this->oc)) { $this->oc = \Consecutivo::nextOc(); $oc = new Oc(); $oc->req_id = $this->req_id; $oc->oc = $this->oc; $oc->fecha_oc = \Carbon\Carbon::now()->toDateString(); $oc->benef_id = $cotizacion->benef_id; $oc->save(); $condiciones = new OcsCondicion(); $condiciones->oc()->associate($oc); $condiciones->save(); } //Actualizar articulo con oc_id $this->actualizar_articulo($art->id, $oc->id); } } } return $this->arr_ocs; }
private function relacionarCondiciones($oc, Oc $oc_nueva) { $condiciones_legacy = $this->consultarCondicionesLegacy($oc); if (count($condiciones_legacy) > 0) { $condiciones_nueva = new OcsCondicion(['forma_pago' => $condiciones_legacy->forma_pago, 'fecha_entrega' => $condiciones_legacy->fecha_entrega, 'pago' => $condiciones_legacy->pago, 'no_parcialidades' => $condiciones_legacy->no_parcialidades, 'porcentaje_anticipo' => $condiciones_legacy->porcentaje_anticipo, 'fecha_inicio' => $condiciones_legacy->fecha_inicio, 'fecha_conclusion' => $condiciones_legacy->fecha_conclusion, 'fianzas' => $condiciones_legacy->fianzas, 'obs' => $condiciones_legacy->obs]); $oc_nueva->condiciones()->save($condiciones_nueva); } else { $condiciones = new OcsCondicion(); $condiciones->oc()->associate($oc_nueva); $condiciones->save(); } }