From edb540e6444a6e809c66393500bb175a8a4eef44 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期五, 14 十一月 2025 11:51:48 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/entity/param/OrderMesXGHYParam.java | 97 ++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 88 insertions(+), 9 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 3da99bd..345876b 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,8 @@
package com.zy.asrs.entity.param;
+import com.core.common.Cools;
import com.core.common.DateUtils;
+import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.WrkDetl;
import lombok.Data;
@@ -41,10 +43,10 @@
private String boxNo; //绠卞彿
private String boxPos; //浣嶇疆 1 2 3 origin 鏈ㄧ浣嶇疆
private String boxType; //鏈ㄧ绫诲瀷 鏈ㄧ绫诲瀷 brand brand$
- private String wideInWidth; // 4.5渭m脳588mm matnr 涓殑 4.5
- private String thickness; //4.5渭m脳588mm matnr 涓殑 588
+ private String wideInWidth; // 4.5渭m脳588mm matnr 涓殑 588
+ private String thickness; //4.5渭m脳588mm matnr 涓殑 4.5
- private String rollType = "绾歌酱"; //鏈ㄧ绫诲瀷 brand brand$
+ private String rollType = "FRP"; //
private List<Roll> rolls; //鍗烽泦鍚�
@@ -69,11 +71,21 @@
this.boxNo = sampleWrkDetl.getBatch();
this.rollNo = sampleWrkDetl.getModel();
this.specs = sampleWrkDetl.getMatnr();
- this.length = sampleWrkDetl.getPrice().toString();
+ this.length = Cools.isEmpty(sampleWrkDetl.getPrice())? "0" : sampleWrkDetl.getPrice().toString();
this.splices = sampleWrkDetl.getSpecs();
- this.netWeight = sampleWrkDetl.getWeight().toString();
- this.grossWeight = sampleWrkDetl.getVolume().toString();
+ this.netWeight = Cools.isEmpty(sampleWrkDetl.getWeight())? "0" : sampleWrkDetl.getWeight().toString();
+ this.grossWeight = Cools.isEmpty(sampleWrkDetl.getVolume())? "0" : sampleWrkDetl.getVolume().toString();
this.orderSerialNumber = sampleWrkDetl.getOrderNo();
+ }
+
+ public Roll(LocDetl sampleLocDetl) {
+ this.boxNo = sampleLocDetl.getBatch();
+ this.rollNo = sampleLocDetl.getModel();
+ this.specs = sampleLocDetl.getMatnr();
+ this.length = Cools.isEmpty(sampleLocDetl.getPrice())? "0" : sampleLocDetl.getPrice().toString();
+ this.splices = sampleLocDetl.getSpecs();
+ this.netWeight = Cools.isEmpty(sampleLocDetl.getWeight())? "0" : sampleLocDetl.getWeight().toString();
+ this.grossWeight = Cools.isEmpty(sampleLocDetl.getVolume())? "0" : sampleLocDetl.getVolume().toString();
}
@Override
@@ -141,16 +153,16 @@
// 鍏堟寜"渭m脳"鍒嗗壊锛屽啀鎸�"mm"鍒嗗壊
String[] firstSplit = matnr.split("渭m脳");
if (firstSplit.length == 2) {
- wideInWidth = firstSplit[0]; // 5.2
+ thickness = firstSplit[0]; // 5.2
String[] secondSplit = firstSplit[1].split("mm");
if (secondSplit.length > 0) {
- thickness = secondSplit[0]; // 834.1
+ wideInWidth = secondSplit[0]; // 834.1
}
}
boxPos = sampleWrkDetl.getOrigin();
boxType = sampleWrkDetl.getBrand$();
stockType = sampleWrkDetl.getManu();
- packageGroupNo = sampleWrkDetl.getDeadTime();
+ packageGroupNo = sampleWrkDetl.getDeadTimeOther();
OrderMesXGHYParam.Box.Roll roll = new OrderMesXGHYParam.Box.Roll(sampleWrkDetl);
rollList.add(roll);
@@ -170,6 +182,73 @@
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$();
+ 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.setRolls(rollList);
+ boxList.add(box);
+ }
+
+ // 璁剧疆鍒颁富瀵硅薄涓�
+ this.matList = boxList;
+ }
+
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
--
Gitblit v1.9.1