|
|
@ -1,151 +1,17 @@ |
|
|
|
//package com.ccsens.ptos_zero.service;
|
|
|
|
//
|
|
|
|
//import cn.hutool.core.collection.CollectionUtil;
|
|
|
|
//import com.ccsens.ptos_zero.bean.po.ProRole;
|
|
|
|
//import com.ccsens.ptos_zero.persist.dao.ProRoleDao;
|
|
|
|
//import com.ccsensptos.tallsdk.bean.dto.ProjectDto;
|
|
|
|
//import com.ccsensptos.tallsdk.bean.dto.RoleDto;
|
|
|
|
//import com.ccsensptos.tallsdk.bean.dto.TaskDto;
|
|
|
|
//import com.ccsensptos.tallsdk.bean.vo.ProjectVo;
|
|
|
|
//import com.ccsensptos.tallsdk.bean.vo.RoleVo;
|
|
|
|
//import com.ccsensptos.tallsdk.bean.vo.TaskVo;
|
|
|
|
//import com.ccsensptos.tallsdk.service.ITallService;
|
|
|
|
//import lombok.extern.slf4j.Slf4j;
|
|
|
|
//import org.springframework.stereotype.Service;
|
|
|
|
//import org.springframework.transaction.annotation.Propagation;
|
|
|
|
//import org.springframework.transaction.annotation.Transactional;
|
|
|
|
//import org.springframework.web.multipart.MultipartFile;
|
|
|
|
//
|
|
|
|
//import javax.annotation.Resource;
|
|
|
|
//import java.util.ArrayList;
|
|
|
|
//import java.util.List;
|
|
|
|
//
|
|
|
|
///**
|
|
|
|
// * @author 逗
|
|
|
|
// */
|
|
|
|
//@Slf4j
|
|
|
|
//@Service
|
|
|
|
//@Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
|
|
|
|
//public class TallService implements ITallService {
|
|
|
|
//
|
|
|
|
// @Resource
|
|
|
|
// private ProRoleDao proRoleDao;
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// @Override
|
|
|
|
// public List<ProjectVo.ProjectInfo> queryProjectByUser(String token,ProjectDto.QueryProjectDto param) {
|
|
|
|
// return null;
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
// @Override
|
|
|
|
// public RoleVo.QueryRole queryShowRole(String token,RoleDto.QueryRoleById param) {
|
|
|
|
// //TODO 通过token向tall获取用户信息,
|
|
|
|
// Long userId = null;
|
|
|
|
//
|
|
|
|
// //返回的对象
|
|
|
|
// RoleVo.QueryRole queryRole = new RoleVo.QueryRole();
|
|
|
|
// List<RoleVo.RoleInfo> visibleList = new ArrayList<>();
|
|
|
|
// List<RoleVo.RoleInfo> invisibleList = new ArrayList<>();
|
|
|
|
//
|
|
|
|
// //查询当前用户在项目下的角色,没有则算作关注者
|
|
|
|
// List<ProRole> userRoleList = proRoleDao.queryRoleByUserId(param.getProjectId(),userId);
|
|
|
|
// //查询用户可见的角色
|
|
|
|
// List<RoleVo.RoleInfo> roleInfoList;
|
|
|
|
// if(CollectionUtil.isNotEmpty(userRoleList)){
|
|
|
|
// //不是关注者,查询可见的角色(完全屏蔽才不可见)
|
|
|
|
// roleInfoList = proRoleDao.notAttentionQueryRole(param.getProjectId(),userRoleList);
|
|
|
|
// }else {
|
|
|
|
// //是关注者查询可见的角色(未设置过对谁不可见信息的角色)
|
|
|
|
// roleInfoList = proRoleDao.attentionQueryRole(param.getProjectId());
|
|
|
|
// }
|
|
|
|
// //查询配置信息
|
|
|
|
// List<Long> showRoleList = proRoleDao.queryShowByUserAndProject(param.getProjectId(),userId);
|
|
|
|
// if(CollectionUtil.isNotEmpty(showRoleList)){
|
|
|
|
// for (Long showRoleId : showRoleList) {
|
|
|
|
// //循环配置内的信息去匹配角色列表,来确定角色该放在什么地方
|
|
|
|
// for (RoleVo.RoleInfo roleInfo : roleInfoList) {
|
|
|
|
// if(showRoleId.equals(roleInfo.getId())){
|
|
|
|
// //和配置内的信息相同则放入展示角色列表
|
|
|
|
// visibleList.add(roleInfo);
|
|
|
|
// //同时删除数组内的信息
|
|
|
|
// roleInfoList.remove(roleInfo);
|
|
|
|
// //跳出循环,开始配置信息内的下一个
|
|
|
|
// break;
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// //剩下的角色全部放在不可见角色列表
|
|
|
|
// invisibleList.addAll(roleInfoList);
|
|
|
|
// }else {
|
|
|
|
// //没有配置信息则按默认规则
|
|
|
|
// if (CollectionUtil.isNotEmpty(roleInfoList)) {
|
|
|
|
// //循环所有角色
|
|
|
|
// for (RoleVo.RoleInfo roleInfo : roleInfoList) {
|
|
|
|
// //如果是项目经理,放入展示的角色
|
|
|
|
// if (roleInfo.getPm() == 1) {
|
|
|
|
// visibleList.add(roleInfo);
|
|
|
|
// continue;
|
|
|
|
// }
|
|
|
|
// //是用户所属的角色,放入展示的角色列表
|
|
|
|
// if (roleInfo.getMine() == 1) {
|
|
|
|
// visibleList.add(roleInfo);
|
|
|
|
// continue;
|
|
|
|
// } else {
|
|
|
|
// //不是用户所属的角色,但展示角色列表数量不足设置的数量
|
|
|
|
//
|
|
|
|
// //展示数量等于0,展示全部
|
|
|
|
// if(param.getNum() == 0){
|
|
|
|
// visibleList.add(roleInfo);
|
|
|
|
// continue;
|
|
|
|
// }
|
|
|
|
// //不是用户所属的角色,但展示角色列表数量不足五个,
|
|
|
|
// if (visibleList.size() < param.getNum()) {
|
|
|
|
// visibleList.add(roleInfo);
|
|
|
|
// continue;
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// //不满足上面条件的,放入不展示的角色列表
|
|
|
|
// invisibleList.add(roleInfo);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// queryRole.setVisibleList(visibleList);
|
|
|
|
// queryRole.setInvisibleList(invisibleList);
|
|
|
|
// return queryRole;
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
// @Override
|
|
|
|
// public List<TaskVo.QueryTask> queryPermanentGlobalTask(String token,TaskDto.QueryPermanentGlobalTask param) {
|
|
|
|
// return null;
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
// @Override
|
|
|
|
// public List<TaskVo.QueryTask> queryGlobalTask(String token,TaskDto.QueryGlobalTask param) {
|
|
|
|
// return null;
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
// @Override
|
|
|
|
// public List<TaskVo.QueryTask> queryRegularTask(String token,TaskDto.QueryRegularTask param) {
|
|
|
|
// return null;
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
// @Override
|
|
|
|
// public List<ProjectVo.ProjectInfo> importWbs(String token,MultipartFile params) {
|
|
|
|
// return null;
|
|
|
|
// }
|
|
|
|
//}
|
|
|
|
package com.ccsens.ptccsens.service; |
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil; |
|
|
|
import cn.hutool.core.date.DateUtil; |
|
|
|
import cn.hutool.core.io.FileUtil; |
|
|
|
import cn.hutool.core.util.BooleanUtil; |
|
|
|
import cn.hutool.core.util.IdUtil; |
|
|
|
import cn.hutool.core.util.ObjectUtil; |
|
|
|
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.ProRoleExample; |
|
|
|
import com.ccsens.ptccsens.bean.po.ProUser; |
|
|
|
import com.ccsens.ptccsens.bean.vo.DeliverVo; |
|
|
|
import com.ccsens.ptccsens.bean.vo.FinanceVo; |
|
|
|
import com.ccsens.ptccsens.persist.dao.*; |
|
|
|
import com.ccsens.ptccsens.util.BasicsCodeError; |
|
|
|
import com.ccsens.ptccsens.util.Constant; |
|
|
@ -206,13 +72,19 @@ public class TallService implements ITallService { |
|
|
|
private UserDao userDao; |
|
|
|
@Resource |
|
|
|
private ProProjectDao proProjectDao; |
|
|
|
@Resource |
|
|
|
private PluDeliverDao pluDeliverDao; |
|
|
|
@Resource |
|
|
|
private FinanceService financeService; |
|
|
|
|
|
|
|
@SneakyThrows |
|
|
|
@Override |
|
|
|
public TallProjectVo.ProjectInfo importWbs(String token, MultipartFile params) { |
|
|
|
//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())){ |
|
|
@ -222,9 +94,7 @@ public class TallService implements ITallService { |
|
|
|
throw new BaseException(CodeEnum.NOT_LOGIN); |
|
|
|
} |
|
|
|
|
|
|
|
if(ObjectUtil.isNull(userByToken)){ |
|
|
|
throw new BaseException(CodeEnum.NOT_LOGIN); |
|
|
|
} |
|
|
|
|
|
|
|
String ext = FileUtil.extName(params.getOriginalFilename()); |
|
|
|
if(StrUtil.isEmpty(ext) || !Constant.WbsExcel.WBS_FILE_FORMAT.contains(ext)){ |
|
|
|
throw new BaseException(BasicsCodeError.FILE_FORMAT_ERROR); |
|
|
@ -615,7 +485,21 @@ public class TallService implements ITallService { |
|
|
|
* @return 返回任务列表和对应的插件展示信息 |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public List<TallTaskVo.QueryTask> queryRegularTaskAndPlugin(String header, TallTaskDto.QueryRegularTask param) { |
|
|
|
public List<TallTaskVo.QueryTask> queryRegularTaskAndPlugin(String token, TallTaskDto.QueryRegularTask 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); |
|
|
|
} |
|
|
|
|
|
|
|
//查找类型:0向上查找,1向下查找(默认),下查包含自己,上查不包含
|
|
|
|
//根据参数配置sql语句
|
|
|
|
String query = ""; |
|
|
@ -659,12 +543,12 @@ public class TallService implements ITallService { |
|
|
|
queryCheckerOfTask(regularTask); |
|
|
|
|
|
|
|
//TODO 查询插件展示信息
|
|
|
|
queryPluginShow(regularTask); |
|
|
|
queryPluginShow(regularTask,user.getId()); |
|
|
|
|
|
|
|
return regularTask; |
|
|
|
} |
|
|
|
|
|
|
|
private void queryPluginShow(List<TallTaskVo.QueryTask> regularTask) { |
|
|
|
private void queryPluginShow(List<TallTaskVo.QueryTask> regularTask,Long userId) { |
|
|
|
if(CollectionUtil.isEmpty(regularTask)){ |
|
|
|
return; |
|
|
|
} |
|
|
@ -677,10 +561,12 @@ public class TallService implements ITallService { |
|
|
|
Long pluginId = plugin.getPluginId(); |
|
|
|
if (pluginId == 15L) { |
|
|
|
//TODO 查找交付物的信息
|
|
|
|
|
|
|
|
DeliverVo.DeliverOfTask deliverByTask = pluDeliverDao.getDeliverByTask(queryTask.getId(), userId); |
|
|
|
plugin.setData(JSON.toJSONString(deliverByTask)); |
|
|
|
} else if (pluginId == 18L) { |
|
|
|
//TODO 查找财务条的信息
|
|
|
|
|
|
|
|
FinanceVo.FinanceItem byTask = financeService.getByTask(new FinanceDto.TaskId(queryTask.getDetailId())); |
|
|
|
plugin.setData(JSON.toJSONString(byTask)); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|