public function createSeparateSale(Request $request) { \DB::beginTransaction(); //---------------------- $orderRepo; $orderRepo = new SeparateSaleRepo(); $cajaSave = $orderRepo->getModel(); $cash1 = $orderRepo->find($request->id); $manager1 = new SeparateSaleManager($cash1, $request->all()); $manager1->save(); //--------------------- $var = $request->detOrders; $request->merge(array('estado' => '0')); //$request->merge(array('estado' => '0')); $orderSale = $this->saleRepo->getModel(); $manager = new SaleManager($orderSale, $request->all()); $manager->save(); $orderSale->save(); $temporal = $orderSale->id; //---------------------- $detOrderrepox; $montoventa = 0; $HeadStockRepo; $codigoHeadIS = 0; foreach ($var as $object) { //------Actualizar pedido------ //$cajaAct = $request->caja; //var_dump($object);die(); $saleDet; $saleDet = new DetSeparateSaleRepo(); //$object=$saleDet->getModel(); $saled = $saleDet->find($object['id']); //var_dump($saled);die(); $manager2 = new DetSeparateSaleManager($saled, $object); $manager2->save(); //----------------------------- $object['sale_id'] = $temporal; $object['cantidad'] = $object['parteEntregado']; $object['subTotal'] = $object['precioVenta'] * $object['parteEntregado']; $montoventa = $montoventa + $object['subTotal']; $detOrderrepox = new DetSaleRepo(); $insertar = new DetSaleManager($detOrderrepox->getModel(), $object); if ($object['parteEntregado'] > 0) { $insertar->save(); } $detOrderrepox = null; //------------------------------------- $stockmodel = new StockRepo(); $object['warehouse_id'] = $object['idAlmacen']; $object["variant_id"] = $object['vari']; $stockac = $stockmodel->encontrar($object["variant_id"], $object['warehouse_id']); //var_dump($stockac);die(); //--------------reporte stock------------ if ($codigoHeadIS === 0) { $object["warehouses_id"] = $object['idAlmacen']; //$object["cantidad_llegado"]=$cantidaCalculada; //$object['descripcion']='Entrada por compra'; $object['tipo'] = 'Venta'; $object["user_id"] = auth()->user()->id; $object["Fecha"] = $request->input("fechaPedido"); $HeadStockRepo = new HeadInputStockRepo(); $HeadStock = $HeadStockRepo->getModel(); $HeadStockinsert = new HeadInputStockManager($HeadStock, $object); $HeadStockinsert->save(); $codigoHeadIS = $HeadStock->id; } $object['headInputStock_id'] = $codigoHeadIS; $object["producto"] = $object['nameProducto'] . "(" . $object['NombreAtributos'] . ")"; $object["cantidad_llegado"] = $object['cantidad']; $object['descripcion'] = 'Salida por Venta'; $inputRepo; $inputRepo = new InputStockRepo(); $inputstock = $inputRepo->getModel(); $inputInsert = new InputStockManager($inputstock, $object); $inputInsert->save(); //--------------------------------------- if (!empty($stockac)) { if ($object["equivalencia"] == null) { $object["stockSeparados"] = $stockac->stockSeparados - $object["cantidad"]; $object["stockActual"] = $stockac->stockActual - $object["cantidad"]; // } else { $object["stockActual"] = $stockac->stockActual - $object["cantidad"] * $object["equivalencia"]; $object["stockSeparados"] = $stockac->stockSeparados - $object["cantidad"] * $object["equivalencia"]; } $manager = new StockManager($stockac, $object); $manager->save(); //$stock=null; } else { } $stockac = null; //----------------------------------------------------- } $subTotal = $montoventa / 1.18; $montoIgv = $montoventa - $subTotal; $request->merge(array('montoTotal' => $montoventa)); $request->merge(array('igv' => $montoIgv)); $request->merge(array('montoBruto' => $subTotal)); $sales = $this->saleRepo->find($temporal); $manager = new SaleManager($sales, $request->all()); $manager->save(); \DB::commit(); return response()->json(['estado' => true, 'nombres' => $orderSale->nombres]); }
public function edit(Request $request) { $varDetOrders = $request->detOrder; $detOrderSaleRepo; foreach ($varDetOrders as $object) { $detOrderSaleRepo = new DetSeparateSaleRepo(); $detorderSale = $detOrderSaleRepo->find($object['id']); $manager = new DetSeparateSaleManager($detorderSale, $object); $manager->save(); $stokRepo; $stokRepo = new StockRepo(); $cajaSave = $stokRepo->getModel(); $stockOri = $stokRepo->find($object['id']); $stock = $stokRepo->find($object['idStock']); if ($object['estad'] == true) { $stock->stockSeparados = $stock->stockSeparados - $object['canPendiente']; } else { $stock->stockSeparados = $stock->stockSeparados + $object['canPendiente']; } $stock->save(); } $orderSale = $this->separateSaleRepo->find($request->id); $manager = new SeparateSaleManager($orderSale, $request->all()); $manager->save(); return response()->json(['estado' => true, 'nombre' => $orderSale->nombre]); }