Prechádzať zdrojové kódy

本地有SN的不请求工厂mes

844184169 3 týždňov pred
rodič
commit
a07dd7a1e5

+ 23 - 18
LocalhostMES/Api/Controllers/MesController.cs

@@ -189,30 +189,35 @@ namespace LocalhostMES.Api.Controllers
                 }
                 else
                 {
-                    ApiResponse<SnPrintResponseData> mesres = await management.ApiClient.RequestSnPrintAsync(request);
-                    if ( mesres.success && mesres.data != null && mesres.data.Sn.Count != 0 )
+                    var hassninfo = DatabaseHelper.SelectSnInfo(request.workOrderNo, true, false);
+                    if (hassninfo.Count == 0)
                     {
-                        for ( int i = 0; i < mesres.data.Sn.Count; i++ )
-                        {
-                            if ( !DatabaseHelper.InsertSnInfo(new SnInfo()
-                            {
-                                WorkOrderNo = mesres.data.WorkOrderNo,
-                                Sn = mesres.data.Sn[ i ].Sn,
-                                GenerateTime = DateTime.Now,
-                                PrintType = "1",
-                                IsUsed = false,
 
-                            }) )
+                        ApiResponse<SnPrintResponseData> mesres = await management.ApiClient.RequestSnPrintAsync(request);
+                        if (mesres.success && mesres.data != null && mesres.data.Sn.Count != 0)
+                        {
+                            for (int i = 0; i < mesres.data.Sn.Count; i++)
                             {
-                                mesres.msg = "插入SN到数据库出错";
-                                mesres.success = false;
-                                return Content(System.Net.HttpStatusCode.InternalServerError, mesres);
-
+                                if (!DatabaseHelper.InsertSnInfo(new SnInfo()
+                                {
+                                    WorkOrderNo = mesres.data.WorkOrderNo,
+                                    Sn = mesres.data.Sn[i].Sn,
+                                    GenerateTime = DateTime.Now,
+                                    PrintType = "1",
+                                    IsUsed = false,
+
+                                }))
+                                {
+                                    mesres.msg = "插入SN到数据库出错";
+                                    mesres.success = false;
+                                    return Content(System.Net.HttpStatusCode.InternalServerError, mesres);
+
+                                }
                             }
+                            return Ok(mesres);
                         }
-                        return Ok(mesres);
+                        return Content(System.Net.HttpStatusCode.InternalServerError, mesres);
                     }
-                    return Content(System.Net.HttpStatusCode.InternalServerError, mesres);
 
                 }
                 var sninfo = DatabaseHelper.SelectSnInfo(request.workOrderNo, true, false);

+ 2 - 2
LocalhostMES/DataBase/DatabaseHelper.cs

@@ -110,7 +110,7 @@ namespace LocalhostMES.DataBase
                         StartTime = it.StartTime,
                         Status = it.Status,
                         WorkOrderNo = it.WorkOrderNo,
-                        CompletedQuantity = SqlFunc.Subqueryable<SnInfo>().Where(s => s.WorkOrderNo == it.WorkOrderNo).Count()
+                        CompletedQuantity = SqlFunc.Subqueryable<SnInfo>().Where(s => s.WorkOrderNo == it.WorkOrderNo&&s.IsUsed).Count()
                     }).ToList();
                 NormalizeWorkOrderStatus(single);
                 return single;
@@ -130,7 +130,7 @@ namespace LocalhostMES.DataBase
                         StartTime=it.StartTime, 
                         Status=it.Status,
                         WorkOrderNo=it.WorkOrderNo, 
-                        CompletedQuantity=SqlFunc.Subqueryable<SnInfo>().Where(s=>s.WorkOrderNo==it.WorkOrderNo).Count() }).ToList();
+                        CompletedQuantity=SqlFunc.Subqueryable<SnInfo>().Where(s=>s.WorkOrderNo==it.WorkOrderNo && s.IsUsed).Count() }).ToList();
                 NormalizeWorkOrderStatus(list);
                 return list;
             }