From feffc7d9e34bdb1518ac32263aaa3d41d52bf06b Mon Sep 17 00:00:00 2001
From: youjie <272855983@qq.com>
Date: Thu, 13 Jul 2023 17:39:11 +0800
Subject: [PATCH] 增加用户库区

---
 ant-design-vue-jeecg/src/views/system/UserList.vue                                                                       | 31 ++++++++++++++++++++++++++++++-
 ant-design-vue-jeecg/src/views/system/modules/UserModal.vue                                                              | 26 ++++++++++++++++++++++++--
 huaheng-wms-core/src/main/java/org/jeecg/modules/system/controller/SysUserController.java                                |  6 ++++--
 huaheng-wms-core/src/main/java/org/jeecg/modules/system/entity/SysUser.java                                              | 20 ++++++++++++++++++--
 huaheng-wms-core/src/main/java/org/jeecg/modules/system/service/ISysUserService.java                                     |  5 +++--
 huaheng-wms-core/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java                             | 33 ++++++++++++++++++++++++++++++---
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/zone/controller/ZoneController.java                          | 60 +++++++++++++++++++++++++++++++++++-------------------------
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/zone/service/IZoneService.java                               |  8 ++++++--
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/zone/service/impl/ZoneServiceImpl.java                       | 11 +++++++++--
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/controller/InventoryHeaderController.java | 35 +++++++++++++++++++++++++----------
 10 files changed, 184 insertions(+), 51 deletions(-)

diff --git a/ant-design-vue-jeecg/src/views/system/UserList.vue b/ant-design-vue-jeecg/src/views/system/UserList.vue
index 6f6c0f8..b5d26a3 100644
--- a/ant-design-vue-jeecg/src/views/system/UserList.vue
+++ b/ant-design-vue-jeecg/src/views/system/UserList.vue
@@ -119,6 +119,12 @@
           </a-tag>
         </span>
 
+        <span slot="zoneCodes" slot-scope="zoneCodes" >
+          <a-tag v-for="zoneCode in zoneCodes" :key="zoneCode" color=pink>
+            {{ solutionZoneCode(zoneCode) }}
+          </a-tag>
+        </span>
+
         <template slot="avatarslot" slot-scope="text, record">
           <div class="anty-img-wrap">
             <a-avatar shape="square" :src="getAvatarView(record.avatar)" icon="user"/>
@@ -190,7 +196,7 @@
 import UserModal from './modules/UserModal'
 import PasswordModal from './modules/PasswordModal'
 import {putAction, getFileAccessHttpUrl} from '@/api/manage';
-import {frozenBatch, getAllWarehouseList, queryall} from '@/api/api'
+import {frozenBatch, getAllWarehouseList, queryall, getZoneList} from '@/api/api'
 import {JeecgListMixin} from '@/mixins/JeecgListMixin'
 import SysUserAgentModal from "./modules/SysUserAgentModal";
 import JInput from '@/components/jeecg/JInput'
