From 205d54318995c878b7eb786ab4cac355b43e1ebf Mon Sep 17 00:00:00 2001
From: TanYibin <5491541@qq.com>
Date: Tue, 28 Mar 2023 11:40:51 +0800
Subject: [PATCH] 库位比较提交(1)

---
 ant-design-vue-jeecg/src/views/system/inventory/InventoryHeaderList.vue                                    |   6 +++---
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/system/entity/SystemAuthenticationDto.java        |  14 ++++++++++++++
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/controller/LocationController.java    |  16 ++++++++++++++++
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/CompareLocationDto.java           |  38 ++++++++++++++++++++++++++++++++++++++
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/WcsLocationDto.java               |  23 +++++++++++++++++++++++
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/WcsResultDto.java                 |  20 ++++++++++++++++++++
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/ILocationService.java         |   5 +++++
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/impl/LocationServiceImpl.java | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 huaheng-wms-core/src/main/java/org/jeecg/utils/constant/QuantityConstant.java                              |  17 ++++++++---------
 9 files changed, 274 insertions(+), 12 deletions(-)
 create mode 100644 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/CompareLocationDto.java
 create mode 100644 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/WcsLocationDto.java
 create mode 100644 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/WcsResultDto.java

diff --git a/ant-design-vue-jeecg/src/views/system/inventory/InventoryHeaderList.vue b/ant-design-vue-jeecg/src/views/system/inventory/InventoryHeaderList.vue
index 48a42bf..fa27ae7 100644
--- a/ant-design-vue-jeecg/src/views/system/inventory/InventoryHeaderList.vue
+++ b/ant-design-vue-jeecg/src/views/system/inventory/InventoryHeaderList.vue
@@ -121,8 +121,8 @@
 
         <span slot="action" slot-scope="text, record">
           <a v-has="'inventoryHeader:edit'" @click="handleEdit(record)">编辑<a-divider type="vertical"/></a>
-          <a-dropdown>
-<!--            <a class="ant-dropdown-link" >更多 <a-icon  type="down"/></a>-->
+          <!-- <a-dropdown>
+           <a class="ant-dropdown-link" >更多 <a-icon  type="down"/></a>
             <a-menu slot="overlay" v-has="'inventoryHeader:delete'">
               <a-menu-item>
                 <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
@@ -130,7 +130,7 @@
                 </a-popconfirm>
               </a-menu-item>
             </a-menu>
-          </a-dropdown>
+          </a-dropdown> -->
         </span>
 
       </a-table>
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/system/entity/SystemAuthenticationDto.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/system/entity/SystemAuthenticationDto.java
index 754bbbf..6885d03 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/system/entity/SystemAuthenticationDto.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/system/entity/SystemAuthenticationDto.java
@@ -1,5 +1,9 @@
 package org.jeecg.modules.wms.api.system.entity;
 
+import java.math.BigDecimal;
+
+import javax.validation.constraints.DecimalMin;
+import javax.validation.constraints.Digits;
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.Pattern;
 
@@ -19,4 +23,14 @@ public class SystemAuthenticationDto {
             + "((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|"
             + "[3579][26])00))-02-29))\\s+([0-1]?[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$")
     private String expirationTime;
+
+//    @Digits(integer = 9, fraction = 1, message = "amount format error")
+//    @DecimalMin(value = "0.0", message = "qty value is wrong")
+//    @NotNull(message = "qty is empty")
+//    private BigDecimal qty;
+//
+//    @Digits(integer = 9, fraction = 1, message = "taskQty format error")
+//    @DecimalMin(value = "0.1", message = "taskQty value is wrong")
+//    @NotNull(message = "taskQty is empty")
+//    private BigDecimal taskQty;
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/controller/LocationController.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/controller/LocationController.java
index 4848e22..e0bbdb2 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/controller/LocationController.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/controller/LocationController.java
@@ -13,6 +13,7 @@ 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.modules.wms.config.container.service.IContainerService;
+import org.jeecg.modules.wms.config.location.dto.CompareLocationDto;
 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.service.ILocationService;
@@ -20,6 +21,7 @@ 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.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 
@@ -254,4 +256,18 @@ public class LocationController extends JeecgController<Location, ILocationServi
         List<Location> locationList = locationService.getContainerInLocation(containerCode, QuantityConstant.STATUS_CONTAINER_MANY, locationCode, warehouseCode);
         return Result.OK(locationList);
     }
