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