From d04fe2f4e7fc1f46ef4e85e640eefdd9127b4db3 Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期四, 11 十二月 2025 15:01:48 +0800
Subject: [PATCH] 入库单功能优化

---
 src/main/java/com/zy/asrs/utils/Utils.java |   55 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 50 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 0b98d6b..3bcb9d4 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -16,10 +16,13 @@
 
 
 import java.text.DecimalFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
 
 /**
  * Created by vincent on 2020/8/27
@@ -47,6 +50,26 @@
             }
             return msgBuilder.toString();
         }
+    }
+
+    public static boolean isValidFormat(String dateStr, String format) {
+        SimpleDateFormat sdf = new SimpleDateFormat(format);
+        sdf.setLenient(false); // 涓ユ牸妯″紡锛屽繀椤诲畬鍏ㄥ尮閰嶆牸寮�
+        try {
+            sdf.parse(dateStr);
+            return true;
+        } catch (ParseException e) {
+            return false;
+        }
+    }
+
+    public static Date getFormateDate(String datestr) {
+        //瀛楃涓茶浆鏃ユ湡
+        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        LocalDateTime parse = LocalDateTime.parse(datestr, dateTimeFormatter);
+        Instant instant = parse.atZone(ZoneId.systemDefault()).toInstant();
+        Date date = Date.from(instant);
+        return date;
     }
 
     /**
@@ -287,6 +310,8 @@
                 return LocNecessaryParametersDoubleExtension5(rowLastno, curRow, crnNumber); //宸插畬鍠�
             case 6://鍥涘悜搴�(鐗涚溂杞�)eg:鍏夋嘲鍥涘悜
                 return LocNecessaryParametersDoubleExtension6(rowLastno, curRow, crnNumber); //宸插畬鍠�
+            case 7://骞冲簱  CTU搴�
+                return LocNecessaryParametersDoubleExtension7(rowLastno, curRow, crnNumber); //宸插畬鍠�
             default:
                 return LocNecessaryParametersMove(rowLastno, curRow, crnNumber);//moveCrnNo
         }
@@ -474,7 +499,7 @@
             }
             if ((curRow - sRow) % 4 == 0) {
                 necessaryParameters[1] = curRow;    //curRow   鏈�娣卞簱浣嶆帓
-                necessaryParameters[2] = (curRow - sRow + 2) / 4 + sCrnNo - 1;     //crnNo     鍫嗗灈鏈哄彿
+                necessaryParameters[2] = (curRow - sRow + 2) / 4 + sCrnNo;     //crnNo     鍫嗗灈鏈哄彿
                 necessaryParameters[3] = curRow + 1;    //nearRow  鏈�娴呭簱浣嶆帓
             } else if ((curRow - sRow + 1) % 4 == 0) {
                 necessaryParameters[1] = curRow;    //curRow   鏈�娣卞簱浣嶆帓
@@ -535,6 +560,26 @@
         return necessaryParameters;
     }
 
+    //骞冲簱锛堝厜娉癨CTU锛�
+    public static int[] LocNecessaryParametersDoubleExtension7(RowLastno rowLastno, Integer curRow, Integer crnNumber) {
+        int[] necessaryParameters = new int[]{0, 0, 0, 0};
+        Integer sRow = rowLastno.getsRow();//璧峰鎺掑彿
+        Integer sCrnNo = rowLastno.getsCrnNo();//璧峰鍫嗗灈鏈哄彿
+        necessaryParameters[0] = crnNumber; // 杞娆℃暟
+        //婊℃澘姝e父鍏ュ簱
+        if (curRow.equals(rowLastno.geteRow())){
+            necessaryParameters[1] = sRow;    //curRow   鏈�娣卞簱浣嶆帓
+            necessaryParameters[2] = sCrnNo;     //crnNo     鍫嗗灈鏈哄彿
+            necessaryParameters[3] = sRow;    //nearRow  鏈�娴呭簱浣嶆帓
+        } else {
+            necessaryParameters[1] = curRow + 1;    //curRow   鏈�娣卞簱浣嶆帓
+            necessaryParameters[2] = sCrnNo;     //crnNo     鍫嗗灈鏈哄彿
+            necessaryParameters[3] = curRow + 1;    //nearRow  鏈�娴呭簱浣嶆帓
+        }
+
+        return necessaryParameters;
+    }
+
 
     public static void main(String[] args) {
         List<LocMast> locS = new ArrayList<LocMast>();

--
Gitblit v1.9.1