model('shop');
return $shopModel->getList('shop_id as type_id,name');
}
/*
* 获取仓库列表
*/
public function branch_list(){
$branchModel = app::get('ome')->model('branch');
return $branchModel->getList('branch_id as type_id,name',array('attr'=>'true'));
}
/*
* 获取报表搜索区域的日期时间按钮值
*/
static function timeBtn(){
$timeBtn = array(
'today' => date("Y-m-d"),
'yesterday' => date("Y-m-d", time()-86400),
'this_month_from' => date("Y-m-" . 01),
'this_month_to' => date("Y-m-d"),
'this_week_from' => date("Y-m-d", time()-(date('w')?date('w')-1:6)*86400),
'this_week_to' => date("Y-m-d"),
'sevenday_from' => date("Y-m-d", time()-6*86400),
'sevenday_to' => date("Y-m-d"),
);
return $timeBtn;
}
/*
* 高级搜索查询条件过滤
* @param $operator 搜索条件:大于、小于、等于
* @param $field_name 搜索字段名
* @param $field_value 搜索字段值
* @return 返回查询条件
*/
static public function search_filter($operator,$field_name,$field_value){
$where = '';
switch($operator){
case 'than':#大于
$where = ' and '.$field_name.' > '.$field_value;
break;
case 'lthan':#小于
$where = ' and '.$field_name.' < '.$field_value;
break;
case 'nequal':#等于
$where = ' and '.$field_name.' = '.$field_value;
break;
case 'sthan':#小于等于
$where = ' and '.$field_name.' <= '.$field_value;
break;
case 'bthan':#大于等于
$where = ' and '.$field_name.' >= '.$field_value;
break;
case 'between':#介于
$where = ' and '.$field_name.' >= '.$field_value.' and '.$field_name.' >= '.$field_value;
break;
}
return $where;
}
/**
* 保存筛选器的信息,用于做导出条件
*
* @return void
* @author
**/
public function save_search_filter($params = array()){
$html = '';
foreach($params as $k=>$v){
if(!in_array($k,array('_DTYPE_TIME','_finder','_DTYPE_DATE','time_to','time_from','goods_type_id','brand_id','branch_id','shop_id','order_status'))){
if(is_array($params[$k])){
$this->_deal_multiarray($params[$k],$ret,$k);
foreach($ret as $kk=>$vv){
$html .= "";
}
}else{
$html .= "";
}
}
}
if (kernel::single('base_component_request')->is_ajax() == true) {
echo '
';
}
}
private function _deal_multiarray($data,&$ret,$path=null){
foreach($data as $k=>$v){
$d = $path?$path.'['.$k.']':$k;
if(is_array($v)){
$this->_deal_multiarray($v,$ret,$d);
}else{
$ret[$d]=$v;
}
}
}
/**
* 对二维数组进行排序
*
* sysSortArray($Array,"Key1","SORT_ASC","SORT_RETULAR","Key2"……)
* @param array $ArrayData 需要排序的数组.
* @param string $KeyName1 排序字段.
* @param string $SortOrder1 顺序("SORT_ASC"|"SORT_DESC")
* @param string $SortType1 排序类型("SORT_REGULAR"|"SORT_NUMERIC"|"SORT_STRING")
* @return array 排序后的数组.
*/
function sysSortArray($ArrayData,$KeyName1,$SortOrder1 = "SORT_ASC",$SortType1 = "SORT_REGULAR")
{
if(!is_array($ArrayData))
{
return $ArrayData;
}
// Get args number.
$ArgCount = func_num_args();
// Get keys to sort by and put them to SortRule array.
for($I = 1;$I < $ArgCount;$I ++)
{
$Arg = func_get_arg($I);
if(!preg_match("/SORT/i",$Arg))
{
$KeyNameList[] = $Arg;
$SortRule[] = '$'.$Arg;
}
else
{
$SortRule[] = $Arg;
}
}
// Get the values according to the keys and put them to array.
foreach($ArrayData AS $Key => $Info)
{
foreach($KeyNameList AS $KeyName)
{
${$KeyName}[$Key] = $Info[$KeyName];
}
}
// Create the eval string and eval it.
$EvalString = 'array_multisort('.join(",",$SortRule).',$ArrayData);';
eval ($EvalString);
return $ArrayData;
}
}