From 18d187869d098a2893d79acdadc7d7a99aad28e6 Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期一, 24 三月 2025 15:23:37 +0800
Subject: [PATCH] fix: 更新设备项目表和项目子表接口
---
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandTotal.java | 7 +
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandSub.java | 7
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceClassController.java | 19 +++
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/DemandPlanVo.java | 18 +++
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceDemandPlanController.java | 5
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceInventoryController.java | 56 +++++++-
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandPlan.java | 5
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceController.java | 84 ++++++++++++-
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceDemandPlanService.java | 3
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceDemandPlanServiceImpl.java | 4
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/Device.java | 4
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceDemandTotalController.java | 101 ++++++++++++++--
12 files changed, 267 insertions(+), 46 deletions(-)
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/Device.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/Device.java
index 26dc966..5a68e34 100644
--- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/Device.java
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/Device.java
@@ -75,6 +75,10 @@
@Column(columnDefinition="int comment '搴撳瓨鏁�'")
private Integer num;
+ @Schema(description = "澶囨敞")
+ @Column(columnDefinition="VARCHAR(64) comment '澶囨敞'")
+ private String remark;
+
@Column(
columnDefinition = "varchar(100) comment '鍚嶇О'"
)
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandPlan.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandPlan.java
index 9bfd7bf..0f8736b 100644
--- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandPlan.java
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandPlan.java
@@ -1,5 +1,6 @@
package com.by4cloud.platformx.device.entity;
+import com.by4cloud.platformx.common.data.mybatis.BaseModel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -20,7 +21,7 @@
@Data
@Entity
@Table(appliesTo = "device_demand_plan", comment = "璁惧闇�姹傝鍒掍富琛�")
-public class DeviceDemandPlan extends DeviceBaseModel<DeviceDemandPlan>{
+public class DeviceDemandPlan extends BaseModel<DeviceDemandPlan> {
@Schema(description = "璁惧缂栫爜")
@Column(columnDefinition="VARCHAR(64) comment '璁惧缂栫爜'")
private String number;
@@ -30,7 +31,7 @@
@Schema(description = "鑱旂郴浜�")
@Column(columnDefinition="VARCHAR(64) comment '鑱旂郴浜�'")
private String contacts;
- @Schema(description = "鐢虫姤鐘舵��")
+ @Schema(description = "鐢虫姤鐘舵�� 0鐢宠涓紝1浜岀骇鍗曚綅瀹℃牳鎷掔粷 2浜岀骇鍗曚綅瀹℃牳閫氳繃 3闆嗗洟瀹℃牳鎷掔粷 4闆嗗洟瀹℃牳閫氳繃")
@Column(columnDefinition="int comment '鐢虫姤鐘舵��'")
private Integer status;
@Schema(description = "鐢虫姤绫诲瀷")
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandSub.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandSub.java
index e74e3ef..3936224 100644
--- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandSub.java
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandSub.java
@@ -19,8 +19,11 @@
@Table(appliesTo = "device_demand_sub", comment = "璁惧闇�姹傝鍒掕澶囧瓙琛�")
public class DeviceDemandSub extends DeviceBaseModel<DeviceDemandSub>{
@Schema(description = "椤圭洰琛╥d")
- @Column(columnDefinition="int comment '椤圭洰琛╥d'")
- private Integer totalId;
+ @Column(columnDefinition="long comment '椤圭洰琛╥d'")
+ private Long totalId;
+ @Schema(description = "璁惧琛╥d")
+ @Column(columnDefinition="long comment '璁惧琛╥d'")
+ private Long deviceId;
@Schema(description = "璁惧缂栫爜")
@Column(columnDefinition="VARCHAR(64) comment '璁惧缂栫爜'")
private String number;
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandTotal.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandTotal.java
index 7d562bc..4803e0a 100644
--- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandTotal.java
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandTotal.java
@@ -1,11 +1,14 @@
package com.by4cloud.platformx.device.entity;
+import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.annotations.Table;
import javax.persistence.Column;
import javax.persistence.Entity;
+import javax.persistence.Transient;
+import java.util.List;
/**
* @author kdq
@@ -33,4 +36,8 @@
@Schema(description = "鎶曡祫蹇呰鎬�")
@Column(columnDefinition="VARCHAR(64) comment '鎶曡祫蹇呰鎬�'")
private String necessity;
+
+ @Transient
+ @TableField(exist = false)
+ private List<DeviceDemandSub> subList;
}
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/DemandPlanVo.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/DemandPlanVo.java
new file mode 100644
index 0000000..caa3846
--- /dev/null
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/DemandPlanVo.java
@@ -0,0 +1,18 @@
+package com.by4cloud.platformx.device.entity.vo;
+
+import com.by4cloud.platformx.device.entity.DeviceDemandPlan;
+import com.by4cloud.platformx.device.entity.DeviceDemandTotal;
+import lombok.Data;
+
+/**
+ * @author kdq
+ * @version 1.0.0
+ * @ClassName DemandPlanVo.java
+ * @Description TODO
+ * @createTime 2025骞�03鏈�13鏃� 16:28:00
+ */
+@Data
+public class DemandPlanVo {
+ private DeviceDemandPlan plan;
+ private DeviceDemandTotal total;
+}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceClassController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceClassController.java
index 2f377e2..b9b2553 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceClassController.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceClassController.java
@@ -4,11 +4,13 @@
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.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.common.log.annotation.SysLog;
import com.by4cloud.platformx.device.entity.DeviceClass;
+import com.by4cloud.platformx.device.entity.DeviceInventory;
import com.by4cloud.platformx.device.service.DeviceClassService;
import org.springframework.security.access.prepost.PreAuthorize;
import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
@@ -49,7 +51,7 @@
@PreAuthorize("@pms.hasPermission('platformx_deviceClass_view')" )
public R getDeviceClassPage(@ParameterObject Page page, @ParameterObject DeviceClass deviceClass) {
LambdaQueryWrapper<DeviceClass> wrapper = Wrappers.lambdaQuery();
- wrapper.eq(StrUtil.isNotBlank(deviceClass.getName()),DeviceClass::getName,deviceClass.getName());
+ wrapper.like(StrUtil.isNotBlank(deviceClass.getName()),DeviceClass::getName,deviceClass.getName());
wrapper.eq(StrUtil.isNotBlank(deviceClass.getNumber()),DeviceClass::getNumber,deviceClass.getNumber());
return R.ok(deviceClassService.page(page, wrapper));
}
@@ -99,6 +101,12 @@
if(deviceClass.getParentId()==null){
return R.failed("涓婄骇鍒嗙被鏈�夋嫨锛�");
}
+ QueryWrapper<DeviceClass> wrapper = new QueryWrapper<>();
+ wrapper.lambda().eq(DeviceClass::getNumber,deviceClass.getNumber());
+ List<DeviceClass> list = deviceClassService.list(wrapper);
+ if(list!=null&&list.size()>0){
+ return R.failed("璇ョ紪鍙峰凡瀛樺湪");
+ }
deviceClass.setPId(deviceClass.getParentId().longValue());
return R.ok(deviceClassService.save(deviceClass));
}
@@ -116,6 +124,15 @@
if(deviceClass.getParentId()==null){
return R.failed("涓婄骇鍒嗙被鏈�夋嫨锛�");
}
+ QueryWrapper<DeviceClass> wrapper = new QueryWrapper<>();
+ wrapper.lambda().eq(DeviceClass::getNumber,deviceClass.getNumber());
+ List<DeviceClass> list = deviceClassService.list(wrapper);
+ if(list!=null&&list.size()>0){
+ DeviceClass deviceClass1 = list.get(0);
+ if(!deviceClass1.getId().equals(deviceClass.getId())){
+ return R.failed("宸插瓨鍦ㄨ搴忓垪鍙凤紝璇烽噸鏂版坊鍔�");
+ }
+ }
deviceClass.setPId(deviceClass.getParentId().longValue());
return R.ok(deviceClassService.updateById(deviceClass));
}
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));
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceDemandPlanController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceDemandPlanController.java
index 95f48c8..8f16af1 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceDemandPlanController.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceDemandPlanController.java
@@ -43,12 +43,11 @@
* @param deviceDemandPlan 璁惧闇�姹傝鍒掍富琛�
* @return
*/
- @Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" )
+ @Operation(summary = "鏈崟浣嶅垎椤垫煡璇�" , description = "鏈崟浣嶅垎椤垫煡璇�" )
@GetMapping("/page" )
- @PreAuthorize("@pms.hasPermission('platformx_deviceDemandPlan_view')" )
public R getDeviceDemandPlanPage(@ParameterObject Page page, @ParameterObject DeviceDemandPlan deviceDemandPlan) {
LambdaQueryWrapper<DeviceDemandPlan> wrapper = Wrappers.lambdaQuery();
- return R.ok(deviceDemandPlanService.page(page, wrapper));
+ return R.ok(deviceDemandPlanService.pageByScope(page, wrapper));
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceDemandTotalController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceDemandTotalController.java
index 8ebe9d6..914cdb9 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceDemandTotalController.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceDemandTotalController.java
@@ -3,11 +3,15 @@
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.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.common.log.annotation.SysLog;
+import com.by4cloud.platformx.device.entity.DeviceDemandPlan;
+import com.by4cloud.platformx.device.entity.DeviceDemandSub;
import com.by4cloud.platformx.device.entity.DeviceDemandTotal;
+import com.by4cloud.platformx.device.service.DeviceDemandSubService;
import com.by4cloud.platformx.device.service.DeviceDemandTotalService;
import org.springframework.security.access.prepost.PreAuthorize;
import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
@@ -36,6 +40,7 @@
public class DeviceDemandTotalController {
private final DeviceDemandTotalService deviceDemandTotalService;
+ private final DeviceDemandSubService deviceDemandSubService;
/**
* 鍒嗛〉鏌ヨ
@@ -61,10 +66,31 @@
@GetMapping("/{id}" )
@PreAuthorize("@pms.hasPermission('platformx_deviceDemandTotal_view')" )
public R getById(@PathVariable("id" ) Long id) {
- return R.ok(deviceDemandTotalService.getById(id));
+ DeviceDemandTotal demandTotal = deviceDemandTotalService.getById(id);
+ QueryWrapper<DeviceDemandSub> wrapper = new QueryWrapper<>();
+ wrapper.lambda()
+ .eq(DeviceDemandSub::getTotalId,demandTotal.getId());
+ List<DeviceDemandSub> list = deviceDemandSubService.list(wrapper);
+ demandTotal.setSubList(list);
+ return R.ok(demandTotal);
}
- /**
+ /**
+ * 閫氳繃id鏌ヨ璁惧闇�姹傝鍒掗」鐩瓙琛�
+ * @param id id
+ * @return R
+ */
+ @Operation(summary = "閫氳繃id鏌ヨ" , description = "閫氳繃id鏌ヨ" )
+ @GetMapping("/getByPlanId/{id}" )
+ public R getByPlanId(@PathVariable("id" ) Long id) {
+ QueryWrapper<DeviceDemandTotal> wrapper = new QueryWrapper<>();
+ wrapper.lambda()
+ .eq(DeviceDemandTotal::getPlanId,id);
+ return R.ok(deviceDemandTotalService.list(wrapper));
+ }
+
+
+ /**
* 鏂板璁惧闇�姹傝鍒掗」鐩瓙琛�
* @param deviceDemandTotal 璁惧闇�姹傝鍒掗」鐩瓙琛�
* @return R
@@ -72,9 +98,17 @@
@Operation(summary = "鏂板璁惧闇�姹傝鍒掗」鐩瓙琛�" , description = "鏂板璁惧闇�姹傝鍒掗」鐩瓙琛�" )
@SysLog("鏂板璁惧闇�姹傝鍒掗」鐩瓙琛�" )
@PostMapping
- @PreAuthorize("@pms.hasPermission('platformx_deviceDemandTotal_add')" )
public R save(@RequestBody DeviceDemandTotal deviceDemandTotal) {
- return R.ok(deviceDemandTotalService.save(deviceDemandTotal));
+ if(deviceDemandTotal.getPlanId()==null){
+ return R.failed("璁″垝id蹇呬紶");
+ }
+ deviceDemandTotalService.save(deviceDemandTotal);
+ List<DeviceDemandSub> subList = deviceDemandTotal.getSubList();
+ for (DeviceDemandSub deviceDemandSub : subList) {
+ deviceDemandSub.setTotalId(deviceDemandTotal.getId());
+ deviceDemandSubService.save(deviceDemandSub);
+ }
+ return R.ok("娣诲姞鎴愬姛");
}
/**
@@ -87,21 +121,54 @@
@PutMapping
@PreAuthorize("@pms.hasPermission('platformx_deviceDemandTotal_edit')" )
public R updateById(@RequestBody DeviceDemandTotal deviceDemandTotal) {
- return R.ok(deviceDemandTotalService.updateById(deviceDemandTotal));
+ List<DeviceDemandSub> subList = deviceDemandTotal.getSubList();
+ QueryWrapper<DeviceDemandSub> wrapper = new QueryWrapper<>();
+ wrapper.lambda()
+ .eq(DeviceDemandSub::getTotalId,deviceDemandTotal.getId());
+ List<DeviceDemandSub> list = deviceDemandSubService.list(wrapper);
+ deviceDemandSubService.removeBatchByIds(list);
+ for (DeviceDemandSub deviceDemandSub : subList) {
+ deviceDemandSub.setTotalId(deviceDemandTotal.getId());
+ deviceDemandSubService.save(deviceDemandSub);
+ }
+ return R.ok(deviceDemandTotalService.updateById(deviceDemandTotal));
}
- /**
- * 閫氳繃id鍒犻櫎璁惧闇�姹傝鍒掗」鐩瓙琛�
- * @param ids id鍒楄〃
- * @return R
- */
- @Operation(summary = "閫氳繃id鍒犻櫎璁惧闇�姹傝鍒掗」鐩瓙琛�" , description = "閫氳繃id鍒犻櫎璁惧闇�姹傝鍒掗」鐩瓙琛�" )
- @SysLog("閫氳繃id鍒犻櫎璁惧闇�姹傝鍒掗」鐩瓙琛�" )
- @DeleteMapping
- @PreAuthorize("@pms.hasPermission('platformx_deviceDemandTotal_del')" )
- public R removeById(@RequestBody Long[] ids) {
- return R.ok(deviceDemandTotalService.removeBatchByIds(CollUtil.toList(ids)));
- }
+ /**
+ * 閫氳繃id鍒犻櫎璁惧闇�姹傝鍒掗」鐩瓙琛�
+ * @param id id
+ * @return R
+ */
+ @Operation(summary = "閫氳繃id鍒犻櫎璁惧闇�姹傝鍒掗」鐩瓙琛�" , description = "閫氳繃id鍒犻櫎璁惧闇�姹傝鍒掗」鐩瓙琛�" )
+ @SysLog("閫氳繃id鍒犻櫎璁惧闇�姹傝鍒掗」鐩瓙琛�" )
+ @GetMapping("/deleteById/{id}")
+ public R deleteById(@PathVariable("id" ) Long id) {
+ DeviceDemandTotal byId = deviceDemandTotalService.getById(id);
+ if(byId != null){
+ deviceDemandTotalService.removeById(id);
+ QueryWrapper<DeviceDemandSub> wrapper = new QueryWrapper<>();
+ wrapper.lambda()
+ .eq(DeviceDemandSub::getTotalId,byId.getId());
+ List<DeviceDemandSub> list = deviceDemandSubService.list(wrapper);
+ deviceDemandSubService.removeBatchByIds(list);
+ }else {
+ return R.failed("鏈煡璇㈠埌璇ラ」鐩�");
+ }
+ return R.ok();
+ }
+
+// /**
+// * 閫氳繃id鍒犻櫎璁惧闇�姹傝鍒掗」鐩瓙琛�
+// * @param ids id鍒楄〃
+// * @return R
+// */
+// @Operation(summary = "閫氳繃id鍒犻櫎璁惧闇�姹傝鍒掗」鐩瓙琛�" , description = "閫氳繃id鍒犻櫎璁惧闇�姹傝鍒掗」鐩瓙琛�" )
+// @SysLog("閫氳繃id鍒犻櫎璁惧闇�姹傝鍒掗」鐩瓙琛�" )
+// @DeleteMapping
+// @PreAuthorize("@pms.hasPermission('platformx_deviceDemandTotal_del')" )
+// public R removeById(@RequestBody Long[] ids) {
+// return R.ok(deviceDemandTotalService.removeBatchByIds(CollUtil.toList(ids)));
+// }
/**
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceInventoryController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceInventoryController.java
index 0856eae..955925f 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceInventoryController.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceInventoryController.java
@@ -3,6 +3,8 @@
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ArrayUtil;
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.common.core.util.R;
@@ -34,7 +36,7 @@
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
public class DeviceInventoryController {
- private final DeviceInventoryService DeviceInventoryService;
+ private final DeviceInventoryService deviceInventoryService;
/**
* 鍒嗛〉鏌ヨ
@@ -46,7 +48,10 @@
@GetMapping("/page" )
public R getDeviceInventoryPage(@ParameterObject Page page, @ParameterObject DeviceInventory deviceInventory) {
LambdaQueryWrapper<DeviceInventory> wrapper = Wrappers.lambdaQuery();
- return R.ok(DeviceInventoryService.page(page, wrapper));
+ wrapper.like(StringUtils.isNotBlank(deviceInventory.getDeviceNumber()),DeviceInventory::getDeviceNumber,deviceInventory.getDeviceNumber());
+ wrapper.like(StringUtils.isNotBlank(deviceInventory.getSerialNo()),DeviceInventory::getSerialNo,deviceInventory.getSerialNo());
+ wrapper.like(StringUtils.isNotBlank(deviceInventory.getName()),DeviceInventory::getName,deviceInventory.getName());
+ return R.ok(deviceInventoryService.page(page, wrapper));
}
@@ -58,30 +63,59 @@
@Operation(summary = "閫氳繃id鏌ヨ" , description = "閫氳繃id鏌ヨ" )
@GetMapping("/{id}" )
public R getById(@PathVariable("id" ) Long id) {
- return R.ok(DeviceInventoryService.getById(id));
+ return R.ok(deviceInventoryService.getById(id));
}
/**
* 鏂板搴撳瓨娴佹按琛�
- * @param DeviceInventory 搴撳瓨琛�
+ * @param deviceInventory 搴撳瓨琛�
* @return R
*/
@Operation(summary = "鏂板搴撳瓨琛�" , description = "鏂板搴撳瓨琛�" )
@SysLog("鏂板搴撳瓨娴佹按琛�" )
@PostMapping
- public R save(@RequestBody DeviceInventory DeviceInventory) {
- return R.ok(DeviceInventoryService.save(DeviceInventory));
+ public R save(@RequestBody DeviceInventory deviceInventory) {
+ if(deviceInventory.getDeviceId()==null){
+ return R.failed("璇烽�夋嫨璁惧娓呭崟");
+ }
+ if(deviceInventory.getSerialNo()==null){
+ return R.failed("璇峰~鍐欒澶囧簭鍒楀彿");
+ }
+ QueryWrapper<DeviceInventory> wrapper = new QueryWrapper<>();
+ wrapper.lambda().eq(DeviceInventory::getDeviceId,deviceInventory.getDeviceId())
+ .eq(DeviceInventory::getSerialNo,deviceInventory.getSerialNo());
+ List<DeviceInventory> list = deviceInventoryService.list(wrapper);
+ if(list !=null && list.size()>0){
+ return R.failed("宸插瓨鍦ㄨ搴忓垪鍙凤紝璇烽噸鏂版坊鍔�");
+ }
+ return R.ok(deviceInventoryService.save(deviceInventory));
}
/**
* 淇敼搴撳瓨琛�
- * @param DeviceInventory 搴撳瓨琛�
+ * @param deviceInventory 搴撳瓨琛�
* @return R
*/
@SysLog("淇敼搴撳瓨琛�" )
@PutMapping
- public R updateById(@RequestBody DeviceInventory DeviceInventory) {
- return R.ok(DeviceInventoryService.updateById(DeviceInventory));
+ public R updateById(@RequestBody DeviceInventory deviceInventory) {
+ if(deviceInventory.getDeviceId()==null){
+ return R.failed("璇烽�夋嫨璁惧娓呭崟");
+ }
+ if(deviceInventory.getSerialNo()==null){
+ return R.failed("璇峰~鍐欒澶囧簭鍒楀彿");
+ }
+ QueryWrapper<DeviceInventory> wrapper = new QueryWrapper<>();
+ wrapper.lambda().eq(DeviceInventory::getDeviceId,deviceInventory.getDeviceId())
+ .eq(DeviceInventory::getSerialNo,deviceInventory.getSerialNo());
+ List<DeviceInventory> list = deviceInventoryService.list(wrapper);
+ if(list !=null && list.size()>0){
+ DeviceInventory deviceInventory1 = list.get(0);
+ if(!deviceInventory1.getId().equals(deviceInventory.getId())){
+ return R.failed("宸插瓨鍦ㄨ搴忓垪鍙凤紝璇烽噸鏂版坊鍔�");
+ }
+ }
+ return R.ok(deviceInventoryService.updateById(deviceInventory));
}
/**
@@ -93,7 +127,7 @@
@SysLog("閫氳繃id鍒犻櫎搴撳瓨娴佹按琛�" )
@DeleteMapping
public R removeById(@RequestBody Long[] ids) {
- return R.ok(DeviceInventoryService.removeBatchByIds(CollUtil.toList(ids)));
+ return R.ok(deviceInventoryService.removeBatchByIds(CollUtil.toList(ids)));
}
@@ -107,6 +141,6 @@
@GetMapping("/export")
@PreAuthorize("@pms.hasPermission('platformx_DeviceInventory_export')" )
public List<DeviceInventory> export(DeviceInventory deviceInventory,Long[] ids) {
- return DeviceInventoryService.list(Wrappers.lambdaQuery(deviceInventory).in(ArrayUtil.isNotEmpty(ids), DeviceInventory::getId, ids));
+ return deviceInventoryService.list(Wrappers.lambdaQuery(deviceInventory).in(ArrayUtil.isNotEmpty(ids), DeviceInventory::getId, ids));
}
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceDemandPlanService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceDemandPlanService.java
index d18da00..ea736a9 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceDemandPlanService.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceDemandPlanService.java
@@ -1,8 +1,9 @@
package com.by4cloud.platformx.device.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.by4cloud.platformx.common.data.mybatis.IIService;
import com.by4cloud.platformx.device.entity.DeviceDemandPlan;
-public interface DeviceDemandPlanService extends IService<DeviceDemandPlan> {
+public interface DeviceDemandPlanService extends IIService<DeviceDemandPlan> {
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceDemandPlanServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceDemandPlanServiceImpl.java
index b0b3984..b4995fd 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceDemandPlanServiceImpl.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceDemandPlanServiceImpl.java
@@ -1,9 +1,13 @@
package com.by4cloud.platformx.device.service.impl;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.by4cloud.platformx.common.data.datascope.DataScope;
import com.by4cloud.platformx.device.entity.DeviceDemandPlan;
import com.by4cloud.platformx.device.mapper.DeviceDemandPlanMapper;
import com.by4cloud.platformx.device.service.DeviceDemandPlanService;
+import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
/**
* 璁惧闇�姹傝鍒掍富琛�
--
Gitblit v1.9.1