<fix>[important]完善wcs回告
This commit is contained in:
parent
6f740607da
commit
0c5613e6dc
|
|
@ -9,6 +9,7 @@ import com.wms.entity.app.container.SendContainerTaskRequest;
|
||||||
import com.wms.entity.app.wcs.WcsTask;
|
import com.wms.entity.app.wcs.WcsTask;
|
||||||
import com.wms.entity.table.*;
|
import com.wms.entity.table.*;
|
||||||
import com.wms.mapper.LocationMapper;
|
import com.wms.mapper.LocationMapper;
|
||||||
|
import com.wms.mapper.StockMapper;
|
||||||
import com.wms.mapper.TaskMapper;
|
import com.wms.mapper.TaskMapper;
|
||||||
import com.wms.service.*;
|
import com.wms.service.*;
|
||||||
import com.wms.utils.HttpUtils;
|
import com.wms.utils.HttpUtils;
|
||||||
|
|
@ -69,7 +70,7 @@ public class JobComponent extends BaseController {
|
||||||
*/
|
*/
|
||||||
private final StockService stockService;
|
private final StockService stockService;
|
||||||
private final TaskRecordService taskRecordService;
|
private final TaskRecordService taskRecordService;
|
||||||
|
private final StockMapper stockMapper;
|
||||||
|
|
||||||
|
|
||||||
@Scheduled(fixedDelay = 1000)
|
@Scheduled(fixedDelay = 1000)
|
||||||
|
|
@ -204,6 +205,13 @@ public class JobComponent extends BaseController {
|
||||||
if(emptyLocationItem == null) {
|
if(emptyLocationItem == null) {
|
||||||
return; // 没有可用库位或者m库位存在干涉
|
return; // 没有可用库位或者m库位存在干涉
|
||||||
}
|
}
|
||||||
|
// 锁定旧库位库存
|
||||||
|
stockMapper.updateStockStatusWithLocationId(beforLocation.getLocationId(), StockStatus.LOCK.getCode());
|
||||||
|
// 锁定新库位
|
||||||
|
Location locationForUpdate = new Location();
|
||||||
|
locationForUpdate.setLocationId(emptyLocationItem.getLocationId());
|
||||||
|
locationForUpdate.setLocationStatus(LocationStatus.OCCUPY.getCode());
|
||||||
|
locationMapper.modifyLocation(locationForUpdate);
|
||||||
// 构造移库任务
|
// 构造移库任务
|
||||||
Task moveTask = new Task();
|
Task moveTask = new Task();
|
||||||
moveTask.setTaskId(UUID.randomUUID().toString());
|
moveTask.setTaskId(UUID.randomUUID().toString());
|
||||||
|
|
@ -339,6 +347,13 @@ public class JobComponent extends BaseController {
|
||||||
if(emptyLocationItem == null) {
|
if(emptyLocationItem == null) {
|
||||||
return; // 没有可用库位或者m库位存在干涉
|
return; // 没有可用库位或者m库位存在干涉
|
||||||
}
|
}
|
||||||
|
// 锁定旧库位库存
|
||||||
|
stockMapper.updateStockStatusWithLocationId(beforLocation.getLocationId(), StockStatus.LOCK.getCode());
|
||||||
|
// 锁定新库位
|
||||||
|
Location locationForUpdate = new Location();
|
||||||
|
locationForUpdate.setLocationId(emptyLocationItem.getLocationId());
|
||||||
|
locationForUpdate.setLocationStatus(LocationStatus.OCCUPY.getCode());
|
||||||
|
locationMapper.modifyLocation(locationForUpdate);
|
||||||
// 构造移库任务
|
// 构造移库任务
|
||||||
Task moveTask = new Task();
|
Task moveTask = new Task();
|
||||||
moveTask.setTaskId(UUID.randomUUID().toString());
|
moveTask.setTaskId(UUID.randomUUID().toString());
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,10 @@
|
||||||
package com.wms.constants.enums;
|
package com.wms.constants.enums;
|
||||||
|
|
||||||
public enum UrlEnums {
|
public enum UrlEnums {
|
||||||
URL_WMS_TO_WCS_SEND_TASK("WMS向WCS发送任务", "http://192.168.103.202:18990/api/Wms/WmsTask/SetStackerTask"),
|
URL_WMS_TO_WCS_SEND_TASK("WMS向WCS发送任务", "http://172.21.80.151:18990/api/Wms/WmsTask/SetStackerTask"),
|
||||||
URL_WMS_TO_WCS_CHANGE_TASK("WMS请求变更任务状态", "http://192.168.103.202:18990/api/Wms/WmsTask/ChangeTaskStatus"),
|
URL_WMS_TO_WCS_CHANGE_TASK("WMS请求变更任务状态", "http://172.21.80.151:18990/api/Wms/WmsTask/ChangeTaskStatus"),
|
||||||
URL_WMS_TO_WCS_CONTAINER_TASK("WMS向四向车发送任务","");
|
URL_WMS_TO_WCS_CONTAINER_TASK("WMS向四向车发送任务","http://172.21.80.150:9991/api/Wcs/PushTask"),
|
||||||
|
URL_WMS_TO_MES_IN("扫码上架", "");
|
||||||
|
|
||||||
private final String description;
|
private final String description;
|
||||||
private final String value;
|
private final String value;
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ public class ContainerController extends BaseController {
|
||||||
* @param request 请求信息
|
* @param request 请求信息
|
||||||
* @return 返回信息
|
* @return 返回信息
|
||||||
*/
|
*/
|
||||||
@PostMapping("/CreateInstoreTask")
|
@PostMapping("/createInstoreTask")
|
||||||
public CreateInstoreTaskResponse createInstoreTask(@RequestBody @Validated CreateInstoreTaskRequest request) {
|
public CreateInstoreTaskResponse createInstoreTask(@RequestBody @Validated CreateInstoreTaskRequest request) {
|
||||||
return containerService.createInstoreTask(request);
|
return containerService.createInstoreTask(request);
|
||||||
}
|
}
|
||||||
|
|
@ -40,7 +40,7 @@ public class ContainerController extends BaseController {
|
||||||
* @param request 请求信息
|
* @param request 请求信息
|
||||||
* @return 响应信息
|
* @return 响应信息
|
||||||
*/
|
*/
|
||||||
@PostMapping("/TaskStateNotice")
|
@PostMapping("/taskStateNotice")
|
||||||
public ContainerApiLocalResponse taskStateNotice(@RequestBody @Validated TaskStateNoticeRequest request){
|
public ContainerApiLocalResponse taskStateNotice(@RequestBody @Validated TaskStateNoticeRequest request){
|
||||||
return containerService.taskStateNotice(request);
|
return containerService.taskStateNotice(request);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,29 @@
|
||||||
package com.wms.controller.others;
|
package com.wms.controller.others;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.wms.constants.enums.*;
|
import com.wms.constants.enums.*;
|
||||||
import com.wms.entity.app.ResponseEntity;
|
import com.wms.entity.app.ResponseEntity;
|
||||||
|
import com.wms.entity.app.container.ContainerApiLocalResponse;
|
||||||
import com.wms.entity.app.mes.MesApiLocalResponse;
|
import com.wms.entity.app.mes.MesApiLocalResponse;
|
||||||
|
import com.wms.entity.app.mes.SendMesPutInGoodsRequest;
|
||||||
import com.wms.entity.app.wcs.RequireInRequest;
|
import com.wms.entity.app.wcs.RequireInRequest;
|
||||||
|
import com.wms.entity.app.wcs.WmsReceiveTaskResultEntity;
|
||||||
import com.wms.entity.table.Location;
|
import com.wms.entity.table.Location;
|
||||||
import com.wms.entity.table.Stock;
|
import com.wms.entity.table.Stock;
|
||||||
import com.wms.entity.table.Task;
|
import com.wms.entity.table.Task;
|
||||||
import com.wms.mapper.LocationMapper;
|
import com.wms.mapper.LocationMapper;
|
||||||
import com.wms.mapper.StockMapper;
|
import com.wms.mapper.StockMapper;
|
||||||
import com.wms.mapper.TaskMapper;
|
import com.wms.mapper.TaskMapper;
|
||||||
|
import com.wms.service.TaskService;
|
||||||
|
import com.wms.utils.HttpUtils;
|
||||||
import com.wms.utils.storage.LocationUtils;
|
import com.wms.utils.storage.LocationUtils;
|
||||||
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.transaction.annotation.Isolation;
|
||||||
|
import org.springframework.transaction.annotation.Propagation;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
|
@ -49,6 +59,16 @@ public class WcsController {
|
||||||
*/
|
*/
|
||||||
private final LocationUtils locationUtils;
|
private final LocationUtils locationUtils;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请求头部信息
|
||||||
|
*/
|
||||||
|
private final HttpServletRequest servletRequest;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务服务
|
||||||
|
*/
|
||||||
|
private final TaskService taskService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 立库申请入库
|
* 立库申请入库
|
||||||
|
|
@ -62,7 +82,7 @@ public class WcsController {
|
||||||
checkIsExist.setBatchNo(request.getVehicleNo());
|
checkIsExist.setBatchNo(request.getVehicleNo());
|
||||||
checkIsExist.setStockStatus(StockStatus.WAIT_IN.getCode());
|
checkIsExist.setStockStatus(StockStatus.WAIT_IN.getCode());
|
||||||
List<Stock> checkIsExistListResult = stockMapper.selStocks(checkIsExist);
|
List<Stock> checkIsExistListResult = stockMapper.selStocks(checkIsExist);
|
||||||
if(checkIsExistListResult.isEmpty()) {
|
if(checkIsExistListResult == null || checkIsExistListResult.isEmpty()) {
|
||||||
// 记录不存在
|
// 记录不存在
|
||||||
return new ResponseEntity(0, String.format("该条码不存在待入库记录,条码号:%s", request.getVehicleNo()));
|
return new ResponseEntity(0, String.format("该条码不存在待入库记录,条码号:%s", request.getVehicleNo()));
|
||||||
}
|
}
|
||||||
|
|
@ -111,10 +131,210 @@ public class WcsController {
|
||||||
task.setTaskPriority(1);
|
task.setTaskPriority(1);
|
||||||
int addTask = taskMapper.addTask(task);
|
int addTask = taskMapper.addTask(task);
|
||||||
if(addTask > 0) {
|
if(addTask > 0) {
|
||||||
|
sendMesPutInGoods(checkIsExistListResult.get(0), emptyLocationItem.getLocationId()); // 发送 mes 入库上架
|
||||||
return new ResponseEntity(1, "存在入库任务,申请成功");
|
return new ResponseEntity(1, "存在入库任务,申请成功");
|
||||||
}
|
}
|
||||||
return new ResponseEntity(0, "添加入库任务失败,网络连接异常,请稍后再试");
|
return new ResponseEntity(0, "添加入库任务失败,网络连接异常,请稍后再试");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void sendMesPutInGoods(Stock stock, String locationId) {
|
||||||
|
SendMesPutInGoodsRequest request = new SendMesPutInGoodsRequest();
|
||||||
|
request.setGuid(stock.getStockId());
|
||||||
|
request.setLosnr(stock.getBatchNo());
|
||||||
|
request.setItemCode(stock.getGoodsId());
|
||||||
|
request.setLotQty(String.valueOf(stock.getRealNum()));
|
||||||
|
request.setBinCode(locationId);
|
||||||
|
String requestString = JSON.toJSONString(request);
|
||||||
|
String responseString = HttpUtils.sendHttpPostWithoutToken(UrlEnums.URL_WMS_TO_MES_IN.getValue(), requestString);
|
||||||
|
MesApiLocalResponse result = JSON.parseObject(responseString, MesApiLocalResponse.class);
|
||||||
|
if(result != null && result.getTransFlag().equals(1)) {
|
||||||
|
log.info("发送MES入库上架成功,信息:{}", requestString);
|
||||||
|
}
|
||||||
|
log.info("发送MES入库上架失败,信息:{},返回信息:{}", requestString, responseString);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收到 wcs 返回的任务状态
|
||||||
|
* @param wmsReceiveTaskResultEntity wcs请求值
|
||||||
|
* @return 返回的信息
|
||||||
|
*/
|
||||||
|
@PostMapping("/sendTaskResult")
|
||||||
|
@Transactional(isolation = Isolation.REPEATABLE_READ, propagation = Propagation.REQUIRED)
|
||||||
|
public ResponseEntity receiveTaskResult(@RequestBody @Validated WmsReceiveTaskResultEntity wmsReceiveTaskResultEntity) {
|
||||||
|
log.info("接收到任务反馈:{},ip地址:{}", wmsReceiveTaskResultEntity.toLoggerString(), HttpUtils.getIpAddr(servletRequest));
|
||||||
|
// 获取任务号
|
||||||
|
String taskId = wmsReceiveTaskResultEntity.getTaskId();
|
||||||
|
Integer taskStatus = wmsReceiveTaskResultEntity.getTaskStatus();
|
||||||
|
String vehicleNo = wmsReceiveTaskResultEntity.getVehicleNo();
|
||||||
|
// 查找对应任务
|
||||||
|
Task taskForQuery = new Task();
|
||||||
|
taskForQuery.setTaskGroup(taskId);
|
||||||
|
List<Task> tasks = taskService.selTasks(taskForQuery);
|
||||||
|
if(tasks == null || tasks.isEmpty()) {
|
||||||
|
return new ResponseEntity(-1, "没有找到对应的任务");
|
||||||
|
}
|
||||||
|
Task task = tasks.get(0);
|
||||||
|
if(taskStatus.equals(WmsTaskStatus.FINISH.getCode())) { // 任务完成
|
||||||
|
if(task.getTaskType().equals(TaskType.IN.getCode())) { // 入库
|
||||||
|
/* 找出任务,完成该任务;找出该任务终点,更新库存为OK */
|
||||||
|
// 完成任务
|
||||||
|
Task completeTask = new Task();
|
||||||
|
completeTask.setTaskId(task.getTaskId());
|
||||||
|
completeTask.setTaskStatus(WmsTaskStatus.FINISH.getCode());
|
||||||
|
completeTask.setFinishTime(new Date());
|
||||||
|
taskMapper.executeTask(completeTask); // 完成任务
|
||||||
|
// 更新库存为 ok
|
||||||
|
int updateStock = stockMapper.updateStockStatusWithLocationId(task.getDestination(), StockStatus.OK.getCode());
|
||||||
|
if(updateStock > 0){
|
||||||
|
log.info("入库完成更新库存成功,任务:{}", task.toLoggerString());
|
||||||
|
return new ResponseEntity(0, "入库完成");
|
||||||
|
}
|
||||||
|
return new ResponseEntity(0, "入库完成,更新库存失败");
|
||||||
|
}
|
||||||
|
if(task.getTaskType().equals(TaskType.OUT.getCode())) { // 出库
|
||||||
|
/* 找出任务,完成该任务;找出该任务终点,删除库存;释放库位 */
|
||||||
|
// 完成任务
|
||||||
|
Task completeTask = new Task();
|
||||||
|
completeTask.setTaskId(task.getTaskId());
|
||||||
|
completeTask.setTaskStatus(WmsTaskStatus.FINISH.getCode());
|
||||||
|
completeTask.setFinishTime(new Date());
|
||||||
|
taskMapper.executeTask(completeTask); // 完成任务
|
||||||
|
// 释放库位
|
||||||
|
Location updateLocation = new Location();
|
||||||
|
updateLocation.setLocationId(task.getOrigin());
|
||||||
|
updateLocation.setLocationStatus(LocationStatus.EMPTY.getCode());
|
||||||
|
updateLocation.setVehicleId("");
|
||||||
|
locationMapper.modifyLocation(updateLocation); // 更新库位为空
|
||||||
|
// 删除库存
|
||||||
|
int updateStock = stockMapper.deleteStockWithLocationId(task.getOrigin());
|
||||||
|
if(updateStock > 0){
|
||||||
|
log.info("出库完成删除库存成功,任务:{}", task.toLoggerString());
|
||||||
|
return new ResponseEntity(0, "出库完成");
|
||||||
|
}
|
||||||
|
return new ResponseEntity(0, "出库完成,删除库存失败");
|
||||||
|
}
|
||||||
|
if(task.getTaskType().equals(TaskType.INVENTORY.getCode())) { // 盘点
|
||||||
|
/* 找出任务,完成该任务;找出该任务终点,删除库存;释放库位 */
|
||||||
|
// 完成任务
|
||||||
|
Task completeTask = new Task();
|
||||||
|
completeTask.setTaskId(task.getTaskId());
|
||||||
|
completeTask.setTaskStatus(WmsTaskStatus.FINISH.getCode());
|
||||||
|
completeTask.setFinishTime(new Date());
|
||||||
|
taskMapper.executeTask(completeTask); // 完成任务
|
||||||
|
// 释放库位
|
||||||
|
Location updateLocation = new Location();
|
||||||
|
updateLocation.setLocationId(task.getOrigin());
|
||||||
|
updateLocation.setLocationStatus(LocationStatus.EMPTY.getCode());
|
||||||
|
updateLocation.setVehicleId("");
|
||||||
|
locationMapper.modifyLocation(updateLocation); // 更新库位为空
|
||||||
|
// 删除库存
|
||||||
|
int updateStock = stockMapper.deleteStockWithLocationId(task.getOrigin());
|
||||||
|
if(updateStock > 0){
|
||||||
|
log.info("盘点出库完成删除库存成功,任务:{}", task.toLoggerString());
|
||||||
|
return new ResponseEntity(0, "盘点出库完成");
|
||||||
|
}
|
||||||
|
return new ResponseEntity(0, "盘点出库完成,删除库存失败");
|
||||||
|
}
|
||||||
|
if(task.getTaskType().equals(TaskType.MOVE.getCode())) { // 移库
|
||||||
|
/* 找出任务,更新任务为完成;释放原库位;更新库存到新库位 */
|
||||||
|
// 完成任务
|
||||||
|
Task completeTask = new Task();
|
||||||
|
completeTask.setTaskId(task.getTaskId());
|
||||||
|
completeTask.setTaskStatus(WmsTaskStatus.FINISH.getCode());
|
||||||
|
completeTask.setFinishTime(new Date());
|
||||||
|
taskMapper.executeTask(completeTask); // 完成任务
|
||||||
|
// 释放原库位
|
||||||
|
// 释放库位
|
||||||
|
Location updateLocation = new Location();
|
||||||
|
updateLocation.setLocationId(task.getOrigin());
|
||||||
|
updateLocation.setLocationStatus(LocationStatus.EMPTY.getCode());
|
||||||
|
updateLocation.setVehicleId("");
|
||||||
|
locationMapper.modifyLocation(updateLocation); // 更新库位为空
|
||||||
|
// 更新库位
|
||||||
|
int updatedLocation = stockMapper.updateLocationAndStatus(task.getOrigin(), task.getDestination(), StockStatus.OK.getCode());
|
||||||
|
if(updatedLocation > 0){
|
||||||
|
log.info("移库库位更新成功,任务:{}", task.toLoggerString());
|
||||||
|
return new ResponseEntity(0, "移库库位更新成功");
|
||||||
|
}
|
||||||
|
return new ResponseEntity(0, "移库库位更新失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(taskStatus.equals(WmsTaskStatus.CANCEL.getCode())) { // 任务取消
|
||||||
|
if(task.getTaskType().equals(TaskType.IN.getCode())) { // 入库
|
||||||
|
/* 找出任务,取消该任务;找出该任务终点,更新库存为OK */
|
||||||
|
// 取消任务
|
||||||
|
Task completeTask = new Task();
|
||||||
|
completeTask.setTaskId(task.getTaskId());
|
||||||
|
completeTask.setTaskStatus(WmsTaskStatus.CANCEL.getCode());
|
||||||
|
completeTask.setFinishTime(new Date());
|
||||||
|
taskMapper.executeTask(completeTask); // 取消任务
|
||||||
|
// 更新库存为 ok
|
||||||
|
int updateStock = stockMapper.updateStockStatusWithLocationId(task.getDestination(), StockStatus.OK.getCode());
|
||||||
|
if(updateStock > 0){
|
||||||
|
log.info("入库取消更新库存成功,任务:{}", task.toLoggerString());
|
||||||
|
return new ResponseEntity(0, "入库取消");
|
||||||
|
}
|
||||||
|
return new ResponseEntity(0, "入库取消,更新库存失败");
|
||||||
|
}
|
||||||
|
if(task.getTaskType().equals(TaskType.OUT.getCode())) { // 出库
|
||||||
|
/* 找出任务,取消该任务;找出该任务终点,删除库存;释放库位 */
|
||||||
|
// 取消任务
|
||||||
|
Task completeTask = new Task();
|
||||||
|
completeTask.setTaskId(task.getTaskId());
|
||||||
|
completeTask.setTaskStatus(WmsTaskStatus.CANCEL.getCode());
|
||||||
|
completeTask.setFinishTime(new Date());
|
||||||
|
taskMapper.executeTask(completeTask); // 取消任务
|
||||||
|
// 更新库存为 ok
|
||||||
|
int updateStock = stockMapper.updateStockStatusWithLocationId(task.getDestination(), StockStatus.OK.getCode());
|
||||||
|
if(updateStock > 0){
|
||||||
|
log.info("出库取消更新库存成功,任务:{}", task.toLoggerString());
|
||||||
|
return new ResponseEntity(0, "出库取消");
|
||||||
|
}
|
||||||
|
return new ResponseEntity(0, "出库取消,更新库存失败");
|
||||||
|
}
|
||||||
|
if(task.getTaskType().equals(TaskType.INVENTORY.getCode())) { // 盘点
|
||||||
|
/* 找出任务,取消该任务;找出该任务终点,删除库存;释放库位 */
|
||||||
|
// 取消任务
|
||||||
|
Task completeTask = new Task();
|
||||||
|
completeTask.setTaskId(task.getTaskId());
|
||||||
|
completeTask.setTaskStatus(WmsTaskStatus.CANCEL.getCode());
|
||||||
|
completeTask.setFinishTime(new Date());
|
||||||
|
taskMapper.executeTask(completeTask); // 取消任务
|
||||||
|
// 更新库存为 ok
|
||||||
|
int updateStock = stockMapper.updateStockStatusWithLocationId(task.getDestination(), StockStatus.OK.getCode());
|
||||||
|
if(updateStock > 0){
|
||||||
|
log.info("盘点出库取消更新库存成功,任务:{}", task.toLoggerString());
|
||||||
|
return new ResponseEntity(0, "盘点出库取消");
|
||||||
|
}
|
||||||
|
return new ResponseEntity(0, "盘点出库取消,更新库存失败");
|
||||||
|
}
|
||||||
|
if(task.getTaskType().equals(TaskType.MOVE.getCode())) { // 移库
|
||||||
|
/* 找出任务,更新任务为取消;释放新库位;更新库存为OK */
|
||||||
|
// 取消任务
|
||||||
|
Task completeTask = new Task();
|
||||||
|
completeTask.setTaskId(task.getTaskId());
|
||||||
|
completeTask.setTaskStatus(WmsTaskStatus.CANCEL.getCode());
|
||||||
|
completeTask.setFinishTime(new Date());
|
||||||
|
taskMapper.executeTask(completeTask); // 取消任务
|
||||||
|
// 释放库位
|
||||||
|
Location updateLocation = new Location();
|
||||||
|
updateLocation.setLocationId(task.getDestination());
|
||||||
|
updateLocation.setLocationStatus(LocationStatus.EMPTY.getCode());
|
||||||
|
updateLocation.setVehicleId("");
|
||||||
|
locationMapper.modifyLocation(updateLocation); // 更新库位为空
|
||||||
|
// 更新库位
|
||||||
|
int updatedLocation = stockMapper.updateStockStatusWithLocationId(task.getOrigin(), StockStatus.OK.getCode());
|
||||||
|
if(updatedLocation > 0){
|
||||||
|
log.info("移库取消库位状态更新成功,任务:{}", task.toLoggerString());
|
||||||
|
return new ResponseEntity(0, "移库取消库位状态更新成功");
|
||||||
|
}
|
||||||
|
return new ResponseEntity(0, "移库取消库位状态更新失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return new ResponseEntity(0, "不处理的状态");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
package com.wms.entity.app.mes;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入库发送 mes
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class SendMesPutInGoodsRequest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 唯一号
|
||||||
|
*/
|
||||||
|
@JsonProperty("guid")
|
||||||
|
private String guid;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批次号
|
||||||
|
*/
|
||||||
|
@JsonProperty("Losnr")
|
||||||
|
private String losnr;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 料号
|
||||||
|
*/
|
||||||
|
@JsonProperty("ItemCode")
|
||||||
|
private String itemCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数量
|
||||||
|
*/
|
||||||
|
@JsonProperty("LotQty")
|
||||||
|
private String lotQty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 库位
|
||||||
|
*/
|
||||||
|
@JsonProperty("BinCode")
|
||||||
|
private String binCode;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
package com.wms.entity.app.wcs;
|
package com.wms.entity.app.wcs;
|
||||||
|
|
||||||
import com.wms.entity.BaseEntity;
|
import com.wms.entity.BaseEntity;
|
||||||
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* WCS向WMS发送任务结果请求实体类
|
* WCS向WMS发送任务结果请求实体类
|
||||||
|
|
@ -10,10 +12,12 @@ public class WmsReceiveTaskResultEntity extends BaseEntity {
|
||||||
/**
|
/**
|
||||||
* WMS任务编号
|
* WMS任务编号
|
||||||
*/
|
*/
|
||||||
|
@NotBlank(message = "任务ID不允许为空")
|
||||||
private String taskId;
|
private String taskId;
|
||||||
/**
|
/**
|
||||||
* 任务状态
|
* 任务状态
|
||||||
*/
|
*/
|
||||||
|
@NotNull(message = "任务状态不允许为空")
|
||||||
private Integer taskStatus;
|
private Integer taskStatus;
|
||||||
/**
|
/**
|
||||||
* 任务终点
|
* 任务终点
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ spring:
|
||||||
active: online
|
active: online
|
||||||
server:
|
server:
|
||||||
# 服务端配置
|
# 服务端配置
|
||||||
port: 12315
|
port: 19990
|
||||||
servlet:
|
servlet:
|
||||||
# 接口地址
|
# 接口地址
|
||||||
context-path: /
|
context-path: /
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user