@ -26,19 +26,19 @@ class Task extends ApiCommon
* @permission 无限制
* @allow 登录用户可访问
* @other 其他根据系统设置
**/
**/
public function _initialize()
{
$action = [
'permission'=>[''],
'allow'=>[
'permission' => [''],
'allow' => [
'index', 'mytask', 'updatetop', 'updateorder', 'read', 'update', 'readloglist', 'updatepriority',
'updateowner', 'delownerbyid', 'delstruceurebyid', 'updatestoptime', 'updatelable', 'updatename',
'taskover', 'datelist','save','delmainuserid','rename','delete','archive','recover','archlist',
'archivetask','setover','updateclassorder','excelimport','excelexport','taskusers','ownertasklist']
'taskover', 'datelist', 'save', 'delmainuserid', 'rename', 'delete', 'archive', 'recover', 'archlist',
'archivetask', 'setover', 'updateclassorder', 'excelimport', 'excelexport', 'taskusers', 'ownertasklist']
];
Hook::listen('check_auth',$action);
Hook::listen('check_auth', $action);
$request = Request::instance();
$a = strtolower($request->action());
if (!in_array($a, $action['permission'])) {
@ -51,15 +51,15 @@ class Task extends ApiCommon
$taskModel = model('Task');
if (!$taskModel->checkTask($param['task_id'], $userInfo)) {
header('Content-Type:application/json; charset=utf-8');
exit(json_encode(['code'=>102,'error'=>'没有权限']));
exit(json_encode(['code' => 102, 'error' => '没有权限']));
}
}
}
/**
* 项目下任务列表
* @author yykun
* @return
* @author yykun
*/
public function index()
{
@ -92,7 +92,8 @@ class Task extends ApiCommon
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public function excelExport(){
public function excelExport()
{
$param = $this->param;
$userInfo = $this->userInfo;
$param['user_id'] = $userInfo['id'];
@ -105,28 +106,72 @@ class Task extends ApiCommon
$data = $TaskLogic->excelExport($param);
return $data;
}
/**
* 客户导入模板下载
* @author Michael_xu
* 导入模板下载
* @param string $save_path 本地保存路径 用于错误数据导出,在 Admin\Model\Excel::batchImportData()调用
* @return
* @author Michael_xu
*/
public function excelDownload($save_path = '')
{
$param = $this->param;
$userInfo = $this->userInfo;
$excelModel = new \app\admin\model\Excel();
$field_list = [
'0' => ['name' => '任务名称', 'field' => 'name'],
'1' => ['name' => '任务描述', 'field' => 'description'],
'2' => ['name' => '开始时间', 'field' => 'start_time'],
'3' => ['name' => '结束时间', 'field' => 'stop_time'],
'4' => ['name' => '创建人', 'field' => 'create_user_id'],
'5' => ['name' => '参与人', 'field' => 'owner_user_id'],
'6' => ['name' => '所在任务列表', 'field' => 'class_id'],
'0' => [
'name' => '任务名称',
'field' => 'name',
'types' => 'task',
'form_type' => 'text',
'default_value' => '',
'is_unique' => 1,
'is_null' => 1,
'input_tips' => '',
'setting' => array(),
'is_hidden' => 0,
'writeStatus' => 1,
'value' => '',
],
'1' => [
'name' => '任务描述',
'field' => 'description',
'types' => 'task',
'form_type' => 'textarea',
],
'2' => [
'name' => '开始时间',
'field' => 'start_time',
'types' => 'task',
'form_type' => 'datetime',
],
'3' => [
'name' => '结束时间',
'field' => 'stop_time',
'types' => 'task',
'form_type' => 'datetime',
],
'4' => [
'name' => '创建人',
'field' => 'create_user_id',
'types' => 'task',
'form_type' => 'user',
],
'5' => [
'name' => '参与人',
'field' => 'owner_user_id',
'types' => 'task',
'form_type' => 'user',
],
'6' => [
'name' => '所在任务列表',
'field' => 'class_id',
'types' => 'task',
'form_type' => 'text',
'is_unique' => 1,
'is_null' => 1,
],
];
// 导入的字段列表
$excelModel->excelImportDownload($field_list, 'task', $save_path);
$excelModel->excelImportDownload($field_list, 'work_ task', $save_path);
}
/**
@ -146,13 +191,67 @@ class Task extends ApiCommon
header('Content-Type:application/json; charset=utf-8');
exit(json_encode(['code' => 102, 'error' => '无权操作!']));
}
$field_list = [
'0' => [
'name' => '任务名称',
'field' => 'name',
'types' => 'task',
'form_type' => 'text',
'default_value' => '',
'is_unique' => 1,
'is_null' => 1,
'input_tips' => '',
'setting' => array(),
'is_hidden' => 0,
'writeStatus' => 1,
'value' => '',
],
'1' => [
'name' => '任务描述',
'field' => 'description',
'types' => 'task',
'form_type' => 'textarea',
],
'2' => [
'name' => '开始时间',
'field' => 'start_time',
'types' => 'task',
'form_type' => 'datetime',
],
'3' => [
'name' => '结束时间',
'field' => 'stop_time',
'types' => 'task',
'form_type' => 'datetime',
],
'4' => [
'name' => '创建人',
'field' => 'create_user_id',
'types' => 'task',
'form_type' => 'user',
],
'5' => [
'name' => '参与人',
'field' => 'owner_user_id',
'types' => 'task',
'form_type' => 'user',
],
'6' => [
'name' => '所在任务列表',
'field' => 'class_id',
'types' => 'task',
'form_type' => 'text',
'is_unique' => 1,
'is_null' => 1,
],
];
$excelModel = new \app\admin\model\Excel();
$param['create_user_id'] = $userInfo['id'];
$param['owner_user_id'] = $param['owner_user_id'] ? : 0;
$param['owner_user_id'] = $param['owner_user_id'] ?: 0;
$file = request()->file('file');
$param['types'] = 'task';
// $res = $excelModel->importExcel($file, $param, $this);
$res = $excelModel->batchTaskImportData($file, $param, $this);
$res = $excelModel->batchTaskImportData($file,$field_list, $param, $this);
if (!$res) {
return resultArray(['error' => $excelModel->getError()]);
}
@ -172,32 +271,33 @@ class Task extends ApiCommon
return resultArray(['data' => $data]);
}
/**
* 我的任务
* @author yykun
* @return
* @author yykun
*/
public function myTask()
{
$taskModel = model('Task');
$userId = $this->userInfo['id'];
$taskModel = model('Task');
$userId = $this->userInfo['id'];
$data = [];
$data = [];
$data[0]['title'] = '收件箱';
$data[1]['title'] = '今天要做';
$data[2]['title'] = '下一步要做';
$data[3]['title'] = '以后要做';
for ($k = 0; $k < 4 ; $ k + + ) {
$where = [];
$where['ishidden'] = 0;
$where['is_top'] = $k;
$where['pid'] = 0;
$where['whereStr'] = ' ( task.create_user_id ='.$userId.' or ( task.owner_user_id like "%,'.$userId.',%") or ( task.main_user_id = '.$userId.' ) )';
$where['ishidden'] = 0;
$where['is_top'] = $k;
$where['pid'] = 0;
$where['whereStr'] = ' ( task.create_user_id =' . $userId . ' or ( task.owner_user_id like "%,' . $userId . ',%") or ( task.main_user_id = ' . $userId . ' ) )';
if (!empty($this->param['search'])) $where['taskSearch'] = '(task.name like "%' . $this->param['search'] . '%" OR task.description like "%' . $this->param['search'] . '%")';
$resData = $taskModel->getProjectTaskList($where, $this->param);
$resData = $taskModel->getProjectTaskList($where, $this->param);
$data[$k]['is_top'] = $k;
$data[$k]['list'] = $resData['list'] ? : [];
$data[$k]['count'] = $resData['count'] ? : 0;
$data[$k]['list'] = $resData['list'] ?: [];
$data[$k]['count'] = $resData['count'] ? : 0;
}
return resultArray(['data' => $data]);
}
@ -211,8 +311,8 @@ class Task extends ApiCommon
*/
public function updateTop()
{
$param = $this->param;
$tolist = $param['tolist'];
$param = $this->param;
$tolist = $param['tolist'];
$fromlist = $param['fromlist'];
# 权限判断
@ -226,7 +326,7 @@ class Task extends ApiCommon
foreach ($tolist as $k1 => $v1) {
$toData = [];
$toData['is_top'] = $param['to_top_id'];
$toData['top_order_id'] = $k1+1;
$toData['top_order_id'] = $k1 + 1;
Db::name('Task')->where(['task_id' => $v1])->update($toData);
}
}
@ -236,20 +336,20 @@ class Task extends ApiCommon
foreach ($fromlist as $k2 => $v2) {
$fromData = [];
$fromData['is_top'] = $param['from_top_id'];
$fromData['top_order_id'] = $k2+1;
$fromData['top_order_id'] = $k2 + 1;
Db::name('Task')->where(['task_id' => $v2])->update($fromData);
}
}
} else {
return resultArray(['error' => '参数错误' ]);
return resultArray(['error' => '参数错误']);
}
return resultArray(['data' => true ]);
return resultArray(['data' => true]);
}
/**
* 项目 拖拽改变分类并排序
* @author yykun
* @return
* @author yykun
*/
public function updateOrder()
{
@ -266,7 +366,7 @@ class Task extends ApiCommon
foreach ($tolist as $k1 => $v1) {
$toData = [];
$toData['class_id'] = $param['toid'];
$toData['order_id'] = $k1+1;
$toData['order_id'] = $k1 + 1;
Db::name('Task')->where(['task_id' => $v1])->update($toData);
}
}
@ -275,11 +375,11 @@ class Task extends ApiCommon
foreach ($fromlist as $k2 => $v2) {
$fromData = [];
$fromData['class_id'] = $param['fromid'];
$fromData['order_id'] = $k2+1;
$fromData['order_id'] = $k2 + 1;
Db::name('Task')->where(['task_id' => $v2])->update($fromData);
}
}
return resultArray(['data' => true ]);
return resultArray(['data' => true]);
}
/**
@ -292,12 +392,12 @@ class Task extends ApiCommon
* @throws \think\exception\DbException
* @throws \think\exception\PDOException
*/
public function updateClassOrder()
{
$param = $this->param;
public function updateClassOrder()
{
$param = $this->param;
$classlist = $param['class_ids'];
if (!$param['work_id'] || !$param['class_ids']) {
return resultArray(['error'=>'参数错误']);
if (!$param['work_id'] || !$param['class_ids']) {
return resultArray(['error' => '参数错误']);
}
# 权限判断
@ -308,24 +408,24 @@ class Task extends ApiCommon
foreach ($classlist as $k => $v) {
$temp = [];
$temp['order_id'] = $k+ 1;
Db::name('WorkTaskClass')->where(['work_id' => $param['work_id'],'class_id' => $v])->update($temp);
}
$temp['order_id'] = $k + 1;
Db::name('WorkTaskClass')->where(['work_id' => $param['work_id'], 'class_id' => $v])->update($temp);
}
return resultArray(['data' => '操作成功!']);
}
}
/**
* 任务详情
* @author yykun
* @return
* @author yykun
*/
public function read()
{
$param = $this->param;
$userInfo = $this->userInfo;
if (!$param['task_id']) {
return resultArray(['error'=>'参数错误']);
return resultArray(['error' => '参数错误']);
}
$taskModel = model('Task');
$taskData = $taskModel->getDataById($param['task_id'], $userInfo);
@ -333,15 +433,15 @@ class Task extends ApiCommon
# 获取任务的项目信息
$workInfo = Db::name('work')->field(['work_id', 'group_id', 'is_open'])->where('work_id', $taskData['work_id'])->find();
# 是否是公开项目
$userId = $userInfo['id'];
$userId = $userInfo['id'];
$groupId = !empty($workInfo['is_open']) ? $workInfo['group_id'] : 0;
# 获取项目下的权限
$taskData['auth'] = !empty($taskData['work_id']) ? $this->getRuleList($workInfo['work_id'], $userId, $groupId) : [];
if ($taskData) {
return resultArray(['data'=>$taskData]);
return resultArray(['data' => $taskData]);
} else {
return resultArray(['error'=>$taskModel->getError()]);
return resultArray(['error' => $taskModel->getError()]);
}
}
@ -357,7 +457,7 @@ class Task extends ApiCommon
{
$taskModel = model('Task');
$param = $this->param;
$userInfo = $this->userInfo;
$userInfo = $this->userInfo;
$param['create_user_id'] = $userInfo['id'];
# 权限判断
@ -372,35 +472,35 @@ class Task extends ApiCommon
exit(json_encode(['code' => 102, 'error' => '无权操作!']));
}
$ary = array('owner_userid_del','owner_userid_add','stop_time','lable_id_add','lable_id_del','name','structure_id_del','structure_id_add');
if ((in_array($param['type'],$ary))) {
return resultArray(['error'=>'参数错误']);
$ary = array('owner_userid_del', 'owner_userid_add', 'stop_time', 'lable_id_add', 'lable_id_del', 'name', 'structure_id_del', 'structure_id_add');
if ((in_array($param['type'], $ary))) {
return resultArray(['error' => '参数错误']);
}
if ($taskModel->updateDetTask($param)) {
return resultArray(['data'=>'操作成功']);
return resultArray(['data' => '操作成功']);
} else {
return resultArray(['error'=>$taskModel->getError()]);
return resultArray(['error' => $taskModel->getError()]);
}
}
/**
* 任务操作记录
* @author yykun
* @return
* @author yykun
*/
public function readLoglist()
{
$param = $this->param;
$taskModel = model('Task');
if (!$param['task_id']) return resultArray(['error'=>'参数错误']);
if (!$param['task_id']) return resultArray(['error' => '参数错误']);
$list = $taskModel->getTaskLogList($param);
return resultArray(['data'=>$list]);
return resultArray(['data' => $list]);
}
/**
* 优先级设置
* @author yykun
* @return
* @author yykun
*/
public function updatePriority()
{
@ -408,7 +508,7 @@ class Task extends ApiCommon
$userInfo = $this->userInfo;
$param['create_user_id'] = $userInfo['id'];
if (!isset($param['priority_id']) || !$param['task_id']) {
return resultArray(['error'=>'参数错误']);
return resultArray(['error' => '参数错误']);
}
# 权限判断
@ -417,28 +517,28 @@ class Task extends ApiCommon
exit(json_encode(['code' => 102, 'error' => '无权操作!']));
}
$flag = Db::name('Task')->where(['task_id' => $param['task_id']])->setField('priority',$param['priority_id']);
$flag = Db::name('Task')->where(['task_id' => $param['task_id']])->setField('priority', $param['priority_id']);
if ($flag) {
return resultArray(['data'=>'操作成功']);
return resultArray(['data' => '操作成功']);
} else {
return resultArray(['error'=>'操作失败']);
return resultArray(['error' => '操作失败']);
}
}
/**
* 参与人/参与部门编辑
* @author yykun
* @return
* @author yykun
*/
public function updateOwner()
{
$param = $this->param;
$userInfo = $this->userInfo;
$task_id = $param['task_id'] ? : '';
$task_id = $param['task_id'] ?: '';
$param['create_user_id'] = $userInfo['id'];
$taskInfo = db('task')->where(['task_id' => $param['task_id']])->find();
if (!$taskInfo) {
return resultArray(['error'=>'参数错误']);
return resultArray(['error' => '参数错误']);
}
# 权限判断
@ -457,14 +557,14 @@ class Task extends ApiCommon
$sendUserArr = [];
if ($param['owner_userids']) {
$owner_user_id = arrayToString($param['owner_userids']);
foreach ($param['owner_userids'] as $k=>$v) {
if (!in_array($v,stringToArray($taskInfo['owner_user_id']))) {
foreach ($param['owner_userids'] as $k => $v) {
if (!in_array($v, stringToArray($taskInfo['owner_user_id']))) {
$sendUserArr[] = $v;
}
}
// $content = $userInfo['realname'].'邀请您参与《'.$taskInfo['name'].'》项目,请及时查看';
// if ($sendUserArr) sendMessage($sendUserArr,$content,1);
actionLog($param['task_id'],$param['owner_user_id'],$param['structure_ids'],'修改了参与人');
actionLog($param['task_id'], $param['owner_user_id'], $param['structure_ids'], '修改了参与人');
}
$data['structure_ids'] = $structure_ids;
$data['owner_user_id'] = $owner_user_id;
@ -481,15 +581,15 @@ class Task extends ApiCommon
$sendUserArr
);
}
return resultArray(['data'=>'修改成功']);
return resultArray(['data' => '修改成功']);
}
return resultArray(['error'=>'修改失败或数据无变化']);
return resultArray(['error' => '修改失败或数据无变化']);
}
/**
* 单独删除参与人
* @author yykun
* @return
* @author yykun
*/
public function delOwnerById()
{
@ -497,9 +597,9 @@ class Task extends ApiCommon
$userInfo = $this->userInfo;
$param = $this->param;
$param['create_user_id'] = $userInfo['id'];
$ary = array('owner_userid_del','owner_userid_add');
$ary = array('owner_userid_del', 'owner_userid_add');
if (!in_array($param['type'], $ary)) {
return resultArray(['error'=>'参数错误']);
return resultArray(['error' => '参数错误']);
}
# 权限判断
@ -510,16 +610,16 @@ class Task extends ApiCommon
$ret = $taskModel->updateDetTask($param);
if ($ret) {
return resultArray(['data'=>'操作成功']);
return resultArray(['data' => '操作成功']);
} else {
return resultArray(['error'=>$taskModel->getError()]);
return resultArray(['error' => $taskModel->getError()]);
}
}
/**
* 单独删除参与部门
* @author yykun
* @return
* @author yykun
*/
public function delStruceureById()
{
@ -527,22 +627,22 @@ class Task extends ApiCommon
$param = $this->param;
$userInfo = $this->userInfo;
$param['create_user_id'] = $userInfo['id'];
$ary = array('structure_id_del','structure_id_add');
$ary = array('structure_id_del', 'structure_id_add');
if (!in_array($param['type'], $ary)) {
return resultArray(['error'=>'参数错误']);
return resultArray(['error' => '参数错误']);
}
$res = $taskModel->updateDetTask($param);
if ($res) {
return resultArray(['data'=>'操作成功']);
return resultArray(['data' => '操作成功']);
} else {
return resultArray(['error'=>$taskModel->getError()]);
return resultArray(['error' => $taskModel->getError()]);
}
}
/**
* 设置任务截止时间
* @author yykun
* @return
* @author yykun
*/
public function updateStoptime()
{
@ -561,16 +661,16 @@ class Task extends ApiCommon
}
if ($taskModel->updateDetTask($param)) {
return resultArray(['data'=>'操作成功']);
return resultArray(['data' => '操作成功']);
} else {
return resultArray(['error'=>$taskModel->getError()]);
return resultArray(['error' => $taskModel->getError()]);
}
}
/**
* 修改任务标签
* @author yykun
* @return
* @author yykun
*/
public function updateLable()
{
@ -578,9 +678,9 @@ class Task extends ApiCommon
$param = $this->param;
$userInfo = $this->userInfo;
$param['create_user_id'] = $userInfo['id'];
$ary = array('lable_id_add','lable_id_del');
$ary = array('lable_id_add', 'lable_id_del');
if (!in_array($param['type'], $ary)) {
return resultArray(['error'=>'参数错误']);
return resultArray(['error' => '参数错误']);
}
# 权限判断
@ -598,16 +698,16 @@ class Task extends ApiCommon
$param['lable_id_del'] = $label_id_arr;
}
if ($taskModel->updateDetTask($param)) {
return resultArray(['data'=>'操作成功']);
return resultArray(['data' => '操作成功']);
} else {
return resultArray(['error'=>$taskModel->getError()]);
return resultArray(['error' => $taskModel->getError()]);
}
}
/**
* 修改任务名称
* @author yykun
* @return
* @author yykun
*/
public function updateName()
{
@ -616,7 +716,7 @@ class Task extends ApiCommon
$userInfo = $this->userInfo;
$param['create_user_id'] = $userInfo['id'];
if ($param['type'] !== 'name') {
return resultArray(['error'=>'参数错误']);
return resultArray(['error' => '参数错误']);
}
# 权限判断
@ -627,9 +727,9 @@ class Task extends ApiCommon
$res = $taskModel->updateDetTask($param);
if ($res) {
return resultArray(['data'=>'操作成功']);
return resultArray(['data' => '操作成功']);
} else {
return resultArray(['error'=>$taskModel->getError()]);
return resultArray(['error' => $taskModel->getError()]);
}
}
@ -647,8 +747,8 @@ class Task extends ApiCommon
$param = $this->param;
$userInfo = $this->userInfo;
$param['create_user_id'] = $userInfo['id'];
if (!$param['task_id'] || !$param['status'] ){
return resultArray(['error'=>'参数错误']);
if (!$param['task_id'] || !$param['status']) {
return resultArray(['error' => '参数错误']);
}
# 权限判断
@ -658,16 +758,16 @@ class Task extends ApiCommon
exit(json_encode(['code' => 102, 'error' => '无权操作!']));
}
$taskInfo = Db::name('Task')->where(['task_id' => $param['task_id']])->find();
$taskInfo = Db::name('Task')->where(['task_id' => $param['task_id']])->find();
if ($param['status'] == '5') {
$flag = Db::name('Task')->where(['task_id' => $param['task_id']])->setField('status',5);
if ($flag & & !$taskInfo['pid']) {
$temp['user_id'] = $userInfo['id'];
$temp['content'] = '任务标记结束';
$temp['create_time'] = time();
$temp['task_id'] = $param['task_id'];
Db::name('WorkTaskLog')->insert($temp);
actionLog($taskInfo['task_id'],$taskInfo['owner_user_id'],$taskInfo['structure_ids'], '任务标记结束');
$flag = Db::name('Task')->where(['task_id' => $param['task_id']])->setField('status', 5);
if ($flag & & !$taskInfo['pid']) {
$temp['user_id'] = $userInfo['id'];
$temp['content'] = '任务标记结束';
$temp['create_time'] = time();
$temp['task_id'] = $param['task_id'];
Db::name('WorkTaskLog')->insert($temp);
actionLog($taskInfo['task_id'], $taskInfo['owner_user_id'], $taskInfo['structure_ids'], '任务标记结束');
//抄送站内信
$sendUserArr = [];
$sendUserArr[] = $taskInfo['create_user_id'];
@ -675,7 +775,7 @@ class Task extends ApiCommon
$sendUserArr[] = $taskInfo['main_user_id'];
}
if ($taskInfo['owner_user_id']) {
$sendUserArr = $sendUserArr ? array_merge($sendUserArr,stringToArray($taskInfo['owner_user_id'])) : stringToArray($taskInfo['owner_user_id']);
$sendUserArr = $sendUserArr ? array_merge($sendUserArr, stringToArray($taskInfo['owner_user_id'])) : stringToArray($taskInfo['owner_user_id']);
}
if ($sendUserArr) {
(new Message())->send(
@ -687,29 +787,29 @@ class Task extends ApiCommon
$sendUserArr
);
}
}
}
} else {
$flag = Db::name('Task')->where('task_id ='.$param['task_id'])->setField('status',1);
if ($flag & & !$taskInfo['pid']) {
$temp['user_id'] = $userInfo['id'];
$temp['content'] = '任务标记开始';
$temp['create_time'] = time();
$temp['task_id'] = $param['task_id'];
Db::name('WorkTaskLog')->insert($temp);
actionLog($taskInfo['task_id'],$taskInfo['owner_user_id'],$taskInfo['structure_ids'], '任务标记开始');
}
$flag = Db::name('Task')->where('task_id =' . $param['task_id'])->setField('status', 1);
if ($flag & & !$taskInfo['pid']) {
$temp['user_id'] = $userInfo['id'];
$temp['content'] = '任务标记开始';
$temp['create_time'] = time();
$temp['task_id'] = $param['task_id'];
Db::name('WorkTaskLog')->insert($temp);
actionLog($taskInfo['task_id'], $taskInfo['owner_user_id'], $taskInfo['structure_ids'], '任务标记开始');
}
}
if ($flag) {
return resultArray(['data' => true ]);
return resultArray(['data' => true]);
} else {
return resultArray(['error' => '标记失败' ]);
return resultArray(['error' => '标记失败']);
}
}
/**
* 日历任务展示/月份
* @author yykun
* @return
* @author yykun
*/
public function dateList()
{
@ -718,13 +818,13 @@ class Task extends ApiCommon
$userInfo = $this->userInfo;
$param['user_id'] = $userInfo['id'];
$data = $taskModel->getDateList($param);
return resultArray(['data'=>$data]);
return resultArray(['data' => $data]);
}
/**
* 添加任务
* @author Michael_xu
* @return
* @author Michael_xu
*/
public function save()
{
@ -732,11 +832,11 @@ class Task extends ApiCommon
$taskModel = model('Task');
$workModel = model('Work');
if (!$param['name']) {
return resultArray(['error'=>'参数错误']);
return resultArray(['error' => '参数错误']);
}
$userInfo = $this->userInfo;
$userInfo = $this->userInfo;
$param['create_user_id'] = $userInfo['id'];
$param['create_user_name'] = $userInfo['realname'];
$param['create_user_name'] = $userInfo['realname'];
# 任务权限判断
if (!empty($param['work_id']) & & !$this->checkWorkOperationAuth(empty($param['pid']) ? 'addChildTask' : 'saveTask', $param['work_id'], $userInfo['id'])) {
header('Content-Type:application/json; charset=utf-8');
@ -748,16 +848,16 @@ class Task extends ApiCommon
// }
$res = $taskModel->createTask($param);
if ($res) {
return resultArray(['data'=>$res]);
return resultArray(['data' => $res]);
} else {
return resultArray(['error'=>$taskModel->getError()]);
return resultArray(['error' => $taskModel->getError()]);
}
}
/**
* 删除主负责人
* @author yykun
* @return
* @author yykun
*/
public function delMainUserId()
{
@ -766,54 +866,54 @@ class Task extends ApiCommon
if ($param['task_id']) {
$userInfo = $this->userInfo;
$param['create_user_id'] = $userInfo['id'];
$taskInfo = Db::name('Task')->where(['task_id' => $param['task_id']])->find();
$taskInfo = Db::name('Task')->where(['task_id' => $param['task_id']])->find();
$data = [];
$data['main_user_id'] = '';
$data['status'] = 1;
$flag = Db::name('Task')->where(['task_id' => $param['task_id']])->update($data);
if ($flag & & !$taskInfo['pid']) {
actionLog($taskInfo['task_id'],$taskInfo['owner_user_id'],$taskInfo['structure_ids'], '删除负责人');
return resultArray(['data'=>'操作成功']);
}
return resultArray(['error'=>'操作失败']);
$flag = Db::name('Task')->where(['task_id' => $param['task_id']])->update($data);
if ($flag & & !$taskInfo['pid']) {
actionLog($taskInfo['task_id'], $taskInfo['owner_user_id'], $taskInfo['structure_ids'], '删除负责人');
return resultArray(['data' => '操作成功']);
}
return resultArray(['error' => '操作失败']);
} else {
return resultArray(['error'=>'参数错误']);
return resultArray(['error' => '参数错误']);
}
}
/**
* 重命名任务
* @author yykun
* @return
* @author yykun
*/
public function rename()
{
$param = $this->param;
$workModel = model('Work');
if (!$param['rename'] || !$param['work_id']) {
return resultArray(['error'=>'参数错误']);
return resultArray(['error' => '参数错误']);
}
$userInfo = $this->userInfo;
$param['create_user_id'] = $userInfo['id'];
$userInfo = $this->userInfo;
$param['create_user_id'] = $userInfo['id'];
$flag = $workModel->rename($param);
if ($flag) {
return resultArray(['data'=>'编辑成功']);
return resultArray(['data' => '编辑成功']);
} else {
return resultArray(['error'=>$workModel->getError()]);
return resultArray(['error' => $workModel->getError()]);
}
}
/**
* 删除任务
* @author yykun
* @return
* @author yykun
*/
public function delete()
{
$param = $this->param;
$taskModel = model('Task');
if (!$param['task_id']) {
return resultArray(['error'=>'参数错误']);
return resultArray(['error' => '参数错误']);
}
# 权限判断
@ -824,26 +924,26 @@ class Task extends ApiCommon
}
$userInfo = $this->userInfo;
$param['create_user_id'] = $userInfo['id'];
$param['create_user_id'] = $userInfo['id'];
$flag = $taskModel->delTaskById($param);
if ($flag) {
return resultArray(['data'=>'删除成功']);
return resultArray(['data' => '删除成功']);
} else {
return resultArray(['error'=>$taskModel->getError()]);
return resultArray(['error' => $taskModel->getError()]);
}
}
/**
* 归档任务
* @author yykun
* @return
* @author yykun
*/
public function archive()
{
$param = $this->param;
$taskModel = model('Task');
if (!$param['task_id']) {
return resultArray(['error'=>'参数错误']);
return resultArray(['error' => '参数错误']);
}
# 权限判断
@ -853,31 +953,31 @@ class Task extends ApiCommon
}
$userInfo = $this->userInfo;
$param['create_user_id'] = $userInfo['id'];
$param['create_user_id'] = $userInfo['id'];
$flag = $taskModel->archiveData($param);
if ($flag) {
$temp['user_id'] = $userInfo['id'];
$temp['content'] = '归档任务';
$temp['create_time'] = time();
$temp['task_id'] = $param['task_id'];
Db::name('WorkTaskLog')->insert($temp);
return resultArray(['data'=>'归档成功']);
$temp['user_id'] = $userInfo['id'];
$temp['content'] = '归档任务';
$temp['create_time'] = time();
$temp['task_id'] = $param['task_id'];
Db::name('WorkTaskLog')->insert($temp);
return resultArray(['data' => '归档成功']);
} else {
return resultArray(['error'=>$taskModel->getError()]);
return resultArray(['error' => $taskModel->getError()]);
}
}
/**
* 恢复归档任务
* @author yykun
* @return
* @author yykun
*/
public function recover()
{
$param = $this->param;
$taskModel = model('Task');
if (!$param['task_id']) {
return resultArray(['error'=>'参数错误']);
return resultArray(['error' => '参数错误']);
}
# 权限判断
@ -887,51 +987,51 @@ class Task extends ApiCommon
}
$userInfo = $this->userInfo;
$param['create_user_id'] = $userInfo['id'];
$param['create_user_id'] = $userInfo['id'];
$flag = $taskModel->recover($param);
if ($flag) {
$temp['user_id'] = $userInfo['id'];
$temp['content'] = '恢复归档任务';
$temp['create_time'] = time();
$temp['task_id'] = $param['task_id'];
Db::name('WorkTaskLog')->insert($temp);
return resultArray(['data'=>'操作成功']);
$temp['user_id'] = $userInfo['id'];
$temp['content'] = '恢复归档任务';
$temp['create_time'] = time();
$temp['task_id'] = $param['task_id'];
Db::name('WorkTaskLog')->insert($temp);
return resultArray(['data' => '操作成功']);
} else {
return resultArray(['error'=>$taskModel->getError()]);
return resultArray(['error' => $taskModel->getError()]);
}
}
/**
* 归档任务列表
* @author yykun
* @return
* @author yykun
*/
public function archList()
{
$param = $this->param;
$userInfo = $this->userInfo;
$taskModel = model('Task');
if (!$param['work_id']) return resultArray(['error'=>'参数错误']);
if (!$param['work_id']) return resultArray(['error' => '参数错误']);
$request = [];
$request['work_id'] = $param['work_id'];
$request['is_archive'] = 1;
$list = $taskModel->getTaskList($request);
return resultArray(['data'=>$list]);
return resultArray(['data' => $list]);
}
/**
* 归档某一类已完成任务
* @author yykun
* @return
* @author yykun
*/
public function archiveTask()
{
$param = $this->param;
if (!$param['class_id']) return resultArray(['error'=>'参数错误']);
if (!$param['class_id']) return resultArray(['error' => '参数错误']);
$data = array();
$data['is_archive'] = 1;
$data['archive_time'] = time();
$res = db('task')->where(['class_id' => $param['class_id'],'status' => '5'])->update($data);
$res = db('task')->where(['class_id' => $param['class_id'], 'status' => '5'])->update($data);
if ($res) {
return resultArray(['data' => '操作成功']);
} else {
@ -953,20 +1053,20 @@ class Task extends ApiCommon
# 查询条件
$where['create_user_id'] = $userId;
$where['main_user_id'] = $userId;
$where['owner_user_id'] = ['like', '%,'.$userId.',%'];
$where['main_user_id'] = $userId;
$where['owner_user_id'] = ['like', '%,' . $userId . ',%'];
# 查询数据
$data = Db::name('task')->field(['create_user_id', 'main_user_id', 'owner_user_id'])->whereOr($where)->select();
# 整理数据
$userIds = [];
foreach ($data AS $key => $value) {
foreach ($data as $key => $value) {
if (!empty($value['create_user_id'])) $userIds[] = $value['create_user_id'];
if (!empty($value['main_user_id'])) $userIds[] = $value['main_user_id'];
if (!empty($value['main_user_id'])) $userIds[] = $value['main_user_id'];
$ownerUserIds = explode(',', $value['owner_user_id']);
foreach ($ownerUserIds AS $k => $v) {
foreach ($ownerUserIds as $k => $v) {
if (!empty($v)) $userIds[] = $v;
}
}