public function edit(Request $request) { \DB::beginTransaction(); $var = $request->detailOrderPurchases; $almacen_id = $request->input("warehouses_id"); foreach ($var as $object) { //var_dump($object); die(); $stockmodel = new StockRepo(); $object['warehouse_id'] = $almacen_id; $object["variant_id"] = $object["Codigovar"]; $stockac = $stockmodel->encontrar($object["variant_id"], $almacen_id); if (!empty($stockac)) { //var_dump($stockac); var_dump('1');die(); if ($object["esbase"] == 0) { //antes usando equivalencia$object["stockActual"]=$stockac->stockActual+($object["cantidad"]*$object["equivalencia"]); $object["stockActual"] = $stockac->stockActual + $object["cantidad"]; } else { $object["stockActual"] = $stockac->stockActual + $object["cantidad"]; } //$stock = $stockmodel->find($stockac->id); //var_dump($object); var_dump('1');die(); $manager = new StockManager($stockac, $object); $manager->save(); $stock = null; } else { //var_dump($stockac); var_dump('2'); die(); if ($object["esbase"] == 0) { //$object["stockActual"]=$object["cantidad"]*$object["equivalencia"]; $object["stockActual"] = $object["cantidad"]; } else { $object["stockActual"] = $object["cantidad"]; } $manager = new StockManager($stockmodel->getModel(), $object); $manager->save(); $stockmodel = null; } $stockac = null; } \DB::commit(); return response()->json(['estado' => true]); }
public function create(Request $request) { $orderSale = $this->orderSaleRepo->getModel(); $var = $request->detOrders; $payment = $request->salePayment; $saledetPayments = $request->saledetPayments; $manager = new OrderSaleManager($orderSale, $request->all()); $manager->save(); /* if($this->purchaseRepo->validateDate(substr($request->input('fechaEntrega'),0,10))){ $order->fechaEntrega = substr($request->input('fechaEntrega'),0,10); }else{ $order->fechaEntrega = null; }*/ $orderSale->save(); $temporal = $orderSale->id; //---create movimiento--- $movimiento = $request->movimiento; $detCashrepo; $movimiento['observacion'] = $temporal; $detCashrepo = new DetCashRepo(); $movimientoSave = $detCashrepo->getModel(); $insertarMovimiento = new DetCashManager($movimientoSave, $movimiento); $insertarMovimiento->save(); $detCash_id = $movimientoSave->id; //---Autualizar Caja--- $cajaAct = $request->caja; $cashrepo; $cashrepo = new CashRepo(); $cajaSave = $cashrepo->getModel(); $cash1 = $cashrepo->find($cajaAct["id"]); $manager1 = new CashManager($cash1, $cajaAct); $manager1->save(); //---------------- $salePaymentrepo; $payment['orderSale_id'] = $temporal; $salePaymentrepo = new SalePaymentRepo(); $paymentSave = $salePaymentrepo->getModel(); $insertarpayment = new SalePaymentManager($paymentSave, $payment); $insertarpayment->save(); $paymentSave->save(); $temporal1 = $paymentSave->id; //-------------------------- $saledetPaymentrepo; foreach ($saledetPayments as $object1) { $object1['salePayment_id'] = $temporal1; $object1['detCash_id'] = $detCash_id; $saledetPaymentrepo = new SaleDetPaymentRepo(); $insertar = new SaleDetPaymentManager($saledetPaymentrepo->getModel(), $object1); $insertar->save(); $saledetPaymentrepo = null; } $detOrderrepox; foreach ($var as $object) { $object['orderSale_id'] = $temporal; $detOrderrepox = new DetOrderSaleRepo(); $insertar = new DetOrderSaleManager($detOrderrepox->getModel(), $object); $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']); if (!empty($stockac)) { if ($object["equivalencia"] == null) { $object["stockPedidos"] = $stockac->stockPedidos + $object["cantidad"]; // } else { $object["stockPedidos"] = $stockac->stockPedidos + $object["cantidad"] * $object["equivalencia"]; } $manager = new StockManager($stockac, $object); $manager->save(); } else { } $stockac = null; //----------------------------------------------------- } return response()->json(['estado' => true, 'nombres' => $orderSale->nombres]); }
public function edit(Request $request) { \DB::beginTransaction(); //var_dump($request->all()); die(); $oProd = Product::find($request->input('product_id')); //si viene el prod y ademas es prod con variantes if (!empty($oProd) && $oProd->hasVariants == 1) { $variant = $this->variantRepo->findV($request->input('id')); if ($request->input('autogenerado') === true) { $sku = \DB::table('variants')->max('sku'); if (!empty($sku)) { $sku = $sku + 1; } else { $sku = 1000; //inicializar el sku; } $request->merge(array('sku' => $sku)); } else { } $request->merge(array('user_id' => Auth()->user()->id)); $managerVar = new VariantManager($variant, $request->except('stock', 'detAtr', 'presentation_base_object', 'presentations')); $managerVar->save(); $oProd->quantVar = $oProd->quantVar + 1; $oProd->save(); //================================ VARIANTES==============================// //$variant->presentation()->detach(); foreach ($request->input('presentations') as $presentation) { $presentation['variant_id'] = $variant->id; $presentation['presentation_id'] = $presentation['id']; $oPres = new DetPresRepo(); //$oStock = $stockRepo->getModel()->where('variant_id',$stock['variant_id'])->where('warehouse_id',$stock['warehouse_id'])->first(); $obj = $oPres->getModel()->where('variant_id', $presentation['variant_id'])->where('presentation_id', $presentation['presentation_id'])->first(); if (!isset($obj->id)) { $presManager = new DetPresManager($oPres->getModel(), $presentation); $presManager->save(); } else { $presManager = new DetPresManager($obj, $presentation); $presManager->save(); } //$presManager = new DetPresManager($oPres->getModel(),$presentation); //$presManager->save(); } $variant->atributes()->detach(); foreach ($request->input('detAtr') as $detAtr) { if (!empty($detAtr['descripcion'])) { $detAtr['variant_id'] = $variant->id; $oDetAtr = new DetAtrRepo(); $detAtrManager = new DetAtrManager($oDetAtr->getModel(), $detAtr); $detAtrManager->save(); } } if ($request->input('track') == 1) { //if (empty($variant->warehouse())) { //var_dump( $variant->stock ); die(); //$variant->warehouse()->detach(); foreach ($request->input('stock') as $stock) { if (isset($stock['stockActual']) && $stock['stockActual'] == null && $stock['stockActual'] == '') { $stock['stockActual'] = 0; } if (isset($stock['stockMin']) && $stock['stockMin'] == null && $stock['stockMin'] == '') { $stock['stockMin'] = 0; } if (isset($stock['stockMinSoles']) && $stock['stockMinSoles'] == null && $stock['stockMinSoles'] == '') { $stock['stockMinSoles'] = 0; } $stock['variant_id'] = $variant->id; $oStock = new StockRepo(); //var_dump($stock['variant_id']); //var_dump($stock['warehouse_id']); $obj = $oStock->getModel()->where('variant_id', $stock['variant_id'])->where('warehouse_id', $stock['warehouse_id'])->first(); if (!isset($obj->id)) { $stockManager = new StockManager($oStock->getModel(), $stock); $stockManager->save(); } else { $stockManager = new StockManager($obj, $stock); $stockManager->save(); } //print_r($obj->id); die(); } //} } \DB::commit(); return response()->json(['estado' => true, 'nombres' => $variant->nombre]); } else { return response()->json(['estado' => 'Prod sin variantes']); } //================================./VARIANTES==============================// }
public function createSale(Request $request) { \DB::beginTransaction(); //---------------------- $orderRepo; $orderRepo = new OrderSaleRepo(); $cajaSave = $orderRepo->getModel(); $cash1 = $orderRepo->find($request->id); $manager1 = new OrderSaleManager($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 DetOrderSaleRepo(); //$object=$saleDet->getModel(); $saled = $saleDet->find($object['id']); //var_dump($saled);die(); $manager2 = new DetOrderSaleManager($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["stockPedidos"] = $stockac->stockPedidos - $object["cantidad"]; $object["stockActual"] = $stockac->stockActual - $object["cantidad"]; // } else { $object["stockActual"] = $stockac->stockActual - $object["cantidad"] * $object["equivalencia"]; $object["stockPedidos"] = $stockac->stockPedidos - $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 create(Request $request) { // var_dump($request->all());die(); \DB::beginTransaction(); $saldoTemp = 0; $codigoHeadIS = 0; $purchase = $this->purchaseRepo->getModel(); $payment = $this->paymentRepo->getModel(); $pendientAccount = $this->pendientAccountRepo->getModel(); $var = $request->detailOrderPurchases; $almacen_id = $request->input("warehouses_id"); if (!empty($request->input("compraDirecta"))) { foreach ($var as $object) { $stockmodel = new StockRepo(); $object['warehouse_id'] = $almacen_id; $object["variant_id"] = $object["Codigovar"]; $stockac = $stockmodel->encontrar($object["variant_id"], $almacen_id); if (!empty($stockac)) { $object["stockActual"] = floatval($stockac->stockActual) + floatval($object["cantidad"]); //var_dump($object["stockActual"]);die(); $manager = new StockManager($stockac, $object); $manager->save(); $stock = null; } else { $object["stockActual"] = $object["cantidad"]; //var_dump($object["stockActual"]);die(); $manager = new StockManager($stockRepo->getModel, $object); } $stockac = null; } } //==================================Cancelar Factura if ($request->input('estado') == 2) { //var_dump("hola");die(); foreach ($var as $object) { $stockmodel = new StockRepo(); $object['warehouse_id'] = $almacen_id; $object["variant_id"] = $object["Codigovar"]; $stockac = $stockmodel->encontrar($object["variant_id"], $almacen_id); //var_dump($stockac);die(); if (!empty($stockac)) { $object["porLlegar"] = floatval($stockac->porLlegar) - floatval($object["cantidad"]); $manager = new StockManager($stockac, $object); $manager->save(); $stock = null; } //} $stockac = null; } $orderPurchase = $this->orderPurchaseRepo->find($request->id); $ordercompra = new OrderPurchaseManager($orderPurchase, $request->except('fechaPedido', 'fechaPrevista', 'montoBruto', 'montoTotal', 'descuento')); $ordercompra->save(); if ($this->orderPurchaseRepo->validateDate(substr($request->input('fechaPedido'), 0, 10)) and $this->orderPurchaseRepo->validateDate(substr($request->input('fechaPrevista'), 0, 10))) { $orderPurchase->fechaPedido = substr($request->input('fechaPedido'), 0, 10); $orderPurchase->fechaPrevista = substr($request->input('fechaPrevista'), 0, 10); } else { $orderPurchase->fechaPedido = null; $orderPurchase->fechaPrevista = null; } $orderPurchase->save(); $payment1 = $this->paymentRepo->paymentById($request->input('id')); $pendientAccount = $this->pendientAccountRepo->getModel(); //$pendientAcc=$this->pendientAccountRepo->verSaldos($payment1->id); if (!empty($payment1)) { $detPayment = $this->detPaymentRepo->verPagosAdelantados($payment1->id); if (!empty($detPayment)) { foreach ($detPayment as $detPayment) { $request->merge(["estado" => 0]); $SaldosTemporales = $this->pendientAccountRepo->find2($detPayment['Saldo_F']); if ($SaldosTemporales != null) { $request->merge(['Saldo' => $SaldosTemporales->Saldo + $detPayment['montoPagado']]); $request->merge(['orderPurchase_id' => $SaldosTemporales->orderPurchase_id]); $request->merge(['supplier_id' => $SaldosTemporales->supplier_id]); $insercount = new PendientAccountManager($SaldosTemporales, $request->all()); $insercount->save(); } else { $request->merge(['orderPurchase_id' => $request->input('id')]); $request->merge(['Saldo' => $payment1->Acuenta]); $insercount = new PendientAccountManager($pendientAccount, $request->all()); $insercount->save(); } } ///================solucion Errores================================== } else { $request->merge(['orderPurchase_id' => $request->input('id')]); $request->merge(['Saldo' => $payment1->Acuenta]); $insercount = new PendientAccountManager($pendientAccount, $request->all()); $insercount->save(); $provicional = $request->idpayment; } //==========================fin } } else { //===================================UpdateOrderPurchase=========================================== if ($request->input('estado') == 1) { $request->merge(["Estado" => 1]); // var_dump($request->input("Estado"));die(); $orderPurchase = $this->orderPurchaseRepo->find($request->id); //var_dump($orderPurchase->Estado);die(); $ordercompra = new OrderPurchaseManager($orderPurchase, $request->except('fechaPedido', 'fechaPrevista', 'montoBruto', 'montoTotal', 'descuento')); $ordercompra->save(); if ($this->orderPurchaseRepo->validateDate(substr($request->input('fechaPedido'), 0, 10)) and $this->orderPurchaseRepo->validateDate(substr($request->input('fechaPrevista'), 0, 10))) { $orderPurchase->fechaPedido = substr($request->input('fechaPedido'), 0, 10); $orderPurchase->fechaPrevista = substr($request->input('fechaPrevista'), 0, 10); } else { $orderPurchase->fechaPedido = null; $orderPurchase->fechaPrevista = null; } $orderPurchase->save(); $verSiExiste = $this->detailOrderPurchaseRepo->Comprobar($request->id); //*************************************************************** if (!empty($verSiExiste[0])) { //var_dump("no deve entrar");die(); $orderPurchase->detPres()->detach(); foreach ($var as $object1) { //$hola=$var[$n]; //$object[] $object1["Cantidad_Ll"] = $object1["cantidad1"]; $object1["pendiente"] = floatval($object1["cantidad"]) - floatval($object1["cantidad1"]); /*if(!empty($object1["cantidad1"])){ //var_dump("holay".$object1["cantidad1"]);die(); //$object1["cantidad"]=$object1["Cantidad_Ll"]; //$object1["pendiente"]=$object1["pendiente"]; $object1["montoBruto"]=floatval($object1["cantidad"])*floatval($object1["preProducto"]); $object1["montoTotal"]=floatval($object1["montoBruto"])-((floatval($object1["montoBruto"])*floatval($object1["descuento"]))/100); }else{ //var_dump("dos".$object1["cantidad1"]);die(); if($object1["Cantidad_Ll"]=='0' && $object1["montoBruto"]=='0'){ $object1["Cantidad_Ll"]=0; $object1["pendiente"]=$object1["cantidad"]; $object1["montoBruto"]=floatval($object1["cantidad"])*floatval($object1["preProducto"]); $object1["montoTotal"]=floatval($object1["montoBruto"])-((floatval($object1["montoBruto"])*floatval($object1["descuento"]))/100); }else{ if($object1["Cantidad_Ll"]>0){ $object1["Cantidad_Ll"]=$object1["cantidad"]; $object1["pendiente"]=0; $object1["montoBruto"]=floatval($object1["cantidad"])*floatval($object1["preProducto"]); $object1["montoTotal"]=floatval($object1["montoBruto"])-((floatval($object1["montoBruto"])*floatval($object1["descuento"]))/100); }else{ $object1["Cantidad_Ll"]=$object1["cantidad"]; $object1["pendiente"]=0; $object1["montoBruto"]=floatval($object1["cantidad"])*floatval($object1["preProducto"]); $object1["montoTotal"]=floatval($object1["montoBruto"])-((floatval($object1["montoBruto"])*floatval($object1["descuento"]))/100); } } }*/ ////if($hola->cantidad1!=null){ //// $object1["Cantidad_Ll"]=$hola->Cantidad_Ll; //// $object1["pendiente"]=$hola->pendiente; //// ////}else{ //// $object1["Cantidad_Ll"]=$object1["cantidad"]; //// $object1["pendiente"]=0; ////} //var_dump($hola['Cantidad_Ll']);die(); if (floatval($object1["preCompra"]) > 0) { $detailOrderPurchaseRepox = new DetailOrderPurchaseRepo(); $insertar = new DetailOrderPurchaseManager($detailOrderPurchaseRepox->getModel(), $object1); $insertar->save(); $detailOrderPurchaseRepox = null; //$n++; } } // var_dump($var);die(); } } //============================================================================== $codOrder = $request->input("orderPurchase_id"); $fechaActual = $request->input("fecha"); //var_dump($fechaActual);die(); //=============================Creando compra ============================= //var_dump($var); die(); $manager = new PurchaseManager($purchase, $request->except('fechaEntrega')); $manager->save(); if ($this->purchaseRepo->validateDate(substr($request->input('fechaEntrega'), 0, 10))) { $purchase->fechaEntrega = substr($request->input('fechaEntrega'), 0, 10); } else { $purchase->fechaEntrega = null; } $purchase->save(); $temporal = $purchase->id; // return $temporal; $request->merge(["purchase_id" => $temporal]); $detailPurchaseRepox; $consulPayment = null; //$almacen_id=$request->input("warehouses_id"); //======================================================================== $total = 0; foreach ($var as $object) { //========================insertDEtalles========================= $object['orderPurchase_id'] = $codOrder; $object['purchases_id'] = $temporal; $object['purchase_id'] = $temporal; $object['Fecha'] = $fechaActual; $object['warehouse_id'] = $almacen_id; $object["variant_id"] = $object["Codigovar"]; $stockmodel = new StockRepo(); $stockac = $stockmodel->encontrar($object["variant_id"], $almacen_id); if ($request->input('estado') == 1) { // var_dump($object1["cantidad1"]); $cantidadReal = $object["cantidad"]; $object["cantidad"] = $object["cantidad1"]; if ($request->input("tCambio") == "sol") { //var_dump("hola este es soles");die(); $object["montoBruto"] = floatval($object["cantidad1"]) * floatval($object["preProducto"]); $object["montoBrutoDolar"] = floatval($object["montoBruto"]) / floatval($request->input("tasaDolar")); $object["montoTotal"] = floatval($object["cantidad1"]) * floatval($object["preCompra"]); $object["montoTotalDolar"] = floatval($object["montoTotal"]) / floatval($request->input("tasaDolar")); $total = $total + $object["montoTotal"]; } else { $object["montoBrutoDolar"] = floatval($object["cantidad1"]) * floatval($object["preProductoDolar"]); $object["montoBruto"] = floatval($object["montoBrutoDolar"]) * floatval($request->input("tasaDolar")); $object["montoTotalDolar"] = floatval($object["cantidad1"]) * floatval($object["preCompraDolar"]); $object["montoTotal"] = floatval($object["montoTotalDolar"]) * floatval($request->input("tasaDolar")); $total = $total + $object["montoTotalDolar"]; } // var_dump($object["cantidad"]); /*if(!empty($object["cantidad1"])){ $object["cantidad"]=$object["Cantidad_Ll"]; }else{ if($object["preCompra"]==0){ $object["cantidad"]=$object["cantidad"]; }else{ if($object["Cantidad_Ll"]==0 && $object["montoBruto"]==0) { $object["cantidad"]=$object["Cantidad_Ll"]; }else{ //if(floatval($object["Cantidad_Ll"])>0){ // $object["cantidad"]=$object["Cantidad_Ll"]; //}else{ $object["cantidad"]=$object["cantidad"]; //} } } }**/ //*************************************************** // $stockmodel = new StockRepo; //$object['warehouse_id']=$almacen_id; //$object["variant_id"]=$object["Codigovar"]; //$stockac=$stockmodel->encontrar($object["variant_id"],$almacen_id); $cantidaCalculada = floatval($object["cantidad1"]) - floatval($object["Cantidad_Ll"]); if ($cantidaCalculada < 0) { $cantidaCalculada = floatval($cantidaCalculada * -1); } /* if(!empty($object["cantidad1"])){ $cantidaCalculada=floatval($object["cantidad1"])-floatval($object["Cantidad_Ll"]); }else{ if($object["preCompra"]==0){ $cantidaCalculada=floatval($object["cantidad"]); }else{ if($object["Cantidad_Ll"]==0 && $object["montoBruto"]==0){ $cantidaCalculada=0; }else{ $cantidaCalculada=floatval($object["cantidad"])-floatval($object["Cantidad_Ll"]); } } }*/ //*****************ssss************************* } else { $stockmodel = new StockRepo(); $object['warehouse_id'] = $almacen_id; $object["variant_id"] = $object["Codigovar"]; $cantidaCalculada = $object["cantidad"]; } //$object["cantidad"]=$cantidaCalculada; if (intval($object["cantidad"] > 0)) { //var_dump($object);die(); $detailPurchaseRepox = new DetailPurchaseRepo(); $insertar = new DetailPurchaseManager($detailPurchaseRepox->getModel(), $object); $insertar->save(); $detailPurchaseRepox = null; } if ($request->input('estado') == 1) { $purchase1 = $this->purchaseRepo->find($temporal); if ($request->input("tCambio") == "sol") { $request->merge(['montoBruto' => floatval($total)]); $request->merge(['montoBrutoDolar' => floatval($total) / floatval($request->input("tasaDolar"))]); } else { $request->merge(['montoBrutoDolar' => floatval($total)]); $request->merge(['montoBruto' => floatval($total) * floatval($request->input("tasaDolar"))]); } if (!empty($purchase1->descuento)) { if ($request->input("tCambio") == "sol") { $request->merge(['montoTotal' => floatval($total) - floatval($total) * floatval($purchase1->descuento) / 100]); $request->merge(['montoTotalDolar' => floatval($total) / floatval($request->input("tasaDolar"))]); } else { $request->merge(['montoTotalDolar' => floatval($total) - floatval($total) * floatval($purchase1->descuento) / 100]); $request->merge(['montoTotal' => floatval($total) * floatval($request->input("tasaDolar"))]); } } else { if ($request->input("tCambio") == "sol") { $request->merge(['montoTotal' => floatval($total)]); $request->merge(['montoTotalDolar' => floatval($total) / floatval($request->input("tasaDolar"))]); } else { $request->merge(['montoTotalDolar' => floatval($total)]); $request->merge(['montoTotal' => floatval($total) * floatval($request->input("tasaDolar"))]); } } $manager = new PurchaseManager($purchase1, $request->except('fechaEntrega')); $manager->save(); } //======================Si Existe Stock Pendiente Por Agregar=============================== $inputStock = $this->inputStockRepo->getModel(); $object["warehouses_id"] = $request->input("warehouses_id"); $object["cantidad_llegado"] = $cantidaCalculada; $object['descripcion'] = 'Entrada por compra'; $object['tipo'] = 'Compra'; if (!empty($cantidadReal)) { if (floatval($cantidadReal) > 0) { if (!empty($stockac)) { $object["stockActual"] = $stockac->stockActual + $cantidaCalculada; if ($object["Cantidad_Ll"] > 0) { $object["porLlegar"] = floatval($stockac->porLlegar) - floatval($cantidaCalculada); } else { $object["porLlegar"] = floatval($stockac->porLlegar) - floatval($cantidadReal); } //======================Actualizando stock si es que variante existe=============================== $manager = new StockManager($stockac, $object); $manager->save(); $stock = null; } else { if (!empty($stockac->porLlegar)) { $object["porLlegar"] = floatval($stockac->porLlegar) - floatval($object["cantidad"]); } else { $object["porLlegar"] = 0; } //======================Registrando estock si es que variante no existe=============================== $manager = new StockManager($stockmodel->getModel(), $object); $manager->save(); $stockmodel = null; } $stockac = null; } } if ($cantidaCalculada > 0) { ////======================Registrando en notas de cabecera=============================== if ($codigoHeadIS === 0 && $cantidaCalculada > 0) { $headInputStock = $this->headInputStockRepo->getModel(); //var_dump($object);die(); $object["user_id"] = auth()->user()->id; $inserHeadInputStock = new HeadInputStockManager($headInputStock, $object); $inserHeadInputStock->save(); $codigoHeadIS = $headInputStock->id; } ////======================Registrando en notas de detalles===============================cantidad_llegado //if(!empty($object["equivalencia"])){ // if($object["equivalencia"]>0){ // $object["cantidad_llegado"]=$object["cantidad_llegado"]*$object["equivalencia"]; // } //} $object['headInputStock_id'] = $codigoHeadIS; $inserInputStock = new inputStockManager($inputStock, $object); $inserInputStock->save(); } } //======================Creando reporte por cada linea de detalle de compra=============================== //====================Creando y actualizando pagos si que existe adelantos==================================== if ($request->input('compraDirecta') == 1) { $request->merge(["Acuenta" => 0]); $inserPay = new PaymentManager($payment, $request->all()); $inserPay->save(); } else { // var_dump($request->orderPurchase_id);die(); $consulPayment = $this->paymentRepo->paymentById($request->orderPurchase_id); if (!empty($consulPayment)) { // var_dump("entrando XD");die(); $request->merge(["Acuenta" => $consulPayment->Acuenta]); $request->merge(["Saldo" => floatval($request->input("montoTotal")) - floatval($request->input("Acuenta"))]); //$request->merge(["Acuenta"=>0]); $inserPay = new PaymentManager($consulPayment, $request->all()); $inserPay->save(); //------------------------------------ if (floatval($request->Saldo) < 0) { $request->merge(['Saldo' => floatval($request->Saldo * -1)]); //$request->merge(["estado"=>0]); $insercount = new PendientAccountManager($pendientAccount, $request->except("estado")); $insercount->save(); } } else { $request->merge(["Acuenta" => 0]); $request->merge(["Saldo" => floatval($request->input("montoTotal")) - floatval($request->input("Acuenta"))]); $inserPay = new PaymentManager($payment, $request->all()); $inserPay->save(); //$saldoTemp=$inserPay->Saldo; } } //var_dump("recolectando verdadero salfdo".$consulPayment->Saldo);die(); // if(!empty($consulPayment)){ // } if (!empty($consulPayment)) { $detPayment = $this->detPaymentRepo->verPagosAdelantados($consulPayment->id); if ($detPayment != null) { foreach ($detPayment as $detPayment) { if ($detPayment->Saldo_F != null) { $saldos = $this->pendientAccountRepo->find2($detPayment['Saldo_F']); if ($saldos != null) { if ($saldos->Saldo == 0) { $request->merge(['Saldo' => 0]); $request->merge(['estado' => 1]); $request->merge(['orderPurchase_id' => $saldos->orderPurchase_id]); $request->merge(['supplier_id' => $saldos->supplier_id]); $insercount = new PendientAccountManager($saldos, $request->all()); $insercount->save(); } } } } } } ///==========================Registrando saldo Afavor ======================================== } \DB::commit(); return response()->json(['estado' => true, 'nombres' => $purchase->nombres]); }
public function edit(Request $request) { \DB::beginTransaction(); $var = $request->detailOrderPurchases; //->except($request->detailOrderPurchases["id"]); $orderPurchase = $this->orderPurchaseRepo->find($request->input('id')); $orderPurchase = $this->orderPurchaseRepo->find($request->id); $almacen_id = $request->input("warehouses_id"); $manager = new OrderPurchaseManager($orderPurchase, $request->except('fechaPedido', 'fechaPrevista')); $manager->save(); if ($this->orderPurchaseRepo->validateDate(substr($request->input('fechaPedido'), 0, 10)) and $this->orderPurchaseRepo->validateDate(substr($request->input('fechaPrevista'), 0, 10))) { $orderPurchase->fechaPedido = substr($request->input('fechaPedido'), 0, 10); $orderPurchase->fechaPrevista = substr($request->input('fechaPrevista'), 0, 10); } else { $orderPurchase->fechaPedido = null; $orderPurchase->fechaPrevista = null; } $orderPurchase->save(); $orderPurchase->detPres()->detach(); foreach ($var as $object) { $detailOrderPurchaseRepox = new DetailOrderPurchaseRepo(); $insertar = new DetailOrderPurchaseManager($detailOrderPurchaseRepox->getModel(), $object); $insertar->save(); $detailOrderPurchaseRepox = null; $stockmodel = new StockRepo(); $object['warehouse_id'] = $almacen_id; $object["variant_id"] = $object["Codigovar"]; $stockac = $stockmodel->encontrar($object["variant_id"], $almacen_id); if (!empty($stockac)) { // if($object["esbase"]==0){ // $object["porLlegar"]=$stockac->stockActual+($object["cantidad_llegado"]*$object["equivalencia"]); // }else{ if (!empty($object["nuevo"])) { $object["porLlegar"] = $stockac->porLlegar + $object["cantidad"]; } else { if (!empty($object["cantAnterior"])) { $object["porLlegar"] = floatval($stockac->porLlegar) - floatval($object["cantAnterior"]) + floatval($object["cantidad"]); } else { $object["porLlegar"] = $stockac->porLlegar; } } //} $manager = new StockManager($stockac, $object); $manager->save(); $stock = null; } else { //if($tipo!=$tipo2){ // if($object["esbase"]==0) // { // $object["stockActual"]=$object["cantidad_llegado"]*$object["equivalencia"]; //}else{ $object["porLlegar"] = $object["cantidad"]; //} $manager = new StockManager($stockmodel->getModel(), $object); $manager->save(); $stockmodel = null; } //} $stockac = null; } $payment = $this->paymentRepo->getModel(); $payment1 = $this->paymentRepo->paymentById($request->input('id')); if (!empty($payment1)) { $request->merge(['Acuenta' => $payment1->Acuenta]); $request->merge(['orderPurchase_id' => $request->input('id')]); $salc = floatval($request->input('montoTotal')) - floatval($request->input('Acuenta')); $request->merge(['Saldo' => $salc]); $manager = new PaymentManager($payment1, $request->all()); $manager->save(); $provicional = $request->idpayment; } \DB::commit(); return response()->json(['estado' => true]); }
public function create(Request $request) { \DB::beginTransaction(); if ($request->warehouDestino_id == "") { $request->merge(["warehouDestino_id" => null]); } $var = $request->detailOrderPurchases; $request->merge(["Fecha" => $request->fecha]); // var_dump($request->input("generareport"));die(); $codigoHeadIS; $almacen_id = $request->input("warehouses_id"); $almacen_Destino = $request->input("warehouDestino_id"); //if($almacen_Destino==null){ // $almacen_Destino=null; //} $queHacer = $request->input("eliminar"); $tipo = $request->input("tipo"); $tipo2 = "Salida"; $request->merge(['user_id' => auth()->user()->id]); //var_dump();die(); if ($queHacer === 0) { $request->merge(["orderPurchase_id" => $request->input('id')]); $headInputStock = $this->headInputStockRepo->getModel(); if (!empty($request->input('warehouDestino_id'))) { $inserHeadInputStock = new HeadInputStockManager($headInputStock, $request->all()); } else { $inserHeadInputStock = new HeadInputStockManager($headInputStock, $request->except('warehouDestino_id')); } $inserHeadInputStock->save(); $codigoHeadIS = $headInputStock->id; $orderPurchase = $this->orderPurchaseRepo->find($request->input('id')); $orderPurchase->detPres()->detach(); foreach ($var as $object) { // if($queHacer===0){ //var_dump("hola");die(); $detPres = $this->detPresRepo->listarVariantes($object['detPres_id']); $object["variant_id"] = $detPres->variant_id; $object["warehouses_id"] = $request->input("warehouses_id"); $object["descripcion"] = "Ingreso por pedido"; $detailOrderPurchaseRepox = new DetailOrderPurchaseRepo(); $insertar = new DetailOrderPurchaseManager($detailOrderPurchaseRepox->getModel(), $object); $insertar->save(); $detailOrderPurchaseRepox = null; // } $inputStock = $this->inputStockRepo->getModel(); // var_dump($object);die(); if (!empty($object["cantidad_llegado"])) { //if($object["cantidad_llegado"]>0){ // if(!empty($object["equivalencia"])){ // if($object["equivalencia"]>0){ // $object["cantidad_llegado"]=$object["cantidad_llegado"]*$object["equivalencia"]; // } // } $object['headInputStock_id'] = $codigoHeadIS; $inserInputStock = new inputStockManager($inputStock, $object); $inserInputStock->save(); $stockmodel = new StockRepo(); $object['warehouse_id'] = $almacen_id; $stockac = $stockmodel->encontrar($object["variant_id"], $almacen_id); //var_dump($object["tipo"]);die(); if (!empty($stockac)) { /* if($object["esbase"]==0){ if($object["tipo"]=="Salida"){ $object["stockActual"]=$stockac->stockActual-($object["cantidad_llegado"]*$object["equivalencia"]); var_dump("entre"); }else{ $object["stockActual"]=$stockac->stockActual+($object["cantidad_llegado"]*$object["equivalencia"]); } }else{ if($object["tipo"]=="Salida"){ $object["stockActual"]=$stockac->stockActual-$object["cantidad_llegado"]; var_dump("entre"); }else{ $object["stockActual"]=$stockac->stockActual+$object["cantidad_llegado"]; } }*/ //if($object["esbase"]==0){ // $object["stockActual"]=$stockac->stockActual+($object["cantidad_llegado"]*$object["equivalencia"]); // }else{ $object["stockActual"] = $stockac->stockActual + $object["cantidad_llegado"]; $object["porLlegar"] = $stockac->porLlegar - $object["cantidad_llegado"]; //} $manager = new StockManager($stockac, $object); $manager->save(); $stock = null; } else { if ($tipo != $tipo2) { if ($object["esbase"] == 0) { $object["stockActual"] = $object["cantidad_llegado"] * $object["equivalencia"]; } else { $object["stockActual"] = $object["cantidad_llegado"]; } $manager = new StockManager($stockmodel->getModel(), $object); $manager->save(); $stockmodel = null; } } $stockac = null; } } // } } else { //==========================================================0 //$inputStock = $this->inputStockRepo->getModel(); $headInputStock = $this->headInputStockRepo->getModel(); //var_dump($var);die(); //if(!empty($var["cantidad_llegado"])){ //var_dump($request->all());die(); $inserHeadInputStock = new HeadInputStockManager($headInputStock, $request->all()); $inserHeadInputStock->save(); $codigoHeadIS = $headInputStock->id; foreach ($var as $object) { $inputStock = $this->inputStockRepo->getModel(); //$inputStock = $this->inputStockRepo->getModel(); if (!empty($object["cantidad_llegado"])) { if ($object["cantidad_llegado"] > 0) { $object['warehouse_id'] = $almacen_id; $object['headInputStock_id'] = $codigoHeadIS; $inserInputStock = new InputStockManager($inputStock, $object); $inserInputStock->save(); //var_dump($object);die(); $stockmodel = new StockRepo(); //$var['warehouse_id']=$almacen_id; $stockac = $stockmodel->encontrar($object["variant_id"], $almacen_id); if ($tipo == "Transferencia") { $tockacDestino = $stockmodel->encontrar($object["variant_id"], $almacen_Destino); if (!empty($tockacDestino)) { if ($object["esbase"] == 0) { $object["stockActual"] = $tockacDestino->stockActual + $object["cantidad_llegado"] * $object["equivalencia"]; } else { $object["stockActual"] = $tockacDestino->stockActual + $object["cantidad_llegado"]; } $object['warehouse_id'] = $almacen_Destino; $manager = new StockManager($tockacDestino, $object); $manager->save(); $stock = null; } else { if ($object["esbase"] == 0) { $object["stockActual"] = $object["cantidad_llegado"] * $object["equivalencia"]; } else { $object["stockActual"] = $object["cantidad_llegado"]; } $object['warehouse_id'] = $almacen_Destino; $manager = new StockManager($stockmodel->getModel(), $object); $manager->save(); $stockmodel = null; } $tockacDestino = null; if (!empty($stockac)) { $object['warehouse_id'] = $almacen_id; $object["stockActual"] = $stockac->stockActual - $object["cantidad_llegado"]; $manager = new StockManager($stockac, $object); $manager->save(); $stock = null; } } else { //Actualiza Stock--------------------------------------------- if (!empty($stockac)) { if ($object["esbase"] == 0) { if ($tipo == $tipo2) { $object["stockActual"] = $stockac->stockActual - $object["cantidad_llegado"] * $object["equivalencia"]; //var_dump("entre"); } else { $object["stockActual"] = $stockac->stockActual + $object["cantidad_llegado"] * $object["equivalencia"]; } } else { if ($tipo == $tipo2) { $object["stockActual"] = $stockac->stockActual - $object["cantidad_llegado"]; //var_dump("entre"); } else { // var_dump("hola ");die(); $object["stockActual"] = $stockac->stockActual + $object["cantidad_llegado"]; } } $manager = new StockManager($stockac, $object); $manager->save(); $stock = null; } else { if ($tipo != $tipo2) { if ($object["esbase"] == 0) { $object["stockActual"] = $object["cantidad_llegado"] * $object["equivalencia"]; } else { $object["stockActual"] = $object["cantidad_llegado"]; } $manager = new StockManager($stockmodel->getModel(), $object); $manager->save(); $stockmodel = null; } } } //fin actualiza Stock--------------------------------------------------- $stockac = null; } } } } // var_dump($request->generareport);die(); //$idOrder=intval($request->input("id")); //var_dump($idOrder);die(); \DB::commit(); ////======================================================00 return response()->json(['estado' => true]); }
public function edit(Request $request) { \DB::beginTransaction(); //$customer = $this->customerRepo->find($request->id); //$manager = new CustomerManager($customer,$request->except('fechaNac')); //$manager->save(); $product = $this->productRepo->find($request->id); //$detPres = $this->detPres->getModel(); if ($request->input('estado') == 1) { } else { $request->merge(array('estado' => '0')); } if ($request->input('hasVariants') == 1) { } else { $request->merge(array('hasVariants' => '0')); } if ($request->input('track') == 1) { } else { $request->merge(array('track' => '0')); } $request->merge(array('user_id' => Auth()->user()->id)); //var_dump($request->all());die(); $managerPro = new ProductManager($product, $request->except('sku', 'suppPri', 'markup', 'price', 'track')); //================================PROD CON VARIANTES==============================// if ($request->input('hasVariants') === true) { $managerPro->save(); $request->merge(array('product_id' => $product->id)); $product->quantVar = 0; //cantidad de variantes igual a 0; $product->save(); //$managerVar = new VariantManager($variant,$request->only('sku','suppPri','markup','price','track','product_id')); //$managerVar->save(); //================================./PROD CON VARIANTES==============================// //================================PROD SIN VARIANTES==============================// } elseif ($request->input('hasVariants') === '0') { $managerPro->save(); $request->merge(array('product_id' => $product->id)); if ($request->input('autogenerado') === true) { $sku = \DB::table('variants')->max('sku'); if (!empty($sku)) { $sku = $sku + 1; } else { $sku = 1000; //inicializar el sku; } $request->merge(array('sku' => $sku)); } else { } $product->quantVar = 0; //aunq presenta una fila en la tabla variantes por defecto $product->save(); $variant = $this->variantRepo->getModel()->where('product_id', $product->id)->first(); $managerVar = new VariantManager($variant, $request->only('sku', 'suppPri', 'markup', 'price', 'track', 'codigo', 'product_id', 'user_id')); $managerVar->save(); //var_dump($request->input('presentations')); die(); //$variant->presentation()->detach(); foreach ($request->input('presentations') as $presentation) { //var_dump('o'); die(); $presentation['variant_id'] = $variant->id; $presentation['presentation_id'] = $presentation['id']; /*$detpresRepo = new DetPresRepo(); //$oPres = $detpresRepo->getModel()->where('presentation_id',$presentation['presentation_id'])->where('variant_id',$presentation['variant_id'])->first(); $oPres = $detpresRepo->getModel(); $presManager = new DetPresManager($oPres,$presentation); $presManager->save();*/ $oPres = new DetPresRepo(); //$oStock = $stockRepo->getModel()->where('variant_id',$stock['variant_id'])->where('warehouse_id',$stock['warehouse_id'])->first(); $obj = $oPres->getModel()->where('variant_id', $presentation['variant_id'])->where('presentation_id', $presentation['presentation_id'])->first(); if (!isset($obj->id)) { $presManager = new DetPresManager($oPres->getModel(), $presentation); $presManager->save(); } else { $presManager = new DetPresManager($obj, $presentation); $presManager->save(); } } if ($request->input('track') == 1) { //$variant->warehouse()->detach(); foreach ($request->input('stock') as $stock) { if (isset($stock['stockActual']) && $stock['stockActual'] == null) { $stock['stockActual'] = 0; } if (isset($stock['stockMin']) && $stock['stockMin'] == null) { $stock['stockMin'] = 0; } if (isset($stock['stockMinSoles']) && $stock['stockMinSoles'] == null) { $stock['stockMinSoles'] = 0; } $stock['variant_id'] = $variant->id; $stockRepo = new StockRepo(); //$oStock = $stockRepo->getModel()->where('variant_id',$stock['variant_id'])->where('warehouse_id',$stock['warehouse_id'])->first(); $obj = $stockRepo->getModel()->where('variant_id', $stock['variant_id'])->where('warehouse_id', $stock['warehouse_id'])->first(); if (!isset($obj->id)) { $stockManager = new StockManager($stockRepo->getModel(), $stock); $stockManager->save(); } else { $stockManager = new StockManager($obj, $stock); $stockManager->save(); } /*$oStock = $stockRepo->getModel(); $stockManager = new StockManager($oStock, $stock); $stockManager->save(); */ } } } //================================./PROD SIN VARIANTES==============================// //================================ADD IMAGE TO PROD==============================// if ($request->has('image') and substr($request->input('image'), 5, 5) === 'image') { $image = $request->input('image'); $mime = $this->get_string_between($image, '/', ';'); $image = base64_decode(preg_replace('#^data:image/\\w+;base64,#i', '', $image)); Image::make($image)->resize(200, 200)->save('images/products/' . $product->id . '.' . $mime); $product->image = '/images/products/' . $product->id . '.' . $mime; $product->save(); } //================================./ADD IMAGE TO PROD==============================// \DB::commit(); return response()->json(['estado' => true, 'nombres' => $product->nombre]); }
public function edit(Request $request) { // var_dump($var=$request->input('detailOrderPurchases'));die(); \DB::beginTransaction(); $var = $request->input('detailOrderPurchases'); //var_dump($request->input("warehouses_id"));die(); $almacen_id = $request->input("warehouses_id"); $orderPurchase = $this->orderPurchaseRepo->find($request->id); if ($request->Estado == 0) { $manager = new OrderPurchaseManager($orderPurchase, $request->except('fechaPedido', 'fechaPrevista')); $manager->save(); } else { $manager = new OrderPurchaseManager($orderPurchase, $request->except('fechaPedido', 'fechaPrevista', 'montoBruto', 'montoTotal', 'descuento')); $manager->save(); } if ($this->orderPurchaseRepo->validateDate(substr($request->input('fechaPedido'), 0, 10)) and $this->orderPurchaseRepo->validateDate(substr($request->input('fechaPrevista'), 0, 10))) { $orderPurchase->fechaPedido = substr($request->input('fechaPedido'), 0, 10); $orderPurchase->fechaPrevista = substr($request->input('fechaPrevista'), 0, 10); } else { $orderPurchase->fechaPedido = null; $orderPurchase->fechaPrevista = null; } $orderPurchase->save(); // $verSiExiste=$this->detailOrderPurchaseRepo->Comprobar($request->id); //$n=0; //->except($request->detailOrderPurchases["id"]); //$orderPurchase = $this->orderPurchaseRepo->find($request->input('id')); //==================================Actualizando Detallles========================== //if(!empty($verSiExiste[0])){ //var_dump("no deve entrar");die(); // $orderPurchase->detPres()->detach(); /*foreach($var as $object1){ //$hola=$var[$n]; if(!empty($object1["cantidad1"])){ //var_dump("holay".$object1["cantidad1"]);die(); //$object1["cantidad"]=$object1["Cantidad_Ll"]; //$object1["pendiente"]=$object1["pendiente"]; $object1["montoBruto"]=floatval($object1["cantidad"])*floatval($object1["preProducto"]); $object1["montoTotal"]=floatval($object1["montoBruto"])-((floatval($object1["montoBruto"])*floatval($object1["descuento"]))/100); }else{ //var_dump("dos".$object1["cantidad1"]);die(); if($object1["Cantidad_Ll"]=='0' && $object1["montoBruto"]=='0'){ $object1["Cantidad_Ll"]=0; $object1["pendiente"]=$object1["cantidad"]; $object1["montoBruto"]=floatval($object1["cantidad"])*floatval($object1["preProducto"]); $object1["montoTotal"]=floatval($object1["montoBruto"])-((floatval($object1["montoBruto"])*floatval($object1["descuento"]))/100); }else{ if($object1["Cantidad_Ll"]>0){ $object1["montoBruto"]=floatval($object1["cantidad"])*floatval($object1["preProducto"]); $object1["montoTotal"]=floatval($object1["montoBruto"])-((floatval($object1["montoBruto"])*floatval($object1["descuento"]))/100); }else{ $object1["Cantidad_Ll"]=$object1["cantidad"]; $object1["pendiente"]=0; $object1["montoBruto"]=floatval($object1["cantidad"])*floatval($object1["preProducto"]); $object1["montoTotal"]=floatval($object1["montoBruto"])-((floatval($object1["montoBruto"])*floatval($object1["descuento"]))/100); } } } ////if($hola->cantidad1!=null){ //// $object1["Cantidad_Ll"]=$hola->Cantidad_Ll; //// $object1["pendiente"]=$hola->pendiente; //// ////}else{ //// $object1["Cantidad_Ll"]=$object1["cantidad"]; //// $object1["pendiente"]=0; ////} //var_dump($hola['Cantidad_Ll']);die(); $detailOrderPurchaseRepox = new DetailOrderPurchaseRepo; $insertar=new DetailOrderPurchaseManager($detailOrderPurchaseRepox->getModel(),$object1); $insertar->save(); $detailOrderPurchaseRepox = null; //$n++; $stockmodel = new StockRepo; $object['warehouse_id']=$almacen_id; $object["variant_id"]=$object["Codigovar"]; $stockac=$stockmodel->encontrar($object["variant_id"],$almacen_id); var_dump($stockac->porLlegar);die(); if(!empty($stockac)){ // if($object["esbase"]==0){ // $object["porLlegar"]=$stockac->stockActual+($object["cantidad_llegado"]*$object["equivalencia"]); // }else{ $object["porLlegar"]=$stockac->porLlegar+$object["cantidad"]; //} $manager = new StockManager($stockac,$object); $manager->save(); $stock=null; }else{ //if($tipo!=$tipo2){ // if($object["esbase"]==0) // { // $object["stockActual"]=$object["cantidad_llegado"]*$object["equivalencia"]; //}else{ $object["porLlegar"]=$object["cantidad"]; //} $manager = new StockManager($stockmodel->getModel(),$object); $manager->save(); $stockmodel = null; } //} $stockac=null; }*/ // } //else{ foreach ($var as $object) { $object["pendiente"] = $object["cantidad"]; $detailOrderPurchaseRepox = new DetailOrderPurchaseRepo(); $insertar = new DetailOrderPurchaseManager($detailOrderPurchaseRepox->getModel(), $object); $insertar->save(); $detailOrderPurchaseRepox = null; $stockmodel = new StockRepo(); $object['warehouse_id'] = $almacen_id; $object["variant_id"] = $object["Codigovar"]; $stockac = $stockmodel->encontrar($object["variant_id"], $almacen_id); if (!empty($stockac)) { // if($object["esbase"]==0){ // $object["porLlegar"]=$stockac->stockActual+($object["cantidad_llegado"]*$object["equivalencia"]); // }else{ $object["porLlegar"] = $stockac->porLlegar + $object["cantidad"]; //} $manager = new StockManager($stockac, $object); $manager->save(); $stock = null; } else { //if($tipo!=$tipo2){ // if($object["esbase"]==0) // { // $object["stockActual"]=$object["cantidad_llegado"]*$object["equivalencia"]; //}else{ $object["porLlegar"] = $object["cantidad"]; //} $manager = new StockManager($stockmodel->getModel(), $object); $manager->save(); $stockmodel = null; } //} $stockac = null; } // } //************************************************************************************* $verDeudas = $this->pendientAccountRepo->verSaldos($request->input("supplier_id")); //var_dump($verDeudas[0]->Saldo);die(); $SaldoAfavor = $request->input('SaldoUtilizado'); $provicional = null; if ($verDeudas != null) { if ($SaldoAfavor > 0) { foreach ($verDeudas as $verDeudas) { // $verDeudas=$this->pendientAccountRepo->verSaldos($request->input("supplier_id")); /* if($provicional==null){ $payment = $this->paymentRepo->getModel(); $request->merge(['montoTotal'=>$montotot]); $request->merge(['Acuenta'=>$verDeudas->Saldo]); $request->merge(['orderPurchase_id'=>$request->input('id')]); $salc=$request->input('montoTotal')-$request->input('Acuenta'); $request->merge(['Saldo'=>$salc]); $manager = new PaymentManager($payment,$request->all()); $manager->save(); $provicional=$payment->id; }*/ if ($verDeudas->Saldo > 0 && $SaldoAfavor <= $verDeudas->Saldo) { $var = $request->detPayments; if ($provicional == null) { $payment = $this->paymentRepo->getModel(); // $request->merge(['montoTotal'=>$montotot]); $request->merge(['Acuenta' => $SaldoAfavor]); $request->merge(['orderPurchase_id' => $request->input('id')]); $salc = floatval($request->input('montoTotal')) - floatval($request->input('Acuenta')); //var_dump($request->input('montoTotal'));die(); $request->merge(['Saldo' => $salc]); $manager = new PaymentManager($payment, $request->all()); $manager->save(); $provicional = $payment->id; } else { $saldos = $this->paymentRepo->find($provicional); // $request->merge(['montoTotal'=>$montotot]); $request->merge(['Acuenta' => $saldos->Acuenta + $SaldoAfavor]); $request->merge(['orderPurchase_id' => $request->input('id')]); $salc = floatval($request->input('montoTotal')) - floatval($request->input('Acuenta')); //var_dump($request->input('montoTotal'));die(); $request->merge(['Saldo' => $salc]); $payment = new PaymentManager($saldos, $request->all()); $payment->save(); } // var_dump($var);die(); $detPayment = $this->detPaymentRepo->getModel(); $pendientAccountRepo = $this->pendientAccountRepo->getModel(); $request->merge(['tipoPago' => 'A']); $request->merge(['payment_id' => $provicional]); $request->merge(['montoPagado' => $SaldoAfavor]); $request->merge(['methodPayment_id' => 4]); $request->merge(['Saldo_F' => $verDeudas->id]); $insertDetP = new DetPaymentManager($detPayment, $request->all()); $insertDetP->save(); $request->merge(['Saldo' => $verDeudas->Saldo - $SaldoAfavor]); $request->merge(['orderPurchase_id' => $verDeudas->orderPurchase_id]); $request->merge(['supplier_id' => $verDeudas->supplier_id]); $updateSaldoF = new pendientAccountManager($verDeudas, $request->all()); $updateSaldoF->save(); break; //$SaldoAfavor=$verDeudas->Saldo-$request->input('SaldoUtilizado'); } else { if ($verDeudas->Saldo > 0) { $var = $request->detPayments; // var_dump($var);die(); $SaldoAfavor = $SaldoAfavor - $verDeudas->Saldo; if (!empty($provicional)) { $payment = $this->paymentRepo->getModel(); //$request->merge(['montoTotal'=>$montotot]); $request->merge(['Acuenta' => $SaldoAfavor]); $request->merge(['orderPurchase_id' => $request->input('id')]); $salc = floatval($request->input('montoTotal')) - $request->input('Acuenta'); //var_dump($request->input('montoTotal'));die(); $request->merge(['Saldo' => $salc]); $manager = new PaymentManager($payment, $request->all()); $manager->save(); $provicional = $payment->id; } else { $saldos = $this->paymentRepo->fine($provicional); // $request->merge(['montoTotal'=>$montotot]); $request->merge(['Acuenta' => $saldos->Acuenta + $SaldoAfavor]); $request->merge(['orderPurchase_id' => $request->input('id')]); $salc = floatval($request->input('montoTotal')) - $request->input('Acuenta'); //var_dump($request->input('montoTotal'));die(); $request->merge(['Saldo' => $salc]); $payment = new PaymentManager($saldos, $request->all()); $payment->save(); } $detPayment = $this->detPaymentRepo->getModel(); $pendientAccountRepo = $this->pendientAccountRepo->getModel(); $request->merge(['tipoPago' => 'A']); $request->merge(['payment_id' => $provicional]); $request->merge(['montoPagado' => $verDeudas->Saldo]); $request->merge(['methodPayment_id' => 4]); $request->merge(['Saldo_F' => $verDeudas->id]); $insertDetP = new DetPaymentManager($detPayment, $request->all()); $insertDetP->save(); $request->merge(['Saldo' => 0]); $request->merge(['orderPurchase_id' => $verDeudas->orderPurchase_id]); $request->merge(['supplier_id' => $verDeudas->supplier_id]); $updateSaldoF = new pendientAccountManager($verDeudas, $request->all()); $updateSaldoF->save(); } //fin else } //fin segundo if } //fin for } //fin primer if } //fin if primeross //************************************************************************************** if ($orderPurchase->Estado === 2) { $payment1 = $this->paymentRepo->paymentById($request->input('id')); $pendientAccount = $this->pendientAccountRepo->getModel(); //$pendientAcc=$this->pendientAccountRepo->verSaldos($payment1->id); if ($payment1 != null) { $detPayment = $this->detPaymentRepo->verPagosAdelantados($payment1->id); if ($detPayment != null) { foreach ($detPayment as $detPayment) { $SaldosTemporales = $this->pendientAccountRepo->find2($detPayment['Saldo_F']); if ($SaldosTemporales != null) { $request->merge(['Saldo' => $SaldosTemporales->Saldo + $detPayment['montoPagado']]); $request->merge(['orderPurchase_id' => $SaldosTemporales->orderPurchase_id]); $request->merge(['supplier_id' => $SaldosTemporales->supplier_id]); $insercount = new PendientAccountManager($SaldosTemporales, $request->all()); $insercount->save(); } else { $request->merge(['orderPurchase_id' => $request->input('id')]); $request->merge(['Saldo' => $payment1->Acuenta]); $insercount = new PendientAccountManager($pendientAccount, $request->all()); $insercount->save(); } } } else { $request->merge(['orderPurchase_id' => $request->input('id')]); $request->merge(['Saldo' => $payment1->Acuenta]); $insercount = new PendientAccountManager($pendientAccount, $request->all()); $insercount->save(); $provicional = $request->idpayment; } } } \DB::commit(); return response()->json(['estado' => true, 'nombres' => $orderPurchase->nombres]); }