Browse Source

码垛异常任务,完成条件为下一个目标地址=1418并且状态小于99

林豪 左 2 years ago
parent
commit
c6e7e10e93
1 changed files with 27 additions and 21 deletions
  1. 27 21
      WCS.Workflow/ConvPlc03.cs

+ 27 - 21
WCS.Workflow/ConvPlc03.cs

@@ -1,7 +1,5 @@
 using System;
-using System.Collections.Generic;
 using System.Linq;
-using System.Text;
 using WCS.Data;
 using WCS.Data.Models;
 using WCS.Data.Utils;
@@ -13,31 +11,36 @@ namespace WCS.Workflow
     public class ConvPlc03 : Base_Conv
     {
         #region 只读变量
+
         private readonly string Conv_1390 = "1390";
         private readonly string Conv_1418 = "1418";
         private readonly string Conv_1401 = "1401";
         private readonly string Conv_1416 = "1416";
-        #endregion;
+
+        #endregion 只读变量
+
         public override void Run()
         {
             Conv_ScanBarCodeExeTask();
 
             ConvTaskFinish();
         }
+
         private void ConvTaskFinish()
         {
             ConveyorTaskFinish(PlcName, Conv_1401, false, true);
             ConveyorTaskFinish(PlcName, Conv_1416, false, true);
             ConveyorTaskFinish();
         }
-        public void ConveyorTaskFinish() 
+
+        public void ConveyorTaskFinish()
         {
             try
             {
                 //调用函数完成任务
                 string result = TryCachHelper.TryExecute((db) =>
                 {
-                    var task = db.Queryable<WCS_TASK>().First(v => v.TASK_POSIDTO == Conv_1418 && v.TASK_POSIDCUR != v.TASK_POSIDFROM);
+                    var task = db.Queryable<WCS_TASK>().First(v => v.TASK_POSIDTO == Conv_1418 && v.TASK_WKSTATUS < 99);
                     if (task == null) return;
 
                     //修改任务的状态
@@ -56,7 +59,6 @@ namespace WCS.Workflow
             }
         }
 
-
         /// <summary>
         /// 输送线任务完成
         /// </summary>
@@ -95,25 +97,25 @@ namespace WCS.Workflow
                         //var task = db.Queryable<WCS_TASK>().First(v => v.TASK_WKSTATUS == 99 && v.TASK_POSIDFROM == "1390" && v.TASK_POSIDTO == taskcur.TASK_POSIDTO);
                         //if (task == null)
                         //{
-                            //修改任务的状态
-                            db.Updateable<WCS_TASK>(it => new WCS_TASK() { TASK_WKSTATUS = 99, TASK_EDITUSERNO = "WCS", TASK_EDITDATETIME = DateTime.Now })
-                              .Where(it => it.TASK_NO == taskcur.TASK_NO)
-                              .ExecuteCommand();
+                        //修改任务的状态
+                        db.Updateable<WCS_TASK>(it => new WCS_TASK() { TASK_WKSTATUS = 99, TASK_EDITUSERNO = "WCS", TASK_EDITDATETIME = DateTime.Now })
+                          .Where(it => it.TASK_NO == taskcur.TASK_NO)
+                          .ExecuteCommand();
                         //}
-                        //else 
+                        //else
                         //{
                         //    BaseWorkflow.AddLedErrorMsg(convNo, string.Format("目标工位[{0}]上一个箱子[{1}]存在未完成任务[{2}]",task.TASK_POSIDTO, task.TASK_BOXBARCODE,task.TASK_NO), 0);
                         //   // LogMessageHelper.RecordLogMessage(string.Format("上一个箱子[{0}]存在未完成任务", task.TASK_BOXBARCODE, task.TASK_NO), true, LogLevelEnum.INFO.ToString());
 
                         //    throw new Exception(string.Format("目标工位[{0}]上一个箱子[{1}]存在未完成任务[{2}]", task.TASK_POSIDTO, task.TASK_BOXBARCODE, task.TASK_NO));
-                           
+
                         //}
                     });
                     if (!string.IsNullOrWhiteSpace(result))
                     {
                         throw new Exception(result);
                     }
-                    else 
+                    else
                     {
                         if (convNo == "1401" || convNo == "1416")
                         {
@@ -123,7 +125,7 @@ namespace WCS.Workflow
                     if (isTaskDelete)
                     {
                         if (cs.DB521_Tasknum > 0 && cs.DB523_Fault == false && cs.CvDB51_PH_Status == false
-                            //&& cs.DB521_Goodsend == Convert.ToInt32(convNo) 
+                            //&& cs.DB521_Goodsend == Convert.ToInt32(convNo)
                             && cs.DB521_Request)
                         {
                             var converywrite = new WCSWriteToConveyorSignal()
@@ -134,7 +136,7 @@ namespace WCS.Workflow
                                 WriteStartAddress = cs.EquDbInfo_ReadWrite.DBReadIndox,
                                 TaskDelete = true
                             };
-                       
+
                             WriteInfoToConv(cs, converywrite, true);
                         }
                     }
@@ -145,15 +147,18 @@ namespace WCS.Workflow
                 LogMessageHelper.RecordLogMessage(ex);
             }
         }
