From a1a7c03eae40f4b0344fce652e1a240cf5283624 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期五, 13 九月 2024 16:37:42 +0800 Subject: [PATCH] #合并订单出库,统一转波次出库前最新代码 --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Utils.java | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 103 insertions(+), 4 deletions(-) diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Utils.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Utils.java index d203a74..998116d 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Utils.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Utils.java @@ -1,14 +1,14 @@ package com.zy.asrs.wms.utils; +import com.alibaba.fastjson.JSON; import com.zy.asrs.framework.common.Cools; +import com.zy.asrs.wms.asrs.entity.dto.MatUniqueObjDto; +import com.zy.asrs.wms.asrs.entity.param.FieldParam; import com.zy.asrs.wms.common.constant.Constants; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Optional; +import java.util.*; import java.util.function.BiConsumer; import java.util.function.Function; @@ -17,6 +17,105 @@ */ public class Utils { + public static final String _LINK = "-"; + + public static final String _KEY_LINK = "_"; + + public static String getMatUniqueKey(String matnr, String batch, List<FieldParam> params) { + MatUniqueObjDto dto = new MatUniqueObjDto(); + dto.setMatnr(matnr); + dto.setBatch(batch); + dto.setParams(params); + + String encode = Base64.getEncoder().encodeToString(JSON.toJSONString(dto).getBytes()); + return encode; + } + + public static MatUniqueObjDto getMatUniqueObj(String matUniqueKey) { + byte[] decode = Base64.getDecoder().decode(matUniqueKey); + String decodeStr = new String(decode); + MatUniqueObjDto dto = JSON.parseObject(decodeStr, MatUniqueObjDto.class); + return dto; + } + + public static boolean checkMatSame(String matnr1, String batch1, List<FieldParam> params1, String matnr2, String batch2, List<FieldParam> params2) { + if (!matnr1.equals(matnr2)) { + return false; + } + + if (batch1 != null && batch2 != null) { + if(!batch1.equals(batch2)) { + return false; + } + } + + boolean check = true; + if(params1 != null && params2 != null) { + if(params1.size() != params2.size()) { + return false; + } + + for (int i = 0; i < params1.size(); i++) { + FieldParam param1 = params1.get(i); + FieldParam param2 = params2.get(i); + + if (!param1.getName().equals(param2.getName())) { + check = false; + break; + } + + if(Cools.isEmpty(param1.getValue()) && Cools.isEmpty(param2.getValue())) { + continue; + } + + if(!param1.getValue().equals(param2.getValue())) { + check = false; + break; + } + } + + } + + return check; + } + + /** + * 閫氳繃搴撲綅鍙疯幏鍙� 鎺� + */ + public static int getRow(String locNo) { + if (!Cools.isEmpty(locNo)) { + String[] split = locNo.split(_LINK); + return Integer.parseInt(split[0]); + } + throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); + } + + /** + * 閫氳繃搴撲綅鍙疯幏鍙� 鍒� + */ + public static int getBay(String locNo) { + if (!Cools.isEmpty(locNo)) { + String[] split = locNo.split(_LINK); + return Integer.parseInt(split[1]); + } + throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); + } + + /** + * 閫氳繃搴撲綅鍙疯幏鍙� 灞� + */ + public static int getLev(String locNo) { + if (!Cools.isEmpty(locNo)) { + String[] split = locNo.split(_LINK); + return Integer.parseInt(split[2]); + } + throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); + } + + public static String getLocNo(Number row, Number bay, Number lev) { + return row + _LINK + bay + _LINK + lev; + } + /** * List杞负鏍戝舰缁撴瀯 * -- Gitblit v1.9.1