示例#1
0
 public static function updateStock($data, $positive = 'available', $negative = 'deleted')
 {
     //print_r($data);
     $outlets = $data['outlets'];
     $outletNames = $data['outletNames'];
     $addQty = $data['addQty'];
     $adjustQty = $data['adjustQty'];
     unset($data['outlets']);
     unset($data['outletNames']);
     unset($data['addQty']);
     unset($data['adjustQty']);
     $productDetail = Product::find($data['id'])->toArray();
     // year and month used fro batchnumber
     $year = date('Y', time());
     $month = date('m', time());
     for ($i = 0; $i < count($outlets); $i++) {
         $su = array('outletId' => $outlets[$i], 'outletName' => $outletNames[$i], 'productId' => $data['id'], 'SKU' => $data['SKU'], 'productDetail' => $productDetail, 'status' => $positive, 'createdDate' => new MongoDate(), 'lastUpdate' => new MongoDate());
         if ($addQty[$i] > 0) {
             for ($a = 0; $a < $addQty[$i]; $a++) {
                 $su['_id'] = str_random(8);
                 $batchnumber = Prefs::GetBatchId($data['SKU'], $year, $month);
                 $su['_id'] = $data['SKU'] . '|' . $batchnumber;
                 $history = array('datetime' => new MongoDate(), 'action' => 'init', 'price' => $productDetail['priceRegular'], 'status' => $su['status'], 'outletName' => $su['outletName']);
                 $su['history'] = array($history);
                 Stockunit::insert($su);
             }
         }
         if ($adjustQty[$i] > 0) {
             $td = Stockunit::where('outletId', $outlets[$i])->where('productId', $data['id'])->where('SKU', $data['SKU'])->where('status', 'available')->orderBy('createdDate', 'asc')->take($adjustQty[$i])->get();
             foreach ($td as $d) {
                 $d->status = $negative;
                 $d->lastUpdate = new MongoDate();
                 $d->save();
                 $history = array('datetime' => new MongoDate(), 'action' => 'delete', 'price' => $d->priceRegular, 'status' => $d->status, 'outletName' => $d->outletName);
                 $d->push('history', $history);
             }
         }
     }
 }
 public function updateStock($data)
 {
     //print_r($data);
     $outlets = $data['outlets'];
     $outletNames = $data['outletNames'];
     $addQty = $data['addQty'];
     $adjustQty = $data['adjustQty'];
     unset($data['outlets']);
     unset($data['outletNames']);
     unset($data['addQty']);
     unset($data['adjustQty']);
     for ($i = 0; $i < count($outlets); $i++) {
         $su = array('outletId' => $outlets[$i], 'outletName' => $outletNames[$i], 'productId' => $data['id'], 'SKU' => $data['SKU'], 'productDetail' => $data, 'status' => 'available', 'createdDate' => new MongoDate(), 'lastUpdate' => new MongoDate());
         if ($addQty[$i] > 0) {
             for ($a = 0; $a < $addQty[$i]; $a++) {
                 $su['_id'] = str_random(40);
                 Stockunit::insert($su);
             }
         }
         if ($adjustQty[$i] > 0) {
             $td = Stockunit::where('outletId', $outlets[$i])->where('productId', $data['id'])->where('SKU', $data['SKU'])->where('status', 'available')->orderBy('createdDate', 'asc')->take($adjustQty[$i])->get();
             foreach ($td as $d) {
                 $d->status = 'deleted';
                 $d->lastUpdate = new MongoDate();
                 $d->save();
             }
         }
     }
 }
示例#3
0
 public function postAssignoutlet()
 {
     $in = Input::get();
     $category = $in['outlet'];
     $cats = Prefs::getOutlet()->OutletToSelection('name', '_id', false);
     //print_r($cats);
     $product_ids = $in['product_ids'];
     foreach ($product_ids as $p) {
         $prop = Stockunit::find($p);
         $prop->outletId = $cats[$category];
         $prop->outletName = $category;
         $prop->save();
     }
     return Response::json(array('result' => 'OK'));
 }