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_batch.html |  324 +++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 235 insertions(+), 89 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_batch.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_batch.html"
index 05b6b59..0e1bccf 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_batch.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_batch.html"
@@ -55,6 +55,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;" id="">褰撳墠鎵规:</label>
                                             <div class="layui-input-block" style="margin-left: 120px;">
                                                 <input type="text" class="layui-input" name="HBatchNo" lay-verify="HBatchNo" id="HBatchNo" style="background-color:#efefef4d;" readonly>
@@ -83,7 +89,7 @@
                                             <label class="layui-form-label" style="width: 85px;" id="BT_HMaterNumber">鐗╂枡缂栫爜</label>
                                             <div class="layui-input-block" style="margin-left: 120px;">
                                                 <input type="text" class="layui-input" lay-verify="HMaterNumber" name="HMaterNumber" id="HMaterNumber" style="background-color:#efefef4d;" readonly>
-                                                <input type="hidden" class="layui-input" lay-verify="HMaterID" name="HMaterID" id="HMaterID">
+                                                <input type="hidden" class="layui-input" lay-verify="HMaterID" name="HMaterID" id="HMaterID" value="0">
                                             </div>
                                         </div>
                                         <div class="layui-inline">
@@ -205,8 +211,9 @@
                     
                     <script type="text/html" id="toolbarDemo">
                         <div class="layui-btn-container">
-                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Delete"><i class="layui-icon layui-icon-form"></i>瑙g粦</button>
+                            <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Delete"><i class="layui-icon layui-icon-form"></i>瑙g粦</button>-->
                             <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn" id="HideColumn"><i class="layui-icon layui-icon-form"></i>鍒楄缃�</button>
+                            <button type="button" class="layui-btn layui-btn-sm" lay-event="refresh" id="refresh"><i class="layui-icon layui-icon-form"></i>鍒锋柊</button>
                         </div>
                     </script>
                 </form>
@@ -233,9 +240,10 @@
             , element = layui.element;
 
         //瀹氫箟鍏ㄥ眬鍙橀噺
-        var params = getUrlVars();
+        var params = get_UrlVars();
         var HModName = "Cj_ProcessItemStationPlatform_batch";
         var option = [];
+        var previousHBarCode = "";
         //#endregion
 
         //#region 杩涘叆椤甸潰鍗冲姞杞�
