From 1014402be25cd1f48d6efab06e51a77f073578d4 Mon Sep 17 00:00:00 2001 From: verou <857149855@qq.com> Date: 星期二, 25 三月 2025 15:09:51 +0800 Subject: [PATCH] 11 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrGroupController.java | 71 ++++++++++++++++++++++++++++++++++- 1 files changed, 68 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 85db6ef..e65f062 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 @@ -2,23 +2,31 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.vincent.rsf.common.utils.Utils; 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.domain.PageResult; 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.MatnrGroup; +import com.vincent.rsf.server.manager.entity.Warehouse; import com.vincent.rsf.server.manager.service.MatnrGroupService; import com.vincent.rsf.server.system.controller.BaseController; +import io.swagger.annotations.Api; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.*; +import java.util.stream.Collectors; +@Api(tags = "鐗╂枡鍒嗙粍") @RestController public class MatnrGroupController extends BaseController { @@ -29,6 +37,7 @@ @PostMapping("/matnrGroup/page") public R page(@RequestBody Map<String, Object> map) { BaseParam baseParam = buildParam(map, BaseParam.class); + baseParam.setOrderBy("code asc"); PageParam<MatnrGroup, BaseParam> pageParam = new PageParam<>(baseParam, MatnrGroup.class); return R.ok().add(matnrGroupService.page(pageParam, pageParam.buildWrapper(true))); } @@ -55,10 +64,33 @@ @OperationLog("Create 鐗╂枡鍒嗙被琛�") @PostMapping("/matnrGroup/save") public R save(@RequestBody MatnrGroup matnrGroup) { + if (Objects.isNull(matnrGroup)) { + throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + if (Objects.isNull(matnrGroup.getName())) { + throw new CoolException("鍒嗙粍鍚嶇О涓嶈兘涓虹┖锛侊紒"); + } + if (Objects.isNull(matnrGroup.getCode())) { + throw new CoolException("鍒嗙粍缂栫爜涓嶈兘涓虹┖锛侊紒"); + } matnrGroup.setCreateBy(getLoginUserId()); - matnrGroup.setCreateTime(new Date()); matnrGroup.setUpdateBy(getLoginUserId()); - matnrGroup.setUpdateTime(new Date()); + + List<MatnrGroup> list = matnrGroupService.list(new LambdaQueryWrapper<MatnrGroup>() + .eq(!Objects.isNull(matnrGroup.getParCode()), MatnrGroup::getParCode, matnrGroup.getParCode()) + .eq(MatnrGroup::getCode, matnrGroup.getCode())); + if (!list.isEmpty()) { + throw new CoolException("鐗╂枡鍒嗙粍缂栫爜涓嶈兘閲嶅锛侊紒"); + } + List<MatnrGroup> groups = matnrGroupService.list(new LambdaQueryWrapper<MatnrGroup>() + .eq(MatnrGroup::getName, matnrGroup.getName())); + if (!groups.isEmpty()) { + throw new CoolException("鍒嗙粍宸插瓨鍦紝璇峰嬁閲嶅娣诲姞锛侊紒"); + } + //鍒ゆ柇涓婄骇缂栫爜鏄惁涓虹┖ + if (!Objects.isNull(matnrGroup.getParCode()) && !StringUtils.isBlank(matnrGroup.getParCode())) { + matnrGroup.setParCode(matnrGroup.getParCode() + matnrGroup.getCode()); + } if (!matnrGroupService.save(matnrGroup)) { return R.error("Save Fail"); } @@ -69,8 +101,29 @@ @OperationLog("Update 鐗╂枡鍒嗙被琛�") @PostMapping("/matnrGroup/update") public R update(@RequestBody MatnrGroup matnrGroup) { + matnrGroup.setUpdateBy(getLoginUserId()); - matnrGroup.setUpdateTime(new Date()); + MatnrGroup matGroup = matnrGroupService.getById(matnrGroup.getId()); + if (!matnrGroup.getName().equals(matGroup.getName())) { + List<MatnrGroup> areasList = matnrGroupService.list(new LambdaQueryWrapper<MatnrGroup>().eq(MatnrGroup::getName, matnrGroup.getName())); + if (!areasList.isEmpty()) { + throw new CoolException("浠撳簱鍚嶅凡瀛樺湪锛侊紒"); + } + } + if (!Objects.isNull(matnrGroup.getCode()) && !matnrGroup.getCode().equals(matGroup.getCode())) { + List<MatnrGroup> areasList = matnrGroupService.list(new LambdaQueryWrapper<MatnrGroup>() + .eq(!Objects.isNull(matnrGroup.getParCode()), MatnrGroup::getParCode, matnrGroup.getParCode()) + .eq(MatnrGroup::getCode, matnrGroup.getCode())); + if (!areasList.isEmpty()) { + throw new CoolException("浠撳簱缂栫爜宸插瓨鍦紒锛�"); + } + } + + //鍒ゆ柇涓婄骇缂栫爜鏄惁涓虹┖ + if (!Objects.isNull(matnrGroup.getParCode()) && !StringUtils.isBlank(matnrGroup.getParCode())) { + matnrGroup.setCode(matnrGroup.getParCode() + matnrGroup.getCode()); + } + if (!matnrGroupService.updateById(matnrGroup)) { return R.error("Update Fail"); } @@ -102,6 +155,18 @@ } @PreAuthorize("hasAuthority('manager:matnrGroup:list')") + @PostMapping("/matnrGroup/tree") + public R tree(@RequestBody(required = false) Map<String, Object> map) { + if (Objects.isNull(map)) { + return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + List<MatnrGroup> matnrs = matnrGroupService.getTreeData(map); + + return R.ok().add(matnrs); + } + + + @PreAuthorize("hasAuthority('manager:matnrGroup:list')") @PostMapping("/matnrGroup/export") public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception { ExcelUtil.build(ExcelUtil.create(matnrGroupService.list(), MatnrGroup.class), response); -- Gitblit v1.9.1