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