MODEL('companyorder'); $where = $urlarr = array(); $where['order_state'] = 2; $where['order_price'] = array('>', 0); if (isset($_GET['iscrm']) && $_GET['iscrm'] == 1){ $where['crm_uid'] = array('>', 0); $urlarr['iscrm'] = $_GET['iscrm']; } if ($_GET['time']) { if ($_GET['time'] == -1) { $timeBegin = mktime(0, 0, 0, date('m'), date('d'), date('y')); $timeEnd = time(); } elseif ($_GET['time'] == 1) { $timeBegin = mktime(0, 0, 0, date('m'), date('d'), date('y')) - 86400; $timeEnd = mktime(23, 59, 59, date('m'), date('d'), date('Y')) - 86400; } else { $timeBegin = mktime(0, 0, 0, date('m'), date('d'), date('Y')) - $_GET['time'] * 86400; $timeEnd = mktime(23, 59, 59, date('m'), date('d'), date('Y')); } $where['PHPYUNBTWSTART_A'] = ''; $where['order_time'][] = array('>=', $timeBegin, ''); $where['order_time'][] = array('<=', $timeEnd, ''); $where['PHPYUNBTWEND_A'] = ''; $urlarr['time'] = urlencode($_GET['time']); } if ($_GET['stime']) { $stime = explode('-', $_GET['stime']); $etime = explode('-', $_GET['etime']); $timeBegin = mktime(0, 0, 0, $stime[1], $stime[2], $stime[0]); $timeEnd = mktime(23, 59, 59, $etime[1], $etime[2], $etime[0]); $where['PHPYUNBTWSTART_A'] = ''; $where['order_time'][] = array('>=', $timeBegin, ''); $where['order_time'][] = array('<=', $timeEnd, ''); $where['PHPYUNBTWEND_A'] = ''; $urlarr['stime'] = urlencode($_GET['stime']); $urlarr['etime'] = urlencode($_GET['etime']); } $where['groupby'] = 'date'; $urlarr = $_GET; $urlarr['page'] = '{{page}}'; $pageurl = Url($_GET['m'], $urlarr, 'admin'); $limit = 10; $page = $_GET['page'] < 1 ? 1 : $_GET['page']; $rows = $companyorderM->getList($where, array('field' => "sum(order_price) as `num`,FROM_UNIXTIME(order_time,'%Y-%m-%d') as `date`")); $num = count($rows); $pages['total'] = $num; if ($num > $limit) { $pagenav = Page($page, $num, $limit, $pageurl, $notpl = false, $this->tpl, 'pagenav'); $pages['pages'] = ceil($num / $limit); $this->yunset('pagenav', $pagenav); } if ($pages['total'] > 0) { if ($_GET['order']) { $where['orderby'] = $_GET['t'] . ',' . $_GET['order']; $urlarr['order'] = $_GET['order']; $urlarr['t'] = $_GET['t']; } else { $where['orderby'] = 'date'; } $where['limit'] = array(($page - 1) * $limit, $page * $limit); $orderRows = $companyorderM->getList($where, array('field' => "sum(order_price) as `num`,FROM_UNIXTIME(order_time,'%Y-%m-%d') as `date`, FROM_UNIXTIME(order_time,'%d') as `day`, FROM_UNIXTIME(order_time,'%m') as `month`, FROM_UNIXTIME(order_time,'%Y') as `year`")); } //支出 $owhere['order_state'] = 1; if ($_GET['time']) { if ($_GET['time'] == -1) { $timeBegin = mktime(0, 0, 0, date('m'), date('d'), date('y')); $timeEnd = time(); } elseif ($_GET['time'] == 1) { $timeBegin = mktime(0, 0, 0, date('m'), date('d'), date('y')) - 86400; $timeEnd = mktime(23, 59, 59, date('m'), date('d'), date('Y')) - 86400; } else { $timeBegin = mktime(0, 0, 0, date('m'), date('d'), date('Y')) - $_GET['time'] * 86400; $timeEnd = mktime(23, 59, 59, date('m'), date('d'), date('Y')); } $owhere['PHPYUNBTWSTART_A'] = ''; $owhere['time'][] = array('>=', $timeBegin, ''); $owhere['time'][] = array('<=', $timeEnd, ''); $owhere['PHPYUNBTWEND_A'] = ''; } if ($_GET['stime']) { $stime = explode('-', $_GET['stime']); $etime = explode('-', $_GET['etime']); $timeBegin = mktime(0, 0, 0, $stime[1], $stime[2], $stime[0]); $timeEnd = mktime(23, 59, 59, $etime[1], $etime[2], $etime[0]); $owhere['PHPYUNBTWSTART_A'] = ''; $owhere['time'][] = array('>=', $timeBegin, ''); $owhere['time'][] = array('<=', $timeEnd, ''); $owhere['PHPYUNBTWEND_A'] = ''; } $owhere['groupby'] = 'date'; $fieldo = "sum(order_price) as `num`,from_unixtime(`time`,'%Y-%m-%d') as `date`"; $packM = $this->MODEL('pack'); $out = $packM->getList($owhere, array('field' => $fieldo)); $outArr = array(); foreach ($out as $r) { $outArr [$r['date']] = $r['num']; } $swhere['order_state'] = 2; $swhere['crm_uid'] = array('>', 0); if ($_GET['time']) { if ($_GET['time'] == -1) { $timeBegin = mktime(0, 0, 0, date('m'), date('d'), date('y')); $timeEnd = time(); } elseif ($_GET['time'] == 1) { $timeBegin = mktime(0, 0, 0, date('m'), date('d'), date('y')) - 86400; $timeEnd = mktime(23, 59, 59, date('m'), date('d'), date('Y')) - 86400; } else { $timeBegin = mktime(0, 0, 0, date('m'), date('d'), date('Y')) - $_GET['time'] * 86400; $timeEnd = mktime(23, 59, 59, date('m'), date('d'), date('Y')); } $swhere['PHPYUNBTWSTART_A'] = ''; $swhere['order_time'][] = array('>=', $timeBegin, ''); $swhere['order_time'][] = array('<=', $timeEnd, ''); $swhere['PHPYUNBTWEND_A'] = ''; } if ($_GET['stime']) { $stime = explode('-', $_GET['stime']); $etime = explode('-', $_GET['etime']); $timeBegin = mktime(0, 0, 0, $stime[1], $stime[2], $stime[0]); $timeEnd = mktime(23, 59, 59, $etime[1], $etime[2], $etime[0]); $swhere['PHPYUNBTWSTART_A'] = ''; $swhere['order_time'][] = array('>=', $timeBegin, ''); $swhere['order_time'][] = array('<=', $timeEnd, ''); $swhere['PHPYUNBTWEND_A'] = ''; } $swhere['groupby'] = 'date'; $fields = "sum(order_price) as `num`, from_unixtime(`order_time`,'%Y-%m-%d') as `date`"; $salesmanOrder = $companyorderM->getList($swhere, array('field' => $fields)); $salesmanOrderArr = array(); foreach ($salesmanOrder as $r) { $salesmanOrderArr[$r['date']] = $r['num']; } foreach ($orderRows as &$r) { if (!isset($outArr[$r['date']])) { $r['out'] = 0.00; $r['total'] = $r['num']; } else { $r['out'] = $outArr[$r['date']]; $r['total'] = $r['num'] - $r['out']; } $r['salesmanNum'] = isset($salesmanOrderArr[$r['date']]) ? $salesmanOrderArr[$r['date']] : 0; } $orderRows = $this->getDetail($orderRows); $this->yunset('order', $orderRows); $this->yuntpl(array('admin/crm_audit')); } private function getDetail($rows){ $dateArr = array(); foreach ($rows as $k => $v) { $dateArr[] = $v['date']; } $timeBegin = strtotime($dateArr[9]); $timeEnd = strtotime($dateArr[0]); $timeEnd = strtotime('+1 day', $timeEnd); $orderM = $this->MODEL('companyorder'); if (isset($_GET['iscrm']) && $_GET['iscrm'] == 1){ $where['crm_uid'] = array('>', 0); } $where['order_state'] = 2; $where['PHPYUNBTWSTART_A'] = ''; $where['order_time'][] = array('>=', $timeBegin, 'AND'); $where['order_time'][] = array('<=', $timeEnd, 'AND'); $where['PHPYUNBTWEND_A'] = ''; $where['orderby'] = 'order_time'; $orders = $orderM->getList($where, array('field' => '`id`,`uid`,`order_id`, order_price, order_type, order_time,`crm_uid`', 'utype' => 'crmaduit')); foreach ($rows as $k => $v) { foreach ($orders as $ok => $ov) { if ($v['date'] == $ov['date']){ $rows[$k]['orders'][] = $ov; } } } return $rows; } public function detail_action() { $orderM = $this->MODEL('companyorder'); $where = $urlarr = array(); $where['type'] = 1; $where['order_state'] = 2; $where['crm_uid'] = array('>', 0); if ($_GET['date']) { $timeBegin = strtotime($_GET['date']); $timeEnd = strtotime('+1 day', $timeBegin); $where['PHPYUNBTWSTART_A'] = ''; $where['order_time'][] = array('>=', $timeBegin, 'AND'); $where['order_time'][] = array('<=', $timeEnd, 'AND'); $where['PHPYUNBTWEND_A'] = ''; $urlarr['date'] = $_GET['date']; } $urlarr['c'] = $_GET['c']; $urlarr = $_GET; $urlarr['page'] = '{{page}}'; $pageurl = Url($_GET['m'], $urlarr, 'admin'); $pageM = $this->MODEL('page'); $pages = $pageM->pageList('company_order', $where, $pageurl, $_GET['page']); if ($pages['total'] > 0) { if ($_GET['order']) { $where['orderby'] = $_GET['t'] . ',' . $_GET['order']; $urlarr['order'] = $_GET['order']; $urlarr['t'] = $_GET['t']; } else { $where['orderby'] = 'order_time'; } $where['limit'] = $pages['limit']; $list = $orderM->getList($where, array('field' => '`id`,`uid`,`order_id`, order_price, order_time, `rating`,`crm_uid`', 'utype' => 'crmaduit')); $this->yunset(array('order' => $list)); } $this->yuntpl(array('admin/crm_audit_detail')); } }