diff --git a/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/半盘禁用.png b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/半盘禁用.png
new file mode 100644
index 0000000..cc7e7a1
--- /dev/null
+++ b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/半盘禁用.png
diff --git a/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/半盘空闲.png b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/半盘空闲.png
new file mode 100644
index 0000000..24a71eb
--- /dev/null
+++ b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/半盘空闲.png
diff --git a/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/半盘锁定.png b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/半盘锁定.png
new file mode 100644
index 0000000..f194f89
--- /dev/null
+++ b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/半盘锁定.png
diff --git a/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/整盘禁用.png b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/整盘禁用.png
new file mode 100644
index 0000000..405af2e
--- /dev/null
+++ b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/整盘禁用.png
diff --git a/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/整盘空闲.png b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/整盘空闲.png
new file mode 100644
index 0000000..81cc782
--- /dev/null
+++ b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/整盘空闲.png
diff --git a/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/整盘锁定.png b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/整盘锁定.png
new file mode 100644
index 0000000..5de1dc6
--- /dev/null
+++ b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/整盘锁定.png
diff --git a/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/空.png b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/空.png
new file mode 100644
index 0000000..963d22b
--- /dev/null
+++ b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/空.png
diff --git a/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/空柜禁用.png b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/空柜禁用.png
new file mode 100644
index 0000000..f2c5019
--- /dev/null
+++ b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/空柜禁用.png
diff --git a/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/空柜空闲.png b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/空柜空闲.png
new file mode 100644
index 0000000..db1e5c4
--- /dev/null
+++ b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/空柜空闲.png
diff --git a/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/空柜锁定.png b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/空柜锁定.png
new file mode 100644
index 0000000..e4acf03
--- /dev/null
+++ b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/空柜锁定.png
diff --git a/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/空盘禁用.png b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/空盘禁用.png
new file mode 100644
index 0000000..cbf57da
--- /dev/null
+++ b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/空盘禁用.png
diff --git a/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/空盘空闲.png b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/空盘空闲.png
new file mode 100644
index 0000000..6292c16
--- /dev/null
+++ b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/空盘空闲.png
diff --git a/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/空盘锁定.png b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/空盘锁定.png
new file mode 100644
index 0000000..0723711
--- /dev/null
+++ b/jeecg-boot-master/ant-design-vue-jeecg/src/assets/icon/空盘锁定.png
diff --git a/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/modules/ContainerPrintForm.vue b/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/modules/ContainerPrintForm.vue
index 48bfa16..7cf885a 100644
--- a/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/modules/ContainerPrintForm.vue
+++ b/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/modules/ContainerPrintForm.vue
@@ -12,10 +12,10 @@
         <tbody >
           <tr style=" width:80px;height:60px;">
             <td >
-              <barcode :value="source.code" :margin="0" :margin-bottom="20" :margin-top="10" :margin-left="10" :height="120" font-size="30"></barcode>
+              <barcode :value="source.code" :margin="15" :margin-bottom="20" :margin-top="40"    :margin-left="0" :height="120" font-size="30"></barcode>
             </td>
             <td >
-              <barcode :value="source.code" :margin="0" :margin-bottom="20" :margin-top="10" :margin-left="10" :height="120" font-size="30"></barcode>
+              <barcode :value="source.code" :margin="15" :margin-bottom="20" :margin-top="40"  :margin-left="10" :height="120" font-size="30"></barcode>
             </td>
           </tr>
         </tbody>
diff --git a/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/modules/LocationPrintForm.vue b/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/modules/LocationPrintForm.vue
index 161a51a..c6e51d8 100644
--- a/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/modules/LocationPrintForm.vue
+++ b/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/modules/LocationPrintForm.vue
@@ -12,10 +12,10 @@
         <tbody >
         <tr style=" width:80px;height:60px;">
           <td >
-            <barcode :value="source.code" :margin="0" :margin-bottom="20" :margin-top="10" :margin-left="10" :height="120" font-size="30"></barcode>
+            <barcode :value="source.code" :margin="15" :margin-bottom="20" :margin-top="40"    :margin-left="0" :height="120" font-size="30"></barcode>
           </td>
           <td >
