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. 15
      src/main/java/com/ccsens/ptccsens/service/DeliverService.java
  3. 2
      src/main/java/com/ccsens/ptccsens/service/IImportService.java
  4. 61
      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 = "请选择项目") @NotNull(message = "请选择项目")
@ApiModelProperty("项目id") @ApiModelProperty("项目id")
private Long projectId; private Long projectId;
@ApiModelProperty("角色id")
private Long roleId;
@NotNull(message = "请选择交付物") @NotNull(message = "请选择交付物")
@ApiModelProperty("交付物id") @ApiModelProperty("交付物id")
private Long deliverId; private Long deliverId;

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

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

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

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

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

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

Loading…
Cancel
Save