diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysPermissionController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysPermissionController.java index f9b86374a..fcb31c6e8 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysPermissionController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysPermissionController.java @@ -684,6 +684,7 @@ public class SysPermissionController { //项目参数任务 if(StringUtils.equals(permission.getId(), SysPermissionEnum.PROJECT_PARAMETER_TASKS.getId())){ boolean existTaskFlag = false; + existTaskFlag = sysPermissionService.judgeToDo(); meta.put("existTask",existTaskFlag); } json.put("meta", meta); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/TodoCenterMapper.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/TodoCenterMapper.java index b6e0e59ca..d5b9363e4 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/TodoCenterMapper.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/TodoCenterMapper.java @@ -2,6 +2,7 @@ package com.jero.modules.system.mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; import java.util.Map; /** @@ -11,4 +12,10 @@ import java.util.Map; **/ public interface TodoCenterMapper { int todoCenterTaskCount(@Param("params") Map params); + + List listInfoHomo(@Param("userId") String userId, @Param("state") String state); + + Integer countSdtDre(@Param("userName") String userName); + + Integer countState(@Param("manifestId") String manifestId); } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/TodoCenterMapper.xml b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/TodoCenterMapper.xml index 29d53a4d9..a3a40b79c 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/TodoCenterMapper.xml +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/TodoCenterMapper.xml @@ -18,4 +18,39 @@ + + + + + + diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysPermissionService.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysPermissionService.java index 8f48db4f1..f9ab61583 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysPermissionService.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysPermissionService.java @@ -1,13 +1,11 @@ package com.jero.modules.system.service; -import java.util.List; - -import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.extension.service.IService; import com.jero.common.exception.JeroBootException; import com.jero.modules.system.entity.SysPermission; import com.jero.modules.system.model.TreeModel; -import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; /** *

@@ -61,4 +59,6 @@ public interface ISysPermissionService extends IService { * @return */ public boolean hasPermission(String username, String url); + + boolean judgeToDo(); } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysPermissionServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysPermissionServiceImpl.java index 042ce05df..af4973242 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysPermissionServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysPermissionServiceImpl.java @@ -1,33 +1,32 @@ package com.jero.modules.system.service.impl; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.constant.CacheConstant; import com.jero.common.constant.CommonConstant; import com.jero.common.exception.JeroBootException; +import com.jero.common.system.vo.LoginUser; import com.jero.common.util.oConvertUtils; import com.jero.modules.system.entity.SysPermission; import com.jero.modules.system.entity.SysPermissionDataRule; -import com.jero.modules.system.mapper.SysDepartPermissionMapper; -import com.jero.modules.system.mapper.SysDepartRolePermissionMapper; -import com.jero.modules.system.mapper.SysPermissionMapper; -import com.jero.modules.system.mapper.SysRolePermissionMapper; +import com.jero.modules.system.mapper.*; import com.jero.modules.system.model.TreeModel; import com.jero.modules.system.service.ISysPermissionDataRuleService; import com.jero.modules.system.service.ISysPermissionService; +import org.apache.shiro.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import javax.annotation.Resource; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** *

@@ -55,6 +54,9 @@ public class SysPermissionServiceImpl extends ServiceImpl queryListByParentId(String parentId) { return sysPermissionMapper.queryListByParentId(parentId); @@ -263,4 +265,25 @@ public class SysPermissionServiceImpl extends ServiceImpl 0) { + return true; + } + + List manifestIdList = todoCenterMapper.listInfoHomo(loginUser.getId(),"收集中"); + if(CollectionUtil.isNotEmpty(manifestIdList)) { + for (int i = 0; i < manifestIdList.size(); i++) { + int coutState = todoCenterMapper.countState(manifestIdList.get(i)); + if (coutState > 0) { + return true; + } + } + } + + return false; + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsCollectManifestEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsCollectManifestEOMapper.java index 1a6edaa5b..f157d3b57 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsCollectManifestEOMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsCollectManifestEOMapper.java @@ -17,6 +17,8 @@ import java.util.Map; public interface ParamsCollectManifestEOMapper extends BaseMapper { List listInfo(@Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO); + + List listInfoOfTodoCenter(@Param("manifestIdList") List manifestIdList); List> listInfoForExport(@Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO, @Param("ids") String ids); List listInfoOfTodoCenter(); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsManifestEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsManifestEOMapper.java index 5d718889d..94f76a559 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsManifestEOMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsManifestEOMapper.java @@ -31,4 +31,7 @@ public interface ParamsManifestEOMapper extends BaseMapper { ParamsManifestVO getProjectById(@Param("projectId") String projectId); List> labelListForProjectDetails(@Param("projectId") String projectId); + + List listInfoHomo(@Param("userId") String userId, @Param("state") String state); + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml index 80b2edd93..f26174908 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml @@ -86,6 +86,10 @@ - + + + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ParamsManifestTodoCenterServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ParamsManifestTodoCenterServiceImpl.java index 5566e8fb5..8c4a807f0 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ParamsManifestTodoCenterServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ParamsManifestTodoCenterServiceImpl.java @@ -2,31 +2,24 @@ package com.jero.modules.todoCenter.service.impl; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.system.vo.LoginUser; import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO; import com.jero.modules.cert.collect.enums.CollectManifestStateEnum; -import com.jero.modules.cert.collect.enums.CollectManifestUserTypeEnum; import com.jero.modules.cert.collect.enums.ManifestStateEnum; import com.jero.modules.cert.collect.mapper.ParamsCollectManifestEOMapper; import com.jero.modules.cert.collect.mapper.ParamsManifestEOMapper; -import com.jero.modules.project.entity.ProjectLibraryBase; -import com.jero.modules.project.entity.ProjectRelatedPersonnel; -import com.jero.modules.project.mapper.ProjectLibraryBaseMapper; -import com.jero.modules.project.service.IProjectRelatedPersonnelService; -import com.jero.modules.system.entity.SysUser; -import com.jero.modules.system.service.ISysUserService; import com.jero.modules.todoCenter.entity.ParamsManifestTodoCenterEO; import com.jero.modules.todoCenter.service.IParamsManifestTodoCenterService; import com.jero.modules.todoCenter.vo.ParamsManifestTodoCenterEOPage; -import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.*; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; import java.util.stream.Collectors; /** @@ -36,15 +29,6 @@ import java.util.stream.Collectors; */ @Service public class ParamsManifestTodoCenterServiceImpl implements IParamsManifestTodoCenterService { - @Autowired - private ProjectLibraryBaseMapper projectLibraryBaseMapper; - - @Autowired - private ISysUserService sysUserService; - - @Autowired - private IProjectRelatedPersonnelService projectRelatedPersonnelService; - @Autowired private ParamsCollectManifestEOMapper paramsCollectManifestEOMapper; @@ -53,27 +37,28 @@ public class ParamsManifestTodoCenterServiceImpl implements IParamsManifestTodoC @Override public IPage queryPage(ParamsManifestTodoCenterEOPage pageVO) { - - // 查询所有项目下的 状态为收集中的清单 - pageVO.setState(ManifestStateEnum.COLLECTING.getValue()); - List paramsManifestEOListAll = paramsManifestEOMapper.listForTodoCenter(pageVO); - - // 筛选出当前登录人能在清单中是homo/sdt/dre角色的清单,并分页 - LambdaQueryWrapper projectLibraryBaseLambdaQueryWrapper = new LambdaQueryWrapper<>(); - List projectLibraryBaseListAll = projectLibraryBaseMapper.selectList(projectLibraryBaseLambdaQueryWrapper); + int pageNo = pageVO.getPageNo(); + int pageSize = pageVO.getPageSize(); + IPage page = new Page(pageNo, pageSize); LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 获取当前登录用户 - List paramsManifestEOList = new ArrayList<>(); - List projectLibraryBaseList = new ArrayList<>(); - Map manifestUserTypeOfHomo = new HashMap<>(); - Map manifestUserTypeOfSdt = new HashMap<>(); - Map manifestUserTypeOfDre = new HashMap<>(); - Map> paramsManifestEOListMap = new HashMap<>(); + // 查询所有项目下的 状态为收集中的清单 + pageVO.setState(ManifestStateEnum.COLLECTING.getValue()); + pageVO.setUserId(loginUser.getId()); + pageVO.setUserName(loginUser.getUsername()); + List paramsManifestEOListAll = paramsManifestEOMapper.listForTodoCenter(pageVO); // 查询清单的所有参数项 - List pcmListAll = paramsCollectManifestEOMapper.listInfoOfTodoCenter(); + List manifestIdList = paramsManifestEOListAll.stream().map(ParamsManifestTodoCenterEO::getId).collect(Collectors.toList()); + if (CollectionUtil.isEmpty(manifestIdList)) { + return page; + } + List pcmListAll = paramsCollectManifestEOMapper.listInfoOfTodoCenter(manifestIdList); + if (CollectionUtil.isEmpty(pcmListAll)) { + return page; + } - String userType = ""; + List manifestIdListHomo = paramsManifestEOMapper.listInfoHomo(loginUser.getId(), ManifestStateEnum.COLLECTING.getValue());// 获取当前登录人 拥有认证工程师角色的清单 for(ParamsManifestTodoCenterEO paramsManifestEO : paramsManifestEOListAll) { // 查询清单的所有参数项 List pcmList = pcmListAll.stream().filter(e->paramsManifestEO.getId().equals(e.getParamsManifestId())).collect(Collectors.toList()); @@ -83,44 +68,57 @@ public class ParamsManifestTodoCenterServiceImpl implements IParamsManifestTodoC continue; } - // 判断是不是homo角色 - projectLibraryBaseList = projectLibraryBaseListAll.stream().filter(e->paramsManifestEO.getProjectId().equals(e.getId())).collect(Collectors.toList()); - userType = getLoginUserTypeOfHomo(projectLibraryBaseList, loginUser); - if(StringUtils.isNotBlank(userType)) { - paramsManifestEOList.add(paramsManifestEO); - manifestUserTypeOfHomo.put(paramsManifestEO.getId(), true); - paramsManifestEOListMap.put(paramsManifestEO.getId(), pcmList); - continue; + int count = 0; + + if(CollectionUtil.isNotEmpty(manifestIdListHomo) && manifestIdListHomo.contains(paramsManifestEO.getId())) { // 认证工程师 可以看到三种数量 + // 统计待发起数量 包括状态:待发起收集,变更,工程接口人退回 + count = (int) pcmList.stream().filter(e -> CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.getState()) + || CollectManifestStateEnum.SDT_BACK.getValue().equals(e.getState()) + || CollectManifestStateEnum.CHANGE.getValue().equals(e.getState())).count(); + if (count > 0) { + paramsManifestEO.setWaitCollectNum(count); + } + + // 统计待分配数量 包括状态:待工程接口人处理,填写人退回 + count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_SDT.getValue().equals(e.getState()) + || CollectManifestStateEnum.DRE_BACK.getValue().equals(e.getState()))).count(); + if (count > 0) { + paramsManifestEO.setWaitSdtNum(count); + } + + // 统计待填写数量 包括状态:待填写,认证工程师退回 + count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.getState()) + || CollectManifestStateEnum.CERT_BACK.getValue().equals(e.getState()))).count(); + if (count > 0) { + paramsManifestEO.setWaitFillNum(count); + } + } else { // 工程接口人和填写人 只能看到 工程接口人是自己 或 填写人是自己 的数量 + // 统计待分配数量 包括状态:待工程接口人处理,填写人退回 + count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_SDT.getValue().equals(e.getState()) + || CollectManifestStateEnum.DRE_BACK.getValue().equals(e.getState())) + && loginUser.getUsername().equals(e.getSdt())).count(); + if (count > 0) { + paramsManifestEO.setWaitSdtNum(count); + } + + // 统计待填写数量 包括状态:待填写,认证工程师退回 + count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.getState()) + || CollectManifestStateEnum.CERT_BACK.getValue().equals(e.getState())) + && loginUser.getUsername().equals(e.getDre())).count(); + if (count > 0) { + paramsManifestEO.setWaitFillNum(count); + } } - // 判断是不是sdt角色 - userType = getLoginUserTypeOfSdt(pcmList, loginUser); - if(StringUtils.isNotBlank(userType)) { - paramsManifestEOList.add(paramsManifestEO); - manifestUserTypeOfSdt.put(paramsManifestEO.getId(), true); - paramsManifestEOListMap.put(paramsManifestEO.getId(), pcmList); - continue; - } - // 判断是不是dre角色 - userType = getLoginUserTypeOfDre(pcmList, loginUser); - if(StringUtils.isNotBlank(userType)) { - paramsManifestEOList.add(paramsManifestEO); - manifestUserTypeOfDre.put(paramsManifestEO.getId(), true); - paramsManifestEOListMap.put(paramsManifestEO.getId(), pcmList); - continue; - } } // 分页 - paramsManifestEOList = paramsManifestEOList.stream() + List paramsManifestEOList =paramsManifestEOListAll.stream() + .filter(e->ObjectUtil.isNotNull(e.getWaitCollectNum()) || ObjectUtil.isNotNull(e.getWaitSdtNum()) || ObjectUtil.isNotNull(e.getWaitFillNum())) .sorted(Comparator.comparing(ParamsManifestTodoCenterEO::getCreateTime).reversed()) .collect(Collectors.toList()); List result = new ArrayList<>(); - int pageNo = pageVO.getPageNo(); - int pageSize = pageVO.getPageSize(); - IPage page = new Page(pageNo, pageSize); - page.setTotal(paramsManifestEOList.size()); int subSize = pageVO.getPageSize(); // 每页记录数 int subCount = paramsManifestEOList.size(); // 总记录数 @@ -134,217 +132,9 @@ public class ParamsManifestTodoCenterServiceImpl implements IParamsManifestTodoC result = new ArrayList(); } - // 统计清单中的待办参数数据 - List records = getStatistics(result, manifestUserTypeOfHomo, manifestUserTypeOfSdt, manifestUserTypeOfDre, paramsManifestEOListMap,loginUser); - page.setRecords(records); + page.setTotal(paramsManifestEOList.size()); + page.setRecords(result); return page; } - - public List getStatistics(List paramsManifestEOList, Map manifestUserTypeOfHomo - ,Map manifestUserTypeOfSdt, Map manifestUserTypeOfDre, Map> paramsManifestEOListMap, LoginUser loginUser) { - List paramsManifestTodoCenterEOList = new ArrayList<>(); - - for(ParamsManifestTodoCenterEO paramsManifestTodoCenterEO : paramsManifestEOList) { - // 查询清单的所有参数项 - ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO(); - paramsCollectManifestEO.setParamsManifestId(paramsManifestTodoCenterEO.getId()); - List pcmList = paramsManifestEOListMap.get(paramsManifestTodoCenterEO.getId()); - int count = 0; - - if (ObjectUtil.isNotEmpty(paramsManifestTodoCenterEO.getId()) - && ObjectUtil.isNotEmpty(manifestUserTypeOfHomo.get(paramsManifestTodoCenterEO.getId()))) { - // 统计待发起数量 包括状态:待发起收集,变更,工程接口人退回 - count = (int) pcmList.stream().filter(e-> CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.getState()) - || CollectManifestStateEnum.SDT_BACK.getValue().equals(e.getState()) - || CollectManifestStateEnum.CHANGE.getValue().equals(e.getState())).count(); - if (count > 0) { - paramsManifestTodoCenterEO.setWaitCollectNum(count); - } - // 统计待分配数量 包括状态:待工程接口人处理,填写人退回 - count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_SDT.getValue().equals(e.getState()) - || CollectManifestStateEnum.DRE_BACK.getValue().equals(e.getState()))).count(); - if (count > 0) { - paramsManifestTodoCenterEO.setWaitSdtNum(count); - } - // 统计待填写数量 包括状态:待填写,认证工程师退回 - count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.getState()) - || CollectManifestStateEnum.CERT_BACK.getValue().equals(e.getState()))).count(); - if (count > 0) { - paramsManifestTodoCenterEO.setWaitFillNum(count); - } - } else if (ObjectUtil.isNotEmpty(paramsManifestTodoCenterEO.getId()) - && ObjectUtil.isNotEmpty(manifestUserTypeOfSdt.get(paramsManifestTodoCenterEO.getId()))) { - // 统计待分配数量 包括状态:待工程接口人处理,填写人退回 - count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_SDT.getValue().equals(e.getState()) - || CollectManifestStateEnum.DRE_BACK.getValue().equals(e.getState())) - && loginUser.getUsername().equals(e.getSdt())).count(); - if (count > 0) { - paramsManifestTodoCenterEO.setWaitSdtNum(count); - } - // 统计待填写数量 包括状态:待填写,认证工程师退回 - count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.getState()) - || CollectManifestStateEnum.CERT_BACK.getValue().equals(e.getState()))).count(); - if (count > 0) { - paramsManifestTodoCenterEO.setWaitFillNum(count); - } - - } else if (ObjectUtil.isNotEmpty(paramsManifestTodoCenterEO.getId()) - && ObjectUtil.isNotEmpty(manifestUserTypeOfDre.get(paramsManifestTodoCenterEO.getId()))) { - // 统计待填写数量 包括状态:待填写,认证工程师退回 - count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.getState()) - || CollectManifestStateEnum.CERT_BACK.getValue().equals(e.getState())) - && loginUser.getUsername().equals(e.getDre())).count(); - if (count > 0) { - paramsManifestTodoCenterEO.setWaitFillNum(count); - } - - } - - paramsManifestTodoCenterEOList.add(paramsManifestTodoCenterEO); - } - return paramsManifestTodoCenterEOList; - } - - /** - * 根据项目id,清单id查询当前登录人的Homo角色 - * @param projectId - * @param paramsManifestId - * @return - */ - public List getLoginUserTypes(String projectId, String paramsManifestId, LoginUser loginUser) { - - List userTypeList = new ArrayList<>(); // 一个用户可以有多个用户类型 -// LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 获取当前登录用户 - - // 查询项目下所有责任领域下的 homo人员 - List projectLibraryBaseList = projectLibraryBaseMapper.queryById(projectId); - List homoList = new ArrayList<>(); - if (CollectionUtil.isNotEmpty(projectLibraryBaseList)) { - String homoIdStr = projectLibraryBaseList.get(0).getCertificationEngineer(); - if (StringUtils.isNotEmpty(homoIdStr)) { - List homoIdList = Arrays.asList(homoIdStr.split(",")).stream().distinct().collect(Collectors.toList()); - homoList = sysUserService.listByIds(homoIdList).stream().map(SysUser::getUsername).collect(Collectors.toList()); - } - } - - // 查询项目下所有责任领域下的 sdt人员 - List sdtList = new ArrayList<>(); - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(ProjectRelatedPersonnel::getProjectId, projectId); - List prpList = projectRelatedPersonnelService.list(queryWrapper); -// String homoIdStr = prpList.stream().map(e -> e.getCertificationEngineer()).collect(Collectors.joining(",")); - String sdtIdStr = prpList.stream().map(e -> e.getEngineeringInterfacePerson()).collect(Collectors.joining(",")); - // 项目下有homo-->不一定有sdt - if(StringUtils.isNotBlank(sdtIdStr)) { - List sdtIdList = Arrays.asList(sdtIdStr.split(",")).stream().distinct().collect(Collectors.toList()); - sdtList = sysUserService.listByIds(sdtIdList).stream().map(SysUser::getUsername).collect(Collectors.toList()); - } - - // 查询项目下参数清单下收集参数项中的 sdt,dre人员 - ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO(); - paramsCollectManifestEO.setParamsManifestId(paramsManifestId); - List pcmList = paramsCollectManifestEOMapper.listInfo(paramsCollectManifestEO); - List sdtListOfPCM = pcmList.stream() - .filter(e->StringUtils.isNotEmpty(e.getSdt())) - .map(ParamsCollectManifestEO::getSdt) - .distinct() - .collect(Collectors.toList()); - sdtList.addAll(sdtListOfPCM); // 需要取并集,因为存在参数项开始收集但 人员相关名单中sdt被修改的情况 - - List dreListOfPCM = pcmList.stream() - .filter(e->StringUtils.isNotEmpty(e.getDre())) - .map(ParamsCollectManifestEO::getDre) - .distinct() - .collect(Collectors.toList()); - - String loginUserName = loginUser.getUsername().toLowerCase(); - - homoList = toLowerCaseOfList(homoList); - sdtList = toLowerCaseOfList(sdtList); - dreListOfPCM = toLowerCaseOfList(dreListOfPCM); - - - if (homoList.contains(loginUserName)) { - userTypeList.add(CollectManifestUserTypeEnum.HOMO.getValue()); - } - - if (sdtList.contains(loginUserName)) { - userTypeList.add(CollectManifestUserTypeEnum.SDT.getValue()); - } - - if (dreListOfPCM.contains(loginUserName)) { - userTypeList.add(CollectManifestUserTypeEnum.DRE.getValue()); - } - - return userTypeList; - } - - public String getLoginUserTypeOfHomo(List projectLibraryBaseList, LoginUser loginUser) { - - String userType = ""; // 一个用户可以有多个用户类型 - - // 查询项目下的 homo人员 - List homoList = new ArrayList<>(); - if (CollectionUtil.isNotEmpty(projectLibraryBaseList)) { - String homoIdStr = projectLibraryBaseList.get(0).getCertificationEngineer(); - if (StringUtils.isNotEmpty(homoIdStr)) { - List homoIdList = Arrays.asList(homoIdStr.split(",")).stream().distinct().collect(Collectors.toList()); - homoList = sysUserService.listByIds(homoIdList).stream().map(SysUser::getUsername).collect(Collectors.toList()); - } - } - - String loginUserName = loginUser.getUsername().toLowerCase(); - homoList = toLowerCaseOfList(homoList); - if (homoList.contains(loginUserName)) { - userType = CollectManifestUserTypeEnum.HOMO.getValue(); - } - return userType; - } - - public String getLoginUserTypeOfSdt(List pcmList, LoginUser loginUser) { - - String userType = ""; // 一个用户可以有多个用户类型 - - List sdtListOfPCM = pcmList.stream() - .filter(e->StringUtils.isNotEmpty(e.getSdt())) - .map(ParamsCollectManifestEO::getSdt) - .distinct() - .collect(Collectors.toList()); - - String loginUserName = loginUser.getUsername().toLowerCase(); - sdtListOfPCM = toLowerCaseOfList(sdtListOfPCM); - if (sdtListOfPCM.contains(loginUserName)) { - userType = CollectManifestUserTypeEnum.SDT.getValue(); - } - return userType; - } - - public String getLoginUserTypeOfDre(List pcmList, LoginUser loginUser) { - - String userType = ""; // 一个用户可以有多个用户类型 - - List dreListOfPCM = pcmList.stream() - .filter(e->StringUtils.isNotEmpty(e.getDre())) - .map(ParamsCollectManifestEO::getDre) - .distinct() - .collect(Collectors.toList()); - - String loginUserName = loginUser.getUsername().toLowerCase(); - dreListOfPCM = toLowerCaseOfList(dreListOfPCM); - if (dreListOfPCM.contains(loginUserName)) { - userType = CollectManifestUserTypeEnum.DRE.getValue(); - } - return userType; - } - - private List toLowerCaseOfList(List list) { - List newList = list; - if (CollectionUtil.isNotEmpty(list)) { - newList = list.stream().map(String::toLowerCase).collect(Collectors.toList()); - } - return newList; - } - - } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/vo/ParamsManifestTodoCenterEOPage.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/vo/ParamsManifestTodoCenterEOPage.java index 98079f027..907d43b92 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/vo/ParamsManifestTodoCenterEOPage.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/vo/ParamsManifestTodoCenterEOPage.java @@ -42,4 +42,8 @@ public class ParamsManifestTodoCenterEOPage { private int pageNo; private int pageSize; private String state; + + private String userId; + private String userName; + } diff --git a/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue b/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue index fa67d111c..af4d3d3b7 100644 --- a/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue +++ b/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue @@ -684,12 +684,11 @@ // } }, mounted() { - console.log(this.$route.query) + this.GetgetLoginUserType() + console.log(this.currentPersonRole) if(this.$route.query.type == '1'){ this.handleOkRoleSwitching() } - this.GetgetLoginUserType() - console.log(this.currentPersonRole) setTimeout(() => { if (this.currentPersonRole == 'dre') { this.handlePreservation() @@ -724,7 +723,7 @@ handleOkRoleSwitching() { if(this.$route.query.type == '1'){ let query = { - userType:this.$route.query.userType, + userType:this.formInlineRoleSwitching.roleSwitchingCode ? this.formInlineRoleSwitching.roleSwitchingCode : this.$route.query.userType, paramsManifestId: this.$route.query.id, projectId: this.$route.query.projectId, userId: this.userInfo().id @@ -732,10 +731,10 @@ this.confirmLoadingRoleSwitching = true postAction('/params/userTypeLog/edit', query).then((res) => { if (res.success) { - this.currentPersonRole = this.$route.query.userType + this.currentPersonRole = this.formInlineRoleSwitching.roleSwitchingCode ? this.formInlineRoleSwitching.roleSwitchingCode : this.$route.query.userType this.visibleRoleSwitching = false this.confirmLoadingRoleSwitching = false - localStorage.setItem('currentPersonRole', JSON.stringify(this.$route.query.userType)) + localStorage.setItem('currentPersonRole', JSON.stringify(this.formInlineRoleSwitching.roleSwitchingCode ? this.formInlineRoleSwitching.roleSwitchingCode : this.$route.query.userType)) this.RoleType.forEach((item,index) => { if(item.value == this.currentPersonRole){ this.rolename = item.label diff --git a/jero-web/src/views/toDoCenter/projectParameterTasks/index.vue b/jero-web/src/views/toDoCenter/projectParameterTasks/index.vue index 0216f842b..33e86e093 100644 --- a/jero-web/src/views/toDoCenter/projectParameterTasks/index.vue +++ b/jero-web/src/views/toDoCenter/projectParameterTasks/index.vue @@ -167,42 +167,97 @@ }, //待填写数量 waitFillClick(item) { - let _this = this - item.type = '1' - item.userType = 'dre' - console.log(item) - let newUrl = _this.$router.resolve({ - path: '/ParameterItemCollection', - query: item - // projectName:this.$route.query.projectName + let query = { + paramsManifestId: item.id, + projectId: item.projectId + } + this.loading = true + let userType = '' + let valueList = [] + getAction('params/collectManifest/getLoginUserType', query).then((res) => { + if(res.result){ + res.result.find((item,index) => { + if(item.value){ + valueList.push(item.value) + } + }) + let flag = valueList.find((item,index) => { + return item == 'dre' + }) + let _this = this + item.type = '1' + item.userType = _this.flag == undefined ? valueList[0] : 'dre' + let newUrl = _this.$router.resolve({ + path: '/ParameterItemCollection', + query: item + // projectName:this.$route.query.projectName + }) + window.open(newUrl.href, '_blank') + } }) - window.open(newUrl.href, '_blank') }, //待分配填写人数量 waitSdtClick(item) { - let _this = this - item.type = '1' - item.userType = 'sdt' - console.log(item) - let newUrl = _this.$router.resolve({ - path: '/ParameterItemCollection', - query: item - // projectName:this.$route.query.projectName + let query = { + paramsManifestId: item.id, + projectId: item.projectId + } + this.loading = true + let userType = '' + let valueList = [] + getAction('params/collectManifest/getLoginUserType', query).then((res) => { + if(res.result){ + res.result.find((item,index) => { + if(item.value){ + valueList.push(item.value) + } + }) + let flag = valueList.find((item,index) => { + return item == 'sdt' + }) + let _this = this + item.type = '1' + item.userType = _this.flag == undefined ? valueList[0] : 'sdt' + let newUrl = _this.$router.resolve({ + path: '/ParameterItemCollection', + query: item + // projectName:this.$route.query.projectName + }) + window.open(newUrl.href, '_blank') + } }) - window.open(newUrl.href, '_blank') + }, //参数待发起数量 waitCollectClick(item) { - let _this = this - item.type = '1' - item.userType = 'homo' - console.log(item) - let newUrl = _this.$router.resolve({ - path: '/ParameterItemCollection', - query: item - // projectName:this.$route.query.projectName + let query = { + paramsManifestId: item.id, + projectId: item.projectId + } + this.loading = true + let userType = '' + let valueList = [] + getAction('params/collectManifest/getLoginUserType', query).then((res) => { + if(res.result){ + res.result.find((item,index) => { + if(item.value){ + valueList.push(item.value) + } + }) + let flag = valueList.find((item,index) => { + return item == 'homo' + }) + let _this = this + item.type = '1' + item.userType = _this.flag == undefined ? valueList[0] : 'homo' + let newUrl = _this.$router.resolve({ + path: '/ParameterItemCollection', + query: item + // projectName:this.$route.query.projectName + }) + window.open(newUrl.href, '_blank') + } }) - window.open(newUrl.href, '_blank') }, SizeChange(page, pageSize) { this.pageNo = 1