-            <barcode :value="source.code" :margin="0" :margin-bottom="20" :margin-top="10" :margin-left="10" :height="120" font-size="30"></barcode>
+            <barcode :value="source.code" :margin="15" :margin-bottom="20" :margin-top="40"    :margin-left="0" :height="120" font-size="30"></barcode>
           </td>
         </tr>
         </tbody>
diff --git a/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/monitor/locationstatus.vue b/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/monitor/locationstatus.vue
new file mode 100644
index 0000000..cd1a94b
--- /dev/null
+++ b/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/monitor/locationstatus.vue
@@ -0,0 +1,154 @@
+<template>
+<!--  <style>-->
+<!--    #img_list li{-->
+<!--      font-size: 10px;-->
+<!--      /*width: 50px;*/-->
+<!--      text-align: left;-->
+<!--      margin: 5px 20px 5px 5px;-->
+<!--    }-->
+<!--    #img_list li img{-->
+<!--      height: 35px;-->
+<!--      width: 35px;-->
+<!--    }-->
+<!--    #info_list{-->
+<!--      width: 100%;-->
+<!--      display:inline-block;-->
+<!--    }-->
+<!--    #info_list li{-->
+<!--      margin:8px 3px 0 5px;-->
+<!--    }-->
+<!--    #info_list li span{-->
+<!--      font-size: 12px;-->
+<!--      display: inline-block;-->
+<!--      /*width: 65px;*/-->
+<!--      text-align: center;-->
+<!--    }-->
+<!--    .grid{-->
+<!--      display: inline-block;-->
+<!--      width: 50px;-->
+<!--      height: 50px;-->
+<!--      /*margin: 12px 6px;*/-->
+<!--      margin-bottom: 6px;-->
+<!--      background-size:cover;-->
+<!--      /*background-image: url("../img/icon/空柜空闲.png");*/-->
+<!--    }-->
+<!--    #location span{-->
+<!--      display: inline-block;-->
+<!--      text-align: right;-->
+<!--      width: 50px;-->
+<!--      margin-right: 10px;-->
+<!--    }-->
+<!--  </style>-->
+  <div class="container-div">
+    <div class="row">
+      <div class="col-sm-12 select-info">
+        <form id="container-form">
+          <div class="select-list">
+            <ul id="select_info">
+              <li>
+                <select id="zoneCode" name="zoneCode" style="width: 100px">
+                  <option selected></option>
+                </select>
+              </li>
+              <li>
+                第
+                <select id="editable-num" name="num" style="width: 70px">
+                </select>
+              </li>
+              <li>
+                <select id="editable-select" name="col" style="width: 70px">
+                  <option value="row" selected>行</option>
+                  <option value="line">列</option>
+                  <option value="layer">层</option>
+                </select>
+              </li>
+              <!--                        <li>货主编码:-->
+              <!--                            <input type="text" name="receiptCompanyCode" id="receiptCompanyCode">-->
+              <!--                        </li>-->
+              <li>
+                <a class="btn btn-primary btn-rounded btn-sm" onclick="Search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+              </li>
+            </ul>
+          </div>
+        </form>
+      </div>
+      <div class="col-sm-12 select-info">
+        <form id="receiptHeader-form">
+          <div class="select-list">
+            <ul id="img_list" style="">
+              <li>
+                空柜空闲:<img src="~@/assets/icon/空柜空闲.png">
+              </li>
+              <li>
+                空盘空闲:<img src="~@/assets/icon/空盘空闲.png">
+              </li>
+              <li>
+                半盘空闲:<img src="~@/assets/icon/半盘空闲.png">
+              </li>
+              <li>
+                整盘空闲:<img src="~@/assets/icon/整盘空闲.png">
+              </li>
+              <li>
+                空柜锁定:<img src="~@/assets/icon/空柜锁定.png">
+              </li>
+              <li>
+                空盘锁定:<img src="~@/assets/icon/空盘锁定.png">
+              </li>
+              <li>
+                半盘锁定:<img src="~@/assets/icon/半盘锁定.png">
+              </li>
+              <li>
+                整盘锁定:<img src="~@/assets/icon/整盘锁定.png">
+              </li>
+              <li>
+                空柜禁用:<img src="~@/assets/icon/空柜禁用.png">
+              </li>
+              <li>
+                空盘禁用:<img src="~@/assets/icon/空盘禁用.png">
+              </li>
+              <li>
+                半盘禁用:<img src="~@/assets/icon/半盘禁用.png">
+              </li>
+              <li>
+                整盘禁用:<img src="~@/assets/icon/整盘禁用.png">
+              </li>
+              <li><span style="font-size: 12px">库位统计情况:</span>
+                <input style="width: 400px;  font-size: 12px"  type="text" id="zone" disabled/>
+              </li>
+            </ul><br><br>
+            <ul id="info_list">
+              <li><span>库位:</span><input type="text" id="code" disabled/></li>
+              <li><span>容器编码:</span><input type="text" id="containerCode" disabled/></li>
+              <li><span>物料信息:<select id="material" style="width: auto"><option>无</option></select></span></li>
+              <li>
+                <a class="btn btn-success btn-rounded btn-sm" onclick="checkLocationCode()" ><i class="fa fa-eye"></i>&nbsp;出库查看</a>
+              </li>
+            </ul>
+            <!--                    <ul>-->
+            <!--                        <li style="float:left;margin-left: 40px"><button type="button" class="btn btn-sm btn-success" onclick="searchLocation()">查看库位</button></li>-->
+            <!--                        <li style="float:left;margin-left: 20px"><button type="button" class="btn btn-sm btn-success" onclick="searchInventory()">查看库存</button></li>-->
+            <!--                    </ul>-->
+          </div>
+        </form>
+      </div>
+      <div class="col-sm-12 select-info">
+        <!--style="width: 100%;overflow-x: scroll;white-space:nowrap"-->
+        <div id="borderCol" style="overflow-y: scroll;white-space:nowrap">
+          <div class="location" id="location">
+            <!--<div class="grid"></div>-->
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+    export default {
+        name: 'locationstatus'
+    }
+</script>
+
+<style scoped>
+
+</style>
\ No newline at end of file
diff --git a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/controller/LocationController.java b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/controller/LocationController.java
index 37c5ae5..2544fa9 100644
--- a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/controller/LocationController.java
+++ b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/controller/LocationController.java
@@ -184,6 +184,23 @@ public class LocationController extends JeecgController<Location, ILocationServi
 		return Result.OK("批量删除成功!");
 	}
 
