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/车间管理/工序流转卡/Sc_ProcExchWorkBackBillEdit.html |  628 +++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 549 insertions(+), 79 deletions(-)

diff --git "a/WebTM/views/\350\275\246\351\227\264\347\256\241\347\220\206/\345\267\245\345\272\217\346\265\201\350\275\254\345\215\241/Sc_ProcExchWorkBackBillEdit.html" "b/WebTM/views/\350\275\246\351\227\264\347\256\241\347\220\206/\345\267\245\345\272\217\346\265\201\350\275\254\345\215\241/Sc_ProcExchWorkBackBillEdit.html"
index 8d5dc0a..c24d088 100644
--- "a/WebTM/views/\350\275\246\351\227\264\347\256\241\347\220\206/\345\267\245\345\272\217\346\265\201\350\275\254\345\215\241/Sc_ProcExchWorkBackBillEdit.html"
+++ "b/WebTM/views/\350\275\246\351\227\264\347\256\241\347\220\206/\345\267\245\345\272\217\346\265\201\350\275\254\345\215\241/Sc_ProcExchWorkBackBillEdit.html"
@@ -11,6 +11,7 @@
     <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
     <script src="../../../layuiadmin/PubCustom.js"></script>
     <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
+    <script src="../../../layuiadmin/PageTitle.js"></script>
     <style>
         .main-btn { /*澶撮儴涓绘寜閽�*/
             padding: 0 2px; /*璋冩暣鎸夐挳宸﹀彸绌洪殭澶у皬*/
@@ -52,11 +53,14 @@
                         <div class="layui-btn-group">
                             <button type="button" id="btnSave" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit=""  lay-filter="btnSave">淇濆瓨</button>
                             <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Cancel">閫�鍑�</button>
+                            <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" id="set_CheckBill" lay-filter="set_CheckBill">瀹℃牳</button>
+                            <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="btn-print">鎵撳嵃</button>
                             <!--<button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="btn_print">鎵撳嵃</button>-->
                             <!--<button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="HideColumn" id="HideColumn">闅愯棌鍒楄缃�</button>-->
                         </div>
                     </div>
                     <div class="layui-tab" lay-filter="tab-POStockInBill">
+                        <h1 style="text-align:center;"><b>宸ュ簭杩斿伐鐢宠</b></h1>
                         <ul class="layui-tab-title" lay-filter="tab-all">
                             <li lay-id="1" style="padding:1px;" class="layui-this">鍩烘湰淇℃伅</li>
                             <li lay-id="2" style="padding:1px;">鍏朵粬淇℃伅</li>
@@ -80,16 +84,6 @@
                                             </div>
                                         </div>
                                         <div class="layui-col-xs3 layui-inline">
-                                            <label class="layui-form-label">璐熻矗浜�</label>
-                                            <div class="layui-input-inline">
-                                                <input type="text" class="layui-input" name="HEmpName" id="HEmpName" onmouseover="this.title=this.value" style="float: left; width: 150px; background-color: #efefef4d; display: inline-block;" readonly>
-                                                <input type="hidden" name="HEmpID" id="HEmpID" value="0">
-                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHEmpID" id="btnHEmpID" style="width: 40px;">
-                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
-                                                </button>
-                                            </div>
-                                        </div>
-                                        <div class="layui-col-xs3 layui-inline">
                                             <label class="layui-form-label">娴佽浆鍗�</label>
                                             <div class="layui-input-inline">
                                                 <input type="text" class="layui-input" name="HProcExchBillNo" id="HProcExchBillNo" style="background-color:#efefef4d;" readonly>
@@ -97,15 +91,17 @@
                                                 <input type="hidden" name="HProcExchEntryID" id="HProcExchEntryID" value="0">
                                             </div>
                                         </div>
-                                    </div>
-                                    <div class="layui-row">
                                         <div class="layui-col-xs3 layui-inline">
-                                            <label class="layui-form-label">鐢熶骇杞﹂棿</label>
+                                            <label class="layui-form-label">鎿嶄綔绫诲瀷<label style="color:red"> * </label></label>
                                             <div class="layui-input-inline">
-                                                <input type="text" class="layui-input" name="HWorkShopName" id="HWorkShopName" style="background-color:#efefef4d;" readonly>
-                                                <input type="hidden" name="HWorkShopID" id="HWorkShopID" value="0">
+                                                <select name="HBillOperationType" id="HBillOperationType" lay-filter="HBillOperationType" style="width: 120px; " disabled>
+                                                    <option style="color:blue;" value="1">澧炲姞</option>
+                                                    <option style="color:blue;" value="2">鍒犻櫎</option>
+                                                </select>
                                             </div>
                                         </div>
+                                    </div>
+                                    <div class="layui-row">
                                         <div class="layui-col-xs3 layui-inline">
                                             <label class="layui-form-label">鐗╂枡浠g爜</label>
                                             <div class="layui-input-inline">
@@ -125,8 +121,6 @@
                                                 <input type="text" class="layui-input" name="HModel" id="HModel" onmouseover="this.title=this.value" style="background-color:#efefef4d;" readonly>
                                             </div>
                                         </div>
-                                    </div>
-                                    <div class="layui-row">
                                         <div class="layui-col-xs3 layui-inline">
                                             <label class="layui-form-label">璁¢噺鍗曚綅</label>
                                             <div class="layui-input-inline">
@@ -134,20 +128,20 @@
                                                 <input type="hidden" name="HUnitID" id="HUnitID" value="0">
                                             </div>
                                         </div>
+                                    </div>
+                                    <div class="layui-row">
                                         <div class="layui-col-xs3 layui-inline">
                                             <label class="layui-form-label">璁㈠崟鏁伴噺</label>
                                             <div class="layui-input-inline">
-                                                <input type="text" class="layui-input" name="HPlanQty" id="HPlanQty" style="background-color:#efefef4d;" readonly>
+                                                <input type="text" class="layui-input" name="HPlanQty" id="HPlanQty" value="0" style="background-color:#efefef4d;" readonly>
                                             </div>
                                         </div>
                                         <div class="layui-col-xs3 layui-inline">
                                             <label class="layui-form-label">杩斿伐鏁伴噺</label>
                                             <div class="layui-input-inline">
-                                                <input type="text" class="layui-input" name="HQty" id="HQty" style="background-color:#efefef4d;" readonly>
+                                                <input type="text" class="layui-input" name="HQty" id="HQty" value="0" style="background-color:#efefef4d;" readonly>
                                             </div>
                                         </div>
-                                    </div>
-                                    <div class="layui-row">
                                         <div class="layui-col-xs3 layui-inline">
                                             <label class="layui-form-label">寮�濮嬪伐搴�</label>
                                             <div class="layui-input-inline">
@@ -162,6 +156,8 @@
                                                 <input type="hidden" name="HProcEndID" id="HProcEndID" value="0">
                                             </div>
                                         </div>
+                                    </div>
+                                    <div class="layui-row">
                                         <div class="layui-col-xs3 layui-inline">
                                             <label class="layui-form-label">寮�濮嬫祦姘村彿</label>
                                             <div class="layui-input-inline">
@@ -174,15 +170,6 @@
                                                 <input type="text" class="layui-input" name="HProcExchEndNO" id="HProcExchEndNO" style="background-color:#efefef4d;" readonly>
                                             </div>
                                         </div>
-                                    </div>
-                                    <div class="layui-row">
-                                        <div class="layui-col-xs3 layui-inline">
-                                            <label class="layui-form-label">鐢熶骇缁勭粐</label>
-                                            <div class="layui-input-inline">
-                                                <input type="text" class="layui-input" name="HPRDORGName" id="HPRDORGName" style="background-color:#efefef4d;" readonly>
-                                                <input type="hidden" name="HPRDORGID" id="HPRDORGID" lay-verify="HPRDORGID"><!--HSTOCKORGID-->
-                                            </div>
-                                        </div>
                                         <div class="layui-col-xs3 layui-inline">
                                             <label class="layui-form-label">鐢熶骇璁㈠崟</label>
                                             <div class="layui-input-inline">
@@ -191,24 +178,21 @@
                                                 <input type="hidden" name="HICMOEntryID" id="HICMOEntryID" lay-verify="HICMOEntryID">
                                             </div>
                                         </div>
-                                        <div class="layui-col-xs3 layui-inline">
-                                            <label class="layui-form-label">璁㈠崟璺熻釜鍙�</label>
-                                            <div class="layui-input-inline">
-                                                <input type="text" class="layui-input" name="HOrderProcNO" id="HOrderProcNO" style="background-color:#efefef4d;" readonly>
-                                            </div>
-                                        </div>
-                                        <div class="layui-col-xs3 layui-inline">
-                                            <label class="layui-form-label">鍐呴儴鍗曟嵁鍙�</label>
-                                            <div class="layui-input-inline">
-                                                <input type="text" class="layui-input" name="HInnerBillNo" id="HInnerBillNo">
-                                            </div>
-                                        </div>
                                     </div>
                                     <div class="layui-row">
                                         <div class="layui-col-xs6 layui-inline">
                                             <label class="layui-form-label" style="width:12.5%">澶囨敞</label>
                                             <div class="layui-input-inline">
                                                 <input type="text" class="layui-input" name="HRemark" id="HRemark" placeholder="璇疯緭鍏ュ唴瀹�" onmouseover="this.title=this.value" style="width:610px;">
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <div class="layui-row">
+                                        <div class="layui-col-xs3 layui-inline">
+                                            <label class="layui-form-label">鐢熶骇缁勭粐</label>
+                                            <div class="layui-input-inline">
+                                                <input type="text" class="layui-input" name="HPRDORGName" id="HPRDORGName" style="background-color: #efefef4d; width: 610px; " readonly>
+                                                <input type="hidden" name="HPRDORGID" id="HPRDORGID" lay-verify="HPRDORGID"><!--HSTOCKORGID-->
                                             </div>
                                         </div>
                                     </div>
@@ -270,8 +254,6 @@
                                                 <input type="text" class="layui-input" name="HDeleteMan" id="HDeleteMan" style="background-color:#efefef4d;" readonly>
                                             </div>
                                         </div>
-                                    </div>
-                                    <div class="layui-row">
                                         <div class="layui-inline">
                                             <label class="layui-form-label" style="width: 85px;">淇敼鏃ユ湡</label>
                                             <div class="layui-input-block" style="margin-left: 120px;">
@@ -285,6 +267,37 @@
                                             </div>
                                         </div>
                                     </div>
+                                    <div class="layui-row">
+                                        <div class="layui-inline">
+                                            <label class="layui-form-label" style="width: 85px;">璐熻矗浜�</label>
+                                            <div class="layui-input-inline">
+                                                <input type="text" class="layui-input" name="HEmpName" id="HEmpName" onmouseover="this.title=this.value" style="float: left; width: 150px; background-color: #efefef4d; display: inline-block;" readonly>
+                                                <input type="hidden" name="HEmpID" id="HEmpID" value="0">
+                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHEmpID" id="btnHEmpID" style="width: 40px;">
+                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
+                                                </button>
+                                            </div>
+                                        </div>
+                                        <div class="layui-inline">
+                                            <label class="layui-form-label" style="width: 83px;">鐢熶骇杞﹂棿</label>
+                                            <div class="layui-input-inline">
+                                                <input type="text" class="layui-input" name="HWorkShopName" id="HWorkShopName" style="background-color:#efefef4d;" readonly>
+                                                <input type="hidden" name="HWorkShopID" id="HWorkShopID" value="0">
+                                            </div>
+                                        </div>
+                                        <div class="layui-inline">
+                                            <label class="layui-form-label" style="width: 78px;">璁㈠崟璺熻釜鍙�</label>
+                                            <div class="layui-input-inline">
+                                                <input type="text" class="layui-input" name="HOrderProcNO" id="HOrderProcNO" style="background-color:#efefef4d;" readonly>
+                                            </div>
+                                        </div>
+                                        <div class="layui-inline">
+                                            <label class="layui-form-label" style="width: 78px;">鍐呴儴鍗曟嵁鍙�</label>
+                                            <div class="layui-input-inline">
+                                                <input type="text" class="layui-input" name="HInnerBillNo" id="HInnerBillNo">
+                                            </div>
+                                        </div>
+                                    </div>
                                 </div>
                             </div>
                         </div>
@@ -294,6 +307,8 @@
                         <div class="layui-btn-container">
                             <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLine"><i class="layui-icon layui-icon-form"></i>澧炲姞涓�琛�</button>
                             <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine"><i class="layui-icon layui-icon-form"></i>澶嶅埗涓�琛�</button>
+                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Up"><i class="layui-icon layui-icon-form"></i>涓婄Щ</button>
+                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Under"><i class="layui-icon layui-icon-form"></i>涓嬬Щ</button>
                         </div>
                     </script>
                 </form>
@@ -333,6 +348,12 @@
 
         //#region 杩涘叆椤甸潰鍗冲姞杞�
 
+        //#region 銆愬姩鎬佽幏鍙栨ā鍧楀悕绉般��
+        var HModuleType = "3796";
+        //閫氳繃鍗曟嵁绫诲瀷锛屼粠鏁版嵁搴撳姩鎬佽幏鍙栧崟鎹ā鍧楀懡鍚�,寮曠敤js鏂囦欢 PageTitle.js
+        var HPageTitle = get_PageTitle(HModuleType) == "" ? $("h1").html() : get_PageTitle(HModuleType);
+        $("h1").html('<b>' + HPageTitle + '</b>');
+            //#endregion
      
 
         var params = get_UrlVars();
@@ -342,6 +363,7 @@
             var OperationType = params[params[0]];//鎿嶄綔绫诲瀷
             var linterid = params[params[1]];//婧愬崟id
             var HEntryID = params[params[2]];//娴佹按鍙�
+            var HBillOperationType_temp = params[params[3]];        //鎿嶄綔绫诲瀷[澧炲姞銆佸垹闄
         }
 
         //宸ュ簭杩斿伐鏂板
