示例#1
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;
 }
示例#2
0
 function actionCloseTech()
 {
     $oid = $_POST['oid'];
     $today = date('Y-m-d', strtotime('today'));
     $res1 = OrderStan::updateStanByParam('tech_date', $today, $oid);
     $res2 = OrderStan::updateStanByParam('tech_end', '2', $oid);
     echo $res1 && $res2;
     return true;
 }
示例#3
0
 function actionClaim()
 {
     $ri = $_COOKIE['ri'];
     $log = $_COOKIE['login'];
     if (!isset($ri)) {
         header('Location: /' . SITE_DIR . '/auth/showAuth');
     }
     //количество недель для отображения
     $nW = 6;
     $today = strtotime('today');
     $first = date('Y-m-d', strtotime('last sunday + 24 hours -1 week'));
     $last = date('Y-m-d', strtotime('last sunday + 24 hours +' . $nW . ' week'));
     //получить список id заказов в диапазоне дат
     $idList = OrderStan::getOrdersByPeriod($first, $last);
     $this->formMass($idList);
     $orderList = $this->claim;
     $page = SITE_PATH . 'views/schedule.php';
     include SITE_PATH . 'views/layout.php';
     return true;
 }
示例#4
0
 function actionPlan()
 {
     $ri = $_COOKIE['ri'];
     $log = $_COOKIE['login'];
     if (!isset($ri)) {
         header('Location: /' . SITE_DIR . '/auth/showAuth');
     }
     //список сборщиков
     $userList = User_post::getUsersByPost(17);
     $sborList = array();
     foreach ($userList as $uid) {
         $datasb = Users::getUserById($uid['uid']);
         if ($datasb['operative'] == 1) {
             $abr = Datas::nameAbr($datasb['name']);
             $sborList[$datasb['id']] = $abr;
         }
     }
     //поставить в план
     $in_plan = array();
     //незакрытые
     $in_process = array();
     //тетрадь сборок
     $ass_list = array();
     $ass = OrderStan::getOrdersByPole('sborka_end', '0');
     foreach ($ass as $key => $value) {
         $moun = Mounting::getMountByPole('oid', $key);
         $orders = Order::getOrderById($key);
         if (!$moun && $orders) {
             $in_plan[$key] = array('con' => $orders['contract']);
         }
         foreach ($moun as $mont) {
             if ($mont['uid'] != '0') {
                 $sbname = $sborList[$mont['uid']];
             } else {
                 $sbname = '';
             }
             if ($mont['m_date'] == '0000-00-00') {
                 $in_plan[$key] = array('con' => $orders['contract'], 'sbname' => $sbname);
             } else {
                 $ass_list[$mont['m_date']][] = array('oid' => $key, 'con' => $orders['contract'], 'adress' => $orders['adress'], 'sbname' => $sbname);
                 //список сборщиков выходных
                 $coll_hol[$mont['m_date']] = Freemen::getFreemen($mont['m_date']);
             }
         }
         $last_mount = Mounting::getMountingLast($key);
         if ($last_mount) {
             $in_process[$key] = array('con' => $orders['contract'], 'sbname' => $last_mount['uid']);
         }
     }
     ksort($ass_list);
     //список выходных с сегодняшнего дня
     $free = Freemen::getFreeDays();
     foreach ($free as $i => $one) {
         $free[$i]['name'] = $sborList[$one['uid']];
         $free[$i]['cpdate'] = date('d.m', strtotime($one['date']));
     }
     $page = SITE_PATH . 'views/mounting.php';
     //        $page = SITE_PATH.'views/assembly.php';
     include SITE_PATH . 'views/layout.php';
     return true;
 }
示例#5
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;
 }
示例#6
0
 function actionTransfer()
 {
     $oid = $_POST['oid'];
     $date = $_POST['date'];
     OrderStan::updateStanByParam('plan', $date, $oid);
     return true;
 }
