From 505fc31385d5a40a1240c4677f2493513d95085e Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期四, 27 十一月 2025 11:11:26 +0800
Subject: [PATCH] 相同票号入收货区判断

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
index 36f4f97..19c1476 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -708,10 +708,10 @@
             LocItemWorking locWorking = locItemWorkingService.getOne(new LambdaQueryWrapper<LocItemWorking>()
                     .eq(LocItemWorking::getTaskId, taskItem.getTaskId())
                     .eq(LocItemWorking::getFieldsIndex, taskItem.getFieldsIndex())
-                    .eq(StringUtils.isNotBlank(taskItem.getBatch()), LocItemWorking::getBatch, taskItem.getBatch())
+                    .eq(StringUtils.isNotEmpty(taskItem.getBatch()), LocItemWorking::getBatch, taskItem.getBatch())
                     .eq(LocItemWorking::getMatnrId, taskItem.getMatnrId()));
             if (Objects.isNull(locWorking)) {
-                throw new CoolException("鏁版嵁閿欒锛屼綔涓氫腑搴撳瓨鏁版嵁涓㈠け锛侊紒");
+               continue;
             }
             if (task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)) {
                 locWorking.setAnfme(taskItem.getAnfme());
@@ -1019,12 +1019,12 @@
 
         tempLocs.forEach(working -> {
             taskItems.forEach(taskItem -> {
-                if (taskItem.getMatnrId().equals(working.getMatnrId())) {
+                if (taskItem.getFieldsIndex().equals(working.getFieldsIndex())) {
                     Double minQty = taskItem.getAnfme();
                     if (!task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)) {
-                        minQty = Math.round((working.getAnfme() - taskItem.getAnfme()) * 100) / 100.0;
+                        minQty = Math.round((working.getAnfme() - taskItem.getQty()) * 100) / 100.0;
                     }
-                    if (minQty.compareTo(0.0) > 0) {
+                    if (minQty.compareTo(0.0) >= 0) {
                         taskItem.setAnfme(minQty);
                         if (!taskItemService.updateById(taskItem)) {
                             throw new CoolException("浠诲姟鏄庣粏淇敼澶辫触锛侊紒");
@@ -1050,6 +1050,7 @@
                     .setMatnrCode(working.getMatnrCode())
                     .setSpec(working.getSpec())
                     .setAnfme(working.getAnfme())
+                    .setQty(0.0)
                     .setBatch(working.getBatch())
                     .setFieldsIndex(working.getFieldsIndex())
                     .setUnit(working.getUnit())
@@ -1074,6 +1075,7 @@
                 LocItemWorking itemWorking = new LocItemWorking();
                 BeanUtils.copyProperties(taskItem, itemWorking);
                 itemWorking.setTaskId(task.getId())
+                        .setQty(0.0)
                         .setLocId(loc1.getId())
                         .setLocCode(loc1.getCode());
                 workings.add(itemWorking);
@@ -1215,7 +1217,6 @@
                 .set(Task::getTaskStatus, TaskStsType.WAVE_SEED.id))) {
             throw new CoolException("搴撳瓨鐘舵�佹洿鏂板け璐ワ紒锛�");
         }
-
 
 //        if (task.getTaskType().equals(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type) || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type)) {
 //            if (!this.update(new LambdaUpdateWrapper<Task>()

--
Gitblit v1.9.1