提交 2079bfca authored 作者: zhoushaopan's avatar zhoushaopan

feat(维修模块): 修复返回实体类

修复返回实体类
上级 69a8c1b7
......@@ -7,6 +7,7 @@ import com.tykj.dev.device.repair.subject.vo.ClearTaskVo;
import com.tykj.dev.device.repair.subject.vo.SetDevicesOwnUnit;
import java.util.List;
import java.util.Map;
/**
* @author zjm
......@@ -49,7 +50,7 @@ public interface RepairDetailService extends RepairPublicService<RepairDetail> {
/**
* @param deviceIds 装备id
*/
List<ClearTaskVo> getClearTaskVo(List<Integer> deviceIds);
Map<Integer, ClearTaskVo> getClearTaskVo(List<Integer> deviceIds);
/**
* @param billVos
......
......@@ -31,9 +31,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
......@@ -140,30 +138,77 @@ public class RepairDetailServiceImpl implements RepairDetailService {
}
@Override
public List<ClearTaskVo> getClearTaskVo(List<Integer> deviceIds) {
public Map<Integer, ClearTaskVo> getClearTaskVo(List<Integer> deviceIds) {
List<ClearTaskVo> clearTaskVos = new ArrayList<>();
Map<Integer,ClearTaskVo> map1 = new HashMap<>();
//通过装备id查询出账单id (送修单repairBill)
List<RepairDetail> repairDetails = deviceRepairDetailDao.findAllByDeviceIdIn(deviceIds);
//取出装备id相同的最新时间
Map<Integer,RepairDetail> map =new HashMap<>();
repairDetails.sort(Comparator.comparing(RepairDetail::getCreateTime));
repairDetails.forEach(
repairDetail -> {
if (!map.containsKey(repairDetail.getDeviceId())){
map.put(repairDetail.getDeviceId(),repairDetail);
}
}
);
List<BillVo> billVos = new ArrayList<>();
repairDetails.forEach(repairDetail -> {
map.forEach(
(k,v)->{
BillVo billVo = new BillVo();
billVo.setRepairBillId(repairDetail.getDeviceRepairBillId());
billVo.setDevicesId(repairDetail.getDeviceId());
billVo.setRepairDetailId(repairDetail.getId());
//根据装备id查询装备
DeviceLibrary library = deviceLibraryService.getOne(repairDetail.getDeviceId());
BeanUtils.copyProperties(library,billVo);
billVo.setRepairBillId(v.getDeviceRepairBillId());
billVo.setDevicesId(v.getDeviceId());
billVo.setRepairDetailId(v.getId());
billVos.add(billVo);
//根据装备id查询装备
DeviceLibrary library = deviceLibraryService.getOne(v.getDeviceId());
DeviceLibrary deviceLibrary = library.setConfigName();
BeanUtils.copyProperties(deviceLibrary,billVo);
//通过账单id和businessType查询task对象
//过滤出状态是 StatusEnum.REVOKEALLOTTASK.id
List<Task> taskList = taskService.findByBillIdAndBusinessType(repairDetail.getDeviceRepairBillId(), BusinessEnum.REPAIR.id);
List<Task> taskList = taskService.findByBillIdAndBusinessType(v.getDeviceRepairBillId(), BusinessEnum.REPAIR.id);
List<Task> tasks = taskList.stream().filter(task -> task.getParentTaskId() == null).collect(Collectors.toList());
ClearTaskVo clearTaskVo = new ClearTaskVo();
clearTaskVo.setTaskId(taskList.get(0).getId());
clearTaskVo.setTaskId(tasks.get(0).getId());
clearTaskVo.setBusinessType(BusinessEnum.REPAIR.id);
clearTaskVo.setBillVos(billVos);
clearTaskVos.add(clearTaskVo);
});
return clearTaskVos;
}
);
clearTaskVos.forEach(
clearTaskVo -> {
if (!map1.containsKey(clearTaskVo.getTaskId())){
map1.put(clearTaskVo.getTaskId(),clearTaskVo);
}else {
ClearTaskVo clearTaskVo1 = map1.get(clearTaskVo.getTaskId());
List<BillVo> billVos1 = clearTaskVo1.getBillVos();
billVos1.addAll(clearTaskVo.getBillVos());
clearTaskVo1.setBillVos(billVos1);
map1.put(clearTaskVo.getTaskId(),clearTaskVo1);
}
}
);
// repairDetails.forEach(repairDetail -> {
// BillVo billVo = new BillVo();
// billVo.setRepairBillId(repairDetail.getDeviceRepairBillId());
// billVo.setDevicesId(repairDetail.getDeviceId());
// billVo.setRepairDetailId(repairDetail.getId());
// billVos.add(billVo);
// //根据装备id查询装备
// DeviceLibrary library = deviceLibraryService.getOne(repairDetail.getDeviceId());
// DeviceLibrary deviceLibrary = library.setConfigName();
// BeanUtils.copyProperties(deviceLibrary,billVo);
// //通过账单id和businessType查询task对象
// //过滤出状态是 StatusEnum.REVOKEALLOTTASK.id
// List<Task> taskList = taskService.findByBillIdAndBusinessType(repairDetail.getDeviceRepairBillId(), BusinessEnum.REPAIR.id);
// ClearTaskVo clearTaskVo = new ClearTaskVo();
// clearTaskVo.setTaskId(taskList.get(0).getId());
// clearTaskVo.setBusinessType(BusinessEnum.REPAIR.id);
// clearTaskVo.setBillVos(billVos);
// clearTaskVos.add(clearTaskVo);
// });
return map1;
}
// @Override
......
......@@ -32,9 +32,9 @@ public class BillVo {
private String seqNumber;
@ApiModelProperty(value = "密级")
private String secretLevel;
private String secretLevelName;
@ApiModelProperty(value = "可见范围")
private String invisibleRange;
private String invisibleRangeName;
}
......@@ -16,6 +16,12 @@ public class ClearTaskVo {
@ApiModelProperty(value = "业务类型", example = "1")
private Integer businessType;
@ApiModelProperty(value = "业务id", example = "1")
private Integer repairBillId;
@ApiModelProperty(value = "维修单详情id", example = "1")
private Integer repairDetailId;
@ApiModelProperty(value = "账单id类", example = "1")
private List<BillVo> billVos;
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论