Commit a1217c7b by wangli

mp2jpa

1 parent aa4c0747
...@@ -31,8 +31,8 @@ public class EngineerController { ...@@ -31,8 +31,8 @@ public class EngineerController {
@GetMapping("/engineer/info/list") @GetMapping("/engineer/info/list")
public Result<?> getEngineerInfoList(@RequestParam String levelType, public Result<?> getEngineerInfoList(@RequestParam String levelType,
@RequestParam String levelValue, @RequestParam String levelValue,
@RequestParam long page, @RequestParam int page,
@RequestParam long size, @RequestParam int size,
@RequestParam(required = false) String kind, @RequestParam(required = false) String kind,
@RequestParam(required = false) String key) { @RequestParam(required = false) String key) {
// 获取工程师基础信息列表 // 获取工程师基础信息列表
...@@ -60,8 +60,8 @@ public class EngineerController { ...@@ -60,8 +60,8 @@ public class EngineerController {
@GetMapping("/engineer/skill/list") @GetMapping("/engineer/skill/list")
public Result<?> getEngineerSkillList(@RequestParam String levelType, public Result<?> getEngineerSkillList(@RequestParam String levelType,
@RequestParam String levelValue, @RequestParam String levelValue,
@RequestParam long page, @RequestParam int page,
@RequestParam long size, @RequestParam int size,
@RequestParam(required = false) String kind, @RequestParam(required = false) String kind,
@RequestParam(required = false) String key) { @RequestParam(required = false) String key) {
// 获取工程师技能信息列表 // 获取工程师技能信息列表
...@@ -100,8 +100,8 @@ public class EngineerController { ...@@ -100,8 +100,8 @@ public class EngineerController {
@GetMapping("/engineer/business/list") @GetMapping("/engineer/business/list")
public Result<?> getEngineerBusinessList(@RequestParam String levelType, public Result<?> getEngineerBusinessList(@RequestParam String levelType,
@RequestParam String levelValue, @RequestParam String levelValue,
@RequestParam long page, @RequestParam int page,
@RequestParam long size, @RequestParam int size,
@RequestParam(required = false) String kind, @RequestParam(required = false) String kind,
@RequestParam(required = false) String key) { @RequestParam(required = false) String key) {
// 技术员业务属性配置列表 // 技术员业务属性配置列表
......
...@@ -7,16 +7,16 @@ import java.util.List; ...@@ -7,16 +7,16 @@ import java.util.List;
public interface EngineerService { public interface EngineerService {
// 获取公司列表 // 获取公司列表
Result<?> getEngineerInfoList(String levelType, String levelValue, long page, long size, String kind, String key); Result<?> getEngineerInfoList(String levelType, String levelValue, int page, int size, String kind, String key);
Result<?> getEngineerInfoDetail(String engineerCode); Result<?> getEngineerInfoDetail(String engineerCode);
// 获取工程师技能列表 // 获取工程师技能列表
Result<?> getEngineerSkillList(String levelType, String levelValue, long page, long size, String kind, String key); Result<?> getEngineerSkillList(String levelType, String levelValue, int page, int size, String kind, String key);
Result<?> getEngineerSkillDetail(String engineerCode); Result<?> getEngineerSkillDetail(String engineerCode);
Result<?> engineerSkillUpdate(String engineerCode, List<String> categoryIds); Result<?> engineerSkillUpdate(String engineerCode, List<String> categoryIds);
// 工程师业务属性配置列表 // 工程师业务属性配置列表
Result<?> getEngineerBusinessList(String levelType, String levelValue, long page, long size, String kind, String key); Result<?> getEngineerBusinessList(String levelType, String levelValue, int page, int size, String kind, String key);
Result<?> getEngineerBusinessDetail(String engineerCode); Result<?> getEngineerBusinessDetail(String engineerCode);
// 技术员业务属性配置修改 // 技术员业务属性配置修改
......
...@@ -3,7 +3,6 @@ package com.dituhui.pea.order.service.impl; ...@@ -3,7 +3,6 @@ package com.dituhui.pea.order.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dituhui.pea.common.BusinessException; import com.dituhui.pea.common.BusinessException;
import com.dituhui.pea.common.Result; import com.dituhui.pea.common.Result;
import com.dituhui.pea.order.common.TimeUtils; import com.dituhui.pea.order.common.TimeUtils;
...@@ -12,10 +11,18 @@ import com.dituhui.pea.order.dto.*; ...@@ -12,10 +11,18 @@ import com.dituhui.pea.order.dto.*;
import com.dituhui.pea.order.entity.*; import com.dituhui.pea.order.entity.*;
import com.dituhui.pea.order.service.EngineerService; import com.dituhui.pea.order.service.EngineerService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.data.domain.Page;
import org.springframework.util.StringUtils;
import javax.persistence.criteria.Predicate;
import java.util.ArrayList;
import java.util.List;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.Duration; import java.time.Duration;
...@@ -29,28 +36,27 @@ import java.util.stream.Collectors; ...@@ -29,28 +36,27 @@ import java.util.stream.Collectors;
public class EngineerServiceImpl implements EngineerService { public class EngineerServiceImpl implements EngineerService {
@Autowired @Autowired
private EngineerInfoMPDao engineerInfoMPDao; private EngineerInfoDao engineerInfoDao;
@Autowired @Autowired
private EngineerSkillGroupMPDao engineerSkillGroupMPDao; private EngineerSkillGroupMPDao engineerSkillGroupMPDao;
@Autowired @Autowired
private OrgGroupMPDao orgGroupMPDao; private OrgGroupDao orgGroupDao;
@Autowired @Autowired
private EngineerBusinessMPDao engineerBusinessDao; private EngineerBusinessMPDao engineerBusinessDao;
@Transactional @Transactional
@Override @Override
public Result<?> getEngineerInfoList(String levelType, String levelValue, long page, long size, String kind, String key) { public Result<?> getEngineerInfoList(String levelType, String levelValue, int page, int size, String kind, String key) {
// 查询工程师信息 // 查询工程师信息
IPage<EngineerInfo> pg = this.queryEngineerInfoIPage(levelType, levelValue, page, size, kind, key); Page<EngineerInfoEntity> pg = this.queryEngineerInfoIPage(levelType, levelValue, page, size, kind, key);
List<EngineerInfo> records = pg.getRecords(); List<EngineerInfoEntity> records = pg.getContent();
// 获取groupIds // 获取groupIds
List<String> groupIds = records.stream().map(EngineerInfo::getGroupId).collect(Collectors.toList()); List<String> groupIds = records.stream().map(EngineerInfoEntity::getGroupId).collect(Collectors.toList());
// 获取Map<groupId, groupName> // 获取Map<groupId, groupName>
HashMap<String, String> groupNames = this.queryGroupNames(groupIds); HashMap<String, String> groupNames = this.queryGroupNames(groupIds);
...@@ -58,9 +64,9 @@ public class EngineerServiceImpl implements EngineerService { ...@@ -58,9 +64,9 @@ public class EngineerServiceImpl implements EngineerService {
// 设置返回值 // 设置返回值
EngineerInfoListResp res = new EngineerInfoListResp(); EngineerInfoListResp res = new EngineerInfoListResp();
res.setContent(this.packEngineerInfos(records, groupNames)); res.setContent(this.packEngineerInfos(records, groupNames));
res.setTotal(pg.getTotal()); res.setTotal(pg.getTotalElements());
res.setPages(pg.getPages()); res.setPages(pg.getTotalPages());
res.setPageCurrent(pg.getCurrent()); res.setPageCurrent(pg.getNumber() + 1);
res.setPageSize(pg.getSize()); res.setPageSize(pg.getSize());
return Result.success(res); return Result.success(res);
...@@ -71,15 +77,15 @@ public class EngineerServiceImpl implements EngineerService { ...@@ -71,15 +77,15 @@ public class EngineerServiceImpl implements EngineerService {
// 获取技术员基础信息详情 // 获取技术员基础信息详情
// 获取技术员列表 // 获取技术员列表
List<EngineerInfo> records = engineerInfoMPDao.selectByEngineerCode(engineerCode); EngineerInfoEntity engineer = engineerInfoDao.getByEngineerCode(engineerCode);
if (records.isEmpty()) { if (engineer == null) {
throw new BusinessException("技术员不存在"); throw new BusinessException("技术员不存在");
} }
List<String> groupIds = records.stream().map(EngineerInfo::getGroupId).collect(Collectors.toList()); String groupId = engineer.getGroupId();
HashMap<String, String> groupNames = this.queryGroupNames(groupIds); HashMap<String, String> groupNames = this.queryGroupNames(List.of(groupId));
List<EngineerInfoListResp.EngineerInfo> items = this.packEngineerInfos(records, groupNames); List<EngineerInfoListResp.EngineerInfo> items = this.packEngineerInfos(List.of(engineer), groupNames);
if (items.isEmpty()) { if (items.isEmpty()) {
throw new BusinessException("技术员不存在"); throw new BusinessException("技术员不存在");
} }
...@@ -88,15 +94,15 @@ public class EngineerServiceImpl implements EngineerService { ...@@ -88,15 +94,15 @@ public class EngineerServiceImpl implements EngineerService {
@Transactional @Transactional
@Override @Override
public Result<?> getEngineerSkillList(String levelType, String levelValue, long page, long size, String kind, String key) { public Result<?> getEngineerSkillList(String levelType, String levelValue, int page, int size, String kind, String key) {
// 获取技术员技能列表 // 获取技术员技能列表
IPage<EngineerInfo> pg = this.queryEngineerInfoIPage(levelType, levelValue, page, size, kind, key); Page<EngineerInfoEntity> pg = this.queryEngineerInfoIPage(levelType, levelValue, page, size, kind, key);
List<EngineerInfo> engineers = pg.getRecords(); List<EngineerInfoEntity> engineers = pg.getContent();
EngineerSkillListResp res = new EngineerSkillListResp(); EngineerSkillListResp res = new EngineerSkillListResp();
res.setTotal(pg.getTotal()); res.setTotal(pg.getTotalElements());
res.setPages(pg.getPages()); res.setPages(pg.getTotalPages());
res.setPageCurrent(pg.getCurrent()); res.setPageCurrent(pg.getNumber() + 1);
res.setPageSize(pg.getSize()); res.setPageSize(pg.getSize());
res.setContent(this.packEngineerSkills(engineers)); res.setContent(this.packEngineerSkills(engineers));
return Result.success(res); return Result.success(res);
...@@ -105,11 +111,11 @@ public class EngineerServiceImpl implements EngineerService { ...@@ -105,11 +111,11 @@ public class EngineerServiceImpl implements EngineerService {
@Override @Override
public Result<?> getEngineerSkillDetail(String engineerCode) throws BusinessException { public Result<?> getEngineerSkillDetail(String engineerCode) throws BusinessException {
// 获取工程师技能详情 // 获取工程师技能详情
List<EngineerInfo> engineers = engineerInfoMPDao.selectByEngineerCode(engineerCode); EngineerInfoEntity engineer = engineerInfoDao.getByEngineerCode(engineerCode);
if (engineers.isEmpty()) { if (engineer == null) {
throw new BusinessException("技术员不存在"); throw new BusinessException("技术员不存在");
} }
List<EngineerSkillListResp.EngineerSkill> items = this.packEngineerSkills(engineers); List<EngineerSkillListResp.EngineerSkill> items = this.packEngineerSkills(List.of(engineer));
if (items.isEmpty()) { if (items.isEmpty()) {
throw new BusinessException("技术员不存在"); throw new BusinessException("技术员不存在");
} }
...@@ -160,18 +166,18 @@ public class EngineerServiceImpl implements EngineerService { ...@@ -160,18 +166,18 @@ public class EngineerServiceImpl implements EngineerService {
@Transactional @Transactional
@Override @Override
public Result<?> getEngineerBusinessList(String levelType, String levelValue, long page, long size, String kind, String key) { public Result<?> getEngineerBusinessList(String levelType, String levelValue, int page, int size, String kind, String key) {
// 技术员业务属性配置列表 // 技术员业务属性配置列表
// 查询技术员列表 // 查询技术员列表
IPage<EngineerInfo> pg = this.queryEngineerInfoIPage(levelType, levelValue, page, size, kind, key); Page<EngineerInfoEntity> pg = this.queryEngineerInfoIPage(levelType, levelValue, page, size, kind, key);
List<EngineerInfo> engineers = pg.getRecords(); List<EngineerInfoEntity> engineers = pg.getContent();
// 查询技术员业务属性 // 查询技术员业务属性
EngineerBusinessListResp res = new EngineerBusinessListResp(); EngineerBusinessListResp res = new EngineerBusinessListResp();
res.setTotal(pg.getTotal()); res.setTotal(pg.getTotalElements());
res.setPages(pg.getPages()); res.setPages(pg.getTotalPages());
res.setPageCurrent(pg.getCurrent()); res.setPageCurrent(pg.getNumber() + 1);
res.setPageSize(pg.getSize()); res.setPageSize(pg.getSize());
res.setContent(this.packEngineerBusinesses(engineers)); res.setContent(this.packEngineerBusinesses(engineers));
return Result.success(res); return Result.success(res);
...@@ -180,11 +186,11 @@ public class EngineerServiceImpl implements EngineerService { ...@@ -180,11 +186,11 @@ public class EngineerServiceImpl implements EngineerService {
@Override @Override
public Result<?> getEngineerBusinessDetail(String engineerCode) { public Result<?> getEngineerBusinessDetail(String engineerCode) {
// 获取技术员业务熟悉详情 // 获取技术员业务熟悉详情
List<EngineerInfo> engineers = engineerInfoMPDao.selectByEngineerCode(engineerCode); EngineerInfoEntity engineer = engineerInfoDao.getByEngineerCode(engineerCode);
if (engineers.isEmpty()) { if (engineer == null) {
throw new BusinessException("技术员不存在"); throw new BusinessException("技术员不存在");
} }
List<?> items = this.packEngineerBusinesses(engineers); List<?> items = this.packEngineerBusinesses(List.of(engineer));
if (items.isEmpty()) { if (items.isEmpty()) {
throw new BusinessException("技术员不存在"); throw new BusinessException("技术员不存在");
} }
...@@ -215,37 +221,44 @@ public class EngineerServiceImpl implements EngineerService { ...@@ -215,37 +221,44 @@ public class EngineerServiceImpl implements EngineerService {
return Result.success(null); return Result.success(null);
} }
private IPage<EngineerInfo> queryEngineerInfoIPage(String levelType, String levelValue, long page, long size, String kind, String key) { private Page<EngineerInfoEntity> queryEngineerInfoIPage(String levelType, String levelValue, int page, int size, String kind, String key) {
// 分页查询工程师基础信息 // 分页查询工程师基础信息
// 查询技术员所在的groupIds // 查询技术员所在的groupIds
LambdaQueryWrapper<OrgGroup> wrapper = new LambdaQueryWrapper<>(); List<OrgGroupEntity> groups = new ArrayList<>();
wrapper.select(OrgGroup::getGroupId); if(levelType.equals("cluster")){
wrapper.eq(levelType.equals("cluster"), OrgGroup::getClusterId, levelValue); groups = orgGroupDao.findAllByClusterId(levelValue);
wrapper.eq(levelType.equals("branch"), OrgGroup::getBranchId, levelValue); } else if (levelType.equals("branch")){
wrapper.eq(levelType.equals("group"), OrgGroup::getGroupId, levelValue); groups = orgGroupDao.findAllByBranchId(levelValue);
List<String> groupIds = orgGroupMPDao.selectList(wrapper).stream().map(OrgGroup::getGroupId).collect(Collectors.toList()); } else if (levelType.equals("group")){
groups = orgGroupDao.findAllByGroupId(levelValue);
LambdaQueryWrapper<EngineerInfo> lqw = new LambdaQueryWrapper<>(); }
lqw.in(groupIds != null && !groupIds.isEmpty(), EngineerInfo::getGroupId, groupIds); List<String> groupIds = groups.stream().map(OrgGroupEntity::getGroupId).collect(Collectors.toList());
if(StringUtils.isNotEmpty(kind)) {
lqw.eq(EngineerInfo::getKind, (kind.equals("fullJob")) ? 1 : 2); Pageable pageable = PageRequest.of(page, size);
} Specification<EngineerInfoEntity> spec = (root, query, cb) -> {
if (StringUtils.isNotEmpty(key)) { List<Predicate> predicates = new ArrayList<>();
lqw.and(w ->
w.like(EngineerInfo::getPhone, key) if (groupIds != null && !groupIds.isEmpty()) {
.or() predicates.add(root.get("groupId").in(groupIds));
.like(EngineerInfo::getName, key) }
.or()
.like(EngineerInfo::getEngineerCode, key) if (StringUtils.hasText(kind)) {
); int kindValue = kind.equals("fullJob") ? 1 : 2;
} predicates.add(cb.equal(root.get("kind"), kindValue));
lqw.orderByAsc(EngineerInfo::getGroupId); }
lqw.orderByAsc(EngineerInfo::getEngineerCode);
if (StringUtils.hasText(key)) {
IPage<EngineerInfo> pg = new Page(page, size); String likeKey = "%" + key + "%";
engineerInfoMPDao.selectPage(pg, lqw); predicates.add(cb.or(
return pg; cb.like(root.get("phone"), likeKey),
cb.like(root.get("name"), likeKey),
cb.like(root.get("engineerCode"), likeKey)
));
}
return cb.and(predicates.toArray(new Predicate[0]));
};
return engineerInfoDao.findAll(spec, pageable);
} }
private HashMap<String, String> queryGroupNames(List<String> groupIds) { private HashMap<String, String> queryGroupNames(List<String> groupIds) {
...@@ -255,11 +268,8 @@ public class EngineerServiceImpl implements EngineerService { ...@@ -255,11 +268,8 @@ public class EngineerServiceImpl implements EngineerService {
if (groupIds.isEmpty()) { if (groupIds.isEmpty()) {
return map; return map;
} }
LambdaQueryWrapper<OrgGroup> lqw = new LambdaQueryWrapper<>(); List<OrgGroupEntity> groups = orgGroupDao.findByGroupIdIn(groupIds);
lqw.select(OrgGroup::getGroupId, OrgGroup::getGroupName); for (OrgGroupEntity g : groups) {
lqw.in(OrgGroup::getGroupId, groupIds);
List<OrgGroup> groups = orgGroupMPDao.selectList(lqw);
for (OrgGroup g : groups) {
map.put(g.getGroupId(), g.getGroupName()); map.put(g.getGroupId(), g.getGroupName());
} }
return map; return map;
...@@ -308,12 +318,12 @@ public class EngineerServiceImpl implements EngineerService { ...@@ -308,12 +318,12 @@ public class EngineerServiceImpl implements EngineerService {
return map; return map;
} }
private List<EngineerInfoListResp.EngineerInfo> packEngineerInfos(List<EngineerInfo> engineers, HashMap<String, String> groups) { private List<EngineerInfoListResp.EngineerInfo> packEngineerInfos(List<EngineerInfoEntity> engineers, HashMap<String, String> groups) {
String groupName, age, kind; String groupName, age, kind;
List<EngineerInfoListResp.EngineerInfo> items = new ArrayList<>(); List<EngineerInfoListResp.EngineerInfo> items = new ArrayList<>();
for (EngineerInfo e : engineers) { for (EngineerInfoEntity e : engineers) {
EngineerInfoListResp.EngineerInfo item = new EngineerInfoListResp.EngineerInfo(); EngineerInfoListResp.EngineerInfo item = new EngineerInfoListResp.EngineerInfo();
item.setEngineerCode(e.getEngineerCode()); item.setEngineerCode(e.getEngineerCode());
item.setNumber(e.getEngineerCode()); item.setNumber(e.getEngineerCode());
...@@ -342,6 +352,7 @@ public class EngineerServiceImpl implements EngineerService { ...@@ -342,6 +352,7 @@ public class EngineerServiceImpl implements EngineerService {
} }
// 标签 // 标签
/*
List<String> tags = new ArrayList<>(); List<String> tags = new ArrayList<>();
if (e.getTags() != null && !e.getTags().isEmpty()) { if (e.getTags() != null && !e.getTags().isEmpty()) {
for (Map.Entry<String, Object> entry : e.getTags().entrySet()) { for (Map.Entry<String, Object> entry : e.getTags().entrySet()) {
...@@ -349,19 +360,20 @@ public class EngineerServiceImpl implements EngineerService { ...@@ -349,19 +360,20 @@ public class EngineerServiceImpl implements EngineerService {
} }
} }
item.setTags(tags); item.setTags(tags);
*/
items.add(item); items.add(item);
} }
return items; return items;
} }
private List<EngineerSkillListResp.EngineerSkill> packEngineerSkills(List<EngineerInfo> engineers) { private List<EngineerSkillListResp.EngineerSkill> packEngineerSkills(List<EngineerInfoEntity> engineers) {
// 获取groupId类表 // 获取groupId类表
List<String> groupIds = engineers.stream().map(EngineerInfo::getGroupId).collect(Collectors.toList()); List<String> groupIds = engineers.stream().map(EngineerInfoEntity::getGroupId).collect(Collectors.toList());
HashMap<String, String> groupNames = this.queryGroupNames(groupIds); HashMap<String, String> groupNames = this.queryGroupNames(groupIds);
// 获取技术员code列表 // 获取技术员code列表
List<String> engineerCodes = engineers.stream().map(EngineerInfo::getEngineerCode).collect(Collectors.toList()); List<String> engineerCodes = engineers.stream().map(EngineerInfoEntity::getEngineerCode).collect(Collectors.toList());
// 获取技术员的可用技能列表 // 获取技术员的可用技能列表
List<Integer> statuses = Collections.singletonList(1); List<Integer> statuses = Collections.singletonList(1);
...@@ -369,12 +381,12 @@ public class EngineerServiceImpl implements EngineerService { ...@@ -369,12 +381,12 @@ public class EngineerServiceImpl implements EngineerService {
List<String> emptySkills = Collections.emptyList(); List<String> emptySkills = Collections.emptyList();
List<EngineerSkillListResp.EngineerSkill> items = new ArrayList<>(); List<EngineerSkillListResp.EngineerSkill> items = new ArrayList<>();
for (EngineerInfo e : engineers) { for (EngineerInfoEntity e : engineers) {
EngineerSkillListResp.EngineerSkill skill = new EngineerSkillListResp.EngineerSkill(); EngineerSkillListResp.EngineerSkill skill = new EngineerSkillListResp.EngineerSkill();
skill.setEngineerCode(e.getEngineerCode()); skill.setEngineerCode(e.getEngineerCode());
skill.setEngineerName(e.getName()); skill.setEngineerName(e.getName());
skill.setGroupName(groupNames.getOrDefault(e.getGroupId(), "")); skill.setGroupName(groupNames.getOrDefault(e.getGroupId(), ""));
skill.setUpdateTime(TimeUtils.IsoTimestamp2DateTime(e.getUpdateTime())); skill.setUpdateTime(TimeUtils.IsoLocalDateTime2String(e.getUpdateTime()));
// 获取一个工程师的技能列表 // 获取一个工程师的技能列表
skill.setSkillGroupIds(engineerSkillGroups.getOrDefault(e.getEngineerCode(), emptySkills)); skill.setSkillGroupIds(engineerSkillGroups.getOrDefault(e.getEngineerCode(), emptySkills));
...@@ -384,17 +396,17 @@ public class EngineerServiceImpl implements EngineerService { ...@@ -384,17 +396,17 @@ public class EngineerServiceImpl implements EngineerService {
return items; return items;
} }
private List<EngineerBusinessListResp.EngineerBusiness> packEngineerBusinesses(List<EngineerInfo> engineers) { private List<EngineerBusinessListResp.EngineerBusiness> packEngineerBusinesses(List<EngineerInfoEntity> engineers) {
// 获取技术员code列表 // 获取技术员code列表
List<String> engineerCodes = engineers.stream().map(EngineerInfo::getEngineerCode).collect(Collectors.toList()); List<String> engineerCodes = engineers.stream().map(EngineerInfoEntity::getEngineerCode).collect(Collectors.toList());
List<String> groupIds = engineers.stream().map(EngineerInfo::getGroupId).collect(Collectors.toList()); List<String> groupIds = engineers.stream().map(EngineerInfoEntity::getGroupId).collect(Collectors.toList());
HashMap<String, String> groupNames = this.queryGroupNames(groupIds); HashMap<String, String> groupNames = this.queryGroupNames(groupIds);
HashMap<String, EngineerBusiness> buss = this.queryEngineerBusiness(engineerCodes); HashMap<String, EngineerBusiness> buss = this.queryEngineerBusiness(engineerCodes);
List<EngineerBusinessListResp.EngineerBusiness> items = new ArrayList<>(); List<EngineerBusinessListResp.EngineerBusiness> items = new ArrayList<>();
for (EngineerInfo e : engineers) { for (EngineerInfoEntity e : engineers) {
EngineerBusinessListResp.EngineerBusiness item = new EngineerBusinessListResp.EngineerBusiness(); EngineerBusinessListResp.EngineerBusiness item = new EngineerBusinessListResp.EngineerBusiness();
EngineerBusiness b = buss.getOrDefault(e.getEngineerCode(), null); EngineerBusiness b = buss.getOrDefault(e.getEngineerCode(), null);
if(b == null){ if(b == null){
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!