From 18d187869d098a2893d79acdadc7d7a99aad28e6 Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期一, 24 三月 2025 15:23:37 +0800
Subject: [PATCH] fix: 更新设备项目表和项目子表接口

---
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceController.java |   84 +++++++++++++++++++++++++++++++++++++----
 1 files changed, 75 insertions(+), 9 deletions(-)

diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceController.java
index 8727174..b9943ed 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceController.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceController.java
@@ -4,6 +4,8 @@
 import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.by4cloud.platformx.admin.api.entity.SysDeptRelation;
@@ -11,6 +13,8 @@
 import com.by4cloud.platformx.common.log.annotation.SysLog;
 import com.by4cloud.platformx.common.security.util.SecurityUtils;
 import com.by4cloud.platformx.device.entity.Device;
+import com.by4cloud.platformx.device.entity.DeviceInventory;
+import com.by4cloud.platformx.device.service.DeviceInventoryService;
 import com.by4cloud.platformx.device.service.DeviceService;
 import org.springframework.security.access.prepost.PreAuthorize;
 import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
@@ -39,6 +43,7 @@
 public class DeviceController {
 
     private final  DeviceService deviceService;
+    private final DeviceInventoryService inventoryService;
 
     /**
      * 鍒嗛〉鏌ヨ
@@ -54,7 +59,14 @@
 		wrapper.eq(Device::getReqStatus,1);
 		wrapper.like(StrUtil.isNotBlank(device.getNumber()),Device::getNumber,device.getNumber());
 		wrapper.like(StrUtil.isNotBlank(device.getName()),Device::getName,device.getName());
-        return R.ok(deviceService.page(page, wrapper));
+		Page<Device> page1 = deviceService.page(page, wrapper);
+		for (Device device1 : page1.getRecords()) {
+			QueryWrapper<DeviceInventory> wrapper1 = new QueryWrapper<>();
+			wrapper1.lambda().eq(DeviceInventory::getDeviceId,device1.getId());
+			long count = inventoryService.count(wrapper1);
+			device1.setNum(Integer.parseInt(count+""));
+		}
+		return R.ok(page1);
     }
 	/**
 	 * 鍒嗛〉鏌ヨ
@@ -71,6 +83,16 @@
 		wrapper.like(StrUtil.isNotBlank(device.getNumber()),Device::getNumber,device.getNumber());
 		wrapper.like(StrUtil.isNotBlank(device.getName()),Device::getName,device.getName());
 		return R.ok(deviceService.page(page, wrapper));
+	}
+
+	@Operation(summary = "鏍规嵁璁惧鍒嗙被鑾峰彇璁惧" , description = "鏍规嵁璁惧鍒嗙被鑾峰彇璁惧" )
+	@GetMapping("/getByClassId" )
+	public R getByClassId(@ParameterObject Device device) {
+		LambdaQueryWrapper<Device> wrapper = Wrappers.lambdaQuery();
+		wrapper.eq(Device::getReqStatus,1);
+		wrapper.eq(Device::getClassId,device.getClassId());
+		wrapper.like(StrUtil.isNotBlank(device.getName()),Device::getName,device.getName());
+		return R.ok(deviceService.list(wrapper));
 	}
 
 
@@ -93,20 +115,34 @@
 	@Operation(summary = "瀹℃壒閫氳繃" , description = "瀹℃壒閫氳繃" )
 	@PostMapping("/pass" )
 	public R passById(@RequestBody Device device) {
+		if(StringUtils.isBlank(device.getNumber())){
+			return R.failed("璇峰~鍐欒澶囩紪鍙�");
+		}
+		QueryWrapper<Device> wrapper = new QueryWrapper<>();
+		wrapper.lambda().eq(Device::getNumber,device.getNumber());
+		List<Device> list = deviceService.list(wrapper);
+		if(list !=null && list.size()>0){
+			Device device1 = list.get(0);
+			if(!device1.getId().equals(device.getId())){
+				return R.failed("宸插瓨鍦ㄨ缂栧彿");
+			}
+		}
 		device.setReqStatus(1);
 		deviceService.updateById(device);
 		return R.ok();
 	}
 	/**
 	 * 瀹℃壒鎷掔粷
-	 * @param id id
 	 * @return R
 	 */
 	@Operation(summary = "瀹℃壒鎷掔粷" , description = "瀹℃壒鎷掔粷" )
-	@GetMapping("/kill/{id}" )
-	public R killById(@PathVariable("id" ) Long id) {
-		Device byId = deviceService.getById(id);
+	@GetMapping("/kill" )
+	public R killById(@ParameterObject Device device) {
+		Device byId = deviceService.getById(device.getId());
 		byId.setReqStatus(2);
+		if(StringUtils.isNotBlank(device.getRemark())){
+			byId.setRemark(device.getRemark());
+		}
 		deviceService.updateById(byId);
 		return R.ok();
 	}
@@ -119,13 +155,34 @@
     @Operation(summary = "鏂板鍑虹璁惧娓呭崟琛�" , description = "鏂板鍑虹璁惧娓呭崟琛�" )
     @SysLog("鏂板鍑虹璁惧娓呭崟琛�" )
     @PostMapping
-    @PreAuthorize("@pms.hasPermission('platformx_device_add')" )
     public R save(@RequestBody Device device) {
-		if(device.getReqStatus() == 0){
-			device.setReqCompId(SecurityUtils.getUser().getDeptId());
+		if(device.getReqStatus()==0){
+			return R.ok(deviceService.save(device));
 		}
-        return R.ok(deviceService.save(device));
+		if(StringUtils.isBlank(device.getNumber())){
+			return R.failed("璇峰~鍐欒澶囩紪鍙�");
+		}
+		QueryWrapper<Device> wrapper = new QueryWrapper<>();
+		wrapper.lambda().eq(Device::getNumber,device.getNumber());
+		List<Device> list = deviceService.list(wrapper);
+		if(list !=null && list.size()>0){
+			return R.failed("宸插瓨鍦ㄨ缂栧彿");
+		}
+		return R.ok(deviceService.save(device));
     }
+
+	/**
+	 * 涓夌骇鍗曚綅鏂板璁惧娓呭崟
+	 * @param device 涓夌骇鍗曚綅鏂板璁惧娓呭崟
+	 * @return R
+	 */
+	@Operation(summary = "涓夌骇鍗曚綅鏂板璁惧娓呭崟" , description = "涓夌骇鍗曚綅鏂板璁惧娓呭崟" )
+	@SysLog("鏂板鍑虹璁惧娓呭崟琛�" )
+	@PostMapping("/childAdd")
+	public R childAdd(@RequestBody Device device) {
+		device.setReqStatus(0);
+		return R.ok(deviceService.save(device));
+	}
 
     /**
      * 淇敼鍑虹璁惧娓呭崟琛�
@@ -137,6 +194,15 @@
     @PutMapping
     @PreAuthorize("@pms.hasPermission('platformx_device_edit')" )
     public R updateById(@RequestBody Device device) {
+		QueryWrapper<Device> wrapper = new QueryWrapper<>();
+		wrapper.lambda().eq(Device::getNumber,device.getNumber());
+		List<Device> list = deviceService.list(wrapper);
+		if(list !=null && list.size()>0){
+			Device device1 = list.get(0);
+			if(!device1.getId().equals(device.getId())){
+				return R.failed("宸插瓨鍦ㄨ缂栧彿");
+			}
+		}
         return R.ok(deviceService.updateById(device));
     }
 

--
Gitblit v1.9.1