Ejemplo n.º 1
0
 /**
  * Creates a new Stock model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Stock();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->idproducto]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
Ejemplo n.º 2
0
 /**
  * @param Request $request
  * @return \Illuminate\Http\JsonResponse
  */
 public function addStock(Request $request)
 {
     $product_id = $request->input('product_id');
     $quality = $request->input('quality');
     $quantity = $request->input('quantity');
     $price = $request->input('price');
     $stock = new Stock();
     $stock->product_id = $product_id;
     $stock->quality = $quality;
     $stock->quantity = $quantity;
     $stock->price = $price;
     if ($stock->save()) {
         $product = Product::where('id', '=', $product_id)->get();
         if ($product->count()) {
             $type = $product->first()->type;
             $name = $product->first()->name;
         }
         return response()->json(['added' => true, 'type' => $type, 'name' => $name, 'id' => $stock->id]);
     } else {
         return response()->json(['added' => false]);
     }
 }
Ejemplo n.º 3
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(StockRequest $request)
 {
     $stock = new Stock();
     $stock->item_id = $request->item_id;
     $stock->lot = $request->lot;
     $stock->batch_no = $request->batch_no;
     $stock->expiry_date = $request->expiry_date;
     $stock->manufacturer = $request->manufacturer;
     $stock->supplier_id = $request->supplier_id;
     $stock->quantity_supplied = $request->quantity_supplied;
     $stock->cost_per_unit = $request->cost_per_unit;
     $stock->date_of_reception = $request->date_of_reception;
     $stock->remarks = $request->remarks;
     $stock->user_id = Auth::user()->id;
     try {
         $stock->save();
         $url = session('SOURCE_URL');
         return redirect()->to($url)->with('message', trans('messages.record-successfully-saved'))->with('activestock', $stock->id);
     } catch (QueryException $e) {
         Log::error($e);
     }
 }