+
+    /**
+     * WCS库位信息比较
+     * @param  location
+     * @return
+     */
+    @AutoLog(value = "WCS库位信息比较")
+    @ApiOperation(value = "库位管理-WCS库位信息比较", notes = "库位管理-WCS库位信息比较")
+    @GetMapping(value = "/compareWcsLocation")
+    public Result compareWcsLocation(@RequestBody @Validated CompareLocationDto compareLocationDto, HttpServletRequest request) {
+        HuahengJwtUtil.setWarehouseCode(request, compareLocationDto);
+        List<CompareLocationDto> compareLocationList = locationService.compareWcsLocation(compareLocationDto);
+        return Result.OK(compareLocationList);
+    }
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/CompareLocationDto.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/CompareLocationDto.java
new file mode 100644
index 0000000..b4ae8d8
--- /dev/null
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/CompareLocationDto.java
@@ -0,0 +1,38 @@
+package org.jeecg.modules.wms.config.location.dto;
+
+import lombok.Data;
+
+@Data
+public class CompareLocationDto {
+
+    /** 仓库编码 */
+    private String warehouseCode;
+
+    /** 库位编码 */
+    private String locationCode;
+
+    /** 库位表托盘编码 */
+    private String locationContainerCode;
+
+    /** 托盘表托盘编码 */
+    private String containerContainerCode;
+
+    /** 库存表托盘编码 */
+    private String inventoryContainerCode;
+
+    /** WCS库位托盘编码 */
+    private String wcsContainerCode;
+
+    /** 库位状态 */
+    private String locationStatus;
+
+    /** 托盘状态 */
+    private String containerStatus;
+    
+    /** 库存状态 */
+    private String inventoryStatus;
+
+    /** WCS库位状态 */
+    private String wcsLocationStatus;
+    
+}
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/WcsLocationDto.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/WcsLocationDto.java
new file mode 100644
index 0000000..7ace50d
--- /dev/null
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/WcsLocationDto.java
@@ -0,0 +1,23 @@
+package org.jeecg.modules.wms.config.location.dto;
+
+import lombok.Data;
+
+@Data
+public class WcsLocationDto {
+
+    /** 仓库编码 */
+    private String warehouseCode;
+
+    /** 库位编码 */
+    private String locationCode;
+
+    /** 托盘编码 */
+    private String containerCode;
+
+    /** 巷道 */
+    private Integer roadWay;
+
+    /** 库位状态 */
+    private Integer status;
+
+}
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/WcsResultDto.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/WcsResultDto.java
new file mode 100644
index 0000000..37e3b9c
--- /dev/null
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/WcsResultDto.java
@@ -0,0 +1,20 @@
+package org.jeecg.modules.wms.config.location.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class WcsResultDto<T> {
+
+    /** 返回消息体 */
+    private T data;
+
+    /** 返回处理消息 */
+    private String message;
+
+    /** 返回代码 */
+    private Integer code;
+
+    /** 返回 错误代码 */
+    private Integer errorCode;
+}
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/ILocationService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/ILocationService.java
index 0c33621..2194c0b 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/ILocationService.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/ILocationService.java
@@ -2,7 +2,10 @@ package org.jeecg.modules.wms.config.location.service;
 
 import java.util.List;
 
+import javax.servlet.http.HttpServletRequest;
+
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.wms.config.location.dto.CompareLocationDto;
 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;
