From a19133219811f9286fa71a0fb8c1deb628cf74a3 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期四, 28 十一月 2024 16:51:08 +0800 Subject: [PATCH] # --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Utils.java | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 115 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..5d947dd 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,117 @@ */ public class Utils { + public static final String _LINK = "-"; + + public static String getMatUniqueKey(String matnr, String batch, List<FieldParam> params) { + MatUniqueObjDto dto = new MatUniqueObjDto(); + dto.setMatnr(matnr); + dto.setBatch(batch); + + ArrayList<FieldParam> list = new ArrayList<>(); + for (FieldParam param : params) { + FieldParam fieldParam = new FieldParam(); + list.add(fieldParam); + + String value = ""; + if (!Cools.isEmpty(param.getValue())) { + value = param.getValue().toString(); + } + + fieldParam.setName(param.getName()); + fieldParam.setType(param.getType()); + fieldParam.setValue(value); + } + dto.setParams(list); + 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