diff --git a/app/common/logic/CompanyLogic.php b/app/common/logic/CompanyLogic.php index aa6d72e7d..76e5972d7 100644 --- a/app/common/logic/CompanyLogic.php +++ b/app/common/logic/CompanyLogic.php @@ -123,9 +123,6 @@ class CompanyLogic extends BaseLogic 'company_type'=>$params['company_type'], ]; TaskScheduling::create($scheduling); - // if ($level_one > 0) { - // $contractId = self::contract($data['id'], $params); - // } Db::commit(); return true; } catch (\Exception $e) { diff --git a/app/common/logic/finance/ShareProfit.php b/app/common/logic/finance/ShareProfit.php index e703f3235..9c977c283 100644 --- a/app/common/logic/finance/ShareProfit.php +++ b/app/common/logic/finance/ShareProfit.php @@ -5,6 +5,7 @@ namespace app\common\logic\finance; use app\common\enum\user\AccountLogEnum; use app\common\logic\AccountLogLogic; use app\common\model\Company; +use app\common\model\company\CompanyAccountLog; use app\common\model\task_scheduling_plan\TaskSchedulingPlan; use app\common\model\user\User; use think\facade\Db; @@ -46,7 +47,22 @@ class ShareProfit $this->Account($arr_two); } //公司 - Company::where('id', $data['company_id'])->update(['deposit'=>Db::raw('deposit+' . $master_maoney), 'company_money'=>Db::raw('company_money+' .$master_maoney)]); + if($data['company_account_type']==1){ + $deposit_count = bcadd($company['deposit'], $master_maoney,2); + $this->AccountLog($data['company_id'],$deposit_count,$master_maoney); + + $company_money_count = bcadd($company['company_money'], $master_maoney,2); + $this->AccountLog($data['company_id'],$company_money_count,$master_maoney); + + Company::where('id', $data['company_id'])->update(['deposit'=>Db::raw('deposit+' . $master_maoney), 'company_money'=>Db::raw('company_money+' .$master_maoney)]); + + }elseif($data['company_account_type']==2){ + $company_money_count = bcadd($company['shareholder_money'], $master_maoney,2); + $this->AccountLog($data['company_id'],$company_money_count,$master_maoney,1,2); + + Company::where('id', $data['company_id'])->update(['shareholder_money'=>Db::raw('shareholder_money+' . $master_maoney)]); + + } Db::commit(); return true; } catch (\Exception $e) { @@ -56,6 +72,19 @@ class ShareProfit } } + public function AccountLog($companyId,$left_amount,$changeAmount,$change_object=1,$change_type=1,$action=1){ + $company_log = [ + 'sn' => generate_sn(UserAccountLog::class, 'sn', 20), + 'company_id'=>$companyId, + 'change_object' => $change_object,//变动对象 + 'change_type' => $change_type,//变动类型 + 'action' => $action,//1-增加 2-减少 + 'left_amount' => $left_amount,//变动后数量 + 'change_amount' => $changeAmount,//变动数量 + 'status'=>1, + ]; + CompanyAccountLog::create($company_log); + } /**负责人的分润 * @param $data */ diff --git a/app/common/model/company/CompanyAccountLog.php b/app/common/model/company/CompanyAccountLog.php new file mode 100644 index 000000000..90b96d90b --- /dev/null +++ b/app/common/model/company/CompanyAccountLog.php @@ -0,0 +1,32 @@ +update(['is_pay' => 1]); - $company = Company::where('id', $data['company_id'])->field('id,deposit,company_money,user_id,day_count,company_type,province,city,area,street,village,brigade')->find(); // 可能要判断预存金是否满足 + $company = Company::where('id', $data['company_id'])->field('id,deposit,company_money,shareholder_money,user_id,day_count,company_type,province,city,area,street,village,brigade')->find(); // 可能要判断预存金是否满足 $arr['status'] = 0; + $arr['company_account_type'] = 1; //信息更新 if ($data['template_info']['type'] == 31) { if ($data['template_info']['information_count'] < $data['template_info']['information_day_count']) { @@ -78,6 +79,7 @@ class TaskInformationJob $name = $task_35['director_info']['nickname']; $arr['status'] = 1; $arr['money'] = $task_35['over_decimal']; + $arr['company_account_type'] = 2; }else{ Log::info('入股任务 ' . $data['template_info']['title'] . '结算失败:' . json_encode($data)); Task::where('id', $data['task_id'])->update(['status' => 5]);