예제 #1
0
 public function queryAction()
 {
     if (is_user_brand()) {
         $response = array("page" => 0, "total" => 0, "records" => 0, "rows" => null);
         $this->ajaxReturn($response);
     }
     list($page, $sidx, $limit, $sord, $start) = getRequestParams();
     $sidx = preg_replace("/classify.*,/", "", $sidx);
     $sidx = trim($sidx);
     $mcs = D("User")->getMc();
     $arr = array();
     foreach ($mcs as $key => $value) {
         $ret = $this->getOne($value['id']);
         if ($value['group_id'] == 0) {
             $ret['classify'] = "未分组";
         } else {
             $group = D("McGroup")->find($value['group_id']);
             $ret['classify'] = $group['name'];
         }
         $mcs[$key] = array_merge($value, $ret);
     }
     if (empty($sidx) || $sidx == "id") {
         $sidx = "cardsale_all";
         $sord = "desc";
     }
     $function = $sidx . "_" . $sord;
     $f2 = "f2_" . $sidx . "_" . $sord;
     $mcs = $this->sortarr($mcs, $function, $f2);
     $response = array("page" => 0, "total" => 0, "records" => 0, "rows" => $mcs);
     $this->ajaxReturn($response);
 }
 public function indexAction()
 {
     if (is_user_brand()) {
         $clubs = M("Club")->where(array("brand_id" => get_brand_id()))->field('id,club_name')->order("id desc")->select();
     } else {
         $permission = D("FinanceClub")->where(array("user_id" => is_user_login()))->relation(true)->select();
         $clubs = array();
         foreach ($permission as $key => $value) {
             $clubs[] = $value['club'];
         }
     }
     $this->assign("clubs", $clubs);
     $this->display();
 }
예제 #3
0
 public function indexAction()
 {
     if (is_user_brand()) {
         parent::indexAction();
         return;
     }
     $clubs = M("Club")->field('id,club_name')->select(get_club_id());
     // $this->assign("clubs",$clubs);
     $this->assign("clubs", json_encode($clubs));
     $this->assign("clubarray", $clubs);
     $roles = M("AuthGroup")->select();
     $this->assign("roles", $roles);
     $this->selfid = is_user_login();
     $this->display();
 }
예제 #4
0
 public function indexAction()
 {
     $this->setIndexActiveClass();
     $id = I("id");
     $this->assign("edit", DIRECTORY_SEPARATOR . MODULE_NAME . DIRECTORY_SEPARATOR . CONTROLLER_NAME . DIRECTORY_SEPARATOR . "index");
     $this->assign("exist", DIRECTORY_SEPARATOR . MODULE_NAME . DIRECTORY_SEPARATOR . CONTROLLER_NAME . DIRECTORY_SEPARATOR . "exist");
     $this->assign("queryRecommend", DIRECTORY_SEPARATOR . MODULE_NAME . DIRECTORY_SEPARATOR . CONTROLLER_NAME . DIRECTORY_SEPARATOR . "queryRecommend");
     $this->assign("action", DIRECTORY_SEPARATOR . MODULE_NAME . DIRECTORY_SEPARATOR . CONTROLLER_NAME . DIRECTORY_SEPARATOR . "add");
     if (!empty($id)) {
         $this->assign("action", DIRECTORY_SEPARATOR . MODULE_NAME . DIRECTORY_SEPARATOR . CONTROLLER_NAME . DIRECTORY_SEPARATOR . "edit");
         $model = D("MemberBasic");
         $member = $model->find($id);
         if (!is_user_brand()) {
             $is_reception = D("User")->isReception(is_user_login());
             if (!$is_reception && $member["mc_id"] != is_user_login() && $member['record_id'] != is_user_login() && $member["pt_id"] != is_user_login()) {
                 $this->error("无权查看此用户信息");
             }
         } else {
             if ($member['brand_id'] != get_brand_id()) {
                 $this->error("无权查看此用户信息");
             }
         }
         // $mc
         $this->assign("member", $member);
     }
     $model = M("Channel");
     $channles = $this->getchannels();
     $this->assign("channels", $channles);
     if ((D("User")->isMc(is_user_login()) || D("User")->isPt(is_user_login())) && empty($id) && MODULE_NAME != 'Reception') {
         // $mcs=array( D("UserExtension")->find(is_user_login()));
         $mcs = D("User")->getMc();
     } else {
         $mcs = D("User")->getMc();
     }
     $this->assign("mcs", $mcs);
     // $brand_id=get_brand_id();
     // $users= $model->where("a.id=b.id and a.id=c.uid and b.brand_id=$brand_id and c.group_id=18")->table(array("yoga_user_extension"=>"a","yoga_user"=>"b","yoga_auth_group_access"=>"c"))->field("a.id,a.name_cn")->select();
     //    $this->assign("users",$users);
     $model = M("Club");
     $clubs = $model->where(array("brand_id" => get_brand_id()))->field("id,club_name")->select();
     $model = D("CardSaleclub");
     $types = $model->getCanSaleCards();
     $this->assign("types", $types);
     $this->assign("clubs", $clubs);
     // $mcs= $model->where("a.id=b.id and a.id=c.uid and b.brand_id=$brand_id and c.group_id=6")->table(array("yoga_user_extension"=>"a","yoga_user"=>"b","yoga_auth_group_access"=>"c"))->field("a.id,a.name_cn")->select();
     // $this->assign("mcs",$mcs);
     $this->display("Mc@Visit:index");
 }
