/** * Run the database seeds. * * @return void */ public function run() { // Model::unguard(); DB::statement('SET FOREIGN_KEY_CHECKS=0;'); $folderpath = base_path() . '/database/seeds/templates/'; $folders = File::directories($folderpath); $latest = '11232015'; foreach ($folders as $value) { $_dir = explode("/", str_replace('\\', '/', $value)); $cnt = count($_dir); $name = $_dir[$cnt - 1]; $latest_date = DateTime::createFromFormat('mdY', $latest); $now = DateTime::createFromFormat('mdY', $name); if ($now > $latest_date) { $latest = $name; } } $filePath = $folderpath . $latest . '/Masterfile.xlsx'; $reader = ReaderFactory::create(Type::XLSX); // for XLSX files $reader->open($filePath); DB::table('channel_items')->truncate(); foreach ($reader->getSheetIterator() as $sheet) { if ($sheet->getName() == 'MKL Mapping') { $cnt = 0; foreach ($sheet->getRowIterator() as $row) { if ($row[0] != '') { if ($cnt > 0) { // dd($row); if (!ctype_digit(trim($row[4])) || !ctype_digit(trim($row[5])) || !ctype_digit(trim($row[6]))) { InvalidMapping::create(['premise_code' => trim($row[0]), 'customer_code' => trim($row[1]), 'store_code' => trim($row[2]), 'sku_code' => trim($row[3]), 'ig' => trim($row[4]), 'multiplier' => trim($row[5]), 'minstock' => trim($row[6]), 'type' => 'MKL Mapping', 'remarks' => 'Invalid mapping']); } else { $channel = ''; if (trim($row[0]) != '') { $channel = Channel::where('channel_code', trim($row[0]))->first(); } $item = Item::where('sku_code', trim($row[3]))->first(); if (!empty($item)) { $item_type = ItemType::where('type', "MKL")->first(); $osa_tagging = 0; if (isset($row[7])) { $osa_tagging = trim($row[7]); } $npi_tagging = 0; if (isset($row[8])) { $npi_tagging = trim($row[8]); } ChannelItem::firstOrCreate(['channel_id' => $channel->id, 'item_id' => $item->id, 'item_type_id' => $item_type->id, 'ig' => trim($row[4]), 'fso_multiplier' => trim($row[5]), 'min_stock' => trim($row[6]), 'osa_tagged' => $osa_tagging, 'npi_tagged' => $npi_tagging]); } } } $cnt++; } } } } $reader->close(); }
public function run() { Model::unguard(); DB::statement('SET FOREIGN_KEY_CHECKS=0;'); $folderpath = base_path() . '/database/seeds/seed_files/'; $folders = File::directories($folderpath); $latest = '11232015'; foreach ($folders as $value) { $_dir = explode("/", str_replace('\\', '/', $value)); $cnt = count($_dir); $name = $_dir[$cnt - 1]; $latest_date = DateTime::createFromFormat('mdY', $latest); $now = DateTime::createFromFormat('mdY', $name); if ($now > $latest_date) { $latest = $name; } } $filePath = $folderpath . $latest . '/Masterfile.xlsx'; $reader = ReaderFactory::create(Type::XLSX); // for XLSX files $reader->open($filePath); // DB::table('store_items'); foreach ($reader->getSheetIterator() as $sheet) { if ($sheet->getName() == 'Assortment Mapping') { $cnt = 0; foreach ($sheet->getRowIterator() as $row) { if ($row[0] != '') { if ($cnt > 0) { if (!ctype_digit(trim($row[4]))) { InvalidMapping::create(['premise_code' => trim($row[0]), 'customer_code' => trim($row[1]), 'store_code' => trim($row[2]), 'sku_code' => trim($row[3]), 'ig' => trim($row[4]), 'multiplier' => trim($row[5]), 'minstock' => trim($row[6]), 'type' => 'Assortment Mapping', 'remarks' => 'Invalid mapping']); } else { $channel = ''; $customer = ''; $store = ''; if (trim($row[0]) != '') { $channel = Channel::where('channel_code', trim($row[0]))->get(); } if (trim($row[1]) != '') { $customer = Customer::where('customer_code', trim($row[1]))->get(); } if (trim($row[2]) != '') { $store = Store::where('store_code', trim($row[2]))->first(); } // dd($store); $stores = Store::where(function ($query) use($channel) { if (!empty($channel)) { $channel_id = []; foreach ($channel as $value) { $channel_id[] = $value->id; } $query->whereIn('channel_id', $channel_id); } })->where(function ($query) use($customer) { if (!empty($customer)) { $customer_id = []; foreach ($customer as $value) { $customer_id[] = $value->id; } $query->whereIn('customer_id', $customer_id); } })->where(function ($query) use($store) { if (!empty($store)) { $query->where('store', $store->id); } })->get(); // dd($stores); $item = Item::where('sku_code', trim($row[3]))->first(); if (!empty($item)) { $item_type = ItemType::where('type', "ASSORTMENT")->first(); foreach ($stores as $store) { $w_mkl = StoreItem::where('store_id', $store->id)->where('item_id', $item->id)->get(); $cw_mkl = ChannelItem::where('channel_id', $store->channel_id)->where('item_id', $item->id)->get(); if (count($w_mkl) == 0) { StoreItem::firstOrCreate(['store_id' => $store->id, 'item_id' => $item->id, 'item_type_id' => $item_type->id, 'ig' => trim($row[4]), 'fso_multiplier' => trim($row[5]), 'min_stock' => trim($row[6]), 'osa_tagged' => 0, 'npi_tagged' => 0]); } if (count($cw_mkl) == 0) { ChannelItem::firstOrCreate(['channel_id' => $store->channel_id, 'item_id' => $item->id, 'item_type_id' => $item_type->id, 'ig' => trim($row[4]), 'fso_multiplier' => trim($row[5]), 'min_stock' => trim($row[6]), 'osa_tagged' => 0, 'npi_tagged' => 0]); } } } } } $cnt++; } } } } $reader->close(); $hash = UpdateHash::find(1); if (empty($hash)) { UpdateHash::create(['hash' => \Hash::make(date('Y-m-d H:i:s'))]); } else { $hash->hash = md5(date('Y-m-d H:i:s')); $hash->update(); } DB::statement('SET FOREIGN_KEY_CHECKS=1;'); Model::reguard(); }
public function save() { $item = new ItemType(); $item->attr_group = Input::get('attr_group'); $item->name = Input::get('name'); $item->save(); return redirect()->route('admin.itemtype.index'); }
public function store($id) { $itemType = ItemType::findOrFail($id); foreach (array_keys($this->fields) as $field) { $itemType->{$field} = Input::get($field); } $itemType->save(); return redirect("/admin/itemtype/index")->withSuccess("修改完成!"); }
public function select() { $category = Category::all(); $itemType = ItemType::all(); $data = []; foreach ($this->fields as $field => $default) { $data[$field] = old($field, $default); } return view("admin.item.select", ['category' => $category, 'itemType' => $itemType, 'data' => $data]); }
/** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { $itemType = ItemType::all(); $data = []; $this->fields['attr_type'] = $itemType; foreach ($this->fields as $field => $default) { $data[$field] = old($field, $default); } // $itemCat = ItemCat::all(); return view("admin.attribute.create", $data); // return view("admin.attribute.create",['attr' => $attr]); }
public function getItemTypeName() { return $this->hasOne(ItemType::className(), ['item_type_id' => 'item_type']); }
/** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { // $attr = Attribute::findOrFail($id); // var_dump($itemType);exit; $data = ['id' => $id]; foreach (array_keys($this->fields) as $field) { $data[$field] = old($field, $attr->{$field}); } $itemType = ItemType::all(); return view('admin.attribute.edit', ['data' => $data, 'itemType' => $itemType]); }
public static function getTypeName($data) { return ItemType::findOne($data); }