瀏覽代碼

Merge branch 'master' of http://49.235.130.76/LN/LPLocalhostMES

刘彬 2 周之前
父節點
當前提交
9d8e06525c
共有 2 個文件被更改,包括 62 次插入41 次删除
  1. 60 39
      LocalhostMES/Api/Controllers/MesController.cs
  2. 2 2
      LocalhostMES/DataBase/DatabaseHelper.cs

+ 60 - 39
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);
@@ -324,17 +329,7 @@ namespace LocalhostMES.Api.Controllers
             {
 
                 LogHelper.WriteLogInfo($"收到请求: 接收SN和关键件");
-                var res= DatabaseHelper.SelectWorkOrderInfo();        
-                var workOrder = DatabaseHelper.SelectWorkOrderInfo(res.LeftOrderNo);
-                // 验证工单是否存在
-                if ( workOrder.Count == 0 )
-                {
-                    return BadRequest($"工单 {res.LeftOrderNo} 不存在");
-                }
-                if ( workOrder[0].IsLocalhost )
-                {
-                    return Ok(new ApiResponse<bool?>() { data = true });
-                }
+               
                 // 验证请求头
                 if ( !ValidateHeaders() )
                 {
@@ -349,7 +344,26 @@ namespace LocalhostMES.Api.Controllers
                 {
                     return BadRequest("必填字段不能为空");
                 }
-
+                var res = DatabaseHelper.SelectWorkOrderInfo();
+                string stationOrder = "";
+                if (request.stationCode.Split('-')[2] == "L")
+                {
+                    stationOrder = res.LeftOrderNo;
+                }
+                else
+                {
+                    stationOrder = res.RightOrderNo;
+                }
+                var workOrder = DatabaseHelper.SelectWorkOrderInfo(stationOrder);
+                // 验证工单是否存在
+                if (workOrder.Count == 0)
+                {
+                    return BadRequest($"工单 {res.LeftOrderNo} 不存在");
+                }
+                if (workOrder[0].IsLocalhost)
+                {
+                    return Ok(new ApiResponse<bool?>() { data = true });
+                }
                 // 处理关键件绑定
                 if ( request.part != null && request.part.Count > 0 )
                 {
@@ -478,16 +492,8 @@ namespace LocalhostMES.Api.Controllers
             {
                 LogHelper.WriteLogInfo($"收到请求:接收工件加工参数 ");
 
-                var res= DatabaseHelper.SelectWorkOrderInfo();
 
 
-                var workOrder = DatabaseHelper.SelectWorkOrderInfo(res.LeftOrderNo);
-                // 验证工单是否存在
-                if ( workOrder.Count == 0 )
-                {
-                    return BadRequest($"工单 {res.LeftOrderNo} 不存在");
-                }
-
                 // 验证请求头
                 if ( !ValidateHeaders() )
                 {
@@ -508,7 +514,22 @@ namespace LocalhostMES.Api.Controllers
                 {
                     return BadRequest($"无效的总结果: {request.overallResult}");
                 }
-
+                var res = DatabaseHelper.SelectWorkOrderInfo();
+                string stationOrder = "";
+                if (request.station.Split('-')[2] == "L")
+                {
+                    stationOrder = res.LeftOrderNo;
+                }
+                else 
+                {
+                    stationOrder = res.RightOrderNo;
+                }
+                    var workOrder = DatabaseHelper.SelectWorkOrderInfo(stationOrder);
+                // 验证工单是否存在
+                if (workOrder.Count == 0)
+                {
+                    return BadRequest($"工单 {res.LeftOrderNo} 不存在");
+                }
                 // 保存加工记录
                 var processRecord = new ProcessRecord
                 {

+ 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;
             }