添加项目文件。
This commit is contained in:
192
Epost.DAL/Cache/JobModelCacheDAL.cs
Normal file
192
Epost.DAL/Cache/JobModelCacheDAL.cs
Normal file
@ -0,0 +1,192 @@
|
||||
using Epost.Common;
|
||||
using Epost.Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Epost.DAL.Cache
|
||||
{
|
||||
public class JobModelCacheDAL
|
||||
{
|
||||
private static object lockobj = new object();
|
||||
public static List<JobModel> PlanJobList = new List<JobModel>();//计划点亮任务列表
|
||||
public static List<JobModel> ExecuteJobList = new List<JobModel>();//作业中任务列表
|
||||
|
||||
#region 获取计划任务列表
|
||||
public List<JobModel> GetPlanJobList()
|
||||
{
|
||||
|
||||
//LogHelper.WriteLogInfo("pppppppppppppppppppppp开始ppppppppppppppppppppppp" + PlanJobList.Count);
|
||||
//if (PlanJobList != null && PlanJobList.Count > 0)
|
||||
//{
|
||||
// foreach (var item in PlanJobList)
|
||||
// {
|
||||
// LogHelper.WriteLogInfo("HHHHHHHHHH" + item.OrderID + "HHHHHHHH" + item.Address + "HHHHHHHHHHH" + item.TaskArea + "HHHHHHHHHHHH" + item.State + "HHHHHHHHHHHH" + item.Block + "HHHHHH"+item.BatchId);
|
||||
// }
|
||||
//}
|
||||
//LogHelper.WriteLogInfo("pppppppppppppppppppppp结束ppppppppppppppppppppppp" + PlanJobList.Count);
|
||||
|
||||
//读取数据库 处理异常断电等情况------待开发
|
||||
return PlanJobList;
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 获取作业中任务列表
|
||||
public List<JobModel> GetExecuteJobList()
|
||||
{
|
||||
//List<JobListModel> jobModel = (List<JobListModel>)CacheHelper.Get("jobList");
|
||||
|
||||
//读取数据库 处理异常断电等情况------待开发
|
||||
return ExecuteJobList;
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 初始化任务列表
|
||||
public void ClearJobList()
|
||||
{
|
||||
foreach (var planitem in PlanJobList.ToArray())
|
||||
{
|
||||
PlanJobList.Remove(planitem);
|
||||
}
|
||||
|
||||
|
||||
|
||||
foreach (var excItem in ExecuteJobList.ToArray())
|
||||
{
|
||||
ExecuteJobList.Remove(excItem);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
//#region 取消订单
|
||||
//public void CancelJob(string orderid)
|
||||
//{
|
||||
|
||||
// List<JobListModel> PlanJobDel = PlanJobList.FindAll(m => m.OrderID == orderid);
|
||||
|
||||
// foreach (var planitem in PlanJobDel)
|
||||
// {
|
||||
// PlanJobList.Remove(planitem);
|
||||
// }
|
||||
|
||||
// List<JobListModel> ExecuteJobDel = ExecuteJobList.FindAll(m => m.OrderID == orderid);
|
||||
|
||||
// foreach (var excItem in ExecuteJobDel)
|
||||
// {
|
||||
// ExecuteJobList.Remove(excItem);
|
||||
// }
|
||||
|
||||
//}
|
||||
//#endregion
|
||||
|
||||
#region Job缓存处理方法
|
||||
/// <summary>
|
||||
/// Job缓存处理方法
|
||||
/// </summary>
|
||||
/// <param name="JobParam"></param>
|
||||
/// <param name="CommendType"></param>
|
||||
/// <returns></returns>
|
||||
public bool UpdateJobModelList(List<JobModel> JobParam, EcommendType CommendType)
|
||||
{
|
||||
|
||||
lock (lockobj)
|
||||
{
|
||||
|
||||
if (CommendType.Equals(EcommendType.Create))
|
||||
{
|
||||
PlanJobList.AddRange(JobParam);
|
||||
}
|
||||
else if (CommendType.Equals(EcommendType.UpdateStartWork))
|
||||
{
|
||||
// PlanJobList.FirstOrDefault().State = 1;
|
||||
}
|
||||
else if (CommendType.Equals(EcommendType.UpdateOnWork))
|
||||
{
|
||||
// PlanJobList.FirstOrDefault().State = 2;
|
||||
}
|
||||
else if (CommendType.Equals(EcommendType.Execute))
|
||||
{
|
||||
JobParam.ForEach(m => PlanJobList.Remove(m));//删除计划任务
|
||||
}
|
||||
else if (CommendType.Equals(EcommendType.UpdateTaskBlock))
|
||||
{
|
||||
JobParam.ForEach(m => ExecuteJobList.Remove(m));
|
||||
}
|
||||
else if (CommendType.Equals(EcommendType.CompleteDetail))
|
||||
{
|
||||
// ExecuteJobList.ForEach(m => m.detail.Remove(JobParam.FirstOrDefault().detail[0]));//从点亮灯任务列表中删除
|
||||
//todo 去修改orders 数据表的订单状态和明细状态
|
||||
}
|
||||
else if (CommendType.Equals(EcommendType.Complete))
|
||||
{
|
||||
//删除作业任务 已完成
|
||||
//foreach (var planitem in PlanJobList.ToArray())
|
||||
//{
|
||||
// PlanJobList.Remove(planitem);
|
||||
//}
|
||||
List<JobModel> list = PlanJobList.FindAll(p => p.Block == JobParam.FirstOrDefault().Block);
|
||||
foreach (JobModel item in list)
|
||||
{
|
||||
PlanJobList.Remove(item);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
public enum EcommendType
|
||||
{
|
||||
/// <summary>
|
||||
/// API接受任务
|
||||
/// </summary>
|
||||
[Description("API接受任务")]
|
||||
Create,
|
||||
|
||||
/// <summary>
|
||||
/// 修改状态
|
||||
/// </summary>
|
||||
[Description("作业开始")]
|
||||
UpdateStartWork,
|
||||
/// <summary>
|
||||
/// 修改状态
|
||||
/// </summary>
|
||||
[Description("作业进行中")]
|
||||
UpdateOnWork,
|
||||
/// <summary>
|
||||
/// 点亮灯操作
|
||||
/// </summary>
|
||||
[Description("作业中")]
|
||||
Execute,
|
||||
/// <summary>
|
||||
/// 作业完成
|
||||
/// </summary>
|
||||
[Description("作业明细完成")]
|
||||
CompleteDetail,
|
||||
/// <summary>
|
||||
/// 作业完成
|
||||
/// </summary>
|
||||
[Description("作业区域修改")]
|
||||
UpdateTaskBlock,
|
||||
/// <summary>
|
||||
/// 作业完成
|
||||
/// </summary>
|
||||
[Description("作业完成")]
|
||||
Complete
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user