|
@@ -27,6 +27,7 @@ import org.springframework.stereotype.Service;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
|
|
|
+import java.util.concurrent.atomic.AtomicInteger;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -111,15 +112,44 @@ public class QC10033_202400ReportOFData implements IDynamicOFData {
|
|
|
|
|
|
|
|
//检验员信息
|
|
//检验员信息
|
|
|
List<BoilerTaskOrderUserDO> checkUserList = boilerTaskOrderUserMapper.selectList(BoilerTaskOrderUserDO::getOrderId,itemReportDO.getOrderId());
|
|
List<BoilerTaskOrderUserDO> checkUserList = boilerTaskOrderUserMapper.selectList(BoilerTaskOrderUserDO::getOrderId,itemReportDO.getOrderId());
|
|
|
|
|
+ // 如果mainChecker不为空且不在checkUserList中,则添加
|
|
|
|
|
+ if (itemDO.getMainChecker() != null){
|
|
|
|
|
+ boolean hasMainChecker = checkUserList.stream()
|
|
|
|
|
+ .anyMatch(user -> itemDO.getMainChecker().equals(user.getUserId()));
|
|
|
|
|
+ if (!hasMainChecker) {
|
|
|
|
|
+ BoilerTaskOrderUserDO mainCheckerUser = new BoilerTaskOrderUserDO();
|
|
|
|
|
+ mainCheckerUser.setUserId(itemDO.getMainChecker());
|
|
|
|
|
+ mainCheckerUser.setOrderId(itemReportDO.getOrderId());
|
|
|
|
|
+ checkUserList.add(mainCheckerUser);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
if (!checkUserList.isEmpty()){
|
|
if (!checkUserList.isEmpty()){
|
|
|
List<AdminUserRespDTO> userList = adminUserApi.getUserList(checkUserList.stream().map(BoilerTaskOrderUserDO::getUserId).toList()).getData();
|
|
List<AdminUserRespDTO> userList = adminUserApi.getUserList(checkUserList.stream().map(BoilerTaskOrderUserDO::getUserId).toList()).getData();
|
|
|
if (!userList.isEmpty()){
|
|
if (!userList.isEmpty()){
|
|
|
- String checkNames = userList.stream()
|
|
|
|
|
- .map(AdminUserRespDTO::getSignUrl)
|
|
|
|
|
- .filter(Objects::nonNull) // 过滤掉null值
|
|
|
|
|
- .filter(signUrl -> !signUrl.isEmpty()) // 过滤掉空字符串
|
|
|
|
|
- .collect(Collectors.joining(","));
|
|
|
|
|
- result.put("checkNames",checkNames);
|
|
|
|
|
|
|
+ // 将mainChecker对应的用户排在第一个
|
|
|
|
|
+ if (itemDO.getMainChecker() != null) {
|
|
|
|
|
+ userList.sort((u1, u2) -> {
|
|
|
|
|
+ if (itemDO.getMainChecker().equals(u1.getId())) {
|
|
|
|
|
+ return -1;
|
|
|
|
|
+ } else if (itemDO.getMainChecker().equals(u2.getId())) {
|
|
|
|
|
+ return 1;
|
|
|
|
|
+ }
|
|
|
|
|
+ return 0;
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ AtomicInteger number = new AtomicInteger(1);
|
|
|
|
|
+ for (AdminUserRespDTO adminUserRespDTO : userList) {
|
|
|
|
|
+ if (adminUserRespDTO.getSignUrl() != null && !adminUserRespDTO.getSignUrl().isEmpty()){
|
|
|
|
|
+ result.put("checkName_" + number.get(), adminUserRespDTO.getSignUrl());
|
|
|
|
|
+ number.getAndIncrement();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ // 如果个数小于7,将后面的checkName都改成空白
|
|
|
|
|
+ if (number.get() < 7){
|
|
|
|
|
+ for (int i = number.get(); i <= 7; i++) {
|
|
|
|
|
+ result.put("checkName_" + i, " ");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|