提交 9dcf9feb authored 作者: zhoushaopan's avatar zhoushaopan

fix(维修模块): 新增billvo中一个业务状态的字段

新增billvo中一个业务状态的字段
上级 df0a9be9
...@@ -2923,6 +2923,12 @@ public class RepairController { ...@@ -2923,6 +2923,12 @@ public class RepairController {
return ResponseEntity.ok("撤回成功"); return ResponseEntity.ok("撤回成功");
} }
@ApiOperation(value = "查询装备是否可以被清退")
@PostMapping("/getClearTaskVo")
public Map<Integer, ClearTaskVo> getClearTaskVo(@RequestBody List<Integer> deviceIds){
return repairDetailService.getClearTaskVo(deviceIds);
}
private List<RepairDetail> sortMethod(List<CustomOrder> orders, List<RepairDetail> repairDetails2, List<RepairDetail> repairDetails1){ private List<RepairDetail> sortMethod(List<CustomOrder> orders, List<RepairDetail> repairDetails2, List<RepairDetail> repairDetails1){
List<String> list = orders.stream().map(CustomOrder::getDirection).collect(Collectors.toList()); List<String> list = orders.stream().map(CustomOrder::getDirection).collect(Collectors.toList());
List<RepairDetail> finalList = new ArrayList<>(); List<RepairDetail> finalList = new ArrayList<>();
......
...@@ -140,34 +140,89 @@ public class RepairDetailServiceImpl implements RepairDetailService { ...@@ -140,34 +140,89 @@ public class RepairDetailServiceImpl implements RepairDetailService {
}); });
} }
@Override
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<>();
map.forEach(
(k,v)->{
BillVo billVo = new BillVo();
billVo.setRepairBillId(v.getDeviceRepairBillId());
billVo.setDevicesId(v.getDeviceId());
billVo.setRepairDetailId(v.getId());
//根据装备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(v.getDeviceRepairBillId(), BusinessEnum.REPAIR.id);
List<Task> tasks = taskList.stream().filter(task -> task.getParentTaskId() == null).collect(Collectors.toList());
ClearTaskVo clearTaskVo = new ClearTaskVo();
clearTaskVo.setTaskId(tasks.get(0).getId());
billVo.setBillStatus(tasks.get(0).getBillStatus());
billVos.add(billVo);
clearTaskVo.setBillVos(billVos);
clearTaskVos.add(clearTaskVo);
}
);
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);
}
}
);
return map1;
}
// @Override // @Override
// public Map<Integer, ClearTaskVo> getClearTaskVo(List<Integer> deviceIds) { // public Map<Integer, ClearTaskVo> getClearTaskVo(List<Integer> deviceIds) {
// List<ClearTaskVo> clearTaskVos = new ArrayList<>(); // List<ClearTaskVo> clearTaskVos = new ArrayList<>();
// Map<Integer,ClearTaskVo> map1 = new HashMap<>(); // Map<Integer,ClearTaskVo> map1 = new HashMap<>();
// //通过装备id查询出账单id (送修单repairBill) // //通过装备id查询出账单id (送修单repairBill)
// List<RepairDetail> repairDetails = deviceRepairDetailDao.findAllByDeviceIdIn(deviceIds); // ClearRepairVo clearRepairVo = underRepair(deviceIds);
// List<RepairDetail> endRepairList = clearRepairVo.getEndRepairList();
// if (endRepairList.size()>0){
// //取出装备id相同的最新时间 // //取出装备id相同的最新时间
// Map<Integer,RepairDetail> map =new HashMap<>(); // Map<Integer, RepairDetail> map = new HashMap<>();
// repairDetails.sort(Comparator.comparing(RepairDetail::getCreateTime)); // endRepairList.forEach(
// repairDetails.forEach(
// repairDetail -> { // repairDetail -> {
// if (!map.containsKey(repairDetail.getDeviceId())){ // if (!map.containsKey(repairDetail.getDeviceId())) {
// map.put(repairDetail.getDeviceId(),repairDetail); // map.put(repairDetail.getDeviceId(), repairDetail);
// } // }
// } // }
// ); // );
// List<BillVo> billVos = new ArrayList<>(); // List<BillVo> billVos = new ArrayList<>();
// map.forEach( // map.forEach(
// (k,v)->{ // (k, v) -> {
// BillVo billVo = new BillVo(); // BillVo billVo = new BillVo();
// billVo.setRepairBillId(v.getDeviceRepairBillId()); // billVo.setRepairBillId(v.getDeviceRepairBillId());
// billVo.setDevicesId(v.getDeviceId()); // billVo.setDevicesId(v.getDeviceId());
// billVo.setRepairDetailId(v.getId()); // billVo.setRepairDetailId(v.getId());
// billVos.add(billVo);
// //根据装备id查询装备 // //根据装备id查询装备
// DeviceLibrary library = deviceLibraryService.getOne(v.getDeviceId()); // DeviceLibrary library = deviceLibraryService.getOne(v.getDeviceId());
// DeviceLibrary deviceLibrary = library.setConfigName(); // DeviceLibrary deviceLibrary = library.setConfigName();
// BeanUtils.copyProperties(deviceLibrary,billVo); // BeanUtils.copyProperties(deviceLibrary, billVo);
// //通过账单id和businessType查询task对象 // //通过账单id和businessType查询task对象
// //过滤出状态是 StatusEnum.REVOKEALLOTTASK.id // //过滤出状态是 StatusEnum.REVOKEALLOTTASK.id
// List<Task> taskList = taskService.findByBillIdAndBusinessType(v.getDeviceRepairBillId(), BusinessEnum.REPAIR.id); // List<Task> taskList = taskService.findByBillIdAndBusinessType(v.getDeviceRepairBillId(), BusinessEnum.REPAIR.id);
...@@ -175,81 +230,30 @@ public class RepairDetailServiceImpl implements RepairDetailService { ...@@ -175,81 +230,30 @@ public class RepairDetailServiceImpl implements RepairDetailService {
// ClearTaskVo clearTaskVo = new ClearTaskVo(); // ClearTaskVo clearTaskVo = new ClearTaskVo();
// clearTaskVo.setTaskId(tasks.get(0).getId()); // clearTaskVo.setTaskId(tasks.get(0).getId());
// clearTaskVo.setBusinessType(BusinessEnum.REPAIR.id); // clearTaskVo.setBusinessType(BusinessEnum.REPAIR.id);
// billVo.setBillStatus(tasks.get(0).getBillStatus());
// billVos.add(billVo);
// clearTaskVo.setBillVos(billVos); // clearTaskVo.setBillVos(billVos);
// clearTaskVos.add(clearTaskVo); // clearTaskVos.add(clearTaskVo);
// } // }
// ); // );
// clearTaskVos.forEach( // clearTaskVos.forEach(
// clearTaskVo -> { // clearTaskVo -> {
// if (!map1.containsKey(clearTaskVo.getTaskId())){ // if (!map1.containsKey(clearTaskVo.getTaskId())) {
// map1.put(clearTaskVo.getTaskId(),clearTaskVo); // map1.put(clearTaskVo.getTaskId(), clearTaskVo);
// }else { // } else {
// ClearTaskVo clearTaskVo1 = map1.get(clearTaskVo.getTaskId()); // ClearTaskVo clearTaskVo1 = map1.get(clearTaskVo.getTaskId());
// List<BillVo> billVos1 = clearTaskVo1.getBillVos(); // List<BillVo> billVos1 = clearTaskVo1.getBillVos();
// billVos1.addAll(clearTaskVo.getBillVos()); // billVos1.addAll(clearTaskVo.getBillVos());
// clearTaskVo1.setBillVos(billVos1); // clearTaskVo1.setBillVos(billVos1);
// map1.put(clearTaskVo.getTaskId(),clearTaskVo1); // map1.put(clearTaskVo.getTaskId(), clearTaskVo1);
// } // }
// } // }
// ); // );
// return map1; // return map1;
// }else {
// return null;
// }
// } // }
@Override
public Map<Integer, ClearTaskVo> getClearTaskVo(List<Integer> deviceIds) {
List<ClearTaskVo> clearTaskVos = new ArrayList<>();
Map<Integer,ClearTaskVo> map1 = new HashMap<>();
//通过装备id查询出账单id (送修单repairBill)
ClearRepairVo clearRepairVo = underRepair(deviceIds);
List<RepairDetail> endRepairList = clearRepairVo.getEndRepairList();
//取出装备id相同的最新时间
Map<Integer, RepairDetail> map = new HashMap<>();
endRepairList.forEach(
repairDetail -> {
if (!map.containsKey(repairDetail.getDeviceId())) {
map.put(repairDetail.getDeviceId(), repairDetail);
}
}
);
List<BillVo> billVos = new ArrayList<>();
map.forEach(
(k, v) -> {
BillVo billVo = new 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(v.getDeviceRepairBillId(), BusinessEnum.REPAIR.id);
List<Task> tasks = taskList.stream().filter(task -> task.getParentTaskId() == null).collect(Collectors.toList());
ClearTaskVo clearTaskVo = new ClearTaskVo();
clearTaskVo.setTaskId(tasks.get(0).getId());
clearTaskVo.setBusinessType(BusinessEnum.REPAIR.id);
clearTaskVo.setBillVos(billVos);
clearTaskVos.add(clearTaskVo);
}
);
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);
}
}
);
return map1;
}
@Override @Override
public void setDevicesOwnUnit(List<BillVo> billVos) { public void setDevicesOwnUnit(List<BillVo> billVos) {
......
...@@ -37,4 +37,6 @@ public class BillVo { ...@@ -37,4 +37,6 @@ public class BillVo {
@ApiModelProperty(value = "可见范围") @ApiModelProperty(value = "可见范围")
private String invisibleRangeName; private String invisibleRangeName;
@ApiModelProperty(value = "业务状态")
private Integer billStatus;
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论