箱式库添加取消任务接口

This commit is contained in:
李宇奇 2025-10-13 10:07:09 +08:00
parent d3204454c3
commit 6ae0891cf7
7 changed files with 80 additions and 3150 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,6 @@
package com.wms_main.controller.mywms;
import com.wms_main.model.dto.request.mywms.OrderInCancel;
import com.wms_main.model.dto.request.mywms.OrderInReq;
import com.wms_main.model.dto.request.mywms.OrderOutReq;
import com.wms_main.model.dto.request.mywms.StockReq;
@ -38,13 +39,13 @@ public class MyWmsController {
return myWmsControllerService.stock(request);
}
@GetMapping("/allowFeed")
public MyWmsResponse<Boolean> canFeed() {
return myWmsControllerService.queryCanFeed();
@PostMapping("/cancelOrderIn")
public String cancelOrderIn(@RequestBody OrderInCancel request) {
return myWmsControllerService.cancelOrderIn(request);
}
@GetMapping("/allowOut")
public MyWmsResponse<Boolean> canOut() {
return myWmsControllerService.queryCanOut();
@GetMapping("/test")
public String test() {
return "success";
}
}

View File

@ -40,13 +40,14 @@ public class WcsApiServiceImpl implements IWcsApiService {
public WcsApiResponse<WcsStackerTask> sendWcsStackerTask(WcsStackerTaskRequest request) {
// 设置http请求
HttpRequest httpRequest = HttpRequest.postInstanceOf(appCommon.getConfigByKey(AppConfigKeyEnums.WCS_STACKER_TASK_URL.getKey()), request);
// HttpResponse httpResponse = httpClient.httpPost(httpRequest);
// if (httpResponse != null && httpResponse.isSuccess()) {
// WcsApiResponse<WcsStackerTask> response = new WcsApiResponse<>();
// response = httpResponse.getData(response.getClass().asSubclass(WcsApiResponse.class));
// return response;
// }
return WcsApiResponse.success("请求未获得响应信息。", null);
HttpResponse httpResponse = httpClient.httpPost(httpRequest);
if (httpResponse != null && httpResponse.isSuccess()) {
WcsApiResponse<WcsStackerTask> response = new WcsApiResponse<>();
response = httpResponse.getData(response.getClass().asSubclass(WcsApiResponse.class));
return response;
}
return WcsApiResponse.error("请求未获得响应信息。", null);
// return WcsApiResponse.success("请求未获得响应信息。", null);
}
/**

View File

@ -1,5 +1,6 @@
package com.wms_main.service.controller;
import com.wms_main.model.dto.request.mywms.OrderInCancel;
import com.wms_main.model.dto.request.mywms.OrderInReq;
import com.wms_main.model.dto.request.mywms.OrderOutReq;
import com.wms_main.model.dto.request.mywms.StockReq;
@ -19,4 +20,6 @@ public interface IMyWmsControllerService {
MyWmsResponse<Boolean> queryCanFeed();
MyWmsResponse<Boolean> queryCanOut();
String cancelOrderIn(OrderInCancel request);
}

View File

@ -1,6 +1,8 @@
package com.wms_main.service.controller.serviceImpl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.wms_main.app.AppCommon;
import com.wms_main.constant.enums.wms.OrderStatusEnum;
import com.wms_main.constant.enums.wms.WmsLocationOccupyStatusEnums;
import com.wms_main.constant.enums.wms.WmsStockStatusEnums;
@ -8,6 +10,8 @@ import com.wms_main.dao.ITAppLocationService;
import com.wms_main.dao.ITAppOrderInService;
import com.wms_main.dao.ITAppOrderOutService;
import com.wms_main.dao.ITAppStockService;
import com.wms_main.dao.ITAppTaskService;
import com.wms_main.dao.ITAppWcsTaskService;
import com.wms_main.model.dto.request.mywms.*;
import com.wms_main.model.dto.request.wcs.WcsCanFeedRequest;
import com.wms_main.model.dto.response.mywms.MyWmsResponse;
@ -18,6 +22,8 @@ import com.wms_main.model.po.TAppLocation;
import com.wms_main.model.po.TAppOrderIn;
import com.wms_main.model.po.TAppOrderOut;
import com.wms_main.model.po.TAppStock;
import com.wms_main.model.po.TAppTask;
import com.wms_main.model.po.TAppWcsTask;
import com.wms_main.repository.utils.StringUtils;
import com.wms_main.repository.utils.UUIDUtils;
import com.wms_main.service.api.IWcsApiService;
@ -39,6 +45,9 @@ public class MyWmsControllerServiceImpl implements IMyWmsControllerService {
private final ITAppStockService appStockService;
private final ITAppLocationService appLocationService;
private final IWcsApiService wcsApiService;
private final ITAppTaskService appTaskService;
private final ITAppWcsTaskService appWcsTaskService;
private final AppCommon appCommon;
@Override
public OrderResponse orderIn(OrderInReq request) {
@ -199,4 +208,44 @@ public class MyWmsControllerServiceImpl implements IMyWmsControllerService {
return MyWmsResponse.error("系统异常,请稍后重试", false);
}
}
@Override
public String cancelOrderIn(OrderInCancel request) {
String vehicleNo = request.getVehicleNo();
if (!appOrderInService.remove(new LambdaQueryWrapper<TAppOrderIn>().eq(StringUtils.isNotEmpty(vehicleNo),
TAppOrderIn::getVehicleNo, vehicleNo))) {
log.info("fail to delete orderIn, vehicleNo: " + vehicleNo);
}
if (!appTaskService.remove(new LambdaQueryWrapper<TAppTask>().eq(StringUtils.isNotEmpty(vehicleNo),
TAppTask::getVehicleId, vehicleNo))) {
log.info("fail to delete wmsTask, vehicleNo: " + vehicleNo);
}
if (!appWcsTaskService.remove(new LambdaQueryWrapper<TAppWcsTask>().eq(StringUtils.isNotEmpty(vehicleNo),
TAppWcsTask::getVehicleId, vehicleNo))) {
log.info("fail to delete wcsTask, vehicleNo: " + vehicleNo);
}
List<TAppLocation> locationList = appLocationService.list(
new LambdaQueryWrapper<TAppLocation>().eq(StringUtils.isNotEmpty(vehicleNo), TAppLocation::getVehicleId,
vehicleNo));
TAppLocation location = null;
if (locationList != null && locationList.size() > 0) {
location = locationList.getFirst();
}
if (location != null && !appStockService.exists(new LambdaQueryWrapper<TAppStock>()
.eq(StringUtils.isNotEmpty(vehicleNo),
TAppStock::getVehicleId, vehicleNo)
.eq(TAppStock::getStockStatus, WmsStockStatusEnums.OK.getCode()))) {
if (!appLocationService.update(
new LambdaUpdateWrapper<TAppLocation>().eq(TAppLocation::getLocationId, location.getLocationId())
.set(TAppLocation::getIsOccupy, WmsLocationOccupyStatusEnums.EMPTY.getCode())
.set(TAppLocation::getVehicleId, ""))) {
log.info("fail to update location, vehicleNo: {}, location: {}", vehicleNo, location.getLocationId());
}
appCommon.updateWorkingLocations(location.getLocationId(), 0);
return "成功清理";
} else {
return "该载具已在库中,无法清除库位信息 / 库位表中无数据";
}
}
}

View File

@ -49,10 +49,10 @@ public class WcsStackerTaskSender implements Job {
*/
@Override
public void execute(JobExecutionContext jobExecutionContext) {
// if (appWcsTaskService.exists(new LambdaQueryWrapper<TAppWcsTask>().eq(TAppWcsTask::getWcsTaskStatus,
// WcsStackerTaskStatusEnums.WAIT.getCode()))) {
// return;
// }
if (appWcsTaskService.exists(new LambdaQueryWrapper<TAppWcsTask>().eq(TAppWcsTask::getWcsTaskStatus,
WcsStackerTaskStatusEnums.WAIT.getCode()))) {
return;
}
// 查询到所有的待下发的wcsTask并按优先级排序
List<TAppWcsTask> waitSendWcsTaskList = appWcsTaskService.list(
new LambdaQueryWrapper<TAppWcsTask>()

View File

@ -5,13 +5,13 @@ spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
# 本地
url: jdbc:mysql://localhost:3306/wms_mengyang_box?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&rewriteBatchedStatements=true
username: root
password: root
# url: jdbc:mysql://localhost:3306/wms_mengyang_box?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&rewriteBatchedStatements=true
# username: root
# password: root
# 服务器
# url: jdbc:mysql://10.18.58.21:3306/wms_yachi_nantong?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&rewriteBatchedStatements=true
# username: user
# password: user
url: jdbc:mysql://localhost:3306/wms_mengyang_box?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&rewriteBatchedStatements=true
username: user
password: user
profiles:
active: online