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));
 }
Example #2
0
		            <?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');
 }