From 121c207b74712e300f5ff0c6314953bf4883b05f Mon Sep 17 00:00:00 2001 From: hongchao <3228015117@qq.com> Date: Wed, 7 Jan 2026 14:46:27 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=94=A8=E6=88=B7deptId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ma/controller/TypeController.java | 16 ++++++++++ .../bonus/material/ma/mapper/TypeMapper.java | 6 ++++ .../material/ma/service/ITypeService.java | 3 ++ .../ma/service/impl/TypeServiceImpl.java | 30 +++++++++++++++++++ .../mapper/material/ma/TypeMapper.xml | 18 +++++++++++ 5 files changed, 73 insertions(+) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeController.java index 4dfbc6b9..cc3dd98b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeController.java @@ -7,14 +7,17 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.NotNull; import cn.hutool.core.convert.Convert; +import cn.hutool.system.SystemUtil; import com.bonus.common.biz.annotation.StoreLog; import com.bonus.common.biz.config.ListPagingUtil; import com.bonus.common.core.utils.ServletUtils; import com.bonus.common.log.enums.OperaType; +import com.bonus.common.security.utils.SecurityUtils; import com.bonus.material.common.annotation.PreventRepeatSubmit; import com.bonus.material.ma.domain.MaTypeHistory; import com.bonus.material.ma.domain.vo.MaTypeVo; import com.bonus.material.ma.domain.vo.MaTypeSelectVo; +import com.bonus.system.api.domain.SysUser; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.BooleanUtils; @@ -310,4 +313,17 @@ public class TypeController extends BaseController { List list = typeService.getUserList(type); return AjaxResult.success(list); } + + + /** + * 获取用户部门id + * @param user + * @return + */ + @ApiOperation(value = "获取用户部门id") + @GetMapping("/getUserDeptId") + public AjaxResult getUserDeptId(SysUser user) { + Long deptId = typeService.getUserDeptId(user); + return AjaxResult.success(deptId); + } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/TypeMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/TypeMapper.java index cdfdf8b6..1b29817c 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/TypeMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/TypeMapper.java @@ -10,6 +10,8 @@ import com.bonus.material.ma.domain.Type; import com.bonus.material.ma.domain.vo.MaTypeConfigVo; import com.bonus.material.ma.domain.vo.MaTypeVo; import com.bonus.material.ma.domain.vo.MaTypeSelectVo; +import com.bonus.system.api.domain.SysDept; +import com.bonus.system.api.domain.SysUser; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -271,4 +273,8 @@ public interface TypeMapper { * @return */ Type selectUserIdsByPatentId(Long parentId); + + SysUser getUserDeptId(Long userId); + + SysDept getDeptIdByUserId(Long deptId); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/ITypeService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/ITypeService.java index f3ffb9e2..824f37c6 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/ITypeService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/ITypeService.java @@ -10,6 +10,7 @@ import com.bonus.material.ma.domain.Type; import com.bonus.material.ma.domain.vo.MaTypeConfigVo; import com.bonus.material.ma.domain.vo.MaTypeVo; import com.bonus.material.ma.domain.vo.MaTypeSelectVo; +import com.bonus.system.api.domain.SysUser; /** * 物资类型Service接口 @@ -162,4 +163,6 @@ public interface ITypeService { * @return */ List getListByParentIds(List parentIds, MaTypeVo maTypeVo); + + Long getUserDeptId(SysUser user); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeServiceImpl.java index 784b1cfb..893ee70d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeServiceImpl.java @@ -27,6 +27,8 @@ import com.bonus.material.settlement.domain.SltAgreementInfo; import com.bonus.material.settlement.mapper.SltAgreementInfoMapper; import com.bonus.material.warehouse.domain.WhHouseSet; import com.bonus.material.warehouse.service.IWhHouseSetService; +import com.bonus.system.api.domain.SysDept; +import com.bonus.system.api.domain.SysUser; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import com.bonus.material.ma.mapper.TypeMapper; @@ -993,4 +995,32 @@ public class TypeServiceImpl implements ITypeService { } + /** + * 获取用户部门id + * @param user + * @return + */ + @Override + public Long getUserDeptId(SysUser user) { + Long userId = SecurityUtils.getLoginUser().getUserid(); + SysUser sysUser = typeMapper.getUserDeptId(userId); + if (sysUser != null) { + //获取祖籍部门id + SysDept sysDept = typeMapper.getDeptIdByUserId(sysUser.getDeptId()); + if (sysDept != null && sysDept.getAncestors() != null) { + String ancestors = sysDept.getAncestors(); + String[] ancestorArray = ancestors.split(","); + + // 计算逗号数量(数组长度-1) + int commaCount = ancestorArray.length - 1; + + // 根据逗号数量决定取哪个值 + if (commaCount == 2) { // 两个逗号,如 "0,100,101" + // 取最后一个数据 + sysUser.setDeptId(Long.valueOf(ancestorArray[ancestorArray.length - 1])); + } + } + } + return sysUser.getDeptId(); + } } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/TypeMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/TypeMapper.xml index 99ec76ec..9356bf20 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/TypeMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/TypeMapper.xml @@ -1334,4 +1334,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" t.del_flag = 0 AND t.parent_id = #{parentId} LIMIT 1 + +