Commit 670b94e6 authored by hujun's avatar hujun

分佣汇总修改

parent bc8aa634
...@@ -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, '内部错误,修改成交报告失败!请联系运营。');
...@@ -720,13 +720,13 @@ class Finance extends Basic ...@@ -720,13 +720,13 @@ class Finance extends Basic
$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,7 +759,7 @@ class Finance extends Basic ...@@ -759,7 +759,7 @@ 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'];
...@@ -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,7 +859,7 @@ class Finance extends Basic ...@@ -859,7 +859,7 @@ 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合作方
...@@ -958,8 +959,8 @@ class Finance extends Basic ...@@ -958,8 +959,8 @@ 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,13 +1091,12 @@ class Finance extends Basic ...@@ -1090,13 +1091,12 @@ 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); $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) { foreach ($data['data']['list'] as $k => $v) {
$data['data']['list'][$k]['income_date'] = $income_date; $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'];
...@@ -1106,11 +1106,6 @@ class Finance extends Basic ...@@ -1106,11 +1106,6 @@ class Finance extends Basic
} 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;
...@@ -1225,7 +1220,8 @@ class Finance extends Basic ...@@ -1225,7 +1220,8 @@ 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');
} }
...@@ -1236,35 +1232,35 @@ class Finance extends Basic ...@@ -1236,35 +1232,35 @@ class Finance extends Basic
$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';
...@@ -1287,7 +1283,8 @@ class Finance extends Basic ...@@ -1287,7 +1283,8 @@ 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);
...@@ -1299,7 +1296,7 @@ class Finance extends Basic ...@@ -1299,7 +1296,7 @@ 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;
......
...@@ -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