@@ -358,11 +380,21 @@
                 }
             });
 
-            //鏌ヨ宸ュ簭娴佽浆鍗�
-            get_ProcessExchange();
-            //鍒濆鍖栫晫闈�
-            set_ClearBill();
+            $("#HBillOperationType").val(HBillOperationType_temp);
+            form.render("select");
 
+            if (HBillOperationType_temp == "1") {                  //鎿嶄綔绫诲瀷锛氬鍔�
+                //鏌ヨ宸ュ簭娴佽浆鍗�
+                get_ProcessExchange();
+                //鍒濆鍖栫晫闈�
+                set_ClearBill();
+            } else if (HBillOperationType_temp == "2") {            //鎿嶄綔绫诲瀷锛氬垹闄�
+                //鍒濆鍖栫晫闈�
+                set_ClearBill();
+
+                //鏌ヨ宸ュ簭娴佽浆鍗鍒犻櫎
+                get_ProcessExchange_Delete();
+            }
         } else if (OperationType == 3) {
             //鍒濆鍖栫晫闈�
             set_ClearBill();
@@ -400,10 +432,15 @@
                 "HCenterID": 0, "HCenterNumber": "", "HCenterName": "",
                 "HDeptID": 0, "HDeptNumber": "", "HDeptName": "",
                 "HSupID": 0, "HSupNumber": "", "HSupName": "", "HSupFlag": "false",
-                "HQty": $("#HQty").val(), "HRemark": ""
+                "HQty": $("#HQty").val(), "HRemark": "","HSourceInterID": "0","HSourceEntryID": "0"
             };
             switch (obj.event) {
                 case 'btn-AddLine':
+                    if (HBillOperationType_temp == "2") {
+                        layer.msg("鎿嶄綔绫诲瀷涓哄垹闄ゆ椂锛屼笉鑳借繘琛� 澧炲姞涓�琛� 鎿嶄綔锛�");
+                        return;
+                    }
+
                     table.cache["mainTable"].push(NewRow);
                     option.data = table.cache["mainTable"];
                     table.render(option);
@@ -413,6 +450,11 @@
                     form.render('select');
                     break;
                 case 'btn-CopyLine':
+                    if (HBillOperationType_temp == "2") {
+                        layer.msg("鎿嶄綔绫诲瀷涓哄垹闄ゆ椂锛屼笉鑳借繘琛屽鍒舵搷浣滐紒");
+                        return;
+                    }
+
                     var copydata = JSON.stringify(data);
                     if (data.length <= 0) {
                         layer.msg("璇烽�夋嫨闇�瑕佸鍒剁殑涓�琛岋紒");
@@ -430,6 +472,72 @@
                             $('#HSupFlag' + i + '').find("option[value='" + option.data[i - 1].HSupFlag + "']").attr("selected", true);
                         }
                         form.render('select');
+                    }
+                    break;
+                //涓婄Щ
+                case 'btn-Up':
+                    var checkStatus = table.checkStatus('mainTable')
+                        , data = checkStatus.data;
+                    if (data.length == 1) {
+                        var tables = [];
+                        //鑾峰彇琛ㄦ牸鐨勫叏閮ㄨ
+                        var rowList = table.cache['mainTable'];
+                        for (var i = 0; i < rowList.length; i++) {          //閬嶅巻琛ㄦ牸鐨勮
+                            if (rowList[i].LAY_CHECKED == true) {           //鑾峰彇閫変腑琛岀殑浣嶇疆
+                                //濡傛灉鏄涓�琛屼笂绉伙紝鍒欏け璐ュ苟鎻愰啋
+                                if (i == 0) {
+                                    layer.msg("绗竴琛屾暟鎹棤娉曚笂绉伙紒");
+                                    return;
+                                }
+
+                                //涓庝笂涓�琛屼氦鎹ProcNo娴佹按鍙�
+                                var temp = data[0].HProcNo;
+                                data[0].HProcNo = option.data[i - 1].HProcNo;
+                                option.data[i - 1].HProcNo = temp;
+
+                                tables.push(option.data[i - 1]);
+                                data[0].LAY_CHECKED = true;
+                                option.data[i - 1] = data[0];
+                                option.data[i] = tables[0];
+                                table.render(option);
+                                break;
+                            }
+                        }
+                    } else {
+                        layer.msg("璇烽�夋嫨涓�琛屾暟鎹紒");
+                    }
+                    break;
+                //涓嬬Щ
+                case 'btn-Under':
+                    var checkStatus = table.checkStatus('mainTable')
+                        , data = checkStatus.data;
+                    if (data.length == 1) {
+                        var tables = [];
+                        //鑾峰彇琛ㄦ牸鐨勫叏閮ㄨ
+                        var rowList = table.cache['mainTable'];
+                        for (var i = 0; i < rowList.length; i++) {          //閬嶅巻琛ㄦ牸鐨勮
+                            if (rowList[i].LAY_CHECKED == true) {           //鑾峰彇閫変腑琛岀殑浣嶇疆
+                                //濡傛灉鏄渶鍚庝竴琛屼笅绉伙紝鍒欏け璐ュ苟鎻愰啋
+                                if (i == option.data.length - 1) {
+                                    layer.msg("鏈�鍚庝竴琛屾暟鎹棤娉曚笅绉伙紒");
+                                    return;
+                                }
+
+                                var temp = data[0].HProcNo;
+                                data[0].HProcNo = option.data[i + 1].HProcNo;
+                                option.data[i + 1].HProcNo = temp;
+
+                                tables.push(option.data[i + 1]);
+                                data[0].LAY_CHECKED = true;
+                                option.data[i + 1] = data[0];
+                                option.data[i] = tables[0];
+                                table.render(option);
+
+                                break;
+                            }
+                        }
+                    } else {
+                        layer.msg("璇烽�夋嫨涓�琛屾暟鎹紒");
                     }
                     break;
             }
@@ -464,20 +572,100 @@
                             shift: 2,
                             area: ['90%', '90%'],
                             maxmin: true,
-                            content: ['../../../views/Baseset/鍩虹璧勬枡/Gy_ProcList.html', 'yes'],
+                            content: ['../../鍩虹璧勬枡/鐢熶骇鍩虹璧勬枡/Gy_Process.html', 'yes'],
                             btn: ['纭畾', '鍙栨秷']
                             , btn1: function (index, layero) {
                                 //鎸夐挳銆愭寜閽竴銆戠殑鍥炶皟
                                 var iframeWindow = window['layui-layer-iframe' + index];
                                 var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');
-                                if (checkStatus.data.length === 0) {
-                                    return layer.msg('璇烽�夋嫨鏁版嵁');
+                                if (checkStatus.data.length == 0) {
+                                    return layer.msg("璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�!");
                                 }
-                                obj.update({
-                                    HProcName: checkStatus.data[0].宸ュ簭
-                                    , HProcID: checkStatus.data[0].HItemID
-                                    , HProcNumber: checkStatus.data[0].宸ュ簭浠g爜
+
+                                //鑾峰彇宸ュ簭浠g爜
+                                var ProcessNumber = [];
+                                for (var i = 0; i < checkStatus.data.length; i++) {
+                                    ProcessNumber.push("'" + checkStatus.data[i]["宸ュ簭浠g爜"] + "'");
+                                }
+
+                                //鑾峰彇褰撳墠浣嶇疆鎵�鍦ㄨ鏁�
+                                var NowNum = 0;
+                                for (var i = 0; i < option.data.length; i++) {
+                                    if (obj.data["HProcNo"] == option.data[i]["HProcNo"]) {
+                                        NowNum = i + 1;
+                                    }
+                                }
+
+                                //鏌ヨ宸ヤ綔涓績鐨勬暟鎹�
+                                var WorkCente = [];
+                                var sWhere = "select  isnull(a.HItemID,'') HCenterID, isnull(a.HNumber,'') 宸ヤ綔涓績浠g爜, isnull(a.HName,'') 宸ヤ綔涓績鍚嶇О ,p.HItemID HProcID,p.HName 宸ュ簭鍚嶇О,p.HNumber 宸ュ簭浠g爜  from Gy_Process p left join Gy_WorkCenter a on p.HWorkCenterID=a.HItemID  where p.HNumber in (" + ProcessNumber.toString() + ") order by p.HNumber ";
+                                $.ajax({
+                                    type: "GET",
+                                    url: GetWEBURL() + "/Gy_SOPBillList/WindowPrintList", //鏂规硶鎵�鍦ㄩ〉闈㈠拰鏂规硶鍚�
+                                    async: false,
+                                    data: { "sWhere": sWhere },
+                                    success: function (data) {
+                                        if (data.count == 1) { // 璇存槑楠岃瘉鎴愬姛浜嗭紝
+                                            WorkCente = data.data;
+                                        }
+                                        else {
+                                            layer.msg(data.Message, { icon: 5 });
+                                        }
+                                        layer.closeAll("loading");
+                                    },
+                                    error: function (err) {
+                                        layer.msg("閿欒:" + err, { icon: 5 });
+                                    }
                                 });
+
+
+                                //鍒ゆ柇閫夋嫨鐨勬暟鎹�绘暟 鏄惁澶т簬琛ㄦ牸鐜版湁鐨勬暟鎹�
+                                if (ProcessNumber.length > option.data.length - (NowNum - 1)) {
+                                    //鑾峰彇琛ㄦ牸鍓╀綑琛屾暟閲�
+                                    var num = ProcessNumber.length - option.data.length + (NowNum - 1);
+                                    //寰幆璧嬪��  鍦ㄥ凡鏈夌殑琛ㄦ牸璧嬪��
+                                    var j = 0;
+                                    for (var i = (NowNum - 1); i < option.data.length; i++) {
+                                        option.data[i]["HProcName"] = WorkCente[j]["宸ュ簭鍚嶇О"];
+                                        option.data[i]["HProcNumber"] = WorkCente[j]["宸ュ簭浠g爜"];
+                                        option.data[i]["HProcID"] = WorkCente[j]["HProcID"];
+                                        option.data[i]["HCenterName"] = WorkCente[j]["宸ヤ綔涓績鍚嶇О"];
+                                        option.data[i]["HCenterID"] = WorkCente[j]["HCenterID"];
+                                        option.data[i]["HCenterNumber"] = WorkCente[j]["宸ヤ綔涓績浠g爜"];
+                                        j++;
+                                    }
+
+                                    //鍦ㄤ笅鏂规坊鍔犳柊鐨勮〃鏍兼暟鎹�
+                                    for (var i = 0; i < num; i++) {
+                                        option.data.push({
+                                            "HProcNo": parseInt($("#HProcExchBegNO").val()) + table.cache["mainTable"].length + 1 + i, "HProcID": WorkCente[j]["HProcID"], "HProcNumber": WorkCente[j]["宸ュ簭浠g爜"], "HProcName": WorkCente[j]["宸ュ簭鍚嶇О"], "HWorkRemark": "",
+                                            "HCenterID": WorkCente[j]["HCenterID"], "HCenterNumber": WorkCente[j]["宸ヤ綔涓績浠g爜"], "HCenterName": WorkCente[j]["宸ヤ綔涓績鍚嶇О"],
+                                            "HDeptID": 0, "HDeptNumber": "", "HDeptName": "",
+                                            "HSupID": 0, "HSupNumber": "", "HSupName": "", "HSupFlag": "false",
+                                            "HQty": $("#HQty").val(), "HRemark": ""
+                                        })
+                                        j++;
+                                    }
+                                } else {
+                                    //寰幆璧嬪��  鍦ㄥ凡鏈夌殑琛ㄦ牸璧嬪��
+                                    var j = 0;
+                                    for (var i = (NowNum - 1); i < (NowNum - 1) + ProcessNumber.length; i++) {
+                                        option.data[i]["HProcName"] = WorkCente[j]["宸ュ簭鍚嶇О"];
+                                        option.data[i]["HProcNumber"] = WorkCente[j]["宸ュ簭浠g爜"];
+                                        option.data[i]["HProcID"] = WorkCente[j]["HProcID"];
+                                        option.data[i]["HCenterName"] = WorkCente[j]["宸ヤ綔涓績鍚嶇О"];
+                                        option.data[i]["HCenterID"] = WorkCente[j]["HCenterID"];
+                                        option.data[i]["HCenterNumber"] = WorkCente[j]["宸ヤ綔涓績浠g爜"];
+                                        j++;
+                                    }
+                                }
+
+                                table.render(option);
+                                //obj.update({
+                                //    HProcName: checkStatus.data[0].宸ュ簭
+                                //    , HProcID: checkStatus.data[0].HItemID
+                                //    , HProcNumber: checkStatus.data[0].宸ュ簭浠g爜
+                                //});
 
                                 layer.close(layer.index);
                             }
@@ -492,7 +680,7 @@
                         layer.open({
                             type: 2,
                             skin: 'layui-layer-rim', //鍔犱笂杈规
-                            title: '鍔犲伐涓績鍒楄〃',
+                            title: '宸ヤ腑蹇冨垪琛�',
                             closeBtn: 1,
                             shift: 2,
                             area: ['90%', '90%'],
@@ -605,6 +793,17 @@
             }
         });
 
+        //瀹℃牳
+        form.on('submit(set_CheckBill)', function (data) {
+            set_CheckBill();
+        });
+
+
+        //#region 鎵撳嵃鎸夐挳
+        form.on('submit(btn-print)', function (data) {
+            get_PrintReport();
+        });
+        //#endregion
 
         //#endregion
 
@@ -626,19 +825,19 @@
                 , { field: 'HProcID', title: '宸ュ簭ID', hide: true }
                 , { field: 'HProcNumber', title: '宸ュ簭浠g爜', edit: 'text', event: "HProcCheck" }
                 , { field: 'HProcName', title: '宸ュ簭鍚嶇О' }
-                , { field: 'HWorkRemark', title: '鍔犲伐璇存槑', edit: 'text' }
                 , { field: 'HCenterID', title: '宸ヤ綔涓績ID', hide: true }
                 , { field: 'HCenterNumber', title: '宸ヤ綔涓績浠g爜', edit: 'text', event: "HWorkCenterCheck" }
                 , { field: 'HCenterName', title: '宸ヤ綔涓績鍚嶇О' }
                 , { field: 'HQty', title: '杩斿伐鏁伴噺', edit: 'text' }
-                , { field: 'HDeptID', title: '閮ㄩ棬ID', hide: true }
-                , { field: 'HDeptNumber', title: '閮ㄩ棬浠g爜', edit: 'text', event: "HDeptCheck" }
-                , { field: 'HDeptName', title: '閮ㄩ棬' }
+                , { field: 'HWorkRemark', title: '宸ヨ壓鍙傛暟', edit: 'text' }
+                , { field: 'HRemark', title: '澶囨敞', edit: 'text', width: "300" }
                 , { field: 'HSupID', title: '渚涘簲鍟咺D', hide: true }
                 , { field: 'HSupNumber', title: '渚涘簲鍟嗕唬鐮�', edit: 'text', event: "HSupCheck" }
                 , { field: 'HSupName', title: '渚涘簲鍟�' }
                 , { field: 'HSupFlag', title: '鏄惁濮斿', templet: '#HSupFlag' }
-                , { field: 'HRemark', title: '澶囨敞', edit: 'text',width:"300" }
+                
+                , { field: 'HSourceInterID', title: '婧愬崟鍐呯爜', hide: true }
+                , { field: 'HSourceEntryID', title: '婧愬崟瀛愬唴鐮�', hide: true }
                 , { fixed: 'right', title: '鎿嶄綔', toolbar: '#barDemo' }
             ];
             option = {
@@ -670,11 +869,25 @@
                 }
             };
             option.data = [{
-                "HProcNo": parseInt($("#HProcExchBegNO").val()) + 1, "HProcID": 0, "HProcNumber": "", "HProcName": "", "HWorkRemark": "",
-                "HCenterID": 0, "HCenterNumber": "", "HCenterName": "",
-                "HDeptID": 0, "HDeptNumber": "", "HDeptName": "",
-                "HSupID": 0, "HSupNumber": "", "HSupName": "", "HSupFlag": "false",
-                "HQty": $("#HQty").val(), "HRemark": ""
+                "HProcNo": parseInt($("#HProcExchBegNO").val()) + 1
+                , "HProcID": 0
+                , "HProcNumber": ""
+                , "HProcName": ""
+                , "HWorkRemark": ""
+                , "HCenterID": 0
+                , "HCenterNumber": ""
+                , "HCenterName": ""
+                , "HDeptID": 0
+                , "HDeptNumber": ""
+                , "HDeptName": ""
+                , "HSupID": 0
+                , "HSupNumber": ""
+                , "HSupName": ""
+                , "HSupFlag": "false"
+                , "HQty": $("#HQty").val()
+                , "HRemark": ""
+                , "HSourceInterID": "0"
+                , "HSourceEntryID": "0"
             }];
             table.render(option);
 
@@ -731,10 +944,10 @@
                         $("#HQty").val(result.data[0]["璁″垝鏁伴噺"]);
                         $("#HProcBegName").val(result.data[0]["宸ュ簭鍚嶇О"]);
                         $("#HProcBegID").val(result.data[0]["HProcID"]);
-                        $("#HProcEndName").val(result.data[1]["宸ュ簭鍚嶇О"]);
-                        $("#HProcEndID").val(result.data[1]["HProcID"]);
+                        $("#HProcEndName").val(result.data.length == 1 ? "" :result.data[1]["宸ュ簭鍚嶇О"]);
+                        $("#HProcEndID").val(result.data.length==1?"0": result.data[1]["HProcID"]);
                         $("#HProcExchBegNO").val(result.data[0]["娴佹按鍙�"]);
-                        $("#HProcExchEndNO").val(result.data[1]["娴佹按鍙�"]);
+                        $("#HProcExchEndNO").val(result.data.length == 1 ? "9999" :result.data[1]["娴佹按鍙�"]);
                         $("#HPRDORGID").val(result.data[0]["HPRDORGID"]);
                         $("#HPRDORGName").val(result.data[0]["缁勭粐"]);
                         $("#HICMOBillNo").val(result.data[0]["浠诲姟鍗曞彿"]);
@@ -752,13 +965,245 @@
 
         }
 
+        //鏌ヨ宸ュ簭娴佽浆鍗�--鍒犻櫎鎿嶄綔
+        function get_ProcessExchange_Delete() {
+            var sWhere = "  where hmainid=" + linterid + " and  hsubid in " + HEntryID + " ";
+            //缂栬緫鍔犺浇鏁版嵁
+            $.ajax({
+                url: GetWEBURL() + 'Sc_ProcExchWorkBackBill/GetProcessExchangeBillSub',
+                type: "GET",
+                async: false,
+                data: { "sWhere": sWhere },
+                success: function (result) {
+                    if (result.count == 1) {
+                        $("#HProcExchBillNo").val(result.data[0]["鍗曟嵁鍙�"]);
+                        $("#HProcExchInterID").val(result.data[0]["hmainid"]);
+                        $("#HProcExchEntryID").val(result.data[0]["hsubid"]);
+                        $("#HWorkShopID").val(result.data[0]["HWorkShopID"]);
+                        $("#HWorkShopName").val(result.data[0]["鐢熶骇杞﹂棿"]);
+                        $("#HMaterNumber").val(result.data[0]["浜у搧浠g爜"]);
+                        $("#HMaterID").val(result.data[0]["HMaterID"]);
+                        $("#HMaterName").val(result.data[0]["浜у搧鍚嶇О"]);
+                        $("#HModel").val(result.data[0]["瑙勬牸鍨嬪彿"]);
+                        $("#HUnitID").val(result.data[0]["HUnitID"]);
+                        $("#HUnitName").val(result.data[0]["鍗曚綅"]);
+                        $("#HPlanQty").val(result.data[0]["鐢熶骇鏁伴噺"]);
+                        $("#HQty").val(result.data[0]["璁″垝鏁伴噺"]);
+                        $("#HProcBegName").val("");
+                        $("#HProcBegID").val("0");
+                        $("#HProcEndName").val("");
+                        $("#HProcEndID").val("0");
+                        $("#HProcExchBegNO").val("0");
+                        $("#HProcExchEndNO").val("1000");
+                        $("#HPRDORGID").val(result.data[0]["HPRDORGID"]);
+                        $("#HPRDORGName").val(result.data[0]["缁勭粐"]);
+                        $("#HICMOBillNo").val(result.data[0]["浠诲姟鍗曞彿"]);
+                        $("#HICMOInterID").val(result.data[0]["hicmointerid"]);
+                        $("#HICMOEntryID").val(result.data[0]["HICMOEntryID"]);
+                        $("#HOrderProcNO").val(result.data[0]["HOrderProcNO"]);
+
+                        var d = result;
+                        var rowdata = [];
+                        for (var i = 0; i < d.data.length; i++) {
+                            //瀛愯〃  璧嬪��
+                            rowdata.push({
+                                "HProcNo": d.data[i]["娴佹按鍙�"], "HProcID": d.data[i]["HProcID"], "HProcNumber": d.data[i]["宸ュ簭浠g爜"], "HProcName": d.data[i]["宸ュ簭鍚嶇О"], "HWorkRemark":"",
+                                "HCenterID": d.data[i]["HCenterID"], "HCenterNumber": d.data[i]["宸ヤ綔涓績浠g爜"], "HCenterName": d.data[i]["宸ヤ綔涓績"],
+                                "HDeptID": d.data[i]["HDeptID"], "HDeptNumber": d.data[i]["鍔犲伐杞﹂棿浠g爜"], "HDeptName": d.data[i]["鍔犲伐杞﹂棿"],
+                                "HSupID": d.data[i]["HSupID"], "HSupNumber": d.data[i]["渚涘簲鍟嗕唬鐮�"], "HSupName": d.data[i]["渚涘簲鍟�"], "HSupFlag": d.data[i]["濮斿鏍囪"] == false,
+                                "HQty": d.data[i]["璁″垝鏁伴噺"], "HRemark": "", "HSourceInterID": d.data[i]["hmainid"], "HSourceEntryID": d.data[i]["hsubid"]
+                            });
+                        }
+                        option.data = rowdata;
+                        table.render(option);
+
+                        for (var i = 0; i < d.data.length; i++) {
+                            //濮斿鏍囪
+                            $('#HSupFlag' + (i + 1)).find("option[value='" + d.data[i].濮斿鏍囪 + "']").attr("selected", true);
+                        }
+                        form.render('select');
+                    } else {
+                        layer.msg(result.code + result.Message, { icon: 5 });
+                    }
+                }, error: function () {
+                    layer.close(index0);
+                    layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                }
+            });
+
+        }
+
+        //瀹℃牳
+        function set_CheckBill() {
+            var hmainid = $("#HInterID").val();
+            layer.confirm("纭瑕佸鏍稿悧锛屽鏍稿悗涓嶈兘鎭㈠", { title: "瀹℃牳纭" }, function (index) {
+                var wait = layer.load();
+                //閫昏緫鍒犻櫎鏂规硶
+                $.ajax({
+                    url: GetWEBURL() + '/Sc_ProcExchWorkBackBill/set_CheckBill',
+                    type: "GET",
+                    data: { "HInterID": hmainid, "CurUserName": sessionStorage["HUserName"] },
+                    success: function (result) {
+                        if (result.count == 1) {
+                            //鍏抽棴褰撳墠frame
+                            layer.close(wait);
+                            layer.msg(result.Message);
+                            $('#set_CheckBill').addClass("layui-btn-disabled").attr("disabled", true);
+                        } else {
+                            layer.alert(result.code + result.Message, { icon: 5 });
+                            layer.close(wait);
+                        }
+                    }, error: function () {
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                        layer.close(wait);
+                    }
+                });
+            })
+        }
+
+        //#region 鎵撳嵃
+        function get_PrintReport() {
+            //#region 鍒ゆ柇鍗曟嵁鐘舵��
+            var HBillData = "";
+            var HBillData = getBillStatus_ProcExchWorkBackBill();            //鑾峰彇鍗曟嵁鏁版嵁
+            if (HBillData != "none") {
+                if (HBillData.length == 0) {
+                    layer.alert("鎵撳嵃澶辫触!鏈煡璇㈠埌鍗曟嵁淇℃伅!", { icon: 5 });
+                    return;
+                } else if (HBillData[0]["鐘舵��"] != "宸插鏍�") {
+                    layer.alert("鎵撳嵃澶辫触!鍗曟嵁鐘舵�佹湭涓�'宸插鏍�'鐘舵��!", { icon: 5 });
+                    return;
+                }
+            } else {
+                return;
+            }
+            //#endregion
+
+
+            //鎵撳嵃婧愬崟-宸ュ簭娴佽浆鍗�
+            var HSourceInterID = $("#HProcExchInterID").val();      //婧愬崟-宸ュ簭娴佽浆鍗� 涓诲唴鐮�
+            //鍒ゆ柇鍣ㄥ叿娓呭崟鏌ヨ鍒楄〃鏄惁鏈夋暟鎹�  0娌℃湁 1鏈�
+            var QJQD = 0;                                           
+            $.ajax({
+                url: GetWEBURL() + '/Sc_ProcessExchangeBillList/QJQD',
+                type: "GET",
+                data: { "HProcExchHinteID": HSourceInterID},
+                success: function (data1) {
+                    if (data1.count == 1) {
+                        if (data1.data.length == 0) {
+                            QJQD = 0;
+                        } else {
+                            QJQD = 1;
+                        }
+                    } else {
+                        //layer.alert(data1.code + data1.Message, { icon: 5 });
+                    }
+                }, error: function () {
+                    //layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                }
+            });
+
+            var HSourceInterID = $("#HProcExchInterID").val();
+            layer.open({
+                type: 2
+                , area: ['80%', '80%']
+                , title: '鎵撳嵃妯$増閫夋嫨'
+                , shade: 0.6 //閬僵閫忔槑搴�
+                , maxmin: false //鍏佽鍏ㄥ睆鏈�灏忓寲
+                , anim: 0 //0-6鐨勫姩鐢诲舰寮忥紝-1涓嶅紑鍚�
+                , content: ['../../BaseSet/SRM_OpenTmpList.html?linterid=' + HSourceInterID + "|" + QJQD + '&MyMsg=' + HSourceInterID + '&Type=HProcessExchange', 'yes']
+                , resize: false
+            })
+        }
+        //#endregion
+
         //闈炵┖楠岃瘉
         function AllowLoadData(data) {
 
-            if ($("#HEmpID").val()=="0") {
-                layer.msg("璇烽�夋嫨璐熻矗浜�!");
+            if ($("#HBillNo").val()=="") {
+                layer.msg("鍗曟嵁鍙蜂笉鑳戒负绌�!");
                 return false;
             }
+
+            if ($("#HProcExchBillNo").val() == "") {
+                layer.msg("娴佽浆鍗′笉鑳戒负绌�!");
+                return false;
+            }
+
+            if ($("#HBillOperationType").val() == "") {
+                layer.msg("鎿嶄綔绫诲瀷涓嶈兘涓虹┖!");
+                return false;
+            }
+
+            if ($("#HMaterNumber").val() == "") {
+                layer.msg("鐗╂枡浠g爜涓嶈兘涓虹┖!");
+                return false;
+            }
+
+            if ($("#HMaterName").val() == "") {
+                layer.msg("鐗╂枡鍚嶇О涓嶈兘涓虹┖!");
+                return false;
+            }
+
+            if ($("#HModel").val() == "") {
+                layer.msg("瑙勬牸鍨嬪彿涓嶈兘涓虹┖!");
+                return false;
+            }
+
+            if ($("#HUnitName").val() == "") {
+                layer.msg("璁¢噺鍗曚綅涓嶈兘涓虹┖!");
+                return false;
+            }
+
+            if ($("#HPlanQty").val() == "0") {
+                layer.msg("璁㈠崟鏁伴噺涓嶈兘涓�0!");
+                return false;
+            }
+
+            if ($("#HQty").val() == "0") {
+                layer.msg("杩斿伐鏁伴噺涓嶈兘涓�0!");
+                return false;
+            }
+
+            if ($("#HBillOperationType").val() != "2") {
+                if ($("#HProcBegName").val() == "") {
+                    layer.msg("寮�濮嬪伐搴忎笉鑳戒负绌�!");
+                    return false;
+                }
+            }
+
+            //if ($("#HProcEndName").val() == "") {
+            //    layer.msg("缁撴潫宸ュ簭涓嶈兘涓虹┖!");
+            //    return false;
+            //}
+
+
+            if ($("#HBillOperationType").val() != "2") {
+                if ($("#HProcExchBegNO").val() == "") {
+                    layer.msg("寮�濮嬫祦姘村彿涓嶈兘涓虹┖!");
+                    return false;
+                }
+            }
+
+            //if ($("#HProcExchEndNO").val() == "") {
+            //    layer.msg("缁撴潫娴佹按鍙蜂笉鑳戒负绌�!");
+            //    return false;
+            //}
+
+            if ($("#HPRDORGName").val() == "") {
+                layer.msg("鐢熶骇缁勭粐涓嶈兘涓虹┖!");
+                return false;
+            }
+
+            if ($("#HICMOBillNo").val() == "") {
+                layer.msg("鐢熶骇璁㈠崟涓嶈兘涓虹┖!");
+                return false;
+            }
+
+            //if ($("#HEmpID").val()=="0") {
+            //    layer.msg("璇烽�夋嫨璐熻矗浜�!");
+            //    return false;
+            //}
 
             var num = [];
             var num_2 = [];
@@ -786,12 +1231,13 @@
                             layer.msg("绗�" + (i + 1) + "琛�:渚涘簲鍟嗕笉鑳戒负绌�!");
                             return false;
                         }
-                    } else {
-                        if (option.data[i]["HCenterID"] == "0") {
-                            layer.msg("绗�" + (i + 1) + "琛�:宸ヤ綔涓績涓嶈兘涓虹┖!");
-                            return false;
-                        }
                     }
+                    //else {
+                    //    if (option.data[i]["HCenterID"] == "0") {
+                    //        layer.msg("绗�" + (i + 1) + "琛�:宸ヤ綔涓績涓嶈兘涓虹┖!");
+                    //        return false;
+                    //    }
+                    //}
 
                     if (parseInt(option.data[i].HQty) > parseInt($("#HQty").val())) {
                         var indexRow = i + 1;
@@ -885,7 +1331,7 @@
         {
             var sWhere = " and HPRDORGID=" + sessionStorage["OrganizationID"] + " and hmainid=" + linterid;
             $.ajax({
-                url: GetWEBURL() + "/Sc_ProcExchWorkBackBill/Sc_ProcExchWorkBackBillList",
+                url: GetWEBURL() + "/Sc_ProcExchWorkBackBill/Sc_ProcExchWorkBackBillList_Edit",
                 type: "GET",
                 async: false,
                 data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
@@ -900,6 +1346,7 @@
                         $("#HProcExchBillNo").val(d.data[0]["娴佽浆鍗″彿"]);
                         $("#HProcExchInterID").val(d.data[0]["娴佽浆鍗′富鍐呯爜"]);
                         $("#HProcExchEntryID").val(d.data[0]["娴佽浆鍗″瓙鍐呯爜"]);
+                        $("#HBillOperationType").val(d.data[0]["鎿嶄綔绫诲瀷"]);
                         $("#HWorkShopID").val(d.data[0]["HWorkShopID"]);
                         $("#HWorkShopName").val(d.data[0]["鐢熶骇杞﹂棿"]);
                         $("#HMaterNumber").val(d.data[0]["浜у搧浠g爜"]);
@@ -943,7 +1390,7 @@
                                 "HCenterID": d.data[i]["HCenterID"], "HCenterNumber": d.data[i]["宸ヤ綔涓績浠g爜"], "HCenterName": d.data[i]["宸ヤ綔涓績"],
                                 "HDeptID": d.data[i]["HDeptID"], "HDeptNumber": d.data[i]["鍔犲伐杞﹂棿浠g爜"], "HDeptName": d.data[i]["鍔犲伐杞﹂棿"],
                                 "HSupID": d.data[i]["HSupID"], "HSupNumber": d.data[i]["渚涘簲鍟嗕唬鐮�"], "HSupName": d.data[i]["渚涘簲鍟�"], "HSupFlag": d.data[i]["濮斿鏍囪"] == 1 ? true : false,
-                                "HQty": d.data[i]["瀛愯繑宸ユ暟閲�"], "HRemark": d.data[i]["琛ㄤ綋澶囨敞"]
+                                "HQty": d.data[i]["瀛愯繑宸ユ暟閲�"], "HRemark": d.data[i]["琛ㄤ綋澶囨敞"], "HSourceInterID": d.data[i]["HSourceInterID"], "HSourceEntryID": d.data[i]["HSourceEntryID"]
                             });
                         }
                         option.data = rowdata;
@@ -972,6 +1419,29 @@
             return vars;
         }
 
+
+        //#region 鑾峰彇鍗曟嵁鐘舵��
+        function getBillStatus_ProcExchWorkBackBill() {
+            var HBillData = "none";
+            var sWhere = " and hmainid = " + $("#HInterID").val();
+            $.ajax({
+                url: GetWEBURL() + '/Sc_ProcExchWorkBackBill/Sc_ProcExchWorkBackBillList',
+                async: false,
+                type: "GET",
+                data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
+                success: function (data1) {
+                    if (data1.count == 1) {
+                        HBillData = data1.data;
+                    } else {
+                        layer.alert(data1.code + "鍗曟嵁鐘舵�佸垽鏂け璐ワ紒", { icon: 5 });
+                    }
+                }, error: function () {
+                    layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                }
+            });
+            return HBillData;
+        }
+            //#endregion
         //#endregion
     })
 </script>
\ No newline at end of file

--
Gitblit v1.9.1