入股审核

This commit is contained in:
chenbo 2023-11-18 09:52:43 +08:00
parent 0240331c6f
commit 0552ae8ebd
2 changed files with 58 additions and 59 deletions

View File

@ -207,41 +207,59 @@ class ApproveController extends BaseAdminController
{
Db::startTrans();
// 审批
$approve->check_status = 2;
$approve->update_time = time();
$approve->remark = $params['remark'];
$approve->save();
// 任务
$task = Task::find($approve['task_id']);
if ($task['status'] == 2) {
$task->status = 3;
$task->save();
}
Db::commit();
// 小组服务公司股金上交 小组服务团队-入股任务
// if ($approve->type == Approve::APPROVE_TYPE_10) {
// // 小组服务公司
// $subordinateCompany = Company::where(['id'=>$approve->department_id])->find();
// // 村公司
// $parentCompany = Company::where(['village'=>$subordinateCompany['village'], 'company_type'=>17])->find();
// }
//
// // 村联络员-督促小组服务团队入股任务
// if ( $approve->type == Approve::APPROVE_TYPE_11) {
// $parentCompany = Company::where(['id'=>$approve->department_id])->find();
// }
//
// // 村管理公司股金上交 村联络员任务-入股甲方公司
// if ($approve->type == Approve::APPROVE_TYPE_12) {
// // 村公司
// $subordinateCompany = Company::where(['id'=>$approve->department_id])->find();
// // 镇农科公司 负责区域包含有村公司的street码
// $parentCompany = Db::query("select * from la_company where company_type=:company_type and FIND_IN_SET(:street,responsible_area)", ['company_type' => 41,'street'=>$subordinateCompany['street']], true)[0];
// }
//
// // 镇农科服务部长-督促小组服务团队入股村管理公司任务
// if ($approve->type == Approve::APPROVE_TYPE_13) {
// $parentCompany = Company::where(['id'=>$approve->department_id])->find(); //无法确定那个小组服务公司入股到哪个村管理公司
// }
//
// // 镇农科负责人任务-促成村联络员入股甲方
// if ($approve->type == Approve::APPROVE_TYPE_14) {
// // 镇农科公司
// $parentCompany = Company::where(['id'=>$approve->department_id])->find();
// }
//
// $amount = $approve->amount; // 上交股金金额
//
// $subordinateCompany->shareholder_money = $amount;
// $subordinateCompany->save();
//
// // 添加入股记录
// $this->addConpanyAccountLog($parentCompany, $amount, $task);
// 小组服务公司股金上交 小组服务团队-入股任务 村联络员-督促小组服务团队入股任务 镇农科服务部长-督促小组服务团队入股村管理公司任务
if ($approve->type == Approve::APPROVE_TYPE_10 || $approve->type == Approve::APPROVE_TYPE_11 || $approve->type == Approve::APPROVE_TYPE_13) {
// 小组服务公司
$subordinateCompany = Company::where(['id'=>$approve->department_id])->find();
// 村公司
$parentCompany = Company::where(['village'=>$subordinateCompany['village'], 'company_type'=>17])->find();
}
// 村管理公司股金上交 村联络员任务-入股甲方公司
if ($approve->type == Approve::APPROVE_TYPE_12 || $approve->type == Approve::APPROVE_TYPE_14) {
// 村公司
$subordinateCompany = Company::where(['id'=>$approve->department_id])->find();
// 镇农科公司 负责区域包含有村公司的street码
$parentCompany = Db::query("select * from la_company where company_type=:company_type and FIND_IN_SET(:street,responsible_area)", ['company_type' => 41,'street'=>$subordinateCompany['street']], true)[0];
}
$amount = $approve->amount; // 上交股金金额
$subordinateCompany->shareholder_money = $amount;
$subordinateCompany->save();
// 添加股金入股记录
$sharecapitalChangeLogInsertId = $this->addConpanyAccountLog($subordinateCompany, $parentCompany, $amount);
$approve->check_status = 2;
$approve->update_time = time();
$approve->business_id = $sharecapitalChangeLogInsertId; // 灵活运用业务主键id
$approve->remark = $params['remark'];
$approve->save();
// 小组服务团队-入股任务结算
if ($approve->type == Approve::APPROVE_TYPE_10) {
@ -253,9 +271,9 @@ class ApproveController extends BaseAdminController
->select()
->toArray()[0];
$taskInfo = $task->toArray();
$this->taskSettlement($taskInfo, $subordinateCompany, $taskSchedulingPaln);
$company = Company::where(['id' => $taskInfo['company_id']])->find();
$this->taskSettlement($taskInfo, $company, $taskSchedulingPaln);
}
Db::commit();
// 村联络员-督促小组服务团队入股
if ($approve->type == Approve::APPROVE_TYPE_11) {
$taskSchedulingPaln = TaskSchedulingPlan::where(['task_id' => $task->id])
@ -303,33 +321,8 @@ class ApproveController extends BaseAdminController
return $this->success('成功');
}
private function addConpanyAccountLog($subordinateCompany, $parentCompany, $amount)
private function addConpanyAccountLog($parentCompany, $amount, $task)
{
$sharecapitalChangeLogData = [
'subordinate_company_id' => $subordinateCompany['id'],
'parent_company_id' => $parentCompany['id'],
'amount' => $amount,
'create_time' => time(),
'update_time' => time(),
];
$sharecapitalChangeLogInsertId = Db::name('company_sharecapital_change_log')->insertGetId($sharecapitalChangeLogData);
// 上交股金公司股金变更 + 公司股金减少记录
$leftAmount = bcsub($subordinateCompany['shareholder_money'], $amount, 2);
Company::where('id', $subordinateCompany['company_id'])->save(['shareholder_money'=> $leftAmount]);
$company_log1 = [
'sn' => generate_sn(UserAccountLog::class, 'sn', 20),
'company_id' => $subordinateCompany['id'],
'change_object' => CompanyAccountLog::SHAREHOLDER, // 变动对象 1余额 2股金
'change_type' => CompanyAccountLog::SHAREHOLDER_DEC_DEPOSIT, //变动类型
'action' => CompanyAccountLog::DEC, //1-增加 2-减少
'left_amount' => $leftAmount, //变动后数量
'change_amount' => $amount, //变动数量
'extend' => json_encode(['company_sharecapital_change_log_id' => $sharecapitalChangeLogInsertId]),
'status' => 1,
];
CompanyAccountLog::create($company_log1);
// 接收股金公司股金变更 + 公司股金增加记录
$addAmount = bcadd($parentCompany['shareholder_money'], $amount, 2);
Company::where('id', $parentCompany['id'])->save(['shareholder_money'=>$addAmount]);
@ -343,12 +336,10 @@ class ApproveController extends BaseAdminController
'action' => CompanyAccountLog::INC, //1-增加 2-减少
'left_amount' => $addAmount, //变动后数量
'change_amount' => $amount, //变动数量
'extend' => json_encode(['company_sharecapital_change_log_id' => $sharecapitalChangeLogInsertId]),
'extend' => json_encode(['task_id' => $task->id]),
'status' => 1,
];
CompanyAccountLog::create($company_log2);
return $sharecapitalChangeLogInsertId;
}
public function taskSettlement($data, $company, $datas = [])

