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