|
|
@ -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()); |
|
|
|