feat(domain): 添加领域部门和小组的修改状态控制功能
parent
80054ff4b4
commit
eecef70989
|
|
@ -1,5 +1,6 @@
|
||||||
package com.zcloud.domain.command.query;
|
package com.zcloud.domain.command.query;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import com.alibaba.cola.dto.PageResponse;
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
import com.zcloud.domain.command.convertor.DomainDepartmentCoConvertor;
|
import com.zcloud.domain.command.convertor.DomainDepartmentCoConvertor;
|
||||||
import com.zcloud.domain.command.convertor.DomainDepartmentUserCoConvertor;
|
import com.zcloud.domain.command.convertor.DomainDepartmentUserCoConvertor;
|
||||||
|
|
@ -9,8 +10,10 @@ import com.zcloud.domain.dto.clientobject.DomainDepartmentListCO;
|
||||||
import com.zcloud.domain.dto.clientobject.DomainDepartmentUserCO;
|
import com.zcloud.domain.dto.clientobject.DomainDepartmentUserCO;
|
||||||
import com.zcloud.domain.persistence.dataobject.DomainDepartmentDO;
|
import com.zcloud.domain.persistence.dataobject.DomainDepartmentDO;
|
||||||
import com.zcloud.domain.persistence.dataobject.DomainDepartmentUserDO;
|
import com.zcloud.domain.persistence.dataobject.DomainDepartmentUserDO;
|
||||||
|
import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
|
||||||
import com.zcloud.domain.persistence.repository.DomainDepartmentRepository;
|
import com.zcloud.domain.persistence.repository.DomainDepartmentRepository;
|
||||||
import com.zcloud.domain.persistence.repository.DomainDepartmentUserRepository;
|
import com.zcloud.domain.persistence.repository.DomainDepartmentUserRepository;
|
||||||
|
import com.zcloud.domain.persistence.repository.ProjectTaskRepository;
|
||||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
|
|
@ -18,6 +21,7 @@ import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -33,6 +37,7 @@ public class DomainDepartmentQueryExe {
|
||||||
private final DomainDepartmentCoConvertor domainDepartmentCoConvertor;
|
private final DomainDepartmentCoConvertor domainDepartmentCoConvertor;
|
||||||
private final DomainDepartmentUserRepository domainDepartmentUserRepository;
|
private final DomainDepartmentUserRepository domainDepartmentUserRepository;
|
||||||
private final DomainDepartmentUserCoConvertor domainDepartmentUserCoConvertor;
|
private final DomainDepartmentUserCoConvertor domainDepartmentUserCoConvertor;
|
||||||
|
private final ProjectTaskRepository projectTaskRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页
|
* 分页
|
||||||
|
|
@ -44,7 +49,29 @@ public class DomainDepartmentQueryExe {
|
||||||
Map<String, Object> params = PageQueryHelper.toHashMap(domainDepartmentPageQry);
|
Map<String, Object> params = PageQueryHelper.toHashMap(domainDepartmentPageQry);
|
||||||
PageResponse<DomainDepartmentDO> pageResponse = domainDepartmentRepository.listPage(params);
|
PageResponse<DomainDepartmentDO> pageResponse = domainDepartmentRepository.listPage(params);
|
||||||
List<DomainDepartmentListCO> examCenterCOS = domainDepartmentCoConvertor.converDOsToListCOs(pageResponse.getData());
|
List<DomainDepartmentListCO> examCenterCOS = domainDepartmentCoConvertor.converDOsToListCOs(pageResponse.getData());
|
||||||
//补充数量
|
//有进行中的不允许修改
|
||||||
|
if(CollUtil.isEmpty(examCenterCOS)){
|
||||||
|
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||||
|
}
|
||||||
|
//
|
||||||
|
List<String> domainDepartmentIds = examCenterCOS.stream().map(DomainDepartmentListCO::getDomainDepartmentId).collect(Collectors.toList());
|
||||||
|
|
||||||
|
List<ProjectTaskDO> projectTaskDOList = projectTaskRepository.getNoFinishByDomainDepartmentId(domainDepartmentIds);
|
||||||
|
//分组
|
||||||
|
if(CollUtil.isEmpty(projectTaskDOList)){
|
||||||
|
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||||
|
}
|
||||||
|
//分组
|
||||||
|
Map<String, List<ProjectTaskDO>> projectTaskDOMap = projectTaskDOList.stream().collect(Collectors.groupingBy(ProjectTaskDO::getDomainDepartmentId));
|
||||||
|
examCenterCOS.forEach(info -> {
|
||||||
|
List<ProjectTaskDO> projectTaskDOS = projectTaskDOMap.get(info.getDomainDepartmentId());
|
||||||
|
if(CollUtil.isNotEmpty(projectTaskDOS)){
|
||||||
|
info.setUpdateFlag( false);
|
||||||
|
}else{
|
||||||
|
info.setUpdateFlag( true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,28 @@
|
||||||
package com.zcloud.domain.command.query;
|
package com.zcloud.domain.command.query;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import com.alibaba.cola.dto.PageResponse;
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
import com.zcloud.domain.command.convertor.DomainGroupCoConvertor;
|
import com.zcloud.domain.command.convertor.DomainGroupCoConvertor;
|
||||||
import com.zcloud.domain.command.convertor.DomainGroupUserCoConvertor;
|
import com.zcloud.domain.command.convertor.DomainGroupUserCoConvertor;
|
||||||
import com.zcloud.domain.dto.DomainGroupPageQry;
|
import com.zcloud.domain.dto.DomainGroupPageQry;
|
||||||
import com.zcloud.domain.dto.DomainGroupQry;
|
import com.zcloud.domain.dto.DomainGroupQry;
|
||||||
|
import com.zcloud.domain.dto.clientobject.DomainDepartmentListCO;
|
||||||
import com.zcloud.domain.dto.clientobject.DomainGroupCO;
|
import com.zcloud.domain.dto.clientobject.DomainGroupCO;
|
||||||
import com.zcloud.domain.dto.clientobject.DomainGroupInfoCO;
|
import com.zcloud.domain.dto.clientobject.DomainGroupInfoCO;
|
||||||
import com.zcloud.domain.dto.clientobject.DomainGroupUserCO;
|
import com.zcloud.domain.dto.clientobject.DomainGroupUserCO;
|
||||||
import com.zcloud.domain.persistence.dataobject.DomainGroupDO;
|
import com.zcloud.domain.persistence.dataobject.DomainGroupDO;
|
||||||
import com.zcloud.domain.persistence.dataobject.DomainGroupUserDO;
|
import com.zcloud.domain.persistence.dataobject.DomainGroupUserDO;
|
||||||
|
import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
|
||||||
import com.zcloud.domain.persistence.repository.DomainGroupRepository;
|
import com.zcloud.domain.persistence.repository.DomainGroupRepository;
|
||||||
import com.zcloud.domain.persistence.repository.DomainGroupUserRepository;
|
import com.zcloud.domain.persistence.repository.DomainGroupUserRepository;
|
||||||
|
import com.zcloud.domain.persistence.repository.ProjectTaskRepository;
|
||||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -33,6 +38,7 @@ public class DomainGroupQueryExe {
|
||||||
private final DomainGroupCoConvertor domainGroupCoConvertor;
|
private final DomainGroupCoConvertor domainGroupCoConvertor;
|
||||||
private final DomainGroupUserRepository domainGroupUserRepository;
|
private final DomainGroupUserRepository domainGroupUserRepository;
|
||||||
private final DomainGroupUserCoConvertor domainGroupUserCoConvertor;
|
private final DomainGroupUserCoConvertor domainGroupUserCoConvertor;
|
||||||
|
private final ProjectTaskRepository projectTaskRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页
|
* 分页
|
||||||
|
|
@ -44,6 +50,28 @@ public class DomainGroupQueryExe {
|
||||||
Map<String, Object> params = PageQueryHelper.toHashMap(domainGroupPageQry);
|
Map<String, Object> params = PageQueryHelper.toHashMap(domainGroupPageQry);
|
||||||
PageResponse<DomainGroupDO> pageResponse = domainGroupRepository.listPage(params);
|
PageResponse<DomainGroupDO> pageResponse = domainGroupRepository.listPage(params);
|
||||||
List<DomainGroupCO> examCenterCOS = domainGroupCoConvertor.converDOsToCOs(pageResponse.getData());
|
List<DomainGroupCO> examCenterCOS = domainGroupCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||||
|
//有进行中的不允许修改
|
||||||
|
if(CollUtil.isEmpty(examCenterCOS)){
|
||||||
|
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||||
|
}
|
||||||
|
//
|
||||||
|
List<String> groupIdList = examCenterCOS.stream().map(DomainGroupCO::getDomainGroupId).collect(Collectors.toList());
|
||||||
|
|
||||||
|
List<ProjectTaskDO> projectTaskDOList = projectTaskRepository.getNoFinishByDomainGroupId(groupIdList);
|
||||||
|
//分组
|
||||||
|
if(CollUtil.isEmpty(projectTaskDOList)){
|
||||||
|
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||||
|
}
|
||||||
|
//分组
|
||||||
|
Map<String, List<ProjectTaskDO>> projectTaskDOMap = projectTaskDOList.stream().collect(Collectors.groupingBy(ProjectTaskDO::getDomainGroupId));
|
||||||
|
examCenterCOS.forEach(info -> {
|
||||||
|
List<ProjectTaskDO> projectTaskDOS = projectTaskDOMap.get(info.getDomainGroupId());
|
||||||
|
if(CollUtil.isNotEmpty(projectTaskDOS)){
|
||||||
|
info.setUpdateFlag( false);
|
||||||
|
}else{
|
||||||
|
info.setUpdateFlag( true);
|
||||||
|
}
|
||||||
|
});
|
||||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -45,5 +45,8 @@ public class DomainDepartmentListCO {
|
||||||
|
|
||||||
@ApiModelProperty(value = "领域评审人员数")
|
@ApiModelProperty(value = "领域评审人员数")
|
||||||
private Long domainDepartmentUserCount;
|
private Long domainDepartmentUserCount;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否可以修改,true:可以,false:不可以")
|
||||||
|
private Boolean updateFlag ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -55,5 +55,7 @@ public class DomainGroupCO implements Serializable {
|
||||||
@ApiModelProperty(value = "领域课题完成数")
|
@ApiModelProperty(value = "领域课题完成数")
|
||||||
private Long projectTaskFinishedCount;
|
private Long projectTaskFinishedCount;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否可以修改,true:可以,false:不可以")
|
||||||
|
private Boolean updateFlag ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,5 +30,9 @@ public interface ProjectTaskRepository extends BaseRepository<ProjectTaskDO> {
|
||||||
void updateExecuteStatusBatchById(Integer code, List<Long> idList);
|
void updateExecuteStatusBatchById(Integer code, List<Long> idList);
|
||||||
|
|
||||||
ProjectTaskDO getInfoByTaskId(@NotEmpty(message = "课题任务不能为空") String projectTaskId);
|
ProjectTaskDO getInfoByTaskId(@NotEmpty(message = "课题任务不能为空") String projectTaskId);
|
||||||
|
|
||||||
|
List<ProjectTaskDO> getNoFinishByDomainDepartmentId(List<String> domainDepartmentIds);
|
||||||
|
|
||||||
|
List<ProjectTaskDO> getNoFinishByDomainGroupId(List<String> groupIdList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import com.jjb.saas.framework.repository.common.PageHelper;
|
||||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||||
import com.zcloud.domain.domain.enums.MenuEnum;
|
import com.zcloud.domain.domain.enums.MenuEnum;
|
||||||
import com.zcloud.domain.domain.enums.ProjectTaskExecuteStatusEnum;
|
import com.zcloud.domain.domain.enums.ProjectTaskExecuteStatusEnum;
|
||||||
|
import com.zcloud.domain.domain.enums.ScoreStatusEnum;
|
||||||
import com.zcloud.domain.domain.model.CorpInfoE;
|
import com.zcloud.domain.domain.model.CorpInfoE;
|
||||||
import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
|
import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
|
||||||
import com.zcloud.domain.persistence.mapper.ProjectTaskMapper;
|
import com.zcloud.domain.persistence.mapper.ProjectTaskMapper;
|
||||||
|
|
@ -95,5 +96,21 @@ public class ProjectTaskRepositoryImpl extends BaseRepositoryImpl<ProjectTaskMap
|
||||||
queryWrapper.eq("project_task_id", projectTaskId);
|
queryWrapper.eq("project_task_id", projectTaskId);
|
||||||
return projectTaskMapper.selectOne(queryWrapper);
|
return projectTaskMapper.selectOne(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ProjectTaskDO> getNoFinishByDomainDepartmentId(List<String> domainDepartmentIds) {
|
||||||
|
QueryWrapper<ProjectTaskDO> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.ne("score_status", ScoreStatusEnum.SCORED.getCode());
|
||||||
|
queryWrapper.in("domain_department_id", domainDepartmentIds);
|
||||||
|
return projectTaskMapper.selectList(queryWrapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ProjectTaskDO> getNoFinishByDomainGroupId(List<String> groupIdList) {
|
||||||
|
QueryWrapper<ProjectTaskDO> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.ne("score_status", ScoreStatusEnum.SCORED.getCode());
|
||||||
|
queryWrapper.in("domain_group_id", groupIdList);
|
||||||
|
return projectTaskMapper.selectList(queryWrapper);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue