Browse Source

20220329修改导入接口

contest
zy_Java 3 years ago
parent
commit
303c579371
  1. 2
      src/main/java/com/ccsens/ptccsens/bean/dto/DeliverDto.java
  2. 21
      src/main/java/com/ccsens/ptccsens/service/DeliverService.java
  3. 2
      src/main/java/com/ccsens/ptccsens/service/IImportService.java
  4. 59
      src/main/java/com/ccsens/ptccsens/service/ImportService.java
  5. 17
      src/main/java/com/ccsens/ptccsens/service/TallService.java

2
src/main/java/com/ccsens/ptccsens/bean/dto/DeliverDto.java

@ -64,6 +64,8 @@ public class DeliverDto {
@NotNull(message = "请选择项目")
@ApiModelProperty("项目id")
private Long projectId;
@ApiModelProperty("角色id")
private Long roleId;
@NotNull(message = "请选择交付物")
@ApiModelProperty("交付物id")
private Long deliverId;

21
src/main/java/com/ccsens/ptccsens/service/DeliverService.java

@ -150,18 +150,23 @@ public class DeliverService implements IDeliverService {
}
//----------------消息------------------------
//获取任务的角色信息
List<Long> roleIdList = proRoleDao.getRoleIdBySubTaskId(pluDeliver.getTaskSubId());
Long roleId = param.getRoleId();
if(ObjectUtil.isNull(roleId)){
List<Long> roleIdList = proRoleDao.getRoleIdBySubTaskId(pluDeliver.getTaskSubId());
if(CollectionUtil.isNotEmpty(roleIdList)){
roleId = roleIdList.get(0);
}
}
//查询任务是定期还是日常
Byte taskType = proTaskDetailDao.getTaskTypeBySubTaskId(pluDeliver.getTaskSubId());
//查询当前任务的交付物插件id
Long pluginId = proTaskDetailDao.getDeliverPluginIdBySubTaskId(pluDeliver.getTaskSubId());
if(CollectionUtil.isNotEmpty(roleIdList)){
// roleIdList.forEach(roleId -> {
// //生成消息内容
RemindMessageDto remindMessageDto = new RemindMessageDto(param.getProjectId(),roleIdList.get(0),pluDeliver.getTaskSubId(),pluginId,taskType,"提交交付物");
//TODO 发送消息
MessageUtil.sendToUser(phoneList,null,remindMessageDto,MessageConstant.DomainType.User,null);
// });
if(ObjectUtil.isNull(roleId)){
//生成消息内容
RemindMessageDto remindMessageDto = new RemindMessageDto(param.getProjectId(),roleId,pluDeliver.getTaskSubId(),pluginId,taskType,"提交交付物");
//TODO 发送消息
MessageUtil.sendToUser(phoneList,null,remindMessageDto,MessageConstant.DomainType.User,null);
}
}

2
src/main/java/com/ccsens/ptccsens/service/IImportService.java

@ -12,6 +12,6 @@ public interface IImportService {
* @param userId userId
* @throws Exception 异常
*/
TallProjectVo.ProjectInfo importWbs(String path, Long userId, Long projectId) throws Exception;
TallProjectVo.ProjectInfo importWbs(String path, Long userId, Long parentId) throws Exception;
}

59
src/main/java/com/ccsens/ptccsens/service/ImportService.java

@ -90,7 +90,7 @@ public class ImportService implements IImportService {
* @throws Exception 异常
*/
@Override
public TallProjectVo.ProjectInfo importWbs(String path, Long userId, Long projectId) throws Exception {
public TallProjectVo.ProjectInfo importWbs(String path, Long userId, Long parentId) throws Exception {
TallProjectVo.ProjectInfo projectInfo = new TallProjectVo.ProjectInfo();
//获取excel文件
InputStream is = new FileInputStream(path);
@ -103,7 +103,7 @@ public class ImportService implements IImportService {
Map<String, Object> taskMap = new HashMap<>();
//读取文件
readExcel(xssfWorkbook, userId, roleMap, memberMap, taskMap,projectId,projectInfo);
readExcel(xssfWorkbook, userId, roleMap, memberMap, taskMap,parentId,projectInfo);
//读取插件配置表
readPluginConfig(xssfWorkbook,taskMap);
@ -161,7 +161,7 @@ public class ImportService implements IImportService {
/**
* 读取每个sheet
*/
private void readExcel(XSSFWorkbook wb, Long userId, Map<String, Long> roleMap, Map<String, RoleDto.WbsMember> memberMap, Map<String, Object> taskMap, Long projectId, TallProjectVo.ProjectInfo projectInfo) {
private void readExcel(XSSFWorkbook wb, Long userId, Map<String, Long> roleMap, Map<String, RoleDto.WbsMember> memberMap, Map<String, Object> taskMap, Long parentId, TallProjectVo.ProjectInfo projectInfo) {
//获取wbsSheet
XSSFSheet wbsSheet = wb.getSheet(BasicsConstant.WbsExcel.WBS_SHEET);
if (ObjectUtil.isNull(wbsSheet)) {
@ -207,24 +207,32 @@ public class ImportService implements IImportService {
if(ObjectUtil.isNull(project)){
throw new BaseException(BasicsCodeError.WSB_NOT_PROJECT_HEADER);
}
//如果parentId不为空,添加层级关系
if(ObjectUtil.isNotNull(parentId)){
ProParentTask proParentTask = new ProParentTask();
proParentTask.setId(snowflake.nextId());
proParentTask.setTaskDetailId(project.getId());
proParentTask.setParentTaskDetailId(parentId);
parentTaskMapper.insertSelective(proParentTask);
}
//读取成员表
readMemberSheet(memberSheet,project,roleMap,memberMap);
//添加任务
readTask(wbsSheet,taskStart,project,roleMap,taskMap);
//获取用户列表
Set<Long> userIdSet = new HashSet<>();
userIdSet.add(userId);
//处理创建人的权限问题(添加创建人角色)
//查找创建者标签id
Long roleLabelId = labelDao.getLabelByTypeAndLevel(5, 5);
//添加创建者角色
ProRole role = new ProRole();
role.setId(snowflake.nextId());
role.setName("创建者");
role.setProjectId(project.getId());
role.setLabelId(roleLabelId);
roleDao.insertSelective(role);
//查找创建者在项目下的成员信息
// Set<Long> userIdSet = new HashSet<>();
// userIdSet.add(userId);
// //处理创建人的权限问题(添加创建人角色)
// //查找创建者标签id
// Long roleLabelId = labelDao.getLabelByTypeAndLevel(5, 5);
// //添加创建者角色
// ProRole role = new ProRole();
// role.setId(snowflake.nextId());
// role.setName("创建者");
// role.setProjectId(project.getId());
// role.setLabelId(roleLabelId);
// roleDao.insertSelective(role);
// //查找创建者在项目下的成员信息
Long memberId = null;
if(CollectionUtil.isNotEmpty(memberMap)){
for(RoleDto.WbsMember member : memberMap.values()){
@ -232,7 +240,7 @@ public class ImportService implements IImportService {
if(member.getUserId().equals(userId)){
memberId = member.getId();
}
userIdSet.add(member.getUserId());
// userIdSet.add(member.getUserId());
}
}
}
@ -241,18 +249,17 @@ public class ImportService implements IImportService {
//添加成员至数据库
ProMember proMember = new ProMember();
proMember.setId(snowflake.nextId());
proMember.setProjectId(projectId);
proMember.setProjectId(project.getId());
proMember.setUserId(userId);
memberDao.insertSelective(proMember);
memberId = proMember.getId();
// memberId = proMember.getId();
}
//添加当前用户未创建者
//添加角色成员关联信息
ProRoleMember roleMember = new ProRoleMember();
roleMember.setId(snowflake.nextId());
roleMember.setRoleId(role.getId());
roleMember.setMemberId(memberId);
roleMemberDao.insertSelective(roleMember);
// //添加当前用户为创建者
// ProRoleMember roleMember = new ProRoleMember();
// roleMember.setId(snowflake.nextId());
// roleMember.setRoleId(role.getId());
// roleMember.setMemberId(memberId);
// roleMemberDao.insertSelective(roleMember);
//返回项目信息
projectInfo.setId(project.getId());
projectInfo.setName(project.getName());

17
src/main/java/com/ccsens/ptccsens/service/TallService.java

@ -110,7 +110,7 @@ public class TallService implements ITallService {
@SneakyThrows
@Override
public TallProjectVo.ProjectInfo importWbs(String token, MultipartFile params) {
public TallProjectVo.ProjectInfo importWbs(String token, MultipartFile params,Long parentId) {
ProUser user = getUserByToken(token);
log.info("本服务下的用户信息:{}", user);
if(ObjectUtil.isNull(user)){
@ -134,7 +134,7 @@ public class TallService implements ITallService {
FileUtil.writeFromStream(params.getInputStream(), fullPath);
//导入数据库
return importService.importWbs(fullPath,user.getId(),null);
return importService.importWbs(fullPath,user.getId(),parentId);
}
private ProUser getUserByToken(String token) {
@ -643,14 +643,15 @@ public class TallService implements ITallService {
}
}
//如果查看的角色项目经理,则查看所有任务
int isPm = 0;
ProRole role = proRoleDao.selectByPrimaryKey(param.getRoleId());
if(ObjectUtil.isNotNull(role)){
isPm = role.getLabelId().equals(Constant.PM_LABEL_ID) ? 1 : 0;
}
// int isPm = 0;
// ProRole role = proRoleDao.selectByPrimaryKey(param.getRoleId());
// if(ObjectUtil.isNotNull(role)){
// isPm = role.getLabelId().equals(Constant.PM_LABEL_ID) ? 1 : 0;
// }
//获取任务列表
PageHelper.startPage(param.getPageNum(),param.getPageSize());
List<TallTaskVo.QueryTask> regularTask = taskDetailDao.pageQueryRegularTask(isPm, role.getProjectId(), param.getRoleId(),queryTime,param.getTimeUnit(),param.getQueryType(),param.getTaskId(),param.getTriggerType());
List<TallTaskVo.QueryTask> regularTask = taskDetailDao.pageQueryRegularTask(0, null, param.getRoleId(),queryTime,param.getTimeUnit(),param.getQueryType(),param.getTaskId(),param.getTriggerType());
PageInfo<TallTaskVo.QueryTask> queryTaskPageInfo = new PageInfo<>(regularTask);
if(CollectionUtil.isNotEmpty(queryTaskPageInfo.getList())){
if(param.getQueryType() == 0){

Loading…
Cancel
Save