From c46191d359fb8dcf9ea875d16200eff4fa8cad79 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期二, 25 三月 2025 13:39:35 +0800 Subject: [PATCH] #新增 1. 新增库区批量修改接口 2. 物料分组删除上级编码必传判断 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrGroupController.java | 3 - rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/WarehouseAreaParam.java | 22 +++++++++++ rsf-server/src/main/java/com/vincent/rsf/server/manager/service/WarehouseAreasService.java | 2 + rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WarehouseAreasServiceImpl.java | 37 ++++++++++++++++++ rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreas.java | 3 + rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseAreasController.java | 20 ++++++++++ 6 files changed, 84 insertions(+), 3 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrGroupController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrGroupController.java index 90d9286..ac10eb2 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrGroupController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrGroupController.java @@ -73,9 +73,6 @@ if (Objects.isNull(matnrGroup.getCode())) { throw new CoolException("鍒嗙粍缂栫爜涓嶈兘涓虹┖锛侊紒"); } - if (Objects.isNull(matnrGroup.getParCode())) { - throw new CoolException("涓婄骇缂栫爜涓嶈兘涓虹┖锛�!"); - } matnrGroup.setCreateBy(getLoginUserId()); matnrGroup.setUpdateBy(getLoginUserId()); diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseAreasController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseAreasController.java index 79b7975..5a29471 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseAreasController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseAreasController.java @@ -10,11 +10,13 @@ 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.controller.params.WarehouseAreaParam; import com.vincent.rsf.server.manager.entity.Loc; import com.vincent.rsf.server.manager.entity.WarehouseAreas; import com.vincent.rsf.server.manager.service.LocService; import com.vincent.rsf.server.manager.service.WarehouseAreasService; import com.vincent.rsf.server.system.controller.BaseController; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -89,6 +91,24 @@ } @PreAuthorize("hasAuthority('manager:warehouseAreas:update')") + @ApiOperation("搴撳尯鎵归噺淇敼") + @PostMapping("/warehouseAreas/batch/update") + public R batchUpdate(@RequestBody WarehouseAreaParam params) { + if (Objects.isNull(params)) { + return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + if (Objects.isNull(params.getIds()) && params.getIds().isEmpty()) { + return R.error("搴撳尯ID涓嶈兘涓虹┖锛侊紒"); + } + if (warehouseAreasService.batchUpdate(params, getLoginUserId())) { + return R.ok("淇敼鎴愬姛锛侊紒"); + } else { + return R.error("淇敼澶辫触锛侊紒"); + } + } + + + @PreAuthorize("hasAuthority('manager:warehouseAreas:update')") @OperationLog("Update 搴撳尯淇℃伅琛�") @PostMapping("/warehouseAreas/update") public R update(@RequestBody WarehouseAreas warehouseAreas) { diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/WarehouseAreaParam.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/WarehouseAreaParam.java new file mode 100644 index 0000000..688e447 --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/WarehouseAreaParam.java @@ -0,0 +1,22 @@ +package com.vincent.rsf.server.manager.controller.params; + + +import com.vincent.rsf.server.manager.entity.WarehouseAreas; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +@ApiModel(value = "WarehouseAreaParam", description = "搴撳尯璇锋眰鍙傛暟") +public class WarehouseAreaParam implements Serializable { + + @ApiModelProperty("搴撳尯ID") + private List<Long> ids; + + @ApiModelProperty("淇敼搴撳尯淇℃伅") + private WarehouseAreas warehouseAreas; + +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreas.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreas.java index 68c7924..785efca 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreas.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreas.java @@ -4,6 +4,7 @@ import java.text.SimpleDateFormat; import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; import com.vincent.rsf.server.manager.service.CompanysService; import com.vincent.rsf.server.manager.service.ShipperService; import com.vincent.rsf.server.manager.service.WarehouseService; @@ -122,6 +123,7 @@ * 娣诲姞鏃堕棿 */ @ApiModelProperty(value= "娣诲姞鏃堕棿") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date createTime; @@ -135,6 +137,7 @@ * 淇敼鏃堕棿 */ @ApiModelProperty(value= "淇敼鏃堕棿") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date updateTime; diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/WarehouseAreasService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/WarehouseAreasService.java index 1933788..abd4f97 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/WarehouseAreasService.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/WarehouseAreasService.java @@ -1,8 +1,10 @@ package com.vincent.rsf.server.manager.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.vincent.rsf.server.manager.controller.params.WarehouseAreaParam; import com.vincent.rsf.server.manager.entity.WarehouseAreas; public interface WarehouseAreasService extends IService<WarehouseAreas> { + boolean batchUpdate(WarehouseAreaParam params, Long loginUserId); } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WarehouseAreasServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WarehouseAreasServiceImpl.java index 4ef3c7d..8cd4d0f 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WarehouseAreasServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WarehouseAreasServiceImpl.java @@ -1,12 +1,49 @@ package com.vincent.rsf.server.manager.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.vincent.rsf.framework.exception.CoolException; +import com.vincent.rsf.server.manager.controller.params.WarehouseAreaParam; import com.vincent.rsf.server.manager.mapper.WarehouseAreasMapper; import com.vincent.rsf.server.manager.entity.WarehouseAreas; import com.vincent.rsf.server.manager.service.WarehouseAreasService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Objects; + @Service("warehouseAreasService") public class WarehouseAreasServiceImpl extends ServiceImpl<WarehouseAreasMapper, WarehouseAreas> implements WarehouseAreasService { + /** + * 鎵归噺淇敼搴撳尯 + * + * @param params + * @param loginUserId + * @return + */ + @Override + public boolean batchUpdate(WarehouseAreaParam params, Long loginUserId) { + List<Long> ids = params.getIds(); + if (ids.isEmpty()) { + throw new CoolException("搴撳尯涓嶈兘涓虹┖锛侊紒"); + } + List<WarehouseAreas> warehouseAreas = this.list(new LambdaQueryWrapper<WarehouseAreas>().in(WarehouseAreas::getId, ids)); + if (warehouseAreas.isEmpty()) { + throw new CoolException("鎵�閫夊簱鍖轰笉瀛樺湪锛侊紒"); + } + WarehouseAreas areas = params.getWarehouseAreas(); + if (!this.update(new LambdaUpdateWrapper<WarehouseAreas>().in(WarehouseAreas::getId, ids) + .set(!Objects.isNull(areas.getName()), WarehouseAreas::getName, areas.getName()) + .set(!Objects.isNull(areas.getCode()), WarehouseAreas::getCode, areas.getCode()) + .set(!Objects.isNull(areas.getFlagMix()), WarehouseAreas::getFlagMix, areas.getFlagMix()) + .set(!Objects.isNull(areas.getFlagMinus()), WarehouseAreas::getFlagMinus, areas.getFlagMinus()) + .set(WarehouseAreas::getUpdateBy, loginUserId) + .set(!Objects.isNull(areas.getWarehouseId()), WarehouseAreas::getWarehouseId, areas.getWarehouseId()) + )) { + throw new CoolException("鎵归噺淇敼澶辫触"); + } + return true; + } } -- Gitblit v1.9.1