From cc59b65bc63b839127c29775bcd410dd407de66d Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期一, 21 四月 2025 17:20:02 +0800
Subject: [PATCH] 设备采购计划与设备照片

---
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceController.java |   83 ++++++++++++++++++++++++++++++++++++-----
 1 files changed, 73 insertions(+), 10 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..1ffdbd0 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,14 +4,21 @@
 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.entity.InvestmentPlan;
+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;
@@ -22,6 +29,7 @@
 import lombok.RequiredArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Objects;
 
@@ -39,6 +47,8 @@
 public class DeviceController {
 
     private final  DeviceService deviceService;
+    private final DeviceInventoryService inventoryService;
+    private final JcMaxSizeService maxSizeService;
 
     /**
      * 鍒嗛〉鏌ヨ
@@ -54,7 +64,16 @@
 		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));
+		wrapper.orderByDesc(Device::getCreateTime);
+		Page<Device> page1 = deviceService.page(page, wrapper);
+		for (Device device1 : page1.getRecords()) {
+			QueryWrapper<DeviceInventory> wrapper1 = new QueryWrapper<>();
+			wrapper1.lambda().eq(DeviceInventory::getDeviceId,device1.getId())
+					.eq(DeviceInventory::getInventoryStatus,1);
+			long count = inventoryService.count(wrapper1);
+			device1.setNum(Integer.parseInt(count+""));
+		}
+		return R.ok(page1);
     }
 	/**
 	 * 鍒嗛〉鏌ヨ
@@ -71,6 +90,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 +122,26 @@
 	@Operation(summary = "瀹℃壒閫氳繃" , description = "瀹℃壒閫氳繃" )
 	@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,13 +154,27 @@
     @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));
+		device.setNumber(maxSizeService.nextNo(MaxSizeContant.DEVICE_NUM));
+		device.setReleaseDate(new Date());
+		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,7 +186,12 @@
     @PutMapping
     @PreAuthorize("@pms.hasPermission('platformx_device_edit')" )
     public R updateById(@RequestBody Device device) {
-        return R.ok(deviceService.updateById(device));
+		Device byId = deviceService.getById(device.getId());
+		if(StringUtils.isNotBlank(byId.getNumber())){
+			byId.setNumber(maxSizeService.nextNo(MaxSizeContant.DEVICE_NUM));
+			byId.setReleaseDate(new Date());
+		}
+		return R.ok(deviceService.updateById(device));
     }
 
     /**
@@ -166,4 +220,13 @@
     public List<Device> export(Device device,Long[] ids) {
         return deviceService.list(Wrappers.lambdaQuery(device).in(ArrayUtil.isNotEmpty(ids), Device::getId, ids));
     }
+
+	/**
+	 * 鎵�鏈夎澶囦笅鎷�
+	 * @return
+	 */
+	@GetMapping("/getDropdowmList" )
+	public R getDeviceList() {
+		return R.ok(deviceService.list());
+	}
 }

--
Gitblit v1.9.1