add:任务10的前台逻辑

This commit is contained in:
chenbo 2023-10-18 10:42:58 +08:00
parent b08274f2f7
commit cb6c7730a8

View File

@ -64,6 +64,8 @@ class TaskController extends BaseApiController
$where[] = ['status', '=', $param['status']];
}
$townTaskTypeList = DictData::where(['type_value' => 'town_task_type', 'status' => 1])->column('value', 'id');
$townMarketingManagerTaskTypeList = DictData::where(['type_value' => 'town_task_type_marketing_director', 'status' => 1])->column('value', 'id');
$res = Task::where($where)
->field(['id', 'title', 'money', 'template_id', 'director_uid', 'company_id', 'start_time', 'end_time', 'director_uid', 'type', 'status', 'content', 'extend'])
->page($page, 25)
@ -124,31 +126,34 @@ class TaskController extends BaseApiController
}
}
// break;
// case 'town_task_type_2':
// // 拓展小组服务团队工作任务
//
// break;
// case 'town_task_type_3':
// // 督促小组服务团队完成任务,协助开展工作,解决问题任务
//
// break;
// case 'town_task_type_4':
// // 督促小组服务团队学习任务
//
// break;
// case 'town_task_type_5':
// // 督促小组服务团队完成需求手机和交易任务
//
// break;
// case 'town_task_type_6':
// // 督促小组服务团队入股村联络员所成立的公司任务
//
// break;
// case 'town_task_type_7':
// // 安全工作任务
//
// break;
if (isset($townMarketingManagerTaskTypeList[$item['type']])) {
// 数字农贸宣传、加工业务建设和招商任务 返回给前端当前任务模板进行到哪个阶段
// 每个阶段不同,前台展示不同的资料上传页面,上传走审批接口
if ($townMarketingManagerTaskTypeList[$item['type']] == 'town_task_type_marketing_director_10') {
$templateInfo = TaskTemplate::where(['id' => $item['template_id']])->find();
$dayCount = $templateInfo['day_count'];
$stageDayOne = $templateInfo['stage_day_one'];
$stageDayTwoCount = bcadd($templateInfo['stage_day_one'], $templateInfo['stage_day_two']);
$stageDayThreeCount = bcadd($templateInfo['stage_day_three'], $stageDayTwoCount);
// 第一阶段
if ($dayCount < $stageDayOne) {
$res[$k]['stage'] = 1;
}
// 第二阶段
if ($dayCount > $stageDayOne && $dayCount <= $stageDayTwoCount) {
$res[$k]['stage'] = 2;
}
// 第三阶段
if ($dayCount > $stageDayTwoCount && $dayCount <= $stageDayThreeCount) {
$res[$k]['stage'] = 3;
}
// 第四阶段
if ($dayCount > $stageDayThreeCount) {
$res[$k]['stage'] = 4;
}
}
}
}
return $this->success('ok', $res);
@ -323,10 +328,9 @@ class TaskController extends BaseApiController
// 没有则创建审批任务
$approveModel = Approve::where(['task_id' => $task['id']])->find();
if ($approveModel->isEmpty()) {
$approveModel->type = 1;
$approveModel->type = Approve::APPROVE_TYPE_1;
$approveModel->flow_id = 1;
$approveModel->name = $task['title'];
$approveModel->type = 1;
$approveModel->admin_id = 0; // 后台发起人id 暂时为0
$approveModel->user_id = $this->userId; // 前台发起人用户id
$approveModel->task_id = $task['id']; // 前台发起人用户id
@ -379,6 +383,73 @@ class TaskController extends BaseApiController
} catch (Exception $e) {
return $this->fail($e->getMessage());
}
}
/**
* 镇农科公司任务-数字农贸宣传、加工业务建设和招商任务
* 第一阶段 上传 宣传和加工两个业务 的手续办理完成证明
* 第二阶段 上传 竣工验收单
* 第三阶段 上传 两个业务体系招商入驻证明
* 第四阶段 上传完成净利润的证明
*
* 将上传文件保存,走任务审批流程
*/
public function commit_town_task_type_marketing_director_10()
{
try {
$parmas = $this->request->param(); //id stage stage1第一阶段完成证明 stage2 stage3 stage4
$task = TaskLogic::detail($parmas);
if (empty($task)) {
$this->fail('任务不存在');
}
Db::startTrans();
$extend = [];
$stage = $parmas['stage']; // 当前做的是任务第几阶段
if ($stage == 1) {
$extend['stage1'] = $parmas['stage1'];
}
if ($stage == 2) {
$extend['stage2'] = $parmas['stage2'];
}
if ($stage == 3) {
$extend['stage3'] = $parmas['stage3'];
}
if ($stage == 4) {
$extend['stage4'] = $parmas['stage4'];
}
// Task::where(['id' => $parmas['id']])->update(['extend' => json_encode($extend), 'update_time'=>time(), 'director_uid'=>$this->userId]); // director_uid 指派人
// 片区经理
$areaManagerId = User::where(['id' => $this->userId])->with('company')->value('area_manager');
// 没有则创建审批任务
$approveModel = Approve::where(['task_id' => $task['id']])->findOrEmpty();
if ($approveModel->isEmpty()) {
$approveModel->type = Approve::APPROVE_TYPE_4;
$approveModel->flow_id = 1;
$approveModel->name = $task['title'];
$approveModel->admin_id = 0; // 后台发起人id 暂时为0
$approveModel->user_id = $this->userId; // 前台发起人用户id
$approveModel->task_id = $task['id']; // 任务id
$approveModel->department_id = '0';
$approveModel->check_admin_ids = $areaManagerId; // 当前审批人ID 片区经理的admin_id
$approveModel->check_status = 1; // 状态 0待审核,1审核中,2审核通过,3审核不通过,4撤销审核
$approveModel->other_type = 6;
$approveModel->extend = $extend;
$approveModel->create_time = time();
$approveModel->update_time = time();
$approveModel->save();
} else {
// 有则更新状态
$approveModel->check_status = 1; // 状态 0待审核,1审核中,2审核通过,3审核不通过,4撤销审核
$approveModel->save();
}
Db::commit();
return $this->success('ok', []);
} catch (Exception $e) {
Db::rollback();
return $this->fail($e->getMessage());
}
}
}