Browse Source

投水件-已经绑水件码,装配回线自动跳到已绑页面,可自动换新

qinqi 2 months ago
parent
commit
a5fded973b
2 changed files with 56 additions and 9 deletions
  1. 22 4
      wwwroot/main/Assemble/api/GetBOMData.ashx
  2. 34 5
      wwwroot/main/Assemble/index.html

+ 22 - 4
wwwroot/main/Assemble/api/GetBOMData.ashx

@@ -168,6 +168,19 @@ public class GetBOMData : IHttpHandler, IReadOnlySessionState
                 new CDAParameter("PROCEDUREID", context.Request["procedureId"])
             );
 
+            // 查询当前工序是否已经绑定过组件,并且不是上一道工序
+            DataTable isIdnrkData = conn.ExecuteDatatable(@"
+            SELECT DISTINCT PD.BARCODE FROM TP_PM_PRODUCTIONDATA PD
+               LEFT JOIN TP_PM_INPRODUCTION I ON PD.GROUTINGDAILYDETAILID = I.GROUTINGDAILYDETAILID
+               LEFT JOIN TP_PM_BARCODEIDNRKREL BI ON BI.BARCODE = PD.BARCODE AND BI.PROCEDUREID =  PD.PROCEDUREID
+               WHERE PD.BARCODE = @BARCODE@
+               AND PD.PROCEDUREID = @PROCEDUREID@
+               AND PD.VALUEFLAG = 1 
+               AND I.PROCEDUREID <> @PROCEDUREID@ ",
+                new CDAParameter("PROCEDUREID", context.Request["procedureId"]),
+                new CDAParameter("BARCODE", context.Request["barCode"])
+            );
+
             dtIdnrk.DefaultView.RowFilter = "MAKTX NOT LIKE '%半成品%'";
             dtIdnrk = dtIdnrk.DefaultView.ToTable();
 
@@ -204,11 +217,11 @@ public class GetBOMData : IHttpHandler, IReadOnlySessionState
                 dtIdnrk = dtIdnrk.DefaultView.ToTable();
             }
 
-            if (dtIdnrk.Rows.Count == 0)
+            if (dtIdnrk.Rows.Count == 0 && (isIdnrkData == null || isIdnrkData.Rows.Count == 0))
             {
                 context.Response.Write(new JsonResult() { success = false, message = "当前工序没有需要安装的组件。" }.ToJson());
                 return;
-            }
+            } 
 
             // 加上需要的列
             dtIdnrk.Columns.Add("LGORT", typeof(string));
@@ -225,7 +238,7 @@ public class GetBOMData : IHttpHandler, IReadOnlySessionState
                 {
                     if (rows1["IDNRKTYPE"].ToString().Contains(rows2["IDNRKTYPE"].ToString()))
                     {
-                        rows1["SCANFLAG"] = rows2["SCANFLAG"]; 
+                        rows1["SCANFLAG"] = rows2["SCANFLAG"];
                     }
                 }
             }
@@ -349,11 +362,16 @@ public class GetBOMData : IHttpHandler, IReadOnlySessionState
                 row["IDNRKONLYCODE"] = "";
             }
 
-            if (dtIdnrk.Rows.Count == 0)
+            if (dtIdnrk.Rows.Count == 0 && (isIdnrkData == null || isIdnrkData.Rows.Count == 0))
             {
                 context.Response.Write(new JsonResult() { success = false, message = "当前工序没有需要安装的组件。" }.ToJson());
                 return;
             }