예제 #5
0
 public function editAction($id, $card_number, $btype, $card_type_id, $present_day, $present_num, $price, $start_time, $end_time, $active_type, $desc, $free_rest, $free_trans, $mc_name)
 {
     $rules = array(array('id', 'require', '合同ID必须!', 1), array('card_number', 'require', '卡号必须!', 1), array('btype', array(0, 1), '类型不对!', 1, 'in'), array('card_type_id', 'number', '卡类型不对!', 1), array('present_day', 'number', '赠送天数需要为整数!', 1), array('present_num', 'number', '赠送次数需要为整数!', 1), array('price', 'number', '请输入正确的应付价格!', 1), array('active_type', array(0, 1, 2), '请选择开卡方式!', 1, 'in'));
     $bill = M("BillProject")->find($id);
     $model = D("Contract");
     if (!$model->validate($rules)->create()) {
         $this->error($model->getError());
     }
     if ($active_type != 2) {
         $rules = array(array('start_time', '/^\\d{4}-\\d{2}-\\d{2}$/', '请选择合同开始日期!', 1), array('end_time', '/^\\d{4}-\\d{2}-\\d{2}$/', '请选择合同结束日期!', 1));
         if (!$model->validate($rules)->create()) {
             $this->error($model->getError());
         }
     }
     $cardTypeModel = M("CardType");
     $cardType = $cardTypeModel->find($card_type_id);
     if (empty($cardType)) {
         $this->error("卡种不存在!");
     }
     $model = D("Contract");
     $original_contract = $model->find($bill['object_id']);
     $member_id = $original_contract['member_id'];
     $card_id = $original_contract['card_id'];
     $original_extension = json_encode($original_contract);
     if (empty($original_contract)) {
         $this->error("Error");
     }
     if ($original_contract['is_review'] == 1 && !is_user_brand()) {
         $this->error("此合同已审核,如需修改,请联系管理员! ");
     }
     if ($original_contract['is_review'] == 2) {
         $this->error("此合同已升级作废,如需修改请联系管理员!  ");
     }
     $cardModel = D("Card");
     if ($card_number != $original_contract['card_number']) {
         $c = $cardModel->getCard($card_number, get_brand_id());
         if (empty($c)) {
             //delete this card is no relate contract
             $count = $model->where("card_id=" . $original_contract['card_id'])->count();
             if ($count == 1) {
                 $card = $cardModel->find($original_contract['card_id']);
                 if (empty($card)) {
                     $card = array("card_number" => $card_number, "member_id" => $member_id, "brand_id" => get_brand_id());
                     $card_id = $cardModel->data($card)->add();
                 } else {
                     M("Card")->where("id=" . $original_contract['card_id'])->setField(array("card_number" => $card_number, "is_auto_create" => 0));
                 }
             } else {
                 $card = $cardModel->find($card_id);
                 unset($card['id']);
                 $card['create_time'] = getDbTime();
                 $card['update_time'] = getDbTime();
                 $card['card_number'] = $card_number;
                 $card_id = $cardModel->data($card)->add();
             }
         } else {
             if ($c['member_id'] != $member_id) {
                 $this->error("此卡已被占用!请输入其他卡号!");
             }
             $card_id = $c['id'];
         }
     }
     if (!$card_id) {
         $this->error("开卡失败,请稍后再试!");
     }
     if (I('active_type') == 2) {
         unset($model->start_time);
         unset($model->end_time);
     }
     $new_contract = $original_contract;
     $new_contract['card_id'] = $card_id;
     $new_contract['type'] = $btype;
     if ($original_contract['card_type_id'] != $card_type_id) {
         $new_contract['card_type_extension'] = json_encode($cardType);
     }
     $new_contract['card_type_id'] = $card_type_id;
     $new_contract['present_day'] = $present_day;
     $new_contract['present_num'] = $present_num;
     $new_contract['price'] = $price;
     $new_contract['start_time'] = $start_time;
     $new_contract['end_time'] = $end_time;
     $new_contract['active_type'] = $active_type;
     $new_contract['free_rest'] = $free_rest;
     $new_contract['free_trans'] = $free_trans;
     if ($original_contract['mc_id'] != $mc_name) {
         M("MemberBasic")->where("id={$member_id}")->setField(array("mc_id" => $mc_name));
         M("BillProject")->where("id={$id}")->setField(array("mc_id" => $mc_name));
     }
     $new_contract['mc_id'] = $mc_name;
     if (!empty($desc)) {
         $new_contract['description'] = $desc . ";" . $original_contract['description'];
     }
     $new_contract['total_num'] = $present_num + $cardType['valid_number'];
     $model->data($new_contract)->save();
     M("BillProject")->where("id={$id}")->setField(array("price" => $price));
     //review
     $reason = "合同修改";
     if (!empty($reason)) {
         $contract = M("Contract")->find($new_contract["id"]);
         $data = array("original_extension" => $original_extension, "extension" => json_encode($contract), "reason" => $reason, "record_id" => is_user_login(), "club_id" => get_club_id(), "brand_id" => get_brand_id(), "type" => 0, "status" => 0);
         M("Review")->data($data)->add();
     }
     $this->success("修改成功");
 }