+
+
+	 /**
+	  * 查询库位列表
+	  * @return
+	  */
+	 @ApiOperation(value="库位监控-查询库位列表", notes="库位监控-查询库位列表")
+	 @GetMapping(value = "/getAllLocation")
+	 public Result getAllLocation(String type) {
+		 if(StringUtils.isEmpty(type)) {
+			 return Result.error("type不能为空");
+		 }
+		 return Result.OK(locationService.getAllLocation(type));
+	 }
+
+
+
 	/**
 	 * 通过id查询
 	 *
diff --git a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/entity/LocationInfo.java b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/entity/LocationInfo.java
new file mode 100644
index 0000000..e5ff7b4
--- /dev/null
+++ b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/entity/LocationInfo.java
@@ -0,0 +1,17 @@
+package org.jeecg.modules.wms.config.location.entity;
+
+import lombok.Data;
+
+/**
+ *
+ * @author Enzo Cotter
+ * @date 2019/10/25
+ */
+@Data
+public class LocationInfo {
+    private long maxRow;
+    private long minRow = 1;
+    private long maxLine;
+    private long maxLayer;
+    private long maxGrid;
+}
diff --git a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/mapper/LocationMapper.java b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/mapper/LocationMapper.java
index 9c138a6..bdebe71 100644
--- a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/mapper/LocationMapper.java
+++ b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/mapper/LocationMapper.java
@@ -14,4 +14,9 @@ import org.jeecg.modules.wms.config.location.entity.Location;
  */
 public interface LocationMapper extends BaseMapper<Location> {
 
+    Location getAllLocation(@Param("warehouseCode") String warehouseCode, @Param("type") String type);
+
+
+    int getFirstRowOfZone(@Param("warehouseCode") String warehouseCode, @Param("locationType") String locationType);
+
 }
