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; }
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; }
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; }
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; }