示例#1
0
 public function queryAction()
 {
     list($page, $sidx, $limit, $sord, $start) = getRequestParams();
     $condition = array("a.club_id" => get_club_id());
     $filters = I("filters", '', '');
     $filters = json_decode($filters);
     if ($filters->groupOp == 'AND') {
         $rules = $filters->rules;
         foreach ($rules as $key => $value) {
             if ($value->field == "name" && !empty($value->data)) {
                 $condition["a.name"] = array("like", "%{$value->data}%");
             }
             if ($value->field == "phone" && !empty($value->data)) {
                 $condition["a.phone"] = $value->data;
             }
         }
     }
     $model = M("YaaGift");
     $ret = $model->table(array("yoga_yaa_gift" => "b", "yoga_member_basic" => "a"))->where($condition)->where("b.member_id=a.id")->field("a.name,a.sex,b.*")->order("{$sidx} {$sord}")->limit("{$start},{$limit}")->select();
     foreach ($ret as $key => $value) {
         $record_id = $value['record_id'];
         if ($record_id != 0) {
             $ret[$key]['recorder'] = M("UserExtension")->find($record_id);
         }
     }
     $count = $model->table(array("yoga_yaa_gift" => "a", "yoga_member_basic" => "a", "yoga_user_extension" => "c"))->where($condition)->where("a.member_id=b.id")->order(" {$sidx} {$sord}")->limit("{$start},{$limit}")->count();
     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);
 }
示例#2
0
 public function getAllCanSaleGoods($club_id = null)
 {
     $club_id = empty($club_id) ? get_club_id() : $club_id;
     $timenow = date("Y-m-d");
     $sql = "SELECT b.* FROM yoga_goods_club a,yoga_goods b where a.club_id={$club_id} and a.goods_id = b.id and  b.status!=0";
     return $this->query($sql);
 }
示例#3
0
 public function queryAction()
 {
     list($page, $sidx, $limit, $sord, $start) = getRequestParams();
     $model = M("McFollowUp");
     $condition = array("a.club_id" => get_club_id(), "a.ret" => array("gt", 0));
     $filters = I("filters", '', '');
     $filters = json_decode($filters);
     if ($filters->groupOp == 'AND') {
         $rules = $filters->rules;
         foreach ($rules as $key => $value) {
             if ($value->field == "mc_id" && $value->data != -1) {
                 $condition["b.mc_id"] = $value->data;
             }
             if ($value->field == "name" && !empty($value->data)) {
                 $condition["b.name"] = array("like", "%{$value->data}%");
             }
             if ($value->field == "phone" && !empty($value->data)) {
                 $condition["b.phone"] = $value->data;
             }
         }
     }
     $ret = $model->table(array("yoga_mc_follow_up" => "a", "yoga_member_basic" => "b", "yoga_user_extension" => "c"))->where($condition)->where("a.member_id=b.id and b.mc_id=c.id")->field("c.name_cn as mc,b.name,b.sex,b.type,a.is_come,a.come_time,a.appoint_time,a.appoint_time,a.is_come,a.come_time,a.ret,a.id")->order("a.{$sidx} {$sord}")->limit("{$start},{$limit}")->select();
     $count = $model->table(array("yoga_mc_follow_up" => "a", "yoga_member_basic" => "b", "yoga_user_extension" => "c"))->where($condition)->where("a.member_id=b.id and b.mc_id=c.id")->count();
     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);
 }
示例#4
0
 public function queryAction()
 {
     $uid = is_user_login();
     list($page, $sidx, $limit, $sord, $start) = getRequestParams();
     $model = D("ClubClassroom");
     $condition = array("club_id" => get_club_id());
     $filters = I("filters", '', '');
     $filters = json_decode($filters);
     if ($filters->groupOp == 'AND') {
         $rules = $filters->rules;
         foreach ($rules as $key => $value) {
             if ($value->field == "name") {
                 $condition = array_merge($condition, array("name" => array("like", "%{$value->data}%")));
             }
         }
     }
     $ret = $model->where($condition)->order("{$sidx} {$sord}")->limit("{$start},{$limit}")->select();
     $count = $model->where($condition)->count();
     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);
 }
