Commit 670b94e6 authored by hujun's avatar hujun

分佣汇总修改

parent bc8aa634
...@@ -61,15 +61,15 @@ class Finance extends Basic ...@@ -61,15 +61,15 @@ class Finance extends Basic
$data['msg'] = ""; $data['msg'] = "";
$data['data'] = []; $data['data'] = [];
$pageNo = empty($this->params['pageNo']) ? 1 : $this->params['pageNo']; $pageNo = empty($this->params['pageNo']) ? 1 : $this->params['pageNo'];
$pageSize = empty($this->params['pageSize']) ? 15 : $this->params['pageSize']; $pageSize = empty($this->params['pageSize']) ? 15 : $this->params['pageSize'];
$check_status = $this->params['check_status']; $check_status = $this->params['check_status'];
$fields = 'a.id,a.create_time,a.trade_type,b.user_phone,b.user_name,d.internal_title,d.internal_address, $fields = 'a.id,a.create_time,a.trade_type,b.user_phone,b.user_name,d.internal_title,d.internal_address,
a.commission,a.practical_fee,a.scale_fee,a.order_no,a.order_id,content,house_number'; a.commission,a.practical_fee,a.scale_fee,a.order_no,a.order_id,content,house_number';
$where['a.father_id'] = 0; $where['a.father_id'] = 0;
// $where['c.is_del'] = 0; // $where['c.is_del'] = 0;
$where['a.status'] = 11; $where['a.status'] = 11;
$order = 'e.id desc'; $order = 'e.id desc';
if (!empty($this->params['create_time']) && empty($this->params['end_time'])) { if (!empty($this->params['create_time']) && empty($this->params['end_time'])) {
$where['a.create_time'] = [ '> time', $this->params['create_time'] . ' 00:00:00' ]; $where['a.create_time'] = [ '> time', $this->params['create_time'] . ' 00:00:00' ];
...@@ -113,7 +113,7 @@ class Finance extends Basic ...@@ -113,7 +113,7 @@ class Finance extends Basic
//成交报告列表-已结单 //成交报告列表-已结单
$where['a.account_statement'] = 1; $where['a.account_statement'] = 1;
$where['a.status'] = 13; $where['a.status'] = 13;
$audit_level = 2; $audit_level = 2;
break; break;
/* case 5 : /* case 5 :
//成交报告列表-待撤销 //成交报告列表-待撤销
...@@ -125,16 +125,16 @@ class Finance extends Basic ...@@ -125,16 +125,16 @@ class Finance extends Basic
break;*/ break;*/
default : default :
//成交报告列表-第一级审核 //成交报告列表-第一级审核
$order = 'a.id DESC'; $order = 'a.id DESC';
$where['a.status'] = 10; $where['a.status'] = 10;
$audit_level = -1; $audit_level = -1;
} }
if (!empty($this->params['status'])) { if (!empty($this->params['status'])) {
$where['a.status'] = 20; $where['a.status'] = 20;
} }
$bargain = new OBargainModel(); $bargain = new OBargainModel();
try { try {
$data['data']['list'] = $bargain->getBargainList($pageNo, $pageSize, $order, $fields, $where, $audit_level); $data['data']['list'] = $bargain->getBargainList($pageNo, $pageSize, $order, $fields, $where, $audit_level);
$data['data']['total'] = $bargain->getBargainTotal($where, $audit_level); $data['data']['total'] = $bargain->getBargainTotal($where, $audit_level);
...@@ -278,7 +278,7 @@ class Finance extends Basic ...@@ -278,7 +278,7 @@ class Finance extends Basic
$bargain_id = $this->params["id"]; $bargain_id = $this->params["id"];
$log_data = $add_real_arr = $update_real_arr = []; $log_data = $add_real_arr = $update_real_arr = [];
$i = $j = 0; $i = $j = 0;
foreach ($practical_fee_arr as $item) { foreach ($practical_fee_arr as $item) {
if (!$item['fee'] || !$item['operation_date']) { if (!$item['fee'] || !$item['operation_date']) {
continue; continue;
...@@ -289,14 +289,14 @@ class Finance extends Basic ...@@ -289,14 +289,14 @@ class Finance extends Basic
$update_real_arr[$i]['operation_id'] = $this->userId; $update_real_arr[$i]['operation_id'] = $this->userId;
$update_real_arr[$i]['money'] = $item['fee']; $update_real_arr[$i]['money'] = $item['fee'];
$update_real_arr[$i]['income_time'] = $item['operation_date']; $update_real_arr[$i]['income_time'] = $item['operation_date'];
$log_data[$i]= '[编辑实收佣金:'.$item['fee'].',收佣日期'.$item['operation_date'].']'; // $log_data[$i] = '[编辑实收佣金:' . $item['fee'] . ',收佣日期' . $item['operation_date'] . ']'; //
$i++; $i++;
} else { } else {
$add_real_arr[$j]['bargain_id'] = $bargain_id; $add_real_arr[$j]['bargain_id'] = $bargain_id;
$add_real_arr[$j]['operation_id'] = $this->userId; $add_real_arr[$j]['operation_id'] = $this->userId;
$add_real_arr[$j]['money'] = $item['fee']; $add_real_arr[$j]['money'] = $item['fee'];
$add_real_arr[$j]['income_time'] = $item['operation_date']; $add_real_arr[$j]['income_time'] = $item['operation_date'];
$log_data[$j]= '[新增实收佣金:'.$item['fee'].',收佣日期'.$item['operation_date'].']'; $log_data[$j] = '[新增实收佣金:' . $item['fee'] . ',收佣日期' . $item['operation_date'] . ']';
$j++; $j++;
} }
} }
...@@ -309,7 +309,7 @@ class Finance extends Basic ...@@ -309,7 +309,7 @@ class Finance extends Basic
$m_real->addRealIncome($add_real_arr); $m_real->addRealIncome($add_real_arr);
} }
$content = '[应收总佣金:'.$update_data['commission'].']'. implode(' ',$log_data); $content = '[应收总佣金:' . $update_data['commission'] . ']' . implode(' ', $log_data);
$this->editRecordLog((int)$this->params["id"], $content, 1, '', $update_data['is_open']); $this->editRecordLog((int)$this->params["id"], $content, 1, '', $update_data['is_open']);
} catch (\Exception $e) { } catch (\Exception $e) {
return $this->response(101, '内部错误,修改成交报告失败!请联系运营。'); return $this->response(101, '内部错误,修改成交报告失败!请联系运营。');
...@@ -339,7 +339,7 @@ class Finance extends Basic ...@@ -339,7 +339,7 @@ class Finance extends Basic
$data['code'] = 101; $data['code'] = 101;
$data['msg'] = '提交信息错误!'; $data['msg'] = '提交信息错误!';
} else { } else {
$bargain = new OBargainModel(); $bargain = new OBargainModel();
try { try {
$data['data'] = $bargain->addBargainCommission($this->params['id'], $this->userId, $this->params['agent_id'], $data['data'] = $bargain->addBargainCommission($this->params['id'], $this->userId, $this->params['agent_id'],
...@@ -709,24 +709,24 @@ class Finance extends Basic ...@@ -709,24 +709,24 @@ class Finance extends Basic
} }
if ($item["commission_id"] > 0) { if ($item["commission_id"] > 0) {
$update_arr[$i]['id'] = $item['commission_id']; $update_arr[$i]['id'] = $item['commission_id'];
$update_arr[$i]['practical_fee'] = $item["practical_fee"]; $update_arr[$i]['practical_fee'] = $item["practical_fee"];
$update_arr[$i]['cash'] = $item["cash"]; $update_arr[$i]['cash'] = $item["cash"];
$update_arr[$i]['service_charge'] = $item['service_charge']; $update_arr[$i]['service_charge'] = $item['service_charge'];
$update_arr[$i]['charity_fund'] = $item['charity_fund']; $update_arr[$i]['charity_fund'] = $item['charity_fund'];
$update_arr[$i]['real_fee'] = $item['real_fee']; $update_arr[$i]['real_fee'] = $item['real_fee'];
$update_arr[$i]['scale'] = $item['scale']; $update_arr[$i]['scale'] = $item['scale'];
$update_arr[$i]['should_commission'] = $item['should_commission']; $update_arr[$i]['should_commission'] = $item['should_commission'];
$update_arr[$i]['operation_id'] = $this->userId; $update_arr[$i]['operation_id'] = $this->userId;
//确认分佣加时间 否则 只是保存分佣数据 //确认分佣加时间 否则 只是保存分佣数据
if ($this->params['is_account_commission'] == 1) { if ($this->params['is_account_commission'] == 1) {
$update_arr[$i]['confirm_date'] = date("Y-m-d H:i:s",time()); $update_arr[$i]['confirm_date'] = date("Y-m-d H:i:s", time());
$update_arr[$i]['confirm_status'] = 1; $update_arr[$i]['confirm_status'] = 1;
} }
$i++; $i++;
$log_data[] = "[分佣比例(%):{$item['scale']}][应分佣金(元):{$item['should_commission']}][实分佣金(元):{$item['real_fee']}]". $log_data[] = "[分佣比例(%):{$item['scale']}][应分佣金(元):{$item['should_commission']}][实分佣金(元):{$item['real_fee']}]" .
"[手续费(元):{$item['service_charge']}][慈善基金(元):{$item['charity_fund']}]". "[手续费(元):{$item['service_charge']}][慈善基金(元):{$item['charity_fund']}]" .
"[现金奖(元):{$item['cash']}][实收佣金(元):{$item['practical_fee']}]"; "[现金奖(元):{$item['cash']}][实收佣金(元):{$item['practical_fee']}]";
} else { } else {
$add_arr[$j]['bargain_id'] = $this->params['bargain_id']; $add_arr[$j]['bargain_id'] = $this->params['bargain_id'];
...@@ -742,7 +742,7 @@ class Finance extends Basic ...@@ -742,7 +742,7 @@ class Finance extends Basic
$add_arr[$j]['agent_id'] = $item['agent_id']; $add_arr[$j]['agent_id'] = $item['agent_id'];
//确认分佣加时间 否则 只是保存分佣数据 //确认分佣加时间 否则 只是保存分佣数据
if ($this->params['is_account_commission'] == 1) { if ($this->params['is_account_commission'] == 1) {
$add_arr[$j]['confirm_date'] = date("Y-m-d H:i:s",time()); $add_arr[$j]['confirm_date'] = date("Y-m-d H:i:s", time());
$add_arr[$j]['confirm_status'] = 1; $add_arr[$j]['confirm_status'] = 1;
} }
$j++; $j++;
...@@ -759,14 +759,14 @@ class Finance extends Basic ...@@ -759,14 +759,14 @@ class Finance extends Basic
$this->editRecordLog($this->params['bargain_id'], implode(',', $log_data)); //log记录 $this->editRecordLog($this->params['bargain_id'], implode(',', $log_data)); //log记录
} }
if($j == 0 && $this->params['is_account_commission'] > 0){ //没有新增数据,则把最后一条数据的分佣比例和应分佣金改掉 if ($j == 0 && $this->params['is_account_commission'] > 0) { //没有新增数据,则把最后一条数据的分佣比例和应分佣金改掉
$params['id'] = $this->params['is_account_commission']; $params['id'] = $this->params['is_account_commission'];
$params['should_commission'] = $data[0]['should_commission']; $params['should_commission'] = $data[0]['should_commission'];
$params['scale'] = $data[0]['scale']; $params['scale'] = $data[0]['scale'];
$m_partial->addCommission($params); $m_partial->addCommission($params);
} }
// $data = $m_partial->addCommission($this->params, $this->userId); // $data = $m_partial->addCommission($this->params, $this->userId);
return $this->response("200", "request success", []); return $this->response("200", "request success", []);
} }
...@@ -848,7 +848,7 @@ class Finance extends Basic ...@@ -848,7 +848,7 @@ class Finance extends Basic
$log_data = []; $log_data = [];
foreach ($tax as $k => $v) { foreach ($tax as $k => $v) {
$tax[$k]['agent_name'] = $m_agent->getAgentsById($v['agent_id'], 'name'); $tax[$k]['agent_name'] = $m_agent->getAgentsById($v['agent_id'], 'name');
$log_data[] = '[经纪人:id:'.$v['agent_id'].',名字:'.$tax[$k]['agent_name'].',税费:'.$v['fee'].'][开票比例:'.$v['scale'].']'; $log_data[] = '[经纪人:id:' . $v['agent_id'] . ',名字:' . $tax[$k]['agent_name'] . ',税费:' . $v['fee'] . '][开票比例:' . $v['scale'] . ']';
} }
if ($this->params['id'] && $this->params['id'] > 0) { //编辑 if ($this->params['id'] && $this->params['id'] > 0) { //编辑
...@@ -859,8 +859,8 @@ class Finance extends Basic ...@@ -859,8 +859,8 @@ class Finance extends Basic
$data = $m_fee->addTaxes($tax, $bargain_id, $this->userId, $father_id, $this->params['total_fee'], $operation_date); $data = $m_fee->addTaxes($tax, $bargain_id, $this->userId, $father_id, $this->params['total_fee'], $operation_date);
$log_data_string = implode(',',$log_data); $log_data_string = implode(',', $log_data);
$content = "[开票金额:{$this->params['total_fee']}][开票日期:{$operation_date}][{$log_data_string}]"; $content = "[开票金额:{$this->params['total_fee']}][开票日期:{$operation_date}][{$log_data_string}]";
$this->editRecordLog($this->params['bargain_id'], $content); $this->editRecordLog($this->params['bargain_id'], $content);
return $this->response("200", "request success", $data); return $this->response("200", "request success", $data);
} }
...@@ -892,7 +892,8 @@ class Finance extends Basic ...@@ -892,7 +892,8 @@ class Finance extends Basic
* *
* @return \think\Response * @return \think\Response
*/ */
public function searchOrderAgents() { public function searchOrderAgents()
{
$params = $this->params; $params = $this->params;
/* $params = array( /* $params = array(
"type" => 1,//1盘方,2客方,3反签,4独家,5合作方 "type" => 1,//1盘方,2客方,3反签,4独家,5合作方
...@@ -904,7 +905,7 @@ class Finance extends Basic ...@@ -904,7 +905,7 @@ class Finance extends Basic
try { try {
$order_service = new OrderLogService(); $order_service = new OrderLogService();
$list = $order_service->searchBargainAllAgents($params["order_id"]); $list = $order_service->searchBargainAllAgents($params["order_id"]);
if (count($list) > 0) { if (count($list) > 0) {
return $this->response("200", "request success", $list); return $this->response("200", "request success", $list);
} else { } else {
...@@ -957,9 +958,9 @@ class Finance extends Basic ...@@ -957,9 +958,9 @@ class Finance extends Basic
$fields = 'a.id,a.operation_date,e.name,e.phone,a.fee,b.house_number,d.internal_address,a.agent_id,b.father_id,b.id as bargain_id,b.order_id'; $fields = 'a.id,a.operation_date,e.name,e.phone,a.fee,b.house_number,d.internal_address,a.agent_id,b.father_id,b.id as bargain_id,b.order_id';
$where['c.is_del'] = 0; $where['c.is_del'] = 0;
$where['b.status'] = [ 'in', [10,11,13] ]; //10已提交 11审核成功 $where['b.status'] = [ 'in', [ 10, 11, 13 ] ]; //10已提交 11审核成功
$where['a.father_id'] = ['neq', 0]; $where['a.father_id'] = [ 'neq', 0 ];
if (!empty($this->params['create_time']) && empty($this->params['end_time'])) { if (!empty($this->params['create_time']) && empty($this->params['end_time'])) {
$where['a.operation_date'] = [ '> time', $this->params['create_time'] . ' 00:00:00' ]; $where['a.operation_date'] = [ '> time', $this->params['create_time'] . ' 00:00:00' ];
} }
...@@ -1016,57 +1017,57 @@ class Finance extends Basic ...@@ -1016,57 +1017,57 @@ class Finance extends Basic
$pageNo = empty($this->params['pageNo']) ? 1 : $this->params['pageNo']; $pageNo = empty($this->params['pageNo']) ? 1 : $this->params['pageNo'];
$pageSize = empty($this->params['pageSize']) ? 15 : $this->params['pageSize']; $pageSize = empty($this->params['pageSize']) ? 15 : $this->params['pageSize'];
$where['b.status'] = ['in', '10,11,13']; //10已提交 11审核成功 $where['b.status'] = [ 'in', '10,11,13' ]; //10已提交 11审核成功
$where['a.confirm_status'] = 1; //确认分佣 $where['a.confirm_status'] = 1; //确认分佣
$operation_start_data = $operation_end_data = $income_date = $operation_date = ''; $operation_start_data = $operation_end_data = $income_date = $operation_date = '';
/**收佣日期 start**/ /**收佣日期 start**/
if (!empty($this->params['income_start_date']) && empty($this->params['income_end_date'])) { if (!empty($this->params['income_start_date']) && empty($this->params['income_end_date'])) {
$where[] = [ 'EXP', " f.income_time > {$this->params['income_start_date']} or c.operation_date > {$this->params['income_start_date']}"]; $where[] = [ 'EXP', " f.income_time > {$this->params['income_start_date']} or c.operation_date > {$this->params['income_start_date']}" ];
$income_date = date('Y.m.d', strtotime($this->params['income_start_date'])); $income_date = date('Y.m.d', strtotime($this->params['income_start_date']));
$operation_start_data = $this->params['income_start_date']; $operation_start_data = $this->params['income_start_date'] . ' 00:00:00';
} }
if (!empty($this->params['income_end_date']) && empty($this->params['income_start_date'])) { if (!empty($this->params['income_end_date']) && empty($this->params['income_start_date'])) {
$where[] = [ 'EXP', " f.income_time < {$this->params['income_end_date']} or c.operation_date < {$this->params['income_start_date']}"]; $where[] = [ 'EXP', " f.income_time < {$this->params['income_end_date']} or c.operation_date < {$this->params['income_start_date']}" ];
$income_date = '-'. date('Y.m.d', strtotime($this->params['income_end_date'])); $income_date = '-' . date('Y.m.d', strtotime($this->params['income_end_date']));
$operation_end_data = $this->params['income_end_date']; $operation_end_data = $this->params['income_end_date'] . ' 23:59:59';
} }
if (!empty($this->params['income_start_date']) && !empty($this->params['income_end_date'])){ if (!empty($this->params['income_start_date']) && !empty($this->params['income_end_date'])) {
$where[] = ['EXP', "(f.income_time BETWEEN '{$this->params['income_start_date']}' and '{$this->params['income_end_date']}')"]; $where[] = [ 'EXP', "(f.income_time BETWEEN '{$this->params['income_start_date']}' and '{$this->params['income_end_date']}')" ];
$income_date = date('Y.m.d', strtotime($this->params['income_start_date'])) .'-'. date('Y.m.d', strtotime($this->params['income_end_date'])); $income_date = date('Y.m.d', strtotime($this->params['income_start_date'])) . '-' . date('Y.m.d', strtotime($this->params['income_end_date']));
$operation_start_data = $this->params['income_start_date']; $operation_start_data = $this->params['income_start_date'] . ' 00:00:00';
$operation_end_data = $this->params['income_end_date']; $operation_end_data = $this->params['income_end_date'] . ' 23:59:59';
} }
/**收佣日期 end**/ /**收佣日期 end**/
/**提交成交报告日期 start**/ /**提交成交报告日期 start**/
if (!empty($this->params['bargain_start_date']) && empty($this->params['bargain_end_date'])) { if (!empty($this->params['bargain_start_date']) && empty($this->params['bargain_end_date'])) {
$where[] = [ 'EXP', "a.create_time > {$this->params['bargain_start_date']} . ' 00:00:00' OR c.operation_date > {$this->params['bargain_start_date']}"]; $where[] = [ 'EXP', "a.create_time > {$this->params['bargain_start_date']} . ' 00:00:00' OR c.operation_date > {$this->params['bargain_start_date']}" ];
$operation_date = date('Y.m.d', strtotime($this->params['bargain_start_date'])); $operation_date = date('Y.m.d', strtotime($this->params['bargain_start_date']));
$operation_start_data = $this->params['bargain_start_date']; $operation_start_data = $this->params['bargain_start_date'] . ' 00:00:00';
} }
if (!empty($this->params['bargain_end_date']) && empty($this->params['bargain_start_date'])) { if (!empty($this->params['bargain_end_date']) && empty($this->params['bargain_start_date'])) {
$where[] = [ 'EXP', "a.create_time < {$this->params['bargain_end_date']} . ' 23:59:59' OR c.operation_date < {$this->params['bargain_end_date']}"]; $where[] = [ 'EXP', "a.create_time < {$this->params['bargain_end_date']} . ' 23:59:59' OR c.operation_date < {$this->params['bargain_end_date']}" ];
$operation_date = date('Y.m.d', strtotime($this->params['bargain_end_date'])); $operation_date = date('Y.m.d', strtotime($this->params['bargain_end_date']));
$operation_end_data = $this->params['bargain_end_date']; $operation_end_data = $this->params['bargain_end_date'] . ' 23:59:59';
} }
if (!empty($this->params['bargain_start_date']) && !empty($this->params['bargain_end_date'])) { if (!empty($this->params['bargain_start_date']) && !empty($this->params['bargain_end_date'])) {
$where[] = ['EXP', "(a.create_time BETWEEN '{$this->params['bargain_start_date']} 00:00:00' and '{$this->params['bargain_end_date']} 23:59:59')"]; $where[] = [ 'EXP', "(a.create_time BETWEEN '{$this->params['bargain_start_date']} 00:00:00' and '{$this->params['bargain_end_date']} 23:59:59')" ];
$operation_date = date('Y.m.d', strtotime($this->params['bargain_start_date'])) .'-'. date('Y.m.d', strtotime($this->params['bargain_end_date'])); $operation_date = date('Y.m.d', strtotime($this->params['bargain_start_date'])) . '-' . date('Y.m.d', strtotime($this->params['bargain_end_date']));
$operation_start_data = $this->params['bargain_start_date']; $operation_start_data = $this->params['bargain_start_date'] . ' 00:00:00';
$operation_end_data = $this->params['bargain_end_date']; $operation_end_data = $this->params['bargain_end_date'] . ' 23:59:59';
} }
/**部门id**/ /**部门id**/
...@@ -1090,27 +1091,21 @@ class Finance extends Basic ...@@ -1090,27 +1091,21 @@ class Finance extends Basic
} }
$m_bargain = new OPartialCommission(); $m_bargain = new OPartialCommission();
$fields = 'f.income_time,b.create_time,b.id,b.agent_id,d.name,d.phone';
if (empty($this->params['excel']) && $this->params['excel'] != 1) { if (empty($this->params['excel']) && $this->params['excel'] != 1) {
$fields = 'f.income_time,b.create_time,b.id,b.agent_id,sum(a.practical_fee) as practical_fee,sum(a.cash) as cash,';
$fields .= 'sum(a.real_fee) as real_fee,d.name,d.phone';
$data['data']['list'] = $m_bargain->getCommissionTotalList($pageNo, $pageSize, 'a.id desc', $fields, $where, $operation_start_data, $operation_end_data);
foreach ($data['data']['list'] as $k=>$v) { $data['data']['list'] = $m_bargain->getCommissionTotalList($pageNo, $pageSize, 'a.id desc', $fields, $where, $operation_start_data, $operation_end_data);
$data['data']['list'][$k]['income_date'] = $income_date;
foreach ($data['data']['list'] as $k => $v) {
$data['data']['list'][$k]['income_date'] = $income_date;
$data['data']['list'][$k]['operation_date'] = $operation_date; $data['data']['list'][$k]['operation_date'] = $operation_date;
$data['data']['list'][$k]['over_fee'] = $v['practical_fee'] - $v['fee']; $data['data']['list'][$k]['over_fee'] = $v['practical_fee'] - $v['fee'];
} }
$data['data']['total'] = $m_bargain->getCommissionTotalListTotal($where); $data['data']['total'] = $m_bargain->getCommissionTotalListTotal($where);
} else { } else {
//导出Excel //导出Excel
$fields = 'f.income_time,b.create_time,sum(f.money) as money,sum(a.cash) as cash,';
$fields .= 'sum(a.service_charge) as service_charge,a.agent_id,sum(a.practical_fee) as practical_fee,';
$fields .= 'd.name,d.phone,sum(a.charity_fund) as charity_fund, sum(a.should_commission) as should_commission';
$pageSize = 25000; $pageSize = 25000;
$data = $m_bargain->getCommissionTotalList($pageNo, $pageSize, 'a.id desc', $fields, $where, $operation_start_data, $operation_end_data); $data = $m_bargain->getCommissionTotalList($pageNo, $pageSize, 'a.id desc', $fields, $where, $operation_start_data, $operation_end_data);
...@@ -1123,7 +1118,7 @@ class Finance extends Basic ...@@ -1123,7 +1118,7 @@ class Finance extends Basic
$excel_data[$k]['service_charge'] = $v['service_charge']; //手续费 $excel_data[$k]['service_charge'] = $v['service_charge']; //手续费
$excel_data[$k]['cash'] = $v['cash']; //现金奖 $excel_data[$k]['cash'] = $v['cash']; //现金奖
$excel_data[$k]['charity_fund'] = $v['charity_fund']; //慈善基金 $excel_data[$k]['charity_fund'] = $v['charity_fund']; //慈善基金
$excel_data[$k]['money'] = $v['money']; //实收佣金 $excel_data[$k]['practical_fee'] = $v['practical_fee']; //实收佣金
$excel_data[$k]['fee'] = $v['fee']; //税费 $excel_data[$k]['fee'] = $v['fee']; //税费
$excel_data[$k]['over_fee'] = $v['practical_fee'] - $v['fee']; $excel_data[$k]['over_fee'] = $v['practical_fee'] - $v['fee'];
} }
...@@ -1170,7 +1165,7 @@ class Finance extends Basic ...@@ -1170,7 +1165,7 @@ class Finance extends Basic
$data = $m_financial->editData($data, $this->params['bargain_id'], 'bargain_id'); $data = $m_financial->editData($data, $this->params['bargain_id'], 'bargain_id');
$m_bargain = new OBargainModel(); $m_bargain = new OBargainModel();
$m_bargain->updateBargainById($this->params['bargain_id'], ['status'=>10]); $m_bargain->updateBargainById($this->params['bargain_id'], [ 'status' => 10 ]);
$msg = ''; $msg = '';
if ($data > 0) { if ($data > 0) {
$code = 200; $code = 200;
...@@ -1202,8 +1197,8 @@ class Finance extends Basic ...@@ -1202,8 +1197,8 @@ class Finance extends Basic
$insert_data['audit_id'] = $this->userId; $insert_data['audit_id'] = $this->userId;
$insert_data['audit_name'] = $this->userName; $insert_data['audit_name'] = $this->userName;
$insert_data['audit_level'] = 2; $insert_data['audit_level'] = 2;
$insert_data['is_del'] = 1; $insert_data['is_del'] = 1;
$data = $m_bargain->addCheckBargain($this->params['bargain_id'], $insert_data, 1, 10); $data = $m_bargain->addCheckBargain($this->params['bargain_id'], $insert_data, 1, 10);
$code = 200; $code = 200;
$msg = ""; $msg = "";
...@@ -1225,51 +1220,52 @@ class Finance extends Basic ...@@ -1225,51 +1220,52 @@ class Finance extends Basic
* @throws \think\db\exception\ModelNotFoundException * @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException * @throws \think\exception\DbException
*/ */
public function financeUpdateLog(){ public function financeUpdateLog()
{
if (!$this->request->isAjax()) { if (!$this->request->isAjax()) {
return view('finance/finance_update_log'); return view('finance/finance_update_log');
} }
$pageNo = empty($this->params['pageNo']) ? 1 : $this->params['pageNo']; $pageNo = empty($this->params['pageNo']) ? 1 : $this->params['pageNo'];
$pageSize = empty($this->params['pageSize']) ? 15 : $this->params['pageSize']; $pageSize = empty($this->params['pageSize']) ? 15 : $this->params['pageSize'];
$where = []; $where = [];
if (!empty($this->params['create_time']) && empty($this->params['end_time'])) { if (!empty($this->params['create_time']) && empty($this->params['end_time'])) {
$where['a.create_time'] = ['> time', $this->params['create_time']]; $where['a.create_time'] = [ '> time', $this->params['create_time'] ];
} }
if (!empty($this->params['end_time']) && empty($this->params['create_time'])) { if (!empty($this->params['end_time']) && empty($this->params['create_time'])) {
$where['a.create_time'] = ['< time', $this->params['create_time']]; $where['a.create_time'] = [ '< time', $this->params['create_time'] ];
} }
if (!empty($this->params['create_time']) && !empty($this->params['end_time'])) { if (!empty($this->params['create_time']) && !empty($this->params['end_time'])) {
$where['a.create_time'] = ['between time', [$this->params['create_time'], $this->params['end_time']]]; $where['a.create_time'] = [ 'between time', [ $this->params['create_time'], $this->params['end_time'] ] ];
} }
//商铺号 //商铺号
if (!empty($this->params['house_number'])) { if (!empty($this->params['house_number'])) {
$where['a.house_number'] = ['like', '%'.$this->params['house_number'].'%']; $where['a.house_number'] = [ 'like', '%' . $this->params['house_number'] . '%' ];
} }
//商铺地址 //商铺地址
if (!empty($this->params['internal_address'])) { if (!empty($this->params['internal_address'])) {
$where['a.step_content'] = ['like', '%'.$this->params['internal_address'].'%']; $where['a.step_content'] = [ 'like', '%' . $this->params['internal_address'] . '%' ];
} }
//经纪人名字 //经纪人名字
if (!empty($this->params['name'])) { if (!empty($this->params['name'])) {
$where['b.name'] = ['like', '%'.$this->params['name'].'%']; $where['b.name'] = [ 'like', '%' . $this->params['name'] . '%' ];
} }
//经纪人手机号 //经纪人手机号
if (!empty($this->params['phone'])) { if (!empty($this->params['phone'])) {
$where['b.name'] = ['like', '%'.$this->params['phone'].'%']; $where['b.name'] = [ 'like', '%' . $this->params['phone'] . '%' ];
} }
$fields = 'a.create_time,step_content,b.name,b.phone'; $fields = 'a.create_time,step_content,b.name,b.phone';
$m_log = new OBargainLogModel(); $m_log = new OBargainLogModel();
$data['list'] = $m_log->getLogAgent($pageNo, $pageSize, 'a.id desc', $fields, $where); $data['list'] = $m_log->getLogAgent($pageNo, $pageSize, 'a.id desc', $fields, $where);
$data['total'] = $m_log->getLogAgentTotal($where); $data['total'] = $m_log->getLogAgentTotal($where);
return $this->response(200, "", $data); return $this->response(200, "", $data);
} }
...@@ -1287,11 +1283,12 @@ class Finance extends Basic ...@@ -1287,11 +1283,12 @@ class Finance extends Basic
* @throws \think\db\exception\ModelNotFoundException * @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException * @throws \think\exception\DbException
*/ */
public function editRecordLog(int $bargain_id, string $step_content = '', int $type = 1, string $house_number = '', int $is_open = 0) { public function editRecordLog(int $bargain_id, string $step_content = '', int $type = 1, string $house_number = '', int $is_open = 0)
{
$m_bargain = new OBargainModel(); $m_bargain = new OBargainModel();
$house_number_table = $m_bargain->getCheckBargain('a.house_number,c.internal_address', (int)$bargain_id); $house_number_table = $m_bargain->getCheckBargain('a.house_number,c.internal_address', (int)$bargain_id);
$step_content .= "[{$house_number_table['internal_address']}]"; $step_content .= "[{$house_number_table['internal_address']}]";
if (empty($house_number)) { if (empty($house_number)) {
$house_number = $house_number_table['house_number']; $house_number = $house_number_table['house_number'];
...@@ -1299,25 +1296,25 @@ class Finance extends Basic ...@@ -1299,25 +1296,25 @@ class Finance extends Basic
$insert_data = []; $insert_data = [];
if (is_array($step_content)) { if (is_array($step_content)) {
foreach ($step_content as $k=>$v) { foreach ($step_content as $k => $v) {
$insert_data[$k]['bargain_id'] = $bargain_id; $insert_data[$k]['bargain_id'] = $bargain_id;
$insert_data[$k]['step_content'] = $step_content; $insert_data[$k]['step_content'] = $step_content;
$insert_data[$k]['type'] = $type; $insert_data[$k]['type'] = $type;
$insert_data[$k]['operation_id'] = $this->userId; $insert_data[$k]['operation_id'] = $this->userId;
$insert_data[$k]['operation_name'] = $this->userName; $insert_data[$k]['operation_name'] = $this->userName;
$insert_data[$k]['house_number'] = $house_number; $insert_data[$k]['house_number'] = $house_number;
$insert_data[$k]['is_open'] = $is_open; $insert_data[$k]['is_open'] = $is_open;
$insert_data[$k]['create_time'] = date('Y-m-d H:i:s'); $insert_data[$k]['create_time'] = date('Y-m-d H:i:s');
} }
} else { } else {
$insert_data[0]['bargain_id'] = $bargain_id; $insert_data[0]['bargain_id'] = $bargain_id;
$insert_data[0]['step_content'] = $step_content; $insert_data[0]['step_content'] = $step_content;
$insert_data[0]['type'] = $type; $insert_data[0]['type'] = $type;
$insert_data[0]['operation_id'] = $this->userId; $insert_data[0]['operation_id'] = $this->userId;
$insert_data[0]['operation_name'] = $this->userName; $insert_data[0]['operation_name'] = $this->userName;
$insert_data[0]['house_number'] = $house_number; $insert_data[0]['house_number'] = $house_number;
$insert_data[0]['is_open'] = $is_open; $insert_data[0]['is_open'] = $is_open;
$insert_data[0]['create_time'] = date('Y-m-d H:i:s'); $insert_data[0]['create_time'] = date('Y-m-d H:i:s');
} }
$m_bargain = new OBargainLogModel(); $m_bargain = new OBargainLogModel();
......
...@@ -236,7 +236,8 @@ class OPartialCommission extends BaseModel ...@@ -236,7 +236,8 @@ class OPartialCommission extends BaseModel
$data = $this->alias('a') $data = $this->alias('a')
->field($field) ->field($field)
->join('o_bargain b', 'a.bargain_id = b.id', 'left') ->join('o_bargain b', 'a.bargain_id = b.id', 'left')
->join('o_real_income f', 'b.id = f.bargain_id', 'left') ->join('o_bargain e', 'b.father_id = e.id or b.id=e.id and e.father_id=0', 'left')
->join('o_real_income f', 'e.id = f.bargain_id', 'left')
->join('a_agents d', 'a.agent_id = d.id', 'left') ->join('a_agents d', 'a.agent_id = d.id', 'left')
->where($params) ->where($params)
->order($order_) ->order($order_)
...@@ -254,17 +255,29 @@ class OPartialCommission extends BaseModel ...@@ -254,17 +255,29 @@ class OPartialCommission extends BaseModel
$data[$k]['district_store'] = $district_store['district_name'] . '-' . $district_store['store_name']; $data[$k]['district_store'] = $district_store['district_name'] . '-' . $district_store['store_name'];
//税费 //税费
$data[$k]['fee'] = $m_tax->where('operation_date', 'between time', [$operation_start_data, $operation_end_data]) $data[$k]['fee'] = $m_tax->where('operation_date', 'between time', [ $operation_start_data, $operation_end_data ])
->where('agent_id', $v['agent_id'])->sum('fee'); ->where('agent_id', $v['agent_id'])->sum('fee');
//去除多次应分佣金 //去除多次应分佣金
$should_commission = $this->where('confirm_date', 'between time', [$operation_start_data, $operation_end_data]) $should_commission = $this->where('confirm_date', 'between time', [ $operation_start_data, $operation_end_data ])
->where('agent_id', $v['agent_id'])->group('bargain_id')->column('should_commission'); ->where('agent_id', $v['agent_id'])->group('bargain_id')->column('should_commission');
$data[$k]['should_commission'] = 0; $data[$k]['should_commission'] = 0;
foreach ($should_commission as $kk => $vv) { foreach ($should_commission as $kk => $vv) {
$data[$k]['should_commission'] += $vv; $data[$k]['should_commission'] += $vv;
} }
$field_sum = 'sum(practical_fee) as practical_fee,sum(cash) as cash,sum(real_fee) as real_fee,sum(service_charge) as service_charge,
sum(charity_fund) as charity_fund';
//应分佣金
$partial_commission = $this->field($field_sum)->where('confirm_date', 'between time', [ $operation_start_data, $operation_end_data ])
->where('agent_id', $v['agent_id'])->find();
$data[$k]['practical_fee'] = $partial_commission['practical_fee'];
$data[$k]['cash'] = $partial_commission['cash'];
$data[$k]['real_fee'] = $partial_commission['real_fee'];
$data[$k]['service_charge'] = $partial_commission['service_charge'];
$data[$k]['charity_fund'] = $partial_commission['charity_fund'];
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment