From ac4341ea6b66ae02427d39d35f41d42d78b2eb2e Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 14 二月 2025 10:08:32 +0800 Subject: [PATCH] # --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Utils.java | 121 ++++++++++++++++++++++++++++++++++++++- 1 files changed, 116 insertions(+), 5 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..c94a23f 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; @@ -16,6 +16,117 @@ * Created by vincent on 2023/3/14 */ 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杞负鏍戝舰缁撴瀯 @@ -242,7 +353,7 @@ sb.append(c); } - return sb.toString(); + return "`" + sb.toString() + "`"; } } -- Gitblit v1.9.1