@@ -216,6 +222,7 @@ export default {
       queryParam: {},
       recycleBinVisible: false,
       allWarehouseList: [],
+      zoneList: [],
       rolesOptions: [],
       columns: [
         /*{
@@ -287,6 +294,13 @@ export default {
           key: 'selectedWarehouses',
           scopedSlots: {customRender: 'selectedWarehouses'}
         },
+        {
+          title: '所属库区',
+          align: "center",
+          dataIndex: 'zoneCodes',
+          key: 'zoneCodes',
+          scopedSlots: {customRender: 'zoneCodes'}
+        },
         // {
         //   title: '部门',
         //   align: "center",
@@ -338,6 +352,11 @@ export default {
   },
   methods: {
     loadFrom() {
+      getZoneList().then((res) => {
+        if (res.success) {
+          this.zoneList = res.result
+        }
+      });
       getAllWarehouseList().then((res) => {
         if (res.success) {
           this.allWarehouseList = res.result
@@ -363,6 +382,16 @@ export default {
       })
       return actions.join('')
     },
+    solutionZoneCode(value) {
+      var actions = []
+      Object.keys(this.zoneList).some((key) => {
+        if (this.zoneList[key].code == ('' + value)) {
+          actions.push(this.zoneList[key].name)
+          return true
+        }
+      })
+      return actions.join('')
+    },
     solutionRole(value) {
       var actions = []
       Object.keys(this.rolesOptions).some((key) => {
diff --git a/ant-design-vue-jeecg/src/views/system/modules/UserModal.vue b/ant-design-vue-jeecg/src/views/system/modules/UserModal.vue
index b92cbd4..9cd210c 100644
--- a/ant-design-vue-jeecg/src/views/system/modules/UserModal.vue
+++ b/ant-design-vue-jeecg/src/views/system/modules/UserModal.vue
@@ -70,6 +70,15 @@
           </j-multi-select-tag>
         </a-form-model-item>
 
+        <a-form-model-item label="库区分配" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!warehouseDisable" prop="selectedZoneCode">
+          <j-multi-select-tag
+            :disabled="disableSubmit"
+            v-model="model.selectedZoneCode"
+            :options="zoneOptions"
+            placeholder="请选择仓库">
+          </j-multi-select-tag>
+        </a-form-model-item>
+
         <!--部门分配-->
         <!-- <a-form-model-item label="部门分配" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!departDisabled">
           <j-select-depart v-model="model.selecteddeparts" :multi="true" @back="backDepartInfo" :backDepart="true" :treeOpera="true">
@@ -153,7 +162,7 @@ import moment from 'moment'
 import Vue from 'vue'
 import {ACCESS_TOKEN} from "@/store/mutation-types"
 import {getAction} from '@/api/manage'
-import {addUser, editUser, queryUserRole, queryall, queryWarehouse, getAllWarehouseList} from '@/api/api'
+import {addUser, editUser, queryUserRole, queryall, queryWarehouse, getAllWarehouseList, getAllZoneList} from '@/api/api'
 import {disabledAuthFilter} from "@/utils/authFilter"
 import {duplicateCheck} from '@/api/api'
 
@@ -216,6 +225,7 @@ export default {
         queryTenantList: '/sys/tenant/queryList'
       },
       tenantsOptions: [],
+      zoneOptions:[],
       warehouseOptions: [],
       rolesOptions: [],
       nextDepartOptions: [],
@@ -227,6 +237,7 @@ export default {
     this.initRoleList()
     this.initWarehouseList()
     this.initTenantList()
+    this.initZoneList()
   },
   computed: {
     uploadAction: function () {
@@ -244,7 +255,7 @@ export default {
       //根据屏幕宽度自适应抽屉宽度
       this.resetScreenSize();
       that.userId = record.id;
-      that.model = Object.assign({}, {selectedRoles: '', selectedWarehouse: '',selecteddeparts: ''}, record);
+      that.model = Object.assign({}, {selectedRoles: '', selectedWarehouse: '',selecteddeparts: '', selectedZoneCode: ''}, record);
       //身份为上级显示负责部门,否则不显示
       if (this.model.userIdentity == 2) {
         this.departIdShow = true;
@@ -315,6 +326,17 @@ export default {
         }
       });
     },
+    initZoneList() {
+      getAllZoneList().then((res) => {
+        if (res.success) {
+          this.zoneOptions = res.result.map((item, index, arr) => {
+            let c = {label: item.name, value: item.code}
+            return c;
+          })
+          console.log('this.zoneOptions: ', this.zoneOptions)
+        }
+      });
+    },
     getWarehouse(userid) {
       queryWarehouse({userid: userid}).then((res) => {
         if (res.success) {
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/system/controller/SysUserController.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
index aaeb663..2317dec 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
@@ -172,6 +172,7 @@ public class SysUserController {
         Result<SysUser> result = new Result<SysUser>();
         String selectedRoles = jsonObject.getString("selectedRoles");
         String selectedWarehouse = jsonObject.getString("selectedWarehouse");
+        String selectedZoneCode = jsonObject.getString("selectedZoneCode");
         String selectedDeparts = jsonObject.getString("selecteddeparts");
         try {
             SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class);
@@ -186,7 +187,7 @@ public class SysUserController {
                 throw new ServiceException("仓库不能为空");
             }
             // 保存用户走一个service 保证事务
-            sysUserService.saveUser(user, selectedRoles, selectedDeparts, selectedWarehouse);
+            sysUserService.saveUser(user, selectedRoles, selectedDeparts, selectedWarehouse, selectedZoneCode);
             result.success("添加成功!");
         } catch (Exception e) {
             log.error(e.getMessage(), e);
@@ -213,6 +214,7 @@ public class SysUserController {
                 user.setPassword(sysUser.getPassword());
                 String roles = jsonObject.getString("selectedRoles");
                 String selectedWarehouse = jsonObject.getString("selectedWarehouse");
+                String selectedZoneCode = jsonObject.getString("selectedZoneCode");
                 String departs = jsonObject.getString("selecteddeparts");
                 if (oConvertUtils.isEmpty(departs)) {
                     // vue3.0前端只传递了departIds
@@ -222,7 +224,7 @@ public class SysUserController {
                     throw new ServiceException("仓库不能为空");
                 }
                 // 修改用户走一个service 保证事务
-                sysUserService.editUser(user, roles, departs, selectedWarehouse);
+                sysUserService.editUser(user, roles, departs, selectedWarehouse, selectedZoneCode);
                 result.success("修改成功!");
             }
         } catch (Exception e) {
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/system/entity/SysUser.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/system/entity/SysUser.java
index de78f2e..4673056 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/system/entity/SysUser.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/system/entity/SysUser.java
@@ -193,14 +193,30 @@ public class SysUser implements Serializable {
 
     /** 设备id uniapp推送用 */
     private String clientId;
-    
+
+    /** 所属库区 **/
+    private String zoneCode;
+
     @TableField(exist = false)
     private List<String> selectedWarehouses;
-    
+
     public void setSelectedWarehouse(String selectedWarehouse) {
         if (!StringUtils.isEmpty(selectedWarehouse)) {
             this.selectedWarehouse = selectedWarehouse;
             this.selectedWarehouses = Arrays.asList(selectedWarehouse.split(","));
         }
     }
+
+    @TableField(exist = false)
+    private List<String> zoneCodes;
+
+    public void setZoneCode(String zoneCode) {
+        if (!StringUtils.isEmpty(zoneCode)) {
+            this.zoneCode = zoneCode;
+            this.zoneCodes = Arrays.asList(zoneCode.split(","));
+        } else {
+            this.zoneCode = zoneCode;
+        }
+    }
+
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/system/service/ISysUserService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
index 093b8a0..390e9db 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
@@ -231,7 +231,7 @@ public interface ISysUserService extends IService<SysUser> {
      * @param selectedRoles   选择的角色id,多个以逗号隔开
      * @param selectedDeparts 选择的部门id,多个以逗号隔开
      */
-    void saveUser(SysUser user, String selectedRoles, String selectedDeparts, String selectedWarehouse);
+    void saveUser(SysUser user, String selectedRoles, String selectedDeparts, String selectedWarehouse, String selectedZoneCode);
 
     /**
      * 编辑用户
@@ -239,7 +239,7 @@ public interface ISysUserService extends IService<SysUser> {
      * @param roles   选择的角色id,多个以逗号隔开
      * @param departs 选择的部门id,多个以逗号隔开
      */
-    void editUser(SysUser user, String roles, String departs, String selectedWarehouse);
+    void editUser(SysUser user, String roles, String departs, String selectedWarehouse, String selectedZoneCode);
 
     /** userId转为username */
     List<String> userIdToUsername(Collection<String> userIdList);
@@ -251,4 +251,5 @@ public interface ISysUserService extends IService<SysUser> {
      */
     public List<Map<String, Object>> getWarehouseByUserCode(String userCode);
 
+    public SysUser getUserByRealName(String realName);
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
index 49bf95c..4f9124d 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
@@ -23,10 +23,10 @@ import org.jeecg.modules.system.service.ISysUserService;
 import org.jeecg.modules.system.vo.SysUserDepVo;
 import org.jeecg.modules.wms.config.sysUserWarehouse.entity.SysUserWarehouse;
 import org.jeecg.modules.wms.config.sysUserWarehouse.service.ISysUserWarehouseService;
-import org.jeecg.modules.wms.config.warehouse.entity.Warehouse;
 import org.jeecg.modules.wms.config.warehouse.service.IWarehouseService;
 import org.jeecg.utils.HuahengJwtUtil;
 import org.jeecg.utils.StringUtils;
+import org.jeecg.utils.constant.QuantityConstant;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.stereotype.Service;
@@ -489,7 +489,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void saveUser(SysUser user, String selectedRoles, String selectedDeparts, String selectedWarehouse) {
+    public void saveUser(SysUser user, String selectedRoles, String selectedDeparts, String selectedWarehouse, String selectedZoneCode) {
         // step.1 保存用户
         this.save(user);
         // step.2 保存角色
@@ -520,12 +520,20 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                 }
             }
         }
+
+        SysUser sysUser = new SysUser();
+        sysUser.setId(user.getId());
+        sysUser.setZoneCode(selectedZoneCode);
+        if (!sysUserService.updateById(sysUser)) {
+            throw new JeecgBootException("更新用户库区失败");
+        }
+
     }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
     @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true)
-    public void editUser(SysUser user, String roles, String departs, String selectedWarehouse) {
+    public void editUser(SysUser user, String roles, String departs, String selectedWarehouse, String selectedZoneCode) {
         // step.1 修改用户基础信息
         this.updateById(user);
         // step.2 修改角色
@@ -593,6 +601,17 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                 }
             }
         }