@@ -251,68 +259,44 @@
         table.on('toolbar(mainTable)', function (obj) {
             switch (obj.event) {
                 //鍒犻櫎鎸夐挳
-                case 'btn-Delete': set_DeleteBill();
+                case 'btn-Delete': btn_Delete();
                     break;
                 //鍒楄缃�
                 case 'set_HideColumn': get_HideColumnNoPage(HModName, sessionStorage["HUserName"], option, get_Display);
+                    break;
+                //鍒锋柊
+                case 'refresh': get_Display();
                     break;
             };
         });
         //鎵规鐮佸洖杞︽柟娉�
         $('#HBarCode_Batch').on('keydown', function (event) {
-            var HBarCode = $('#HBarCodeSN').val();
-            var HBardCodeProcExchBillNo = $('#HBardCodeProcExchBillNo').val();
+            var HBarCode = $('#HBarCode_Batch').val();
             if (event.keyCode == 13) {
-                if (!HBardCodeProcExchBillNo) {
-                    layer.msg(get_MessageError("[0000-2-034]璇峰厛鎵祦杞崱锛�", sessionStorage["HTranSlate"]))
-                    return;
-                } else {
-                    HBarCode = HBarCode.toUpperCase();
-                    if (!HBarCode) {
-                        layer.msg(get_MessageError("[0000-2-019]鏉″舰鐮佷笉鑳戒负绌猴紒", sessionStorage["HTranSlate"]))
-                        return;
-                    } else {
-                        if (HBarCode.length != 29 && HBarCode.length != 50) {
-                            layer.alert(get_MessageError("[3791-2-012]瀛愪欢鏉$爜闀垮害涓嶄负29浣嶆垨50浣�!", sessionStorage["HTranSlate"]), { icon: 5, btn: [get_MessageError('[0000-2-035]閫�鍑�', sessionStorage["HTranSlate"])], time: 100000, offset: 't' });
-                            return;
-                        }
-
-                        if (HBarCode.match(/[^\x00-\xff]/g) != null) {
-                            layer.alert(get_MessageError("[3791-2-013]蹇呴』鏄崐瑙掑瓧绗�!", sessionStorage["HTranSlate"]), { icon: 5, btn: [get_MessageError('[0000-2-035]閫�鍑�', sessionStorage["HTranSlate"])], time: 100000, offset: 't' });
-                            return;
-                        }
-                    }
+                //濡傛灉闀洉鐮佷笉涓虹┖
+                if (HBarCode) {
+                    txtHBarCode_KeyDown(HBarCode);
                 }
-                for (var i = 0; i < option.data.length; i++) {
-                    if (option.data[i]["HBatchNo"] == "") {
-                        layer.msg(get_MessageError("[3791-2-014]褰撳墠宸ュ簭鎵规涓嶈兘涓虹┖锛�", sessionStorage["HTranSlate"]))
-                        return;
-                    }
-                }
-                txtHBarCode_KeyDown(HBarCode);
+                
             }
         });
       
         //闀洉鐮佸洖杞︽柟娉�
         $('#HBarCode_SN').on('keydown', function (event) {
-            var HBarCode = $('#HBardCodeProcExchBillNo').val();
+            var HBarCode_SN = $('#HBarCode_SN').val();
             if (event.keyCode == 13) {
-                if (!HBarCode) {
-                    layer.msg(get_MessageError("[0000-1-057]娴佽浆鍗′笉鑳戒负绌猴紒", sessionStorage["HTranSlate"]))
-                    return;
+                if ($("#HBarCode_Batch").val() == "" || $("#HBarCode_Batch").val() == null) {
+                    layer.msg("鏈壂鎵规鐮佽鍏堟壂鐮�");
+                    $("#HBarCode_Batch").focus();
+                    return
                 }
-                setIntervalIndex = setInterval(setIntervalList, 30000);
-                get_BomList(HBarCode);
-                //if (option.data != 0) {
-                //    //淇濆瓨鍒颁复鏃惰〃
-                //    get_AddBomTempList();
-                //}
-                //鏌ヨ涓嶈壇璁板綍
-                get_BadRecords();
-                //鏌ヨ鍚堟牸璁板綍
-                get_HGRecords();
-
-               
+                if (!checkHSNAndDate(HBarCode_SN)) {
+                    return
+                }
+                if (HBarCode_SN) {
+                    txtHBarCodeSN_KeyDown(HBarCode_SN);
+                } 
+                
             }
         });
 
@@ -341,7 +325,20 @@
         form.on('submit(btnHProc)', function () {
             btnHProc();
         });
-
+        //鍙樻洿
+        form.on('submit(btnChange)', function (data) {
+            $("#HBarCode_Batch").val("");
+            $("#HBarCode_Batch").prop("readonly", false);
+            $("#HBarCode_BatchSec").val("");
+            $("#HBatchNo").val("");
+            $("#HMaterNumber").val("");
+            $("#HMaterName").val("");
+            $("#HMaterModel").val("");
+            $("#HSupID").val(0)
+            $("#HSupName").val(0)
+            //杩涘叆椤甸潰榛樿鍏夋爣鍦ㄦ祦杞崱涓�
+            $("#HBarCode_Batch").focus();
+        });
 
         //閫�鍑�
         form.on('submit(btnExit)', function (data) {
@@ -360,7 +357,7 @@
         //鍒濆鍖栫晫闈�
         function set_ClearBill() {
             //杩涘叆椤甸潰榛樿鍏夋爣鍦ㄦ祦杞崱涓�
-            $("#HBardCodeProcExchBillNo").focus();
+            $("#HBarCode_Batch").focus();
             //鍒跺崟浜�
             $("#HMaker").val(sessionStorage["HUserName"]);
             $("#HMakeDate").val(Format(new Date(), "yyyy-MM-dd"));
@@ -369,7 +366,7 @@
             //鍒濆鍖栬〃鏍�
             set_InitGrid();
             //
-            //get_Display();
+            get_Display();
         }
 
         //#region 閫氳繃鐧诲綍鐢ㄦ埛鑾峰彇榛樿鍊�
@@ -439,57 +436,42 @@
             table.render(option);
 
         }
-        
+        /**
+         * 鎵壒娆$爜
+         * @param HBarCode
+         */
         //鏉$爜鍥炶溅鏌ヨ
         function txtHBarCode_KeyDown(HBarCode) {
 
-            var HProcExchBillNo = $("#HProcExchBillNo").val();
             var indexs = layer.load();
             $.ajax({
                 type: "GET",
-                url: GetWEBURL() + "/Cj_SingleStation/SNHBardCodeList",
+                url: GetWEBURL() + "/Cj_SingleStation/checkHBarCode_Batch",
                 async: false,
-                data: { "HBarCode": HBarCode, "HProcExchBillNo": HProcExchBillNo, "user": sessionStorage["HUserName"], "HOrgID": sessionStorage["OrganizationID"] },
+                data: { "HBarCode": HBarCode,"user": sessionStorage["HUserName"], "HOrgID": sessionStorage["OrganizationID"] },
                 dataType: "json",
                 success: function (data1) {
                     if (data1.count == 1) {
                         layer.close(indexs);
-                        var index = layer.load();
+                        $("#HBarCode_BatchSec").val(HBarCode);
+                        const parts = HBarCode.split('@');
+                        $("#HBatchNo").val(parts[2]);
+                        
+                        $("#HMaterNumber").val(data1.data[0]["HMaterNumber"])
+                        $("#HMaterName").val(data1.data[0]["HMaterName"])
+                        $("#HMaterModel").val(data1.data[0]["HMaterModel"])
+                        $("#HSupID").val(data1.data[0]["HSupID"])
+                        $("#HSupName").val(data1.data[0]["HSupName"])
+                        $("#HBarCode_Batch").prop("readonly", true);
 
-                        $.ajax({
-                            type: "GET",
-                            url: GetWEBURL() + "/Cj_SingleStation/HBardCodeSNList",
-                            async: false,
-                            data: { "HBarCode": HBarCode, "user": sessionStorage["HUserName"] },
-                            dataType: "json",
-                            success: function (data1) {
-                                if (data1.count == 1) {
-                                    layer.close(index);
-                                    $("#HBarCode_P").val(HBarCode);
-                                    if (AllowLoadData()) {
-                                        //淇濆瓨鏁版嵁
-                                        set_AddAssemblyBill();
-                                    }
-                                }
-                                else {
-                                    layer.close(index);
-                                    layer.msg(get_MessageError(data1.Message, sessionStorage["HTranSlate"]), { icon: 5, btn: [get_MessageError('[0000-2-008]纭', sessionStorage["HTranSlate"])], time: 100000, offset: 't', skin: 'layui-layer-lan', title: get_MessageError("[0000-2-009]娓╅Θ鎻愮ず", sessionStorage["HTranSlate"]) });
-                                }
-                                $("#HBarCodeSN").val("");
-                            },
-                            error: function (err) {
-                                layer.close(index);
-                                layer.msg(get_MessageError("閿欒:" + err, sessionStorage["HTranSlate"]), { icon: 5, btn: [get_MessageError('[0000-2-008]纭', sessionStorage["HTranSlate"])], time: 100000, offset: 't', skin: 'layui-layer-lan', title: get_MessageError("[0000-2-009]娓╅Θ鎻愮ず", sessionStorage["HTranSlate"]) });
-                            }
-                        });
+                        //鍏夋爣鍦ㄩ暛闆曠爜涓�
+                        $("#HBarCode_SN").focus();
                     }
                     else {
                         layer.close(indexs);
-                        layer.msg(get_MessageError(data1.Message, sessionStorage["HTranSlate"]));
+                        layer.msg(data1.Message);
                     }
-                    //鍏夋爣璺宠浆鍒癝N鏉$爜鏂囨湰妗嗕笂
-                    //$("#HBarCodeSN").focus();
-                    $("#HBarCodeSN").val("");
+                   
                 },
                 error: function (err) {
                     layer.close(indexs);
@@ -497,15 +479,179 @@
                 }
             });
         }
+        /**
+         * 鎵暛闆曠爜
+         * @param HBarCode
+         */
+        //闀洉鐮佸洖杞︽煡璇�
+        function txtHBarCodeSN_KeyDown(HBarCode) {
+            
+            //var data = {
+            //    "field": {
+            //        "HMaterID": $("#HMaterID").val(), "HProcID": $("#HProcID").val(), "HBatchNo": $("#HBarCode_Batch").val(),
+            //        "HGroupID": $("#HGroupID").val(), "HSourceID": $("#HSourceID").val(),
+            //        "HICMOInterID": $("#HICMOInterID").val(), "HICMOEntryID": $("#HICMOEntryID").val(),
+            //        "HICMOBillNo": $("#HICMOBillNo").val(),
+            //        "HProdOrgID": sessionStorage["OrganizationID"], 
+            //        "HEmpID": $("#HEmpID").val(), "HProcExchBillNo": $("#HProcExchBillNo").val(),
+            //        "HProcExchInterID": $("#HProcExchInterID").val(), "HProcExchEntryID": $("#HProcExchEntryID").val(),
+            //        "HDeptID": $("#HDeptID").val()
+            //    }
+            //};
+            var data = {
+                "field": {
+                    "HProcID": $("#HProcID").val(), "HBatchNo": $("#HBarCode_Batch").val(),
+                    "HGroupID": $("#HGroupID").val(), "HSourceID": $("#HSourceID").val(),
+                    "HPRDOrgID": sessionStorage["OrganizationID"],
+                    "HEmpID": $("#HEmpID").val(), "HDeptID": $("#HDeptID").val()
+                }
+            };
+            var sMainStr = JSON.stringify(data.field);
+            var sSubStr = HBarCode;
+            var sMainSub = sMainStr + ';' + sSubStr + ';' + sessionStorage["HUserName"] ;
+            var indexs = layer.load();
+            $.ajax({
+                type: "POST",
+                url: GetWEBURL() + "/Cj_SingleStation/AddStationOutBillList",
+                async: false,
+                data: { "sMainSub": sMainSub },
+                dataType: "json",
+                success: function (data1) {
+                    if (data1.count == 1) {
+                        layer.close(indexs);
+                        //鍏夋爣鍦ㄩ暛闆曠爜涓�
+                        $("#HBarCode_SN").val("");
+                        $("#HBarCode_SN").focus();
+                        $("#HReturnMessage").text("鎴愬姛鎵爜涓�涓�:" + HBarCode);
+                        get_Display();
+                    }
+                    else {
+                        $("#HBarCode_SN").val("");
+                        layer.close(indexs);
+                        layer.msg(data1.Message, { icon: 5, btn: ["纭"], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "鍑虹幇閿欒" });
+                    }
+
+                },
+                error: function (err) {
+                    $("#HBarCode_SN").val("");
+                    layer.close(indexs);
+                    layer.msg(get_MessageError("閿欒:" + err, sessionStorage["HTranSlate"]), { icon: 5, btn: [get_MessageError('[0000-2-008]纭', sessionStorage["HTranSlate"])], time: 100000, offset: 't', skin: 'layui-layer-lan', title: get_MessageError("[0000-2-009]娓╅Θ鎻愮ず", sessionStorage["HTranSlate"]) });
+                }
+            });
+        }
+
+        //鏍¢獙 浜у搧鍜屽勾鏈�
+        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 btn_Delete() {
+            var checkStatus = table.checkStatus('mainTable')
+                , data = checkStatus.data;
+            if (checkStatus.data.length === 1) {
+                layer.confirm(get_MessageError('[0000-1-003]纭畾鍒犻櫎' + data[0].鍗曟嵁鍙� + '鍚楋紵', sessionStorage["HTranSlate"]), function (index) {
+                    var ajaxLoad = layer.load();
+                    //閫昏緫鍒犻櫎鏂规硶
+                    $.ajax({
+                        url: GetWEBURL() + '/Cj_StationOutBill/del_StationOutBill',
+                        type: "GET",
+                        data: { "HInterID": data[0].hmainid, "HDeleteMan": sessionStorage["HUserName"], "HBillSubType": "3791" },
+                        success: function (result) {
+                            if (result.count == 1) {
+                                get_Display();
+                                layer.close(ajaxLoad);
+                            } else {
+                                layer.close(ajaxLoad);
+                                layer.alert(get_MessageError(result.Message, sessionStorage["HTranSlate"]) + result.Message, { icon: 5 });
+                            }
+                        }, error: function () {
+                            layer.close(ajaxLoad);
+                            layer.alert(get_MessageError("[0000-1-002]鎺ュ彛璇锋眰澶辫触!", sessionStorage["HTranSlate"]), { icon: 5 });
+                        }
+                    });
+                    layer.close(index);
+                });
+            } else {
+                layer.msg(get_MessageError('[0000-1-001]璇烽�夋嫨涓�琛屾暟鎹紪杈戯紒', sessionStorage["HTranSlate"]));
+            }
+        }
 
         //鍔犺浇缃戞牸
-        function get_Display() {
+        function get_Display(sWhere='') {
             var ajaxLoad = layer.load();
+            var HProcID = $("#HProcID").val();
+            var HSourceID = $("#HSourceID").val();
+            sWhere += ` and HProcID = ${HProcID} and HSourceID = ${HSourceID}`
             $.ajax({
-                url: GetWEBURL() + '/Cg_POOrderBill/list',
+                url: GetWEBURL() + '/Cj_SingleStation/SingleStationOutBillList',
                 async: false,
                 type: "GET",
-                data: { "sWhere": '', "user": sessionStorage["HUserName"] },
+                data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
                 success: function (data1) {
                     if (data1.count == 1) {
                         var data = [];//鍒楀瓧娈垫暟鎹�

--
Gitblit v1.9.1