diff --git a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/service/ILocationService.java b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/service/ILocationService.java
index 0df9608..61e94a2 100644
--- a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/service/ILocationService.java
+++ b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/service/ILocationService.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.wms.config.location.entity.BatchLocation;
 import org.jeecg.modules.wms.config.location.entity.Location;
+import org.jeecg.modules.wms.config.location.entity.LocationInfo;
 
 import java.util.List;
 
@@ -39,4 +40,6 @@ public interface ILocationService extends IService<Location> {
     boolean haveUncompleteTaskInNear(Location location);
 
     Result batchAdd(BatchLocation batchLocation);
+
+    LocationInfo getAllLocation(String type);
 }
diff --git a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/service/impl/LocationServiceImpl.java b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/service/impl/LocationServiceImpl.java
index 29d7a68..572466c 100644
--- a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/service/impl/LocationServiceImpl.java
+++ b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/service/impl/LocationServiceImpl.java
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.wms.config.location.entity.BatchLocation;
 import org.jeecg.modules.wms.config.location.entity.Location;
+import org.jeecg.modules.wms.config.location.entity.LocationInfo;
 import org.jeecg.modules.wms.config.location.mapper.LocationMapper;
 import org.jeecg.modules.wms.config.location.service.ILocationService;
 import org.jeecg.modules.wms.config.locationType.entity.LocationType;
@@ -42,6 +43,8 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i
     private ILocationTypeService locationTypeService;
     @Resource
     private IZoneService zoneService;
+    @Resource
+    private LocationMapper locationMapper;
 
     @Override
     public Location getLocationByCode(String locationCode, String warehouseCode) {
@@ -332,6 +335,22 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i
         return Result.ok("批量增加库位成功");
     }
 
+    @Override
+    public LocationInfo getAllLocation(String type) {
+        if (StringUtils.isNotEmpty(type)) {
+            Location location = locationMapper.getAllLocation("sysLoginModel.getWarehouseCode()", type);
+            LocationInfo locationInfo = new LocationInfo();
+            locationInfo.setMaxRow(location.getRow());
+            locationInfo.setMaxLine(location.getIcolumn());
+            locationInfo.setMaxLayer(location.getLayer());
+            locationInfo.setMaxGrid(location.getGrid());
+            int minRow = locationMapper.getFirstRowOfZone("ShiroUtils.getWarehouseCode()", type);
+            locationInfo.setMinRow(minRow);
+            return locationInfo;
+        }
+        return null;
+    }
+
     private boolean getOutSideCanMove(Location location) {
         Location locaiton2 = getInsideNear(location);
         if (locaiton2.getStatus().equals(QuantityConstant.STATUS_LOCATION_LOCK)) {
diff --git a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/monitor/locationstatus/controller/LocationStatusController.java b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/monitor/locationstatus/controller/LocationStatusController.java
new file mode 100644
index 0000000..b4bab32
--- /dev/null
+++ b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/monitor/locationstatus/controller/LocationStatusController.java
@@ -0,0 +1,25 @@
+package org.jeecg.modules.wms.monitor.locationstatus.controller;
+
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.jeecg.modules.wms.framework.controller.BaseController;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+/**
+ * Created by Enzo Cotter on 2019/10/25.
+ */
+@Controller
+@RequestMapping("/monitor/locationstatus")
+public class LocationStatusController extends BaseController {
+
+    private String prefix = "monitor/locationstatus";
+
+    @RequiresPermissions("locationstatus:bill:view")
+    @GetMapping()
+    public String locationStatus()
+    {
+        return prefix + "/locationstatus";
+    }
+
+}