提交 58f504a6 authored 作者: zhoushaopan's avatar zhoushaopan

fix(维修模块): 修改部分bug

区送修装备,市跟省不应该都能看到,bug已修复
上级 9e8002fd
......@@ -74,7 +74,11 @@ public class DeviceModelSort {
*/
public static Integer toModelSort(String model) {
System.out.println(model);
return mapModelSort.get(model);
Integer sort= mapModelSort.get(model);
if(sort == null){
sort = 9999;
}
return sort;
}
/**
......
......@@ -93,22 +93,16 @@ public class RepairBillSelectController {
repairTaskSelectVo.setPage(0);
repairTaskSelectVo.setSize(Integer.MAX_VALUE);
//type=1的记录
long l = System.currentTimeMillis();
Page<RepairDetail> repairDetails = (Page)repairController.getRepairList(repairTaskSelectVo).getBody();
log.info("type1:{}"+(System.currentTimeMillis()-l));
//type=2的记录
long l2 = System.currentTimeMillis();
repairTaskSelectVo.setType(2);
Page<WaitingRepairEquipmentVo> waitingRepaireEquipmentVos = (Page) repairController.getRepairList(repairTaskSelectVo).getBody();
log.info("type2:{}"+(System.currentTimeMillis()-l2));
// Page<RepairDetail> repairDetails2 = (Page)repairController.getRepairList(repairTaskSelectVo).getBody();
//type=3的记录
long l3 = System.currentTimeMillis();
repairTaskSelectVo.setType(3);
// Page<RepairDetail> repairDetails3 = (Page)repairController.getRepairList(repairTaskSelectVo).getBody();
Page<WaitingRepairEquipmentVo> waitingRepaireEquipmentVos2 = (Page) repairController.getRepairList(repairTaskSelectVo).getBody();
log.info("type3:{}"+(System.currentTimeMillis()-l3));
//set数量
repairNum.setNum1(Long.valueOf(repairDetails.getTotalElements()).intValue());
// repairNum.setNum2(Long.valueOf(repairDetails2.getTotalElements()).intValue());
......
......@@ -1640,29 +1640,32 @@ 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));
//发起送修的单位为当前单位 并且所在单位不是自己的
//进行时间上面的优化 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))
// List<String> sendUnits = deviceRepairBillService.findByIds(sendRepairIds).stream().map(RepairBill::getSendUnit).distinct().collect(Collectors.toList());
//key为发起单位
Map<String, List<RepairBill>> listMap = deviceRepairBillService.findByIds(sendRepairIds).stream().collect(Collectors.groupingBy(RepairBill::getSendUnit));
List<RepairBill> repairBills = listMap.get(unitName);
//拿到当前发起单位是自己的 维修id
List<Integer> ids = repairBills.stream().map(RepairBill::getId).collect(Collectors.toList());
List<RepairDetail> repairDetails2 = repairDetails1.stream().filter(repairDetail -> ids.contains(repairDetail.getDeviceRepairBillId()))
.filter(repairDetail -> !repairDetail.getLocationUnit().equals(unitName))
.collect(Collectors.toList());
// List<RepairDetail> repairDetails2 = repairDetails1.stream().filter(
//原来代码
// 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
//需要查出来多个task
// List<Integer> taskIds = repairDetails2.stream().map(RepairDetail::getDeviceRepairBillId).collect(Collectors.toList());
// repairDetails2.forEach(
// repairDetail -> {
......@@ -1680,7 +1683,6 @@ 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());
......
......@@ -23,6 +23,7 @@ import com.tykj.dev.device.user.read.service.MessageService;
import com.tykj.dev.device.user.read.subject.bto.MessageBto;
import com.tykj.dev.device.user.subject.dao.UnitsDao;
import com.tykj.dev.device.user.subject.entity.Units;
import com.tykj.dev.device.user.subject.entity.User;
import com.tykj.dev.device.user.subject.service.UserPublicService;
import com.tykj.dev.device.user.util.UserUtils;
import com.tykj.dev.misc.base.BusinessEnum;
......@@ -30,11 +31,13 @@ import com.tykj.dev.misc.base.StatusEnum;
import com.tykj.dev.misc.exception.ApiException;
import com.tykj.dev.misc.utils.JacksonUtil;
import com.tykj.dev.misc.utils.ResultUtil;
import com.tykj.dev.misc.utils.StringSplitUtil;
import com.tykj.dev.misc.utils.TaskDisposeUtil;
import com.tykj.dev.socket.MyWebSocket;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.domain.Page;
......@@ -46,6 +49,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.*;
import java.util.concurrent.Executor;
import java.util.concurrent.ScheduledFuture;
import java.util.stream.Collectors;
/**
* @author dengdiyi
......@@ -676,21 +680,6 @@ public class SelfCheckController {
return ResponseEntity.ok("ok");
}
// @ApiOperation(value = "查询时间段系统发其自查任务", notes = "可以通过这个接口查询自查任务详情")
// @PostMapping(value = "/findBySystem")
// public List<Task> findBySystem(Date date) {
// //查询当前时间之前的系统自查(当前单位)
// String currentUserUnitName = userUtils.getCurrentUserUnitName();
// List<SelfCheckBill> byDate = selfExaminationBillService.findByDate(date, currentUserUnitName);
//
// List<Task> allByBillAndBusinessTypeAndOwnUnit = new ArrayList<>();
// //通过billId和businessType 和 ownUnit
// for (SelfCheckBill selfCheckBill : byDate) {
// allByBillAndBusinessTypeAndOwnUnit = taskService.findAllByBillAndBusinessTypeAndOwnUnit(selfCheckBill.getId(), 4, userUtils.getCurrentUnitId());
// }
// return allByBillAndBusinessTypeAndOwnUnit;
// }
@ApiOperation(value = "查询时间段系统发其自查任务", notes = "可以通过这个接口查询自查任务详情")
@PostMapping(value = "/findBySystem1")
public void findBySystem1() {
......@@ -705,4 +694,42 @@ public class SelfCheckController {
}
}
@ApiOperation(value = "自查任务撤回", notes = "根据任务id撤回自查任务")
@GetMapping("/revokeTask/taskId")
@Transactional(rollbackFor = Exception.class)
public ResponseEntity revokeTask(Integer taskId) {
TaskBto taskBto = taskService.get(taskId);
SelfCheckBill selfCheckBill = selfCheckBillService.getOne(taskBto.getBillId());
//将任推至撤回状态
taskService.moveToRevoke(taskBto);
selfCheckBillService.delete(selfCheckBill.getId());
// if (selfCheckBill.getCheckDetail() != null) {
// List<Integer> ids = StringSplitUtil.split(selfCheckBill.getCheckDetail());
// //所有的装备
// List<DeviceLibrary> deviceLibraryList;
// //所有的装备日志
// List<DeviceLogDto> deviceLogDtos = new ArrayList<>();
// ids.forEach(id -> {
// DeviceLibrary deviceLibrary = deviceLibraryService.getOne(id);
// //添加装备日志
// DeviceLogDto deviceLogDto = new DeviceLogDto(id, "对" + deviceLibrary.getName() + "自查任务撤回", null, null, null);
// deviceLogDtos.add(deviceLogDto);
// });
//
// //设置装备为在库
// deviceLibraryService.updateLifeStatus2(2,ids);
// deviceLibraryList = deviceLibraryService.findByIds(ids);
// //添加日志
// deviceLogService.addAllLog(deviceLogDtos);
//
// allotBill.setDeviceLibraries(deviceLibraryList);
// allotBillService.delete(allotBill.getId());
//
// }
return ResponseEntity.ok("自查任务撤回成功");
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论