Commit 70692180 by wangli

修改技术员技能,返回技能组ID

1 parent d42f6666
...@@ -19,6 +19,6 @@ public class EngineerSkillListResp { ...@@ -19,6 +19,6 @@ public class EngineerSkillListResp {
private String engineerName; private String engineerName;
private String groupName; private String groupName;
private String updateTime; private String updateTime;
private List<String> categoryIds; private List<String> skillGroupIds;
} }
} }
...@@ -29,7 +29,7 @@ public class EngineerServiceImpl implements EngineerService { ...@@ -29,7 +29,7 @@ public class EngineerServiceImpl implements EngineerService {
private EngineerInfoMPDao engineerInfoMPDao; private EngineerInfoMPDao engineerInfoMPDao;
@Autowired @Autowired
private EngineerSkillMPDao engineerSkillMPDao; private EngineerSkillGroupMPDao engineerSkillGroupMPDao;
@Autowired @Autowired
private OrgGroupMPDao orgGroupMPDao; private OrgGroupMPDao orgGroupMPDao;
...@@ -49,6 +49,7 @@ public class EngineerServiceImpl implements EngineerService { ...@@ -49,6 +49,7 @@ public class EngineerServiceImpl implements EngineerService {
@Autowired @Autowired
private CapacityEngineerStatDao capacityEngineerStatDao; private CapacityEngineerStatDao capacityEngineerStatDao;
@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, long page, long size, String kind, String key) {
...@@ -126,23 +127,23 @@ public class EngineerServiceImpl implements EngineerService { ...@@ -126,23 +127,23 @@ public class EngineerServiceImpl implements EngineerService {
@Transactional @Transactional
@Override @Override
public Result<?> engineerSkillUpdate(String engineerCode, List<String> categoryIds) { public Result<?> engineerSkillUpdate(String engineerCode, List<String> skillGroupIds) {
// 更新技术员技能 // 更新技术员技能
// 先将所有技能更新为0-不可用状态 // 先将所有技能更新为0-不可用状态
LambdaUpdateWrapper<EngineerSkill> wrapper = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<EngineerSkillGroup> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(EngineerSkill::getEngineerCode, engineerCode).set(EngineerSkill::getStatus, 0); wrapper.eq(EngineerSkillGroup::getEngineerCode, engineerCode).set(EngineerSkillGroup::getStatus, 0);
engineerSkillMPDao.update(null, wrapper); engineerSkillGroupMPDao.update(null, wrapper);
if (categoryIds.isEmpty()) { if (skillGroupIds.isEmpty()) {
return null; return null;
} }
// 更新categoryIds状态为1 // 更新categoryIds状态为1
wrapper.eq(EngineerSkill::getEngineerCode, engineerCode); wrapper.eq(EngineerSkillGroup::getEngineerCode, engineerCode);
wrapper.in(EngineerSkill::getCategoryId, categoryIds); wrapper.in(EngineerSkillGroup::getSkillGroupCode, skillGroupIds);
wrapper.set(EngineerSkill::getStatus, 1); wrapper.set(EngineerSkillGroup::getStatus, 1);
int n = engineerSkillMPDao.update(null, wrapper); int n = engineerSkillGroupMPDao.update(null, wrapper);
if (categoryIds.size() == n) { if (skillGroupIds.size() == n) {
// 更新记录条数等于提交记录条数 // 更新记录条数等于提交记录条数
return null; return null;
} }
...@@ -152,15 +153,15 @@ public class EngineerServiceImpl implements EngineerService { ...@@ -152,15 +153,15 @@ public class EngineerServiceImpl implements EngineerService {
List<String> engineerCodes = new ArrayList<>(Collections.singletonList(engineerCode)); List<String> engineerCodes = new ArrayList<>(Collections.singletonList(engineerCode));
HashMap<String, List<String>> engineerSkills = this.queryEngineerSkills(engineerCodes, statuses); HashMap<String, List<String>> engineerSkills = this.queryEngineerSkills(engineerCodes, statuses);
Set<String> sInput = new HashSet<>(categoryIds); Set<String> sInput = new HashSet<>(skillGroupIds);
Set<String> sDB = new HashSet<>(engineerSkills.get(engineerCode)); Set<String> sDB = new HashSet<>(engineerSkills.get(engineerCode));
sInput.removeAll(sDB); sInput.removeAll(sDB);
for (String categoryId : sInput) { for (String skillGroupId : sInput) {
EngineerSkill e = new EngineerSkill(); EngineerSkillGroup e = new EngineerSkillGroup();
e.setEngineerCode(engineerCode); e.setEngineerCode(engineerCode);
e.setCategoryId(categoryId); e.setSkillGroupCode(skillGroupId);
e.setStatus(1); e.setStatus(1);
engineerSkillMPDao.insert(e); engineerSkillGroupMPDao.insert(e);
} }
return null; return null;
} }
...@@ -282,21 +283,21 @@ public class EngineerServiceImpl implements EngineerService { ...@@ -282,21 +283,21 @@ public class EngineerServiceImpl implements EngineerService {
if (engineerCodes.isEmpty()) { if (engineerCodes.isEmpty()) {
return map; return map;
} }
LambdaQueryWrapper<EngineerSkill> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<EngineerSkillGroup> lqw = new LambdaQueryWrapper<>();
lqw.in(EngineerSkill::getEngineerCode, engineerCodes); lqw.in(EngineerSkillGroup::getEngineerCode, engineerCodes);
lqw.in(EngineerSkill::getStatus, statuses); lqw.in(EngineerSkillGroup::getStatus, statuses);
List<EngineerSkill> records = engineerSkillMPDao.selectList(lqw); List<EngineerSkillGroup> records = engineerSkillGroupMPDao.selectList(lqw);
Comparator<EngineerSkill> ec = Comparator.comparing(EngineerSkill::getEngineerCode, String.CASE_INSENSITIVE_ORDER); Comparator<EngineerSkillGroup> ec = Comparator.comparing(EngineerSkillGroup::getEngineerCode, String.CASE_INSENSITIVE_ORDER);
List<EngineerSkill> results = records.stream().sorted(ec).collect(Collectors.toList()); List<EngineerSkillGroup> results = records.stream().sorted(ec).collect(Collectors.toList());
// 根据engineerCode分组 // 根据engineerCode分组
Map<String, List<EngineerSkill>> g = results.stream().collect(Collectors.groupingBy(EngineerSkill::getEngineerCode)); Map<String, List<EngineerSkillGroup>> g = results.stream().collect(Collectors.groupingBy(EngineerSkillGroup::getEngineerCode));
for (String engineerCode : g.keySet()) { for (String engineerCode : g.keySet()) {
// 技术员技能ID列表 // 技术员技能ID列表
List<String> skillIds = g.get(engineerCode).stream().map(EngineerSkill::getCategoryId).collect(Collectors.toList()); List<String> skillGroupIds = g.get(engineerCode).stream().map(EngineerSkillGroup::getSkillGroupCode).collect(Collectors.toList());
map.put(engineerCode, skillIds); map.put(engineerCode, skillGroupIds);
} }
return map; return map;
} }
...@@ -371,8 +372,8 @@ public class EngineerServiceImpl implements EngineerService { ...@@ -371,8 +372,8 @@ public class EngineerServiceImpl implements EngineerService {
List<String> engineerCodes = engineers.stream().map(EngineerInfo::getEngineerCode).collect(Collectors.toList()); List<String> engineerCodes = engineers.stream().map(EngineerInfo::getEngineerCode).collect(Collectors.toList());
// 获取技术员的可用技能列表 // 获取技术员的可用技能列表
List<Integer> statuses = new ArrayList<Integer>(List.of(1)); List<Integer> statuses = Collections.singletonList(1);
HashMap<String, List<String>> engineerSkills = this.queryEngineerSkills(engineerCodes, statuses); HashMap<String, List<String>> engineerSkillGroups = this.queryEngineerSkills(engineerCodes, statuses);
List<String> emptySkills = Collections.emptyList(); List<String> emptySkills = Collections.emptyList();
List<EngineerSkillListResp.EngineerSkill> items = new ArrayList<>(); List<EngineerSkillListResp.EngineerSkill> items = new ArrayList<>();
...@@ -384,7 +385,7 @@ public class EngineerServiceImpl implements EngineerService { ...@@ -384,7 +385,7 @@ public class EngineerServiceImpl implements EngineerService {
skill.setUpdateTime(TimeUtils.IsoTimestamp2DateTime(e.getUpdateTime())); skill.setUpdateTime(TimeUtils.IsoTimestamp2DateTime(e.getUpdateTime()));
// 获取一个工程师的技能列表 // 获取一个工程师的技能列表
skill.setCategoryIds(engineerSkills.getOrDefault(e.getEngineerCode(), emptySkills)); skill.setSkillGroupIds(engineerSkillGroups.getOrDefault(e.getEngineerCode(), emptySkills));
items.add(skill); items.add(skill);
} }
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!