From c4d5243abfce20339d29146f7c4ef172816b522c Mon Sep 17 00:00:00 2001 From: zhangzq Date: Fri, 14 Feb 2025 17:00:41 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=87=BA=E5=85=A5=E5=BA=93=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E4=B8=8D=E5=88=B0=E5=8D=95=E6=8D=AE=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../acs/service/impl/AcsToWmsServiceImpl.java | 25 +++---------------- .../org/nl/wms/sch/tasks/CallEmpReelTask.java | 1 - .../nl/wms/sch/tasks/EmptyVehicleTask.java | 1 - .../st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql | 4 +-- .../st/outbill/wql/QST_IVT_CHECKOUTBILL.wql | 4 +-- 5 files changed, 8 insertions(+), 27 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 6d6a12e2b..b2513121a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -83,7 +83,7 @@ import java.util.stream.Collectors; @Slf4j public class AcsToWmsServiceImpl implements AcsToWmsService { - private static Interner Heap_Lock = Interners.newWeakInterner(); + private static Map Task_Status_Convers = MapOf.of("1",TaskStatusEnum.EXECUTING.getCode(),"2",TaskStatusEnum.FINISHED.getCode(),"3","0"); private final RawAssistIStorService rawAssistIStorService; @@ -195,25 +195,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { if (StrUtil.isEmpty(processing_class)) { throw new BadRequestException("当前任务的处理类未找到!"); } - //1:执行中,2:完成 ,3:acs取消 - String acs_task_status = row.getString("task_status"); - String car_no = row.getString("car_no"); - if (StrUtil.isNotEmpty(car_no)) { - WQLObject.getWQLObject("SCH_BASE_Task").update(MapOf.of("car_no", car_no),"task_id = '" + task_id + "'"); - } - String status = ""; - if ("1".equals(acs_task_status)) { - status = TaskStatusEnum.EXECUTING.getCode(); - } - if ("2".equals(acs_task_status)) { - status = TaskStatusEnum.FINISHED.getCode(); - } - if ("3".equals(acs_task_status)) { - status = "0"; - } - // 任务处理类 AbstractAcsTask abstractTask = (AbstractAcsTask)SpringContextHolder.getBean(Class.forName(taskObj.getString("handle_class"))); - abstractTask.updateTaskStatus(taskObj,status); + abstractTask.updateTaskStatus(taskObj,Task_Status_Convers.get(row.getString("task_status"))); } else { throw new BadRequestException("任务标识为:" + task_id + "的任务正在操作中!"); } @@ -221,8 +204,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { WQLObject.getWQLObject("SCH_BASE_Task").update(MapOf.of("remark",DateUtil.now()+"更新"+row.getString("task_status")+"失败:"+ex.getMessage()),"task_id = '" + task_id + "'"); log.error(task_id+"acs更新任务失败:{}", ex); throw ex; - } finally { - if (tryLock) { + }finally { + if (lock.isLocked() && lock.isHeldByCurrentThread()) { lock.unlock(); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java index 91ca32a83..54ac8813e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java @@ -72,7 +72,6 @@ public class CallEmpReelTask extends AbstractAcsTask { } @Override - @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); // 任务表 WQLObject ivtTab = WQLObject.getWQLObject("ST_IVT_CoolPointIvt"); // 冷却区库存表 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/EmptyVehicleTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/EmptyVehicleTask.java index a855f141c..ef4b2eee3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/EmptyVehicleTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/EmptyVehicleTask.java @@ -78,7 +78,6 @@ public class EmptyVehicleTask extends AbstractAcsTask { } @Override - @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { WQLObject point_table = WQLObject.getWQLObject("SCH_BASE_Point"); WQLObject struct_table = WQLObject.getWQLObject("ST_IVT_StructAttr"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql index 02da64dfd..23396f964 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql @@ -273,7 +273,7 @@ ios.input_time <= 输入.end_time ENDOPTION ) ios2 - INNER JOIN ( + LEFT JOIN ( SELECT dis.iostorinv_id FROM @@ -372,7 +372,7 @@ ios.input_time <= 输入.end_time ENDOPTION ) ios2 - INNER JOIN ( + LEFT JOIN ( SELECT dis.iostorinv_id FROM diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/QST_IVT_CHECKOUTBILL.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/QST_IVT_CHECKOUTBILL.wql index d286d06f6..6ab99b36d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/QST_IVT_CHECKOUTBILL.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/QST_IVT_CHECKOUTBILL.wql @@ -158,7 +158,7 @@ dtl.iostorinv_id, dtl.vbeln ) c ON ios.iostorinv_id = c.iostorinv_id - inner JOIN ( + LEFT JOIN ( SELECT dis.iostorinv_id FROM @@ -268,7 +268,7 @@ dtl.iostorinv_id, dtl.vbeln ) c ON ios.iostorinv_id = c.iostorinv_id - inner JOIN ( + LEFT JOIN ( SELECT dis.iostorinv_id FROM