View File

@ -102,6 +102,10 @@ class ApproveLists extends BaseAdminDataLists implements ListsSearchInterface
if ($data['type'] == Approve::APPROVE_TYPE_11) {
return '下属小组服务公司';
}
if ($data['type'] == Approve::APPROVE_TYPE_13) {
$townCompanyName = Company::where(['id' => $task['company_id']])->value('company_name');
return $townCompanyName.'(镇农科公司)下属小组服务公司';
}
if ($data['type'] == Approve::APPROVE_TYPE_14) {
return '下属村管理公司';
}
@ -113,6 +117,10 @@ class ApproveLists extends BaseAdminDataLists implements ListsSearchInterface
if ($data['type'] == Approve::APPROVE_TYPE_12 || $data['type'] == Approve::APPROVE_TYPE_14) {
return Db::query("select * from la_company where company_type=:company_type and FIND_IN_SET(:street,responsible_area)", ['company_type' => 41,'street'=>$companyB['street']], true)[0]['company_name'];
}
if ($data['type'] == Approve::APPROVE_TYPE_13) {
$townCompanyName = Company::where(['id' => $task['company_id']])->value('company_name');
return $townCompanyName.'(镇农科公司)下属村管理公司';
}
return Company::where(['village' => $companyB['village'], 'company_type'=>17])->value('company_name');
})
->toArray();