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