| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300 |
- <?php
-
- namespace app\bi\logic;
-
- class ExcelLogic
- {
- /**
- * 员工客户分析导出
- * @param $type
- * @param $param
- * @return mixed
- */
- public function biexcle($type, $param)
- {
- $excelModel = new \app\admin\model\Excel();
- $file_name='';
- $field_list=[];
- switch ($type['excel_types']) {
- case 'statistics':
- $file_name = 'totalCustomerTable';
- $field_list = [
- '0' => ['name' => '员工姓名', 'field' => 'realname'],
- '1' => ['name' => '新增客户数', 'field' => 'customer_num'],
- '2' => ['name' => '成交客户数', 'field' => 'deal_customer_num'],
- '3' => ['name' => '客户成交率', 'field' => 'deal_customer_rate'],
- '4' => ['name' => '合同总金额', 'field' => 'un_receivables_money'],
- '5' => ['name' => '回款金额', 'field' => 'receivables_money'],
- ];
- break;
- case 'recordList':
- $file_name = 'customerRecordInfo';
- $field_list = [
- '0' => ['name' => '员工姓名', 'field' => 'realname'],
- '1' => ['name' => '跟进次数', 'field' => 'record_num'],
- '2' => ['name' => '跟进客户数', 'field' => 'customer_num'],
- ];
- break;
- case 'recordMode':
- $file_name = 'customerRecordCategoryStats';
- $field_list = [
- '0' => ['name' => '员工姓名', 'field' => 'realname'],
- '1' => ['name' => '跟进次数', 'field' => 'record_num'],
- '2' => ['name' => '跟进客户数', 'field' => 'customer_num'],
- ];
- break;
- case 'poolList':
- $file_name = 'poolTable';
- $field_list = [
- '0' => ['name' => '员工姓名', 'field' => 'realname'],
- '1' => ['name' => '部门', 'field' => 'username'],
- '2' => ['name' => '公海池领取客户数', 'field' => 'receive'],
- '3' => ['name' => '进入公海客户数', 'field' => 'put_in'],
- ];
- break;
- case 'userCycle':
- $file_name = 'employeeCycleInfo';
- $field_list = [
- '0' => ['name' => '员工姓名', 'field' => 'realname'],
- '1' => ['name' => '成交周期(天)', 'field' => 'cycle'],
- '2' => ['name' => '成交客户数', 'field' => 'customer_num'],
- ];
- break;
- case 'customerSatisfaction':
- $file_name = 'customerSatisfaction';
- $field_list = [
- '0' => ['name' => '员工姓名', 'field' => 'realname'],
- '1' => ['name' => '回访合同总数', 'field' => 'visit'],
- '2' => ['name' => '很满意', 'field' => 'satisfaction1'],
- '3' => ['name' => '满意', 'field' => 'satisfaction2'],
- '4' => ['name' => '一般', 'field' => 'satisfaction3'],
- '5' => ['name' => '不满意', 'field' => 'satisfaction4'],
- '6' => ['name' => '很不满意', 'field' => 'satisfaction5'],
- ];
- break;
- case 'productSatisfaction':
- $file_name = 'productSatisfaction';
- $field_list = [
- '0' => ['name' => '员工姓名', 'field' => 'realname'],
- '1' => ['name' => '回访合同总数', 'field' => 'visit'],
- '2' => ['name' => '很满意', 'field' => 'satisfaction1'],
- '3' => ['name' => '满意', 'field' => 'satisfaction2'],
- '4' => ['name' => '一般', 'field' => 'satisfaction3'],
- '5' => ['name' => '不满意', 'field' => 'satisfaction4'],
- '6' => ['name' => '很不满意', 'field' => 'satisfaction5'],
- ];
- break;
- }
- return $excelModel->biExportExcel($file_name, $field_list, $type['type'], $param);
- }
-
- /**
- * 员工业绩分析
- * @param $type
- * @param $param
- * @return mixed
- */
- public function contractExcel($type, $param)
- {
-
- $excelModel = new \app\admin\model\Excel();
- if($type['excel_types']=='analysis'){
- $file_name = 'contractNumStats';
- $field_list = [];
- p($excelModel->template_download($file_name, $field_list, $type['type'], $param));
- return $excelModel->template_download($file_name, $field_list, $type['type'], $param);
- }elseif ($type['excel_types']=='summary'){
- $file_name = 'totalContract';
- $field_list = [
- '0' => ['name' => '日期', 'field' => 'type'],
- '1' => ['name' => '签约合同数(个)', 'field' => 'count'],
- '2' => ['name' => '签约合同金额(元)', 'field' => 'money'],
- '3' => ['name' => '回款金额(元)', 'field' => 'back'],
- ];
- return $excelModel->biExportExcel($file_name, $field_list, $type['type'], $param['items']);
- }elseif ($type['excel_types']=='invoice'){
- $file_name = 'invoiceStats';
- $field_list = [
- '0' => ['name' => '日期', 'field' => 'type'],
- '1' => ['name' => '回款金额(元)', 'field' => 'receivables_money'],
- '2' => ['name' => '开票金额(元)', 'field' => 'invoice_money'],
- '3' => ['name' => '已回款未开票(元)', 'field' => 'not_invoice'],
- '4' => ['name' => '已开票未回款(元)', 'field' => 'not_receivables'],
- ];
- return $excelModel->biExportExcel($file_name, $field_list, $type['type'], $param);
- }
- // switch ($type['excel_types']) {
- // case 'analysis':
- //
- //
- // break;
- // case 'summary':
- // $file_name = 'totalContract';
- // $field_list = [
- // '0' => ['name' => '日期', 'field' => 'type'],
- // '1' => ['name' => '签约合同数(个)', 'field' => 'count'],
- // '2' => ['name' => '签约合同金额(元)', 'field' => 'money'],
- // '3' => ['name' => '回款金额(元)', 'field' => 'back'],
- // ];
- // return $excelModel->biExportExcel($file_name, $field_list, $type['type'], $param['items']);
- // break;
- // case 'invoice':
- // $file_name = 'invoiceStats';
- // $field_list = [
- // '0' => ['name' => '日期', 'field' => 'type'],
- // '1' => ['name' => '回款金额(元)', 'field' => 'receivables_money'],
- // '2' => ['name' => '开票金额(元)', 'field' => 'invoice_money'],
- // '3' => ['name' => '已回款未开票(元)', 'field' => 'not_invoice'],
- // '4' => ['name' => '已开票未回款(元)', 'field' => 'not_receivables'],
- // ];
- // return $excelModel->biExportExcel($file_name, $field_list, $type['type'], $param);
- // break;
- // }
-
-
- }
-
- /**
- * 产品分析
- * @param $type
- * @param $param
- * @return mixed
- */
- public function productExcel($type, $param)
- {
- $file_name = 'contractNumStats';
- $field_list = [
- '0' => ['name' => '日期', 'field' => 'type'],
- '1' => ['name' => '产品分类', 'field' => 'category_id_info'],
- '2' => ['name' => '产品名称', 'field' => 'product_name'],
- '3' => ['name' => '合同编号', 'field' => 'contract_name'],
- '4' => ['name' => '负责人', 'field' => 'realname'],
- '5' => ['name' => '客户名称', 'field' => 'name'],
- '6' => ['name' => '销售单价', 'field' => 'price'],
- '7' => ['name' => '数量', 'field' => 'num'],
- '8' => ['name' => '订单产品小计', 'field' => 'subtotal'],
- ];
- $type = '产品销售情况统计';
- $excelModel = new \app\admin\model\Excel();
- return $excelModel->biExportExcel($file_name, $field_list, $type, $param);
- }
-
- /**
- * 排行榜
- * @param $type
- * @param $param
- * @return mixed
- */
- public function rankingExcle($type, $param)
- {
-
- $excelModel = new \app\admin\model\Excel();
- switch ($type['excel_types']) {
- case 'contract':
- $file_name = 'contractRanKing';
- $field_list = [
- '0' => ['name' => '公司总排名', 'field' => 'id'],
- '1' => ['name' => '签订人', 'field' => 'user_name'],
- '2' => ['name' => '部门', 'field' => 'structure_name'],
- '3' => ['name' => '合同金额(元)', 'field' => 'money'],
- ];
- break;
- case 'receivables':
- $file_name = 'receivablesRanKing';
- $field_list = [
- '0' => ['name' => '公司总排名', 'field' => 'id'],
- '1' => ['name' => '签订人', 'field' => 'user_name'],
- '2' => ['name' => '部门', 'field' => 'structure_name'],
- '3' => ['name' => '回款金额(元)', 'field' => 'money'],
- ];
- break;
- case 'signing':
- $file_name = 'signingRanKing';
- $field_list = [
- '0' => ['name' => '公司总排名', 'field' => 'id'],
- '1' => ['name' => '签订人', 'field' => 'user_name'],
- '2' => ['name' => '部门', 'field' => 'structure_name'],
- '3' => ['name' => '签约合同', 'field' => 'count'],
- ];
- break;
- case 'product':
- $file_name = 'productCountRanKing';
- $field_list = [
- '0' => ['name' => '公司总排名', 'field' => 'id'],
- '1' => ['name' => '签订人', 'field' => 'user_name'],
- '2' => ['name' => '部门', 'field' => 'structure_name'],
- '3' => ['name' => '产品销量', 'field' => 'num'],
- ];
- break;
- case 'addCustomer':
- $file_name = 'customerCountRanKing';
- $field_list = [
- '0' => ['name' => '公司总排名', 'field' => 'id'],
- '1' => ['name' => '签订人', 'field' => 'user_name'],
- '2' => ['name' => '部门', 'field' => 'structure_name'],
- '3' => ['name' => '新增客户数(个)', 'field' => 'count'],
- ];
- break;
- case 'addContacts':
- $file_name = 'contactsCountRanKing';
- $field_list = [
- '0' => ['name' => '公司总排名', 'field' => 'id'],
- '1' => ['name' => '签订人', 'field' => 'user_name'],
- '2' => ['name' => '部门', 'field' => 'structure_name'],
- '3' => ['name' => '新增联系人数(个)', 'field' => 'count'],
- ];
- break;
- case 'recordNun':
- $file_name = 'FollowupRecordCountRanKing';
- $field_list = [
- '0' => ['name' => '公司总排名', 'field' => 'id'],
- '1' => ['name' => '签订人', 'field' => 'user_name'],
- '2' => ['name' => '部门', 'field' => 'structure_name'],
- '3' => ['name' => '跟进次数(个)', 'field' => 'count'],
- ];
- break;
- case 'recordCustomer':
- $file_name = 'customerFollowupCountRanKing';
- $field_list = [
- '0' => ['name' => '公司总排名', 'field' => 'id'],
- '1' => ['name' => '签订人', 'field' => 'user_name'],
- '2' => ['name' => '部门', 'field' => 'structure_name'],
- '3' => ['name' => '跟进客户数(个)', 'field' => 'count'],
- ];
- break;
- case 'examine':
- $file_name = 'travelCountRanKing';
- $field_list = [
- '0' => ['name' => '公司总排名', 'field' => 'id'],
- '1' => ['name' => '签订人', 'field' => 'user_name'],
- '2' => ['name' => '部门', 'field' => 'structure_name'],
- '3' => ['name' => '出差次数(次)', 'field' => 'count'],
- ];
- break;
- }
- return $excelModel->biExportExcel($file_name, $field_list, $type['type'], $param);
- }
-
- /**
- * 业绩目标完成情况
- * @param $type
- * @param $param
- * @return mixed
- */
- public function achienementExcel($type, $param)
- {
- $file_name = 'contractNumStats';
- $field_list = [
- '0' => ['name' => '名称', 'field' => 'name'],
- '1' => ['name' => '月份', 'field' => 'month'],
- '2' => ['name' => '目标', 'field' => 'achievement'],
- '3' => ['name' => '完成', 'field' => 'money'],
- '4' => ['name' => 'rate', 'field' => 'realname'],
- ];
- $type = '业绩目标完成情况';
- $excelModel = new \app\admin\model\Excel();
- return $excelModel->biExportExcel($file_name, $field_list, $type, $param);
- }
-
-
- }
|