From 3425237a2b54ca28fc3e3c5f7c35a7fbef4e15fa Mon Sep 17 00:00:00 2001
From: wtt <1985833171@qq.com>
Date: 星期一, 29 十二月 2025 09:19:29 +0800
Subject: [PATCH] 1

---
 WebTM/views/车间管理/单品过站_小卫/Cj_ProcessItemStationPlatform_checkPackage_Sec.html |   86 ++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 81 insertions(+), 5 deletions(-)

diff --git "a/WebTM/views/\350\275\246\351\227\264\347\256\241\347\220\206/\345\215\225\345\223\201\350\277\207\347\253\231_\345\260\217\345\215\253/Cj_ProcessItemStationPlatform_checkPackage_Sec.html" "b/WebTM/views/\350\275\246\351\227\264\347\256\241\347\220\206/\345\215\225\345\223\201\350\277\207\347\253\231_\345\260\217\345\215\253/Cj_ProcessItemStationPlatform_checkPackage_Sec.html"
index 49967fe..8f616bc 100644
--- "a/WebTM/views/\350\275\246\351\227\264\347\256\241\347\220\206/\345\215\225\345\223\201\350\277\207\347\253\231_\345\260\217\345\215\253/Cj_ProcessItemStationPlatform_checkPackage_Sec.html"
+++ "b/WebTM/views/\350\275\246\351\227\264\347\256\241\347\220\206/\345\215\225\345\223\201\350\277\207\347\253\231_\345\260\217\345\215\253/Cj_ProcessItemStationPlatform_checkPackage_Sec.html"
@@ -25,7 +25,7 @@
             <div class="layui-card-body" style="padding: 1px;">
                 <form class="layui-form" action="" lay-filter="formData" style="background-color:white;">
                     <div style="padding: 10px;">
-                        <h1 style="text-align: center; padding: 10px 0;"><b>棣欏泭鍏抽敭浠剁粦瀹氳繃绔欏钩鍙�</b></h1>
+                        <h1 style="text-align: center; padding: 10px 0;"><b>鍖呰鏍¢獙缁戝畾杩囩珯骞冲彴</b></h1>
                     </div>
                     <div class="layui-tab" style="width: 100%; float: left; background-color:white;">
                         <div class="layui-row">
@@ -80,6 +80,12 @@
                                             </div>
                                         </div>
                                         <div class="layui-inline">
+                                            <label class="layui-form-label" style="width: 85px;" id="">鏍¢獙骞存湀:</label>
+                                            <div class="layui-input-block" style="margin-left: 120px;">
+                                                <input type="text" class="layui-input" name="HCheckDate" lay-verify="HCheckDate" id="HCheckDate" style="background-color:#efefef4d;"placeholder="璇疯緭鍏ュ勾鏈堟牸寮忓2501锛堝叡鍥涗綅鍓嶄袱浣嶄唬琛ㄥ勾浠藉悗涓や綅浠h〃鏈堜唤锛�">
+                                            </div>
+                                        </div>
+                                        <div class="layui-inline" style="display:none">
                                             <label class="layui-form-label" style="width: 85px;">杩芥函鍗曞彿</label>
                                             <div class="layui-input-block" style="margin-left: 120px;">
                                                 <input type="text" class="layui-input" name="HBillNo" lay-verify="HBillNo" id="HBillNo" style="background-color:#EDEDED;" readonly>
@@ -294,6 +300,7 @@
         var option = [];
         var option2 = [];
         var rowarr = [];//鍏抽敭浠舵竻鍗�
+        var previousHBarCode = "";
         //#endregion
 
         //#region 杩涘叆椤甸潰鍗冲姞杞�
@@ -342,7 +349,9 @@
                     $('#HBarCode_SN').val("");
                     return layer.alert("璇峰厛閫夋嫨娴佽浆鍗�")
                 }
-
+                if (!checkHSNAndDate(HBarCode_SN)) {
+                    return
+                }
 
                 if (HBarCode_SN) {
                     txtHBarCodeSN_KeyDown(HBarCode_SN);
@@ -607,7 +616,7 @@
                             });
                         }
 
-                        option.data = rowarr.slice();
+                        option.data = JSON.parse(JSON.stringify(rowarr));
 
                         table.render(option);
                         layer.close(indexs);
@@ -709,7 +718,74 @@
             return result;
         }
 
