Browse Source

提交代码

recovery
wang0018 4 years ago
parent
commit
157263a138
  1. 16
      tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java
  2. 7
      tall/src/main/java/com/ccsens/tall/service/ExcelService.java
  3. 11
      tall/src/main/java/com/ccsens/tall/service/IProTaskDetailService.java
  4. 73
      tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java
  5. 50
      tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java

16
tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java

@ -36,8 +36,10 @@ public class TaskDto {
private Long endTime;
@ApiModelProperty("重复周期")
private String cycle;
@ApiModelProperty("交付物")
private String taskDeliver;
@ApiModelProperty("交付物,可以是多个,可以是单个")
private List<String> taskDeliver;
@ApiModelProperty("输入文档,可以是多个,可以是单个")
private List<String> inputDoc;
@ApiModelProperty("插件")
private List<Long> pluginList;
@ApiModelProperty("优先级 3,紧急重要 2,紧急不重要 1,重要不紧急 0,不重要不紧急 默认0")
@ -211,6 +213,8 @@ public class TaskDto {
private Byte milestone;
@ApiModelProperty("交付物id和修改后的名字")
private List<UpdateTaskDeliverName> deliverList;
@ApiModelProperty("输入文档的id和修改后的名字")
private List<UpdateTaskDeliverName> inputList;
@ApiModelProperty("需要修改的插件Id")
private List<Long> plugins;
@ApiModelProperty("任务提醒信息")
@ -420,4 +424,12 @@ public class TaskDto {
@ApiModelProperty("角色id")
private Long roleId;
}
@Data
@ApiModel("交付物列表/输入文档列表 新增和修改都采用这个")
public static class JiaoFuWu{
@ApiModelProperty("交付物/输入文档的id")
public Long id;
@ApiModelProperty("交付物名称")
public String names;
}
}

7
tall/src/main/java/com/ccsens/tall/service/ExcelService.java

@ -152,6 +152,7 @@ public class ExcelService implements IExcelService {
throw new BaseException(CodeEnum.WSB_NOT_TASK_HEADER);
}
readProject(wbsSheet, projectInfoStart, projectInfoEnd, currentUserId, sysProject);
//读项目成员
readMember(wbsSheet, memberSheet, memberStart, memberEnd, sysProject, proRoles, proMembers);
readTask(xssfWorkbook, wbsSheet, taskStart, taskEnd, currentUserId, sysProject, taskDetails, proRoles, proMembers, hasGroupMap);
//读取插件表
@ -225,7 +226,7 @@ public class ExcelService implements IExcelService {
*/
private void readMember(XSSFSheet wbsSheet, XSSFSheet memberSheet, int memberStart, int memberEnd,
SysProject sysProject, List<ProRole> proRoles, List<ProMember> proMembers) throws Exception {
Integer seq=new Integer(0);
//添加奖惩干系人角色(一级角色)
ProRole stakeholderRole = new ProRole();
stakeholderRole.setName(WebConstant.ROLE_NAME.MoneyStakeholder.value);
@ -239,6 +240,7 @@ public class ExcelService implements IExcelService {
stakeholderProRole.setName(WebConstant.ROLE_NAME.MoneyStakeholder.phase);
stakeholderProRole.setDescription(WebConstant.ROLE_NAME.MoneyStakeholder.value);
stakeholderProRole.setParentId(stakeholderRole.getId());
stakeholderProRole.setSequence(seq++);
stakeholderProRole.setProjectId(sysProject.getId());
stakeholderProRole.setId(snowflake.nextId());
proRoleService.saveProRole(stakeholderProRole);
@ -257,6 +259,7 @@ public class ExcelService implements IExcelService {
creatorRole.setName(WebConstant.ROLE_NAME.Creator.phase);
creatorRole.setDescription(WebConstant.ROLE_NAME.Creator.value);
creatorRole.setParentId(creator.getId());
creatorRole.setSequence(seq++);
creatorRole.setProjectId(sysProject.getId());
creatorRole.setId(snowflake.nextId());
proRoleService.saveProRole(creatorRole);
@ -275,6 +278,7 @@ public class ExcelService implements IExcelService {
attentionRole.setName(WebConstant.ROLE_NAME.Attention.phase);
attentionRole.setDescription(WebConstant.ROLE_NAME.Attention.value);
attentionRole.setParentId(attention.getId());
attentionRole.setSequence(seq++);
attentionRole.setProjectId(sysProject.getId());
attentionRole.setId(snowflake.nextId());
proRoleService.saveProRole(attentionRole);
@ -351,6 +355,7 @@ public class ExcelService implements IExcelService {
ProRole proRole = new ProRole();
proRole.setName(secondRoleCell);
proRole.setParentId(firstRoleId);
proRole.setSequence(seq++);
proRole.setProjectId(sysProject.getId());
proRole.setId(snowflake.nextId());
//为虚拟项目角色添加关联的项目id

11
tall/src/main/java/com/ccsens/tall/service/IProTaskDetailService.java

@ -55,4 +55,15 @@ public interface IProTaskDetailService {
* @return 返回所有任务
*/
List<TaskVo.TaskListByProjectId> queryAllTaskByProjectId(Long currentUserId, TaskDto.QueryAllTaskByProjectId projectId) throws Exception;
/**
* 新增和修改交付物的方法
* @param jiaoFuWu
*/
void addAndUpdateJiaoFuWu(TaskDto.JiaoFuWu jiaoFuWu);
/**
* 新增和修改交付物的方法
* @param jiaoFuWu
*/
void addAndUpdateShuWuWenDang(TaskDto.JiaoFuWu jiaoFuWu);
}

73
tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java

@ -17,6 +17,8 @@ import com.ccsens.tall.bean.vo.TaskVo;
import com.ccsens.tall.persist.dao.*;
import com.ccsens.tall.persist.dao.ProTaskShowDao;
import com.ccsens.tall.persist.mapper.ProPluginConfigMapper;
import com.ccsens.tall.persist.mapper.ProTaskDeliverMapper;
import com.ccsens.tall.persist.mapper.ProTaskInputDocMapper;
import com.ccsens.tall.util.TallConstant;
import com.ccsens.tall.util.TaskUtil;
import com.ccsens.util.CodeEnum;
@ -30,6 +32,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@ -89,6 +92,10 @@ public class ProTaskDetailService implements IProTaskDetailService {
private TaskPluginService taskPluginService;
@Resource
private ProShowDao proShowDao;
@Resource
private ProTaskDeliverMapper proTaskDeliverMapper;
@Resource
private ProTaskInputDocMapper proTaskInputDocMapper;
@Override
public void saveTaskDetail(ProTaskDetail taskDetail) {
@ -1410,6 +1417,27 @@ public class ProTaskDetailService implements IProTaskDetailService {
}
});
}
//修改输入文档信息
if (CollectionUtil.isNotEmpty(updateTaskInfo.getInputList())) {
updateTaskInfo.getInputList().forEach(taskDeliver -> {
if (StrUtil.isNotEmpty(taskDeliver.getDeliverName())) {
if (ObjectUtil.isNotNull(taskDeliver.getDeliverId())) {
ProTaskInputDoc deliver = proTaskInputDocMapper.selectByPrimaryKey(taskDeliver.getDeliverId());
if (ObjectUtil.isNotNull(deliver)) {
deliver.setName(taskDeliver.getDeliverName());
proTaskInputDocMapper.updateByPrimaryKeySelective(deliver);
}
} else {
ProTaskInputDoc deliver = new ProTaskInputDoc();
deliver.setId(snowflake.nextId());
deliver.setTaskDetailId(taskDetail.getId());
deliver.setName(taskDeliver.getDeliverName());
deliver.setIsUpload(0);
proTaskInputDocMapper.insertSelective(deliver);
}
}
});
}
//修改数据
taskDetailDao.updateByPrimaryKeySelective(taskDetail);
@ -1638,4 +1666,49 @@ public class ProTaskDetailService implements IProTaskDetailService {
}
return taskList;
}
/**
* 新增和修改交付物
* @param jiaoFuWu
*/
@Override
public void addAndUpdateJiaoFuWu(TaskDto.JiaoFuWu jiaoFuWu) {
ProTaskDeliverExample proTaskDeliverExample=new ProTaskDeliverExample();
ProTaskDeliver proTaskDeliver=new ProTaskDeliver();
if(jiaoFuWu.getId()!=null && StringUtils.isNotBlank(jiaoFuWu.getNames())){
//修改
proTaskDeliver.setId(jiaoFuWu.getId());
proTaskDeliver.setName(jiaoFuWu.getNames());
proTaskDeliverExample.createCriteria().andIdEqualTo(jiaoFuWu.getId()).andRecStatusEqualTo((byte) 0);
proTaskDeliverMapper.updateByExampleSelective(proTaskDeliver,proTaskDeliverExample);
}else if(jiaoFuWu.getId()==null && StringUtils.isNotBlank(jiaoFuWu.getNames())) {
//新增
proTaskDeliver.setId(snowflake.nextId());
proTaskDeliver.setName(jiaoFuWu.getNames());
proTaskDeliverMapper.insertSelective(proTaskDeliver);
}
}
/**
* 新增和修改输入文档
* @param jiaoFuWu
*/
@Override
public void addAndUpdateShuWuWenDang(TaskDto.JiaoFuWu jiaoFuWu) {
ProTaskInputDocExample proTaskDeliverExample=new ProTaskInputDocExample();
ProTaskInputDoc proTaskDeliver=new ProTaskInputDoc();
if(jiaoFuWu.getId()!=null && StringUtils.isNotBlank(jiaoFuWu.getNames())){
//修改
proTaskDeliver.setId(jiaoFuWu.getId());
proTaskDeliver.setName(jiaoFuWu.getNames());
proTaskDeliverExample.createCriteria().andIdEqualTo(jiaoFuWu.getId()).andRecStatusEqualTo((byte) 0);
proTaskInputDocMapper.updateByExampleSelective(proTaskDeliver,proTaskDeliverExample);
}else if(jiaoFuWu.getId()==null && StringUtils.isNotBlank(jiaoFuWu.getNames())) {
//新增
proTaskDeliver.setId(snowflake.nextId());
proTaskDeliver.setName(jiaoFuWu.getNames());
proTaskInputDocMapper.insertSelective(proTaskDeliver);
}
}
}

50
tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java

@ -12,11 +12,9 @@ import com.ccsens.tall.bean.dto.message.SyncMessageWithStartDto;
import com.ccsens.tall.bean.po.*;
import com.ccsens.tall.bean.vo.TaskVo;
import com.ccsens.tall.persist.dao.*;
import com.ccsens.tall.persist.mapper.ProTaskInputDocMapper;
import com.ccsens.tall.util.TallConstant;
import com.ccsens.util.CodeEnum;
import com.ccsens.util.JacksonUtil;
import com.ccsens.util.TransactionUtil;
import com.ccsens.util.WebConstant;
import com.ccsens.util.*;
import com.ccsens.util.bean.message.common.InMessage;
import com.ccsens.util.bean.message.common.MessageConstant;
import com.ccsens.util.config.RabbitMQConfig;
@ -25,7 +23,9 @@ import com.ccsens.util.cron.NatureToDate;
import com.ccsens.util.exception.BaseException;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sun.org.apache.bcel.internal.generic.IAND;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -83,6 +83,8 @@ public class TaskSubTimeService implements ITaskSubTimeService {
//定义事务对象
@Resource
private PlatformTransactionManager transactionManager;
@Resource
private ProTaskInputDocMapper proTaskInputDocMapper;
@Override
public void saveProTaskSubTask(ProTaskSubTime proTaskSubTime) {
@ -446,14 +448,40 @@ public class TaskSubTimeService implements ITaskSubTimeService {
}
}
//交付物
if (StrUtil.isNotEmpty(addTask.getTaskDeliver())) {
ProTaskDeliver deliver = new ProTaskDeliver();
deliver.setId(snowflake.nextId());
deliver.setTaskDetailId(detail.getId());
deliver.setName(addTask.getTaskDeliver());
deliver.setIsInput(0);
taskDeliverDao.insertSelective(deliver);
// if (StrUtil.isNotEmpty(addTask.getTaskDeliver())) {
// ProTaskDeliver deliver = new ProTaskDeliver();
// deliver.setId(snowflake.nextId());
// deliver.setTaskDetailId(detail.getId());
// deliver.setName(addTask.getTaskDeliver());
// deliver.setIsInput(0);
// taskDeliverDao.insertSelective(deliver);
// }
//交付物列表的增加
if(addTask.getTaskDeliver().size()>0){
addTask.getTaskDeliver().forEach(action->{
if(StringUtils.isNotBlank(action)) {
ProTaskDeliver deliver = new ProTaskDeliver();
deliver.setId(snowflake.nextId());
deliver.setTaskDetailId(detail.getId());
deliver.setName(action);
deliver.setIsInput(0);
taskDeliverDao.insertSelective(deliver);
}
});
}
//输入文档的增加
if(addTask.getInputDoc().size()>0){
addTask.getInputDoc().forEach(action->{
if(StringUtils.isNotBlank(action)) {
ProTaskInputDoc proTaskInputDoc = new ProTaskInputDoc();
proTaskInputDoc.setId(snowflake.nextId());
proTaskInputDoc.setName(action);
proTaskInputDoc.setTaskDetailId(detail.getId());
proTaskInputDocMapper.insertSelective(proTaskInputDoc);
}
});
}
//插件
if (CollectionUtil.isNotEmpty(addTask.getPluginList())) {
for (Long pluginId : addTask.getPluginList()) {

Loading…
Cancel
Save