示例#7
0
 function actionChangeDateStan()
 {
     $oid = $_POST['oid'];
     $pole = $_POST['pole'];
     $poledb = $this->arr_stan_date[$pole];
     $date = $_POST['date'];
     $datedb = preg_replace('/(\\d{1,2})\\.(\\d{1,2})\\.(\\d{4})/', '\\3-\\2-\\1', $date);
     $resget = OrderStan::getOrdersByPole('oid', $oid);
     if ($resget[$oid][$poledb] == '0000-00-00') {
         $res = OrderStan::updateStanByParam($poledb, $datedb, $oid);
     } else {
         $res = $resget[$oid][$poledb];
     }
     echo $res;
     return true;
 }
示例#8
0
 function actionIndex()
 {
     $ri = $_COOKIE['ri'];
     $log = $_COOKIE['login'];
     if (!isset($ri)) {
         header('Location: /' . SITE_DIR . '/auth/showAuth');
     }
     $contract = '';
     $con_date = '';
     $name = '';
     $prod = '';
     $termin = '';
     $otkr = 0;
     $sum = '';
     $rassr = 0;
     $beznal = 0;
     $pred = '';
     $dis = '';
     $adress = '';
     $phone = '';
     $note = '';
     //получить список дизайнеров
     $userList = User_post::getUsersByPost(5);
     $disList = array();
     foreach ($userList as $disid) {
         $datadis = Users::getUserById($disid['uid']);
         if ($datadis['validation'] == 1) {
             $disList[] = array('uid' => $datadis['id'], 'name' => $datadis['name']);
         }
     }
     //    var_dump($disList);
     if (isset($_POST['submit'])) {
         //текстовые поля
         if (isset($_POST['num'])) {
             $contract = $_POST['num'];
         }
         if (isset($_POST['con_date'])) {
             $con_date = $_POST['con_date'];
         }
         if (isset($_POST['name'])) {
             $name = $_POST['name'];
         }
         if (isset($_POST['prod'])) {
             $prod = $_POST['prod'];
         }
         if (isset($_POST['term'])) {
             $termin = $_POST['term'];
             $term = Datas::checkSunday($termin);
         }
         if (isset($_POST['sum'])) {
             $sum = str_replace(",", ".", $_POST['sum']);
         }
         if (isset($_POST['pred'])) {
             $pred = str_replace(",", ".", $_POST['pred']);
         }
         if (isset($_POST['adress'])) {
             $adress = $_POST['adress'];
         }
         if (isset($_POST['phone'])) {
             $phone = $_POST['phone'];
         }
         if (isset($_POST['note'])) {
             $note = $_POST['note'];
         }
         //чекбоксы
         if (isset($_POST['beznal'])) {
             $beznal = 1;
         }
         if (isset($_POST['otkr'])) {
             $otkr = 1;
         }
         if (isset($_POST['rassr'])) {
             $rassr = 1;
         }
         //селект
         if (isset($_POST['dis'])) {
             $dis = $_POST['dis'];
         }
         $errors = false;
         if (!Datas::checkPole($contract)) {
             $errors[] = 'Не введен номер заказа';
         }
         if (!Datas::checkPole($name)) {
             $errors[] = 'Как обращаться к заказчику?';
         }
         if (!Datas::checkPole($termin) && $otkr == 0) {
             $errors[] = 'Не указан срок договора';
         }
         if (!Datas::checkPole($sum)) {
             $errors[] = 'Укажите сумму договора';
         }
         if (!Datas::checkPole($phone)) {
             $errors[] = 'Введите номер телефона';
         }
         $dubl = Order::getOrdersByParam('contract', $contract);
         if (!empty($dubl)) {
             $errors[] = 'Уже есть заказ с таким номером';
         }
         $result = NULL;
         if (!$errors) {
             //вносим в базу
             $result = Order::add($contract, $con_date, $name, $prod, $adress, $phone, $term, $dis, $sum, $pred, $rassr, $beznal);
             if (!empty($result)) {
                 OrderStan::add($result, $term);
                 if ($note != '') {
                     Notes::setNote($result, $note);
                 }
             }
         }
     }
     $page = SITE_PATH . 'views/new.php';
     include SITE_PATH . 'views/layout.php';
     return true;
 }