Commit 5fd91b19 authored by hujun's avatar hujun

实收金额汇总

# Conflicts: # application/index/controller/Finance.php
parent ce23a501
......@@ -670,7 +670,7 @@ class Finance extends Basic
}
$service_ = new OrderLogService();
$data = $service_->selectListByOrderNoV2($params["order_id"]);
$data = $service_->selectListByOrderNo($params["order_id"]);
return $this->response("200", "request success", $data);
}
......@@ -1642,19 +1642,49 @@ class Finance extends Basic
$where['b.name'] = [ 'like', '%' . $this->params['name'] . '%' ];
}
$m_bargain = new OPartialCommission();
if (!empty($this->params['confirm_date'])) {
$where['a.confirm_date'] = ['<=', $this->params['confirm_date'] . ' 23:59:59'];
$where['a.confirm_status'] = 1;
}
$m_partial = new OPartialCommission();
$m_tax = new OTaxes();
$fields = 'd.income_time,c.create_time,c.id,a.agent_id,b.name,b.phone';
$commission_fields = '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';
if (!empty($this->params['confirm_date'])) {
$commission_where['a.confirm_date'] = ['between time', [ $operation_start_data, $this->params['confirm_date'] . ' 23:59:59' ]];
}
$commission_where['b.income_time'] = ['between time', [ $operation_start_data, $operation_end_data ]];
$commission_where['confirm_status'] = 1;
$tax_where['operation_date'] = ['between time', [ $operation_start_data, $operation_end_data ]];
$tax_where['is_del'] = 0;
if (empty($this->params['excel']) && $this->params['excel'] != 1) {
$result_data = $m_bargain->getCommissionTotalListV2($pageNo, $pageSize, 'a.agent_id desc', $fields, $where, $operation_start_data, $operation_end_data);
$result_data = $m_partial->getCommissionTotalListV2($pageNo, $pageSize, 'a.agent_id desc', $fields, $where, $operation_start_data, $operation_end_data);
if ($result_data['status'] == 'successful') {
$data['data']['list'] = $result_data['data'];
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]['over_fee'] = $v['practical_fee'] - $v['fee'];
}
$list = [];
foreach ($result_data['data'] as $k => $v) {
$list[$k] = $v;
$commission_where['agent_id'] = $v['agent_id'];
$commission_data = $m_partial->sumCommission($commission_fields, $commission_where);
$list[$k]['income_date'] = $income_date;
$list[$k]['operation_date'] = $operation_date;
$list[$k]['practical_fee'] = $commission_data['practical_fee'];
$list[$k]['cash'] = $commission_data['cash'];
$list[$k]['real_fee'] = $commission_data['real_fee'];
$list[$k]['service_charge'] = $commission_data['service_charge'];
$list[$k]['charity_fund'] = $commission_data['charity_fund'];
$data['data']['total'] = $m_bargain->getCommissionTotalListTotalV2($where);
$tax_where['agent_id'] = $v['agent_id'];
$fee = $m_tax->sumField('fee', $tax_where);
$list[$k]['fee'] = $fee;
$list[$k]['over_fee'] = $commission_data['practical_fee'] - $fee;
}
$data['data']['list'] = $list;
$data['data']['total'] = $m_partial->getCommissionTotalListTotalV2($where);
$data['data']['total_money'] = $m_partial->getCommissionTotalField('a.practical_fee', $where);
} else {
$data['code'] = 101;
$data['msg'] = '内部错误'.$result_data['msg'];
......@@ -2806,9 +2836,9 @@ class Finance extends Basic
*/
public function collectingBill() {
$params = $this->params;
if (!isset($params["agent_id"]) || !isset($params["report_id"]) ||
!isset($params["order_id"]) || !isset($params["order_no"]) | !isset($params["collecting_bill"]) ||
!isset($params["house_number"]) || !isset($params["industry_type"]) ) {
if (empty($params["agent_id"]) || empty($params["report_id"]) ||
empty($params["order_id"]) || empty($params["order_no"]) | empty($params["collecting_bill"]) ||
empty($params["house_number"]) || empty($params["industry_type"]) ) {
return $this->response("101", "请求参数错误");
}
......
......@@ -332,6 +332,17 @@ class OPartialCommission extends BaseModel
return $result;
}
public function getCommissionTotalField($filed, $params) {
return $this->alias('a')
->join('a_agents b', 'a.agent_id = b.id', 'left')
->join('o_bargain c', 'a.bargain_id = c.id', 'left')
->join('o_real_income d', 'a.real_income_id = d.id', 'left')
->join('o_taxes f', 'a.bargain_id = f.bargain_id', 'left')
->where($params)
->group('b.id')
->sum($filed);
}
/**
* @param $params
* @return int|string
......
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