diff --git a/blade-service/logpm-basicdata/pom.xml b/blade-service/logpm-basicdata/pom.xml
index cd89c18dd..72b1ae294 100644
--- a/blade-service/logpm-basicdata/pom.xml
+++ b/blade-service/logpm-basicdata/pom.xml
@@ -61,6 +61,16 @@
${bladex.project.version}
+
+
+ org.springblade
+ blade-system-api
+ ${bladex.project.version}
+
+
+
+
+
diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataWarehouseController.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataWarehouseController.java
index 27aa00906..0d13de4d5 100644
--- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataWarehouseController.java
+++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataWarehouseController.java
@@ -16,6 +16,7 @@
*/
package com.logpm.basicdata.controller;
+import com.logpm.basicdata.dto.BasicdataWarehouseDTO;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.excel.BasicdataWarehouseExcel;
import com.logpm.basicdata.service.IBasicdataWarehouseService;
@@ -28,6 +29,7 @@ import lombok.AllArgsConstructor;
import javax.validation.Valid;
+import org.springblade.common.utils.RedisUtil;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
@@ -243,29 +245,35 @@ BasicdataWarehouseController extends BladeController {
return R.data(basicdataGoodsShelfVOList);
}
+ /**
+ * 根据当前登陆人返回当前登陆人能操作的仓库列表
+ *
+ */
+ @PostMapping("/preserveCurrentWarehouse")
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "分页", notes = "传入BasicdataGoodsShelf")
+ public R> preserveCurrentWarehouse(@RequestBody BasicdataWarehouseDTO warehouseDTO) {
+ warehouseService.preserveCurrentMyWarehouse(warehouseDTO);
+ return null;
+ }
+ /**
+ *
+ *获取当前登录人
+ */
+ @GetMapping("/getCurrentWarehouse")
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "分页", notes = "传入BasicdataGoodsShelf")
+ public R> getCurrentWarehouse() {
+ Object obj = warehouseService.getMyCurrentWarehouse();
+ return R.data(obj);
+ }
- /*
- 1. 得到仓库列表
- 根据当前登录人
- 当前人部门
- 情况
- 1、登录人部门范围大 登录人 -- 仓库 -> 一对多
- 递归查询
- 2、登录人部门就是营业部节点 登录人 -- 仓库 -> 一对一
-
- 2、存放用户选择的仓库id
- key 租户Id + 用户id
- 3、Feign 获取用户选择的仓库
- 这里考虑两种情况
- 1、用户只有一个仓库信息,直接返回
- 2、用户没有选择仓库的动作,返回null
- */
}
diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/dto/BasicdataWarehouseDTO.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/dto/BasicdataWarehouseDTO.java
new file mode 100644
index 000000000..d47e00acb
--- /dev/null
+++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/dto/BasicdataWarehouseDTO.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package com.logpm.basicdata.dto;
+
+import com.logpm.basicdata.entity.BasicdataCategoryEntity;
+import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 品类 数据传输对象实体类
+ *
+ * @author cyz
+ * @since 2023-06-02
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class BasicdataWarehouseDTO extends BasicdataWarehouseEntity {
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataWarehouseService.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataWarehouseService.java
index 07728b4fd..dc7039d44 100644
--- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataWarehouseService.java
+++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataWarehouseService.java
@@ -20,6 +20,7 @@ package com.logpm.basicdata.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.logpm.basicdata.dto.BasicdataWarehouseDTO;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.excel.BasicdataWarehouseExcel;
import com.logpm.basicdata.vo.BasicdataGoodsShelfVO;
@@ -94,4 +95,15 @@ public interface IBasicdataWarehouseService extends BaseService getMyWarehouseList();
+
+ /**
+ * 保存当前用户选择的仓库至Redis缓存中
+ * @param warehouseDTO
+ */
+ void preserveCurrentMyWarehouse(BasicdataWarehouseDTO warehouseDTO);
+
+ /**
+ * 根据当前登录用户查询Redis缓存中选择的仓库信息
+ */
+ Object getMyCurrentWarehouse();
}
diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java
index 0eeca9eec..987d2f46f 100644
--- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java
+++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java
@@ -16,20 +16,29 @@
*/
package com.logpm.basicdata.service.impl;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.nacos.shaded.com.google.gson.GsonBuilder;
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.toolkit.SqlHelper;
+import com.logpm.basicdata.dto.BasicdataWarehouseDTO;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.excel.BasicdataWarehouseExcel;
import com.logpm.basicdata.mapper.BasicdataGoodsAreaMapper;
import com.logpm.basicdata.mapper.BasicdataWarehouseMapper;
import com.logpm.basicdata.service.IBasicdataWarehouseService;
import com.logpm.basicdata.vo.BasicdataWarehouseVO;
+import com.logpm.basicdata.wrapper.BasicdataWarehouseWrapper;
import lombok.AllArgsConstructor;
+import org.springblade.common.utils.RedisUtil;
+import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
+import org.springblade.system.entity.Dept;
+import org.springblade.system.feign.IDeptClient;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -48,9 +57,16 @@ import java.util.List;
@AllArgsConstructor
public class BasicdataWarehouseServiceImpl extends BaseServiceImpl implements IBasicdataWarehouseService {
- private BasicdataWarehouseMapper warehouseMapper;
+ private final BasicdataWarehouseMapper warehouseMapper;
- private BasicdataGoodsAreaMapper goodsAreaMapper;
+ private final BasicdataGoodsAreaMapper goodsAreaMapper;
+
+ private final IDeptClient deptClient;
+
+ private final BladeRedis redis;
+
+
+// private
@Override
@@ -70,14 +86,14 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl getWarehouseAndGoodsAreaInfo() {
- List basicdataGoodsShelfVOList =warehouseMapper.getWarehouseAndGoodsAreaInfo();
+ List basicdataGoodsShelfVOList = warehouseMapper.getWarehouseAndGoodsAreaInfo();
return basicdataGoodsShelfVOList;
}
@Override
public List getWarehouseList() {
- List basicdataGoodsShelfVOList =warehouseMapper.getWarehouseList();
+ List basicdataGoodsShelfVOList = warehouseMapper.getWarehouseList();
return basicdataGoodsShelfVOList;
}
@@ -85,15 +101,15 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl longs = Func.toLongList(ids);
boolean result = false;
for (Long id : longs) {
result = SqlHelper.retBool(warehouseMapper.removeWarehouse(id));
- if (!result){
+ if (!result) {
return result;
}
}
@@ -104,8 +120,8 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl pageListName(String name) {
QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.lambda().eq(StringUtils.isNotBlank(name),BasicdataWarehouseEntity::getName,name);
- return baseMapper.selectList( queryWrapper);
+ queryWrapper.lambda().eq(StringUtils.isNotBlank(name), BasicdataWarehouseEntity::getName, name);
+ return baseMapper.selectList(queryWrapper);
}
@Override
@@ -115,29 +131,78 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl getDeptWarehouse(QueryWrapper queryWrapper) {
-
return baseMapper.selectList(queryWrapper);
}
+
+
+
+ /*
+ 1. 得到仓库列表
+ 根据当前登录人
+ 当前人部门
+ 情况
+ 1、登录人部门范围大 登录人 -- 仓库 -> 一对多
+ 递归查询
+ 2、登录人部门就是营业部节点 登录人 -- 仓库 -> 一对一
+
+
+
+
+
+
+ */
+
@Override
public List getMyWarehouseList() {
// 获取当前登陆人
BladeUser user = AuthUtil.getUser();
+ //查询出部门表
String deptId = user.getDeptId();
+ List userDeptNode = deptClient.getUserDeptNode(Long.parseLong(deptId));
+ StringBuffer depts = new StringBuffer();
+ if (Func.isEmpty(userDeptNode)) {
+ log.error("userDeptNode用户部门信息有误+{" + userDeptNode + "}");
+ return null;
+ } else {
+ userDeptNode.forEach(u -> {
+ depts.append(u.getId()).append(",");
+ });
+ }
+ String str = depts.deleteCharAt(depts.length() - 1).toString();
+ List warehouseEntityList = baseMapper.selectList(Wrappers.query().lambda().in(BasicdataWarehouseEntity::getDepartment, str));
+ return BasicdataWarehouseWrapper.build().listVO(warehouseEntityList);
+ }
- // 获取当前登陆人能操作的仓库列表
-
+ @Override
+ public void preserveCurrentMyWarehouse(BasicdataWarehouseDTO warehouseDTO) {
+// 2、存放用户选择的仓库id
+// key 租户Id + 用户id
+ BladeUser user = AuthUtil.getUser();
+ String str = user.getTenantId() +"--"+ user.getUserId();
+ redis.set(str,warehouseDTO);
+ }
- return null;
+ // 3、Feign 获取用户选择的仓库
+// 这里考虑两种情况
+// 1、用户只有一个仓库信息,直接返回
+// 2、用户没有选择仓库的动作,返回null
+ @Override
+ public Object getMyCurrentWarehouse() {
+ BladeUser user = AuthUtil.getUser();
+ String str = user.getTenantId()+"--" + user.getUserId();
+ Object o = redis.get(str);
+ return o;
}
}
diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/wrapper/BasicdataWarehouseWrapper.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/wrapper/BasicdataWarehouseWrapper.java
new file mode 100644
index 000000000..84e200389
--- /dev/null
+++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/wrapper/BasicdataWarehouseWrapper.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package com.logpm.basicdata.wrapper;
+
+import com.logpm.basicdata.entity.BasicdataBrandEntity;
+import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
+import com.logpm.basicdata.vo.BasicdataBrandVO;
+import com.logpm.basicdata.vo.BasicdataWarehouseVO;
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+
+import java.util.Objects;
+
+/**
+ * 基础品牌表 包装类,返回视图层所需的字段
+ *
+ * @author cyz
+ * @since 2023-05-16
+ */
+public class BasicdataWarehouseWrapper extends BaseEntityWrapper {
+
+ public static BasicdataWarehouseWrapper build() {
+ return new BasicdataWarehouseWrapper();
+ }
+
+ @Override
+ public BasicdataWarehouseVO entityVO(BasicdataWarehouseEntity warehouseEntity) {
+ BasicdataWarehouseVO basicdataWarehouseVO = Objects.requireNonNull(BeanUtil.copy(warehouseEntity, BasicdataWarehouseVO.class));
+
+ //User createUser = UserCache.getUser(basicdataBrand.getCreateUser());
+ //User updateUser = UserCache.getUser(basicdataBrand.getUpdateUser());
+ //basicdataBrandVO.setCreateUserName(createUser.getName());
+ //basicdataBrandVO.setUpdateUserName(updateUser.getName());
+
+ return basicdataWarehouseVO;
+ }
+
+
+}