@@ -66,4 +69,6 @@ public interface ILocationService extends IService<Location> {
 
     List<Location> getContainerInLocation(String containerCode, String containerStatus, String locationCode, String warehouseCode);
 
+    List<CompareLocationDto> compareWcsLocation(CompareLocationDto compareLocationDto);
+
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/impl/LocationServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/impl/LocationServiceImpl.java
index 970bd79..2acf1f8 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/impl/LocationServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/impl/LocationServiceImpl.java
@@ -4,15 +4,24 @@ import java.text.MessageFormat;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.exception.JeecgBootException;
+import org.jeecg.modules.wms.config.address.service.IAddressService;
 import org.jeecg.modules.wms.config.container.entity.Container;
 import org.jeecg.modules.wms.config.container.service.IContainerService;
+import org.jeecg.modules.wms.config.location.dto.CompareLocationDto;
+import org.jeecg.modules.wms.config.location.dto.WcsLocationDto;
+import org.jeecg.modules.wms.config.location.dto.WcsResultDto;
 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;
@@ -22,12 +31,17 @@ import org.jeecg.modules.wms.config.locationType.entity.LocationType;
 import org.jeecg.modules.wms.config.locationType.service.ILocationTypeService;
 import org.jeecg.modules.wms.config.zone.entity.Zone;
 import org.jeecg.modules.wms.config.zone.service.IZoneService;
+import org.jeecg.modules.wms.inventory.inventoryHeader.entity.InventoryDetail;
+import org.jeecg.modules.wms.inventory.inventoryHeader.service.IInventoryDetailService;
 import org.jeecg.modules.wms.task.taskHeader.service.ITaskHeaderService;
+import org.jeecg.utils.OkHttpUtils;
 import org.jeecg.utils.StringUtils;
 import org.jeecg.utils.constant.QuantityConstant;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -45,15 +59,25 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i
 
     @Resource
     private ITaskHeaderService taskHeaderService;
+
     @Resource
     private ILocationTypeService locationTypeService;
+
     @Resource
     private IZoneService zoneService;
+
     @Resource
     private LocationMapper locationMapper;
+
     @Resource
     private IContainerService containerService;
 
+    @Resource
+    private IAddressService addressService;
+
+    @Resource
+    private IInventoryDetailService inventoryDetailService;
+
     @Override
     public Location getLocationByCode(String locationCode, String warehouseCode) {
         LambdaQueryWrapper<Location> locationLambdaQueryWrapper = Wrappers.lambdaQuery();
@@ -409,4 +433,127 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i
         }
         return true;
     }