예제 #6
0
 public function manageAction()
 {
     // $clubs = D("Club")->getAllClubsName();
     if (is_user_brand()) {
         $channels = D("Channel")->getAllChannelName();
     } else {
         $channels = D("Channel")->getChannelNameByUser(is_user_login());
     }
     // $this->assign("clubs",$clubs);
     $this->assign("channels", $channels);
     $this->display();
 }
 public function queryNewAction()
 {
     list($page, $sidx, $limit, $sord, $start) = getRequestParams();
     $filters = I("filters", '', '');
     if (empty($filters)) {
         $this->error("Error");
     }
     $brand_id = get_brand_id();
     $club_id = get_club_id();
     $valuesql = " select c.id as cid, a.*,c.start_time,c.end_time , c.free_rest as cfree_rest,c.rest_count as crest_count,c.card_type_extension, b.name as member_name,b.id as memberid ,b.phone from yoga_card a,yoga_member_basic b,yoga_contract c  where c.invalid=1 and  a.brand_id={$brand_id} and a.sale_club={$club_id} and a.member_id=b.id  and a.id=c.card_id";
     $countsql = "select count(*) as count from yoga_card a,yoga_member_basic b,yoga_contract c where c.invalid=1 and  a.brand_id={$brand_id} and a.sale_club={$club_id} and a.member_id=b.id  and a.id=c.card_id";
     if (is_user_brand()) {
         $valuesql = " select c.id  as cid,  a.*,c.start_time,c.end_time , c.card_type_extension,c.free_rest as cfree_rest,c.rest_count as crest_count, b.name as member_name,b.id as memberid ,b.phone from yoga_card a,yoga_member_basic b,yoga_contract c where c.invalid=1 and  a.brand_id={$brand_id}  and a.member_id=b.id  and a.id=c.card_id";
         $countsql = "select count(*) as count from yoga_card a,yoga_member_basic b,yoga_contract c where c.invalid=1 and  a.brand_id={$brand_id}  and a.member_id=b.id  and a.id=c.card_id";
     }
     $filters = json_decode($filters);
     $sql = "";
     if ($filters->groupOp == 'AND') {
         $rules = $filters->rules;
         foreach ($rules as $key => $value) {
             if ($value->field == "card_id") {
                 $sql .= " and a.card_number " . getOPerationMysql($value->op) . "  '{$value->data}'";
             }
             if ($value->field == "name") {
                 $sql .= " and b.name " . getOPerationMysql($value->op) . "  '{$value->data}'";
             }
             if ($value->field == "phone") {
                 $sql .= " and b.phone " . getOPerationMysql($value->op) . "  '{$value->data}'";
             }
         }
     }
     $model = new \Think\Model();
     $countsql = $countsql . " " . $sql;
     $count = $model->query($countsql);
     $count = $count[0]["count"];
     $valuesql = $valuesql . " " . $sql . " order by {$sidx} {$sord} limit {$start},{$limit}";
     $clubModel = M("Club");
     $ret = $model->query($valuesql);
     foreach ($ret as $key => $value) {
         $tempid = $ret[$key]['id'];
         $ret[$key]['id'] = $ret[$key]['cid'];
         $ret[$key]['cid'] = $tempid;
         $ret[$key]["card_type_extension"] = json_decode($ret[$key]["card_type_extension"]);
         $club = $clubModel->find($value['sale_club']);
         $ret[$key]['club_name'] = !empty($club) ? $club['club_name'] : "";
     }
     if ($count > 0 && $limit > 0) {
         $total_pages = ceil($count / $limit);
     } else {
         $total_pages = 0;
     }
     $response = array("page" => $page, "total" => $total_pages, "records" => $count, "rows" => $ret);
     $this->ajaxReturn($response);
 }
