From 970567fcffdb6710288357a0d18fb66bc29d074e Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Mon, 02 Feb 2026 18:17:57 +0800
Subject: [PATCH] 设备统计优化
---
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/impl/FwDeviceScrapServiceImpl.java | 48 ++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 42 insertions(+), 6 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 eec041a..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
@@ -16,15 +16,25 @@
*/
package org.sxkj.fw.device.service.impl;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+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;
+import org.sxkj.fw.device.entity.FwDeviceEntity;
import org.sxkj.fw.device.entity.FwDeviceScrapEntity;
-import org.sxkj.fw.device.vo.FwDeviceScrapVO;
import org.sxkj.fw.device.excel.FwDeviceScrapExcel;
import org.sxkj.fw.device.mapper.FwDeviceScrapMapper;
import org.sxkj.fw.device.service.IFwDeviceScrapService;
-import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springblade.core.mp.base.BaseServiceImpl;
+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;
/**
@@ -34,10 +44,36 @@
* @since 2026-01-08
*/
@Service
+@AllArgsConstructor
public class FwDeviceScrapServiceImpl extends BaseServiceImpl<FwDeviceScrapMapper, FwDeviceScrapEntity> implements IFwDeviceScrapService {
+ private final IFwDeviceService fwDeviceService;
+
@Override
- public IPage<FwDeviceScrapVO> selectFwDeviceScrapPage(IPage<FwDeviceScrapVO> page, FwDeviceScrapVO fwDeviceScrap) {
+ 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) && 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