feat(domain): 添加领域部门和小组的修改状态控制功能
parent
80054ff4b4
commit
eecef70989
|
|
@ -1,5 +1,6 @@
|
|||
package com.zcloud.domain.command.query;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.zcloud.domain.command.convertor.DomainDepartmentCoConvertor;
|
||||
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.persistence.dataobject.DomainDepartmentDO;
|
||||
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.DomainDepartmentUserRepository;
|
||||
import com.zcloud.domain.persistence.repository.ProjectTaskRepository;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
|
@ -18,6 +21,7 @@ import org.springframework.stereotype.Component;
|
|||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -33,6 +37,7 @@ public class DomainDepartmentQueryExe {
|
|||
private final DomainDepartmentCoConvertor domainDepartmentCoConvertor;
|
||||
private final DomainDepartmentUserRepository domainDepartmentUserRepository;
|
||||
private final DomainDepartmentUserCoConvertor domainDepartmentUserCoConvertor;
|
||||
private final ProjectTaskRepository projectTaskRepository;
|
||||
|
||||
/**
|
||||
* 分页
|
||||
|
|
@ -44,7 +49,29 @@ public class DomainDepartmentQueryExe {
|
|||
Map<String, Object> params = PageQueryHelper.toHashMap(domainDepartmentPageQry);
|
||||
PageResponse<DomainDepartmentDO> pageResponse = domainDepartmentRepository.listPage(params);
|
||||
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());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,23 +1,28 @@
|
|||
package com.zcloud.domain.command.query;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.zcloud.domain.command.convertor.DomainGroupCoConvertor;
|
||||
import com.zcloud.domain.command.convertor.DomainGroupUserCoConvertor;
|
||||
import com.zcloud.domain.dto.DomainGroupPageQry;
|
||||
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.DomainGroupInfoCO;
|
||||
import com.zcloud.domain.dto.clientobject.DomainGroupUserCO;
|
||||
import com.zcloud.domain.persistence.dataobject.DomainGroupDO;
|
||||
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.DomainGroupUserRepository;
|
||||
import com.zcloud.domain.persistence.repository.ProjectTaskRepository;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -33,6 +38,7 @@ public class DomainGroupQueryExe {
|
|||
private final DomainGroupCoConvertor domainGroupCoConvertor;
|
||||
private final DomainGroupUserRepository domainGroupUserRepository;
|
||||
private final DomainGroupUserCoConvertor domainGroupUserCoConvertor;
|
||||
private final ProjectTaskRepository projectTaskRepository;
|
||||
|
||||
/**
|
||||
* 分页
|
||||
|
|
@ -44,6 +50,28 @@ public class DomainGroupQueryExe {
|
|||
Map<String, Object> params = PageQueryHelper.toHashMap(domainGroupPageQry);
|
||||
PageResponse<DomainGroupDO> pageResponse = domainGroupRepository.listPage(params);
|
||||
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());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,5 +45,8 @@ public class DomainDepartmentListCO {
|
|||
|
||||
@ApiModelProperty(value = "领域评审人员数")
|
||||
private Long domainDepartmentUserCount;
|
||||
|
||||
@ApiModelProperty(value = "是否可以修改,true:可以,false:不可以")
|
||||
private Boolean updateFlag ;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -55,5 +55,7 @@ public class DomainGroupCO implements Serializable {
|
|||
@ApiModelProperty(value = "领域课题完成数")
|
||||
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);
|
||||
|
||||
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.zcloud.domain.domain.enums.MenuEnum;
|
||||
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.persistence.dataobject.ProjectTaskDO;
|
||||
import com.zcloud.domain.persistence.mapper.ProjectTaskMapper;
|
||||
|
|
@ -95,5 +96,21 @@ public class ProjectTaskRepositoryImpl extends BaseRepositoryImpl<ProjectTaskMap
|
|||
queryWrapper.eq("project_task_id", projectTaskId);
|
||||
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