212 lines
5.7 KiB
C#
212 lines
5.7 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Runtime.Serialization;
|
||
using System.ServiceModel;
|
||
using System.Text;
|
||
using DeiNiu.Utils;
|
||
|
||
namespace DeiNiu.wms.win
|
||
{
|
||
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的类名“ServiceLight”。
|
||
|
||
public delegate bool turnOnLights(int portNo, List<ELight> lights);
|
||
public delegate bool turnOffLights(int portNo, List<ELight> lights);
|
||
|
||
public delegate bool lightLable(List<ELabel> lables);
|
||
public delegate bool turnOffLable(List<ELabel> lables);
|
||
public delegate bool resetLights(int port);
|
||
|
||
|
||
public delegate Cart getCarIp(string carNo);
|
||
public delegate void clearLablesByPortOrder(int port,int order);
|
||
public delegate void logMsg(string msg);
|
||
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
|
||
public class ServiceLight : IServiceLight
|
||
{
|
||
|
||
public turnOffLights turnOffLts = null;
|
||
public turnOnLights turnOnLts = null;
|
||
public turnOffLable turnOffLb = null;
|
||
|
||
public string turnOnLightById(int lightId)
|
||
{
|
||
return turnOnLight(lightId,0,0);
|
||
|
||
}
|
||
public string turnOffLightById(int lightId)
|
||
{
|
||
return turnOffLight(lightId,0, 0);
|
||
}
|
||
public string turnOnLight (int lightId, byte which, int portNo)
|
||
{
|
||
|
||
List<ELight> els = new List<ELight>();
|
||
ELight el = new ELight();
|
||
el.port =portNo;
|
||
el.which = which;
|
||
el.lightId=lightId;
|
||
els.Add(el);
|
||
bool rt = true;
|
||
if (turnOnLts != null)
|
||
{
|
||
rt= turnOnLts(portNo,els);
|
||
|
||
}
|
||
if (rt)
|
||
return "亮灯请求成功";
|
||
else
|
||
return "亮灯失败";
|
||
|
||
}
|
||
|
||
public string turnOffLight(int lightId, byte which, int portNo)
|
||
{
|
||
List<ELight> els = new List<ELight>();
|
||
ELight el = new ELight();
|
||
el.port = portNo;
|
||
el.which = which;
|
||
el.lightId = lightId;
|
||
els.Add(el);
|
||
|
||
bool rt = true;
|
||
if (turnOffLts != null)
|
||
{
|
||
rt = turnOffLts(portNo, els);
|
||
|
||
}
|
||
|
||
if (rt)
|
||
return "灭灯成功";
|
||
else
|
||
return "灭灯失败";
|
||
|
||
}
|
||
public clearLablesByPortOrder clearLablesByPortOrder = null;
|
||
public void clearLables(int port, int order)
|
||
{
|
||
if (clearLablesByPortOrder != null)
|
||
{
|
||
clearLablesByPortOrder(port, order);
|
||
}
|
||
}
|
||
public void showLableId(int port)
|
||
{
|
||
|
||
}
|
||
//点亮标签
|
||
public lightLable lightUp = null;
|
||
public string lightLabels(List<ELabel> labels)
|
||
{
|
||
//labelPool.Concat(labels);
|
||
if (null != lightUp)
|
||
{
|
||
if( lightUp(labels))
|
||
return "succeed";
|
||
}
|
||
|
||
return "failed";
|
||
}
|
||
public resetLights resetPort = null;
|
||
public string resetLabels(int port)
|
||
{
|
||
if (null != resetPort)
|
||
{
|
||
if (resetPort(port))
|
||
{
|
||
return "success";
|
||
}
|
||
}
|
||
return "failed";
|
||
}
|
||
public ELabel testPost(ELabel label)
|
||
{
|
||
// string json = getJson(label);
|
||
// Console.Write("get the lable: " + json );
|
||
|
||
return label;// "succeed";
|
||
}
|
||
public string getJson(ELabel label)
|
||
{
|
||
// string json = String.Format("\"labelId\":{0},\"address\":{1},\"count\":{2},\"color\":{3},\"port\":{4},\"orderNo\":{5}"
|
||
// , label.labelId, label.address, label.count, label.color, label.port, label.orderNo);
|
||
// string json = String.Format("\"labelId\":{0},\"num1\":{1},\"num2\":{2},\"color\":{3},\"orderNo\":{4}"
|
||
// , label.labelId, label.num1, label.num2, label.color, label.orderNo);
|
||
// Console.Write("get the lable: " + json);
|
||
// Console.Write("get the lable: " + json);
|
||
|
||
return Util.getLbJson(label);
|
||
|
||
}
|
||
|
||
public getCarIp getCarIpAddress = null;
|
||
public Cart getCarUrl(string carNo)
|
||
{
|
||
if (getCarIpAddress != null)
|
||
{
|
||
return(getCarIpAddress(carNo));
|
||
}
|
||
return new Cart();
|
||
}
|
||
|
||
public logMsg outMsg=null;
|
||
public void printMsg(string msg)
|
||
{
|
||
if (outMsg != null)
|
||
{
|
||
outMsg(msg);
|
||
}
|
||
}
|
||
|
||
public string lightOn(List<ELight> lights)
|
||
{
|
||
|
||
bool rt = true;
|
||
if (turnOnLts != null)
|
||
{
|
||
rt = turnOnLts(0, lights);
|
||
}
|
||
|
||
if (rt)
|
||
return "亮灯成功";
|
||
else
|
||
return "亮灯失败";
|
||
}
|
||
|
||
public string lightOff(List<ELight> lights)
|
||
{
|
||
|
||
bool rt = true;
|
||
if (turnOffLts != null)
|
||
{
|
||
rt = turnOffLts(0, lights);
|
||
}
|
||
|
||
if (rt)
|
||
return "灭灯成功";
|
||
else
|
||
return "灭灯失败";
|
||
}
|
||
|
||
|
||
public string labelOff(List<ELabel> labels)
|
||
{
|
||
|
||
bool rt = true;
|
||
if (turnOffLb != null)
|
||
{
|
||
rt = turnOffLb(labels);
|
||
}
|
||
|
||
if (rt)
|
||
return "灭灯成功";
|
||
else
|
||
return "灭灯失败";
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
}
|