Ver código fonte

重新分配保洁师

DengTao 8 anos atrás
pai
commit
7f823f730e

+ 1 - 0
www/index.php

@@ -15,6 +15,7 @@
     }
 	
     if (trim($env) == 'develop'){
+        ini_set('mongo.long_as_object',1);
         define('DB_CONNETC', 'mongodb://127.0.0.1:27017');
         $config=dirname(__FILE__).'/protected/config/develop.php';
         $environment = 'develop';

+ 1 - 1
www/protected/config/test.php

@@ -48,7 +48,7 @@ return CMap::mergeArray(
             array(
                 "pingxx_api_key" => 'sk_test_TOKu94mH8m985mrj5CfTuHGK',
                 // "pingxx_api_key" => 'sk_live_CXUTEIPCscIPDjLzyUI3RI1R',
-                'qiniuConfig' => array(
+                ' qiniuConfig' => array(
                     'ak'=>'Kn8GNMFOLKTNMUaKZ6r1wnjsgTk4ideQifK3umUr',
                     'sk'=>'mLtD4GhBjQt_llcgx4rKlhAts9j8iJ0Qa5VmNyi2',
                     'icons'=>'icons',

+ 97 - 76
www/protected/controllers/ROrderController.php

@@ -354,24 +354,27 @@ class ROrderController extends AdminController{
         // 通知保洁师
         if (in_array($status, array(1,2,3,4,5)) && $toTech && $success) {
         // if ($toTech) {
-            if ($technician_obj && $technician_obj->weixin_userid) {
-                $url_prefix = ENVIRONMENT == 'product' ? 'http://api.yiguanjia.me' : 'http://apitest.yiguanjia.me';
-                $wechat = O2oApp::getWechatActive();
-                $wechat_data = array(
-                    'touser'  => $technician_obj->weixin_userid,
-                    'msgtype' => 'news',
-                    'agentid' => '24',
-                    'news'    => array(
-                        'articles' => array(
-                            array(
-                                'title' => '壹管家提示-新订单',
-                                'description' => $technician_obj->name.'你好!刚刚有一个新的订单被分配给你,请点击查看。',
-                                'url' => $url_prefix.'/index.php?r=o2o/myOrder/info&order='.$id.'&user='.$technician_id,
+            foreach($technician_ids as $key => $technician_id) {
+                $technician_obj = TechInfo::get($technician_id);
+                if ($technician_obj && $technician_obj->weixin_userid) {
+                    $url_prefix = ENVIRONMENT == 'product' ? 'http://api.yiguanjia.me' : 'http://apitest.yiguanjia.me';
+                    $wechat = O2oApp::getWechatActive();
+                    $wechat_data = array(
+                        'touser' => $technician_obj->weixin_userid,
+                        'msgtype' => 'news',
+                        'agentid' => '24',
+                        'news' => array(
+                            'articles' => array(
+                                array(
+                                    'title' => '壹管家提示-新订单',
+                                    'description' => $technician_obj->name . '你好!刚刚有一个新的订单被分配给你,请点击查看。',
+                                    'url' => $url_prefix . '/index.php?r=o2o/myOrder/info&order=' . $id . '&user=' . $technician_id,
+                                ),
                             ),
                         ),
-                    ),
-                );
-                $wechat->sendMessage($wechat_data);
+                    );
+                    $wechat->sendMessage($wechat_data);
+                }
             }
         }
 
@@ -631,82 +634,100 @@ class ROrderController extends AdminController{
      */
     public function actionResetTech() {
         $id = Yii::app()->request->getParam('id', '');
-        $technician_id = intval(Yii::app()->request->getParam('reset_technician', 0));
-        $technician_name = Yii::app()->request->getParam('reset_technician_name', '');
+        $technicians = array();
+        $technician_ids = array();
+        $technician_names = array();
+        for($i=0;$i<10;$i++) {
+            if(Yii::app()->request->getParam('reset_extra_add_info_'.$i)) {
+                $technician_ids[] = $i;
+                $technician_names[] =  Yii::app()->request->getParam('reset_extra_add_info_'.$i);
+            }
+        }
 
         // 保洁师信息检查
         // 根据ID直接查询保洁师信息(优先使用联想功能)
-        if ($technician_id != 0) {
-            $technician_obj = TechInfo::get($technician_id);
-            if ($technician_obj) {
-                $technician_id = $technician_obj->_id;
-                $technician_name = $technician_obj->name;
-            } else {
-                CommonFn::requestAjax(false, '保洁师不存在');
-            }
-        // ID为0时根据输入框信息查询
-        } else if ($technician_name != '') {
-            $criteria = new EMongoCriteria();
-            $criteria->name = $technician_name;
-            $technician_obj = TechInfo::model()->find($criteria);
-            if ($technician_obj) {
-                $technician_id = $technician_obj->_id;
-                $technician_name = $technician_obj->name;
+        $technician_objs = array();
+        foreach($technician_ids as $key => $technician_id) {
+            if ($technician_id != 0) {
+                $technician_obj = TechInfo::get($technician_id);
+                if ($technician_obj) {
+                    $technicians[$key]['technician_id'] = $technician_obj->_id;
+                    $technicians[$key]['technician_name']  = $technician_obj->name;
+
+                } else {
+                    CommonFn::requestAjax(false, '保洁师不存在');
+                }
+                // ID为0时根据输入框信息查询
             } else {
-                CommonFn::requestAjax(false, '保洁师不存在');
+                foreach ($technician_names as $key => $technician_name)
+                if ($technician_name != '') {
+                    $criteria = new EMongoCriteria();
+                    $criteria->name = $technician_name;
+                    $technician_obj = TechInfo::model()->find($criteria);
+                    if ($technician_obj) {
+                        $technicians[$key]['technician_id'] = $technician_obj->_id;
+                        $technicians[$key]['technician_name']  = $technician_obj->name;
+                    } else {
+                        CommonFn::requestAjax(false, '保洁师不存在');
+                    }
+                } else {
+                    CommonFn::requestAjax(false, '保洁师姓名不能为空');
+                }
+
             }
-        } else {
-            CommonFn::requestAjax(false, '保洁师姓名不能为空');
+            $technician_objs[] = $technician_obj;
         }
 
         $orderid = new MongoId($id);
         $order = ROrder::model()->get($orderid);
         $toTech = $order->technician != $technician_id ? true : false;
         $fromTech = $order->technician;
-        $order->technician = $technician_id;
-        $order->technician_name = $technician_name;
-        $success = $order->save(true, array('technician', 'technician_name'));
-
-        if ($toTech && $success) {
-            // 发送给被分配保洁师
-            $wechat = O2oApp::getWechatActive();
-            $url_prefix = ENVIRONMENT == 'product' ? 'http://api.yiguanjia.me' : 'http://apitest.yiguanjia.me';
-            if (!empty($technician_obj->weixin_userid)) {
-                $wechat_data = array(
-                    'touser'  => $technician_obj->weixin_userid,
-                    'msgtype' => 'news',
-                    'agentid' => '24',
-                    'news'    => array(
-                        'articles' => array(
-                            array(
-                                'title' => '壹管家提示-新订单',
-                                'description' => $technician_obj->name.'你好!刚刚有一个新的订单被分配给你,请点击查看。',
-                                'url' => $url_prefix.'/index.php?r=o2o/myOrder/info&order='.$id.'&user='.$technician_id,
+        //$order->technician = $technician_id;
+        //$order->technician_name = $technician_name;
+        $order->technicians = $technicians;
+        $success = $order->save(true, array('technicians'));
+        foreach ($technician_objs as $technician_obj) {
+            if ($toTech && $success) {
+                // 发送给被分配保洁师
+                $wechat = O2oApp::getWechatActive();
+                $url_prefix = ENVIRONMENT == 'product' ? 'http://api.yiguanjia.me' : 'http://apitest.yiguanjia.me';
+                if (!empty($technician_obj->weixin_userid)) {
+                    $wechat_data = array(
+                        'touser' => $technician_obj->weixin_userid,
+                        'msgtype' => 'news',
+                        'agentid' => '24',
+                        'news' => array(
+                            'articles' => array(
+                                array(
+                                    'title' => '壹管家提示-新订单',
+                                    'description' => $technician_obj->name . '你好!刚刚有一个新的订单被分配给你,请点击查看。',
+                                    'url' => $url_prefix . '/index.php?r=o2o/myOrder/info&order=' . $id . '&user=' . $technician_obj->_id,
+                                ),
                             ),
                         ),
-                    ),
-                );
-                $wechat->sendMessage($wechat_data);
-            }
+                    );
+                    $wechat->sendMessage($wechat_data);
+                }
 
-            // 发送给原保洁师
-            $fromTechObj = TechInfo::get($fromTech);
-            if (!empty($fromTechObj) && !empty($fromTechObj->weixin_userid)) {
-                $wechat_data = array(
-                    'touser'  => $fromTechObj->weixin_userid,
-                    'msgtype' => 'news',
-                    'agentid' => '24',
-                    'news'    => array(
-                        'articles' => array(
-                            array(
-                                'title' => '壹管家提示-订单已被重新分配',
-                                'description' => $fromTechObj->name.'你好!预定时间在'.date('m月d日H:i', $order->booking_time).'的订单已被分配给其他保洁师。',
-                                'url' => $url_prefix.'/index.php?r=o2o/myOrder/info&order='.$id.'&user='.$technician_id,
+                // 发送给原保洁师
+                $fromTechObj = TechInfo::get($fromTech);
+                if (!empty($fromTechObj) && !empty($fromTechObj->weixin_userid)) {
+                    $wechat_data = array(
+                        'touser' => $fromTechObj->weixin_userid,
+                        'msgtype' => 'news',
+                        'agentid' => '24',
+                        'news' => array(
+                            'articles' => array(
+                                array(
+                                    'title' => '壹管家提示-订单已被重新分配',
+                                    'description' => $fromTechObj->name . '你好!预定时间在' . date('m月d日H:i', $order->booking_time) . '的订单已被分配给其他保洁师。',
+                                    'url' => $url_prefix . '/index.php?r=o2o/myOrder/info&order=' . $id . '&user=' . $technician_obj->_id,
+                                ),
                             ),
                         ),
-                    ),
-                );
-                $wechat->sendMessage($wechat_data);
+                    );
+                    $wechat->sendMessage($wechat_data);
+                }
             }
         }
         CommonFn::requestAjax($success, '', array());

+ 6 - 0
www/protected/runtime/gii-1.1.13/ControllerCode.php

@@ -0,0 +1,6 @@
+<?php
+return array (
+  'template' => 'default',
+  'baseClass' => 'Controller',
+  'actions' => 'index',
+);

+ 4 - 0
www/protected/runtime/gii-1.1.13/ModuleCode.php

@@ -0,0 +1,4 @@
+<?php
+return array (
+  'template' => 'default',
+);

BIN
www/protected/runtime/state.bin.cpgz


+ 35 - 7
www/protected/views/rOrder/index.php

@@ -233,13 +233,12 @@
                                         </div>
 
                                         <div class="box_flex f_content" id="tech">
-                                            <div id="extra_add_info" >
+                                            <div id="extra_add_info">
 
                                             </div>
                                             <input name="technician_name" style="width: 250px;" id="setTechnician_content"/>
                                             <input name="technician" type="hidden" id="technician_id" value="0" />
                                             <a class='easyui-linkbutton' plain="true" iconCls="icon-add" onclick="add_extra();return false;">添加保洁师</a><br/>
-                                        <input type="hidden" name="extra" id="add_extra" value='' />
                                             </div>
                                     </div>
                                 </li>
@@ -306,10 +305,16 @@
                                             <div class="f_label">
                                                 <span>选择保洁师: </span>
                                             </div>
-                                            <div class="box_flex f_content">
+
+                                            <div class="box_flex f_content" id="reset_tech">
+                                                <div id="reset_extra_add_info">
+
+                                                </div>
+
                                                 <input name="id" type="hidden" />
                                                 <input id="resetTec" name="reset_technician" type="hidden" value="0"/>
                                                 <input id="resetTecName" name="reset_technician_name" style="width:150px;"/>
+                                                <a class='easyui-linkbutton' plain="true" iconCls="icon-add" onclick="reset_add_extra();return false;">添加保洁师</a><br/>
                                                 <a href="#" class="easyui-linkbutton set_button" iconCls="icon-save" onclick="reset_technician();return false;">保存</a>
                                             </div>
                                         </div>
@@ -992,7 +997,7 @@
             var tmp = '';
             for (var j in technicians) {
                 tmp +='<div id="extra_add_info_'+technicians[j]['technician_id']+'" style="height:4px">'+technicians[j]['technician_name']+','+technicians[j]['technician_id'];
-                tmp += '<a href="" onclick="delete_extra('+technicians[j]['technician_id']+');return false;">删除</a></div><br/>';
+                /*tmp += '<a href="" onclick="delete_extra('+technicians[j]['technician_id']+');return false;">删除</a></div><br/>';*/
                 tmp += '<input type="hidden" id="extra_add_info_hidden_'+technicians[j]['technician_id']+'" name="extra_add_info_'+technicians[j]['technician_id']+'" value='+technicians[j]['technician_name']+'/></div><br/>';
             }
             var address_contact = '省:'+data['address']['province']+'<br />'+'市:'+data['address']['city']+'<br />'+'区:'+data['address']['area']+'<br />'+'地址:'+data['address']['poi']['name']+' '+data['address']['detail']+'<br />'+'姓名:'+data['address']['name']+'<br />'+'手机号:'+data['address']['mobile']+'<br />'+'<a href="javascript:void();" lat='+data['address']['position'][1]+' lng='+data['address']['position'][0]+' id="view_position">查看坐标</a>';
@@ -1430,11 +1435,17 @@ function reset_technician() {
         $.messager.alert('提示', '请先选择一个订单');
         return false;
     }
-    var name = jq_resetTec_form.find('input[name="reset_technician_name"]').val();
-    if (name.length == 0) {
+    var name = jq_resetTec_form.find("input[id='reset_add']").val();
+    var add = jq_resetTec_form.find('input[name="reset_technician_name"]').val();
+    if (name == undefined) {
         $.messager.alert('提示', '请先选择一名保洁师');
         return false;
     }
+
+    if (add.length != 0) {
+        $.messager.alert('提示', '请点击添加保洁师');
+        return false;
+    }
     $.messager.progress();
     jq_resetTec_form.form('submit');
 }
@@ -1508,10 +1519,27 @@ function add_extra(){
         setTechnician_id =  $('#technician_id').val();
         $output = "<div id='extra_add_info_"+setTechnician_id+"' style='height: 4px'>"+setTechnician_content+","+setTechnician_id;
         $output +="<a href ='' onclick='delete_extra("+setTechnician_id+");return false;'>删除</a></div><br/>";
-        $output +="<input type='hidden' id='extra_add_info_hidden_"+setTechnician_id+"' name='extra_add_info_"+setTechnician_id+"' value="+setTechnician_content+"/></div><br/>";
+        $output +="<input type='hidden' id='extra_add_info_hidden_"+setTechnician_id+"' name='extra_add_info_"+setTechnician_id+"' value='"+setTechnician_content+"' /></div>";
 
         $("#extra_add_info").append($output);
     }
 
 }
+function reset_delete_extra(msg){
+    $('#reset_extra_add_info_'+msg).remove();
+    $('#reset_extra_add_info_hidden_'+msg).remove();
+    $('#reset_add').remove();
+}
+function reset_add_extra(){
+    if ($('#resetTec').val()) {
+        resetTec = $('#resetTec').val();
+        resetTecName = $('#resetTecName').val();
+
+        $output = "<div id='reset_extra_add_info_"+resetTec+"' style='height: 4px'>"+resetTecName+","+resetTec;
+        $output +="<a href ='' onclick='reset_delete_extra("+resetTec+");return false;'>删除</a></div><br/>";
+        $output +="<input type='hidden' id='reset_extra_add_info_hidden_"+resetTec+"' name='reset_extra_add_info_"+resetTec+"' value='"+resetTecName+"' /></div>";
+        $output += "<input type='hidden' id='reset_add' name='reset_add' value='1'>";
+        $("#reset_extra_add_info").append($output);
+    }
+}
 </script>