From 3f024ffe63d73d40344ce8d19e06975d4127f1d8 Mon Sep 17 00:00:00 2001 From: "ZHOUZ\\Noble'lift" <1014987728@qq.com> Date: Tue, 6 Jun 2023 15:37:42 +0800 Subject: [PATCH] =?UTF-8?q?rev:=E5=88=86=E5=88=87=E8=BD=BD=E5=85=B7?= =?UTF-8?q?=E5=8F=B7=E6=A0=A1=E9=AA=8C=EF=BC=8C=E7=A9=BA=E8=BD=BD=E5=85=B7?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=BF=AE=E6=94=B9=EF=BC=8C=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=9B=9E=E8=B0=83=E6=96=B9=E6=B3=95=E6=B7=BB=E5=8A=A0=E4=BA=8B?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../acs/service/impl/AcsToWmsServiceImpl.java | 28 +++++---------- .../pda/mps/service/impl/OutServiceImpl.java | 2 +- .../mps/service/impl/ShippingServiceImpl.java | 18 +++++++++- .../java/org/nl/wms/pda/mps/wql/PDA_02.wql | 35 ++++++++++++++++++- .../wms/sch/service/impl/TaskServiceImpl.java | 10 ++++-- .../main/java/org/nl/wms/util/TranUtil.java | 1 - 6 files changed, 69 insertions(+), 25 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 3ff779fd6..e119051c1 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 @@ -113,22 +113,12 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } else { message = e.getTargetException().getMessage(); } - log.info("任务状态更新失败:{}", message); - - JSONObject json = new JSONObject(); - json.put("task_id", task_id); - json.put("message", message); - errArr.add(json); + throw new BadRequestException(message); } catch (Exception e) { e.printStackTrace(); message = e.getMessage(); - log.info("任务状态更新失败:{}", message); - - JSONObject json = new JSONObject(); - json.put("task_id", task_id); - json.put("message", message); - errArr.add(json); + throw new BadRequestException(message); } } @@ -438,11 +428,11 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { JSONObject param = new JSONObject(); param.put("flag", "1"); - param.put("sale_order_name",sale_order_name); - param.put("product_name",product_name); - param.put("box_length",box_length_1); - param.put("box_width",box_width_1); - param.put("box_high",box_high_1); + param.put("sale_order_name", sale_order_name); + param.put("product_name", product_name); + param.put("box_length", box_length_1); + param.put("box_width", box_width_1); + param.put("box_high", box_high_1); //查询是否存在可用的空位 String point_code = ""; @@ -614,7 +604,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } JSONObject data = new JSONObject(); - data.put("is_auto_table",jsonCust.getString("is_auto_table")); + data.put("is_auto_table", jsonCust.getString("is_auto_table")); // 判断是否贴标 if (!StrUtil.equals(jsonCust.getString("is_auto_table"), "1")) { @@ -1009,7 +999,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { point.update(json); JSONObject jsonTwo = new JSONObject(); - jsonTwo.put("point_id", IdUtil.getSnowflake(1,1).nextId()); + jsonTwo.put("point_id", IdUtil.getSnowflake(1, 1).nextId()); jsonTwo.put("device_code", json.getString("device_code")); jsonTwo.put("point_code", jsonTwo.getString("device_code") + "_2"); jsonTwo.put("point_name", json.getString("point_name")); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java index 551707aef..00c5c1152 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java @@ -232,7 +232,7 @@ public class OutServiceImpl implements OutService { throw new BadRequestException("起点不能为空!"); } - JSONObject task1 = WQLObject.getWQLObject("SCH_BASE_Task").query("point_code1 = '" + point_code + "' AND task_status < '07' AND is_delete = '0'").uniqueResult(0); + JSONObject task1 = WQLObject.getWQLObject("SCH_BASE_Task").query("(point_code2 = '" + point_code + "' OR point_code1 = '" + point_code + "' ) AND task_status < '07' AND is_delete = '0'").uniqueResult(0); if (ObjectUtil.isNotEmpty(task1)) { throw new BadRequestException("点位:" + point_code + "存在未完成的任务!"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/ShippingServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/ShippingServiceImpl.java index 4ed2d2f25..67ee918a8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/ShippingServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/ShippingServiceImpl.java @@ -59,7 +59,7 @@ public class ShippingServiceImpl implements ShippingService { .addParam("sql_str", " ORDER BY abs(" + cut_jo.getString("sort_seq") + "-sort_seq),point_code") .addParam("product_area", cut_jo.getString("product_area")) .addParam("point_location", cut_jo.getString("point_location")) - .addParam("flag", "3").process().uniqueResult(0); + .addParam("flag", "302").process().uniqueResult(0); if (ObjectUtil.isEmpty(empty_vehicle)) { throw new BadRequestException("未查询到可用的空载具!"); } @@ -87,6 +87,14 @@ public class ShippingServiceImpl implements ShippingService { if (StrUtil.isEmpty(vehicle_code)) { throw new BadRequestException("输入的载具号不能为空!"); } + JSONObject vehicle_task = WQLObject.getWQLObject("sch_base_task").query("vehicle_code2 = '" + vehicle_code + "' AND is_delete = '0' AND task_status < '07'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(vehicle_task)) { + throw new BadRequestException("载具码:" + vehicle_code + "存在未完成的输送线任务!"); + } + JSONObject del_jo = WQLObject.getWQLObject("st_ivt_deliverypointivt").query("vehicle_code = '"+vehicle_code+"'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(del_jo)){ + throw new BadRequestException("载具码:" + vehicle_code + "存在点位:"+del_jo.getString("point_code")+"上!"); + } if (rows.size() > 2) { throw new BadRequestException("最多选择两个分切计划进行操作!"); @@ -272,6 +280,14 @@ public class ShippingServiceImpl implements ShippingService { if (StrUtil.isEmpty(vehicle_code)) { throw new BadRequestException("载具码不能为空!"); } + JSONObject vehicle_task = WQLObject.getWQLObject("sch_base_task").query("vehicle_code2 = '" + vehicle_code + "' AND is_delete = '0' AND task_status < '07'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(vehicle_task)) { + throw new BadRequestException("载具码:" + vehicle_code + "存在未完成的输送线任务!"); + } + JSONObject del_jo = WQLObject.getWQLObject("st_ivt_deliverypointivt").query("vehicle_code = '"+vehicle_code+"'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(del_jo)){ + throw new BadRequestException("载具码:" + vehicle_code + "存在点位:"+del_jo.getString("point_code")+"上!"); + } //判断起点是否存在 JSONObject start_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + point_code + "' AND is_delete = '0' AND is_used = '1'").uniqueResult(0); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql index 01bb95938..fade1539b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql @@ -135,7 +135,8 @@ sch_base_task WHERE ( point_code1 = ivt.point_code OR point_code2 = ivt.point_code ) - AND task_status < '07' + AND vehicle_code2 = ivt.vehicle_code + AND task_status < '07' AND is_delete = '0' ) OPTION 输入.product_area <> "" @@ -150,6 +151,38 @@ ENDQUERY ENDIF + IF 输入.flag = "302" + QUERY + SELECT + ivt.* + FROM + st_ivt_deliverypointivt ivt + WHERE + point_status = '02' + AND ivt.is_used = '1' + AND NOT EXISTS ( + SELECT + * + FROM + sch_base_task + WHERE + ( point_code1 = ivt.point_code OR point_code2 = ivt.point_code ) + AND vehicle_code2 = ivt.vehicle_code + AND task_status < '07' + AND is_delete = '0' + ) + OPTION 输入.product_area <> "" + ivt.product_area = 输入.product_area + ENDOPTION + OPTION 输入.product_area <> "" + ivt.point_location = 输入.point_location + ENDOPTION + 输入.sql_str + + ENDSELECT + ENDQUERY + ENDIF + IF 输入.flag = "4" QUERY SELECT diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java index 3222490c5..6086d9859 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java @@ -13,6 +13,7 @@ import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.modules.wql.util.SpringContextHolder; import org.nl.modules.wql.util.WqlUtil; import org.nl.wms.basedata.master.service.ClassstandardService; import org.nl.wms.basedata.master.service.dto.ClassstandardDto; @@ -21,6 +22,11 @@ import org.nl.wms.sch.service.RegionService; import org.nl.wms.sch.service.TaskService; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.TransactionDefinition; +import org.springframework.transaction.TransactionStatus; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.support.DefaultTransactionDefinition; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -98,6 +104,7 @@ public class TaskServiceImpl implements TaskService { } @Override + @Transactional(rollbackFor = Exception.class) public void operation(Map map) { String task_id = MapUtil.getStr(map, "task_id"); String method_name = MapUtil.getStr(map, "method_name"); @@ -105,7 +112,6 @@ public class TaskServiceImpl implements TaskService { // 任务处理类 String processing_class = taskObj.getString("handle_class"); String message = ""; - // 根据任务类型获取对应的任务操作类 try { Class clz = Class.forName(processing_class); Object obj = clz.newInstance(); @@ -139,7 +145,7 @@ public class TaskServiceImpl implements TaskService { throw new BadRequestException(message); } catch (Exception e) { e.printStackTrace(); - throw new BadRequestException("任务操作失败!"); + throw new BadRequestException(e.getMessage()); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/util/TranUtil.java b/lms/nladmin-system/src/main/java/org/nl/wms/util/TranUtil.java index 36bc399fc..f03405bbe 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/util/TranUtil.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/util/TranUtil.java @@ -36,7 +36,6 @@ public class TranUtil { try { //创建所有事务集合 Consumer allTransactionConsumer = task -> { - System.out.println(TransactionSynchronizationManager.getCurrentTransactionName()); DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); def.setIsolationLevel(TransactionDefinition.ISOLATION_READ_UNCOMMITTED);