/** * The model method will be override in deifferent way between different import way * * @param \App\Utility\Chinghwa\Flap\POS_Member\Import\ImportHandler\Lyin\Adapter $adapter * @return PosMemberImportContent $model */ public function create($adapter) { $dataHolder = $adapter->getDataHolder(); $memberData = $this->fetchExistOrEmpty($dataHolder); list($serNo, $code, $serNoI) = NULL !== $memberData ? array_values($memberData) : NULL; $model = new PosMemberImportContent(); $model->serno = $serNo; $model->code = $code; $model->sernoi = $serNoI; $model->name = DataHolder::getByProxy($dataHolder->getName()); $model->email = DataHolder::getByProxy($dataHolder->getEmail()); $model->cellphone = DataHolder::getByProxy($dataHolder->getCellphone()); $model->hometel = DataHolder::getByProxy($dataHolder->getHometel()); $model->officetel = DataHolder::getByProxy($dataHolder->getOfficetel()); $model->birthday = DataHolder::getByProxy($dataHolder->getBirthday()); $model->homeaddress = DataHolder::getByProxy($dataHolder->getAddress()); $model->hospital = DataHolder::getByProxy($dataHolder->getHospital()); $model->state_id = $this->_getStateId($dataHolder); $model->distinction = $adapter->getOptions()[Import::OPTIONS_DISTINCTION]; $model->category = $adapter->getOptions()[Import::OPTIONS_CATEGORY]; $model->pos_member_import_task_id = $adapter->getOptions()[Import::OPTIONS_TASK]->id; $model->period_at = $this->_getPeriodAt($dataHolder); $model->sex = Import::FEMALE_SEX_TEXT; $model->flags = $model->getFlags(); $model->memo = $model->genMemo(); $model->is_exist = !empty($serNo); $model->fixStatus(); return $model; }
protected function contentUpdateProc(PosMemberImportContent $content) { $content->pushed_at = new \Carbon\Carbon(); $content->status = $content->status | 32; $content->save(); return $this; }
/** * The model method will be override in deifferent way between different import way * * @param \App\Utility\Chinghwa\Flap\POS_Member\Import\ImportHandler\Lyin\Adapter $adapter * @return PosMemberImportContent $model */ public function create($adapter) { $dataHolder = $adapter->getDataHolder(); $memberData = $this->fetchExistOrEmpty($dataHolder); $model = new PosMemberImportContent(); $model->serno = array_get($memberData, 'cust_serno'); $model->code = array_get($memberData, 'cust_id'); $model->sernoi = array_get($memberData, 'cust_sernoI'); $model->name = DataHolder::getByProxy($dataHolder->getName()); $model->email = DataHolder::getByProxy($dataHolder->getEmail()); $model->cellphone = DataHolder::getByProxy($dataHolder->getCellphone()); $model->hometel = DataHolder::getByProxy($dataHolder->getHometel()); $model->homeaddress = DataHolder::getByProxy($dataHolder->getAddress()); $model->state_id = $this->_getStateId($dataHolder); $model->distinction = $adapter->getOptions()[Import::OPTIONS_DISTINCTION]; $model->category = $adapter->getOptions()[Import::OPTIONS_CATEGORY]; $model->pos_member_import_task_id = $adapter->getOptions()[Import::OPTIONS_TASK]->id; $model->sex = '女' === $dataHolder->getSex() ? Import::FEMALE_SEX_TEXT : Import::MALE_SEX_TEXT; $model->flags = !empty($model->serno) ? $model->getActFlags() : $model->getOrgFlags(); $model->memo = array_get($memberData, 'ob_memo') . $adapter->getOptions()[Import::OPTIONS_TASK]->memo; $model->is_exist = !empty($model->serno); $model->fixStatus(); $model->status = $model->status | 208; // 預產期,醫院,生日直接算有 return $model; }
protected function getInsertProcQuery(PosMemberImportContent $content) { $sql = "exec dbo.sp_InsertHBMember "; $sql .= "{$this->getWrapVal($content->serno)}"; $sql .= ", {$this->getWrapVal($content->code)}"; $sql .= ", {$this->getWrapVal($content->sernoi)}"; $sql .= ",{$this->getWrapVal($content->name)},"; $sql .= "'" . Import::FEMALE_SEX_TEXT . "'" === $this->getWrapVal($content->sex) ? '0' : '1'; $sql .= ",{$this->getWrapVal($content->birthday)}"; $sql .= ",{$this->getWrapVal($content->hometel)}"; $sql .= ",{$this->getWrapVal($content->officetel)}"; $sql .= ",{$this->getWrapVal($content->cellphone)}"; $sql .= ",{$this->getWrapVal($content->email)}"; $sql .= ",{$this->getWrapVal($content->getZipcode())}"; $sql .= ",{$this->getWrapVal($content->getCityName())}"; $sql .= ",{$this->getWrapVal($content->getStateName())}"; $sql .= ",{$this->getWrapVal($content->homeaddress)}"; $sql .= ",{$this->getWrapVal($content->category)}"; $sql .= ",{$this->getWrapVal($content->salepoint_serno)}"; $sql .= ",{$this->getWrapVal($content->employee_serno)}"; $sql .= ",{$this->getWrapVal($content->exploit_serno)}"; $sql .= ",{$this->getWrapVal($content->exploit_emp_serno)}"; $sql .= ",{$this->getWrapVal($content->distinction)}"; $sql .= ",{$this->getWrapVal($content->member_level_ec)}"; $sql .= ",{$this->getWrapVal($content->employ_code)}"; $sql .= ",{$this->getWrapVal($content->memo)}"; return $sql; }
/** * Remove the specified resource from storage. * * @param \App\Model\Flap\PosMemberImportContent * @return \Illuminate\Http\Response */ public function destroy(PosMemberImportTask $task, PosMemberImportContent $content) { Session::flash('success', "項目 <b>{$content->name}</b> 已經移除!"); $content->delete(); $task->updateStat()->save(); return redirect("/flap/pos_member/import_task/{$task->id}"); }
/** * Register any other events for your application. * * @param \Illuminate\Contracts\Events\Dispatcher $events * @return void */ public function boot(DispatcherContract $events) { parent::boot($events); PosMemberImportContent::observe(new PosMemberImportContentObserver()); PosMemberImportTask::observe(new PosMemberImportTaskObserver()); }
public function updating(PosMemberImportContent $content) { PosMemberImportContent::unsetEventDispatcher(); $className = $content->task()->first()->kind()->first()->observer; return with(new $className())->updatingContent($content); }
protected function getRowDataFromContent(PosMemberImportContent $content) { $row = [$content->serno, $content->code, $content->pos_member_import_task->category, $content->pos_member_import_task->distinction, $content->name, $content->birthday, $content->getZipcode(), $content->getCityName(), $content->getStateName(), $content->homeaddress, $content->cellphone, $content->hometel, $content->officetel, $content->email, $content->period_at, $content->hospital, $content->memo]; return array_merge($row, array_values($this->getContentFlags($content))); }