+
+        SysUser sysUser = new SysUser();
+        sysUser.setId(user.getId());
+        if (StringUtils.isEmpty(selectedZoneCode)) {
+            sysUser.setZoneCode(QuantityConstant.EMPTY_STRING);
+        } else {
+            sysUser.setZoneCode(selectedZoneCode);
+        }
+        if (!sysUserService.updateById(sysUser)) {
+            throw new JeecgBootException("更新用户库区失败");
+        }
     }
 
     @Override
@@ -617,4 +636,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         return userMapper.getWarehouseByUserName(username);
     }
 
+    @Override
+    public SysUser getUserByRealName(String realName) {
+        LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper = Wrappers.lambdaQuery();
+        sysUserLambdaQueryWrapper.eq(SysUser::getRealname, realName);
+        SysUser sysUser = getOne(sysUserLambdaQueryWrapper);
+        return sysUser;
+    }
+
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/zone/controller/ZoneController.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/zone/controller/ZoneController.java
index f503e32..456bc59 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/zone/controller/ZoneController.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/zone/controller/ZoneController.java
@@ -2,45 +2,36 @@ package org.jeecg.modules.wms.config.zone.controller;
 
 import java.util.Arrays;
 import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
+
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.utils.HuahengJwtUtil;
-import org.jeecg.common.util.oConvertUtils;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import lombok.extern.slf4j.Slf4j;
-
+import org.jeecg.modules.system.entity.SysUser;
+import org.jeecg.modules.system.service.ISysUserService;
 import org.jeecg.modules.wms.config.zone.entity.Zone;
 import org.jeecg.modules.wms.config.zone.service.IZoneService;
