修复bug:

1. 若入库任务执行时, 堆垛机报警, 则入库失败, 但库位已锁定. 现添加wms删除功能
2. 库位锁定改回先前版本, 在请求库位时即锁定
This commit is contained in:
李宇奇 2025-05-26 09:23:08 +08:00
parent 59c978231a
commit 2ea7816428
5 changed files with 72 additions and 5 deletions

View File

@ -39,4 +39,9 @@ public class OrderController {
public BaseWmsApiResponse updateOrderIn(@RequestParam String recordId, @RequestParam String orderStatus) { public BaseWmsApiResponse updateOrderIn(@RequestParam String recordId, @RequestParam String orderStatus) {
return orderControllerService.updateOrderIn(recordId, orderStatus); return orderControllerService.updateOrderIn(recordId, orderStatus);
} }
@DeleteMapping("/deleteOrderIn")
public BaseWmsApiResponse deleteOrderIn(@RequestParam String recordId) {
return orderControllerService.deleteOrderIn(recordId);
}
} }

View File

@ -16,4 +16,6 @@ public interface IOrderControllerService {
List<TAppOrderIn> getOrderIns(OrderInQuery query); List<TAppOrderIn> getOrderIns(OrderInQuery query);
BaseWmsApiResponse updateOrderIn(String recordId, String orderStatus); BaseWmsApiResponse updateOrderIn(String recordId, String orderStatus);
BaseWmsApiResponse deleteOrderIn(String recordId);
} }

View File

@ -4,15 +4,19 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.wms_main.constant.enums.wms.OrderStatusEnum; import com.wms_main.constant.enums.wms.OrderStatusEnum;
import com.wms_main.dao.ITAppLocationService;
import com.wms_main.dao.ITAppOrderInService; import com.wms_main.dao.ITAppOrderInService;
import com.wms_main.dao.ITAppOrderOutService; import com.wms_main.dao.ITAppOrderOutService;
import com.wms_main.dao.ITAppWcsTaskService;
import com.wms_main.model.dto.query.OrderInQuery; import com.wms_main.model.dto.query.OrderInQuery;
import com.wms_main.model.dto.request.wms.OrderInRequest; import com.wms_main.model.dto.request.wms.OrderInRequest;
import com.wms_main.model.dto.request.wms.OrderOutRequest; import com.wms_main.model.dto.request.wms.OrderOutRequest;
import com.wms_main.model.dto.response.wms.BaseWmsApiResponse; import com.wms_main.model.dto.response.wms.BaseWmsApiResponse;
import com.wms_main.model.dto.response.ycwms.YcwmsResponse; import com.wms_main.model.dto.response.ycwms.YcwmsResponse;
import com.wms_main.model.po.TAppLocation;
import com.wms_main.model.po.TAppOrderIn; import com.wms_main.model.po.TAppOrderIn;
import com.wms_main.model.po.TAppOrderOut; import com.wms_main.model.po.TAppOrderOut;
import com.wms_main.model.po.TAppWcsTask;
import com.wms_main.repository.utils.StringUtils; import com.wms_main.repository.utils.StringUtils;
import com.wms_main.repository.utils.UUIDUtils; import com.wms_main.repository.utils.UUIDUtils;
import com.wms_main.service.controller.IOrderControllerService; import com.wms_main.service.controller.IOrderControllerService;
@ -31,6 +35,8 @@ import java.util.List;
public class OrderControllerServiceImpl implements IOrderControllerService { public class OrderControllerServiceImpl implements IOrderControllerService {
private final ITAppOrderInService appOrderInService; private final ITAppOrderInService appOrderInService;
private final ITAppOrderOutService appOrderOutService; private final ITAppOrderOutService appOrderOutService;
private final ITAppLocationService appLocationService;
private final ITAppWcsTaskService appWcsTaskService;
@Override @Override
public BaseWmsApiResponse addOrderIn(OrderInRequest request) { public BaseWmsApiResponse addOrderIn(OrderInRequest request) {
@ -118,4 +124,30 @@ public class OrderControllerServiceImpl implements IOrderControllerService {
return BaseWmsApiResponse.success(); return BaseWmsApiResponse.success();
} }
} }
@Override
public BaseWmsApiResponse deleteOrderIn(String recordId) {
if (StringUtils.isEmpty(recordId)) {
return BaseWmsApiResponse.error("参数缺失");
} else {
TAppOrderIn orderIn = appOrderInService.getById(recordId);
if (orderIn == null) {
return BaseWmsApiResponse.error("未查询到入库任务");
}
if (StringUtils.isNotEmpty(orderIn.getDestination())) {
appLocationService.update(
new LambdaUpdateWrapper<TAppLocation>()
.eq(TAppLocation::getLocationId, orderIn.getDestination())
.set(TAppLocation::getIsOccupy, 0)
);
appWcsTaskService.remove(
new LambdaQueryWrapper<TAppWcsTask>()
.eq(TAppWcsTask::getDestination, orderIn.getDestination())
);
}
appOrderInService.removeById(orderIn);
return BaseWmsApiResponse.success();
}
}
} }

