using IWareCC.ChaiDie.Entity;
using IWareCC.Conveyor.Entity;
using IWareCC.Extend;
using IWareCC.ORM;
using IWareCC.RGV.Entity;
using IWareCC.SRM.Entity;
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
{
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IControlCenterWcfService”。
[ServiceContract]
public interface IControlCenterWcfService
{
#region 堆垛机
/// 获取堆垛机各个属性的值
///
/// 堆垛机名称
/// 异常错误信息
/// 堆垛机各个属性的值
[OperationContract]
SrmInfoEntity GetStackInfo(string stackName, out string msg);
///
/// 获取堆垛机信息
///
///
///
[OperationContract]
List GetStackInfos(out string msg);
///
/// 人工任务
///
///
///
///
///
///
///
[OperationContract]
bool SendManualSrmTask(string stackName, string sourcePlace, string toPlace, int type, int taskno, int palltype, int heighttype);
///
/// 人工移动任务
///
///
///
///
///
///
[OperationContract]
bool SendManualMoveSrmTask(string stackName, int taskNo, string sourcePlace, string toPlace);
///
/// 删除任务
///
///
///
///
[OperationContract]
bool SendDeleteSrmTask(string stackName, int taskno);
///
/// 急停
///
///
///
[OperationContract]
bool SendStopSrm(string stackName);
///
/// 消除报警
///
///
///
[OperationContract]
bool SendResolveSrmAlarm(string stackName);
///
/// 确认任务完成
///
///
///
[OperationContract]
bool ConfirmSrmTaskFinish(string stackName);
///
/// 确认任务接收到
///
///
///
[OperationContract]
bool ConfirmSrmACK(string stackName);
#endregion
#region RGV
/// 获取RGV各个属性的值
///
/// RGV名称
/// 异常错误信息
/// RGV各个属性的值
[OperationContract]
RgvInfoEntity GetRGVInfo(string rgvName, out string msg);
///
/// 获取RGV信息
///
///
///
[OperationContract]
List GetRGVInfos(out string msg);
///
/// 发送RGV任务
///
///
///
///
///
///
///
[OperationContract]
bool SendRGVTask(string rgvno, int taskId, string sourcePlce, string toPlace, int pallType);
///
/// 删除RGV任务
///
///
///
///
[OperationContract]
bool SendDeleteRGVTask(string rgvno, int taskId);
///
/// 急停
///
///
///
[OperationContract]
bool SendStopRGV(string rgvno);
///
/// 取消报警
///
///
///
[OperationContract]
bool SendResolveRGVAlarm(string rgvno);
///
/// 任务完成确认
///
///
///
[OperationContract]
bool ConfirmRGVTaskFinish(string rgvno);
///
/// 任务下发成功确认
///
///
///
[OperationContract]
bool ConfirmRGVStp(string rgvno);
#endregion
#region 拆叠机
/// 获取拆叠机各个属性的值
///
/// 拆叠机名称
/// 异常错误信息
/// 拆叠机各个属性的值
[OperationContract]
ChaiDieInfoEntity GetChaiDieInfo(string cdName, out string msg);
///
/// 获取拆叠机信息
///
///
///
[OperationContract]
List GetChaiDieInfos(out string msg);
///
/// 发送拆叠机任务
///
///
///
///
///
[OperationContract]
bool SendChaiDieTask(string cdno);
///
/// 任务完成确认
///
///
///
[OperationContract]
bool ConfirmChaiDieStp(string cdno);
#endregion
#region 输送线
/// 获取输送线各个属性的值
///
/// 输送线名称
/// 异常错误信息
/// 输送线各个属性的值
[OperationContract]
ConveyorInfoEntity GetConveyorInfo(string cyName, out string msg);
///
/// 获取输送线信息
///
///
///
[OperationContract]
List GetConveyorInfos(out string msg);
///
/// 发送输送线任务
///
///
///
///
///
///
///
[OperationContract]
bool SendConveyorTask(string cyno, int deviceId, int taskId, string toPlace, int palltype);
///
/// 确认任务完成
///
///
///
[OperationContract]
bool ConfirmConveyorStp(string cdno);
#endregion
#region 任务相关
[OperationContract]
bool SendTask(int taskId, string sourcePlce, string toPlace, int taskType, int containerType, int storageno, int height, string containerName, int wmsTaskId);
///
/// 发送主任务-带返回消息 【EditBy shaocx,2022-07-19】
///
/// 任务号
/// 起始位置
/// 目标位置
/// 任务类型
/// 托盘类型
/// 出库类型
///
[OperationContract]
FunModel SendTaskWithMsg(int taskId, string sourcePlce, string toPlace, int taskType, int containerType, int storageno, int height, string containerName, int wmsTaskId);
[OperationContract]
int GetTaskIsFinishOrCheckOk(int taskId, int wmsTaskId);
[OperationContract]
BackData GetCheckIsNeedOrSendContainer();
[OperationContract]
bool DealAllTask(string containerName);
#endregion
#region 任务处理相关
[OperationContract]
bool DealTask(int taskId, int type);
[OperationContract]
List GetPartTask(int pagesize, int pagecount, out int totalNum, Dictionary parm);
[OperationContract]
List GetDevAlert(int pagesize, int pagecount, out int totalNum, Dictionary parm);
///
/// 设置主任务权重
///
///
///
///
[OperationContract]
bool SetMainTaskPriority(string taskno, int priority, int wmsTaskId);
///
/// 设置子任务权重
///
///
///
///
[OperationContract]
bool SetPartTaskPriority(string taskcode, int priority);
#endregion
}
}