From 0552ae8ebd564de2bf43b13484a8e84baa2693e8 Mon Sep 17 00:00:00 2001 From: chenbo <709206448@qq.com> Date: Sat, 18 Nov 2023 09:52:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E8=82=A1=E5=AE=A1=E6=A0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/approve/ApproveController.php | 109 ++++++++---------- app/adminapi/lists/approve/ApproveLists.php | 8 ++ 2 files changed, 58 insertions(+), 59 deletions(-) diff --git a/app/adminapi/controller/approve/ApproveController.php b/app/adminapi/controller/approve/ApproveController.php index e47bd731c..e04b9135f 100644 --- a/app/adminapi/controller/approve/ApproveController.php +++ b/app/adminapi/controller/approve/ApproveController.php @@ -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 = []) diff --git a/app/adminapi/lists/approve/ApproveLists.php b/app/adminapi/lists/approve/ApproveLists.php index f56a3b341..34e90fce6 100644 --- a/app/adminapi/lists/approve/ApproveLists.php +++ b/app/adminapi/lists/approve/ApproveLists.php @@ -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();