예제 #8
0
 public function queryNewAction()
 {
     list($page, $sidx, $limit, $sord, $start) = getRequestParams();
     $filters = I("filters", '', '');
     $brand_id = get_brand_id();
     $club_id = get_club_id();
     if (!is_user_brand()) {
         $valuesql = "select  b.status as bstatus, b.card_type_extension, b.free_rest,b.free_trans,b.rest_count,b.trans_count, b.is_review,b.description as `desc`, b.id as contract_id,b.contract_number, a.*,e.name,e.sex,e.phone ,c.card_number ,d.name as card_name,d.type as card_type ,d.price as card_type_price,b.invalid,b.type as btype,b.present_day,b.present_num,b.start_time,b.end_time,b.active_type,b.used_num,b.total_num   from yoga_bill_project a inner join yoga_contract b on a.object_id=b.id and a.type in(0,3,4,5) inner join yoga_member_basic e on a.member_id=e.id left join yoga_card c on b.card_id=c.id left join yoga_card_type d on b.card_type_id=d.id where  a.sale_club_id={$club_id}  ";
         $countsql = "select count(*) as count from yoga_bill_project a inner join yoga_contract b on a.object_id=b.id and a.type in(0,4,5) inner join yoga_member_basic e on a.member_id=e.id left join yoga_card c on b.card_id=c.id left join yoga_card_type d on b.card_type_id=d.id where  a.sale_club_id={$club_id} ";
     } else {
         $valuesql = "select  b.status as bstatus,b.card_type_extension,b.free_rest,b.free_trans,b.rest_count,b.trans_count,b.is_review,b.description as `desc`, b.id as contract_id,b.contract_number, a.*,e.name,e.sex,e.phone ,c.card_number ,d.name as card_name,d.type as card_type ,d.price as card_type_price,b.invalid,b.type as btype,b.present_day,b.present_num,b.start_time,b.end_time,b.active_type,b.used_num,b.total_num   from yoga_bill_project a inner join yoga_contract b on a.object_id=b.id and a.type in(0,3,4,5) inner join yoga_member_basic e on a.member_id=e.id left join yoga_card c on b.card_id=c.id left join yoga_card_type d on b.card_type_id=d.id where  a.brand_id={$brand_id}  ";
         $countsql = "select count(*) as count from yoga_bill_project a inner join yoga_contract b on a.object_id=b.id and a.type in(0,4,5) inner join yoga_member_basic e on a.member_id=e.id left join yoga_card c on b.card_id=c.id left join yoga_card_type d on b.card_type_id=d.id where  a.brand_id={$brand_id} ";
     }
     $filters = json_decode($filters);
     $sql = "";
     if ($filters->groupOp == 'AND') {
         $rules = $filters->rules;
         foreach ($rules as $key => $value) {
             if ($value->field == "contract_number") {
                 $sql .= " and b.contract_number " . getOPerationMysql($value->op) . "  '{$value->data}'";
             }
             if ($value->field == "card_number") {
                 $sql .= " and c.card_number " . getOPerationMysql($value->op) . "  '{$value->data}'";
             }
             if ($value->field == "name") {
                 $sql .= " and e.name " . getOPerationMysql($value->op) . "  '{$value->data}'";
             }
             if ($value->field == "phone") {
                 $sql .= " and e.phone " . getOPerationMysql($value->op) . "  '{$value->data}'";
             }
         }
     }
     // $tail="  and a.id=b.member_id and b.brand_id=$brand_id  and b.contract_type=0 and b.card_id=c.id and b.card_type_id=d.id";
     $tail = "";
     $model = new \Think\Model();
     $countsql = $countsql . " " . $sql . $tail;
     $count = $model->query($countsql);
     $count = $count[0]["count"];
     $valuesql = $valuesql . " " . $sql . $tail . " order by {$sidx} {$sord} limit {$start},{$limit}";
     $ret = $model->query($valuesql);
     foreach ($ret as $key => $value) {
         $mc = M("UserExtension")->find($value['mc_id']);
         $recorder = M("UserExtension")->find($value['record_id']);
         $ret[$key]['mc_name'] = !empty($mc) ? $mc['name_cn'] : "NO MC!";
         $ret[$key]['recorder_name'] = !empty($recorder) ? $recorder['name_cn'] : "品牌帐号";
     }
     if ($count > 0 && $limit > 0) {
         $total_pages = ceil($count / $limit);
     } else {
         $total_pages = 0;
     }
     $response = array("page" => $page, "total" => $total_pages, "records" => $count, "rows" => $ret);
     $this->ajaxReturn($response);
 }
