From a761564471b185de78182bac5ff5371f40f40861 Mon Sep 17 00:00:00 2001 From: zhengxuming Date: Fri, 8 Aug 2025 14:06:24 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=8F=AB=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/MesToWmsServiceImpl.java | 18 +++++++++++++----- .../util/tasks/zw/SeparateMaterialTask.java | 6 +++++- .../service/impl/OutBillServiceImpl.java | 6 +++++- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/MesToWmsServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/MesToWmsServiceImpl.java index 5194a19..8f4c0d4 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/MesToWmsServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/MesToWmsServiceImpl.java @@ -153,10 +153,6 @@ public class MesToWmsServiceImpl implements MesToWmsService { throw new BadRequestException("设备【" + pointCode + "】不存在!"); } - if(StringUtils.isBlank(outPoint.getVehicle_code())){ - throw new BadRequestException("设备【" + pointCode + "】不存在料桶,请核对!"); - } - if(!"1".equals(outPoint.getPoint_type())){ throw new BadRequestException("设备【" + dto.getStruct_code() + "】有误,请传入作业区设备!"); } @@ -200,6 +196,11 @@ public class MesToWmsServiceImpl implements MesToWmsService { if (ObjectUtil.isEmpty(groupPlate)) { throw new BadRequestException("托盘[" + outStructAttr.getStoragevehicle_code() + "]组盘信息不存在!"); } + + if(!"1".equals(outPoint.getPoint_status())){ + throw new BadRequestException("设备【" + dto.getStruct_code() + "】有托盘或有料,请执行下空桶上满料!"); + } + // 1、创建出库单、明细、分配明细 JSONObject insertInvObj = new JSONObject(); JSONArray tableData = new JSONArray(); @@ -272,6 +273,11 @@ public class MesToWmsServiceImpl implements MesToWmsService { outBillService.allSetPoint(taskParam); return MesResponse.requestOk(); } else if("2".equals(dto.getTask_type())){ + + if(StringUtils.isBlank(outPoint.getVehicle_code())){ + throw new BadRequestException("设备【" + pointCode + "】不存在料桶,请核对!"); + } + //下空桶上满料 4个点 需要拆成2个任务,组装成一组 log.info("下空桶上满料叫料,请求参数:【{}】", JSONObject.toJSONString(dto)); @@ -314,6 +320,9 @@ public class MesToWmsServiceImpl implements MesToWmsService { if (ObjectUtil.isEmpty(materialbase)) { throw new BadRequestException("物料【" + dto.getMaterial_code() + "】不存在!"); } + if("1".equals(outPoint.getPoint_status())){ + throw new BadRequestException("设备【" + dto.getStruct_code() + "】是空位,请执行单独上料!"); + } GroupPlate groupPlate = iMdPbGroupplateService.getOne(new LambdaQueryWrapper() .eq(GroupPlate::getStoragevehicle_code, outStructAttr.getStoragevehicle_code()) .eq(GroupPlate::getStatus, "02")); @@ -378,7 +387,6 @@ public class MesToWmsServiceImpl implements MesToWmsService { outBillService.manualDiv(param); // 创建任务 - JSONObject taskParam = new JSONObject(); taskParam.put("iostorinv_id", invId); taskParam.put("point_code", dto.getStruct_code()); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/zw/SeparateMaterialTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/zw/SeparateMaterialTask.java index 5d30867..4e3155a 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/zw/SeparateMaterialTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/zw/SeparateMaterialTask.java @@ -32,6 +32,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Collections; import java.util.List; ; @@ -178,7 +179,7 @@ public class SeparateMaterialTask extends AbstractTask { //更改点位的托盘信息,空托盘的点位 2为空托盘放置点位 pointService.update(new LambdaUpdateWrapper() .set(SchBasePoint::getVehicle_code, taskObj.getVehicle_code()) - .set(SchBasePoint::getPoint_status, "2") + .set(SchBasePoint::getPoint_status, "3") .set(SchBasePoint::getVehicle_qty, 1) .set(SchBasePoint::getUpdate_id, SecurityUtils.getCurrentUserId()) .set(SchBasePoint::getUpdate_name, SecurityUtils.getCurrentNickName()) @@ -194,6 +195,9 @@ public class SeparateMaterialTask extends AbstractTask { .set(Structattr::getUpdate_time, DateUtil.now()) .eq(Structattr::getStruct_code, taskObj.getPoint_code1())); + //删除 + iMdPbGroupplateService.delete(Collections.singleton(taskObj.getGroup_id())); + //反馈到MES系统 if("自动".equals(taskObj.getCreate_mode())){ JSONObject jsonObject=new JSONObject(); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/OutBillServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/OutBillServiceImpl.java index 8d45e29..d749076 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/OutBillServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/OutBillServiceImpl.java @@ -1003,7 +1003,9 @@ public class OutBillServiceImpl extends ServiceImpl i } pointService.updateBatchById(Arrays.asList(inPoint, outPoint)); } else if (StatusEnum.IOBILL_TYPE_OUT.code("单独上料出库").equals(ioStorInv.getBill_type())) { - // 单独上料出库 + // 单独上料出库,这个业务中 point_code2是出库点位 + point_code = whereJson.getString("point_code2"); + SchBasePoint rkPoint = pointService.getById(whereJson.getString("point_code2")); if (ObjectUtil.isEmpty(rkPoint)) { throw new BadRequestException("点位不存在"); @@ -1022,6 +1024,8 @@ public class OutBillServiceImpl extends ServiceImpl i rkPoint.setPoint_status("3"); pointService.updateById(rkPoint); } else if (StatusEnum.IOBILL_TYPE_OUT.code("下空桶上满料出库").equals(ioStorInv.getBill_type())) { + //这个业务中 point_code3是出库点位 + point_code = whereJson.getString("point_code3"); //需要建设2个任务,2个任务组成一个组,增加序号 //第三个点位,获取载具号用 String taskGroupId = IdUtil.getStringId();