+
+    @Override
+    public List<CompareLocationDto> compareWcsLocation(CompareLocationDto queryLocationDto) {
+        // 初始化数据
+        Set<String> locationCodes = new HashSet<String>();
+        Map<String, Location> locationMap = new HashMap<String, Location>();
+        Map<String, Container> containerMap = new HashMap<String, Container>();
+        Map<String, List<InventoryDetail>> inventoryDetailMap = new HashMap<String, List<InventoryDetail>>();
+        Map<String, WcsLocationDto> wcsLocationMap = new HashMap<String, WcsLocationDto>();
+
+        // 1.获取WMS库位表库位信息
+        LambdaQueryWrapper<Location> locationLambdaQueryWrapper = Wrappers.lambdaQuery();
+        locationLambdaQueryWrapper.select(Location::getWarehouseCode, Location::getCode, Location::getContainerCode, Location::getStatus)
+            .eq(Location::getWarehouseCode, queryLocationDto.getWarehouseCode())
+            .eq(StringUtils.isNotEmpty(queryLocationDto.getLocationCode()), Location::getCode, queryLocationDto.getLocationCode())
+            .eq(StringUtils.isNotEmpty(queryLocationDto.getLocationContainerCode()), Location::getContainerCode, queryLocationDto.getLocationContainerCode());
+        List<Location> locationList = list(locationLambdaQueryWrapper);
+        if (locationList != null && locationList.size() > 0) {
+            locationMap.putAll(locationList.stream().collect(Collectors.toMap(Location::getCode, Function.identity(), (key1, key2) -> key2)));
+            locationCodes.addAll(locationList.stream().map(t -> t.getCode()).collect(Collectors.toSet()));
+        }
+
+        // 2.获取WMS托盘表库位信息
+        LambdaQueryWrapper<Container> containerLambdaQueryWrapper = Wrappers.lambdaQuery();
+        containerLambdaQueryWrapper.select(Container::getWarehouseCode, Container::getLocationCode, Container::getCode, Container::getStatus)
+            .eq(Container::getWarehouseCode, queryLocationDto.getWarehouseCode())
+            .eq(StringUtils.isNotEmpty(queryLocationDto.getLocationCode()), Container::getLocationCode, queryLocationDto.getLocationCode())
+            .eq(StringUtils.isNotEmpty(queryLocationDto.getLocationContainerCode()), Container::getCode, queryLocationDto.getLocationContainerCode());
+        List<Container> containerList = containerService.list(containerLambdaQueryWrapper);
+        if (containerList != null && containerList.size() > 0) {
+            containerMap.putAll(containerList.stream().collect(Collectors.toMap(Container::getLocationCode, Function.identity(), (key1, key2) -> key2)));
+            locationCodes.addAll(containerList.stream().map(t -> t.getLocationCode()).collect(Collectors.toSet()));
+        }
+
+        // 3.获取WMS库存表库位信息
+        LambdaQueryWrapper<InventoryDetail> inventoryDetailLambdaQueryWrapper = Wrappers.lambdaQuery();
+        inventoryDetailLambdaQueryWrapper
+            .select(InventoryDetail::getWarehouseCode, InventoryDetail::getLocationCode, InventoryDetail::getContainerCode, InventoryDetail::getInventoryStatus)
+            .eq(InventoryDetail::getWarehouseCode, queryLocationDto.getWarehouseCode())
+            .eq(StringUtils.isNotEmpty(queryLocationDto.getLocationCode()), InventoryDetail::getLocationCode, queryLocationDto.getLocationCode())
+            .eq(StringUtils.isNotEmpty(queryLocationDto.getLocationContainerCode()), InventoryDetail::getContainerCode, queryLocationDto.getLocationContainerCode());
+        List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(inventoryDetailLambdaQueryWrapper);
+        if (inventoryDetailList != null && inventoryDetailList.size() > 0) {
+            inventoryDetailMap.putAll(inventoryDetailList.stream().collect(Collectors.groupingBy(InventoryDetail::getLocationCode)));
+            locationCodes.addAll(inventoryDetailList.stream().map(t -> t.getLocationCode()).collect(Collectors.toSet()));
+        }
+
+        // 4.获取WCS库位信息
+        String url = addressService.getUrlByParam(QuantityConstant.ADDRESS_WCS_LOCATION_INFO);
+        Map<String, Object> queryParamMap = new HashMap<String, Object>();
+        if (StringUtils.isNotEmpty(queryLocationDto.getWarehouseCode())) {
+            queryParamMap.put("warehouseCode", queryLocationDto.getWarehouseCode());
+        }
+        if (StringUtils.isNotEmpty(queryLocationDto.getLocationCode())) {
+            queryParamMap.put("locations", Collections.singletonList(queryLocationDto.getLocationCode()));
+        }
+        String jsonStringResult = OkHttpUtils.sendPostByJsonStr(url, JSON.toJSONString(queryParamMap));
+        WcsResultDto<List<WcsLocationDto>> wcsResult = JSON.parseObject(jsonStringResult, new TypeReference<WcsResultDto<List<WcsLocationDto>>>() {});
+        List<WcsLocationDto> wcsLocationList = wcsResult.getData();
+        if (wcsLocationList != null && wcsLocationList.size() > 0) {
+            if (StringUtils.isNotEmpty(queryLocationDto.getLocationContainerCode())) {
+                wcsLocationList =
+                    wcsLocationList.stream().filter(t -> queryLocationDto.getLocationContainerCode().equals(t.getContainerCode())).collect(Collectors.toList());
+            }
+            wcsLocationMap.putAll(wcsLocationList.stream().collect(Collectors.toMap(WcsLocationDto::getLocationCode, Function.identity(), (key1, key2) -> key2)));
+            locationCodes.addAll(wcsLocationList.stream().map(t -> t.getLocationCode()).collect(Collectors.toSet()));
+        }
+
+        // 对返回数据进行组装
+        List<CompareLocationDto> compareLocationDtoList = new ArrayList<CompareLocationDto>();
+        if (locationCodes.size() > 0) {
+            for (String locationCode : locationCodes) {
+                if (StringUtils.isEmpty(locationCode)) {
+                    continue;
+                }
+                CompareLocationDto compareLocationDto = new CompareLocationDto();
+                Location location = locationMap.get(locationCode);
+                if (location != null) {
+                    compareLocationDto.setWarehouseCode(location.getWarehouseCode());
+                    compareLocationDto.setLocationCode(location.getCode());
+                    compareLocationDto.setLocationContainerCode(location.getContainerCode());
+                    compareLocationDto.setLocationStatus(location.getStatus());
+                }
+                Container container = containerMap.get(locationCode);
+                if (container != null) {
+                    compareLocationDto.setContainerContainerCode(container.getCode());
+                    compareLocationDto.setContainerStatus(container.getStatus());
+                }
+                List<InventoryDetail> detailList = inventoryDetailMap.get(locationCode);
+                if (detailList != null && detailList.size() > 0) {
+                    Set<String> containerCodes = detailList.stream().map(t -> t.getContainerCode()).collect(Collectors.toSet());
+                    Set<String> inventoryStatus = detailList.stream().map(t -> t.getInventoryStatus()).collect(Collectors.toSet());
+                    compareLocationDto.setInventoryContainerCode(StringUtils.join(containerCodes, ","));
+                    compareLocationDto.setInventoryStatus(StringUtils.join(inventoryStatus, ","));
+                }
+                WcsLocationDto wcsLocationDto = wcsLocationMap.get(locationCode);
+                if (wcsLocationDto != null) {
+                    compareLocationDto.setWarehouseCode(wcsLocationDto.getWarehouseCode());
+                    compareLocationDto.setLocationCode(wcsLocationDto.getLocationCode());
+                    compareLocationDto.setWcsContainerCode(wcsLocationDto.getContainerCode());
+                    compareLocationDto.setWcsLocationStatus(wcsLocationDto.getStatus() + "");
+                }
+                compareLocationDtoList.add(compareLocationDto);
+            }
+        }
+        if (StringUtils.isNotEmpty(queryLocationDto.getLocationStatus())) {
+            compareLocationDtoList =
+                compareLocationDtoList.stream().filter(t -> queryLocationDto.getLocationStatus().equals(t.getLocationStatus())).collect(Collectors.toList());
+        }
+        if (StringUtils.isNotEmpty(queryLocationDto.getContainerStatus())) {
+            compareLocationDtoList =
+                compareLocationDtoList.stream().filter(t -> queryLocationDto.getContainerStatus().equals(t.getContainerStatus())).collect(Collectors.toList());
+        }
+        if (StringUtils.isNotEmpty(queryLocationDto.getInventoryStatus())) {
+            compareLocationDtoList =
+                compareLocationDtoList.stream().filter(t -> queryLocationDto.getInventoryStatus().equals(t.getInventoryStatus())).collect(Collectors.toList());
+        }
+        if (StringUtils.isNotEmpty(queryLocationDto.getWcsLocationStatus())) {
+            compareLocationDtoList =
+                compareLocationDtoList.stream().filter(t -> queryLocationDto.getWcsLocationStatus().equals(t.getWcsLocationStatus())).collect(Collectors.toList());
+        }
+        return compareLocationDtoList;
+    }
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/utils/constant/QuantityConstant.java b/huaheng-wms-core/src/main/java/org/jeecg/utils/constant/QuantityConstant.java
index b3ebb17..56e56da 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/utils/constant/QuantityConstant.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/utils/constant/QuantityConstant.java
@@ -20,12 +20,9 @@ package org.jeecg.utils.constant;
  * @author ricard
  */
 public class QuantityConstant {
-    /**
-
-     */
-
+    
     // 1、入库单状态
-
+    
     // 新建
     public static final Integer RECEIPT_HEADER_BUILD = 0;
 
@@ -375,6 +372,8 @@ public class QuantityConstant {
     // 16、请求类型
     public static final String WMS_TYPE = "WMS";
 
+    // WCS库位信息查询
+    public static final String ADDRESS_WCS_LOCATION_INFO = "WCS_LOCATION_INFO";
     // WCS任务下发
     public static final String ADDRESS_WCS_TASK_ASSIGN = "WCS_TASK_ASSIGN";
     // WCS任务取消
@@ -396,11 +395,11 @@ public class QuantityConstant {
     // 获取可用站台
     public static final String ADDRESS_WCS_GET_FROM_PORT = "WCS_GET_FROM_PORT";
 
-    // WCS任务下发
+    // AGV任务下发
     public static final String ADDRESS_AGV_TASK_ASSIGN = "AGV_TASK_ASSIGN";
-    // WCS任务取消
+    // AGV任务取消
     public static final String ADDRESS_AGV_TASK_CANCEL = "AGV_TASK_CANCEL";
-    // WCS任务更新
+    // AGV任务更新
     public static final String ADDRESS_AGV_TASK_UPDATE = "AGV_TASK_UPDATE";
 
     // 回传ERP入库单
@@ -409,7 +408,7 @@ public class QuantityConstant {
     public static final String ADDRESS_ERP_BACK_SHIPMENT = "ERP_BACK_SHIPMENT";
     // 回传MES入库单
     public static final String ADDRESS_MES_BACK_RECEIPT = "MES_BACK_RECEIPT";
-    // 回传ERP出库单
+    // 回传MES出库单
     public static final String ADDRESS_MES_BACK_SHIPMENT = "MES_BACK_SHIPMENT";
 
     public static final String PLATFORM_CODING = "赋码系统";
--
libgit2 0.22.2