From 159a74e35b588f95fd3e9efc4e15733f84cbd829 Mon Sep 17 00:00:00 2001
From: L <L@132>
Date: 星期日, 21 九月 2025 21:04:18 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/entity/result/OrderDetlValueResultUtil.java | 12 +++
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 48 +++++++++--
src/main/resources/mapper/BasArmMastMapper.xml | 27 ++++++
src/main/java/com/zy/asrs/service/BasArmMastService.java | 3
src/main/java/com/zy/asrs/mapper/BasArmMastMapper.java | 4
src/main/java/com/zy/common/constant/ArmConstant.java | 27 ++++++
src/main/java/com/zy/asrs/entity/param/ArmOrderAssignmentParam.java | 72 ++++++++++++++++++
src/main/java/com/zy/asrs/service/impl/BasArmMastServiceImpl.java | 11 ++
8 files changed, 193 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/param/ArmOrderAssignmentParam.java b/src/main/java/com/zy/asrs/entity/param/ArmOrderAssignmentParam.java
new file mode 100644
index 0000000..b952d93
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/ArmOrderAssignmentParam.java
@@ -0,0 +1,72 @@
+package com.zy.asrs.entity.param;
+
+import com.zy.asrs.entity.BasArmMast;
+import com.zy.asrs.entity.result.OrderDetlValueResultUtil;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/*
+ * Created by Monkey D. Luffy on 2025.09.09
+ * */
+@Data
+public class ArmOrderAssignmentParam {
+
+ private String order_id;//搴忓垪鐮亅sku|LABEL_璁㈠崟鍙穦s|LABEL_绔欑偣鍙�
+ private int order_type = 1;//1锛氬崟鐮�
+ private static final String sign_arm_order = "|s|LABEL_";
+ private static final String sign_arm_sku = "|sku|LABEL_";
+ private List<OrderItem> order_items;//1锛氬崟鐮�
+
+
+ @Data
+ public static class OrderItem {
+
+ private SKUInfo sku_info;
+
+ private int target_num = 0;
+ private String from = "";//鎶撳彇浣�
+ private String to = "";//鏀剧疆浣�
+
+
+ @Data
+ public static class SKUInfo {
+
+ // 鐗╂枡缂栧彿
+ private String id;
+
+ private Double length;
+ private Double width;
+ private Double height;
+ private Double weight;
+
+ public SKUInfo() {};
+
+ public SKUInfo(BasArmMast basArmMast, OrderDetlValueResultUtil orderDetlValueResultUtil){
+ id = basArmMast.getSku();
+ length = orderDetlValueResultUtil.getLength();
+ width = orderDetlValueResultUtil.getWidth();
+ weight = orderDetlValueResultUtil.getWeight();
+ height = orderDetlValueResultUtil.getHeight();
+ }
+ }
+
+ public OrderItem() {};
+ public OrderItem(BasArmMast basArmMast, OrderDetlValueResultUtil orderDetlValueResultUtil) {
+ target_num = orderDetlValueResultUtil.getAnfme().intValue();
+ from = basArmMast.getSortingLine().toString();
+ to = basArmMast.getStaNo().toString();
+ sku_info = new SKUInfo(basArmMast,orderDetlValueResultUtil);
+ };
+ }
+
+ public ArmOrderAssignmentParam() {}
+ public ArmOrderAssignmentParam(BasArmMast basArmMast, OrderDetlValueResultUtil orderDetlValueResultUtil) {
+ order_id = basArmMast.getSku()+sign_arm_sku+basArmMast.getOrderNo()+sign_arm_order+String.valueOf(basArmMast.getSortingLine());
+ List<OrderItem> orderItemArrayList= new ArrayList<>();
+ OrderItem orderItem = new OrderItem(basArmMast,orderDetlValueResultUtil);
+ orderItemArrayList.add(orderItem);
+ order_items = orderItemArrayList;
+ }
+}
diff --git a/src/main/java/com/zy/asrs/entity/result/OrderDetlValueResultUtil.java b/src/main/java/com/zy/asrs/entity/result/OrderDetlValueResultUtil.java
new file mode 100644
index 0000000..5d47c92
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/result/OrderDetlValueResultUtil.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.entity.result;
+
+import lombok.Data;
+
+@Data
+public class OrderDetlValueResultUtil {
+ private Double length = 0.0;
+ private Double width = 0.0;
+ private Double height = 0.0;
+ private Double weight = 0.0;
+ private Double anfme = 0.0;
+}
diff --git a/src/main/java/com/zy/asrs/mapper/BasArmMastMapper.java b/src/main/java/com/zy/asrs/mapper/BasArmMastMapper.java
index 9ed6db1..40058c7 100644
--- a/src/main/java/com/zy/asrs/mapper/BasArmMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/BasArmMastMapper.java
@@ -2,6 +2,7 @@
import com.zy.asrs.entity.BasArmMast;
import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.result.OrderDetlValueResultUtil;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@@ -11,5 +12,6 @@
public interface BasArmMastMapper extends BaseMapper<BasArmMast> {
boolean updateArmMastStatus(@Param("armNo")int armNo, @Param("sortingLine")int sortingLine, @Param("status")int status, @Param("endStatus")int endStatus);
-
+ Double selectOrderDetlAndSku(@Param("orderNo")String orderNo, @Param("sku")String sku);
+ OrderDetlValueResultUtil selectOrderDetlValue(@Param("orderNo")String orderNo, @Param("sku")String sku);
}
diff --git a/src/main/java/com/zy/asrs/service/BasArmMastService.java b/src/main/java/com/zy/asrs/service/BasArmMastService.java
index 2519ca2..f30151f 100644
--- a/src/main/java/com/zy/asrs/service/BasArmMastService.java
+++ b/src/main/java/com/zy/asrs/service/BasArmMastService.java
@@ -2,9 +2,12 @@
import com.zy.asrs.entity.BasArmMast;
import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.result.OrderDetlValueResultUtil;
public interface BasArmMastService extends IService<BasArmMast> {
boolean updateArmMastStatus(int armNo,int sortingLine,int status,int endStatus);
+ Double selectOrderDetlAndSku(String order,String sku);
+ OrderDetlValueResultUtil selectOrderDetlValue(String order, String sku);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/BasArmMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasArmMastServiceImpl.java
index fc7dcc6..fa1c414 100644
--- a/src/main/java/com/zy/asrs/service/impl/BasArmMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/BasArmMastServiceImpl.java
@@ -1,5 +1,6 @@
package com.zy.asrs.service.impl;
+import com.zy.asrs.entity.result.OrderDetlValueResultUtil;
import com.zy.asrs.mapper.BasArmMastMapper;
import com.zy.asrs.entity.BasArmMast;
import com.zy.asrs.service.BasArmMastService;
@@ -13,4 +14,14 @@
public boolean updateArmMastStatus(int armNo,int sortingLine,int status,int endStatus){
return this.baseMapper.updateArmMastStatus(armNo,sortingLine,status,endStatus);
}
+
+ @Override
+ public Double selectOrderDetlAndSku(String order,String sku){
+ return this.baseMapper.selectOrderDetlAndSku(order,sku);
+ }
+
+ @Override
+ public OrderDetlValueResultUtil selectOrderDetlValue(String order, String sku){
+ return this.baseMapper.selectOrderDetlValue(order,sku);
+ }
}
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index ca6a12f..d5f05ac 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -8,8 +8,10 @@
import com.core.common.DateUtils;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.ArmOrderAssignmentParam;
import com.zy.asrs.entity.param.ArmTaskAssignmentParam;
import com.zy.asrs.entity.param.CombParam;
+import com.zy.asrs.entity.result.OrderDetlValueResultUtil;
import com.zy.asrs.mapper.*;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.PostMesDataUtils;
@@ -4412,16 +4414,44 @@
log.error("arm缂栧彿锛�"+basArm.getArmNo()+"====銆嬫媶鐮佸灈浠诲姟寮傚父绂佹涓嬪彂锛侊紒锛佷换鍔″緟鎵ц鏁伴噺澶т簬1锛侊紒锛�");
continue;
}
- for (BasArmMast basArmMast:basArmMastList) {
- ArmTaskAssignmentParam armTaskAssignmentParam = new ArmTaskAssignmentParam(basArmMast.getSortingLine());
- //璁剧疆宸ヤ綔绌洪棿灏辩华
- ReturnT<String> result = new PostMesDataUtils().postMesData("鏈烘鑷傛姄鍙栦换鍔′笅鍙戯細閫氱煡宸ヤ綔绌洪棿宸插氨缁�",ArmConstant.ARM_URL, ArmConstant.ARM_WORKSPACE, armTaskAssignmentParam);
- if (result.getCode()==200){
- basArmMast.setStatus(1);
- basArmMastService.updateById(basArmMast);
- } else {
- log.error("鏈烘鑷傛姄鍙栦换鍔★細"+JSON.toJSON(basArmMast)+"===銆嬩换鍔′俊鎭笅鍙戝け璐�");
+ BasArmMast basArmMast = basArmMastList.get(0);
+ List<BasArmMast> basArmMastListOrder = basArmMastService.selectList(
+ new EntityWrapper<BasArmMast>()
+ .eq("arm_no", basArm.getArmNo())
+ .eq("sorting_line", basArm.getSortingLine())
+ .eq("sku", basArmMast.getSku())
+ .eq("order_no", basArmMast.getOrderNo())
+ );
+ if (basArmMastListOrder.size()==1){
+ OrderDetlValueResultUtil orderDetlValueResultUtil = basArmMastService.selectOrderDetlValue(basArmMast.getOrderNo(), basArmMast.getSku());
+
+ if (Cools.isEmpty(orderDetlValueResultUtil)){
+ continue;
}
+ //璁㈠崟涓嬪彂
+ try{
+ ArmOrderAssignmentParam armOrderAssignmentParam = new ArmOrderAssignmentParam(basArmMast,orderDetlValueResultUtil);
+// 璁㈠崟涓嬪彂(SKU+璁㈠崟)
+ ReturnT<String> result = new PostMesDataUtils().postMesData("鏈烘鑷傛姄鍙栬鍗曪紙SKU锛変笅鍙戯細",ArmConstant.getArmUrl(basArmMast.getArmNo()), ArmConstant.ARM_ADAPTOR, armOrderAssignmentParam);
+ if (result.getCode()==200){
+ basArmMast.setStatus(1);
+ basArmMastService.updateById(basArmMast);
+ } else {
+ log.error("鏈烘鑷傛姄鍙栬鍗曪紙SKU锛変笅鍙戯細"+JSON.toJSON(basArmMast)+"===銆嬭鍗曚俊鎭笅鍙戝け璐�");
+ }
+ } catch (Exception e){
+ log.error("鏈烘鑷傛姄鍙栬鍗曪紙SKU锛変笅鍙戯細"+JSON.toJSON(basArmMast)+"===銆嬭鍗曚笅鍙戣鍗曚俊鎭笅鍙戝け璐�");
+ continue;
+ }
+ }
+ ArmTaskAssignmentParam armTaskAssignmentParam = new ArmTaskAssignmentParam(basArmMast.getSortingLine());
+ //璁剧疆宸ヤ綔绌洪棿灏辩华
+ ReturnT<String> result = new PostMesDataUtils().postMesData("鏈烘鑷傛姄鍙栦换鍔′笅鍙戯細閫氱煡宸ヤ綔绌洪棿宸插氨缁�",ArmConstant.getArmUrl(basArmMast.getArmNo()), ArmConstant.ARM_WORKSPACE, armTaskAssignmentParam);
+ if (result.getCode()==200){
+ basArmMast.setStatus(1);
+ basArmMastService.updateById(basArmMast);
+ } else {
+ log.error("鏈烘鑷傛姄鍙栦换鍔★細"+JSON.toJSON(basArmMast)+"===銆嬩换鍔′俊鎭笅鍙戝け璐�");
}
}
} catch (Exception e){
diff --git a/src/main/java/com/zy/common/constant/ArmConstant.java b/src/main/java/com/zy/common/constant/ArmConstant.java
index 60b5a8a..2de0b91 100644
--- a/src/main/java/com/zy/common/constant/ArmConstant.java
+++ b/src/main/java/com/zy/common/constant/ArmConstant.java
@@ -5,10 +5,35 @@
* */
public class ArmConstant {
- public static final String ARM_URL = "http://192.168.99.130:80";
+ public static final String ARM_URL = "http://10.10.10.171:7002";
+ public static final String ARM_URL1 = "http://10.10.10.171:7002";
+ public static final String ARM_URL2 = "http://10.10.10.172:7002";
+ public static final String ARM_URL3 = "http://10.10.10.173:7002";
+ public static final String ARM_URL4 = "http://10.10.10.174:7002";
+ public static final String ARM_URL5 = "http://10.10.10.175:7002";
+ public static final String ARM_URL6 = "http://10.10.10.176:7002";
public static final String ARM_ADAPTOR = "adaptor/api/wcs/order";//鍒涘缓璁㈠崟
public static final String ARM_WORKSPACE = "adaptor/api/wcs/workspace/ready";//閫氱煡宸ヤ綔绌洪棿宸插氨缁�
+ public static String getArmUrl(int armNo) {
+ switch (armNo) {
+ case 1:
+ return ARM_URL1;
+ case 2:
+ return ARM_URL2;
+ case 3:
+ return ARM_URL3;
+ case 4:
+ return ARM_URL4;
+ case 5:
+ return ARM_URL5;
+ case 6:
+ return ARM_URL6;
+ default:
+ return ARM_URL;
+ }
+ }
+
}
diff --git a/src/main/resources/mapper/BasArmMastMapper.xml b/src/main/resources/mapper/BasArmMastMapper.xml
index f5a0524..79ea6d3 100644
--- a/src/main/resources/mapper/BasArmMastMapper.xml
+++ b/src/main/resources/mapper/BasArmMastMapper.xml
@@ -25,6 +25,15 @@
</resultMap>
+ <resultMap id="BaseResultMapOrderDetlValue" type="com.zy.asrs.entity.result.OrderDetlValueResultUtil">
+ <result column="man_length" property="length" />
+ <result column="width" property="width" />
+ <result column="height" property="height" />
+ <result column="weight" property="weight" />
+ <result column="anfme" property="anfme" />
+
+ </resultMap>
+
<update id="updateArmMastStatus">
update asr_bas_arm_mast
set status = #{endStatus}
@@ -34,4 +43,22 @@
and status = #{status}
</update>
+ <select id="selectOrderDetlAndSku" parameterType="java.util.Map" resultType="java.lang.Double">
+ select
+ anfme
+ from man_order_detl
+ where 1=1
+ and order_no = #{orderNo}
+ and matnr = #{sku}
+ </select>
+
+ <select id="selectOrderDetlValue" resultMap="BaseResultMapOrderDetlValue">
+ select
+ d.man_length,d.width,d.height,d.weight,d.anfme
+ from man_order_detl d
+ where 1=1
+ and d.order_no = #{orderNo}
+ and d.matnr = #{sku}
+ </select>
+
</mapper>
--
Gitblit v1.9.1