Ejemplo n.º 4
0
 /**
  * Creates a new Productos model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Productos();
     $fotos = new UploadForm();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         $request = Yii::$app->request;
         $fotos->imageFiles = UploadedFile::getInstances($fotos, 'imageFiles');
         if ($fotos->upload($model->id)) {
             // file is uploaded successfully
         }
         if ($model->tipo == 0) {
             return $this->redirect(['view', 'id' => $model->id]);
         } else {
             if ($model->tipo == 1) {
                 $porTiempo = new Temporales();
                 $porTiempo->fecha = $request->post('fecha');
                 $porTiempo->idproducto = $model->id;
                 $porTiempo->save();
                 return $this->redirect(['view', 'id' => $model->id]);
             } else {
                 $stock = new Stock();
                 $cantidad = $request->post('cant');
                 $stock->stock = $cantidad;
                 $stock->idproducto = $model->id;
                 $stock->save();
                 return $this->redirect(['view', 'id' => $model->id]);
             }
         }
     } else {
         $img_model = new UploadForm();
         $searchModel = new CategoriasSearch();
         $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
         return $this->render('create', ['model' => $model, 'categorias' => $dataProvider, 'img_model' => $img_model]);
     }
 }
Ejemplo n.º 5
0
 public function store(ProductionRegisterRequest $request)
 {
     try {
         DB::transaction(function () use($request) {
             $currentYear = CommonHelper::get_current_financial_year();
             $workspace_id = Auth::user()->workspace_id;
             $count = sizeof($request->input('product_id'));
             $productInput = $request->input('product_id');
             $productionInput = $request->input('production');
             for ($i = 0; $i < $count; $i++) {
                 $today = ProductionRegister::where(['date' => strtotime($request->input('date')), 'product_id' => $productInput[$i]])->first();
                 if ($today) {
                     $today->production += $productionInput[$i];
                     $today->updated_by = Auth::user()->id;
                     $today->updated_by = time();
                     $today->update();
                 } else {
                     $productionRegister = new ProductionRegister();
                     $productionRegister->date = $request->input('date');
                     $productionRegister->year = $currentYear;
                     $productionRegister->product_id = $productInput[$i];
                     $productionRegister->production = $productionInput[$i];
                     $productionRegister->created_by = Auth::user()->id;
                     $productionRegister->created_at = time();
                     $productionRegister->save();
                 }
                 $existingStock = DB::table('stocks')->where(['stock_type' => Config::get('common.balance_type_intermediate'), 'year' => $currentYear, 'workspace_id' => 1, 'product_id' => $productInput[$i]])->first();
                 $product_length = DB::table('products')->where('id', $productInput[$i])->value('length');
                 if ($existingStock) {
                     $stock = Stock::findOrFail($existingStock->id);
                     $stock->quantity = $productionInput[$i] * $product_length + $existingStock->quantity;
                     $stock->updated_by = Auth::user()->id;
                     $stock->updated_at = time();
                     $stock->update();
                 } else {
                     // Opening Stock Entry
                     $stock = new Stock();
                     $stock->year = $currentYear;
                     $stock->stock_type = Config::get('common.balance_type_opening');
                     $stock->workspace_id = $workspace_id;
                     $stock->product_id = $productInput[$i];
                     $stock->quantity = $productionInput[$i] * $product_length;
                     $stock->created_by = Auth::user()->id;
                     $stock->created_at = time();
                     $stock->save();
                     // Intermediate Stock Entry
                     $stock = new Stock();
                     $stock->year = $currentYear;
                     $stock->stock_type = Config::get('common.balance_type_intermediate');
                     $stock->workspace_id = $workspace_id;
                     $stock->product_id = $productInput[$i];
                     $stock->quantity = $productionInput[$i] * $product_length;
                     $stock->created_by = Auth::user()->id;
                     $stock->created_at = time();
                     $stock->save();
                 }
             }
         });
     } catch (\Exception $e) {
         Session()->flash('error_message', 'Production Register not done!');
         return redirect('productionRegisters');
     }
     Session()->flash('flash_message', 'Production Registered Successfully!');
     return redirect('productionRegisters');
 }
Ejemplo n.º 6
0
 public function store(Request $request)
 {
     $workspace_id = Auth::user()->workspace_id;
     $closedWorkspace = AccountClosing::where(['year' => CommonHelper::get_current_financial_year(), 'type' => 1, 'workspace_id' => $workspace_id])->lists('workspace_id');
     if (sizeof($closedWorkspace) == 0) {
         try {
             DB::transaction(function () use($request) {
                 $workspace_id = Auth::user()->workspace_id;
                 $levelZeros = ChartOfAccount::where(['parent' => 0, 'status' => 1])->select('id', 'name', 'code')->get();
                 foreach ($levelZeros as $levelZero) {
                     $workspaceData = WorkspaceLedger::where(['workspace_id' => $workspace_id, 'account_code' => $levelZero->code, 'balance_type' => Config::get('common.balance_type_intermediate'), 'year' => CommonHelper::get_current_financial_year()])->first();
                     $balance = isset($workspaceData->balance) ? $workspaceData->balance : 0;
                     $a[] = [$levelZero->id, $levelZero->code, '', $balance];
                 }
                 for ($ci = 0; isset($a[$ci][0]); $ci++) {
                     $nextLevels = ChartOfAccount::where(['parent' => $a[$ci][0], 'status' => 1])->get(['code', 'id']);
                     foreach ($nextLevels as $nextLevel) {
                         $NextLevelWorkspaceData = WorkspaceLedger::where(['workspace_id' => $workspace_id, 'account_code' => $nextLevel->code, 'balance_type' => Config::get('common.balance_type_intermediate'), 'year' => CommonHelper::get_current_financial_year()])->first();
                         $nextLevelBalance = isset($NextLevelWorkspaceData->balance) ? $NextLevelWorkspaceData->balance : 0;
                         $a[] = [$nextLevel->id, $nextLevel->code, $ci, $nextLevelBalance];
                     }
                 }
                 $ci = sizeof($a) - 1;
                 for (; $ci >= 0; $ci--) {
                     if (isset($a[$a[$ci][2]][3])) {
                         $contra = ChartOfAccount::where(['contra_status' => 1, 'id' => $a[$ci][0]])->first();
                         if ($contra) {
                             $a[$a[$ci][2]][3] -= $a[$ci][3];
                         } else {
                             $a[$a[$ci][2]][3] += $a[$ci][3];
                         }
                     }
                     // Closing Balance
                     $workspaceLedger = new WorkspaceLedger();
                     $workspaceLedger->workspace_id = $workspace_id;
                     $workspaceLedger->year = CommonHelper::get_current_financial_year();
                     $workspaceLedger->account_code = $a[$ci][1];
                     $workspaceLedger->balance_type = Config::get('common.balance_type_closing');
                     $workspaceLedger->balance = $a[$ci][3];
                     $workspaceLedger->created_by = Auth::user()->id;
                     $workspaceLedger->created_at = time();
                     $workspaceLedger->save();
                     if (substr($a[$ci][1], 0, 1) == 1 || substr($a[$ci][1], 0, 1) == 4 || substr($a[$ci][1], 0, 1) == 6) {
                         // Initial Balance Next Year
                         $workspaceLedger = new WorkspaceLedger();
                         $workspaceLedger->workspace_id = $workspace_id;
                         $workspaceLedger->year = CommonHelper::get_next_financial_year();
                         $workspaceLedger->account_code = $a[$ci][1];
                         $workspaceLedger->balance_type = Config::get('common.balance_type_opening');
                         $workspaceLedger->balance = $a[$ci][3];
                         $workspaceLedger->created_by = Auth::user()->id;
                         $workspaceLedger->created_at = time();
                         $workspaceLedger->save();
                         // Intermediate Balance Next Year
                         $workspaceLedger = new WorkspaceLedger();
                         $workspaceLedger->workspace_id = $workspace_id;
                         $workspaceLedger->year = CommonHelper::get_next_financial_year();
                         $workspaceLedger->account_code = $a[$ci][1];
                         $workspaceLedger->balance_type = Config::get('common.balance_type_intermediate');
                         $workspaceLedger->balance = $a[$ci][3];
                         $workspaceLedger->created_by = Auth::user()->id;
                         $workspaceLedger->created_at = time();
                         $workspaceLedger->save();
                     } else {
                         // Initial Balance Next Year
                         $workspaceLedger = new WorkspaceLedger();
                         $workspaceLedger->workspace_id = $workspace_id;
                         $workspaceLedger->year = CommonHelper::get_next_financial_year();
                         $workspaceLedger->account_code = $a[$ci][1];
                         $workspaceLedger->balance_type = Config::get('common.balance_type_opening');
                         $workspaceLedger->balance = 0;
                         $workspaceLedger->created_by = Auth::user()->id;
                         $workspaceLedger->created_at = time();
                         $workspaceLedger->save();
                         // Intermediate Balance Next Year
                         $workspaceLedger = new WorkspaceLedger();
                         $workspaceLedger->workspace_id = $workspace_id;
                         $workspaceLedger->year = CommonHelper::get_next_financial_year();
                         $workspaceLedger->account_code = $a[$ci][1];
                         $workspaceLedger->balance_type = Config::get('common.balance_type_intermediate');
                         $workspaceLedger->balance = 0;
                         $workspaceLedger->created_by = Auth::user()->id;
                         $workspaceLedger->created_at = time();
                         $workspaceLedger->save();
                     }
                 }
                 // Workspace Account Close Info
                 $accountClosing = new AccountClosing();
                 $accountClosing->workspace_id = $workspace_id;
                 $accountClosing->year = CommonHelper::get_current_financial_year();
                 $accountClosing->save();
                 // Workspace Stock Closing
                 $existingStocks = Stock::where(['stock_type' => Config::get('common.balance_type_intermediate'), 'workspace_id' => $workspace_id, 'year' => CommonHelper::get_current_financial_year()])->get();
                 if (sizeof($existingStocks) > 0) {
                     foreach ($existingStocks as $existingStock) {
                         // Current Year Closing Balance
                         $stock = new Stock();
                         $stock->year = CommonHelper::get_current_financial_year();
                         $stock->stock_type = Config::get('common.balance_type_closing');
                         $stock->workspace_id = $workspace_id;
                         $stock->product_id = $existingStock->product_id;
                         $stock->quantity = $existingStock->quantity;
                         $stock->created_by = Auth::user()->id;
                         $stock->created_at = time();
                         $stock->save();
                         // Next Year Opening Balance
                         $stock = new Stock();
                         $stock->year = CommonHelper::get_next_financial_year();
                         $stock->stock_type = Config::get('common.balance_type_opening');
                         $stock->workspace_id = $workspace_id;
                         $stock->product_id = $existingStock->product_id;
                         $stock->quantity = $existingStock->quantity;
                         $stock->created_by = Auth::user()->id;
                         $stock->created_at = time();
                         $stock->save();
                         // Next Year Intermediate Balance
                         $stock = new Stock();
                         $stock->year = CommonHelper::get_next_financial_year();
                         $stock->stock_type = Config::get('common.balance_type_intermediate');
                         $stock->workspace_id = $workspace_id;
                         $stock->product_id = $existingStock->product_id;
                         $stock->quantity = $existingStock->quantity;
                         $stock->created_by = Auth::user()->id;
                         $stock->created_at = time();
                         $stock->save();
                     }
                 }
             });
         } catch (\Exception $e) {
             Session()->flash('error_message', 'Workspace Account Closing Not Done!');
             return redirect('workspace_closing');
         }
         Session()->flash('flash_message', 'Workspace Account Closed Successfully!');
         return redirect('workspace_closing');
     } else {
         Session()->flash('warning_message', 'Workspace Account Closed Already For This Year!');
         return redirect('workspace_closing');
     }
 }