96 lines
3.0 KiB
PHP
96 lines
3.0 KiB
PHP
<?php
|
|
|
|
namespace app\adminapi\controller\approve;
|
|
|
|
use app\adminapi\controller\BaseAdminController;
|
|
use app\adminapi\lists\approve\ApproveLists;
|
|
use app\common\logic\task\TaskLogic;
|
|
use app\common\model\Approve;
|
|
use app\common\model\task\Task;
|
|
use app\common\model\task_scheduling_plan\TaskSchedulingPlan;
|
|
use think\facade\Db;
|
|
|
|
class ApproveController extends BaseAdminController
|
|
{
|
|
public function lists()
|
|
{
|
|
return $this->dataLists(new ApproveLists());
|
|
}
|
|
|
|
public function audit()
|
|
{
|
|
try {
|
|
$params = $this->request->param(); // id check_status remark
|
|
$approve = Approve::find($params['id']);
|
|
if (!$approve) {
|
|
$this->fail('数据不存在');
|
|
}
|
|
Db::startTrans();
|
|
// 拒绝通过 要让用户今天可以继续做任务
|
|
if ($params['check_status'] == 3) {
|
|
$this->refuse($params, $approve);
|
|
}
|
|
// 修改任务完成状态
|
|
if ($params['check_status'] == 2) {
|
|
$this->pass($approve);
|
|
}
|
|
Db::commit();
|
|
return $this->success('审核成功');
|
|
} catch (\Exception $e) {
|
|
Db::rollback();
|
|
return $this->fail($e->getFile().$e->getLine().$e->getMessage());
|
|
}
|
|
}
|
|
// 通过
|
|
private function pass($approve)
|
|
{
|
|
Db::startTrans();
|
|
$approve->check_status = 2;
|
|
$approve->update_time = time();
|
|
$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_4) {
|
|
$taskSchedulePlan = TaskSchedulingPlan::where('la_task_scheduling_plan.id', $task['scheduling_plan_id'])
|
|
->where('is_pay',0)
|
|
->with(['template_info'])
|
|
->withJoin(['scheduling'], 'left')
|
|
->where('scheduling.company_type', 41)
|
|
->find()
|
|
->toArray();
|
|
TaskLogic::dealTaskMarketingDirector10($taskSchedulePlan, $approve);
|
|
}
|
|
}
|
|
|
|
// 拒绝
|
|
private function refuse($params, $approve)
|
|
{
|
|
$approve->check_status = $params['check_status'];
|
|
$approve->remark = $params['remark'];
|
|
$approve->update_time = time();
|
|
$approve->save();
|
|
|
|
// 更新schedule_plan时间和task的时间为今天依旧可提交
|
|
$schedulePlan = TaskSchedulingPlan::find(['tast_id' => $approve['task_id']]);
|
|
if (empty($schedule_plan)) {
|
|
return $this->fail('数据异常,任务计划不存在');
|
|
}
|
|
$time = strtotime(date('Y-m-d'));
|
|
TaskSchedulingPlan::where(['id' => $schedulePlan['id']])->update([
|
|
'start_time'=>$time,
|
|
'end_time'=>$time + 86399
|
|
]);
|
|
Task::where('id', $approve['task_id'])->update([
|
|
'start_time'=>$time,
|
|
'end_time'=>$time + 86399
|
|
]);
|
|
}
|
|
|
|
} |