+            else if (isIdnrkData != null && isIdnrkData.Rows.Count > 0)
+            {
+                context.Response.Write(new JsonResult() { success = false, message = "该工序已绑定组件" }.ToJson());
+                return;
+            }
             else
             {
                 context.Response.Write(new JsonResult() { success = true, message = "操作成功!", rows = dtIdnrk }.ToJson());

+ 34 - 5
wwwroot/main/Assemble/index.html

@@ -619,7 +619,7 @@
                     <td>{数量}</td>
                     <td>
                         <div class="btn-group btn-group-sm" role="group" aria-label="操作">
-                            <button type="button" id="报损并换新" onclick="bindIdnrkScrap('{组件标识}')" class="btn btn-danger">报损并换新</button>
+                            <button type="button" id="报损并换新" class="btn btn-danger">报损并换新</button>
                         </div>
                     </td>
                     <td>{工序}</td>
@@ -829,6 +829,7 @@
         var checkprocedureId = "";  //校验工序ID
         var checkworkstationname = "";  //校验工位名称
         var refireflag = 0;//重烧接收产品1:重烧接收0:重烧交接
+        var isidnrkbind = 0;//装配环节是否已经绑定组件,并且不是上一道工序,一般为装配回线产品
 
         var socketbarcode = new WebSocket('ws://172.18.32.32:9102');
 
@@ -1487,6 +1488,10 @@
                                                 if (jsonBOMData[0]["success"] == true) {
                                                     loadBOMData(jsonBOMData[0]["rows"]);
                                                 }
+                                                else if (jsonBOMData[0]["message"] == "该工序已绑定组件") {
+                                                    isidnrkbind = 1;
+                                                    $('#已绑物料页').tab('show'); 
+                                                }
                                                 else {
                                                     swal({
                                                         title: "加载组件",
@@ -2377,6 +2382,10 @@
                                                                         if (jsonBOMData[0]["success"] == true) {
                                                                             loadBOMData(jsonBOMData[0]["rows"]);
                                                                         }
+                                                                        else if (jsonBOMData[0]["message"] == "该工序已绑定组件") {
+                                                                            isidnrkbind = 1;
+                                                                            $('#已绑物料页').tab('show');
+                                                                        }
                                                                         else {
                                                                             swal({
                                                                                 title: "加载组件",
@@ -2819,7 +2828,7 @@
                         // if (cancleFlag == '1') {
                         //console.log('idnrk', idnrk)
                         //console.log('bindIdnrkList.length', bindIdnrkList.length)
-
+                        var bindIdnrkOnlycodeflag = 0;
                         for (var i = 0; i < bindIdnrkList.length; i++) {
                             //console.log('idnrk', idnrk)
                             //console.log('bindIdnrkList[i]["IDNRK"]', bindIdnrkList[i]["IDNRK"])
@@ -2843,6 +2852,7 @@
 
                                 $('#' + flag).after(temp);
                                 $('#' + flag).remove();
+                                bindIdnrkOnlycodeflag = 1;
                                 break;
                             }
                         }
@@ -2881,7 +2891,7 @@
                             }
                         }
                         //判断组件唯一码是否有对应项
-                        if (idnrkOnlycodeflag == 0) {
+                        if (idnrkOnlycodeflag == 0 && bindIdnrkOnlycodeflag ==0 ) {
                             //非该产品的组件物料
                             swal({
                                 title: "非该产品的组件物料",
@@ -3099,6 +3109,10 @@
                                                 if (jsonBOMData[0]["success"] == true) {
                                                     loadBOMData(jsonBOMData[0]["rows"]);
                                                 }
+                                                else if (jsonBOMData[0]["message"] == "该工序已绑定组件") {
+                                                    isidnrkbind = 1;
+                                                    $('#已绑物料页').tab('show');
+                                                }
                                                 else {
                                                     swal({
                                                         title: "加载组件",
@@ -3691,6 +3705,10 @@
                                                                     if (jsonBOMData[0]["success"] == true) {
                                                                         loadBOMData(jsonBOMData[0]["rows"]);
                                                                     }
+                                                                    else if (jsonBOMData[0]["message"] == "该工序已绑定组件") {
+                                                                        isidnrkbind = 1;
+                                                                        $('#已绑物料页').tab('show');
+                                                                    }
                                                                     else {
                                                                         swal({
                                                                             title: "加载组件",
@@ -4174,6 +4192,10 @@
                                                 if (jsonBOMData[0]["success"] == true) {
                                                     loadBOMData(jsonBOMData[0]["rows"]);
                                                 }
+                                                else if (jsonBOMData[0]["message"] == "该工序已绑定组件") {
+                                                    isidnrkbind = 1;
+                                                    $('#已绑物料页').tab('show');
+                                                }
                                                 else {
                                                     swal({
                                                         title: "加载组件",
@@ -4876,6 +4898,10 @@
                                                                         if (jsonBOMData[0]["success"] == true) {
                                                                             loadBOMData(jsonBOMData[0]["rows"]);
                                                                         }
+                                                                        else if (jsonBOMData[0]["message"] == "该工序已绑定组件") {
+                                                                            isidnrkbind = 1;
+                                                                            $('#已绑物料页').tab('show');
+                                                                        }
                                                                         else {
                                                                             swal({
                                                                                 title: "加载组件",
@@ -5455,7 +5481,7 @@
                         // if (cancleFlag == '1') {
                         //console.log('idnrk', idnrk)
                         //console.log('bindIdnrkList.length', bindIdnrkList.length)
-
+                        var bindIdnrkOnlycodeflag = 0;
                         for (var i = 0; i < bindIdnrkList.length; i++) {
                             //console.log('idnrk', idnrk)
                             //console.log('bindIdnrkList[i]["IDNRK"]', bindIdnrkList[i]["IDNRK"])
@@ -5479,6 +5505,7 @@
 
                                 $('#' + flag).after(temp);
                                 $('#' + flag).remove();
+                                bindIdnrkOnlycodeflag = 1;
                                 break;
                             }
                         }
@@ -5517,7 +5544,7 @@
                             }
                         }
                         //判断组件唯一码是否有对应项
-                        if (idnrkOnlycodeflag == 0) {
+                        if (idnrkOnlycodeflag == 0 && bindIdnrkOnlycodeflag == 0) {
                             //非该产品的组件物料
                             swal({
                                 title: "非该产品的组件物料",
@@ -6518,7 +6545,9 @@
         //清空 组件列表
         function ClearIdnrkList() {
             $('#组件列表').html('');
+            $('#已绑组件列表').html(''); 
             idnrkList = [];
+            bindIdnrkList = [];
         }
 
         //清空 组件报损列表