using IWareCC.CacheInfo;
|
using IWareCC.ChaiDie.Entity;
|
using IWareCC.Conveyor.Entity;
|
using IWareCC.Extend;
|
using IWareCC.ORM;
|
using IWareCC.Properties;
|
using IWareCC.RGV.Entity;
|
using IWareCC.SRM.Entity;
|
using IWareCC.Task;
|
using IWareCommon.Help;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Runtime.Serialization;
|
using System.ServiceModel;
|
using System.Text;
|
|
namespace IWareCC.WCf.ControlCenterWcfService
|
{
|
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的类名“ControlCenterWcfService”。
|
public class ControlCenterWcfService : IControlCenterWcfService
|
{
|
private static readonly object obj = new object();
|
|
#region 获取堆垛机设备信息及下发堆垛机相关任务命令
|
/// <summary>
|
/// 获取堆垛机各个属性的值
|
/// </summary>
|
/// <param name="stackName">堆垛机名称</param>
|
/// <param name="msg">异常错误信息</param>
|
/// <returns>堆垛机各个属性的值</returns>
|
public SrmInfoEntity GetStackInfo(string stackName, out string msg)
|
{
|
try
|
{
|
msg = "";
|
var stacker = CacheEntity.Srms.FirstOrDefault(x => x.SrmName == stackName);
|
if (stacker != null)
|
{
|
return new SrmInfoEntity(stacker);
|
}
|
else
|
{
|
return null;
|
}
|
|
}
|
catch (Exception ex)
|
{
|
msg = ex.Message;
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "GetStackInfo", msg);
|
return null;
|
}
|
}
|
/// <summary>
|
/// 获取堆垛机
|
/// </summary>
|
/// <param name="msg"></param>
|
/// <returns></returns>
|
public List<SrmInfoEntity> GetStackInfos(out string msg)
|
{
|
try
|
{
|
msg = "";
|
var stackerInfos = new List<SrmInfoEntity>();
|
CacheEntity.Srms.ForEach(x => stackerInfos.Add(new SrmInfoEntity(x)));
|
return stackerInfos;
|
}
|
catch (Exception ex)
|
{
|
msg = ex.Message;
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "GetStackInfos", msg);
|
return null;
|
}
|
}
|
/// <summary>
|
/// 堆垛机人工任务
|
/// </summary>
|
/// <returns></returns>
|
public bool SendManualSrmTask(string stackName, string sourcePlace, string toPlace, int type, int taskno, int palltype, int heighttype)
|
{
|
|
try
|
{
|
string msg = "";
|
var stacker = CacheEntity.Srms.FirstOrDefault(x => x.SrmName == stackName);
|
bool bl = stacker.SendTask(stacker.DeviceId, taskno, sourcePlace, toPlace, type, palltype, heighttype, out msg);
|
if (!bl) //发送失败,再发一次
|
{
|
bl = stacker.SendTask(stacker.DeviceId, taskno, sourcePlace, toPlace, type, palltype, heighttype, out msg);
|
}
|
return bl;
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "SendManualSrmTask", ex.Message);
|
return false;
|
}
|
}
|
/// <summary>
|
/// 堆垛机移动任务
|
/// </summary>
|
/// <returns></returns>
|
public bool SendManualMoveSrmTask(string stackName, int taskNo, string sourcePlace, string toPlace)
|
{
|
try
|
{
|
string msg = "";
|
var stacker = CacheEntity.Srms.FirstOrDefault(x => x.SrmName == stackName);
|
bool bl = stacker.SendMove(stacker.DeviceId, taskNo, sourcePlace, toPlace, out msg);
|
if (!bl)//发送失败再发一次
|
{
|
bl = stacker.SendMove(stacker.DeviceId, taskNo, sourcePlace, toPlace, out msg);
|
}
|
return bl;
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "SendManualMoveSrmTask", ex.Message);
|
return false;
|
}
|
}
|
/// <summary>
|
/// 删除堆垛机任务
|
/// </summary>
|
/// <returns></returns>
|
public bool SendDeleteSrmTask(string stackName, int taskno)
|
{
|
try
|
{
|
string msg = "";
|
var stacker = CacheEntity.Srms.FirstOrDefault(x => x.SrmName == stackName);
|
return stacker.SendDelTask(stacker.DeviceId, taskno, out msg);
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "SendStopSrm", ex.Message);
|
return false;
|
}
|
}
|
/// <summary>
|
/// 堆垛机急停
|
/// </summary>
|
/// <returns></returns>
|
public bool SendStopSrm(string stackName)
|
{
|
|
try
|
{
|
|
var stacker = CacheEntity.Srms.FirstOrDefault(x => x.SrmName == stackName);
|
return stacker.WriteValue(stacker.OpcWriteItems.EmergencyStop, true);
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "SendStopSrm", ex.Message);
|
return false;
|
}
|
}
|
/// <summary>
|
/// 堆垛机解警
|
/// </summary>
|
/// <returns></returns>
|
public bool SendResolveSrmAlarm(string stackName)
|
{
|
try
|
{
|
|
var stacker = CacheEntity.Srms.FirstOrDefault(x => x.SrmName == stackName);
|
if (stacker.WriteValue(stacker.OpcWriteItems.CancleAlarm, true))
|
{
|
stacker.WriteValue(stacker.OpcWriteItems.EmergencyStop, false);
|
}
|
return stacker.WriteValue(stacker.OpcWriteItems.CancleAlarm, false);
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "SendResolveSrmAlarm", ex.Message);
|
return false;
|
}
|
|
}
|
/// <summary>
|
/// 任务完成确认
|
/// </summary>
|
/// <returns></returns>
|
public bool ConfirmSrmTaskFinish(string stackName)
|
{
|
|
try
|
{
|
var stacker = CacheEntity.Srms.FirstOrDefault(x => x.SrmName == stackName);
|
return stacker.WriteValue(stacker.OpcWriteItems.TaskFinishConfirm, true);
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "ConfirmSrmTaskFinish", ex.Message);
|
return false;
|
}
|
}
|
|
/// <summary>
|
/// 任务完成确认
|
/// </summary>
|
/// <returns></returns>
|
public bool ConfirmSrmACK(string stackName)
|
{
|
|
try
|
{
|
var stacker = CacheEntity.Srms.FirstOrDefault(x => x.SrmName == stackName);
|
return stacker.WriteValue(stacker.OpcWriteItems.Stb, false);
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "ConfirmSrmTaskFinish", ex.Message);
|
return false;
|
}
|
}
|
#endregion
|
|
#region 获取RGV设备信息及下发RGV相关任务命令
|
/// <summary>
|
/// 获取RGV各个属性的值
|
/// </summary>
|
/// <param name="stackName">RGV名称</param>
|
/// <param name="msg">异常错误信息</param>
|
/// <returns>RGV各个属性的值</returns>
|
public RgvInfoEntity GetRGVInfo(string rgvName, out string msg)
|
{
|
try
|
{
|
msg = "";
|
var rgv = CacheEntity.Rgvs.FirstOrDefault(x => x.RgvName == rgvName);
|
if (rgv != null)
|
{
|
return new RgvInfoEntity(rgv);
|
}
|
else
|
{
|
return null;
|
}
|
|
}
|
catch (Exception ex)
|
{
|
msg = ex.Message;
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "GetRGVInfo", msg);
|
return null;
|
}
|
}
|
/// <summary>
|
/// 获取RGV
|
/// </summary>
|
/// <param name="msg"></param>
|
/// <returns></returns>
|
public List<RgvInfoEntity> GetRGVInfos(out string msg)
|
{
|
try
|
{
|
msg = "";
|
var rgvInfos = new List<RgvInfoEntity>();
|
CacheEntity.Rgvs.ForEach(x => rgvInfos.Add(new RgvInfoEntity(x)));
|
return rgvInfos;
|
}
|
catch (Exception ex)
|
{
|
msg = ex.Message;
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "GetRGVInfos", msg);
|
return null;
|
}
|
}
|
/// <summary>
|
/// 发送RGV任务
|
/// </summary>
|
/// <param name="rgvno"></param>
|
/// <param name="taskId"></param>
|
/// <param name="sourcePlce"></param>
|
/// <param name="toPlace"></param>
|
/// <param name="taskType"></param>
|
/// <returns></returns>
|
public bool SendRGVTask(string rgvno, int taskId, string sourcePlce, string toPlace, int pallType)
|
{
|
try
|
{
|
string msg = "";
|
var rgv = CacheEntity.Rgvs.FirstOrDefault(x => x.RgvName == rgvno);
|
return rgv.SendTask(rgv.DeviceId, taskId, sourcePlce, toPlace, pallType, out msg);
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "SendRGVTask", ex.Message);
|
return false;
|
}
|
|
}
|
/// <summary>
|
/// 删除RGV任务
|
/// </summary>
|
/// <param name="rgvno"></param>
|
/// <param name="taskId"></param>
|
/// <returns></returns>
|
public bool SendDeleteRGVTask(string rgvno, int taskId)
|
{
|
|
try
|
{
|
string msg = "";
|
var rgv = CacheEntity.Rgvs.FirstOrDefault(x => x.RgvName == rgvno);
|
return rgv.DeleteTask(rgv.DeviceId, taskId, out msg);
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "SendDeleteRGVTask", ex.Message);
|
return false;
|
}
|
|
}
|
|
/// <summary>
|
/// RGV急停
|
/// </summary>
|
/// <param name="rgvno"></param>
|
/// <returns></returns>
|
public bool SendStopRGV(string rgvno)
|
{
|
|
try
|
{
|
string msg = "";
|
var rgv = CacheEntity.Rgvs.FirstOrDefault(x => x.RgvName == rgvno);
|
return rgv.EmergencyStop(rgv.DeviceId, out msg);
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "SendStopRGV", ex.Message);
|
return false;
|
}
|
}
|
/// <summary>
|
/// RGV复位
|
/// </summary>
|
/// <param name="rgvno"></param>
|
/// <returns></returns>
|
public bool SendResolveRGVAlarm(string rgvno)
|
{
|
try
|
{
|
|
string msg = "";
|
var rgv = CacheEntity.Rgvs.FirstOrDefault(x => x.RgvName == rgvno);
|
return rgv.ResolveRGV(rgv.DeviceId, out msg);
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "SendResolveRGVAlarm", ex.Message);
|
return false;
|
}
|
|
}
|
/// <summary>
|
/// 任务完成确认
|
/// </summary>
|
/// <param name="rgvno"></param>
|
/// <returns></returns>
|
public bool ConfirmRGVTaskFinish(string rgvno)
|
{
|
try
|
{
|
var rgv = CacheEntity.Rgvs.FirstOrDefault(x => x.RgvName == rgvno);
|
return rgv.WriteValue(rgv.OpcWriteItems.AckTaskFinish, 1);
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "ConfirmRGVTaskFinish", ex.Message);
|
return false;
|
}
|
}
|
|
/// <summary>
|
/// 任务完成确认
|
/// </summary>
|
/// <param name="rgvno"></param>
|
/// <returns></returns>
|
public bool ConfirmRGVStp(string rgvno)
|
{
|
try
|
{
|
var rgv = CacheEntity.Rgvs.FirstOrDefault(x => x.RgvName == rgvno);
|
return rgv.WriteValue(rgv.OpcWriteItems.Stb, 0);
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "ConfirmRGVTaskFinish", ex.Message);
|
return false;
|
}
|
}
|
|
#endregion
|
|
#region 获取拆叠机设备信息及下发拆叠机相关任务命令
|
/// <summary>
|
/// 获取拆叠机各个属性的值
|
/// </summary>
|
/// <param name="stackName">拆叠机名称</param>
|
/// <param name="msg">异常错误信息</param>
|
/// <returns>拆叠机各个属性的值</returns>
|
public ChaiDieInfoEntity GetChaiDieInfo(string cdName, out string msg)
|
{
|
try
|
{
|
msg = "";
|
var cd = CacheEntity.ChaiDies.FirstOrDefault(x => x.ChaiDieName == cdName);
|
if (cd != null)
|
{
|
return new ChaiDieInfoEntity(cd);
|
}
|
else
|
{
|
return null;
|
}
|
|
}
|
catch (Exception ex)
|
{
|
msg = ex.Message;
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "GetChaiDieInfo", msg);
|
return null;
|
}
|
}
|
/// <summary>
|
/// 获取拆叠机
|
/// </summary>
|
/// <param name="msg"></param>
|
/// <returns></returns>
|
public List<ChaiDieInfoEntity> GetChaiDieInfos(out string msg)
|
{
|
try
|
{
|
msg = "";
|
var cdInfos = new List<ChaiDieInfoEntity>();
|
CacheEntity.ChaiDies.ForEach(x => cdInfos.Add(new ChaiDieInfoEntity(x)));
|
return cdInfos;
|
}
|
catch (Exception ex)
|
{
|
msg = ex.Message;
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "GetChaiDieInfos", msg);
|
return null;
|
}
|
}
|
/// <summary>
|
/// 发送拆叠机任务
|
/// </summary>
|
/// <param name="cdno"></param>
|
/// <param name="taskId"></param>
|
/// <param name="taskType"></param>
|
/// <returns></returns>
|
public bool SendChaiDieTask(string cdno)
|
{
|
try
|
{
|
string msg = "";
|
var cd = CacheEntity.ChaiDies.FirstOrDefault(x => x.ChaiDieName == cdno);
|
return cd.SendTask(cd.DeviceId, out msg);
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "SendChaiDieTask", ex.Message);
|
return false;
|
}
|
|
}
|
|
|
|
/// <summary>
|
/// 任务完成确认
|
/// </summary>
|
/// <param name="cdno"></param>
|
/// <returns></returns>
|
public bool ConfirmChaiDieStp(string cdno)
|
{
|
try
|
{
|
var cd = CacheEntity.ChaiDies.FirstOrDefault(x => x.ChaiDieName == cdno);
|
return cd.WriteValue(cd.OpcWriteItems.STP, 0);
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "ConfirmChaiDieTaskFinish", ex.Message);
|
return false;
|
}
|
}
|
|
#endregion
|
|
#region 获取输送线设备信息及下发输送线相关任务命令
|
/// <summary>
|
/// 获取输送线各个属性的值
|
/// </summary>
|
/// <param name="stackName">输送线名称</param>
|
/// <param name="msg">异常错误信息</param>
|
/// <returns>输送线各个属性的值</returns>
|
public ConveyorInfoEntity GetConveyorInfo(string cyName, out string msg)
|
{
|
try
|
{
|
msg = "";
|
var cy = CacheEntity.Conveyors.FirstOrDefault(x => x.ConveyorName == cyName);
|
if (cy != null)
|
{
|
return new ConveyorInfoEntity(cy);
|
}
|
else
|
{
|
return null;
|
}
|
|
}
|
catch (Exception ex)
|
{
|
msg = ex.Message;
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "GetConveyorInfo", msg);
|
return null;
|
}
|
}
|
/// <summary>
|
/// 获取输送线
|
/// </summary>
|
/// <param name="msg"></param>
|
/// <returns></returns>
|
public List<ConveyorInfoEntity> GetConveyorInfos(out string msg)
|
{
|
try
|
{
|
msg = "";
|
var cyInfos = new List<ConveyorInfoEntity>();
|
CacheEntity.Conveyors.ForEach(x => cyInfos.Add(new ConveyorInfoEntity(x)));
|
return cyInfos;
|
}
|
catch (Exception ex)
|
{
|
msg = ex.Message;
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "GetConveyorInfos", msg);
|
return null;
|
}
|
}
|
/// <summary>
|
/// 发送输送线任务
|
/// </summary>
|
/// <param name="cyno"></param>
|
/// <param name="deviceId"></param>
|
/// <param name="taskId"></param>
|
/// <param name="sourcePlce"></param>
|
/// <param name="toPlace"></param>
|
/// <returns></returns>
|
public bool SendConveyorTask(string cyno, int deviceId, int taskId, string toPlace, int palltype)
|
{
|
try
|
{
|
string msg = "";
|
var cy = CacheEntity.Conveyors.FirstOrDefault(x => x.ConveyorName == cyno);
|
bool b1 = cy.SendTask(cy.DeviceId, taskId, toPlace, palltype, out msg);
|
if (b1)
|
{
|
b1 = cy.WriteValue(cy.OpcWriteItems.STP, 1);
|
}
|
return b1;
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "SendConveyorTask", ex.Message);
|
return false;
|
}
|
}
|
/// <summary>
|
/// 任务完成确认
|
/// </summary>
|
/// <param name="cdno"></param>
|
/// <returns></returns>
|
public bool ConfirmConveyorStp(string cdno)
|
{
|
try
|
{
|
var cy = CacheEntity.Conveyors.FirstOrDefault(x => x.ConveyorName == cdno);
|
return cy.WriteValue(cy.OpcWriteItems.STP, 0);
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "ConfirmChaiDieTaskFinish", ex.Message);
|
return false;
|
}
|
}
|
#endregion
|
|
#region 下发任务相关命令
|
/// <summary>
|
/// 发送主任务
|
/// </summary>
|
/// <param name="taskId">任务号</param>
|
/// <param name="sourcePlce">起始位置</param>
|
/// <param name="toPlace">目标位置</param>
|
/// <param name="taskType">任务类型</param>
|
/// <param name="containerType">托盘类型</param>
|
/// <param name="deliveryType">出库类型</param>
|
/// <returns></returns>
|
public bool SendTask(int taskId, string sourcePlce, string toPlace, int taskType, int containerType, int storageno, int height, string containerName, int wmsTaskId)
|
{
|
string errMsg = "";
|
return CommonSendTask(taskId, sourcePlce, toPlace, taskType, containerType, storageno, height, containerName, ref errMsg, wmsTaskId);
|
}
|
/// <summary>
|
/// 发送主任务-带返回消息 【EditBy shaocx,2022-07-19】
|
/// </summary>
|
/// <param name="taskId">任务号</param>
|
/// <param name="sourcePlce">起始位置</param>
|
/// <param name="toPlace">目标位置</param>
|
/// <param name="taskType">任务类型</param>
|
/// <param name="containerType">托盘类型</param>
|
/// <param name="deliveryType">出库类型</param>
|
/// <returns></returns>
|
public FunModel SendTaskWithMsg(int taskId, string sourcePlce, string toPlace, int taskType, int containerType, int storageno, int height, string containerName, int wmsTaskId)
|
{
|
try
|
{
|
string errMsg = "";
|
bool result = CommonSendTask(taskId, sourcePlce, toPlace, taskType, containerType, storageno, height, containerName, ref errMsg, wmsTaskId);
|
FunModel f = new FunModel()
|
{
|
errMsg = errMsg,
|
result = result
|
};
|
return f;
|
}
|
catch (Exception ex)
|
{
|
FunModel f = new FunModel()
|
{
|
errMsg = "方法发生异常:" + ex.Message,
|
result = false
|
};
|
return f;
|
}
|
}
|
|
/// <summary>
|
/// 下发任务,公共方法 【EditBy shaocx,2022-07-19】
|
/// </summary>
|
/// <param name="taskId"></param>
|
/// <param name="sourcePlce"></param>
|
/// <param name="toPlace"></param>
|
/// <param name="taskType"></param>
|
/// <param name="containerType"></param>
|
/// <param name="storageno"></param>
|
/// <param name="height"></param>
|
/// <param name="containerName"></param>
|
/// <returns></returns>
|
private bool CommonSendTask(int taskId, string sourcePlce, string toPlace, int taskType, int containerType, int storageno, int height, string containerName, ref string errMsg, int wmsTaskId)
|
{
|
lock (obj)
|
{
|
try
|
{
|
LogTextHelper.WriteLog("C:/CCSLog/SendTask", this.ToString(), "SendTask", "传入参数 TaskID:" + taskId + " SourcePlace:" + sourcePlce + " ToPlace:" + toPlace + " TaskType:" + taskType + " ContainerType:" + containerType + " StorageNo:" + storageno + " Height:" + height + " ContainerName:" + containerName);
|
if (taskId <= 0)
|
{
|
errMsg = "任务号小于等于0";
|
LogTextHelper.WriteLog("C:/CCSLog/SendTask", this.ToString(), "SendTask", "Taskid小于等于0");
|
return false;
|
|
}
|
if (string.IsNullOrEmpty(sourcePlce))
|
{
|
errMsg = "来源位置为空";
|
LogTextHelper.WriteLog("C:/CCSLog/SendTask", this.ToString(), "SendTask", "sourcePlce为空");
|
return false;
|
}
|
|
return TaskService.GetInstance().CreateMainTask(taskId, sourcePlce, toPlace, taskType, containerType, storageno, height, containerName, ref errMsg, wmsTaskId);
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog("C:/CCSLog/SendTask", this.ToString(), "SendTask", "抛出异常:Message:" + ex.Message);
|
errMsg = "出现异常:" + ex.Message;
|
return false;
|
}
|
}
|
|
}
|
|
|
/// <summary>
|
/// 查验任务是否完成
|
/// </summary>
|
/// <param name="taskId">PLC任务号</param>
|
/// <param name="wmsTaskId">Wms任务ID</param>
|
/// <returns></returns>
|
public int GetTaskIsFinishOrCheckOk(int taskId, int wmsTaskId)
|
{
|
try
|
{
|
return TaskService.GetInstance().GetTaskIsFinishOrCheckOk(taskId, wmsTaskId);
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "GetTaskIsFinishOrCheckOk", ex.Message);
|
return 0;
|
}
|
}
|
/// <summary>
|
/// 是否有要出空盘或空盘入库
|
/// </summary>
|
/// <param name="taskId"></param>
|
/// <returns></returns>
|
public BackData GetCheckIsNeedOrSendContainer()
|
{
|
try
|
{
|
return TaskService.GetInstance().GetCheckIsNeedOrSendcontainer();
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "GetCheckIsNeedOrSendContainer", ex.Message);
|
return null;
|
}
|
|
}
|
/// <summary>
|
/// 按托盘号删除所有的任务
|
/// </summary>
|
/// <param name="containerName"></param>
|
/// <returns></returns>
|
public bool DealAllTask(string containerName)
|
{
|
try
|
{
|
return TaskService.GetInstance().DealAllPartTask(containerName);
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "DealAllTask", ex.Message);
|
return false;
|
}
|
}
|
#endregion
|
|
#region 任务处理相关
|
/// <summary>
|
/// 处理任务
|
/// </summary>
|
/// <param name="taskId">要处理的子任务号</param>
|
/// <param name="type">处理类型(1:强制完成;2:删除任务)</param>
|
/// <returns></returns>
|
public bool DealTask(int taskId, int type)
|
{
|
try
|
{
|
return TaskService.GetInstance().DealPartTask(taskId, type);
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "DealTask", ex.Message);
|
return false;
|
}
|
}
|
public List<PartTask> GetPartTask(int pagesize, int pagecount, out int totalNum, Dictionary<string, string> parm)
|
{
|
try
|
{
|
return TaskService.GetInstance().GetPartTask(pagesize, pagecount, out totalNum, parm);
|
}
|
catch (Exception ex)
|
{
|
totalNum = 0;
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "GetPartTask", ex.Message);
|
return new List<PartTask>();
|
}
|
}
|
|
public List<DevAlert> GetDevAlert(int pagesize, int pagecount, out int totalNum, Dictionary<string, string> parm)
|
{
|
try
|
{
|
return TaskService.GetInstance().GetDevAlert(pagesize, pagecount, out totalNum, parm);
|
}
|
catch (Exception ex)
|
{
|
totalNum = 0;
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "GetDevAlert", ex.Message);
|
return new List<DevAlert>();
|
}
|
}
|
|
public bool SetMainTaskPriority(string taskno, int priority,int wmsTaskId)
|
{
|
try
|
{
|
return TaskService.GetInstance().SetMainTaskPriority(taskno, priority, wmsTaskId);
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "SetMainTaskPriority", ex.Message);
|
return false;
|
}
|
}
|
|
public bool SetPartTaskPriority(string taskcode, int priority)
|
{
|
try
|
{
|
return TaskService.GetInstance().SetPartTaskPriority(taskcode, priority);
|
}
|
catch (Exception ex)
|
{
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "SetPartTaskPriority", ex.Message);
|
return false;
|
}
|
}
|
|
#endregion
|
}
|
}
|