|
@@ -138,6 +138,9 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
|
|
|
@Resource
|
|
@Resource
|
|
|
private ClientUnitApi clientUnitApi;
|
|
private ClientUnitApi clientUnitApi;
|
|
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private PipeAppointmentConfirmOrderUserMapper pipeAppointmentConfirmOrderUserMapper;
|
|
|
|
|
+
|
|
|
@Resource
|
|
@Resource
|
|
|
private DeptApi deptApi;
|
|
private DeptApi deptApi;
|
|
|
|
|
|
|
@@ -380,13 +383,14 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
|
|
|
leader.setType(100);
|
|
leader.setType(100);
|
|
|
leader.setGroupTeamId(team.getGroupTeamId());
|
|
leader.setGroupTeamId(team.getGroupTeamId());
|
|
|
leader.setUserId(team.getLeaderId());
|
|
leader.setUserId(team.getLeaderId());
|
|
|
-
|
|
|
|
|
|
|
+ leader.setDate(taskVO.getDate());
|
|
|
List<EquipPipeSchedulingUserDO> memberList = team.getMemberIdList().stream().map(memberId -> {
|
|
List<EquipPipeSchedulingUserDO> memberList = team.getMemberIdList().stream().map(memberId -> {
|
|
|
EquipPipeSchedulingUserDO member = new EquipPipeSchedulingUserDO();
|
|
EquipPipeSchedulingUserDO member = new EquipPipeSchedulingUserDO();
|
|
|
member.setSchedulingId(item.getId());
|
|
member.setSchedulingId(item.getId());
|
|
|
member.setType(200);
|
|
member.setType(200);
|
|
|
member.setUserId(memberId);
|
|
member.setUserId(memberId);
|
|
|
member.setGroupTeamId(team.getGroupTeamId());
|
|
member.setGroupTeamId(team.getGroupTeamId());
|
|
|
|
|
+ member.setDate(taskVO.getDate());
|
|
|
return member;
|
|
return member;
|
|
|
}).toList();
|
|
}).toList();
|
|
|
|
|
|
|
@@ -1191,18 +1195,23 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
|
|
|
Set<String> set = equipPipeSchedulingUserDOS.stream().map(item -> item.getGroupTeamId()).collect(Collectors.toSet());
|
|
Set<String> set = equipPipeSchedulingUserDOS.stream().map(item -> item.getGroupTeamId()).collect(Collectors.toSet());
|
|
|
set.stream().sorted();
|
|
set.stream().sorted();
|
|
|
|
|
|
|
|
- List<BoilerTaskDetailsItemVO> userList = set.stream().map(groupTeamId ->
|
|
|
|
|
|
|
+ List<PipeShiftScheduleTeamRespVO> userList = set.stream().map(groupTeamId ->
|
|
|
{
|
|
{
|
|
|
- BoilerTaskDetailsItemVO taskDetailsItemVO = new BoilerTaskDetailsItemVO();
|
|
|
|
|
- List<AdminUserRespDTO> leaderList = new ArrayList<>();
|
|
|
|
|
- List<AdminUserRespDTO> membetList = new ArrayList<>();
|
|
|
|
|
|
|
+ PipeShiftScheduleTeamRespVO taskDetailsItemVO = new PipeShiftScheduleTeamRespVO();
|
|
|
|
|
+ List<PipeShiftScheduleUserRespVO> leaderList = new ArrayList<>();
|
|
|
|
|
+ List<PipeShiftScheduleUserRespVO> membetList = new ArrayList<>();
|
|
|
|
|
|
|
|
equipPipeSchedulingUserDOS.forEach(item2->{
|
|
equipPipeSchedulingUserDOS.forEach(item2->{
|
|
|
if(groupTeamId != null && groupTeamId.equals(item2.getGroupTeamId())){
|
|
if(groupTeamId != null && groupTeamId.equals(item2.getGroupTeamId())){
|
|
|
|
|
+ PipeShiftScheduleUserRespVO userRespVO = new PipeShiftScheduleUserRespVO();
|
|
|
|
|
+ AdminUserRespDTO userRespDTO = userMap.get(item2.getUserId());
|
|
|
|
|
+ userRespVO.setDate(item2.getDate());
|
|
|
|
|
+ userRespVO.setEquipPipeScheduleUserId(item2.getId());
|
|
|
|
|
+ userRespVO.setAdminUserRespDTO(userRespDTO);
|
|
|
if(item2.getType() == 100){
|
|
if(item2.getType() == 100){
|
|
|
- leaderList.add(userMap.get(item2.getUserId()));
|
|
|
|
|
|
|
+ leaderList.add(userRespVO);
|
|
|
} else if (item2.getType() == 200) {
|
|
} else if (item2.getType() == 200) {
|
|
|
- membetList.add(userMap.get(item2.getUserId()));
|
|
|
|
|
|
|
+ membetList.add(userRespVO);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
@@ -1242,75 +1251,70 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public void setShiftSchedule(List<PipeShiftScheduleRespVO> pipeShiftScheduleRespVOS) {
|
|
|
|
|
- for (PipeShiftScheduleRespVO pipeShiftScheduleRespVO : pipeShiftScheduleRespVOS) {
|
|
|
|
|
|
|
+ public void setShiftSchedule(List<PipeShiftScheduleSaveRespVO> pipeShiftScheduleRespVOS) {
|
|
|
|
|
+ //检查员
|
|
|
|
|
+ List<EquipPipeSchedulingUserDO> schedulingMemberList = new ArrayList<>();
|
|
|
|
|
+ List<PipeAppointmentConfirmOrderUserDO> appointmentConfirmOrderUserDOS = new ArrayList<>();
|
|
|
|
|
+ for (PipeShiftScheduleSaveRespVO pipeShiftScheduleRespVO : pipeShiftScheduleRespVOS) {
|
|
|
String id = pipeShiftScheduleRespVO.getId();
|
|
String id = pipeShiftScheduleRespVO.getId();
|
|
|
- EquipPipeSchedulingDO equipPipeSchedulingDO = equipPipeSchedulingMapper.selectById(id);
|
|
|
|
|
- equipPipeSchedulingDO.setPlanDate(pipeShiftScheduleRespVO.getDate());
|
|
|
|
|
- equipPipeSchedulingMapper.updateById(equipPipeSchedulingDO);
|
|
|
|
|
- List<EquipPipeSchedulingUserDO> equipPipeSchedulingUserDOS = equipPipeSchedulingUserMapper.selectList(EquipPipeSchedulingUserDO::getSchedulingId, id);
|
|
|
|
|
- List<String> checkers = new ArrayList<>(pipeShiftScheduleRespVO.getCheckers());
|
|
|
|
|
-
|
|
|
|
|
- // 需要删除
|
|
|
|
|
- List<String> deleteIds = equipPipeSchedulingUserDOS.stream().filter(item -> {
|
|
|
|
|
- // 已经存在
|
|
|
|
|
- if (checkers.contains(item.getUserId())) {
|
|
|
|
|
- checkers.remove(item.getUserId());
|
|
|
|
|
- return false;
|
|
|
|
|
- } else {
|
|
|
|
|
- return true;
|
|
|
|
|
- }
|
|
|
|
|
- }).map(EquipPipeSchedulingUserDO::getId).toList();
|
|
|
|
|
- if (!deleteIds.isEmpty()) {
|
|
|
|
|
- equipPipeSchedulingUserMapper.deleteByIds(deleteIds);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- // 需要新增的
|
|
|
|
|
- List<EquipPipeSchedulingUserDO> list = checkers.stream().map(userId -> EquipPipeSchedulingUserDO.builder()
|
|
|
|
|
- .schedulingId(id)
|
|
|
|
|
- .userId(userId)
|
|
|
|
|
- .build()).toList();
|
|
|
|
|
- if (!list.isEmpty()) {
|
|
|
|
|
- equipPipeSchedulingUserMapper.insertBatch(list);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- // 修改约检确认单
|
|
|
|
|
- if (pipeShiftScheduleRespVO.getStatus() == 200) {
|
|
|
|
|
- AppointmentConfirmOrderDO appointmentConfirmOrderDO = appointmentConfirmOrderMapper.selectOne(AppointmentConfirmOrderDO::getSchedulingId, id);
|
|
|
|
|
- if (appointmentConfirmOrderDO != null) {
|
|
|
|
|
- appointmentConfirmOrderDO.setAppointmentDate(pipeShiftScheduleRespVO.getDate());
|
|
|
|
|
- appointmentConfirmOrderMapper.updateById(appointmentConfirmOrderDO);
|
|
|
|
|
|
|
+ pipeShiftScheduleRespVO.getTeamList().forEach(team -> {
|
|
|
|
|
+ EquipPipeSchedulingUserDO leader = new EquipPipeSchedulingUserDO();
|
|
|
|
|
+ leader.setSchedulingId(id);
|
|
|
|
|
+ leader.setType(100);
|
|
|
|
|
+ leader.setGroupTeamId(team.getGroupTeamId());
|
|
|
|
|
+ leader.setUserId(team.getLeaderId());
|
|
|
|
|
+ leader.setDate(pipeShiftScheduleRespVO.getDate());
|
|
|
|
|
|
|
|
- List<PipeAppointmentConfirmOrderUserDO> pipeAppointmentConfirmOrderUserDOS = appointmentConfirmOrderUserMapper.selectList(PipeAppointmentConfirmOrderUserDO::getOrderId, appointmentConfirmOrderDO.getId());
|
|
|
|
|
- List<String> confirmCheckers = new ArrayList<>(pipeShiftScheduleRespVO.getCheckers());
|
|
|
|
|
|
|
+ List<EquipPipeSchedulingUserDO> memberList = team.getMemberIdList().stream().map(memberId -> {
|
|
|
|
|
+ EquipPipeSchedulingUserDO member = new EquipPipeSchedulingUserDO();
|
|
|
|
|
+ member.setSchedulingId(id);
|
|
|
|
|
+ member.setType(200);
|
|
|
|
|
+ member.setUserId(memberId);
|
|
|
|
|
+ member.setGroupTeamId(team.getGroupTeamId());
|
|
|
|
|
+ member.setDate(pipeShiftScheduleRespVO.getDate());
|
|
|
|
|
+ return member;
|
|
|
|
|
+ }).toList();
|
|
|
|
|
|
|
|
- // 删除不在检验员列表中的用户
|
|
|
|
|
- List<String> confirmDeleteIds = pipeAppointmentConfirmOrderUserDOS.stream()
|
|
|
|
|
- .filter(item -> !confirmCheckers.contains(item.getUserId()))
|
|
|
|
|
- .map(PipeAppointmentConfirmOrderUserDO::getId)
|
|
|
|
|
- .toList();
|
|
|
|
|
- if (!confirmDeleteIds.isEmpty()) {
|
|
|
|
|
- appointmentConfirmOrderUserMapper.deleteByIds(confirmDeleteIds);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(team.getLeaderId())) {
|
|
|
|
|
+ schedulingMemberList.add(leader);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- // 新增检验员列表中不存在的用户
|
|
|
|
|
- List<String> existingUserIds = pipeAppointmentConfirmOrderUserDOS.stream()
|
|
|
|
|
- .map(PipeAppointmentConfirmOrderUserDO::getUserId)
|
|
|
|
|
- .toList();
|
|
|
|
|
- List<PipeAppointmentConfirmOrderUserDO> insertList = confirmCheckers.stream()
|
|
|
|
|
- .filter(userId -> !existingUserIds.contains(userId))
|
|
|
|
|
- .map(userId -> PipeAppointmentConfirmOrderUserDO.builder()
|
|
|
|
|
- .orderId(appointmentConfirmOrderDO.getId())
|
|
|
|
|
- .userId(userId)
|
|
|
|
|
- .build())
|
|
|
|
|
- .toList();
|
|
|
|
|
- if (!insertList.isEmpty()) {
|
|
|
|
|
- appointmentConfirmOrderUserMapper.insertBatch(insertList);
|
|
|
|
|
|
|
+ schedulingMemberList.addAll(memberList);
|
|
|
|
|
+ });
|
|
|
|
|
+ List<AppointmentConfirmOrderDO> appointmentConfirmOrderDOS = appointmentConfirmOrderMapper.selectList(AppointmentConfirmOrderDO::getSchedulingId, id);
|
|
|
|
|
+ if (appointmentConfirmOrderDOS != null && !appointmentConfirmOrderDOS.isEmpty()) {
|
|
|
|
|
+ AppointmentConfirmOrderDO appointmentConfirmOrderDO = appointmentConfirmOrderDOS.get(0);
|
|
|
|
|
+ List<PipeAppointmentConfirmOrderUserDO> pipeAppointmentConfirmOrderUserDOS = pipeAppointmentConfirmOrderUserMapper.selectList(PipeAppointmentConfirmOrderUserDO::getOrderId, id);
|
|
|
|
|
+ Set<String> ids = pipeAppointmentConfirmOrderUserDOS.stream().map(PipeAppointmentConfirmOrderUserDO::getUserId).collect(Collectors.toSet());
|
|
|
|
|
+ pipeShiftScheduleRespVO.getTeamList().forEach(team -> {
|
|
|
|
|
+ PipeAppointmentConfirmOrderUserDO leader = new PipeAppointmentConfirmOrderUserDO();
|
|
|
|
|
+ leader.setOrderId(appointmentConfirmOrderDO.getId());
|
|
|
|
|
+ leader.setType(100);
|
|
|
|
|
+ leader.setGroupTeamId(team.getGroupTeamId());
|
|
|
|
|
+ leader.setUserId(team.getLeaderId());
|
|
|
|
|
+
|
|
|
|
|
+ List<PipeAppointmentConfirmOrderUserDO> memberList = team.getMemberIdList().stream().map(memberId -> {
|
|
|
|
|
+ PipeAppointmentConfirmOrderUserDO member = new PipeAppointmentConfirmOrderUserDO();
|
|
|
|
|
+ member.setOrderId(appointmentConfirmOrderDO.getId());
|
|
|
|
|
+ member.setType(200);
|
|
|
|
|
+ member.setUserId(memberId);
|
|
|
|
|
+ member.setGroupTeamId(team.getGroupTeamId());
|
|
|
|
|
+ return member;
|
|
|
|
|
+ }).toList();
|
|
|
|
|
+ // 去重
|
|
|
|
|
+ if (StringUtils.isNotBlank(team.getLeaderId()) && !ids.contains(team.getLeaderId())) {
|
|
|
|
|
+ appointmentConfirmOrderUserDOS.add(leader);
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
|
|
+ memberList.stream().filter(member -> !ids.contains(member.getUserId())).forEach(appointmentConfirmOrderUserDOS::add);
|
|
|
|
|
+// appointmentConfirmOrderUserDOS.addAll(memberList);
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!schedulingMemberList.isEmpty()) {
|
|
|
|
|
+ equipPipeSchedulingUserMapper.insert(schedulingMemberList);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!appointmentConfirmOrderUserDOS.isEmpty()) {
|
|
|
|
|
+ pipeAppointmentConfirmOrderUserMapper.insert(appointmentConfirmOrderUserDOS);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|