+import org.jeecg.utils.HuahengJwtUtil;
 import org.jeecg.utils.StringUtils;
-import org.jeecgframework.poi.excel.ExcelImportUtil;
-import org.jeecgframework.poi.excel.def.NormalExcelConstants;
-import org.jeecgframework.poi.excel.entity.ExportParams;
-import org.jeecgframework.poi.excel.entity.ImportParams;
-import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
-import org.jeecg.common.system.base.controller.JeecgController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
-import com.alibaba.fastjson.JSON;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+import cn.hutool.core.util.StrUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.jeecg.common.aspect.annotation.AutoLog;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * @Description: 库区管理
@@ -56,6 +47,9 @@ public class ZoneController extends JeecgController<Zone, IZoneService> {
     @Autowired
     private IZoneService zoneService;
 
+    @Resource
+    private ISysUserService sysUserService;
+
     /**
      * 分页列表查询
      * @param  zone
@@ -180,7 +174,23 @@ public class ZoneController extends JeecgController<Zone, IZoneService> {
     public Result<?> getZoneList(HttpServletRequest req) {
         LambdaQueryWrapper<Zone> zoneLambdaQueryWrapper = Wrappers.lambdaQuery();
         HuahengJwtUtil.setWarehouseCode(zoneLambdaQueryWrapper, Zone.class, req);
+        String realName = HuahengJwtUtil.getCurrentOperator();
+        if (StringUtils.isNotEmpty(realName)) {
+            SysUser sysUser = sysUserService.getUserByRealName(realName);
+            if (StringUtils.isNotEmpty(sysUser.getZoneCode())) {
+                zoneLambdaQueryWrapper.in(Zone::getCode, Arrays.asList(sysUser.getZoneCode().split(StrUtil.COMMA)));
+            }
+        }
         List<Zone> zoneList = zoneService.list(zoneLambdaQueryWrapper);
         return Result.OK(zoneList);
     }
+
+    @RequestMapping(value = "/getAllZoneList", method = RequestMethod.GET)
+    public Result<List<Zone>> getAllZoneList() {
+        Result<List<Zone>> result = new Result<>();
+        List<Zone> list = zoneService.getAllZoneList();
+        result.setResult(list);
+        result.setSuccess(true);
+        return result;
+    }
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/zone/service/IZoneService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/zone/service/IZoneService.java
index 39fd657..5961946 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/zone/service/IZoneService.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/zone/service/IZoneService.java
@@ -1,9 +1,11 @@
 package org.jeecg.modules.wms.config.zone.service;
 
-import com.baomidou.mybatisplus.extension.service.IService;
-import org.jeecg.modules.wms.config.location.entity.Location;
+import java.util.List;
+
 import org.jeecg.modules.wms.config.zone.entity.Zone;
 
+import com.baomidou.mybatisplus.extension.service.IService;
+
 /**
  * @Description: 库区管理
  * @Author:      jeecg-boot
@@ -13,4 +15,6 @@ import org.jeecg.modules.wms.config.zone.entity.Zone;
 public interface IZoneService extends IService<Zone> {
 
     Zone getZoneByCode(String zoneCode, String wareohuseCode);
+
+    public List<Zone> getAllZoneList();
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/zone/service/impl/ZoneServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/zone/service/impl/ZoneServiceImpl.java
index 73af468..bb31fd3 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/zone/service/impl/ZoneServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/zone/service/impl/ZoneServiceImpl.java
@@ -1,12 +1,14 @@
 package org.jeecg.modules.wms.config.zone.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import java.util.List;
+
 import org.jeecg.modules.wms.config.zone.entity.Zone;
 import org.jeecg.modules.wms.config.zone.mapper.ZoneMapper;
 import org.jeecg.modules.wms.config.zone.service.IZoneService;
 import org.springframework.stereotype.Service;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 /**
@@ -25,4 +27,9 @@ public class ZoneServiceImpl extends ServiceImpl<ZoneMapper, Zone> implements IZ
         Zone zone = getOne(zoneLambdaQueryWrapper);
         return zone;
     }
+
+    @Override
+    public List<Zone> getAllZoneList() {
+        return list();
+    }
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/controller/InventoryHeaderController.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/controller/InventoryHeaderController.java
index 67d228f..00be7a0 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/controller/InventoryHeaderController.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/controller/InventoryHeaderController.java
@@ -6,6 +6,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
@@ -17,11 +18,14 @@ import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.system.entity.SysUser;
+import org.jeecg.modules.system.service.ISysUserService;
 import org.jeecg.modules.wms.inventory.inventoryHeader.entity.InventoryDetail;
 import org.jeecg.modules.wms.inventory.inventoryHeader.entity.InventoryHeader;
 import org.jeecg.modules.wms.inventory.inventoryHeader.service.IInventoryDetailService;
 import org.jeecg.modules.wms.inventory.inventoryHeader.service.IInventoryHeaderService;
 import org.jeecg.utils.HuahengJwtUtil;
+import org.jeecg.utils.StringUtils;
 import org.jeecg.utils.constant.QuantityConstant;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
@@ -29,21 +33,15 @@ import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ImportParams;
 import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
 import io.swagger.annotations.Api;
@@ -68,6 +66,8 @@ public class InventoryHeaderController extends JeecgController<InventoryHeader, 
     @Autowired
     private IInventoryDetailService inventoryDetailService;
 
+    @Resource
+    private ISysUserService sysUserService;
     /*---------------------------------主表处理-begin-------------------------------------*/
 
     /**
@@ -84,9 +84,24 @@ public class InventoryHeaderController extends JeecgController<InventoryHeader, 
     public Result<IPage<InventoryHeader>> queryPageList(InventoryHeader inventoryHeader, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
         @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) {
         HuahengJwtUtil.setWarehouseCode(req, inventoryHeader);
+        String realName = HuahengJwtUtil.getCurrentOperator();
+        String inventoryHeaderZoneCode = inventoryHeader.getZoneCode();
+        LambdaQueryWrapper<InventoryHeader> inventoryHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
         QueryWrapper<InventoryHeader> queryWrapper = QueryGenerator.initQueryWrapper(inventoryHeader, req.getParameterMap());
         Page<InventoryHeader> page = new Page<InventoryHeader>(pageNo, pageSize);
         IPage<InventoryHeader> pageList = inventoryHeaderService.page(page, queryWrapper);
+        if (StringUtils.isEmpty(inventoryHeaderZoneCode)) {
+            if (StringUtils.isNotEmpty(realName)) {
+                SysUser sysUser = sysUserService.getUserByRealName(realName);
+                if (sysUser != null) {
+                    String zoneCode = sysUser.getZoneCode();
+                    if (StringUtils.isNotEmpty(zoneCode)) {
+                        String[] zoneCodes = zoneCode.split(",");
+                        inventoryHeaderLambdaQueryWrapper.in(InventoryHeader::getZoneCode, Arrays.asList(zoneCodes));
+                    }
+                }
+            }
+        }
         return Result.OK(pageList);
     }
 
@@ -235,7 +250,7 @@ public class InventoryHeaderController extends JeecgController<InventoryHeader, 
         this.inventoryDetailService.removeByIds(Arrays.asList(ids.split(",")));
         return Result.OK("批量删除成功!");
     }
-    
+
     /**
      * 导出
      * @return
--
libgit2 0.22.2