示例#5
0
 public function getMonthStatistics($club_id, $start_time, $end_time)
 {
     $start_time = $start_time . "-00 00:00:00";
     $end_time = $end_time . "-31 23:59:59";
     $club_id = empty($club_id) ? get_club_id() : $club_id;
     $ret = M("ChannelAllStatistics")->where(array("time" => array("between", "{$start_time},{$end_time}"), "club_id" => $club_id))->order("time desc")->select();
     $model = M("MemberBasic");
     $channelModel = M("Channel");
     foreach ($ret as $key => $value) {
         $time = $value["time"];
         $time = substr($time, 0, 7);
         $ret[$key]['time'] = $time;
         $start_time = $time . "-00 00:00:00";
         $end_time = $time . "-31 23:59:59";
         $value = $this->getClubtTotal($start_time, $end_time, $club_id);
         $ret[$key]["protential_value"] = $value["protential_total"];
         $ret[$key]["transform_value"] = $value["transform_total"];
         $ret[$key]["channel_value"] = $value["channel_total"];
         $total = $this->getClubtTotal('0000-00-00 00:00:00', $end_time, $club_id);
         $ret[$key]["protential_total"] = $total['protential_total'];
         $ret[$key]["transform_total"] = $total['transform_total'];
         $ret[$key]["channel_total"] = $total['channel_total'];
     }
     return $ret;
 }
 public function getCanSaleCards($club_id = null)
 {
     $club_id = empty($club_id) ? get_club_id() : $club_id;
     $timenow = date("Y-m-d");
     $sql = "SELECT b.* FROM yoga_card_saleclub a,yoga_card_type b where a.club_id={$club_id} and a.card_type_id = b.id and b.start_time <='{$timenow}' and b.end_time >= '{$timenow}' and b.status!=0";
     return $this->query($sql);
 }
示例#7
0
 public function getAllCanSaleClasses($club_id = null)
 {
     $club_id = empty($club_id) ? get_club_id() : $club_id;
     $timenow = date("Y-m-d");
     $sql = "SELECT b.* FROM yoga_pt_club a,yoga_pt_class b where `a`.`club_id`={$club_id} and `a`.`pt_class_id` = `b`.`id` and  `b`.`status`!=0";
     return $this->query($sql);
 }
 public function getCanUseCards($club_id = null)
 {
     $club_id = empty($club_id) ? get_club_id() : $club_id;
     $timenow = date("Y-m-d");
     $sql = "SELECT b.* FROM yoga_card_useclub a,yoga_card_type b where a.club_id={$club_id} and a.card_type_id = b.id";
     return $this->query($sql);
 }
 public function paybackdetailAction($id)
 {
     $service = \Service\CService::factory("Financial");
     $bill = $service->getBillProject("0,3,4,5", $id);
     $this->assign("bill", $bill);
     $contract = D('Contract')->relation('card_type')->find($id);
     $member_id = $contract['member_id'];
     $member = M('MemberBasic')->find($member_id);
     $this->assign("member", $member);
     $this->assign("contract", $contract);
     $useClubs = D("CardUseclub")->getAllUseClub($contract['card_type']['id']);
     $clubs = "";
     foreach ($useClubs as $key => $value) {
         if ($key != 0) {
             $clubs .= "、";
         }
         $clubs .= $value['club_name'];
     }
     $this->assign("useClubs", $clubs);
     //pasy history
     list($history, $count) = $service->getPayHistoryByBillId($id, 0, 999);
     $this->assign("history", $history);
     //all cardtypes that can upgrade to
     $card_type = $card['card_type'];
     $cardtypes = D("CardType")->getAllCanUpgrade($contract['start_time'], $contract['card_type']['id']);
     $this->assign("typesarr", json_encode($cardtypes));
     $this->assign("cardtypes", $cardtypes);
     $this->assign("current_contract", json_encode($contract));
     $club = M("Club")->find(get_club_id());
     $this->assign("club", $club);
     $this->assign("print_time", date('Y-m-d H:i:s'));
     $this->display();
 }
