From dc0dc216eec524e67ce19f820d2501a3798fcfe0 Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期五, 28 三月 2025 16:49:45 +0800
Subject: [PATCH] fix: 年度投资计划

---
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceController.java |   73 ++++++++++++++++++++++++++++++------
 1 files changed, 60 insertions(+), 13 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 e69afb0..0994dce 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,12 +4,20 @@
 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;
 import com.by4cloud.platformx.common.core.util.R;
 import com.by4cloud.platformx.common.log.annotation.SysLog;
+import com.by4cloud.platformx.common.security.util.SecurityUtils;
+import com.by4cloud.platformx.device.constant.MaxSizeContant;
 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 com.by4cloud.platformx.device.service.JcMaxSizeService;
 import org.springframework.security.access.prepost.PreAuthorize;
 import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
 import io.swagger.v3.oas.annotations.security.SecurityRequirement;
@@ -37,6 +45,8 @@
 public class DeviceController {
 
     private final  DeviceService deviceService;
+    private final DeviceInventoryService inventoryService;
+    private final JcMaxSizeService maxSizeService;
 
     /**
      * 鍒嗛〉鏌ヨ
@@ -52,7 +62,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 +88,16 @@
 		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));
+	}
+
 
     /**
      * 閫氳繃id鏌ヨ鍑虹璁惧娓呭崟琛�
@@ -86,27 +113,31 @@
 
 	/**
 	 * 瀹℃壒閫氳繃
-	 * @param id id
 	 * @return R
 	 */
 	@Operation(summary = "瀹℃壒閫氳繃" , description = "瀹℃壒閫氳繃" )
-	@GetMapping("/pass/{id}" )
-	public R passById(@PathVariable("id" ) Long id) {
-		Device byId = deviceService.getById(id);
-		byId.setReqStatus(1);
-		deviceService.updateById(byId);
+	@PostMapping("/pass" )
+	public R passById(@RequestBody Device device) {
+		if(StringUtils.isBlank(device.getNumber())){
+			return R.failed("璇峰~鍐欒澶囩紪鍙�");
+		}
+		device.setNumber(maxSizeService.nextNo(MaxSizeContant.DEVICE_NUM));
+		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,11 +150,27 @@
     @Operation(summary = "鏂板鍑虹璁惧娓呭崟琛�" , description = "鏂板鍑虹璁惧娓呭崟琛�" )
     @SysLog("鏂板鍑虹璁惧娓呭崟琛�" )
     @PostMapping
-    @PreAuthorize("@pms.hasPermission('platformx_device_add')" )
     public R save(@RequestBody Device device) {
-        return R.ok(deviceService.save(device));
+		if(device.getReqStatus()==0){
+			return R.ok(deviceService.save(device));
+		}
+		device.setNumber(maxSizeService.nextNo(MaxSizeContant.DEVICE_NUM));
+		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));
+	}
+
     /**
      * 淇敼鍑虹璁惧娓呭崟琛�
      * @param device 鍑虹璁惧娓呭崟琛�

--
Gitblit v1.9.1