fixed
This commit is contained in:
parent
de5c213172
commit
16b0cd32e7
@ -121,7 +121,7 @@ class VillageShareProfit
|
||||
}
|
||||
}
|
||||
|
||||
public function dealVillageTaskSettlement3($taskInfo, $townCompany, $taskSchedulePlan, $leftTransactionPool)
|
||||
public function dealVillageTaskSettlement3($taskInfo, $townCompany, $taskSchedulePlan)
|
||||
{
|
||||
try {
|
||||
Db::startTrans();
|
||||
@ -130,8 +130,6 @@ class VillageShareProfit
|
||||
(new TaskSchedulingPlan())->settlement($taskSchedulePlan['id']);
|
||||
// 更改任务状态
|
||||
Task::where(['id' => $taskSchedulePlan['task_id']])->update(['status' => 3,'money' => $taskInfo['money']]);
|
||||
// 更新镇交易池
|
||||
(new TaskTemplate())->updateTransactionPool($taskSchedulePlan['template_info']['id'], $leftTransactionPool);
|
||||
Db::commit();
|
||||
return true;
|
||||
} catch (\Exception $e) {
|
||||
@ -195,7 +193,7 @@ class VillageShareProfit
|
||||
}
|
||||
}
|
||||
|
||||
public function dealVillageTaskSettlement7(Task $taskInfo, Company $townCompany, $taskSchedulePlan)
|
||||
public function dealVillageTaskSettlement7(Task $taskInfo, Company $townCompany, $taskSchedulePlan, $leftTransactionPool)
|
||||
{
|
||||
try {
|
||||
Db::startTrans();
|
||||
@ -204,6 +202,8 @@ class VillageShareProfit
|
||||
(new TaskSchedulingPlan())->settlement($taskSchedulePlan['id']);
|
||||
// 更改任务状态
|
||||
Task::where(['id' => $taskSchedulePlan['task_id']])->update(['status' => 3,'money' => $taskInfo['money']]);
|
||||
// 更新交易池
|
||||
(new TaskTemplate())->updateTransactionPool($taskSchedulePlan['template_info']['id'], $leftTransactionPool);
|
||||
Db::commit();
|
||||
return true;
|
||||
} catch (\Exception $e) {
|
||||
|
@ -2767,6 +2767,7 @@ class TaskLogic extends BaseLogic
|
||||
$villageCompany = Company::where(['id' => $taskTemplateInfo['company_id']])->find();
|
||||
$task = Task::where('id', $taskSchedulePlan['task_id'])->find();
|
||||
$groupServiceCompanyList = Company::where(['village' => $villageCompany['village'], 'company_type'=> 18, 'is_contract'=>1])->select()->toArray();
|
||||
|
||||
$villageTransactionPool = $taskTemplateInfo['transaction_pool']; // 村交易池
|
||||
$villageTotalTradeAmount = 0; // 村下属小组服务公司 每日实际总交易额
|
||||
$targetAmount = 0; // 村下属小组服务公司每日 目标总交易额
|
||||
@ -2778,12 +2779,13 @@ class TaskLogic extends BaseLogic
|
||||
if ($tempTask) {
|
||||
$plan = TaskSchedulingPlan::where(['id'=>$tempTask['scheduling_plan_id']])->find();
|
||||
if ($plan['is_pay'] == 1) {
|
||||
$extend = json_decode($tempTask['extend'], true);
|
||||
$extend = $tempTask['extend'];
|
||||
$targetAmount += $extend['transaction']['arr']['day_money'];
|
||||
$villageTotalTradeAmount += $extend['transaction']['arr']['total_price'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 完成条件: 查村所属小组服务公司当日实际完成金额总和+村管理公司的资金池 > 查镇所属小组服务公司当日任务目标金额总和
|
||||
if($targetAmount != 0 && bcadd($villageTransactionPool, $villageTotalTradeAmount, 2) >= bcmul($targetAmount, 0.8, 2)) {
|
||||
// 将余下金额放入镇交易池
|
||||
@ -2843,9 +2845,9 @@ class TaskLogic extends BaseLogic
|
||||
$target = $taskTemplateInfo['extend']['target'];
|
||||
$stageDayCount = bcadd($taskTemplateInfo['stage_day_one'], $taskTemplateInfo['stage_day_two']);
|
||||
$villageCompany = Company::where(['id' => $taskTemplateInfo['company_id']])->find();
|
||||
$townCompany = Db::query("select * from la_company where company_type=:company_type and FIND_IN_SET(:street,responsible_area)", ['company_type' => 41,'street'=>$villageCompany['street']], true)[0];
|
||||
$task = Task::where('id', $taskSchedulePlan['task_id'])->find();
|
||||
// 村地区码与村管理公司一样且在村管理公司负责小队中
|
||||
$groupServiceCompanyList = Company::where(['village' => $villageCompany['village'], 'company_type'=> 18, 'is_contract'=>1])->select()->toArray();
|
||||
|
||||
|
||||
// 任务累计天数 < 第一阶段+第二阶段 刷新任务
|
||||
if ($dayCount < $stageDayCount) {
|
||||
@ -2857,7 +2859,7 @@ class TaskLogic extends BaseLogic
|
||||
// 目标入股金额
|
||||
$targetShareholderedMoney = bcmul($target, 3000, 2);
|
||||
// 小组服务股金上交金额
|
||||
$shareholderedMoney = Db::name('company_sharecapital_change_log')->where(['parent_company_id'=>$villageCompany['id']])->sum('amount');
|
||||
$shareholderedMoney = Db::name('company_sharecapital_change_log')->where(['parent_company_id'=>$townCompany['id']])->sum('amount');
|
||||
|
||||
$rate = bcdiv($shareholderedMoney, $targetShareholderedMoney, 2);
|
||||
if (bccomp($rate, 0.5, 2) == -1) {
|
||||
@ -2932,12 +2934,10 @@ class TaskLogic extends BaseLogic
|
||||
foreach ($groupServiceCompanyList as $company) {
|
||||
$companyIds[] = $company['id'];
|
||||
}
|
||||
// 已入股股金总额
|
||||
$shareholderedMoney = CompanyAccountLog::where(['change_object'=>CompanyAccountLog::SHAREHOLDER, 'change_type'=>CompanyAccountLog::TASK_INC_SHAREHOLDER_MONEY])
|
||||
->whereIn('company_id', $companyIds)
|
||||
->sum('change_amount');
|
||||
|
||||
$targetShareholderedMoney = bcadd(bcmul($target, 3000), 6000); // 小组应组建团队数量*3000 + 村 6000
|
||||
// 小组服务和村公司股金上交金额
|
||||
$shareholderedMoney = Db::name('company_sharecapital_change_log')->whereIn('subordinate_company_id', $companyIds)->where(['parent_company_id'=>$villageCompany['id']])->sum('amount');
|
||||
// 目标上交股金金额 小组应组建团队数量*3000 + 村 6000
|
||||
$targetShareholderedMoney = bcadd(bcmul($target, 3000), 6000);
|
||||
$rate = bcdiv($shareholderedMoney, $targetShareholderedMoney, 2);
|
||||
$totalMoney = bcadd(bcmul($taskTemplateInfo['stage_day_one'], $taskTemplateInfo['money'], 2), bcmul($taskTemplateInfo['stage_day_two'], $taskTemplateInfo['money_two'], 2), 2) ;
|
||||
$task['money'] = self::countSettelmentMoney($rate, $totalMoney);
|
||||
@ -2993,7 +2993,7 @@ class TaskLogic extends BaseLogic
|
||||
|
||||
// 任务累计天数 = stage1 从商城查询种养殖商户的交易额,判定是否完成任务,完成则结算
|
||||
if ($dayCount == $stageDayOne) {
|
||||
$startTime = strtotime(date('Y-m-d',strtotime($taskTemplateInfo['create_time'])))+86400;
|
||||
$startTime = strtotime(date('Y-m-d',strtotime($taskTemplateInfo['create_time'])))+86400; // 创建任务的第二天00:00:00开始
|
||||
$endTime = strtotime('+30 day', $startTime);
|
||||
self::finishVillageTask7($startTime, $endTime, 13000, $taskTemplateInfo['stage_day_one'], $taskTemplateInfo['money'], $villageCompany, $taskSchedulePlan);
|
||||
}
|
||||
@ -3054,10 +3054,13 @@ class TaskLogic extends BaseLogic
|
||||
];
|
||||
$result = ShopRequestLogic::getPlantingAndBreedingMerchantTradeAmount($param); // todo 商城接口那边需要确定种养殖基地是何种类型的商户
|
||||
$tradeAmount = $result['data']['procure_amount'];
|
||||
|
||||
if ($tradeAmount >= $targetAmount) {
|
||||
// 交易池
|
||||
$transactionPool = $taskSchedulePlan['template_info']['transaction_pool'];
|
||||
$totalTradeAmount = bcadd($transactionPool, $tradeAmount, 2);
|
||||
if ($totalTradeAmount >= $targetAmount) {
|
||||
$task['money'] = bcmul($dayNum, $perMoney, 2);
|
||||
(new VillageShareProfit())->dealVillageTaskSettlement7($task, $villageCompany, $taskSchedulePlan);
|
||||
$leftTransactionPool = bcsub($totalTradeAmount, $targetAmount, 2);
|
||||
(new VillageShareProfit())->dealVillageTaskSettlement7($task, $villageCompany, $taskSchedulePlan, $leftTransactionPool);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user