From c39de0df2cb8b9964228fd735bcec9c3332791a1 Mon Sep 17 00:00:00 2001
From: rain <1679827795@qq.com>
Date: Thu, 29 Jan 2026 18:47:58 +0800
Subject: [PATCH] 区域类型查询

---
 drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/impl/FwDeviceScrapServiceImpl.java |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/impl/FwDeviceScrapServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/impl/FwDeviceScrapServiceImpl.java
index 5b786ae..36a28df 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/impl/FwDeviceScrapServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/impl/FwDeviceScrapServiceImpl.java
@@ -20,6 +20,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import lombok.AllArgsConstructor;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.sxkj.fw.device.dto.FwDeviceScrapDTO;
@@ -31,7 +32,9 @@
 import org.sxkj.fw.device.service.IFwDeviceService;
 import org.sxkj.fw.device.vo.FwDeviceScrapVO;
 import org.sxkj.fw.device.wrapper.FwDeviceScrapWrapper;
+import org.sxkj.system.cache.SysCache;
 
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -47,20 +50,30 @@
 	private final IFwDeviceService fwDeviceService;
 
 	@Override
+	public FwDeviceScrapVO getFwDeviceScrapById(Long id) {
+		return baseMapper.getFwDeviceScrapById(id);
+	}
+
+	@Override
 	@Transactional
 	public boolean saveFwDeviceScrap(FwDeviceScrapDTO dto) {
+		// 先保存报废记录,成功后再处理设备状态与逻辑删除
 		boolean isSuccess = super.save(FwDeviceScrapWrapper.build().entityDTO(dto));
 		if (isSuccess) {
 			FwDeviceEntity fwDevice = new FwDeviceEntity();
 			fwDevice.setId(dto.getDeviceId());
 			fwDevice.setStatus(3);
-			isSuccess = fwDeviceService.updateById(fwDevice);
+			// 更新设备状态并做逻辑删除,保持报废与设备状态一致
+			isSuccess = fwDeviceService.updateById(fwDevice) && fwDeviceService.deleteLogic(Collections.singletonList(fwDevice.getId()));
 		}
 		return isSuccess;
 	}
 
 	@Override
 	public IPage<FwDeviceScrapVO> selectFwDeviceScrapPage(IPage<FwDeviceScrapVO> page, FwDeviceScrapDTO fwDeviceScrap) {
+		// 按当前部门及下级部门范围过滤数据
+		List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
+		fwDeviceScrap.setDeptList(deptList);
 		return page.setRecords(baseMapper.selectFwDeviceScrapPage(page, fwDeviceScrap));
 	}
 

--
Gitblit v1.9.3