View File

@ -37,7 +37,7 @@ public class WcsControllerServiceImpl implements IWcsControllerService {
private final ITAppOrderInService orderInService; private final ITAppOrderInService orderInService;
private final IStackerTaskService stackerTaskService; private final IStackerTaskService stackerTaskService;
private final ITAppWcsTaskService wcsTaskService; private final ITAppWcsTaskService wcsTaskService;
private final ITAppLocationService locationService;
@Override @Override
@Transactional @Transactional
@ -110,7 +110,11 @@ public class WcsControllerServiceImpl implements IWcsControllerService {
if(!saveWcsTask) { if(!saveWcsTask) {
return WcsApiResponse.error("任务创建失败,请稍后再试", null); return WcsApiResponse.error("任务创建失败,请稍后再试", null);
} }
// 锁定库位
boolean lockLocation = locationService.updateLocationOccupy(targetLocation.getLocationId(), 1);
if(!lockLocation) {
return WcsApiResponse.error("库位锁定失败,请稍后再试", null);
}
InTaskResp inTaskResp = new InTaskResp(); InTaskResp inTaskResp = new InTaskResp();
inTaskResp.setTaskId(taskId); inTaskResp.setTaskId(taskId);
inTaskResp.setUser("WMS"); inTaskResp.setUser("WMS");
@ -179,6 +183,11 @@ public class WcsControllerServiceImpl implements IWcsControllerService {
if(!saveWcsTask) { if(!saveWcsTask) {
return WcsApiResponse.error("任务创建失败,请稍后再试", null); return WcsApiResponse.error("任务创建失败,请稍后再试", null);
} }
// 锁定库位
boolean lockLocation = locationService.updateLocationOccupy(targetLocation.getLocationId(), 1);
if(!lockLocation) {
return WcsApiResponse.error("库位锁定失败,请稍后再试", null);
}
InTaskResp inTaskResp = new InTaskResp(); InTaskResp inTaskResp = new InTaskResp();
inTaskResp.setTaskId(taskId); inTaskResp.setTaskId(taskId);
inTaskResp.setUser("WMS"); inTaskResp.setUser("WMS");
@ -227,7 +236,11 @@ public class WcsControllerServiceImpl implements IWcsControllerService {
if(!saveWcsTask) { if(!saveWcsTask) {
return WcsApiResponse.error("任务创建失败,请稍后再试", null); return WcsApiResponse.error("任务创建失败,请稍后再试", null);
} }
// 锁定库位
boolean lockLocation = locationService.updateLocationOccupy(targetLocation.getLocationId(), 1);
if(!lockLocation) {
return WcsApiResponse.error("库位锁定失败,请稍后再试", null);
}
InTaskResp inTaskResp = new InTaskResp(); InTaskResp inTaskResp = new InTaskResp();
inTaskResp.setTaskId(taskId); inTaskResp.setTaskId(taskId);
inTaskResp.setUser("WMS"); inTaskResp.setUser("WMS");
@ -281,7 +294,11 @@ public class WcsControllerServiceImpl implements IWcsControllerService {
if(!saveWcsTask) { if(!saveWcsTask) {
return WcsApiResponse.error("任务创建失败,请稍后再试", null); return WcsApiResponse.error("任务创建失败,请稍后再试", null);
} }
// 锁定库位
boolean lockLocation = locationService.updateLocationOccupy(targetLocation.getLocationId(), 1);
if(!lockLocation) {
return WcsApiResponse.error("库位锁定失败,请稍后再试", null);
}
InTaskResp inTaskResp = new InTaskResp(); InTaskResp inTaskResp = new InTaskResp();
inTaskResp.setTaskId(taskId); inTaskResp.setTaskId(taskId);
inTaskResp.setUser("WMS"); inTaskResp.setUser("WMS");

View File

@ -31,8 +31,19 @@ const updateOrderIn = (recordId, orderStatus) => {
}) })
} }
const deleteOrderIn = (recordId) => {
return request({
url: '/wms/order/deleteOrderIn',
method: 'delete',
params: {
recordId
}
})
}
export { export {
submitOrderInForm, submitOrderInForm,
getOrderIns, getOrderIns,
updateOrderIn updateOrderIn,
deleteOrderIn
} }