diff --git a/src/main/java/com/ccsens/ptccsens/bean/dto/FinanceDto.java b/src/main/java/com/ccsens/ptccsens/bean/dto/FinanceDto.java index 8eadf13..8d511df 100644 --- a/src/main/java/com/ccsens/ptccsens/bean/dto/FinanceDto.java +++ b/src/main/java/com/ccsens/ptccsens/bean/dto/FinanceDto.java @@ -21,6 +21,13 @@ public class FinanceDto { @NotNull @ApiModelProperty("任务详情ID") private Long taskDetailId; + + public TaskId() { + } + + public TaskId(@NotNull Long taskDetailId) { + this.taskDetailId = taskDetailId; + } } @Data diff --git a/src/main/java/com/ccsens/ptccsens/service/FinanceService.java b/src/main/java/com/ccsens/ptccsens/service/FinanceService.java index 6e9e3c1..2b233b8 100644 --- a/src/main/java/com/ccsens/ptccsens/service/FinanceService.java +++ b/src/main/java/com/ccsens/ptccsens/service/FinanceService.java @@ -65,8 +65,8 @@ public class FinanceService implements IFinanceService { item.setFinanceId(item.getFinanceId() == null ? expenses.get(0).getFinanceId() : item.getFinanceId()); expenses.forEach(expense->{ switch (expense.getType()) { - case "项目申请" : item.setProjectExpend(expense.getMoney());break; - case "日常报销" : item.setDailyExpend(expense.getMoney());break; + case "项目" : item.setProjectExpend(expense.getMoney());break; + case "日常" : item.setDailyExpend(expense.getMoney());break; default: break; } }); diff --git a/src/main/java/com/ccsens/ptccsens/service/TallService.java b/src/main/java/com/ccsens/ptccsens/service/TallService.java index 6e0fa64..9c48a28 100644 --- a/src/main/java/com/ccsens/ptccsens/service/TallService.java +++ b/src/main/java/com/ccsens/ptccsens/service/TallService.java @@ -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 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 visibleList = new ArrayList<>(); -// List invisibleList = new ArrayList<>(); -// -// //查询当前用户在项目下的角色,没有则算作关注者 -// List userRoleList = proRoleDao.queryRoleByUserId(param.getProjectId(),userId); -// //查询用户可见的角色 -// List roleInfoList; -// if(CollectionUtil.isNotEmpty(userRoleList)){ -// //不是关注者,查询可见的角色(完全屏蔽才不可见) -// roleInfoList = proRoleDao.notAttentionQueryRole(param.getProjectId(),userRoleList); -// }else { -// //是关注者查询可见的角色(未设置过对谁不可见信息的角色) -// roleInfoList = proRoleDao.attentionQueryRole(param.getProjectId()); -// } -// //查询配置信息 -// List 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 queryPermanentGlobalTask(String token,TaskDto.QueryPermanentGlobalTask param) { -// return null; -// } -// -// @Override -// public List queryGlobalTask(String token,TaskDto.QueryGlobalTask param) { -// return null; -// } -// -// @Override -// public List queryRegularTask(String token,TaskDto.QueryRegularTask param) { -// return null; -// } -// -// @Override -// public List 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 queryRegularTaskAndPlugin(String header, TallTaskDto.QueryRegularTask param) { + public List 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 regularTask) { + private void queryPluginShow(List 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)); } }); }