From 9d831229b5a8c238ce55f4ee8de7433c56cbe3a8 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期五, 14 十一月 2025 08:30:35 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/entity/param/OrderMesXGHYParam.java | 81 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 81 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/param/OrderMesXGHYParam.java b/src/main/java/com/zy/asrs/entity/param/OrderMesXGHYParam.java
index 24bf2cc..272613f 100644
--- a/src/main/java/com/zy/asrs/entity/param/OrderMesXGHYParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/OrderMesXGHYParam.java
@@ -1,6 +1,7 @@
package com.zy.asrs.entity.param;
import com.core.common.DateUtils;
+import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.WrkDetl;
import lombok.Data;
@@ -76,6 +77,16 @@
this.orderSerialNumber = sampleWrkDetl.getOrderNo();
}
+ public Roll(LocDetl sampleLocDetl) {
+ this.boxNo = sampleLocDetl.getBatch();
+ this.rollNo = sampleLocDetl.getModel();
+ this.specs = sampleLocDetl.getMatnr();
+ this.length = sampleLocDetl.getPrice().toString();
+ this.splices = sampleLocDetl.getSpecs();
+ this.netWeight = sampleLocDetl.getWeight().toString();
+ this.grossWeight = sampleLocDetl.getVolume().toString();
+ }
+
@Override
public String toString() {
return String.format(
@@ -170,6 +181,76 @@
this.matList = boxList;
}
+ public OrderMesXGHYParam(List<LocDetl> locDetls, String outOrIn,String stockType) {
+ // 鎸塨atch瀛楁鍒嗙粍锛屾瘡涓猙atch瀵瑰簲涓�涓狟ox
+ Map<String, List<LocDetl>> batchGroup = locDetls.stream()
+ .collect(Collectors.groupingBy(LocDetl::getBatch));
+
+ List<OrderMesXGHYParam.Box> boxList = new ArrayList<>();
+
+ // 澶勭悊姣忎釜batch鍒嗙粍
+ for (Map.Entry<String, List<LocDetl>> entry : batchGroup.entrySet()) {
+ String batch = entry.getKey();
+ List<LocDetl> batchWrkDetls = entry.getValue();
+
+ // 鍒涘缓Box瀵硅薄
+ OrderMesXGHYParam.Box box = new OrderMesXGHYParam.Box();
+ box.setBoxNo(batch); // batch瀵瑰簲boxNo
+ box.setOutOrIn(outOrIn); // batch瀵瑰簲boxNo
+
+ // 鎸塵odel瀛楁鍒嗙粍锛屾瘡涓猰odel瀵瑰簲涓�涓猺oll
+ Map<String, List<LocDetl>> modelGroup = batchWrkDetls.stream()
+ .collect(Collectors.groupingBy(LocDetl::getModel));
+
+ List<OrderMesXGHYParam.Box.Roll> rollList = new ArrayList<>();
+ String wideInWidth = null;
+ String thickness = null;
+ String boxPos = null;
+ String boxType = null;
+ String packageGroupNo = null; //鍖呰缁勫彿锛堝緪宸ユ病鏈夛紝鍙湁绠卞彿鍗峰彿涓�瀵逛竴锛� //null
+
+ // 澶勭悊姣忎釜model鍒嗙粍
+ for (Map.Entry<String, List<LocDetl>> modelEntry : modelGroup.entrySet()) {
+ List<LocDetl> modelWrkDetls = modelEntry.getValue();
+
+ LocDetl sampleWrkDetl = modelWrkDetls.get(0);
+ String matnr = sampleWrkDetl.getMatnr();
+
+ String[] firstSplit = matnr.split("渭m脳");
+ if (firstSplit.length == 2) {
+ thickness = firstSplit[0]; // 5.2
+ String[] secondSplit = firstSplit[1].split("mm");
+ if (secondSplit.length > 0) {
+ wideInWidth = secondSplit[0]; // 834.1
+ } else {
+ continue;
+ }
+ } else {
+ continue;
+ }
+ boxPos = sampleWrkDetl.getOrigin();
+ boxType = sampleWrkDetl.getBrand$();
+ stockType = sampleWrkDetl.getManu();
+ packageGroupNo = sampleWrkDetl.getDeadTime();
+ OrderMesXGHYParam.Box.Roll roll = new OrderMesXGHYParam.Box.Roll(sampleWrkDetl);
+
+ rollList.add(roll);
+ }
+ box.setWideInWidth(wideInWidth);
+ box.setThickness(thickness);
+ box.setBoxPos(boxPos);
+ box.setBoxType(boxType);
+ box.setStockType(stockType);
+ box.setPackageGroupNo(packageGroupNo);
+
+ box.setRolls(rollList);
+ boxList.add(box);
+ }
+
+ // 璁剧疆鍒颁富瀵硅薄涓�
+ this.matList = boxList;
+ }
+
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
--
Gitblit v1.9.1