Пример #1
0
 public function formMass($idList)
 {
     $todW = date('W', strtotime('today'));
     $claimList = array();
     $orderList = array();
     foreach ($idList as $order) {
         //номер текущей недели
         $nweek = date('W', strtotime($order['plan'])) - $todW;
         $dweek = date('w', strtotime($order['plan']));
         $orderOne = Order::getOrderById($order['oid']);
         if (isset($orderOne['contract'])) {
             if (Datas::isRekl($orderOne['contract'])) {
                 if ($order['otgruz_end'] == 2 || $orderOne['sum'] >= 1000) {
                     $claimList[$nweek . '-' . $dweek][$order['oid']] = $orderOne;
                     $claimList[$nweek . '-' . $dweek][$order['oid']]['plan'] = $order['plan'];
                     $claimList[$nweek . '-' . $dweek][$order['oid']]['tech_end'] = $order['tech_end'];
                     $claimList[$nweek . '-' . $dweek][$order['oid']]['upak_end'] = $order['upak_end'];
                     $claimList[$nweek . '-' . $dweek][$order['oid']]['otgruz_end'] = $order['otgruz_end'];
                 }
             } else {
                 $orderList[$nweek . '-' . $dweek][$order['oid']] = $orderOne;
                 $orderList[$nweek . '-' . $dweek][$order['oid']]['plan'] = $order['plan'];
                 $orderList[$nweek . '-' . $dweek][$order['oid']]['tech_end'] = $order['tech_end'];
                 $orderList[$nweek . '-' . $dweek][$order['oid']]['upak_end'] = $order['upak_end'];
                 $orderList[$nweek . '-' . $dweek][$order['oid']]['otgruz_end'] = $order['otgruz_end'];
             }
         }
     }
     $this->order = $orderList;
     $this->claim = $claimList;
 }
Пример #2
0
 function actionClose($oid)
 {
     $today = date('Y-m-d', strtotime('today'));
     //получить данные о рекламациях
     $con = Order::getOrderById($oid);
     $noer = 1;
     if (!Datas::isRekl($con['contract'])) {
         $allrekl = Order::getOrdersLikeParam('contract', $con['contract']);
         foreach ($allrekl as $order) {
             $rekl = Datas::isRekl($order['contract']);
             $stan = OrderStan::getOrdersByPole('oid', $order['id']);
             if ($stan[$order['id']]['sborka_end'] == 0 && $rekl == 1) {
                 $noer = 0;
             }
         }
     }
     if ($noer == 1) {
         $res1 = OrderStan::updateStanByParam('sborka_end_date', $today, $oid);
         $res2 = OrderStan::updateStanByParam('sborka_end', '2', $oid);
         echo $res1 && $res2;
         //           echo $noer;
     } else {
         echo $noer;
     }
     return true;
 }
Пример #3
0
 function actionSchedule()
 {
     $ri = $_COOKIE['ri'];
     $log = $_COOKIE['login'];
     if (!isset($ri)) {
         header('Location: /' . SITE_DIR . '/auth/showAuth');
     }
     $user = $_COOKIE['uid'];
     //   $user = 15;
     /*       if($ri!=6 && $ri!=7 && $ri!=1){
                 header('Location: /'.SITE_DIR.'/schedule');
             }*/
     //выбрать заказы несчитанные
     $order_current = OrderStan::getTechNotEnd($user);
     $order_overdue = array();
     foreach ($order_current as $key => $order) {
         if (strtotime($key) < strtotime('today')) {
             foreach ($order as $ord_one) {
                 $order_overdue[] = $ord_one;
             }
             unset($order_current[$key]);
         }
     }
     //     var_dump($order_current); die;
     //заказы закрытые за последний и текущий месяц
     $order_end = array();
     $claim_end = array();
     $order_list = OrderStan::getTechEnd($user);
     //перебор и сортировка
     $m = date('m');
     $month_of_year = array('01' => 'январь', '02' => 'февраль', '03' => 'март', '04' => 'апрель', '05' => 'май', '06' => 'июнь', '07' => 'июль', '08' => 'август', '09' => 'сентябрь', '10' => 'октябрь', '11' => 'ноябрь', '12' => 'декабрь');
     foreach ($month_of_year as $num => $name) {
         $sum_order[$name] = 0;
         $sum_claim[$name] = 0;
         $count_order[$name] = 0;
         $count_claim[$name] = 0;
     }
     foreach ($order_list as $order_one) {
         $pieces = explode('-', $order_one['tech_date']);
         $mbd = $pieces[1];
         if (Datas::isRekl($order_one['contract'])) {
             $claim_end[$month_of_year[$mbd]][] = $order_one;
             $sum_claim[$month_of_year[$mbd]] += $order_one['sum'];
             $count_claim[$month_of_year[$mbd]]++;
         } else {
             $order_end[$month_of_year[$mbd]][] = $order_one;
             $sum_order[$month_of_year[$mbd]] += $order_one['sum'];
             $count_order[$month_of_year[$mbd]]++;
         }
     }
     $page = SITE_PATH . 'views/technologist.php';
     include SITE_PATH . 'views/layout.php';
     return true;
 }
Пример #4
0
 function actionAssembly()
 {
     $ri = $_COOKIE['ri'];
     $log = $_COOKIE['login'];
     if (!isset($ri)) {
         header('Location: /' . SITE_DIR . '/auth/showAuth');
     }
     $begin = '';
     $end = '';
     if (isset($_POST['submit'])) {
         if (isset($_POST['begin']) && isset($_POST['end'])) {
             $begin = Datas::dateToDb($_POST['begin']);
             $end = Datas::dateToDb($_POST['end']);
             $odderList = array();
             //закрытые заказы
             $beznal = array();
             $coll = array();
             $rekl = array();
             $dillerskie = array();
             $dontclose = array();
             //список диллерских инициалов
             $dil = Dillers::getAllDillers();
             $list = OrderStan::getOrdersByPeriod($begin, $end, 'sborka_end_date');
             foreach ($list as $one) {
                 $order = Order::getOrderById($one['oid']);
                 if ($order) {
                     $order['sborka_end_date'] = $one['sborka_end_date'];
                     //выделить безнал и рекламации
                     if ($order['beznal'] == 1 || $order['rassr'] == 1) {
                         $beznal[$order['collector']][] = $order;
                     } elseif (Datas::isRekl($order['contract'])) {
                         $rekl[$order['collector']][] = $order;
                     } else {
                         $d = false;
                         foreach ($dil as $onedil) {
                             //найти подстроку в номере договора
                             $pos = strpos($order['contract'], $onedil['flag']);
                             if ($pos !== false && $pos == 0) {
                                 $d = true;
                             }
                         }
                         if ($d) {
                             $dillerskie[$order['collector']][] = $order;
                         } else {
                             $odderList[$order['collector']][] = $order;
                         }
                     }
                 }
             }
         }
     }
     //список всех сборщиков
     $coll = array();
     $idusers = User_post::getUsersByPost(17);
     foreach ($idusers as $id) {
         $user = Users::getUsersByParam('id', $id['uid']);
         $coll[$user[0]['id']] = $user[0]['name'];
         //незакрытые заказы
         $dontclose[$id['uid']] = OrderStan::getNeSobr($id['uid']);
     }
     $page = SITE_PATH . 'views/repsb.php';
     include SITE_PATH . 'views/layout.php';
     return true;
 }