public function getData($currentPage, $pageSize, $map = array()) { $data = $this->where($map)->page($currentPage . ',' . $pageSize)->select(); $data = get_customer_info_by_openid($data); $data = get_issueinfo_by_id($data); return $data; }
public function justAction() { $flag = I('get.flag', ''); $p = I('get.p', 1); $beginTime = $this->dateArr['beginTime']; $endTime = $this->dateArr['endTime']; $achModel = new \Achievement\Model\AchievementModel(); //取出当前结算周期的信息,没有,则说明未生成数据 $asModel = new \Achievement\Model\AchievementIssueModel(); $asModel->setBeginTime($beginTime); $asModel->setEndTime($endTime); $asInfo = $asModel->getInfo(); //如果未生成,或是用户手动生成,则执行 if ($flag == 'createSettle' || $asInfo == false) { //未生成结算周期则先生成 if ($asInfo == false) { $asInfo = $asModel->creatIssue(); } $issue = $asInfo['id']; //取结算信息 $settles = $achModel->getJustInfo(); //进行信息的更新 $achModel->updateInfo($issue, $settles); } $issue = $asInfo['id']; //取出信息并展示 $achModel->setIssue($issue); //取总条数 $counts = $achModel->getIssueCounts(); $this->page->setCurrentPage($p); $this->page->setPageStyle(2); $this->page->setCounts($counts); $pageStr = $this->page->fetch(); $currentPage = $this->page->getCurrentPage(); $pageSize = $this->page->getPageSize(); $achModel->setCurrentPage = $currentPage - 1; $achModel->setPageSize = $pageSize; $data = $achModel->getIssueData(); foreach ($data as $key => $value) { $data[$key]['actionUrl']['payUrl'] = U('pay?id=' . $value['id']); } $data = get_customer_info_by_openid($data); $this->assign('beginTime', $beginTime); $this->assign('endTime', $endTime); $createUrl = U('just?flag=createSettle&p=' . $p); //重新生成业绩参数 $this->assign('createUrl', $createUrl); $this->assign('page', $pageStr); $this->assign('data', $data); $this->assign('YZRight', $this->fetch('just')); $this->display(YZ_TEMPLATE); }
public function getPayedOrder() { if ($this->beginTime == null || $this->endTime == null) { return false; } /* * 取出本时间段的全部信息 * 1.拼接PID信息 * 2.按ID进行分组 * 3.按PID分组 * * 4.得到PID信息 * 5.在原ID信息拼接上对应的PID信息 */ $map['payed_time'] = array('BETWEEN', $this->beginTime . ',' . $this->endTime); $map['is_pay'] = 1; $map['is_cancel'] = 0; $resData = $this->where($map)->select(); //拼接客户信息 $kewWord = 'buy_openid'; $resData = get_customer_info_by_openid($resData, $kewWord); //按客户id分组 $key1 = 'buy_openid'; $key2 = 'id'; $direData = group_by_key1_key2($resData, $key1, $key2); $dataRes = array(); //生成客户信息 foreach ($direData as $key => $value) { $data = array(); $totalDirectFee = 0; //直销业绩 $totalLineFee = 0; //线销业绩 $totalGoodsFee = 0; //商品总价(基数) foreach ($value as $ke => $va) { $totalDirectFee += $va['total_direct_fee']; $totalLineFee += $va['total_line_fee']; $totalGoodsFee += $va['total_goods_fee']; } //添加业绩信息 $data['totalDirectFee'] = $totalDirectFee; $data['totalLineFee'] = $totalLineFee; $data['totalGoodsFee'] = $totalGoodsFee; $data['_detail'] = $value; //添加parentId $data['parId'] = $value[0]['buy_openid']['parentid']; $data['_customer_id'] = $value[0]['buy_openid']['id']; $dataRes[$key] = $data; } //按客户pid再分组,拼接线销信息 $key2 = 'parId'; $lineData = group_by_key($dataRes, $key2); $lineDateRes = array(); foreach ($lineData as $key1 => $value1) { $ltotalDirectFee = 0; //下线直销业绩 $ltotalLineFee = 0; //下线线销业绩 $ltotalGoodsFee = 0; //下线商品总价(基数) foreach ($value1 as $key => $value) { $ltotalDirectFee += $value['totalDirectFee']; $ltotalLineFee += $value['totalLineFee']; $ltotalGoodsFee += $value['totalGoodsFee']; } $lineDateRes[$key1]['parId'] = $value['parId']; $lineDateRes[$key1]['totalDirectFee'] = $ltotalDirectFee; $lineDateRes[$key1]['totalLineFee'] = $ltotalLineFee; $lineDateRes[$key1]['totalGoodsFee'] = $ltotalGoodsFee; $lineDateRes[$key1]['_lineDetail'] = $value1; } //设置空数组 $emptyArr = array("totalDirectFee" => 0, "totalLineFee" => 0, "totalGoodsFee" => 0, "_lineDetail" => array()); //把id与它所对应的下线信息拼接到一起 foreach ($dataRes as $key => $value) { if (isset($lineDateRes[$key])) { $dataRes[$key]['_line'] = $lineDateRes[$key]; unset($lineDateRes[$key]); } else { $dataRes[$key]['_line'] = $emptyArr; } $dataRes[$key]['lineTotalLineFee'] = $dataRes[$key]['_line']['totalLineFee']; $dataRes[$key]['lineTotalGoodsFee'] = $dataRes[$key]['_line']['totalGoodsFee']; } //设置空数组 $emptyArr = array("totalDirectFee" => 0, "totalLineFee" => 0, "totalGoodsFee" => 0, "_detail" => array()); //将上线无数据的元素进行空数拼接 foreach ($lineDateRes as $key => $value) { $dataRes[$key] = $emptyArr; $dataRes[$key]['_line'] = $value; $dataRes[$key]['_customer_id'] = $key; $dataRes[$key]['lineTotalLineFee'] = $value['totalLineFee']; $dataRes[$key]['lineTotalGoodsFee'] = $value['totalGoodsFee']; } //去除上线为系统的记录 unset($dataRes[0]); return $dataRes; // // // // // // // // /* // * 先获取直销信息,再获取线销信息 // */ // foreach($customerArr as $ke => $value) // { // $map['openid'] = $value[$key]; // // $res = $this->where($map)->select(); // $customerArr[$ke]['achievement'] = $res; // $customerArr[$ke] = array_merge($value,$this->_getAchieveData($res)); // // //取下线的业绩 // $mapChild = array(); // $mapChild['parentid'] = $v['id']; // $child = $this->where($mapChild)->select(); // // $totalDirectFee = 0; //直销业绩 // $totalLineFee = 0; //线销业绩 // $totalGoodsFee = 0; //商品总价(基数) // foreach($child as $cke => $cva) // { // $map['openid'] = $cva[$key]; // $res = $this->where($map)->select(); // $detailData = $this->_getAchieveData($res); // $child[$cke]['achievement'] = array_merge($cva,$detailData); // $totalDirectFee += $detailData['_totalDirectFee']; // $totalLineFee += $detailData['_totalLineFee']; // $totalGoodsFee += $detailData['_totalGoodsFee']; // } // $child['_totalDirectFee'] = $totalDirectFee; // $child['_totalLineFee'] = $totalLineFee; // $child['_totalGoodsFee'] = $totalGoodsFee; // // $customerArr[$ke]['_child'] = $child; // } // // return $customerArr; }