+        //鏍¢獙 浜у搧鍜屽勾鏈�
+        function checkHSNAndDate(HBarCode) {
+            // 1. 鏍¢獙HBarCode闀垮害
+            if (!HBarCode || HBarCode.length < 20) {
+                layer.confirm("HBarCode闀垮害涓嶈冻20浣�");
+                return false;
+            }
 
+            // 2. 瑙f瀽HBarCode鐨勫勾鏈堟棩
+            const yearLastDigit = HBarCode[12]; // 绗�13浣嶏紙绱㈠紩12锛夛紝骞翠唤鏈�鍚庝竴浣�
+            const monthCode = HBarCode[13].toUpperCase(); // 绗�14浣嶏紝鏈堜唤锛圢-Z锛�
+
+
+            // 璁$畻骞翠唤锛堝亣璁惧綋鍓嶄笘绾紝濡�2020-2029锛�
+
+            const year = yearLastDigit;
+
+            // 璁$畻鏈堜唤锛圢=1, ..., Z=12锛�
+            const validChars = "NPQRSTUVWXYZ";
+            if (!validChars.includes(monthCode)) {
+                layer.confirm("瀛楃蹇呴』鏄� N, P-Z 涔嬩竴锛堣烦杩� O锛�");
+                return false;
+            }
+
+            // 璁$畻鏈堜唤锛歂=1, P=2, ..., Z=12
+            const month = validChars.indexOf(monthCode) + 1;
+
+
+            // 3. 鑾峰彇杈撳叆妗嗙殑骞存湀锛堟牸寮廚NMM锛屽2307琛ㄧず2023骞�7鏈堬級
+            const checkDateInput = document.getElementById("HCheckDate");
+            if (!checkDateInput) {
+                layer.confirm("鎵句笉鍒癏CheckDate杈撳叆妗�");
+                return false;
+            }
+            const inputValue = checkDateInput.value.trim();
+            if (!/^\d{4}$/.test(inputValue)) {
+                layer.confirm("杈撳叆妗嗘牸寮忛敊璇紙蹇呴』鏄疦NMM锛屽2307锛�");
+                return false;
+            }
+            const inputYear = inputValue.substring(1, 2); // NN锛堝23锛�
+            const inputMonth = parseInt(inputValue.substring(2, 4), 10); // MM锛堝07锛�
+
+            // 4. 鏍¢獙骞存湀鏄惁涓�鑷�
+            if (year !== inputYear || month !== inputMonth) {
+                layer.confirm(
+                    `骞存湀涓嶅尮閰嶏細HBarCode=${year}骞�${month}鏈堬紝杈撳叆妗�=${inputYear}骞�${inputMonth}鏈坄
+                );
+                return false;
+            }
+
+            // 5. 鏍¢獙鍓嶄簲浣嶆槸鍚︿笌涓婁竴娆′竴鑷�
+            const currentFirstFive = HBarCode.substring(0, 5);
+            if (previousHBarCode) {
+                const previousFirstFive = previousHBarCode.substring(0, 5);
+                if (currentFirstFive !== previousFirstFive) {
+                    layer.confirm(
+                        `鍓嶄簲浣嶄笉涓�鑷达細褰撳墠=${currentFirstFive}锛屼笂涓�娆�=${previousFirstFive}`
+                    );
+                    return false;
+                }
+            }
+
+            // 6. 鏇存柊涓婁竴娆$殑HBarCode
+            previousHBarCode = HBarCode;
+            $("#HCheckDate").prop("readonly", true);
+            console.log("鏍¢獙閫氳繃");
+            return true;
+        }
 
         //鍔犺浇鍘嗗彶杩囩珯娓呭崟淇℃伅
         function get_Display(sWhere = '') {
@@ -810,8 +886,8 @@
                 success: function (data1) {
                     if (data1.count == 1) {
                         layer.close(indexs);
-
-
+                        option.data = JSON.parse(JSON.stringify(rowarr));
+                        table.render(option);
                         $("#HReturnMessage").text("鎴愬姛杩囩珯鎵爜涓�涓骇鍝�:" + HBarCode);
                         //鍒囨崲浜у搧
                         $("#HBarCode_SN").val("");//浜у搧鐮佹枃鏈鍐呭娓呯┖

--
Gitblit v1.9.1