app = $app; } /** * 存储店铺商品关系条件 * * @return void * @author **/ public function store_merchandise_filter($key,$value) { base_kvstore::instance('regulation/apply/merchandise')->store($key,$value,(time()+86400)); } /** * @description 删除店铺商品关系条件 * @access public * @param void * @return void */ public function destory_merchandise_filter($key) { base_kvstore::instance('regulation/apply/merchandise')->store($key,'',(time()-1000)); } /** * undocumented function * * @return void * @author **/ public function fetch_merchandise_filter($key) { base_kvstore::instance('regulation/apply/merchandise')->fetch($key,$data); return $data; } public function choice_callback_array($condition,$init_bn,$merchandise_filter=array()){ if (isset($merchandise_filter['advance'])) { $merchandise_filter = preg_replace('/(,)/','&',$merchandise_filter['advance']); parse_str($merchandise_filter,$merchandise_filter); $this->store_merchandise_filter($init_bn,$merchandise_filter); }else{ $this->store_merchandise_filter($init_bn,''); } $tt = ($condition=='stock') ? '货品' : '商品'; $t_url = 'index.php?app=inventorydepth&ctl=regulation_apply&act=merchandise_dialog_filter&init_bn='.$init_bn.'&condition='.$condition; $url = 'index.php?app=desktop&act=alertpages&goto='.urlencode($t_url); if ($merchandise_filter) { $rs = <<查看选中{$tt}条件 EOF; }else{ $rs = '请选择条件'; } return $rs; } /** * 选择商品/货品callback处理 * @access public * @param String $condition 规则类型:stock库存更新(针对货品) frame商品上下架(针对商品) * @param String $init_bn 规则编号 * @param Array $merchandise_id 店铺商品映射关系ID * @param Array $merchandise_filter 高级筛选 * @return 字符串信息展示 */ public function choice_callback($condition,$init_bn,$id=array(),$merchandise_filter=array()){ if($id['id']) { $filter = $this->set_filter($init_bn,$id,$merchandise_filter); }else{ $filter = $this->fetch_merchandise_filter($init_bn); } $tt = ($condition=='stock') ? '货品' : '商品'; $model = kernel::single('inventorydepth_regulation')->get_condition_model($condition); $number = $this->app->model($model)->count($filter); if ($number == 0) { $this->store_merchandise_filter($init_bn,''); } $t_url = 'index.php?app=inventorydepth&ctl=regulation_apply&act=finder_choice&init_bn='.$init_bn.'&condition='.$condition; $url = 'index.php?app=desktop&act=alertpages&goto='.urlencode($t_url); if($number) { $rs = <<查看选中{$tt} EOF; }else{ $rs = "请选择{$tt}"; } return $rs; } /** * 存储过滤条件 * @access public * @param String $init_bn 规则编号 * @param Array $merchandise_id 店铺商品映射关系ID * @param Array $merchandise_filter 高级筛选 * * @return Array $filter 返回处理过的过滤条件 */ public function set_filter($init_bn,$id=array(),$merchandise_filter=array()){ # 存储高级筛选条件 if($id['id'][0] == '_ALL_') { if($merchandise_filter['advance']) { $merchandise_filter = preg_replace('/(,)/','&',$merchandise_filter['advance']); parse_str($merchandise_filter,$merchandise_filter); } $filter = array_merge($id,$merchandise_filter); }else{ # 存储映射ID $filter = $id; } $this->store_merchandise_filter($init_bn,$filter); return $filter; } }