新疆新需求

This commit is contained in:
wanghao
2025-10-31 10:35:54 +08:00
parent a18166d6a8
commit 15cbd2f085
5 changed files with 159 additions and 70 deletions
@@ -31,4 +31,7 @@ public class EmergencySchedulesItem {
@Schema(title = "人员姓名")
private String userName;
@Schema(title = "排序")
private Integer sort;
}
@@ -7,6 +7,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -29,10 +30,16 @@ public class WeekDataVO {
private List<EmergencySchedulesItem> professionalUserList;
public List<EmergencySchedulesItem> getOperationUserList(List<EmergencySchedulesItem> itemList) {
return itemList.stream().filter(item -> "0".equals(item.getUserType())).collect(Collectors.toList());
return itemList.stream()
.filter(item -> "0".equals(item.getUserType()))
.sorted(Comparator.comparing(EmergencySchedulesItem::getSort)) // 根据 sort 字段升序排序
.collect(Collectors.toList());
}
public List<EmergencySchedulesItem> getProfessionalUserList(List<EmergencySchedulesItem> itemList) {
return itemList.stream().filter(item -> "1".equals(item.getUserType())).collect(Collectors.toList());
return itemList.stream()
.filter(item -> "1".equals(item.getUserType()))
.sorted(Comparator.comparing(EmergencySchedulesItem::getSort)) // 根据 sort 字段升序排序
.collect(Collectors.toList());
}
}
@@ -160,7 +160,7 @@ public class EmergencySchedulesNewServiceImpl extends MPJBaseServiceImpl<Emergen
private void processDay(EmergencySchedulesDTO dto, DayOfWeek day, List<EmergencySchedulesItem> itemList) {
WeekDataVO daySchedules = getDaySchedules(dto, day);
if (ObjectUtil.isNotEmpty(daySchedules)) {
if (null != daySchedules) {
EmergencySchedules emergencySchedules = new EmergencySchedules();
emergencySchedules.setSchedulesTime(daySchedules.getTime());
emergencySchedules.setId(StrUtil.isNotEmpty(daySchedules.getSchedulesId()) ? daySchedules.getSchedulesId() : null);
@@ -194,16 +194,19 @@ public class EmergencySchedulesNewServiceImpl extends MPJBaseServiceImpl<Emergen
// userList去重
if (CollUtil.isNotEmpty(userList)) {
Set<String> userIdSet = new HashSet<>();
userList.forEach(item -> {
int sortIndex = 0; // 添加计数器
for (EmergencySchedulesItem item : userList) {
String userId = item.getUserId();
if (!userIdSet.contains(userId)) {
// 如果不包含,则进行设置并添加
item.setSchedulesId(emergencySchedules.getId());
item.setUserType(userType);
item.setSort(sortIndex);
itemList.add(item);
userIdSet.add(userId);
sortIndex++;
}
});
}
}
// 写入数据库
itemService.saveOrUpdateBatch(itemList);