+
         private void Conv_ScanBarCodeExeTask()
         {
             Conv_ScanningRequest(Conv_1390, Current.Pvchouseputong, Conv_1418);
         }
+
         public string TranslationBarCode(string barCode)
         {
             var arr = barCode.Split('}');
             return arr[1];
         }
+
         protected virtual void Conv_ScanningRequest(string convPosFrom, string warehouseid, string exitNo = "")
         {
             try
@@ -161,7 +166,7 @@ namespace WCS.Workflow
                 var plc = Current.PlcSet.FirstOrDefault(v => v.PLC_NAME == PlcName);
                 var conveyor = plc.WCS_EquipmentInfoSet.FirstOrDefault(v => v.Equ_No == convPosFrom);
                 var cs = conveyor.EquSignal_Conv;
-               
+
                 if (!cs.DB521_Request) return;
                 if (cs.DB520_Confirm) return;
                 WCS_TASK task = QueryTaskByCode(cs, convPosFrom, exitNo);
@@ -195,6 +200,7 @@ namespace WCS.Workflow
                         if (task == null)
                         {
                             #region 重码异常口排出
+
                             string message = string.Format("条码[{0}]是重码。", cs.BarCodeStr);
                             LogMessageHelper.RecordLogMessage(message);
 
@@ -250,7 +256,8 @@ namespace WCS.Workflow
                             {
                                 throw new Exception(result);
                             }
-                            #endregion;
+
+                            #endregion 重码异常口排出
                         }
                     }
                 }
@@ -316,7 +323,7 @@ namespace WCS.Workflow
             }
         }
 
-        protected WCS_TASK QueryTaskByCode(ConvSignal cs, string convPosFrom,string exitNo)
+        protected WCS_TASK QueryTaskByCode(ConvSignal cs, string convPosFrom, string exitNo)
         {
             WCS_TASK task = null;
             if (cs.DB521_BCR_Noread)
@@ -359,7 +366,7 @@ namespace WCS.Workflow
                     {
                         task.TASK_NO = id;
                     }
-                    
+
                     var task_dtl = new WCS_TASK_DTL()
                     {
                         ID = Guid.NewGuid().ToString(),
@@ -393,7 +400,7 @@ namespace WCS.Workflow
 
             if (task == null)
             {
-                task = Current.TaskSet.FirstOrDefault(v => v.TASK_POSIDFROM == convPosFrom && v.TASK_POSIDCUR==convPosFrom && v.TASK_POSIDNEXT==convPosFrom && v.TASK_COMTYPE == (int)ComTypeEnum.托盘异常退回);
+                task = Current.TaskSet.FirstOrDefault(v => v.TASK_POSIDFROM == convPosFrom && v.TASK_POSIDCUR == convPosFrom && v.TASK_POSIDNEXT == convPosFrom && v.TASK_COMTYPE == (int)ComTypeEnum.托盘异常退回);
             }
 
             //if (task != null && task.TASK_COMTYPE == (int)ComTypeEnum.托盘异常退回 && task.TASK_WKSTATUS == 2)
@@ -410,6 +417,5 @@ namespace WCS.Workflow
 
             return task;
         }
-
     }
 }