From c2f944f370907d26d30f81daa6947d4b2ee2a355 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期六, 22 三月 2025 15:38:00 +0800 Subject: [PATCH] # 绑定bug修复 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseController.java | 65 ++++++++++++++++++++++++++++++-- 1 files changed, 61 insertions(+), 4 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseController.java index ae1e46c..f97553f 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseController.java @@ -4,12 +4,16 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.vincent.rsf.framework.common.Cools; import com.vincent.rsf.framework.common.R; +import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.common.utils.ExcelUtil; import com.vincent.rsf.server.common.annotation.OperationLog; import com.vincent.rsf.server.common.domain.BaseParam; import com.vincent.rsf.server.common.domain.KeyValVo; import com.vincent.rsf.server.common.domain.PageParam; import com.vincent.rsf.server.manager.entity.Warehouse; +import com.vincent.rsf.server.manager.entity.WarehouseAreas; +import com.vincent.rsf.server.manager.service.WarehouseAreasItemService; +import com.vincent.rsf.server.manager.service.WarehouseAreasService; import com.vincent.rsf.server.manager.service.WarehouseService; import com.vincent.rsf.server.system.controller.BaseController; import io.swagger.annotations.Api; @@ -26,6 +30,12 @@ @Autowired private WarehouseService warehouseService; + + @Autowired + private WarehouseAreasService warehouseAreasService; + + @Autowired + private WarehouseAreasItemService warehouseAreasItemService; @PreAuthorize("hasAuthority('manager:warehouse:list')") @PostMapping("/warehouse/page") @@ -57,10 +67,22 @@ @OperationLog("Create 浠撳簱淇℃伅琛�") @PostMapping("/warehouse/save") public R save(@RequestBody Warehouse warehouse) { + if (Objects.isNull(warehouse)) { + throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + if (Objects.isNull(warehouse.getName())) { + throw new CoolException("浠撳簱鍚嶇О涓嶈兘涓虹┖锛侊紒"); + } + List<Warehouse> warehouses = warehouseService.list(new LambdaQueryWrapper<Warehouse>().eq(Warehouse::getName, warehouse.getName())); + if (!warehouses.isEmpty()) { + throw new CoolException("浠撳簱鍚嶇О宸插瓨鍦紒锛�"); + } + if (!warehouseService.list(new LambdaQueryWrapper<Warehouse>().eq(Warehouse::getCode, warehouse.getCode())).isEmpty()) { + throw new CoolException("浠撳簱缂栫爜宸插瓨鍦紒锛�"); + } + warehouse.setCreateBy(getLoginUserId()); - warehouse.setCreateTime(new Date()); warehouse.setUpdateBy(getLoginUserId()); - warehouse.setUpdateTime(new Date()); if (!warehouseService.save(warehouse)) { return R.error("Save Fail"); } @@ -71,8 +93,29 @@ @OperationLog("Update 浠撳簱淇℃伅琛�") @PostMapping("/warehouse/update") public R update(@RequestBody Warehouse warehouse) { + if (Objects.isNull(warehouse)) { + throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + if (Objects.isNull(warehouse.getName())) { + throw new CoolException("浠撳簱鍚嶇О涓嶈兘涓虹┖锛侊紒"); + } warehouse.setUpdateBy(getLoginUserId()); - warehouse.setUpdateTime(new Date()); + + Warehouse warehouse1 = warehouseService.getById(warehouse.getId()); + if (!warehouse.getName().equals(warehouse1.getName())) { + List<Warehouse> areasList = warehouseService.list(new LambdaQueryWrapper<Warehouse>().eq(Warehouse::getName, warehouse1.getName())); + if (!areasList.isEmpty()) { + throw new CoolException("浠撳簱鍚嶅凡瀛樺湪锛侊紒"); + } + } + if (!warehouse.getCode().equals(warehouse1.getCode())) { + List<Warehouse> areasList = warehouseService.list(new LambdaQueryWrapper<Warehouse>().eq(Warehouse::getCode, warehouse1.getCode())); + if (!areasList.isEmpty()) { + throw new CoolException("浠撳簱缂栫爜宸插瓨鍦紒锛�"); + } + } + + if (!warehouseService.updateById(warehouse)) { return R.error("Update Fail"); } @@ -83,6 +126,14 @@ @OperationLog("Delete 浠撳簱淇℃伅琛�") @PostMapping("/warehouse/remove/{ids}") public R remove(@PathVariable Long[] ids) { + if (ids.length < 1) { + throw new CoolException("鏌ヨid涓嶈兘涓虹┖锛侊紒"); + } + List<WarehouseAreas> warehouseAreas = warehouseAreasService.list(new LambdaQueryWrapper<WarehouseAreas>() + .in(WarehouseAreas::getWarehouseId, ids)); + if (!warehouseAreas.isEmpty()) { + throw new CoolException("褰撳墠浠撳簱涓嬫湁鏈垹闄ゅ簱鍖猴紝 涓嶅彲鎿嶄綔鍒犻櫎锛侊紒"); + } if (!warehouseService.removeByIds(Arrays.asList(ids))) { return R.error("Delete Fail"); } @@ -106,7 +157,13 @@ @PreAuthorize("hasAuthority('manager:warehouse:list')") @PostMapping("/warehouse/export") public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception { - ExcelUtil.build(ExcelUtil.create(warehouseService.list(), Warehouse.class), response); + List<Warehouse> list = new ArrayList<>(); + if (!Objects.isNull(map.get("ids"))) { + list = warehouseService.list(new LambdaQueryWrapper<Warehouse>().in(Warehouse::getId, map.get("ids"))); + } else { + list = warehouseService.list(); + } + ExcelUtil.build(ExcelUtil.create(list, Warehouse.class), response); } } -- Gitblit v1.9.1