diff --git a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/crmachievement/CrmAchievementServiceImpl.java b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/crmachievement/CrmAchievementServiceImpl.java index 2030c4ac..8b42ab27 100644 --- a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/crmachievement/CrmAchievementServiceImpl.java +++ b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/crmachievement/CrmAchievementServiceImpl.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.crm.service.crmachievement; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.NumberUtil; import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; @@ -162,12 +163,26 @@ public class CrmAchievementServiceImpl implements CrmAchievementService { userPageReqVO.setPageSize(pageReqVO.getPageSize()); PageResult pageResult = adminUserApi.getUserPage(userPageReqVO).getCheckedData(); PageResult pageResult1 = BeanUtils.toBean(pageResult, UserAchieveRespVO.class); + List typeIds = new ArrayList<>(); + for (UserAchieveRespVO vo : pageResult1.getList()) { + typeIds.add(vo.getId()); + } + typeIds = typeIds.stream().distinct().collect(Collectors.toList()); + List crmAchievementDOS = achievementMapper.selectList(new LambdaQueryWrapper() + .eq(CrmAchievementDO::getType, FlowStepEnum.TYPE_2.getValue()) + .eq(CrmAchievementDO::getConfig, pageReqVO.getConfig()) + .in(CrmAchievementDO::getTypeId, typeIds) + .eq(CrmAchievementDO::getYear, pageReqVO.getYear()) + ); + + Map> map = crmAchievementDOS.stream().collect(Collectors.groupingBy(CrmAchievementDO::getTypeId)); + pageResult1.getList().forEach(v -> { - CrmAchievementDO crmAchievementDO = achievementMapper.selectOne(new LambdaQueryWrapperX() - .eq(CrmAchievementDO::getType, FlowStepEnum.TYPE_2.getValue()) - .eq(CrmAchievementDO::getTypeId, v.getId()) - .eqIfPresent(CrmAchievementDO::getConfig, pageReqVO.getConfig()) - .eqIfPresent(CrmAchievementDO::getYear, pageReqVO.getYear())); + List doList = map.get(v.getId()); + CrmAchievementDO crmAchievementDO = null; + if (CollUtil.isNotEmpty(doList)) { + crmAchievementDO = doList.get(0); + } if (crmAchievementDO == null) { crmAchievementDO = CrmAchievementDO.builder() .january(BigDecimal.ZERO).february(BigDecimal.ZERO).march(BigDecimal.ZERO) @@ -178,10 +193,7 @@ public class CrmAchievementServiceImpl implements CrmAchievementService { .build(); } v.setAchievementRespVO(BeanUtils.toBean(crmAchievementDO, CrmAchievementRespVO.class)); - - }); - return pageResult1; } @@ -190,12 +202,24 @@ public class CrmAchievementServiceImpl implements CrmAchievementService { List list = deptService.getDeptList( new DeptApiDTO().setStatus(CommonStatusEnum.ENABLE.getStatus())).getCheckedData(); List achieveRespVOS = BeanUtils.toBean(list, DeptAchieveRespVO.class); + List typeIds = new ArrayList<>(); + for (DeptAchieveRespVO vo : achieveRespVOS) { + typeIds.add(vo.getId()); + } + typeIds = typeIds.stream().distinct().collect(Collectors.toList()); + List crmAchievementDOS = achievementMapper.selectList(new LambdaQueryWrapper() + .eq(CrmAchievementDO::getType, FlowStepEnum.TYPE_3.getValue()) + .eq(CrmAchievementDO::getConfig, type) + .in(CrmAchievementDO::getTypeId, typeIds) + .eq(CrmAchievementDO::getYear, year) + ); + Map> map = crmAchievementDOS.stream().collect(Collectors.groupingBy(CrmAchievementDO::getTypeId)); achieveRespVOS.forEach(vo -> { - CrmAchievementDO crmAchievementDO = achievementMapper.selectOne(new LambdaQueryWrapperX() - .eq(CrmAchievementDO::getType, FlowStepEnum.TYPE_3.getValue()) - .eq(CrmAchievementDO::getTypeId, vo.getId()) - .eqIfPresent(CrmAchievementDO::getConfig, type) - .eqIfPresent(CrmAchievementDO::getYear, year)); + List doList = map.get(vo.getId()); + CrmAchievementDO crmAchievementDO = null; + if (CollUtil.isNotEmpty(doList)) { + crmAchievementDO = doList.get(0); + } if (crmAchievementDO == null) { crmAchievementDO = CrmAchievementDO.builder() .january(BigDecimal.ZERO).february(BigDecimal.ZERO).march(BigDecimal.ZERO) diff --git a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/crmrecord/CrmRecordServiceImpl.java b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/crmrecord/CrmRecordServiceImpl.java index 33e77586..08facbb1 100644 --- a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/crmrecord/CrmRecordServiceImpl.java +++ b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/crmrecord/CrmRecordServiceImpl.java @@ -133,6 +133,8 @@ public class CrmRecordServiceImpl implements CrmRecordService { } PageResult pageResult = recordMapper.selectPage(pageReqVO, ids); PageResult pageResult1 = BeanUtils.toBean(pageResult, CrmRecordRespVO.class); + + for (CrmRecordRespVO crmRecordRespVO : pageResult1.getList()) { DictDataRespDTO dto = dictDataApi.getDictData("follow_status", crmRecordRespVO.getRecordType().toString()).getCheckedData(); crmRecordRespVO.setRecordTypeName(dto.getLabel()); diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/dto/DeptApiVO.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/dto/DeptApiVO.java index 75b12051..510d0694 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/dto/DeptApiVO.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/dto/DeptApiVO.java @@ -23,9 +23,9 @@ public class DeptApiVO { */ private Long parentId; /** - * 机构类型 | 0公司 1部门 + * 机构类型 | 字典值参考 system_dept_type */ - private Integer type; + private String type; /** * 部门层级 */ diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/dto/AdminUserPageApiDTO.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/dto/AdminUserPageApiDTO.java index 4a457631..7d9c2842 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/dto/AdminUserPageApiDTO.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/dto/AdminUserPageApiDTO.java @@ -8,7 +8,6 @@ import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import java.util.List; -import java.util.Set; import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/user/AdminUserMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/user/AdminUserMapper.xml index e835cba9..7602f71f 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/user/AdminUserMapper.xml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/user/AdminUserMapper.xml @@ -170,7 +170,8 @@