From 1621b79516ac72b9933dd2ea950fe4e267d8a3a7 Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期二, 05 十二月 2023 20:03:41 +0800 Subject: [PATCH] bug修复 1.四项库入库时找到在库库位 2.四项库订单出库时没有匹配容器码导致报错 3.四项库转历史档失败 --- src/main/java/com/zy/asrs/utils/Utils.java | 103 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 99 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index fb9d3a1..d456395 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -1,15 +1,21 @@ package com.zy.asrs.utils; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.core.common.Arith; import com.core.common.Cools; +import com.core.common.SpringUtils; +import com.zy.asrs.entity.AdjDetl; +import com.zy.asrs.service.AdjDetlService; import com.zy.common.properties.SlaveProperties; import com.zy.common.service.CommonService; import java.text.DecimalFormat; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; +import java.util.Date; import java.util.List; /** @@ -229,6 +235,7 @@ for (Integer row0 : CommonService.SIXTH_GROUP_ROW_LIST) { result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2)); } + Collections.reverse(result); return result; } if (CommonService.SEVENTH_GROUP_ROW_LIST.contains(row) && bay < 59) { @@ -249,7 +256,52 @@ } public static void main(String[] args) { - System.out.println(JSON.toJSONString(getGroupLoc("0703409"))); + System.out.println(JSON.toJSONString(getGroupInnerLoc("1505908"))); + } + + /** + * 鑾峰彇娣辨祬搴撲綅缁� + * @param locNo 搴撲綅鍙� + * @return + */ + public static List<String> getGroupDeepLoc(String locNo){ + int row = getRow(locNo); + int bay = getBay(locNo); + + //(1,3,4,10,11)娌℃湁澶栦晶鏂瑰悜搴撲綅缁�,(13,14,16)59鍒椾箣鍐呮病鏈夊渚ф柟鍚戝簱浣嶇粍 + if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {//1鎺� + return new ArrayList<>(); + } + if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {//3-4鎺� + return new ArrayList<>(); + } + if (CommonService.THIRD_GROUP_ROW_LIST.contains(row)) {//6-7鎺� + List<String> result = new ArrayList<>(); + for (Integer row0 : CommonService.THIRD_GROUP_ROW_LIST) { + result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2)); + } + return result; + } + if (CommonService.FOURTH_GROUP_ROW_LIST.contains(row)) {//8鎺� + return new ArrayList<>(); + } + if (CommonService.FIFTH_GROUP_ROW_LIST.contains(row)) {//10-11鎺� + return new ArrayList<>(); + } + if (CommonService.SIXTH_GROUP_ROW_LIST.contains(row) && (bay >= 59 && bay <= 61)) {//13-16鎺�59-61鍒楀渚ф柟鍚戝簱浣嶇粍 + List<String> result = new ArrayList<>(); + for (Integer row0 : CommonService.SIXTH_GROUP_ROW_LIST) { + result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2)); + } + return result; + } + if (CommonService.SEVENTH_GROUP_ROW_LIST.contains(row) && bay < 59) {//13-14鎺�59鍒椾箣鍐呮病鏈夊渚ф柟鍚戝簱浣嶇粍 + return new ArrayList<>(); + } + if (CommonService.EIGHTH_GROUP_ROW_LIST.contains(row) && bay < 59) {//16鎺�59鍒椾箣鍐呮病鏈夊渚ф柟鍚戝簱浣嶇粍 + return new ArrayList<>(); + } + throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); } /** @@ -386,10 +438,10 @@ } public static void wapperSetCondition(Wrapper wrapper, String column, String condition){ - if(Cools.isEmpty(condition)){ - wrapper.isNull(column); + if(Cools.isEmpty(condition) || "null".equals(condition)){ + wrapper.andNew().eq(column,"").or().isNull(column); }else { - wrapper.eq(column,condition); + wrapper.andNew().eq(column,condition); } } @@ -399,4 +451,47 @@ wapperSetCondition(wrapper,"isoseq",isoseq); } + public static void confirmOnlyMat(Wrapper wrapper, String matnr, String batch, String threeCode, String deadTime){ + wapperSetCondition(wrapper,"matnr",matnr); + wapperSetCondition(wrapper,"three_code",threeCode); + wapperSetCondition(wrapper,"dead_time",deadTime); + wapperSetCondition(wrapper,"batch",batch); + } + + //鐢熸垚搴撳瓨璋冩暣璁板綍鍗曟嵁鍙� (骞存湀鏃�+4浣嶆祦姘�) + public static String generateAdjustOrderNo(){ + Date date = new Date(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); + String dateStr = sdf.format(date); + + try { + AdjDetlService adjDetlService = SpringUtils.getBean(AdjDetlService.class); + AdjDetl adjDetl = adjDetlService.selectOne(new EntityWrapper<AdjDetl>().orderBy("adj_id",false)); + if(!Cools.isEmpty(adjDetl)){ + String orderNo = adjDetl.getOrderNo(); + String lastDateStr = orderNo.substring(0, 8); + if(Cools.eq(dateStr,lastDateStr)){ + int index = Integer.parseInt(orderNo.substring(8, 12)); + index++; + if(index < 10){ + return dateStr + "000" + index; + } + if(index < 100){ + return dateStr + "00" + index; + } + if(index < 1000){ + return dateStr + "0" + index; + } + return dateStr + index; + }else { + return dateStr + "0000"; + } + }else { + return dateStr + "0000"; + } + }catch (Exception e){ + return dateStr + "0000"; + } + } + } -- Gitblit v1.9.1