提交 84b75637 authored 作者: 邓砥奕's avatar 邓砥奕

修改维修bug

上级 b2aefb9e
......@@ -109,4 +109,5 @@ public interface DeviceLibraryService {
* 查询拥有装备的所有单位
*/
List<String> getAllUnit();
}
......@@ -389,6 +389,7 @@ public class DeviceLibraryServiceImpl implements DeviceLibraryService {
private PredicateBuilder<DeviceLibrary> getPredicateBuilder(DeviceLibrarySelectVo deviceLibrarySelectVo){
PredicateBuilder<DeviceLibrary> predicateBuilder = Specifications.and();
if (deviceLibrarySelectVo!=null) {
List<Integer> lifeStatus = deviceLibrarySelectVo.getLifeStatus();
if (deviceLibrarySelectVo.getModel()!=null){
predicateBuilder.eq("model",deviceLibrarySelectVo.getModel());
}
......@@ -408,7 +409,7 @@ public class DeviceLibraryServiceImpl implements DeviceLibraryService {
predicateBuilder.eq("manageStatus",deviceLibrarySelectVo.getManageStatus());
}
if (deviceLibrarySelectVo.getLifeStatus()!=null){
predicateBuilder.in("lifeStatus",deviceLibrarySelectVo.getLifeStatus().toArray(new Integer[]{}));
predicateBuilder.in("lifeStatus",lifeStatus.toArray(new Integer[]{}));
}
if (deviceLibrarySelectVo.getType()!=null){
predicateBuilder.eq("type",deviceLibrarySelectVo.getType());
......
package com.tykj.dev.misc.base;
import lombok.AllArgsConstructor;
/**
* @author dengdiyi
* 装备生命状态枚举
*/
@AllArgsConstructor
public enum DeviceLifeStatus {
/**
* 入库待审核
*/
STORAGE_WAIT_CONFIRM(0,"入库待审核"),
/**
* 入库审核失败
*/
STORAGE_CONFIRM_FAILED(1,"入库审核失败"),
/**
* 在库
*/
IN_LIBRARY(2,"在库"),
/**
* 运输中
*/
IN_TRANSIT(3,"运输中"),
/**
* 维修中
*/
REPAIRING(4,"维修中"),
/**
* 报废在省库
*/
SCRAP_I(5,"报废在省库"),
/**
* 清退
*/
SEND_BACK(6,"清退")
;
public Integer id;
public String name;
}
......@@ -4,9 +4,21 @@ import lombok.AllArgsConstructor;
/**
* @author dengdiyi
* 装备管理状态
* 装备管理状态枚举
*/
@AllArgsConstructor
public enum DeviceManageStatus {
/**
* 不在所属单位
*/
PACKING(0,"不在所属单位"),
/**
* 在所属单位
*/
STORAGE(1,"在所属单位");
public Integer id;
public String name;
}
......@@ -46,6 +46,7 @@ public class GlobalExceptionHandler {
@ExceptionHandler(ApiException.class)
public ResponseEntity errorMessage(ApiException e) {
log.warn("[自定义异常] {}", e.toString());
log.error("错误详情:{}",e.getMessage());
if (e.getResponseEntity() != null) {
return ResponseEntity.status(400).body(e.getResponseEntity().getBody());
}
......
......@@ -223,9 +223,10 @@ public class RepairController {
//添加维修详情
repairDetailEntities.addAll(repairDetails);
});
//改变维修详情装备所在单位为中办
//改变维修详情装备所在单位为中办,状态为维修中
repairDetailEntities.forEach(repairDetail -> {
repairDetail.setLocationUnit("中办");
repairDetail.setRepairStatus(1);
deviceRepairDetailService.update(repairDetail);
});
}
......@@ -535,9 +536,11 @@ public class RepairController {
.collect(Collectors.toSet());
//存放所有维修完成的状态
Set<Integer> integerSet = new HashSet<>();
integerSet.add(2);
integerSet.add(3);
integerSet.add(4);
integerSet.add(5);
integerSet.add(6);
//取交集
integerSet.retainAll(statusSet);
//如果取交集后size不变,则说明全部都是维修完成的状态
......@@ -621,8 +624,21 @@ public class RepairController {
//获取当前任务
TaskBto taskBto = taskService.get(repairReceiveVo.getTaskId());
Integer userId = userUtils.getCurrentUserId();
Integer level = userUtils.getCurrentUnitLevel();
//获取退回单和装备id
RepairBackBill repairBackBill = deviceRepairBackBillService.getOne(taskBto.getBillId());
RepairBackBill repairBackBill;
if (level==2||level==3) {
repairBackBill = deviceRepairBackBillService.getOne(taskBto.getBillId());
}
else{
//获取父任务送修单
TaskBto taskBto1 = taskService.get(taskBto.getParentTaskId());
RepairSendBill repairSendBill =deviceRepairSendBillDao.findByDeviceRepairBillId(taskBto1.getBillId());
repairBackBill = new RepairBackBill();
repairBackBill.setSendUnit("中办");
repairBackBill.setBackCheckDetail(repairSendBill.getRepairDeviceCheckDetail());
repairBackBill.setDeviceRepairBillId(taskBto.getBillId());
}
String deviceIdDetail = repairReceiveVo.getReceiveCheckDetail();
if (repairBackBill.getReceiveUseraId() == null) {
repairBackBill.setReceiveUseraId(userId);
......@@ -630,12 +646,9 @@ public class RepairController {
}
//任务推至下一阶段
taskService.update(taskService.moveToNext(taskBto,repairReceiveVo.getReceiveUserbId()));
//添加业务日志
List<FileVo> fileVoList = new ArrayList<>();
fileVoList.add(new FileVo("维修单",repairBackBill.getBillFileName(),repairBackBill.getBillFileUrl()));
fileVoList.add(new FileVo("入库确认单",repairBackBill.getReceiveFileName(),repairBackBill.getReceiveFileUrl()));
TaskLogBto taskLogBto = new TaskLogBto(taskBto.getId(),"维修退回装备接收并发起入库",fileVoList);
taskLogService.addLog(taskLogBto);
//更新退回单
repairBackBill.setBackStatus(3);
repairBackBill.setBillFileName(repairReceiveVo.getBillFileName());
......@@ -647,7 +660,20 @@ public class RepairController {
repairBackBill.setBackReciveCheckDetail(repairReceiveVo.getReceiveCheckDetail());
repairBackBill.setBackReciveCheckResult(repairReceiveVo.getReceiveCheckResult());
repairBackBill.setReceiveUserbId(repairReceiveVo.getReceiveUserbId());
deviceRepairBackBillService.update(repairBackBill);
RepairBackBill repairBackBill1= deviceRepairBackBillService.update(repairBackBill);
if (level==1){
List<Integer> userIds = new ArrayList<>();
userIds.add(userId);
userIds.add(repairReceiveVo.getReceiveUserbId());
TaskBto taskBto1 = new TaskBto(StatusEnum.REPAIR_BACK_RECEIVE_CONFIRM.id, "维修退回", taskBto.getId(), taskBto.getNodeIdDetail()+taskBto.getId()+".", repairBackBill1.getId(), BusinessEnum.REPAIR_BACK.id, userUtils.getCurrentUnitId(), 1, null, userIds);
taskService.start(taskBto1);
//添加业务日志
TaskLogBto taskLogBto2 = new TaskLogBto(taskBto1.getId(),"维修退回装备接收并发起入库",fileVoList);
taskLogService.addLog(taskLogBto2);
}
//添加业务日志
TaskLogBto taskLogBto3 = new TaskLogBto(taskBto.getId(),"维修退回装备接收并发起入库",fileVoList);
taskLogService.addLog(taskLogBto3);
String[] strings = deviceIdDetail.split("x");
//存放正常接收的装备id
List<Integer> idList = new ArrayList<>();
......@@ -718,6 +744,7 @@ public class RepairController {
//更新退回单状态
repairBackBill.setBackStatus(5);
deviceRepairBackBillService.update(repairBackBill);
List<Integer> integerList = new ArrayList<>();
for (String s:strings) {
//接收无误的装备
if (s.length()>=2&& "1".equals(s.substring(s.length()-1))) {
......@@ -729,8 +756,19 @@ public class RepairController {
DeviceLogDto deviceLogDto = new DeviceLogDto(id,"维修退回装备入库审核成功",null);
deviceLogService.addLog(deviceLogDto);
deviceLibraryService.update(deviceLibraryEntity);
integerList.add(id);
}
}
//获取所有父业务id
List<Integer> fathers = StringSplitUtil.taskIdSplit(taskBto.getNodeIdDetail());
//更改父任务维修详情单为已领取
fathers.forEach(integer -> {
//筛选出父业务相同装备的维修详情
List<RepairDetail> repairDetails = repairDetailDao.findByDeviceRepairBillId(taskService.get(integer).getBillId()).stream()
.filter(repairDetail -> integerList.contains(repairDetail.getDeviceId()))
.collect(Collectors.toList());
repairDetails.forEach(repairDetail -> repairDetail.setRepairStatus(5));
});
myWebSocket.sendMessage1();
return ResultUtil.success("维修成功退回装备入库审核成功");
}
......@@ -951,6 +989,10 @@ public class RepairController {
case 10:
//获取维修退回单
RepairBackBill repairBackBill = deviceRepairBackBillService.getOne(taskBto.getBillId());
repairBillDetailVo.setRepairBackBill(repairBackBill);
//获取送修单
RepairBill repairBill1 = deviceRepairBillService.getOne(taskService.get(taskBto.getParentTaskId()).getBillId());
repairBillDetailVo.setRepairBill(repairBill1);
if (repairBackBill.getStartUseraId()!=null){
repairBackBill.setStartUserA(userPublicService.getOne(repairBackBill.getStartUseraId()).getName());
}
......@@ -964,8 +1006,10 @@ public class RepairController {
repairBackBill.setReceiveUserB(userPublicService.getOne(repairBackBill.getReceiveUserbId()).getName());
}
List<DeviceLibrary> deviceLibraryList = new ArrayList<>();
if (repairBackBill.getBackCheckDetail()!=null) {
String[] strings1 = repairBackBill.getBackCheckDetail().split("x");
List<DeviceLibrary> deviceLibraryList2 = new ArrayList<>();
String[] strings1;
if (repairBackBill.getBackReciveCheckDetail()!=null){
strings1 = repairBackBill.getBackReciveCheckDetail().split("x");
for (String s : strings1) {
if (s.length() >= 2 && "1".equals(s.substring(s.length() - 1))) {
Integer deviceId = Integer.parseInt(s.substring(0, s.length() - 1));
......@@ -976,6 +1020,19 @@ public class RepairController {
}
}
}
if (repairBackBill.getBackCheckDetail()!=null) {
strings1 = repairBackBill.getBackCheckDetail().split("x");
for (String s : strings1) {
if (s.length() >= 2 && "1".equals(s.substring(s.length() - 1))) {
Integer deviceId = Integer.parseInt(s.substring(0, s.length() - 1));
Integer checkResult = Integer.parseInt(s.substring(s.length() - 1));
DeviceLibrary deviceLibraryEntity = deviceLibraryService.getOne(deviceId);
deviceLibraryEntity.setCheckResult(checkResult);
deviceLibraryList2.add(deviceLibraryEntity);
}
}
}
//获取维修详情
List<RepairDetail> repairDetailList = getRepairDetail(repairBackBill.getDeviceRepairBillId());
repairBillDetailVo.setRepairDetails(repairDetailList);
......@@ -987,7 +1044,8 @@ public class RepairController {
}
}
});
repairBillDetailVo.setDeviceLibraries(deviceLibraryList);
repairBillDetailVo.setDeviceLibraries(deviceLibraryList2);
repairBillDetailVo.setReceiveDevices(deviceLibraryList);
break;
default:break;
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论