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