Files
T-DAS/Epost.BLL/Work_JobDownThread.cs
2024-11-22 15:31:46 +08:00

110 lines
2.8 KiB
C#

using Epost.Common;
using Epost.DAL.Cache;
using Epost.DAL.Enum;
using Epost.Model;
using Epost.Model.resource;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace Epost.BLL
{
public class Work_JobDownThread
{
public string tblock, id;
public bool OrisShow = false;
JobDownCacheDAL downCacheDAL = new JobDownCacheDAL();
private static object lockJobDown = new object();
private static object showmes = new object();
WorkIngCacheDAL workbll = new WorkIngCacheDAL();
public void Work()
{
BackWorkList(tblock);
}
#region
private void BackWorkList(object block)
{
string cm = "";
cm = "lockJobDown" + block;
object c = (Object)cm;
lock (c)
{
while (OrisShow)
{
try
{
string workstate = workbll.GetWorkState();
if (!string.IsNullOrEmpty(workstate))
{
OrisShow = true;
Job_Down();
Thread.Sleep(100);
}
else
{
OrisShow = false;
}
}
catch (Exception ex)
{
LogHelper.WriteLogInfo(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":程序异常!\r\n" + ex.Message);
}
}
}
}
#endregion
#region
public void Job_Down()
{
try
{
List<ResultMessageModel> downList = downCacheDAL.GetPlanJobDownList().FindAll(m => m.Status == "0" && m.Command == "JOB_DONE");
if (downList != null && downList.Count > 0)
{
foreach (ResultMessageModel data in downList.ToArray())
{
if (data.Status == "start")
{
}
else if (data.Status == "outbin") { }
else if (data.Status == "end") {
//更新任务已完成
}
else if (data.Status == "cancel") { }
else { }
}
}
}
catch (Exception ex)
{
LogHelper.WriteLogInfo("任务状态更新异常:" + ex.Message);
}
}
#endregion
}
}