private function addBeautician() { $user_model = new User(); $beautician_model = new Beautician(); $image_model = Image::model(); if (isset($_POST["User"]) && isset($_POST["Beautician"])) { $user_model->attributes = $_POST["User"]; $beautician_model->attributes = $_POST["Beautician"]; //设定用户种别为:美容师 $user_model->usr_kind = 1; //设定用户密码为:xyz123456 $user_model->usr_password = md5("xyz123456"); $user_model->user_chg_pwd_old = "oldpassword"; $user_model->user_chg_pwd_new = "newpassword"; $user_model->user_chg_pwd_new_cfm = "newpassword"; //设置用户头像的默认值 if ($user_model->usr_pic_id == '') { $user_model->usr_pic_id = '100000'; } if ($user_model->save()) { $beautician_model->pk_beau_id = $user_model->pk_usr_id; if ($beautician_model->save()) { $this->redirect("./index.php?r=user/show"); } else { echo "<script>alert('用户添加失败!');</script>"; $user_model->delete(); } } else { //var_dump($user_model->getErrors()); //var_dump($customer_info->getErrors()); echo "<script>alert('用户添加失败!');</script>"; } } $this->renderPartial('add_step2', array("user_info" => $user_model, "beautician_info" => $beautician_model, "image_model" => $image_model, "user_kind" => 1)); }
<?php } else { ?> <a style="text-decoration: none" href="./index.php?r=aptm/cal">【返回】</a> <?php } ?> </span> </span> </div> <div></div> <div style="font-size: 13px;margin: 10px 5px"> <?php //理疗师姓名查找用数据准备 $beau_model = Beautician::model(); $query = "select * from tbl_beautician"; $beau_info = $beau_model->findAllBySql($query); //构建dropDownList的option用的数组 $beau_options = array(); foreach ($beau_info as $_beau_v) { if ($_beau_v->beau_valid != 1) { continue; } $beau_options["{$_beau_v->pk_beau_id}"] = "{$_beau_v->beau_realname}"; } //商品名称及时间数据准备 $ord_item_model = Order_Item::model(); $ord_item_info = $ord_item_model->findByPk($aptm_info->aptm_ord_item_id); if (isset($ord_item_info)) { $comm_model = Commodity::model();
/** * 按照选定的日期和美疗师来显示预约(包括普通预约和1元预约),用以计算金额 * @throws CException */ public function actionSelectAptmByDay() { define('APTM_ID', 0); define('COMM_NAME', 1); define('CUST_NAME', 2); define('PRICE', 3); if (isset($_POST['beau_id']) && $_POST['beau_id'] != 0 && isset($_POST['from_date_year']) && isset($_POST['from_date_month']) && isset($_POST['from_date_day']) && isset($_POST['to_date_year']) && isset($_POST['to_date_month']) && isset($_POST['to_date_day'])) { //整理日期 $from_date = $_POST['from_date_year'] . '-' . $_POST['from_date_month'] . '-' . $_POST['from_date_day']; $to_date = $_POST['to_date_year'] . '-' . $_POST['to_date_month'] . '-' . $_POST['to_date_day']; $from_date = date("Y-m-d H:i:s", strtotime("{$from_date}")); $to_date = date('Y-m-d H:i:s', strtotime("{$to_date} +1 day")); if ($from_date > $to_date) { echo "<script>alert('起始日期应该早于或等于终了日期!');</script>"; } //TODO:金额信息较复杂,应该需要再建一张表来计算,需要讨论 //传递形式: /* xxxx-xx-xx ------------------------------------------ |aptmid|aaaa | |项目名 |aaaa | |客户名 |bbbb | |金额: |111 | ------------------------------------------ xxxx-xx-xx ------------------------------------------ |aptmid|aaaa | |项目名 |aaaa | |客户名 |bbbb | |金额: |111 | ------------------------------------------ |aptmid|aaaa | |项目名 |aaaa | |客户名 |bbbb | |金额: |111 | ------------------------------------------ */ //定义数组 $day_count = $this->countDays($from_date, $to_date); $aptm_info_by_day = array($day_count); //查询普通预约 //(从tbl_appointment的预约日期入手,包括关联的tbl_order_item,tbl_commodity以获取客户名,项目名等信息) $aptm_model = Aptm::model(); $query = 'select * from tbl_appointment where aptm_beau_id = ' . $_POST['beau_id'] . ' and aptm_time >= "' . $from_date . '"' . ' and aptm_time < "' . $to_date . '"'; $aptm_info = $aptm_model->findAllBySql($query); if (isset($aptm_info)) { for ($cnt_day = 0; $cnt_day < $day_count; $cnt_day++) { $counter_by_day = 0; foreach ($aptm_info as $_v_aptm_info) { $day_selected = date('Y-m-d', strtotime("{$from_date}" . ' +' . $cnt_day . ' day')); $day_compare = date('Y-m-d', strtotime($_v_aptm_info->aptm_time)); if ($day_selected == $day_compare) { // $info_by_day[APTM_ID] = $_v_aptm_info->pk_aptm_id; // $info_by_day[CUST_NAME] = $_v_aptm_info->aptm_cust_name; // $info_by_day[COMM_NAME] = '未取得'; // $info_by_day[PRICE] = 0; $info_by_day = new InfoByDay(); $info_by_day->aptm_id = $_v_aptm_info->pk_aptm_id; $info_by_day->cust_name = $_v_aptm_info->aptm_cust_name; //查询tbl_order_item表以取得commodity_id $order_item_model = Order_Item::model(); $order_item_info = $order_item_model->findByPk($_v_aptm_info->aptm_ord_item_id); if (isset($order_item_info)) { $comm_model = Commodity::model(); $comm_info = $comm_model->findByPk($order_item_info->ord_item_comm_id); if (isset($comm_info)) { // $info_by_day[COMM_NAME] = $comm_info->comm_name; $info_by_day->comm_name = $comm_info->comm_name; } //TODO:此处为暂定处理,在修改金额的时候需要修改! // $info_by_day[PRICE] = $order_item_info->ord_item_price; $info_by_day->price = $order_item_info->ord_item_price; } $aptm_info_by_day[$cnt_day][$counter_by_day] = $info_by_day; $counter_by_day++; } } } } //查询1元特殊预约 $contact_model = Contact::model(); $query = 'select * from tbl_contact where con_beau_id = ' . $_POST['beau_id'] . ' and con_time >="' . $from_date . '"' . ' and con_time <"' . $to_date . '"'; $contact_info = $contact_model->findAllBySql($query); $contact_info_by_day = array($day_count); if (isset($contact_info)) { for ($cnt_day = 0; $cnt_day < $day_count; $cnt_day++) { $counter_by_day = 0; foreach ($contact_info as $_v_contact_info) { // $info_by_day[APTM_ID] = $_v_contact_info->pk_contact_id; // $info_by_day[CUST_NAME] = $_v_contact_info->con_name; // $info_by_day[COMM_NAME] = '未取得'; // //TODO:此处为暂定处理,在修改金额的时候需要修改! // $info_by_day[PRICE] = 0; $info_by_day = new InfoByDay(); $info_by_day->aptm_id = $_v_contact_info->pk_contact_id; $info_by_day->cust_name = $_v_contact_info->con_name; //查询tbl_code表以获取COMM_NAME $code_model = Code::model(); $query = 'select * from tbl_code where code_tbl_name="tbl_contact" and code_name="con_prefer" and code_value=' . $_v_contact_info->con_prefer; $code_info = $code_model->findBySql($query); if (isset($code_info)) { // $info_by_day[COMM_NAME] = $code_info->code_meaning; $info_by_day->comm_name = $code_info->code_meaning; } $contact_info_by_day[$cnt_day][$counter_by_day] = $info_by_day; //TODO:此处的三维数组改为自定义类试试看 $counter_by_day++; } } } //获取美疗师姓名 $beau_model = Beautician::model(); $beau_info = $beau_model->findByPk($_POST['beau_id']); $beau_name = '没名字'; if (isset($beau_info)) { $beau_name = $beau_info->beau_realname; } // //转向列表显示页面 // $this->redirect('./index.php?r=aptm/showAptmByDay&beau_name='.$beau_name. // 'from_date='.$from_date. // 'to_date='.$to_date. // 'day_count='.$day_count. // 'aptm_info_by_day='.$aptm_info_by_day. // 'contact_info_by_day='.$contact_info_by_day); $this->actionShowAptmByDay($beau_name, $from_date, $to_date, $day_count, $aptm_info_by_day, $contact_info_by_day); return; } //有东西没有选择的话,依旧描绘当前的选择视图 //TODO:需要将已经选择的内容回传给视图以便修改 $this->renderPartial('selectAptmByDay'); }