Commit 3f1a3438 authored by hujun's avatar hujun

修改分佣方调业绩统计

parent 2b60c283
......@@ -1397,6 +1397,7 @@ class Finance extends Basic
$num = $m_partial->updateBargainById($partial_id, $data);
if ($num > 0) {
$this->updatePerformance($this->params['partial_id']);
$result['code'] = 200;
$result['msg'] = '删除成功';
} else {
......@@ -1460,9 +1461,9 @@ class Finance extends Basic
}
//检查成交报告是否存在
$data = $m_bargain->getBargainPartialDetail('a.id,a.agent_id,a.create_time', ['id'=>$this->params['bargain_id']]);
$data_arr = $m_bargain->getBargainPartialDetail('a.id,a.agent_id,a.create_time', ['id'=>$this->params['bargain_id']]);
if (empty($data['id'])) {
if (empty($data_arr['id'])) {
return $this->response(101, '没有成交报告信息');
}
......@@ -1473,15 +1474,8 @@ class Finance extends Basic
$data = $m_bargain->updateBargainById($this->params['bargain_id'], $update); //更改分佣方
//获取被修改人信息
$m_agent = new AAgents();
$agent_data = $m_agent->verifyUser('id,store_id,district_id', '',['id'=>$this->params['agent_id']]);
//更新业绩统计
$sum = new ResultsSummaryNewTask();
$date = date('Y-m-d', strtotime($data['create_time']));
$sum->updateTotalByAgentId($agent_data['id'], $agent_data['store_id'], $agent_data['district_id'], $date); //被修改的人
$sum->updateTotalByAgentId($data['agent_id'], $data['store_id'], $data['district_id'], $date);//修改为最新的分佣方
$this->updatePerformance(0, $this->params['agent_id']);
$this->updatePerformance(0, $data_arr['agent_id']);
/*记录日志 start*/
$bargain_data = $m_bargain->selectBargainByOrderNo('agent_id,father_id', ['id'=>$this->params['bargain_id']]);
......@@ -1524,6 +1518,8 @@ class Finance extends Basic
if ($result) {
$code = 200;
$this->editRecordLog($this->params['bargain_id'], '[撤销成交报告]', 3); //日志记录
$this->updatePerformance($this->params['bargain_id']);
$msg = '撤销成功';
} else {
$code = 101;
......@@ -1531,4 +1527,36 @@ class Finance extends Basic
}
return $this->response($code, $msg);
}
/**
* 更新个人业绩
*
* @param int $bargain_id
* @param int $agent_id
* @return bool
*/
private function updatePerformance(int $bargain_id = 0, int $agent_id = 0) : bool{
$where = [];
if ($bargain_id) {
$where['b.id'] = $bargain_id;
}
if ($agent_id) {
$where['a.id'] = $agent_id;
}
if (!empty($where)) {
//获取被修改人信息
$m_agent = new AAgents();
$agent_data = $m_agent->agentBragainDetail('a.id,a.store_id,a.district_id,b.create_time', ['b.id'=>$bargain_id]);
//更新业绩统计
$sum = new ResultsSummaryNewTask();
$date = date('Y-m-d', strtotime($agent_data['create_time']));
$sum->updateTotalByAgentId($agent_data['id'], $agent_data['store_id'], $agent_data['district_id'], $date); //被修改的人
}
return true;
}
}
......@@ -178,20 +178,20 @@ class AAgents extends BaseModel
* @param $join
* @param $params
* @return array|false|\PDOStatement|string|\think\Model
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public function verifyUser($field, $join, $params)
{
try {
$data = $this->field($field)
->alias('a')
->join($join)
->where($params)
->find();
} catch (\Exception $e) {
$data = [];
}
$r = $this->field($field)
->alias('a')
->join($join)
->where($params)
->find();
//echo $this->getLastSql();
return $r;
return $data;
}
/**
......@@ -1005,6 +1005,14 @@ class AAgents extends BaseModel
return $result;
}
/**
* @param $field
* @param $params
* @return string
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public function getAgentsIdsArray($field, $params)
{
$params["status"] = 0;
......@@ -1023,6 +1031,14 @@ class AAgents extends BaseModel
}
/**
* @param $field
* @param $params
* @return false|\PDOStatement|string|\think\Collection
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public function getAgentsInfo($field, $params)
{
$params["a.status"] = 0;
......@@ -1036,4 +1052,22 @@ class AAgents extends BaseModel
return $result;
}
/**
* @param $field
* @param $where
* @return array|false|\PDOStatement|string|\think\Model
*/
public function agentBragainDetail($field, $where) {
try {
$data = $this->alias('a')
->field($field)
->join('o_bargain b', 'a.id = b.agent_id', 'left')
->where($where)
->find();
} catch (\Exception $e) {
$data = [];
}
return $data;
}
}
\ No newline at end of file
......@@ -906,10 +906,9 @@ class OBargainModel extends Model
$insert_data['father_id'] = $id;
} else {
$insert_data['father_id'] = $bargain_data['father_id'];
$insert_data['create_time'] = $bargain_data['create_time'];
$insert_data['is_commission'] = 1;
}
$insert_data['create_time'] = $bargain_data['create_time']; //分佣方保留打成交报告时间
$insert_data['report_id'] = $bargain_data['report_id'];
$insert_data['agent_id'] = $agent_id;
$insert_data['order_id'] = $bargain_data['order_id'];
......@@ -933,6 +932,12 @@ class OBargainModel extends Model
$result = $this->insert($insert_data);
if ($result == 1) {
$this->commit();
$agent_data = $m_agent->verifyUser('store_id,district_id', '', ['id'=>$agent_id]);
//更新业绩统计
$sum = new ResultsSummaryNewTask();
$date = date('Y-m-d', strtotime($bargain_data['create_time']));
$sum->updateTotalByAgentId($agent_id, $agent_data['store_id'], $agent_data['district_id'], $date); //被修改的人
} else {
$this->rollback();
$result = false;
......
......@@ -84,7 +84,7 @@ class OFinancialAudit extends BaseModel
$this->startTrans();
$data['status'] = 4;
$data['is_del'] = 1; //去除之前的审核记录
$result_audit = $this->editData($data, $bargain_id, 'bargain_id');
$this->editData($data, $bargain_id, 'bargain_id');
$m_bargain = new OBargainModel();
$update_data['status'] = 20;
......
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