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

修改维修bug

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