示例#10
0
 public function queryfollowupAction()
 {
     list($page, $sidx, $limit, $sord, $start) = getRequestParams();
     $condition = array("club_id" => get_club_id());
     $filters = I("filters", '', '');
     $filters = json_decode($filters);
     $sql = "";
     $setcreate_time = false;
     if ($filters->groupOp == 'AND') {
         $rules = $filters->rules;
         foreach ($rules as $key => $value) {
             if ($value->field == "mc_id" && $value->data != 0) {
                 $condition["mc_id"] = $value->data;
             } else {
                 if ($value->field == "ret" && $value->data != -1) {
                     $condition["ret"] = $value->data;
                 } else {
                     if ($value->field == "create_time" && $value->data != 0 && $value->data != -1) {
                         $setcreate_time = true;
                         $day = $value->data - 1;
                         $time = date('Y-m-d', strtotime("{$day} days ago"));
                         $condition["create_time"] = array("gt", $time);
                     } else {
                         if ($value->field == "start_time" && $value->data != 0) {
                             if (isset($condition['create_time'])) {
                                 if (!$setcreate_time) {
                                     $condition["create_time"] = array("between", $value->data . "," . $condition["create_time"]);
                                 }
                             } else {
                                 $condition["create_time"] = array("gt", $value->data);
                             }
                         } else {
                             if ($value->field == "end_time" && $value->data != 0) {
                                 if (isset($condition['create_time'])) {
                                     if (!$setcreate_time) {
                                         $condition["create_time"] = array("between", $condition["create_time"][1] . "," . $value->data . " 23:59:59");
                                     }
                                 } else {
                                     $condition["create_time"] = array("lt", $value->data . " 23:59:59");
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     $model = D("McFollowUp");
     $ret = $model->relation(true)->where($condition)->order("{$sidx} {$sord}")->limit("{$start},{$limit}")->select();
     // echo $model->getLastSql();die();
     $count = $model->where($condition)->count();
     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);
 }
示例#11
0
 public function getAllContract($member_id, $club_id = null)
 {
     if (empty($club_id)) {
         $club_id = get_club_id();
     }
     $ret = $this->relation(true)->where(array("member_id" => $member_id, "club_id" => $club_id))->order("start_time asc")->select();
     return $ret;
 }
示例#12
0
 public function queryAction()
 {
     list($page, $sidx, $limit, $sord, $start) = getRequestParams();
     $filters = I("filters", '', '');
     $brand_id = get_brand_id();
     $club_id = get_club_id();
     $condition = array("club_id" => $club_id);
     $filters = json_decode($filters);
     if ($filters->groupOp == 'AND') {
         $rules = $filters->rules;
         foreach ($rules as $key => $value) {
             if ($value->field == "contract_number") {
                 $condition["contract_number"] = $value->data;
             }
             if ($value->field == "card_number") {
                 $member_ids = M("Card")->where(array("card_number" => $value->data))->field("group_concat( distinct member_id) as ids")->find();
                 if (!empty($member_ids)) {
                     $condition["member_id"] = array("in", $member_ids['ids']);
                 } else {
                     $response = array("page" => 0, "total" => 0, "records" => 0, "rows" => "");
                     $this->ajaxReturn($response);
                 }
             }
             if ($value->field == "name") {
                 $member_ids = M("MemberBasic")->where(array("name" => $value->data))->field("group_concat( distinct id) as ids")->find();
                 if (!empty($member_ids)) {
                     $condition["member_id"] = array("in", $member_ids['ids']);
                 } else {
                     $response = array("page" => 0, "total" => 0, "records" => 0, "rows" => "");
                     $this->ajaxReturn($response);
                 }
             }
             if ($value->field == "phone") {
                 $member_ids = M("MemberBasic")->where(array("phone" => $value->data))->field("group_concat( distinct id) as ids")->find();
                 if (!empty($member_ids)) {
                     $condition["member_id"] = array("in", $member_ids['ids']);
                 } else {
                     $response = array("page" => 0, "total" => 0, "records" => 0, "rows" => "");
                     $this->ajaxReturn($response);
                 }
             }
         }
     }
     $model = D("PtContract");
     $count = $model->where($condition)->count();
     $ret = $model->relation(true)->where($condition)->order("{$sidx} {$sord}")->limit("{$start},{$limit}")->select();
     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);
 }
示例#13
0
 public function getOne($mc_id)
 {
     $club_id = get_club_id();
     //当日潜客
     $potential_d = McNewService::getInstance()->getTodayPotentialNumber($mc_id);
     $potential_all = McNewService::getInstance()->getAllPotentialNumber($mc_id);
     //成交额
     $cardsale_d = McNewService::getInstance()->getTodayCardsSale($mc_id);
     $cardsale_all = McNewService::getInstance()->getAllCardsSale($mc_id);
     return array("potential_d" => $potential_d, "potential_all" => $potential_all, "cardsale_d" => $cardsale_d, "cardsale_all" => $cardsale_all);
 }
示例#14
0
 public function indexAction()
 {
     if (is_user_login()) {
         if (get_club_id() != 0 || get_brand_id() != 0) {
             $this->redirect('Home/Main/main');
         } else {
             $this->redirect('Home/Main/main');
         }
         // $this->redirect('Home/Main/teacher');
     }
     $this->display();
 }
示例#15
0
 public function buyAction()
 {
     $member_id = I("member_id");
     $member = M("MemberBasic")->find(I("member_id"));
     if (empty($member)) {
         $this->error("member does not exist");
     }
     $use_recharge = I("use_recharge");
     $rules = array(array('pos', 'number', '请输入正确的pos金额!', 1), array('cash', 'number', '请输入正确的现金金额!', 1), array('check', 'number', '请输入正确的支票金额!', 1), array('network', 'number', '请输入正确的支票金额!', 1), array('netbank', 'number', '请输入正确的支票金额!', 1));
     $recharge = 0;
     if ($use_recharge == 1) {
         $recharge = $member['recharge'] > I("should_pay") ? I("should_pay") : $member['recharge'];
     }
     if ($use_recharge == 1 && $recharge != 0) {
         M("MemberBasic")->where(array("id" => $member_id))->setField("recharge", $member['recharge'] - $recharge);
         $data = array("member_id" => $member_id, "value" => "-{$recharge}", "record_id" => is_user_login(), "description" => "购定金消费¥{$recharge},余额¥" . ($member['recharge'] - $recharge));
         $recharge_id = M("RechargeHistory")->data($data)->add();
     }
     $service = \Service\CService::factory("Financial");
     $mc_id = I("type") == 8 ? $member['pt_id'] : $member['mc_id'];
     $bill_id = $service->addBillProject(I("type"), 0, 0, $member_id, I("should_pay"), 0, get_brand_id(), is_user_login(), get_club_id(), $mc_id, I("description"));
     if (!$bill_id) {
         M("MemberBasic")->where(array("id" => $member_id))->setField("recharge", $member['recharge'] + $recharge);
         if (isset($recharge_id)) {
             M("RechargeHistory")->delete($recharge_id);
         }
         $this->error($service->getError());
     }
     $ret = $service->pay($bill_id, 0, is_user_login(), get_brand_id(), I('description'), I("cash"), I("pos"), I("check"), I("check_num"), get_club_id(), $recharge, I("network"), I("netbank"));
     if (!$ret) {
         M("MemberBasic")->where(array("id" => $member_id))->setField("recharge", $member['recharge'] + $recharge);
         if (isset($recharge_id)) {
             M("RechargeHistory")->delete($recharge_id);
         }
         M("BillProject")->delete($bill_id);
         $this->error($service->getError());
     }
     if (I("type") == 8) {
         M("MemberBasic")->where(array("id" => $member_id))->setInc("pt_book_price", I("should_pay"));
     }
     if (I("type") == 9) {
         M("MemberBasic")->where(array("id" => $member_id))->setInc("contract_book_price", I("should_pay"));
     }
     // if(!empty($reason))
     // {
     // 	  $contract = M("PtContract")->find($contract_id);
     // 	  $data=array("extension"=>json_encode($contract),"reason"=>$reason,"record_id"=>is_user_login(),"club_id"=>get_club_id(),"brand_id"=>get_brand_id(),"type"=>1,"status"=>0);
     // 	  M("Review")->data($data)->add();
     // }
     $this->success("购买成功!", U("Cashier/Book/printreceipts/id/{$ret}"));
 }
示例#16
0
function getautocardnumber()
{
    $max_card = M("Card")->where(array("sale_club" => get_club_id(), "is_auto_create" => 1))->order("card_number desc")->find();
    if (empty($max_card)) {
        $card_number = get_club_id() . "000001";
    } else {
        $card_number = $max_card['card_number'] + 1;
    }
    $card_number = preg_replace("/4/", "5", $card_number);
    $cardModel = D("Card");
    while (true) {
        if ($cardModel->isExist($card_number, get_brand_id())) {
            $card_number += 1;
            $card_number = preg_replace("/4/", "5", $card_number);
        } else {
            break;
        }
    }
    return $card_number;
}
示例#17
0
 public function getMcs()
 {
     list($page, $sidx, $limit, $sord, $start) = getRequestParams();
     $club_id = empty($club_id) ? get_club_id() : $club_id;
     $where = "a.id=b.id and a.id=c.uid and b.club_id={$club_id} and c.group_id=6";
     $filters = I("filters", '', '');
     $filters = json_decode($filters);
     $sql = "";
     if ($filters->groupOp == 'AND') {
         $rules = $filters->rules;
         foreach ($rules as $key => $value) {
             if ($value->field == "name" && !empty($value->data)) {
                 $name = $value->data;
                 $where .= " and (a.name_cn like '%{$name}%' or a.name_en like '%{$name}%')";
             }
         }
     }
     $mcs = M()->where($where)->table(array("yoga_user_extension" => "a", "yoga_user" => "b", "yoga_auth_group_access" => "c"))->field("a.id,a.name_cn,a.group_id,a.work_status")->order("a.group_id")->limit("{$offset},{$num}")->select();
     foreach ($mcs as $key => $value) {
         if ($value['work_status'] == 1) {
             $group = array("name" => "离职");
             $mcs[$key]['group'] = $group;
         } else {
             if ($value['group_id'] != 0) {
                 $group = $this->find($value['group_id']);
                 $mcs[$key]['group'] = $group;
             } else {
                 $mcs[$key]['group'] = null;
             }
         }
     }
     $count = D("User")->getMcCount();
     if ($count > 0 && $limit > 0) {
         $total_pages = ceil($count / $limit);
     } else {
         $total_pages = 0;
     }
     $response = array("page" => $page, "total" => $total_pages, "records" => $count, "rows" => $mcs);
     return $response;
 }
示例#18
0
 public function indexAction()
 {
     $mcs = D("User")->getMc();
     $club_id = get_club_id();
     $start_time = date("Y-m");
     $ret = array();
     $followModel = M("McFollowUp");
     foreach ($mcs as $key => $value) {
         $st = McService::getInstance()->getUserOneMonthStatistics($value['id'], $start_time);
         $v = array("name" => $value["name_cn"], "protential" => 0, "transform" => 0, "sale" => 0, "invit" => 0);
         if (!empty($st)) {
             $v["protential"] = $st[0]['protential_value'];
             $v["transform"] = $st[0]['transform_value'];
         }
         $v["invit"] = $followModel->where(array("mc_id" => $value['id'], "ret" => array("neq", 0)))->count();
         $v["goodssale"] = McService::getInstance()->getThisMonthGoodsSale($value['id']);
         $v["cardsale"] = McService::getInstance()->getThisMonthCardsSale($value['id']);
         $sale[$key] = $v["goodssale"] + $v["cardsale"];
         $ret[] = $v;
     }
     array_multisort($sale, SORT_DESC, $ret);
     $this->assign("heroes", $ret);
     $this->display();
 }
示例#19
0
 public function queryAction()
 {
     list($page, $sidx, $limit, $sord, $start) = getRequestParams();
     $model = D("Channel");
     $club_id = get_club_id();
     if ($club_id != 0) {
         $condition = array("club_id" => $club_id);
     } else {
         $condition = array("brand_id" => get_brand_id());
     }
     $search = I("_search");
     if (!empty($search)) {
         $condition = array_merge($condition, getOneSearchParams());
     }
     $ret = $model->relation(true)->where($condition)->order("{$sidx} {$sord}")->limit("{$start},{$limit}")->select();
     $count = $model->where($condition)->count();
     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);
 }
示例#20
0
 public function getZhuanrangFee()
 {
     $ret = $this->getSystemGoods(self::ZHUANRANG, get_club_id());
     return $ret;
 }
 public function queryAction()
 {
     list($page, $sidx, $limit, $sord, $start) = getRequestParams();
     $condition = array("club_id" => get_club_id(), "is_member" => 1, "recharge" => array("gt", 0));
     $filters = I("filters", '', '');
     $filters = json_decode($filters);
     $sql = "";
     $setcreate_time = false;
     if ($filters->groupOp == 'AND') {
         unset($condition['recharge']);
         $rules = $filters->rules;
         foreach ($rules as $key => $value) {
             if ($value->field == "name" && !empty($value->data)) {
                 $condition["name"] = array("like", "%{$value->data}%");
             } else {
                 if ($value->field == "phone" && !empty($value->data)) {
                     $condition["phone"] = $value->data;
                 } else {
                     if ($value->field == "card_number") {
                         $card_number = $value->data;
                         $tmodel = new \Think\Model();
                         $ids = $tmodel->query("select  group_concat( distinct member_id) as ids from yoga_card where card_number='{$card_number}'");
                         $ids = $ids[0]['ids'];
                         $condition["id"] = array("in", $ids);
                     }
                 }
             }
         }
     }
     $model = D("MemberBasic");
     $ret = $model->relation("mc")->relation(true)->where($condition)->order("{$sidx} {$sord}")->limit("{$start},{$limit}")->select();
     $count = $model->where($condition)->count();
     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);
 }
示例#22
0
 public function addAction()
 {
     $model = D("PtClassPublic");
     if (!$model->create()) {
         $this->error($model->getError());
     }
     $pt = M("UserExtension")->find(I("pt_id"));
     $model->teacher_name = $pt['name_cn'];
     $time = time();
     if (!empty($_FILES["image"]["name"])) {
         $model->image = "{$time}.jpg";
     }
     $model->club_id = get_club_id();
     $model->is_self_add = 0;
     $id = $model->add();
     if (!empty($_FILES["image"]["name"])) {
         $config["savePath"] = "ptclass";
         $upload = new \Think\Upload();
         // 实例化上传类
         $upload->maxSize = 3145728;
         // 设置附件上传大小
         $upload->exts = array('jpg', 'gif', 'png', 'jpeg');
         // 设置附件上传类型
         $upload->rootPath = './Public/uploads/';
         // 设置附件上传根目录
         $upload->savePath = "ptclass/";
         $upload->autoSub = false;
         $upload->replace = true;
         $upload->saveName = "{$time}";
         $info = $upload->upload();
         if (!$info) {
             $model->delete($id);
             $this->error($upload->getError());
         }
     }
     $this->success("Success!", U('index'));
 }
示例#23
0
 public function showAction($id)
 {
     $bill = M("BillProject")->find($id);
     $this->assign("bill", $bill);
     $contract = D('Contract')->relation('card_type')->find($bill['object_id']);
     $member_id = $contract['member_id'];
     $member = M('MemberBasic')->find($member_id);
     $card_id = $contract['card_id'];
     $card = M("Card")->find($card_id);
     $this->assign("member", $member);
     $this->assign("card", $card);
     $this->assign("contract", $contract);
     $mc_id = $contract['mc_id'];
     if ($mc_id != 0) {
         $mc = M("UserExtension")->find($mc_id);
         $mc_name = $mc['name_cn'];
         $this->assign("mc_name", $mc_name);
     }
     $useClubs = D("CardUseclub")->getAllUseClub($contract['card_type']['id']);
     $clubs = "";
     foreach ($useClubs as $key => $value) {
         if ($key != 0) {
             $clubs .= "、";
         }
         $clubs .= $value['club_name'];
     }
     $this->assign("useClubs", $clubs);
     //pasy history
     $service = \Service\CService::factory("Financial");
     list($history, $count) = $service->getPayHistoryByBillId($id, 0, 999);
     $via = array();
     $via_cash = $via_check = $via_pos = false;
     $cashier_id = $contract['record_id'];
     foreach ($history as $key => $value) {
         if ($value['cash'] > 0 && !$via_cash) {
             $via[] = "现金/Cash";
             $via_cash = true;
         }
         if ($value['check'] > 0 && !$via_check) {
             $via[] = "支票/Check";
             $via_cash = true;
         }
         if ($value['pos'] > 0 && !$via_pos) {
             $via[] = "刷卡/Pos";
             $via_cash = true;
         }
         $cashier_id = $value['record_id'];
     }
     $cashier = M("UserExtension")->find($cashier_id);
     $cashier_name = $cashier['name_cn'];
     $this->assign("cashier_name", $cashier_name);
     $via = implode(",", $via);
     $this->assign("via", $via);
     $this->assign("history", $history);
     $this->assign("historycount", count($history));
     //all cardtypes that can upgrade to
     $card_type = $card['card_type'];
     $cardtypes = D("CardType")->getAllCanUpgrade($contract['start_time'], $contract['card_type']['id']);
     $this->assign("typesarr", json_encode($cardtypes));
     $this->assign("cardtypes", $cardtypes);
     $this->assign("current_contract", json_encode($contract));
     $shopkeeper = D("User")->getShopkeeper();
     if (!empty($shopkeeper)) {
         $shopkeeper_name = $shopkeeper[0]['name_cn'];
         $this->assign("shopkeeper_name", $shopkeeper_name);
     }
     $club = M("Club")->find(get_club_id());
     $this->assign("club", $club);
     $this->assign("print_time", date('Y-m-d H:i:s'));
     $content = $this->fetch("");
     $this->ajaxReturn($content);
 }
 protected function edit()
 {
     $id = I("id");
     $rules = array(array('total', '/^\\d+(\\.\\d+)?$/', '请输入正确的项目总价!', 1), array('cash', '/^\\d+(\\.\\d+)?$/', '请输入正确的现金金额!', 1), array('pos', '/^\\d+(\\.\\d+)?$/', '请输入正确的POS金额!', 1), array('check', '/^\\d+(\\.\\d+)?$/', '请输入正确的支票金额!', 1), array('recharge', '/^\\d+(\\.\\d+)?$/', '请输入正确的储值卡金额!', 1));
     $model = D("PayHistory");
     if (!$model->validate($rules)->create()) {
         $this->error($model->getError());
     }
     $projectModel = M("BillProject");
     $pay_history = $model->relation(true)->find($id);
     $pay_history['member'] = M("MemberBasic")->find($pay_history['bill']['member_id']);
     $new_pay = $pay_history;
     $new_pay['cash'] = I("cash");
     $new_pay['pos'] = I("pos");
     $new_pay['check'] = I("check");
     $new_pay['recharge'] = I("recharge");
     $new_pay['network'] = I("network");
     $new_pay['netbank'] = I("netbank");
     $new_pay['create_time'] = I("create_time");
     $ret = $model->data($new_pay)->save();
     if ($ret === false) {
         $this->error($model->getError());
     }
     $paid = $pay_history['cash'] + $pay_history['pos'] + $pay_history['check'] + $pay_history['recharge'] + $pay_history['network'] + $pay_history['netbank'];
     $projectModel->where(array("id" => $pay_history['bill_project_id']))->setField("price", I("total"));
     $new_paid = I("cash") + I("pos") + I("check") + I("recharge");
     $interval = $new_paid - $paid;
     if ($pay_history['bill']['type'] == 7) {
         $ret = M("MemberBasic")->where(array("id" => $pay_history['bill']['member_id']))->setInc("recharge", $interval);
     } else {
         $ret = M("BillProject")->where(array("id" => $pay_history['bill_project_id']))->setInc("paid", $interval);
     }
     $reason = "修改消费记录";
     $new_pay['member'] = M("MemberBasic")->find($new_pay['bill']['member_id']);
     $new_pay['bill'] = M("BillProject")->find($pay_history['bill_project_id']);
     $data = array("original_extension" => json_encode($pay_history), 'extension' => json_encode($new_pay), "reason" => $reason, "record_id" => is_user_login(), "club_id" => get_club_id(), "brand_id" => get_brand_id(), "type" => 3, "status" => 0);
     M("Review")->data($data)->add();
     $response = array("success" => true, "message" => "success!", "new_id" => $id);
     $this->ajaxReturn($response);
 }
示例#25
0
 public function queryMemberAction($name)
 {
     if (empty($name)) {
         $this->ajaxReturn(array("status" => 0, "info" => "请输入查询信息!"));
     }
     $club_id = get_club_id();
     $model = M("MemberBasic");
     $condition = array("club_id" => $club_id, "_complex" => array("name" => array("like", "%{$name}%"), "phone" => $name, "_logic" => "or"));
     $members = $model->where($condition)->select();
     $this->ajaxReturn(array("status" => 1, "data" => $members));
 }
 public function addAction()
 {
     $rules = array(array('username', '1,30', "用户名至少1-30位!", 1, 'length'), array('username', '', "用户名已被注册!", 1, 'unique'), array('password', '6,30', "密码至少6-30位!", 1, 'length'), array('confirm_password', 'password', '确认密码不正确!', 1, 'confirm'), array('name_cn', 'require', "请输入中文名!", 1), array('name_en', 'require', "请输入英文名!", 1), array('identity_card', '/^\\d{15}$|^\\d{17}(\\d|[Xx])$/', "身份证号码不对!", 2));
     $userModel = M("User");
     $extensionModel = M("UserExtension");
     if (!$userModel->validate($rules)->create()) {
         $this->error($userModel->getError());
     } else {
         $userModel->brand_id = get_brand_id();
         $userModel->club_id = get_club_id();
         $userModel->password = ucenter_md5(I("password"), C("MD5_SECRET_KEY"));
         $userModel->update_time = getDbTime();
         $id = $userModel->add();
         if (!$extensionModel->create()) {
             $userModel->delete($id);
             $this->error($extensionModel->getError());
         } else {
             $avatar = "default.jpg";
             if (!empty($_FILES["avatar"]["name"])) {
                 $config["savePath"] = "em_avatar";
                 $upload = new \Think\Upload();
                 // 实例化上传类
                 $upload->maxSize = 31457280;
                 // 设置附件上传大小
                 $upload->exts = array('jpg', 'gif', 'png', 'jpeg');
                 // 设置附件上传类型
                 $upload->rootPath = './Public/uploads/';
                 // 设置附件上传根目录
                 $upload->savePath = "em_avatar/";
                 $upload->autoSub = false;
                 $upload->replace = true;
                 $upload->saveName = "{$id}";
                 $info = $upload->upload();
                 if (!$info) {
                     $userModel->delete($id);
                     $this->error($upload->getError());
                 } else {
                     $avatar = $info["avatar"]['savename'];
                 }
             }
             $extensionModel->id = $id;
             $extensionModel->avatar = $avatar;
             $extensionModel->update_time = getDbTime();
             $extensionModel->add();
             //add roles
             $roles = I('roles');
             foreach ($roles as $key => $value) {
                 M("AuthGroupAccess")->data(array("uid" => $id, "group_id" => $value))->add();
             }
         }
     }
     $this->success('成功!', U('Shopkeeper/Employee/index'));
 }
示例#27
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("修改成功");
 }
示例#28
0
 public function getChannelUser($club_id = null)
 {
     $club_id = empty($club_id) ? get_club_id() : $club_id;
     return $this->where("a.id=b.id and a.id=c.uid and b.club_id={$club_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();
 }
示例#29
0
 public function existAction()
 {
     $club_id = get_club_id();
     $model = M("MemberBasic");
     $member = $model->where(array("club_id" => $club_id, "name" => I("name"), "phone" => I("phone")))->find();
     if (!empty($member)) {
         $this->ajaxReturn(array("status" => 0, "id" => $member["id"]));
     } else {
         $this->ajaxReturn(array("status" => 1));
     }
 }
示例#30
0
 public function editoneAction()
 {
     $time = I("time");
     $time = $time . "-01";
     $club_id = get_club_id();
     $user_id = I("user_id");
     $model = D("McPlan");
     $ret = $model->where(array("time" => $time, "club_id" => $club_id, "user_id" => $user_id))->find();
     if (!$model->create()) {
         $this->error($model->getError());
     }
     $model->time = $time;
     if (empty($ret)) {
         $model->add();
         $this->success("新增计划成功!");
     } else {
         $model->id = $ret['id'];
         $model->save();
         $this->success("修改计划成功!");
     }
 }