예제 #9
0
 protected function loadMenus()
 {
     $menu = C("menus");
     //check if i'm a teamleader
     $model = D("User");
     $uid = is_user_login();
     // if(!$model->isMcmanager($uid) && $model->isTeamleader($uid) )
     if ($model->isTeamleader($uid)) {
         $menu = array_merge($menu, C("menus_team_leader"));
     }
     $auth = new \Think\Auth();
     $Model = M("SysConfig");
     $config = $Model->find();
     foreach ($menu as $key => $value) {
         $url = $value['url'];
         $module = explode('/', $url);
         if (is_user_brand()) {
             // if(!in_array(strtolower($module[0]), json_decode($config['default_role'])))
             //                 {
             //                     if(!$auth->check($module[0],is_user_login(),2))
             //                      {
             //                         unset($menu[$key]);
             //                         continue;
             //                      }
             //                  }
             if ($module[0] != "Brand") {
                 unset($menu[$key]);
                 continue;
             }
         } else {
             if ($module[0] != 'Teamleader' && !$auth->check($module[0], is_user_login(), 2)) {
                 unset($menu[$key]);
                 continue;
             }
         }
     }
     $brand_id = get_brand_id();
     if ($brand_id == 35) {
         $isReception = D("User")->isReception(UID);
         if ($isReception) {
             foreach ($menu as $key => $value) {
                 if ($value['title'] == "前台") {
                     $menu[$key]['child'][] = array("id" => 0, "title" => "活动", "pid" => 4, "url" => "Reception/Spider/index");
                 }
             }
         }
     }
     $this->assign("menus", $menu);
 }