提交 157fbe98 authored 作者: zhoushaopan's avatar zhoushaopan

feat(维修管理): 新增了查询多个id的接口

新增了查询多个任务id的接口
上级 6cfee6e4
......@@ -1640,15 +1640,38 @@ public class RepairController {
integerList.add(9);
integerList.add(4);
//过滤掉状态4,5,9
long l = System.currentTimeMillis();
List<RepairDetail> repairDetails1 = repairDetailDao.findAllByRepairStatusNotIn(integerList, repairTaskSelectVo.getPageable().getSort());
repairDetails1.forEach(repairDetail -> {
repairDetail.setConfigName();
});
System.out.println("repairDetails1--"+(System.currentTimeMillis()-l));
//发起送修的单位为当前单位 并且所在单位不是自己的
List<RepairDetail> repairDetails2 = repairDetails1.stream().filter(repairDetail -> deviceRepairBillService.getOne(repairDetail.getDeviceRepairBillId()).getSendUnit().equals(unitName))
//进行时间上面的优化 todo
List<Integer> sendRepairIds = repairDetails1.stream().map(RepairDetail::getDeviceRepairBillId).collect(Collectors.toList());
//通过id去查询
List<String> sendUnits = deviceRepairBillService.findByIds(sendRepairIds).stream().map(RepairBill::getSendUnit).collect(Collectors.toList());
List<RepairDetail> repairDetails2 = repairDetails1.stream().filter(repairDetail -> sendUnits.contains(unitName))
.filter(repairDetail -> !repairDetail.getLocationUnit().equals(unitName))
.collect(Collectors.toList());
// List<RepairDetail> repairDetails2 = repairDetails1.stream().filter(
// repairDetail -> deviceRepairBillService.getOne(repairDetail.getDeviceRepairBillId())
// .getSendUnit().equals(unitName))
// .filter(repairDetail -> !repairDetail.getLocationUnit().equals(unitName))
// .collect(Collectors.toList());
List<WaitingRepairEquipmentVo> waitingRepairEquipments = new ArrayList<>();
long l2 = System.currentTimeMillis();
//进行优化
//需要查出来多个task todo
// List<Integer> taskIds = repairDetails2.stream().map(RepairDetail::getDeviceRepairBillId).collect(Collectors.toList());
// repairDetails2.forEach(
// repairDetail -> {
// WaitingRepairEquipmentVo waitingRepairEquipment = new WaitingRepairEquipmentVo();
// BeanUtils.copyProperties(repairDetail, waitingRepairEquipment);
//
// waitingRepairEquipments.add(waitingRepairEquipment);
// }
// );
for (RepairDetail repairDetail : repairDetails2) {
TaskBto taskBto = taskService.getParentTaskIsNull(repairDetail.getDeviceRepairBillId(), 5);
TaskUserVo taskUserVo = taskBto.toVo();
......@@ -1657,6 +1680,8 @@ public class RepairController {
waitingRepairEquipment.setTaskUserVos(taskUserVo);
waitingRepairEquipments.add(waitingRepairEquipment);
}
System.out.println("taskBto--"+(System.currentTimeMillis()-l2));
//按照时间排序
List<WaitingRepairEquipmentVo> waitingRepairEquipmentVoList = waitingRepairEquipments.stream().sorted(Comparator.comparing(WaitingRepairEquipmentVo::getUpdateTime)).collect(Collectors.toList());
return ResponseEntity.ok(PageUtil.getPerPage(repairTaskSelectVo.getPage(), repairTaskSelectVo.getSize(), waitingRepairEquipmentVoList, repairTaskSelectVo.getPageable()));
......
......@@ -4,9 +4,15 @@ import com.tykj.dev.device.repair.subject.domin.RepairBill;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import java.util.List;
/**
* @author dengdiyi
*/
public interface RepairBillDao extends JpaRepository<RepairBill, Integer>, JpaSpecificationExecutor<RepairBill> {
/**
* 通过ids查询集合
*/
List<RepairBill> findAllByIdIn(List<Integer> ids);
}
......@@ -26,4 +26,9 @@ public interface RepairBillService {
RepairBill update(RepairBill deviceRepairBillEntity);
void delete(Integer id);
/**
* 通过id集合进行查询
*/
List<RepairBill> findByIds(List<Integer> ids);
}
......@@ -94,6 +94,12 @@ public class RepairBillServiceImpl implements RepairBillService {
deviceRepairBillDao.deleteById(id);
}
@Override
public List<RepairBill> findByIds(List<Integer> ids) {
return deviceRepairBillDao.findAllByIdIn(ids);
}
private Specification<RepairBill> getSelectSpecification(RepairBillSelectVo deviceRepairBillSelectVo) {
PredicateBuilder<RepairBill> predicateBuilder = Specifications.and();
PredicateBuilder<RepairBill> predicateBuilder1 = Specifications.or();
......
package com.tykj.dev.device.task.repository;
import com.tykj.dev.device.task.subject.bto.TaskBto;
import com.tykj.dev.device.task.subject.domin.Task;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
......@@ -89,4 +90,5 @@ public interface TaskDao extends JpaRepository<Task, Integer>, JpaSpecificationE
//zsp
List<Task> findAllByBusinessTypeAndOwnUnitAndCustomInfo(Integer businessType, Integer ownUnit,String customInfo);
List<Task> findAllByIdIn(List<Integer> ids);
}
......@@ -237,4 +237,9 @@ public interface TaskService {
List<TaskBto> findAllByBillIdAndBusinessType2(Integer billId,Integer businessType);
List<Task> findAllByBillAndBusinessTypeAndOwnUnit(Integer businessType,Integer ownUnit);
/**
* 查询多个任务
*/
TaskBto findByTaskIds(List<Integer> ids);
}
......@@ -1152,6 +1152,18 @@ public class TaskServiceImpl implements TaskService {
.stream().filter(task -> task.getTitle().contains("系统发起") && !list.contains(task.getBillStatus())).collect(Collectors.toList());
}
@Override
public TaskBto findByTaskIds(List<Integer> ids) {
List<Task> tasks = taskDao.findAllByIdIn(ids).stream().filter(task -> task.getBusinessType() == 5).collect(Collectors.toList());
tasks = tasks.stream().filter(task -> task.getParentTaskId() == null).collect(Collectors.toList());
if (tasks.size()==0){
return new TaskBto();
// throw new ApiException(String.format("要查询的数据不存在,查询的billId为 %d,businessType为 %d", billId, businessType));
}else {
return tasks.get(0).parse2Bto();
}
}
@Override
public void moveAllSonNodeToEnd(Integer taaskId) {
List<Task> tasks = taskDao.findAllByParentTaskId(taaskId);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论