Browse Source

0709

master
zy_Java 5 years ago
parent
commit
ecb191e6cb
  1. 4
      game/src/main/resources/application.yml
  2. 40
      tall/src/main/java/com/ccsens/tall/service/ExcelService.java
  3. 2
      tall/src/main/java/com/ccsens/tall/service/IProTaskDetailService.java
  4. 34
      tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java
  5. 132
      tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java
  6. 4
      tall/src/main/java/com/ccsens/tall/web/ProjectController.java
  7. 11
      tall/src/main/java/com/ccsens/tall/web/TaskController.java
  8. 4
      tall/src/main/resources/application.yml

4
game/src/main/resources/application.yml

@ -1,4 +1,4 @@
spring:
profiles:
active: test
include: common, util-test
active: dev
include: common, util-dev

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

@ -881,35 +881,39 @@ public class ExcelService implements IExcelService {
taskDetails.add(firstTaskDetail);
//获取全体成员的角色id,如果没有,给每个角色添加任务
long allMemberId = 0;
ProRoleExample proRoleExample = new ProRoleExample();
proRoleExample.createCriteria().andProjectIdEqualTo(sysProject.getId()).andNameEqualTo(WebConstant.ROLE_NAME.AllMember.phase);
List<ProRole> roles = proRoleDao.selectByExample(proRoleExample);
if(CollectionUtil.isEmpty(roles)){
if(CollectionUtil.isNotEmpty(proRoles)){
proRoles.forEach(proRole -> {
if(ObjectUtil.isNotNull(proRole.getParentId()) && proRole.getParentId() != 0 && !proRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.MVP.phase)){
//添加日报
saveMeetingTask("日报","每天",taskDetails,sysProject,pmRoleId,proRole.getId(),firstTaskDetail.getId());
//添加周报
saveMeetingTask("周报","每周一",taskDetails,sysProject,pmRoleId,proRole.getId(),firstTaskDetail.getId());
// TODO 添加季报
//添加月报
saveMeetingTask("月报","每月1号",taskDetails,sysProject,pmRoleId,proRole.getId(),firstTaskDetail.getId());
//添加年报
saveMeetingTask("年报","每年第一天",taskDetails,sysProject,pmRoleId,proRole.getId(),firstTaskDetail.getId());
}
});
//如果没有“全体成员”的角色,则添加一个
ProRoleExample firstRole = new ProRoleExample();
firstRole.createCriteria().andProjectIdEqualTo(sysProject.getId()).andNameEqualTo(WebConstant.ROLE_NAME.Member.value)
.andParentIdEqualTo(0L);
List<ProRole> firstRoles = proRoleDao.selectByExample(firstRole);
if(CollectionUtil.isNotEmpty(firstRoles)){
ProRole proRole = new ProRole();
proRole.setId(snowflake.nextId());
proRole.setName("全体成员");
proRole.setParentId(firstRoles.get(0).getId());
proRole.setProjectId(sysProject.getId());
proRoleService.saveProRole(proRole);
proRoles.add(proRole);
allMemberId = proRole.getId();
}
}else {
allMemberId = roles.get(0).getId();
}
if(allMemberId != 0) {
//添加日报
saveMeetingTask("日报","每天",taskDetails,sysProject,pmRoleId,roles.get(0).getId(),firstTaskDetail.getId());
saveMeetingTask("日报", "每天", taskDetails, sysProject, pmRoleId, allMemberId, firstTaskDetail.getId());
//添加周报
saveMeetingTask("周报","每周一",taskDetails,sysProject,pmRoleId,roles.get(0).getId(),firstTaskDetail.getId());
saveMeetingTask("周报", "每周一", taskDetails, sysProject, pmRoleId, allMemberId, firstTaskDetail.getId());
// TODO 添加季报
//添加月报
saveMeetingTask("月报","每月1号",taskDetails,sysProject,pmRoleId,roles.get(0).getId(),firstTaskDetail.getId());
saveMeetingTask("月报", "每月1号", taskDetails, sysProject, pmRoleId, allMemberId, firstTaskDetail.getId());
//添加年报
saveMeetingTask("年报","每年第一天",taskDetails,sysProject,pmRoleId,roles.get(0).getId(),firstTaskDetail.getId());
saveMeetingTask("年报", "每年第一天", taskDetails, sysProject, pmRoleId, allMemberId, firstTaskDetail.getId());
}
}

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

