request->cookies; $user_id = MyLib::encrypt($cookie->get('aid'),'DECODE'); if($user_id != 0) { $this->my = UserT::findOne(['id'=>$user_id]); } else { Yii::$app->response->redirect('/common/login')->send(); exit; } } public function actionIndex() { return $this->render('index'); } public function actionIndexJson() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $type_id = $request->get('type_id'); $name = $request->get('name'); $offset = $request->get('offset',0); $limit = $request->get('limit', 10); $query = GiftT::find() ->where('is_delete=0'); if($type_id > 0) { $query = $query->andWhere('typeid='.$type_id); } if($name != '') { $query = $query->andWhere('name like "'.$name.'"'); } $query = $query->orderBy('id desc'); $total = $query->count(); $query = $query->offset($offset)->limit($limit); $items = $query->all(); $data = []; $data['total'] = $total; $data['rows'] = []; foreach($items as $item) { $row = $item->toArray(); $row['type'] = $item->getShowType(); $data['rows'][] = $row; } return $data; } public function actionEdit() { $request = Yii::$app->request; $id = $request->get('id',0); if($id > 0) { $info = GiftT::findOne(['id'=>$id]); } else { $info = new GiftT(); } return $this->render('edit',[ 'info' => $info ]); } public function actionSave() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $result = array(); $result['success'] = false; $result['msg'] = '保存失败'; if($request->isPost) { $id = $request->post('id',0); $type_id = $request->post('type_id'); $name = $request->post('name'); $img = $request->post('img'); $price = $request->post('price'); $remark = $request->post('remark'); $use_num = (int)$request->post('use_num'); if($name == '') { $result['msg'] = '请输入名称!'; return $result; } $pin_name=trim($this->getPinyin($name),' '); $row = null; if($id > 0) { $row = GiftT::findOne(['id'=>$id]); } else { $row = new GiftT(); } $row->type_id = $type_id; $row->name = $name; $row->price = $price; $row->original_img = $img; $row->remark = $remark; $row->use_num = $use_num; $row->pinyin_name = $pin_name; $row->save(); $result['success'] = true; $result['msg'] = '保存成功'; } return $result; } public function actionDelete() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $result = array(); $result['success'] = false; $result['msg'] = '删除失败'; if($request->isPost) { $id = $request->post('id',0); if($id > 0) { $row = GiftT::findOne(['id'=>$id]); $row->is_delete = 1; $row->save(); $result['success'] = true; $result['msg'] = '删除成功'; } } return $result; } public function actionCarAddSave() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $result = array(); $result['success'] = false; $result['msg'] = '添加失败'; if($request->isPost) { $car_id = $request->post('car_id'); $order_id = $request->post('order_id'); $gift_id = $request->post('gift_id'); if($gift_id == 0) { $result['msg'] = '请选择礼品'; return $result; } $gift_info = new CarGiftT(); $gift_info->car_id = $car_id; $gift_info->order_id = $order_id; $gift_info->user_id = $this->my->id; $gift_info->gift_id = $gift_id; $gift_info->submit_time = time(); $gift_info->status = 0; $gift_info->type = 2; $gift_info->save(); $order_info = $gift_info->order; $order_info->check_gift = 1; $order_info->save(); $result['success'] = true; $result['msg'] = '添加成功'; } return $result; } public function actionCarDeleteSave() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $result = array(); $result['success'] = false; $result['msg'] = '删除失败'; if($request->isPost) { $gift_id = $request->post('gift_id'); $gift_info = CarGiftT::findOne(['id'=>$gift_id]); if($gift_info->status == 0) { $order_id = $gift_info->order_id; $gift_info->delete(); $total = CarGiftT::find() ->where('order_id='.$order_id.' and (status=0 or status=2)') ->count(); if($total > 0) { $order_info = OrderT::findOne(['id'=>$order_id]); $order_info->check_gift = 1; $order_info->save(); } } else { $gift_info->status = 2; $gift_info->save(); $order_info = $gift_info->order; $order_info->check_gift = 1; $order_info->save(); } $result['success'] = true; $result['msg'] = '删除成功'; } return $result; } public function actionAjaxCarIndex() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $car_id = $request->get('car_id'); $type = $request->get('type',0); $result = array(); $result['success'] = false; $result['msg'] = '读取失败'; $query = CarGiftT::find() ->where(['car_id'=>$car_id]) // ->andWhere('type=2') ->orderBy('id ASC'); if($type == 0) $query = $query->andWhere('type=2'); $items = $query->all(); $html = $this->renderPartial('ajax-car-index',[ 'car_id' => $car_id, 'items' => $items ]); $result['success'] = true; $result['html'] = $html; return $result; } public function actionAjaxCompanyIndex() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $car_id = $request->get('car_id'); $order_id = $request->get('order_id'); $total1_clear = $request->get('total1_clear'); $type = $request->get('type',0); $result = array(); $result['success'] = false; $result['msg'] = '读取失败'; $order_info = OrderT::findOne(['id'=>$order_id]); //处理全部范围,没有最低费用限制和最高消费 $query = StrategyT::find() ->where('min_money=0 and group_id=0 and max_money=0') ->orderBy('id ASC'); // echo $query->createCommand()->rawSql."\r\n"; $items = $query->all(); if($total1_clear > 0) { //处理全部范围,没有最低,只有最高消费 $query = StrategyT::find() ->where('min_money=0 and group_id=0 and max_money>='.$total1_clear) ->orderBy('id ASC'); // echo $query->createCommand()->rawSql."\r\n"; if($query->count() > 0) $items = array_merge($items,$query->all()); //处理全部范围,有最低,没有最高消费 $query = StrategyT::find() ->where('min_money>0 and min_money<='.$total1_clear.' and group_id=0 and max_money=0') ->orderBy('id ASC'); // echo $query->createCommand()->rawSql."\r\n"; if($query->count() > 0) $items = array_merge($items,$query->all()); //处理全部范围,有最低,有最高消费 $query = StrategyT::find() ->where('min_money>0 and min_money<='.$total1_clear.' and group_id=0 and max_money>='.$total1_clear) ->orderBy('id ASC'); // echo $query->createCommand()->rawSql."\r\n"; if($query->count()) $items = array_merge($items,$query->all()); } //处理指定范围,没有最低,没有最高消费 $query = StrategyT::find() ->where('min_money=0 and group_id>0 and max_money=0') ->orderBy('id ASC'); // echo $query->createCommand()->rawSql."\r\n"; $tmp_items = $query->all(); foreach($tmp_items as $item) { $group_info = GroupT::findOne(['id'=>$item->group_id]); if($group_info->hasChild($order_info->user->group_id)) { $items[] = $item; } if($group_info->id == $order_info->user->group_id) { $items[] = $item; } } if($total1_clear > 0) { //处理指定范围,没有最低,有最高消费 $query = StrategyT::find() ->where('min_money=0 and group_id>0 and max_money>='.$total1_clear) ->orderBy('id ASC'); // echo $query->createCommand()->rawSql."\r\n"; $tmp_items = $query->all(); foreach($tmp_items as $item) { $group_info = GroupT::findOne(['id'=>$item->group_id]); if($group_info->hasChild($order_info->user->group_id)) { $items[] = $item; } if($group_info->id == $order_info->user->group_id) { $items[] = $item; } } //处理指定范围,有最低,没有最高消费 $query = StrategyT::find() ->where('min_money>0 and min_money<='.$total1_clear.' and group_id>0 and max_money=0') ->orderBy('id ASC'); // echo $query->createCommand()->rawSql."\r\n"; $tmp_items = $query->all(); foreach($tmp_items as $item) { $group_info = GroupT::findOne(['id'=>$item->group_id]); if($group_info->hasChild($order_info->user->group_id)) { $items[] = $item; } if($group_info->id == $order_info->user->group_id) { $items[] = $item; } } //处理指定范围,有最低,有最高消费 $query = StrategyT::find() ->where('min_money>0 and min_money<='.$total1_clear.' and group_id>0 and max_money>='.$total1_clear) ->orderBy('id ASC'); // echo $query->createCommand()->rawSql."\r\n"; $tmp_items = $query->all(); foreach($tmp_items as $item) { $group_info = GroupT::findOne(['id'=>$item->group_id]); if($group_info->hasChild($order_info->user->group_id)) { $items[] = $item; } if($group_info->id == $order_info->user->group_id) { $items[] = $item; } } } //获取已经得到的礼品 $tmp_query = CarGiftT::find() ->where('car_id='.$car_id.' and order_id='.$order_id.' and strategy_id>0'); // echo $tmp_query->createCommand()->rawSql."
"; $car_gift_items = $tmp_query->all(); $order_gift_items = array(); foreach($car_gift_items as $item) { $order_gift_items[] = $item->strategy_id.'-'.$item->gift_id; } $html = $this->renderPartial('ajax-company-index',[ 'car_id' => $car_id, 'order_id' => $order_id, 'items' => $items, 'order_gift_items' => $order_gift_items ]); $result['success'] = true; $result['html'] = $html; return $result; } public function actionMngList() { $request = Yii::$app->request; $car_man = $request->get('car_man'); $phone = $request->get('phone'); $car_no = $request->get('car_no'); $page = $request->get('page',1); if($page < 1) $page = 1; $query = OrderT::find() ->where('status_id>1 and check_gift=1') ->orderBy('submit_date DESC, id DESC'); if($car_man != '') { $query = $query->andWhere('car_man="'.$car_man.'"'); } if($phone != '') { $query = $query->andWhere('link_phone="'.$phone.'"'); } if($car_no != '') { $query = $query->andWhere('car_no="'.$car_no.'"'); } // echo $query->createCommand()->rawSql; $total = $query->count(); $pagination = new Pagination(['totalCount' => $total,'pageSize'=>20]); $pagination->setPage($page-1); $query = $query->offset($pagination->offset)->limit($pagination->limit); $items = $query->all(); $page_info = MyLib::getPageInfo($pagination); return $this->render('mng-list',[ 'items' => $items, 'car_man' => $car_man, 'phone' => $phone, 'car_no' => $car_no, 'page' => $page, 'page_info' => $page_info ]); } public function actionMngListInfo() { $request = Yii::$app->request; $id = $request->get('id',0); $order_info = OrderT::findOne(['id'=>$id]); $car_info = $order_info->car; //快递 $ems_items = EmsT::find() ->where(['car_id'=>$car_info->id,'order_id'=>$order_info->id]) ->orderBy('id ASC') ->all(); //礼品 $gift_items = CarGiftT::find() ->where('order_id='.$order_info->id) ->orderBy('strategy_id DESC') ->all(); $insurer_type_items = InsurerTypeT::find() ->all(); return $this->render('mng-list-info',[ 'car_info' => $car_info, 'insurer_type_items' => $insurer_type_items, 'order_info' => $order_info, 'ems_items' => $ems_items, 'gift_items' => $gift_items ]); } public function actionOkSave() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $result = array(); $result['success'] = false; $result['msg'] = '出库失败'; if($request->isPost) { $gift_ids = $request->post('gift_ids',array()); $order_id = $request->post('order_id'); foreach($gift_ids as $id) { $item = CarGiftT::findOne(['id'=>$id]); if($item->status == 0) { $item->status = 1; $item->save(); } } $total = CarGiftT::find() ->where('order_id='.$order_id.' and status=0') ->count(); if($total == 0) { $order_info = OrderT::findOne(['id'=>$order_id]); $order_info->check_gift = 0; $order_info->save(); } $result['success'] = true; $result['msg'] = '出库成功'; } return $result; } public function actionCancelSave() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $result = array(); $result['success'] = false; $result['msg'] = '退货失败'; if($request->isPost) { $gift_ids = $request->post('gift_ids',array()); $order_id = $request->post('order_id'); foreach($gift_ids as $id) { $item = CarGiftT::findOne(['id'=>$id]); if($item->status == 2) { $item->delete(); } } $total = CarGiftT::find() ->where('order_id='.$order_id.' and status=0') ->count(); if($total == 0) { $order_info = OrderT::findOne(['id'=>$order_id]); $order_info->check_gift = 0; $order_info->save(); } $result['success'] = true; $result['msg'] = '退货成功'; } return $result; } public function getPinyin($str,$pix=' ',$code = 'gb2312'){ $_DataKey = "a|ai|an|ang|ao|ba|bai|ban|bang|bao|bei|ben|beng|bi|bian|biao|bie|bin|bing|bo|bu|ca|cai|can|cang|cao|ce|ceng|cha" . "|chai|chan|chang|chao|che|chen|cheng|chi|chong|chou|chu|chuai|chuan|chuang|chui|chun|chuo|ci|cong|cou|cu|" . "cuan|cui|cun|cuo|da|dai|dan|dang|dao|de|deng|di|dian|diao|die|ding|diu|dong|dou|du|duan|dui|dun|duo|e|en|er" . "|fa|fan|fang|fei|fen|feng|fo|fou|fu|ga|gai|gan|gang|gao|ge|gei|gen|geng|gong|gou|gu|gua|guai|guan|guang|gui" . "|gun|guo|ha|hai|han|hang|hao|he|hei|hen|heng|hong|hou|hu|hua|huai|huan|huang|hui|hun|huo|ji|jia|jian|jiang" . "|jiao|jie|jin|jing|jiong|jiu|ju|juan|jue|jun|ka|kai|kan|kang|kao|ke|ken|keng|kong|kou|ku|kua|kuai|kuan|kuang" . "|kui|kun|kuo|la|lai|lan|lang|lao|le|lei|leng|li|lia|lian|liang|liao|lie|lin|ling|liu|long|lou|lu|lv|luan|lue" . "|lun|luo|ma|mai|man|mang|mao|me|mei|men|meng|mi|mian|miao|mie|min|ming|miu|mo|mou|mu|na|nai|nan|nang|nao|ne" . "|nei|nen|neng|ni|nian|niang|niao|nie|nin|ning|niu|nong|nu|nv|nuan|nue|nuo|o|ou|pa|pai|pan|pang|pao|pei|pen" . "|peng|pi|pian|piao|pie|pin|ping|po|pu|qi|qia|qian|qiang|qiao|qie|qin|qing|qiong|qiu|qu|quan|que|qun|ran|rang" . "|rao|re|ren|reng|ri|rong|rou|ru|ruan|rui|run|ruo|sa|sai|san|sang|sao|se|sen|seng|sha|shai|shan|shang|shao|" . "she|shen|sheng|shi|shou|shu|shua|shuai|shuan|shuang|shui|shun|shuo|si|song|sou|su|suan|sui|sun|suo|ta|tai|" . "tan|tang|tao|te|teng|ti|tian|tiao|tie|ting|tong|tou|tu|tuan|tui|tun|tuo|wa|wai|wan|wang|wei|wen|weng|wo|wu" . "|xi|xia|xian|xiang|xiao|xie|xin|xing|xiong|xiu|xu|xuan|xue|xun|ya|yan|yang|yao|ye|yi|yin|ying|yo|yong|you" . "|yu|yuan|yue|yun|za|zai|zan|zang|zao|ze|zei|zen|zeng|zha|zhai|zhan|zhang|zhao|zhe|zhen|zheng|zhi|zhong|" . "zhou|zhu|zhua|zhuai|zhuan|zhuang|zhui|zhun|zhuo|zi|zong|zou|zu|zuan|zui|zun|zuo"; $_DataValue = "-20319|-20317|-20304|-20295|-20292|-20283|-20265|-20257|-20242|-20230|-20051|-20036|-20032|-20026|-20002|-19990" . "|-19986|-19982|-19976|-19805|-19784|-19775|-19774|-19763|-19756|-19751|-19746|-19741|-19739|-19728|-19725" . "|-19715|-19540|-19531|-19525|-19515|-19500|-19484|-19479|-19467|-19289|-19288|-19281|-19275|-19270|-19263" . "|-19261|-19249|-19243|-19242|-19238|-19235|-19227|-19224|-19218|-19212|-19038|-19023|-19018|-19006|-19003" . "|-18996|-18977|-18961|-18952|-18783|-18774|-18773|-18763|-18756|-18741|-18735|-18731|-18722|-18710|-18697" . "|-18696|-18526|-18518|-18501|-18490|-18478|-18463|-18448|-18447|-18446|-18239|-18237|-18231|-18220|-18211" . "|-18201|-18184|-18183|-18181|-18012|-17997|-17988|-17970|-17964|-17961|-17950|-17947|-17931|-17928|-17922" . "|-17759|-17752|-17733|-17730|-17721|-17703|-17701|-17697|-17692|-17683|-17676|-17496|-17487|-17482|-17468" . "|-17454|-17433|-17427|-17417|-17202|-17185|-16983|-16970|-16942|-16915|-16733|-16708|-16706|-16689|-16664" . "|-16657|-16647|-16474|-16470|-16465|-16459|-16452|-16448|-16433|-16429|-16427|-16423|-16419|-16412|-16407" . "|-16403|-16401|-16393|-16220|-16216|-16212|-16205|-16202|-16187|-16180|-16171|-16169|-16158|-16155|-15959" . "|-15958|-15944|-15933|-15920|-15915|-15903|-15889|-15878|-15707|-15701|-15681|-15667|-15661|-15659|-15652" . "|-15640|-15631|-15625|-15454|-15448|-15436|-15435|-15419|-15416|-15408|-15394|-15385|-15377|-15375|-15369" . "|-15363|-15362|-15183|-15180|-15165|-15158|-15153|-15150|-15149|-15144|-15143|-15141|-15140|-15139|-15128" . "|-15121|-15119|-15117|-15110|-15109|-14941|-14937|-14933|-14930|-14929|-14928|-14926|-14922|-14921|-14914" . "|-14908|-14902|-14894|-14889|-14882|-14873|-14871|-14857|-14678|-14674|-14670|-14668|-14663|-14654|-14645" . "|-14630|-14594|-14429|-14407|-14399|-14384|-14379|-14368|-14355|-14353|-14345|-14170|-14159|-14151|-14149" . "|-14145|-14140|-14137|-14135|-14125|-14123|-14122|-14112|-14109|-14099|-14097|-14094|-14092|-14090|-14087" . "|-14083|-13917|-13914|-13910|-13907|-13906|-13905|-13896|-13894|-13878|-13870|-13859|-13847|-13831|-13658" . "|-13611|-13601|-13406|-13404|-13400|-13398|-13395|-13391|-13387|-13383|-13367|-13359|-13356|-13343|-13340" . "|-13329|-13326|-13318|-13147|-13138|-13120|-13107|-13096|-13095|-13091|-13076|-13068|-13063|-13060|-12888" . "|-12875|-12871|-12860|-12858|-12852|-12849|-12838|-12831|-12829|-12812|-12802|-12607|-12597|-12594|-12585" . "|-12556|-12359|-12346|-12320|-12300|-12120|-12099|-12089|-12074|-12067|-12058|-12039|-11867|-11861|-11847" . "|-11831|-11798|-11781|-11604|-11589|-11536|-11358|-11340|-11339|-11324|-11303|-11097|-11077|-11067|-11055" . "|-11052|-11045|-11041|-11038|-11024|-11020|-11019|-11018|-11014|-10838|-10832|-10815|-10800|-10790|-10780" . "|-10764|-10587|-10544|-10533|-10519|-10331|-10329|-10328|-10322|-10315|-10309|-10307|-10296|-10281|-10274" . "|-10270|-10262|-10260|-10256|-10254"; $_TDataKey = explode ( '|', $_DataKey ); $_TDataValue = explode ( '|', $_DataValue ); $data = (PHP_VERSION >= '5.0') ? array_combine ( $_TDataKey, $_TDataValue ) : $this->_Array_Combine( $_TDataKey, $_TDataValue ); arsort ( $data ); reset ( $data ); $str = $this->safe_encoding ( $str ); $_Res = ''; for($i = 0; $i < strlen ( $str ); $i ++) { $_P = ord ( substr ( $str, $i, 1 ) ); if ($_P > 160) { $_Q = ord ( substr ( $str, ++ $i, 1 ) ); $_P = $_P * 256 + $_Q - 65536; } $_Res .= $this->_Pinyin ( $_P, $data ).$pix; } return preg_replace ( "/[^a-z0-9".$pix."]*/", '', $_Res ); } private function _Pinyin($_Num, $_Data) { if ($_Num > 0 && $_Num < 160) return chr ( $_Num ); elseif ($_Num < - 20319 || $_Num > - 10247) return ''; else { foreach ( $_Data as $k => $v ) { if ($v <= $_Num) break; } return $k; } } public function getFirstChar($str=''){ if( !$str ) return null; $fchar=ord($str{0}); if($fchar>=ord("A") and $fchar<=ord("z") )return strtoupper($str{0}); $s= $this->safe_encoding($str); $asc=ord($s{0})*256+ord($s{1})-65536; if($asc>=-20319 and $asc<=-20284)return "A"; if($asc>=-20283 and $asc<=-19776)return "B"; if($asc>=-19775 and $asc<=-19219)return "C"; if($asc>=-19218 and $asc<=-18711)return "D"; if($asc>=-18710 and $asc<=-18527)return "E"; if($asc>=-18526 and $asc<=-18240)return "F"; if($asc>=-18239 and $asc<=-17923)return "G"; if($asc>=-17922 and $asc<=-17418)return "H"; if($asc>=-17417 and $asc<=-16475)return "J"; if($asc>=-16474 and $asc<=-16213)return "K"; if($asc>=-16212 and $asc<=-15641)return "L"; if($asc>=-15640 and $asc<=-15166)return "M"; if($asc>=-15165 and $asc<=-14923)return "N"; if($asc>=-14922 and $asc<=-14915)return "O"; if($asc>=-14914 and $asc<=-14631)return "P"; if($asc>=-14630 and $asc<=-14150)return "Q"; if($asc>=-14149 and $asc<=-14091)return "R"; if($asc>=-14090 and $asc<=-13319)return "S"; if($asc>=-13318 and $asc<=-12839)return "T"; if($asc>=-12838 and $asc<=-12557)return "W"; if($asc>=-12556 and $asc<=-11848)return "X"; if($asc>=-11847 and $asc<=-11056)return "Y"; if($asc>=-11055 and $asc<=-10247)return "Z"; return null; } function safe_encoding($string) { $encoding="UTF-8"; for($i=0;$i_outEncoding)) return $string; else return iconv($encoding,$this->_outEncoding,$string); } private function _Array_Combine($_Arr1, $_Arr2){ $_Res=array(); for($i = 0; $i < count ( $_Arr1 ); $i ++) $_Res [$_Arr1 [$i]] = $_Arr2 [$i]; return $_Res; } public function actionStastics() { return $this->render('stastics'); } public function actionStasticsJson() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $offset = $request->get('offset',0); $limit = $request->get('limit', 10); $query = GiftT::find() ->where('is_delete=0'); $query = $query->orderBy('id desc'); $total = $query->count(); $query = $query->offset($offset)->limit($limit); $items = $query->all(); $data = []; $data['total'] = $total; $data['rows'] = []; foreach($items as $item) { $row = $item->toArray(); $row['total'] = $item->getTicketsUse()->count(); $type_id = $item->type_id; if($type_id ==1){//礼品 $row['out_total'] = $item->getTicketsUse()->where('status=3')->count(); $row['use_total'] = $item->getTicketsUse()->where('status=3')->count(); }elseif ($type_id==2){ $row['out_total'] = $item->getTicketsUse()->count(); $row['use_total'] = $item->getTicketsUse()->where('status>1')->count(); } $data['rows'][] = $row; } return $data; } public function actionGiftOut() { $type_items = GiftT::find() ->where(['type_id'=>1,'is_delete'=>0]) ->all(); return $this->render('gift-out', [ 'type_items' => $type_items ]); } public function actionGiftOutJson() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $code = $request->get('code'); $car_no = $request->get('car_no'); $username = $request->get('username'); $s_begin_date = $request->get('s_begin_date'); $s_end_date = $request->get('s_end_date'); $p_begin_date = $request->get('p_begin_date'); $p_end_date = $request->get('p_end_date'); $status = $request->get('status'); $frame_no = $request->get('frame_no'); $engine_no = $request->get('engine_no'); $insurer1_no = $request->get('insurer1_no'); $type_id = $request->get('type_id'); $offset = $request->get('offset',0); $limit = $request->get('limit', 10); $query = GiftTicketTUse::find() ->leftJoin('order_t','order_t.id=gift_ticket_t_use.order_id') ->leftJoin('gift_t','gift_t.id=gift_ticket_t_use.type_id') ->leftJoin('user_t','user_t.id=gift_ticket_t_use.user_id') ->where('gift_t.type_id=1') ->orderBy('id DESC'); if($code != '') { $query = $query->andWhere('gift_ticket_t_use.code="'.$code.'"'); } if($car_no != '') { $query = $query->andWhere('gift_ticket_t_use.car_no like "'.$car_no.'"'); } if($username != ''){ $user = UserT::find()->where('username="'.$username.'"')->andWhere('is_delete=0')->one(); $query = $query->andWhere('gift_ticket_t_use.op_id='.$user->id); } if($s_begin_date != ''){ $query = $query->andWhere('order_t.submit_date>="'.$s_begin_date.'"'); } if($s_end_date != ''){ $query = $query->andWhere('order_t.submit_date<="'.$s_begin_date.'"'); } if($p_begin_date != ''){ $query = $query->andWhere('order_t.print_date>="'.$p_begin_date.'"'); } if($p_end_date != ''){ $query = $query->andWhere('order_t.print_date<="'.$p_begin_date.'"'); } if ($status == 1) {//礼券未使用 $query = $query->andWhere('gift_t.type_id=2 and gift_ticket_t_use.status=1'); } elseif ($status == 2) {//礼券使用中 $query = $query->andWhere('gift_t.type_id=2 and gift_ticket_t_use.status=2'); } if ($status == 3) {//礼券使用完 $query = $query->andWhere('gift_t.type_id=2 and gift_ticket_t_use.status=3'); } if ($status == 4) {//礼品未出库 $query = $query->andWhere('gift_t.type_id=1 and gift_ticket_t_use.status=1'); } if ($status == 5) {//礼品已出库 $query = $query->andWhere('gift_t.type_id=1 and gift_ticket_t_use.status=3'); } if($frame_no != '') { $query = $query->andWhere('order_t.car_frame_no="'.$frame_no.'"'); } if($engine_no != '') { $query = $query->andWhere('order_t.engine_no="'.$engine_no.'"'); } if($insurer1_no != '') { $query = $query->andWhere('order_t.insurer1_no='.$insurer1_no); } if($type_id > 0) { $query = $query->andWhere('gift_ticket_t_use.type_id='.$type_id); } // echo $query->createCommand()->rawSql; $total = $query->count(); $items = $query->offset($offset)->limit($limit)->all(); $data = []; $data['total'] = $total; $data['rows'] = []; foreach($items as $item) { $order_info = $item->order; $gift_info = $item->typeNew; $row = $item->toArray(); $row['name'] = $gift_info->name; $row['car_no'] = $item->car_no; $row['car_frame_no'] = $order_info->car_no; $row['op'] = $item->op?$item->op->getShowName():''; $row['finished_date'] = $item->finished_date != '0000-00-00'?$item->finished_date:''; $row['user'] = ($item->user && $item->status > 0)?$item->user->getShowName():''; $row['status'] = $item->getStatus(); $row['use_num'] = $gift_info->use_num; $data['rows'][] = $row; } return $data; } public function actionTicketUse() { $type_items = GiftT::find() ->where(['type_id'=>2,'is_delete'=>0]) ->all(); return $this->render('ticket-use', [ 'type_items' => $type_items ]); } public function actionTicketUseJson() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $code = $request->get('code'); $car_no = $request->get('car_no'); $username = $request->get('username'); $s_begin_date = $request->get('s_begin_date'); $s_end_date = $request->get('s_end_date'); $p_begin_date = $request->get('p_begin_date'); $p_end_date = $request->get('p_end_date'); $status = $request->get('status'); $frame_no = $request->get('frame_no'); $engine_no = $request->get('engine_no'); $insurer1_no = $request->get('insurer1_no'); $type_id = $request->get('type_id'); $offset = $request->get('offset',0); $limit = $request->get('limit', 10); $query = GiftTicketTUse::find() ->leftJoin('order_t','order_t.id=gift_ticket_t_use.order_id') ->leftJoin('gift_t','gift_t.id=gift_ticket_t_use.type_id') ->leftJoin('user_t','user_t.id=gift_ticket_t_use.user_id') ->where('gift_t.type_id=2') ->orderBy('id DESC'); if($code != '') { $query = $query->andWhere('gift_ticket_t_use.code="'.$code.'"'); } if($car_no != '') { $query = $query->andWhere('gift_ticket_t_use.car_no like "'.$car_no.'"'); } if($username != ''){ $user = UserT::find()->where('username="'.$username.'"')->andWhere('is_delete=0')->one(); $query = $query->andWhere('gift_ticket_t_use.op_id='.$user->id); } if($s_begin_date != ''){ $query = $query->andWhere('order_t.submit_date>="'.$s_begin_date.'"'); } if($s_end_date != ''){ $query = $query->andWhere('order_t.submit_date<="'.$s_begin_date.'"'); } if($p_begin_date != ''){ $query = $query->andWhere('order_t.print_date>="'.$p_begin_date.'"'); } if($p_end_date != ''){ $query = $query->andWhere('order_t.print_date<="'.$p_begin_date.'"'); } if ($status == 1) {//礼券未使用 $query = $query->andWhere('gift_t.type_id=2 and gift_ticket_t_use.status=1'); } elseif ($status == 2) {//礼券使用中 $query = $query->andWhere('gift_t.type_id=2 and gift_ticket_t_use.status=2'); } if ($status == 3) {//礼券使用完 $query = $query->andWhere('gift_t.type_id=2 and gift_ticket_t_use.status=3'); } if ($status == 4) {//礼品未出库 $query = $query->andWhere('gift_t.type_id=1 and gift_ticket_t_use.status=1'); } if ($status == 5) {//礼品已出库 $query = $query->andWhere('gift_t.type_id=1 and gift_ticket_t_use.status=3'); } if($frame_no != '') { $query = $query->andWhere('order_t.car_frame_no="'.$frame_no.'"'); } if($engine_no != '') { $query = $query->andWhere('order_t.engine_no="'.$engine_no.'"'); } if($insurer1_no != '') { $query = $query->andWhere('order_t.insurer1_no='.$insurer1_no); } if($type_id > 0) { $query = $query->andWhere('gift_ticket_t_use.type_id='.$type_id); } // echo $query->createCommand()->rawSql; $total = $query->count(); $items = $query->offset($offset)->limit($limit)->all(); $data = []; $data['total'] = $total; $data['rows'] = []; foreach($items as $item) { $order_info = $item->order; $gift_info = $item->typeNew; $row = $item->toArray(); $row['name'] = $gift_info->name; $row['car_no'] = $item->car_no; $row['car_frame_no'] = $order_info->car_no; $row['op'] = $item->op?$item->op->getShowName():''; $row['finished_date'] = $item->finished_date != '0000-00-00'?$item->finished_date:''; $row['username'] = ($item->user && $item->status > 0)?$item->user->getShowName():''; $row['submit_user'] = $order_info->user ? $order_info->user->getShowName():''; $row['status'] = $item->getStatus(); $row['use_num'] = $gift_info->use_num; $data['rows'][] = $row; } return $data; } public function actionGiftTj() { return $this->render('gift-tj'); } public function actionGiftTjJson() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $date_type = $request->get('date_type'); $begin_date = $request->get('begin_date'); $end_date = $request->get('end_date'); $offset = $request->get('offset',0); $limit = $request->get('limit', 10); $query = GiftT::find()->where(['type_id'=>1, 'is_delete'=>0]); // echo $query->createCommand()->rawSql; $total = $query->count(); $items = $query->offset($offset)->limit($limit)->all(); $data = []; $data['total'] = $total; $data['rows'] = []; foreach($items as $item) { $total = $item->getTicketsUseByDate($date_type,$begin_date,$end_date)->count(); $out_total = $item->getTicketsUseByDate($date_type,$begin_date,$end_date)->andWhere('gift_ticket_t_use.status=3')->count(); $row = $item->toArray(); $row['total'] = $total; $row['unout_total'] = $total - $out_total; $row['out_total'] = $out_total; $data['rows'][] = $row; } return $data; } public function actionTicketTj() { return $this->render('ticket-tj'); } public function actionTicketTjJson() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $date_type = $request->get('date_type'); $begin_date = $request->get('begin_date'); $end_date = $request->get('end_date'); $offset = $request->get('offset',0); $limit = $request->get('limit', 10); $query = GiftT::find()->where(['type_id'=>2, 'is_delete'=>0]); // echo $query->createCommand()->rawSql; $total = $query->count(); $items = $query->offset($offset)->limit($limit)->all(); $data = []; $data['total'] = $total; $data['rows'] = []; foreach($items as $item) { $total = $item->getTicketsUseByDate($date_type,$begin_date,$end_date)->count(); $use_total = $item->getTicketsUseByDate($date_type,$begin_date,$end_date)->andWhere('gift_ticket_t_use.status=3')->count(); $row = $item->toArray(); $row['total'] = $total; $row['unuse_total'] = $total - $use_total; $row['use_total'] = $use_total; $data['rows'][] = $row; } return $data; } public function actionTicketUseEdit() { $request = Yii::$app->request; $id = $request->get('id',0); $back_params = $request->get('back_params'); if($id > 0) { $info = GiftTicketTUse::findOne(['id'=>$id]); } else { $info = new GiftTicketTUse(); } return $this->render('ticket-use-edit',[ 'info' => $info ]); } public function actionHistoryLogJson() { Yii::$app->response->format = Response::FORMAT_JSON; Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $id = $request->get('id'); $offset = $request->get('offset', 0); $limit = $request->get('limit', 10); $query = GiftUseLogT::find() ->where('gift_use_id='.$id) ->orderBy('op_time DESC'); $total = $query->count(); $query->offset($offset)->limit($limit); $items = $query->all(); $data = []; $data['total'] = $total; $data['rows'] = []; foreach($items as $item) { $row = $item->toArray(); $row['op_time'] = date('Y-m-d H:i:s', $item->op_time); $data['rows'][] = $row; } return $data; } public function actionUseSave() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $result = array(); $result['success'] = false; $result['msg'] = '保存失败'; if($request->isPost) { $id = $request->post('id'); $remark = $request->post('remark'); $tran = GiftTicketTUse::getDb()->beginTransaction(); try { $ticket_info = GiftTicketTUse::findOne(['id'=>$id]); if(!$ticket_info) { $result['msg'] = '礼品券不存在!'; return $result; } $use_num = $ticket_info->typeNew->use_num; $finished_num = $ticket_info->finished_num + 1; $ticket_info->user_id = $this->my->id; $ticket_info->finished_num = $finished_num; $ticket_info->finished_date = date('Y-m-d'); $ticket_info->use_date = date('Y-m-d H:i:s'); if($finished_num < $use_num){ $ticket_info->status = 2; }elseif ($finished_num >= $use_num){ $ticket_info->status = 3; } if(!$ticket_info->save()) { throw new \Exception(print_r($ticket_info->getErrors(), true)); } $this->addGiftUseLog($id,'使用了一次',$remark); $result['success'] = true; $result['msg'] = '保存成功'; $tran->commit(); } catch (\Exception $e) { $tran->rollBack(); $result['msg'] = $e->getMessage(); } } return $result; } public function addGiftUseLog($id,$info,$remark,$type=1) { $log_info = new GiftUseLogT(); $log_info->gift_use_id = $id; $log_info->op_time = time(); $log_info->op_man = $this->my->getShowName(); $log_info->group_name = $this->my->group?$this->my->group->getPath():''; $log_info->type = $type; $log_info->remark = $remark; $log_info->info = $info; if(!$log_info->save()) { throw new \Exception(print_r($log_info->getErrors(), true)); } } }