diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskServiceImpl.java index 6fadaaf..0688487 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskServiceImpl.java @@ -1,10 +1,13 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.service.impl; +import cn.hutool.system.UserInfo; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.AnnualreviewTaskConstant; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.SupplierUserConstant; +import com.chinaunicom.zyhy.ebtp.supplier.base.service.impl.UserService; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.UserVo; import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.dao.*; import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.entity.*; import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.service.ICoscoAnnualreviewTaskService; @@ -12,14 +15,13 @@ import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.vo.AddTaskVo; import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.vo.CoscoAnnualreviewTaskListVo; import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.vo.SupplierPeopleVo; import com.chinaunicom.zyhy.ebtp.supplier.coscoBlack.vo.BlackSupplierVo; +import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.vo.TaskUserVo; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.CoscoSupplierBaseMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; /** @@ -42,6 +44,8 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS private CoscoAnnualreviewTemplateIndicatorMapper coscoAnnualreviewTemplateIndicatorMapper; @Autowired private CoscoSupplierBaseMapper coscoSupplierBaseMapper; + @Autowired + private UserService userService; /** * 查询供应商年审_年审任务主 @@ -51,6 +55,7 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS */ @Override public AddTaskVo selectCoscoAnnualreviewTaskById(String id) { + //获取基础信息 CoscoAnnualreviewTask coscoAnnualreviewTask = coscoAnnualreviewTaskMapper.selectCoscoAnnualreviewTaskById(id); AddTaskVo vo = new AddTaskVo(); vo.setId(coscoAnnualreviewTask.getId()); @@ -64,10 +69,27 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS List list = new ArrayList<>(); CoscoAnnualreviewTaskSupplier coscoAnnualreviewTaskSupplier = new CoscoAnnualreviewTaskSupplier(); coscoAnnualreviewTaskSupplier.setAnnualreviewTaskId(coscoAnnualreviewTask.getId()); + //获取添加供应商信息 List coscoAnnualreviewTaskSuppliers = coscoAnnualreviewTaskSupplierMapper.selectCoscoAnnualreviewTaskSupplierList(coscoAnnualreviewTaskSupplier); CoscoAnnualreviewTaskSupplierUser coscoAnnualreviewTaskSupplierUser = new CoscoAnnualreviewTaskSupplierUser(); coscoAnnualreviewTaskSupplierUser.setAnnualreviewTaskId(coscoAnnualreviewTask.getId()); + //获取供应商用户信息 List coscoAnnualreviewTaskSupplierUsers = coscoAnnualreviewTaskSupplierUserMapper.selectCoscoAnnualreviewTaskSupplierUserList(coscoAnnualreviewTaskSupplierUser); + //获取用户信息 + List user1 = userService.getUser(new ArrayList<>()); + //获取已使用的用户信息 + Map userIdMap = coscoAnnualreviewTaskSupplierUsers.stream() + .collect(Collectors. + toMap(CoscoAnnualreviewTaskSupplierUser::getUserId, + CoscoAnnualreviewTaskSupplierUser::getUserId, + (existing, replacement) -> existing)); + //获取全部用户信息 + Map userMap = user1.stream() + .collect(Collectors.toMap( + UserVo::getUserId, + user -> user, + (existing, replacement) -> existing // 当遇到重复 key 时保留已存在的值 + )); coscoAnnualreviewTaskSuppliers.forEach(supplier -> { SupplierPeopleVo user = new SupplierPeopleVo(); user.setSuppliedId(supplier.getSupplierId()); @@ -76,10 +98,29 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS .collect(Collectors.toList())); list.add(user); }); + Map> suppMap = list.stream().collect(Collectors.toMap(SupplierPeopleVo::getSuppliedId, SupplierPeopleVo::getUserIds)); List supplierIds = list.stream().map(SupplierPeopleVo::getSuppliedId).collect(Collectors.toList()); List blackSupplierVos = coscoSupplierBaseMapper.selectSupplierByIds(supplierIds); + List userInfo=userIdMap.keySet().stream().map(userId -> userMap.get(userId)).collect(Collectors.toList()); + blackSupplierVos.forEach(blackSupplierVo -> { + List taskUserVos = new ArrayList<>(); + List strings = suppMap.get(blackSupplierVo.getSupplierId()); + if(strings.size()>0){ + for (String userId : strings) { + TaskUserVo uVo=new TaskUserVo(); + UserVo userVo = userMap.get(userId); + uVo.setId(userId); + uVo.setName(userVo.getUserName()); + uVo.setUserDept(userVo.getUserDept()); + uVo.setUserDeptId(userVo.getUserDeptId()); + taskUserVos.add(uVo); + } + } + blackSupplierVo.setUserList(taskUserVos); + }); vo.setBlackSupplierVos(blackSupplierVos); vo.setSupplierPeopleVo(list); + vo.setUserList(userInfo); return vo; } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/vo/AddTaskVo.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/vo/AddTaskVo.java index 6d10eb3..3d5c0dd 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/vo/AddTaskVo.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/vo/AddTaskVo.java @@ -1,5 +1,6 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.vo; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.UserVo; import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.entity.CoscoAnnualreviewTask; import com.chinaunicom.zyhy.ebtp.supplier.coscoBlack.vo.BlackSupplierVo; import lombok.Data; @@ -16,4 +17,8 @@ public class AddTaskVo extends CoscoAnnualreviewTask { * 供应商信息 */ private List blackSupplierVos; + /** + * 人员信息 + */ + private List userList; }