@ -14,7 +14,7 @@ public interface IProTaskDetailService {
Object getTasksByRoleId(Long currentUserId, Long projectId, Long roleId, Long startTime, Long endTime, Integer process,
Integer page, Integer pageSize) throws Exception;
TaskVo.ProTaskInfoByMVP getTaskInfoByMvp(Long projectId);
List<TaskVo.FirstTask> getTaskInfoByMvp(Long projectId);
TaskVo.NormalTask getTaskInfoByTaskId(Long currentUserId, Long projectId, Long taskId) throws Exception;

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

@ -457,11 +457,9 @@ public class ProTaskDetailService implements IProTaskDetailService {
* 点击MVP查看交付物
*/
@Override
public TaskVo.ProTaskInfoByMVP getTaskInfoByMvp(Long projectId) {
TaskVo.PageInfo pageInfo = new TaskVo.PageInfo();
TaskVo.ProTaskInfoByMVP proTaskInfoByMVP = new TaskVo.ProTaskInfoByMVP();
List<TaskVo.TaskDeliverByMVP> taskDeliverByMVPList;
TaskVo.TaskDeliverByMVP taskDeliverByMVP;
public List<TaskVo.FirstTask> getTaskInfoByMvp(Long projectId) {
List<TaskVo.TaskDeliverByMVP> taskDeliverByMvpList;
TaskVo.TaskDeliverByMVP taskDeliverByMvp;
List<TaskVo.FirstTask> firstTasks = new ArrayList<>();
TaskVo.FirstTask firstProTask;
//查找项目下的一级任务
@ -471,7 +469,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
List<ProTaskDetail> firstTaskList = taskDetailDao.selectByExample(firstTaskExample);
if (CollectionUtil.isNotEmpty(firstTaskList)) {
for (ProTaskDetail firstTask : firstTaskList) {
taskDeliverByMVPList = new ArrayList<>();
taskDeliverByMvpList = new ArrayList<>();
//查找项目下所有的二级任务
ProTaskDetailExample taskExample = new ProTaskDetailExample();
taskExample.createCriteria().andProjectIdEqualTo(projectId)
@ -480,9 +478,9 @@ public class ProTaskDetailService implements IProTaskDetailService {
if (CollectionUtil.isNotEmpty(taskList)) {
for (ProTaskDetail task : taskList) {
taskDeliverByMVP = new TaskVo.TaskDeliverByMVP();
taskDeliverByMVP.setId(task.getId());
taskDeliverByMVP.setName(task.getName());
taskDeliverByMvp = new TaskVo.TaskDeliverByMVP();
taskDeliverByMvp.setId(task.getId());
taskDeliverByMvp.setName(task.getName());
//负责人信息
TaskVo.RoleCheckList roleCheckList = proRoleService.selectRoleByCheckOrExecutor(task.getExecutorRole());
if (ObjectUtil.isNotNull(roleCheckList)) {
@ -492,37 +490,35 @@ public class ProTaskDetailService implements IProTaskDetailService {
} else {
roleCheckListList.add(roleCheckList);
}
taskDeliverByMVP.setRoles(roleCheckListList);
taskDeliverByMvp.setRoles(roleCheckListList);
}
//检查人信息
taskDeliverByMVP.setChecker(proRoleService.selectRoleByCheckOrExecutor(task.getCheckerRole()));
taskDeliverByMvp.setChecker(proRoleService.selectRoleByCheckOrExecutor(task.getCheckerRole()));
//查找任务下的交付物
if(task.getHasGroup() == 0){
taskDeliverByMVP.setDelivers(taskDeliverService.selectDeliverOrInputByTask(task.getId(), 0));
taskDeliverByMvp.setDelivers(taskDeliverService.selectDeliverOrInputByTask(task.getId(), 0));
}else {
Long now = System.currentTimeMillis();
System.out.println(task.getName());
TaskVo.TaskIdAndSubTimeIdByParentIdAndTime taskAndSubTime = taskDetailDao.selectSubTimeByTaskParentIdAndTime(task.getId(), now);
if(ObjectUtil.isNotNull(taskAndSubTime)){
taskDeliverByMVP.setDelivers(taskDeliverService.selectDeliverOrInputByTask(taskAndSubTime.getTaskId(), 0));
taskDeliverByMvp.setDelivers(taskDeliverService.selectDeliverOrInputByTask(taskAndSubTime.getTaskId(), 0));
}
}
//查找任务的输入文档
taskDeliverByMVP.setInputs(taskDeliverService.selectDeliverOrInputByTask(task.getId(), 1));
taskDeliverByMvp.setInputs(taskDeliverService.selectDeliverOrInputByTask(task.getId(), 1));
taskDeliverByMVPList.add(taskDeliverByMVP);
taskDeliverByMvpList.add(taskDeliverByMvp);
}
}
firstProTask = new TaskVo.FirstTask();
firstProTask.setId(firstTask.getId());
firstProTask.setName(firstTask.getName());
firstProTask.setTaskDeliverByMVP(taskDeliverByMVPList);
firstProTask.setTaskDeliverByMVP(taskDeliverByMvpList);
firstTasks.add(firstProTask);
}
}
proTaskInfoByMVP.setFirstTaskList(firstTasks);
return proTaskInfoByMVP;
return firstTasks;
}
/**

132
tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java

@ -235,124 +235,14 @@ public class TaskDeliverService implements ITaskDeliverService {
deliver.setIsUpload(1);
taskDeliverDao.updateByPrimaryKeySelective(deliver);
}
// if (role.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase) || isBelongRole) {
// //发送信息
// List<BaseMessageDto.MessageUser> messageUserList = new ArrayList<>();
// BaseMessageDto.MessageUser messageUser;
// List<Long> userIdList = new ArrayList<>();
// //查找以前的交付物。如果有,改为历史信息
// ProTaskDeliverPostLogExample logExample = new ProTaskDeliverPostLogExample();
// logExample.createCriteria().andTaskSubTimeIdEqualTo(subTimeId)
// .andDeliverIdEqualTo(uploadDeliver.getDeliverId()).andUserIdEqualTo(currentUserId);
// List<ProTaskDeliverPostLog> deliverPostLogList = deliverPostLogDao.selectByExample(logExample);
// if (CollectionUtil.isNotEmpty(deliverPostLogList)) {
// for (ProTaskDeliverPostLog deliverPostLog : deliverPostLogList) {
// if (deliverPostLog.getIsHistory() == 0) {
// deliverPostLog.setIsHistory(1);
// deliverPostLogDao.updateByPrimaryKeySelective(deliverPostLog);
// }
// }
// }
// //添加PostLog
// ProTaskDeliverPostLog deliverPostLog = new ProTaskDeliverPostLog();
// deliverPostLog.setId(snowflake.nextId());
// deliverPostLog.setDeliverId(uploadDeliver.getDeliverId());
// deliverPostLog.setTaskSubTimeId(subTimeId);
// //如果有文件则添加,没有不添加
// if (CollectionUtil.isNotEmpty(uploadDeliver.getFileInfo())) {
// for (DeliverDto.FileInfo fileInfo : uploadDeliver.getFileInfo()) {
// SysCommitedFile file = commitedFileDao.selectByPrimaryKey(fileInfo.getId());
// if(ObjectUtil.isNotNull(file)){
// deliverPostLog.setFileId(file.getId());
// }else {
// throw new BaseException(CodeEnum.NOT_DELIVER_FILE);
// }
// }
// }
// deliverPostLog.setUserId(currentUserId);
// deliverPostLog.setDescription(uploadDeliver.getDescription());
// deliverPostLog.setTime(now);
// deliverPostLog.setIsHistory(0);
// deliverPostLogDao.insertSelective(deliverPostLog);
// //添加交付物检查人表
// if (CollectionUtil.isNotEmpty(uploadDeliver.getCheckerIdList())) {
// ProTaskDeliverPostLogChecker postLogChecker;
// for (Long checkerId : uploadDeliver.getCheckerIdList()) {
// postLogChecker = new ProTaskDeliverPostLogChecker();
// postLogChecker.setId(snowflake.nextId());
// postLogChecker.setDeliverPostLogId(deliverPostLog.getId());
// postLogChecker.setCheckerId(checkerId);
// postLogCheckerDao.insertSelective(postLogChecker);
// }
// } else {
// throw new BaseException(CodeEnum.NOT_CHECKER);
// }
//
// //修改交付物状态
// ProTaskDeliver deliver = new ProTaskDeliver();
// deliver.setId(uploadDeliver.getDeliverId());
// deliver.setIsUpload(1);
// taskDeliverDao.updateByPrimaryKeySelective(deliver);
// //返回
// List<ProjectVo.DeliverInfo> deliverInfoList = taskDeliverDao.selectByDeliverId(uploadDeliver.getDeliverId());
// if (CollectionUtil.isNotEmpty(deliverInfoList)) {
// deliverInfo = deliverInfoList.get(0);
// deliverInfo.setUrl(WebConstant.TEST_URL_BASE + deliverInfo.getUrl());
// }
// //消息的内容
// if (CollectionUtil.isNotEmpty(uploadDeliver.getCheckerIdList())) {
// for (Long postLogCheckerId : uploadDeliver.getCheckerIdList()) {
// userIdList.addAll(userService.selectUserIdByRoleId(postLogCheckerId));
// }
// }
//// Set<String> userIdSet = new HashSet<>();
// if (CollectionUtil.isNotEmpty(userIdList)) {
// HashSet<Long> h = new HashSet<>(userIdList);
// userIdList.clear();
// userIdList.addAll(h);
// for (Long userId : userIdList) {
//// userIdSet.add(userId.toString());
// messageUser = new BaseMessageDto.MessageUser();
// messageUser.setUserId(userId);
// messageUserList.add(messageUser);
// }
// }
// DeliverMessageWithUploadDto uploadMessage = new DeliverMessageWithUploadDto();
// DeliverMessageWithUploadDto.Data uploadMessageData = new DeliverMessageWithUploadDto.Data();
// uploadMessageData.setProjectId(taskDetail.getProjectId());
// Long roleId;
// if (role.getName().equals(WebConstant.ROLE_NAME.AllMember.phase)) {
// List<ProRole> roleList = proMemberService.selectRolesByUserIdAndProjectId(currentUserId, taskDetail.getProjectId());
// roleId = roleList.get(0).getId();
// } else {
// roleId = taskDetail.getExecutorRole();
// }
//
// DeliverMessageWithUploadDto uploadMessage = new DeliverMessageWithUploadDto(taskDetail.getProjectId(),roleId,taskDetail.getId(),
// taskDeliver.getId(),taskDeliver.getName(),currentUserId,now,uploadDeliver.getFileInfo(),messageUserList);
// uploadMessageData.setTaskId(taskDetail.getId());
// uploadMessageData.setDeliverId(taskDeliver.getId());
// uploadMessageData.setDeliverName(taskDeliver.getName());
// uploadMessageData.setUploadTime(System.currentTimeMillis());
// uploadMessageData.setFile(uploadDeliver.getFileInfo());
// uploadMessage.setData(uploadMessageData);
// uploadMessage.setReceivers(messageUserList);
// log.info("检查交付物:{}",JacksonUtil.beanToJson(uploadMessage));
// rabbitTemplate.convertAndSend(RabbitMQConfig.RabbitMQ_QUEUE_NAME,
// JacksonUtil.beanToJson(uploadMessage));
//
// } else {
// throw new BaseException(CodeEnum.IS_NOT_EXECUTOR);
// }
//发送WS信息
//获取所有接收者的id
List<BaseMessageDto.MessageUser> messageUserList = new ArrayList<>();
BaseMessageDto.MessageUser messageUser;
HashSet<Long> userIdSet = new HashSet<>();
HashSet<String> userIdStr = new HashSet<>();
if (CollectionUtil.isNotEmpty(uploadDeliver.getCheckerIdList())) {
for (Long postLogCheckerId : uploadDeliver.getCheckerIdList()) {
userIdSet.addAll(userService.selectUserIdByRoleId(postLogCheckerId));
@ -362,6 +252,7 @@ public class TaskDeliverService implements ITaskDeliverService {
messageUser = new BaseMessageDto.MessageUser();
messageUser.setUserId(userId);
messageUserList.add(messageUser);
userIdStr.add(userId.toString());
}
Long roleId;
if (role.getName().equals(WebConstant.ROLE_NAME.AllMember.phase)) {
@ -375,9 +266,20 @@ public class TaskDeliverService implements ITaskDeliverService {
log.info("上传交付物:{}",JacksonUtil.beanToJson(uploadMessage));
rabbitTemplate.convertAndSend(RabbitMQConfig.RabbitMQ_QUEUE_NAME,
JacksonUtil.beanToJson(uploadMessage));
//用智能助手发送消息
SysProject project = sysProjectDao.selectByPrimaryKey(taskDetail.getProjectId());
robotService.addDeliverRobotSend(currentUserId,taskDeliver.getName(),subTimeId, project);
// DeliverMessageWithUploadDto.Data data = new DeliverMessageWithUploadDto.Data();
// data.setProjectId(taskDetail.getProjectId());
// log.info("上传交付物Data消息:{}",JacksonUtil.beanToJson(uploadMessage.getData()));
// InMessage inMessage = new InMessage();
// inMessage.setData(JacksonUtil.beanToJson(data));
// inMessage.setToDomain(MessageConstant.DomainType.User);
// inMessage.setTos(userIdStr);
// log.info("上传交付物发送消息:{}",JacksonUtil.beanToJson(inMessage));
// rabbitTemplate.convertAndSend(RabbitMQConfig.RabbitMQ_QUEUE_NAME,
// JacksonUtil.beanToJson(inMessage));
//-----------------------------------------------------------------
// //用智能助手发送消息
// SysProject project = sysProjectDao.selectByPrimaryKey(taskDetail.getProjectId());
// robotService.addDeliverRobotSend(currentUserId,taskDeliver.getName(),subTimeId, project);
//返回
List<ProjectVo.DeliverInfo> deliverInfoList = taskDeliverDao.selectByDeliverId(uploadDeliver.getDeliverId());
if (CollectionUtil.isNotEmpty(deliverInfoList)) {

4
tall/src/main/java/com/ccsens/tall/web/ProjectController.java

@ -135,10 +135,10 @@ public class ProjectController {
@ApiImplicitParam(name = "id", value = "项目Id", required = true, paramType = "path")
})
@RequestMapping(value = "/{id}/mvp", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"})
public JsonResponse<TaskVo.ProTaskInfo> getMvpByProjectId(HttpServletRequest request,
public JsonResponse<List<TaskVo.FirstTask>> getMvpByProjectId(HttpServletRequest request,
@PathVariable("id") Long projectId) throws Exception{
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
TaskVo.ProTaskInfoByMVP mvpByProjectId = taskDetailService.getTaskInfoByMvp(projectId);
List<TaskVo.FirstTask> mvpByProjectId = taskDetailService.getTaskInfoByMvp(projectId);
return JsonResponse.newInstance().ok(mvpByProjectId);
}

11
tall/src/main/java/com/ccsens/tall/web/TaskController.java

@ -169,6 +169,17 @@ public class TaskController {
return JsonResponse.newInstance().ok();
}
// @ApiOperation(value = "给任务添加提醒", notes = "")
// @ApiImplicitParams({
// })
// @RequestMapping(value = "/remind", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
// public JsonResponse saveRemind(HttpServletRequest request,
// @ApiParam @Validated @RequestBody TaskDto.ChangeKanbanTask changeKanbanTask) throws Exception {
//// Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
//// subTimeService.changeKanbanTake(currentUserId,changeKanbanTask);
// return JsonResponse.newInstance().ok();
// }
//==============================================================
@OperateType(value = 3)

4
tall/src/main/resources/application.yml

@ -1,4 +1,4 @@
spring:
profiles:
active: test
include: util-test,common
active: dev
include: util-dev,common

Loading…
Cancel
Save