|
|
@ -9,6 +9,7 @@ import cn.hutool.core.util.StrUtil; |
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
import com.ccsens.ptccsens.bean.dto.FinanceDto; |
|
|
|
import com.ccsens.ptccsens.bean.po.ProRole; |
|
|
|
import com.ccsens.ptccsens.bean.po.ProTaskSub; |
|
|
|
import com.ccsens.ptccsens.bean.po.ProUser; |
|
|
|
import com.ccsens.ptccsens.bean.vo.DeliverVo; |
|
|
|
import com.ccsens.ptccsens.bean.vo.FinanceVo; |
|
|
@ -29,6 +30,8 @@ import com.ccsensptos.tallsdk.bean.vo.TallTaskVo; |
|
|
|
import com.ccsensptos.tallsdk.bean.vo.TallTokenVo; |
|
|
|
import com.ccsensptos.tallsdk.service.ITallService; |
|
|
|
import com.ccsensptos.tallsdk.util.TokenUtil; |
|
|
|
import com.github.pagehelper.PageHelper; |
|
|
|
import com.github.pagehelper.PageInfo; |
|
|
|
import lombok.SneakyThrows; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
@ -55,6 +58,8 @@ public class TallService implements ITallService { |
|
|
|
@Resource |
|
|
|
private ProTaskDetailDao taskDetailDao; |
|
|
|
@Resource |
|
|
|
private ProTaskSubDao proTaskSubDao; |
|
|
|
@Resource |
|
|
|
private ProRoleDao roleDao; |
|
|
|
@Resource |
|
|
|
private ProMemberDao memberDao; |
|
|
@ -248,14 +253,19 @@ public class TallService implements ITallService { |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<TallTaskVo.QueryTask> queryPermanentGlobalTask(String token, TallTaskDto.QueryPermanentGlobalTask param) { |
|
|
|
//TODO 通过token向tall获取用户信息,
|
|
|
|
// Long userId = null;
|
|
|
|
//
|
|
|
|
// //查找当前角色是否有查看权限
|
|
|
|
// Boolean isLook = queryRoleIsLook(param.getRoleId(), userId);
|
|
|
|
// if (BooleanUtil.isFalse(isLook)) {
|
|
|
|
// throw new BaseException(CodeEnum.NO_POWER);
|
|
|
|
// }
|
|
|
|
TallTokenVo.UserIdByToken userByToken = TokenUtil.getUserByToken(new TallTokenDto.GetUserByToken(token, Constant.APP_ID, Constant.APP_SECRET)); |
|
|
|
if(ObjectUtil.isNull(userByToken)){ |
|
|
|
throw new BaseException(CodeEnum.NOT_LOGIN); |
|
|
|
} |
|
|
|
//通过手机号获取用户在服务内的userId
|
|
|
|
ProUser user = new ProUser(); |
|
|
|
if(ObjectUtil.isNotNull(userByToken) && StrUtil.isNotBlank(userByToken.getPhone())){ |
|
|
|
user = userDao.getUserIdByPhone(userByToken.getPhone()); |
|
|
|
} |
|
|
|
if(user == null){ |
|
|
|
throw new BaseException(CodeEnum.NOT_LOGIN); |
|
|
|
} |
|
|
|
|
|
|
|
List<Long> roleIds = new ArrayList<>(); |
|
|
|
roleIds.add(param.getRoleId()); |
|
|
|
|
|
|
@ -264,19 +274,27 @@ public class TallService implements ITallService { |
|
|
|
queryPluginForTask(permanentGlobalTask); |
|
|
|
//查询任务下的检查人
|
|
|
|
queryCheckerOfTask(permanentGlobalTask); |
|
|
|
|
|
|
|
//TODO 查询插件展示信息
|
|
|
|
queryPluginShow(permanentGlobalTask,user.getId()); |
|
|
|
return permanentGlobalTask; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<TallTaskVo.QueryTask> queryGlobalTask(String token, TallTaskDto.QueryGlobalTask param) { |
|
|
|
// //TODO 通过token向tall获取用户信息,
|
|
|
|
// Long userId = null;
|
|
|
|
//
|
|
|
|
// //查找当前角色是否有查看权限
|
|
|
|
// Boolean isLook = queryRoleIsLook(param.getRoleId(), userId);
|
|
|
|
// if (BooleanUtil.isFalse(isLook)) {
|
|
|
|
// throw new BaseException(CodeEnum.NO_POWER);
|
|
|
|
// }
|
|
|
|
TallTokenVo.UserIdByToken userByToken = TokenUtil.getUserByToken(new TallTokenDto.GetUserByToken(token, Constant.APP_ID, Constant.APP_SECRET)); |
|
|
|
if(ObjectUtil.isNull(userByToken)){ |
|
|
|
throw new BaseException(CodeEnum.NOT_LOGIN); |
|
|
|
} |
|
|
|
//通过手机号获取用户在服务内的userId
|
|
|
|
ProUser user = new ProUser(); |
|
|
|
if(ObjectUtil.isNotNull(userByToken) && StrUtil.isNotBlank(userByToken.getPhone())){ |
|
|
|
user = userDao.getUserIdByPhone(userByToken.getPhone()); |
|
|
|
} |
|
|
|
if(user == null){ |
|
|
|
throw new BaseException(CodeEnum.NOT_LOGIN); |
|
|
|
} |
|
|
|
|
|
|
|
List<Long> roleIds = new ArrayList<>(); |
|
|
|
roleIds.add(param.getRoleId()); |
|
|
|
//查询当前角色是否项目经理
|
|
|
@ -284,6 +302,9 @@ public class TallService implements ITallService { |
|
|
|
queryPluginForTask(globalTask); |
|
|
|
//查询任务下的检查人
|
|
|
|
queryCheckerOfTask(globalTask); |
|
|
|
|
|
|
|
//TODO 查询插件展示信息
|
|
|
|
queryPluginShow(globalTask,user.getId()); |
|
|
|
return globalTask; |
|
|
|
} |
|
|
|
|
|
|
@ -480,7 +501,7 @@ public class TallService implements ITallService { |
|
|
|
|
|
|
|
/** |
|
|
|
* 查看定期任务和任务下的插件展示信息 |
|
|
|
* @param header token |
|
|
|
* @param token token |
|
|
|
* @param param 查询条件 |
|
|
|
* @return 返回任务列表和对应的插件展示信息 |
|
|
|
*/ |
|
|
@ -536,6 +557,8 @@ public class TallService implements ITallService { |
|
|
|
queryPluginForTask(replenishTask); |
|
|
|
//查询任务下的检查人
|
|
|
|
queryCheckerOfTask(replenishTask); |
|
|
|
//TODO 查询插件展示信息
|
|
|
|
queryPluginShow(regularTask,user.getId()); |
|
|
|
return replenishTask; |
|
|
|
} |
|
|
|
queryPluginForTask(regularTask); |
|
|
@ -573,6 +596,66 @@ public class TallService implements ITallService { |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public PageInfo<TallTaskVo.QueryTask> pageQueryRegularTask(String token, TallTaskDto.PageQueryRegularTask param) { |
|
|
|
//TODO 根据token获取用户信息
|
|
|
|
TallTokenVo.UserIdByToken userByToken = TokenUtil.getUserByToken(new TallTokenDto.GetUserByToken(token, Constant.APP_ID, Constant.APP_SECRET)); |
|
|
|
if(ObjectUtil.isNull(userByToken)){ |
|
|
|
throw new BaseException(CodeEnum.NOT_LOGIN); |
|
|
|
} |
|
|
|
//通过手机号获取用户在服务内的userId
|
|
|
|
ProUser user = new ProUser(); |
|
|
|
if(ObjectUtil.isNotNull(userByToken) && StrUtil.isNotBlank(userByToken.getPhone())){ |
|
|
|
user = userDao.getUserIdByPhone(userByToken.getPhone()); |
|
|
|
} |
|
|
|
if(user == null){ |
|
|
|
throw new BaseException(CodeEnum.NOT_LOGIN); |
|
|
|
} |
|
|
|
//查询用的时间
|
|
|
|
Long queryTime = System.currentTimeMillis(); |
|
|
|
|
|
|
|
if(ObjectUtil.isNotNull(param.getTaskId())){ |
|
|
|
//根据任务id查找任务,以任务的开始时间当做查询的时间点
|
|
|
|
ProTaskSub proTaskSub = proTaskSubDao.selectByPrimaryKey(param.getTaskId()); |
|
|
|
if(ObjectUtil.isNotNull(proTaskSub) && proTaskSub.getPlanStartTime() != 0L){ |
|
|
|
queryTime = proTaskSub.getPlanStartTime(); |
|
|
|
} |
|
|
|
}else { |
|
|
|
if(ObjectUtil.isNotNull(param.getTimeNode())){ |
|
|
|
//没有任务id则根据时间基准线查询当前正在进行的任务(如果多个则选择时间最早的一个)
|
|
|
|
Long startTime = proTaskSubDao.getTimeByProgressTask(param.getTimeNode(),param.getRoleId()); |
|
|
|
if(ObjectUtil.isNotNull(startTime)){ |
|
|
|
queryTime = startTime; |
|
|
|
} |
|
|
|
}else { |
|
|
|
//如果没有时间基准线则按当前时间查询查询任务
|
|
|
|
Long startTime = proTaskSubDao.getTimeByProgressTask(System.currentTimeMillis(),param.getRoleId()); |
|
|
|
if(ObjectUtil.isNotNull(startTime)){ |
|
|
|
queryTime = startTime; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//获取任务列表
|
|
|
|
PageHelper.startPage(param.getPageNum(),param.getPageSize()); |
|
|
|
List<TallTaskVo.QueryTask> regularTask = taskDetailDao.pageQueryRegularTask(param.getRoleId(),queryTime,param.getTimeUnit(),param.getQueryType()); |
|
|
|
if(param.getQueryType() == 0){ |
|
|
|
//向上查找任务顺序是倒的,需要改成正序
|
|
|
|
List<TallTaskVo.QueryTask> taskList = new ArrayList<>(); |
|
|
|
for (int i = regularTask.size() - 1; i >= 0; i--) { |
|
|
|
taskList.add(regularTask.get(i)); |
|
|
|
} |
|
|
|
regularTask = taskList; |
|
|
|
} |
|
|
|
//查询任务下的插件
|
|
|
|
queryPluginForTask(regularTask); |
|
|
|
//查询任务下的检查人
|
|
|
|
queryCheckerOfTask(regularTask); |
|
|
|
//TODO 查询插件展示信息
|
|
|
|
queryPluginShow(regularTask,user.getId()); |
|
|
|
|
|
|
|
return new PageInfo<>(regularTask); |
|
|
|
} |
|
|
|
} |
|
|
|