예제 #1
0
 /// <summary>
 /// 收到瓶签收据
 /// </summary>
 /// <returns></returns>
 public bool GetResultByLabelNo(string labelNo, out string result)
 {
     result = string.Empty;
     try
     {
         InternalLogger.Log.Info("收到瓶签号:" + labelNo);
         bool   rtn       = false;
         String labelData = String.Empty;
         if (IsLogionData(labelNo, out labelData)) //员工登录
         {
             InternalLogger.Log.Debug(labelNo + "被判断为登录信息,因7777开头且长度为22");
             MsgLoginResult msgLoginResult = null;
             rtn = HandleInOut(labelData, out msgLoginResult);//登录处理
             if (rtn && msgLoginResult != null)
             {
                 result = msgLoginResult.ToJson();
             }
         }
         else if (IsLabelNo(labelNo, out labelData))//只对今天和明天的瓶签计费;并校验瓶签长度和瓶签标识
         {
             InternalLogger.Log.Debug(labelNo + "被判断瓶签数据");
             MsgLabelResult msgLabelResult = null;
             rtn = HandleLabelNo(labelData, out msgLabelResult);
             if (rtn && msgLabelResult != null)
             {
                 result = msgLabelResult.ToJson();
             }
         }
         else
         {
             InternalLogger.Log.Warn(labelNo + "被判断为非法Moxa数据,不做处理也不显示");
             return(false); //跳出数据接收处理方法
         }
         return(rtn);       //登录成功与计费成功都返回rtn
     }
     catch (Exception ex)
     {
         InternalLogger.Log.Error("接收到Moxa数据,处理出错:" + ex.Message);
     }
     return(false);
 }
예제 #2
0
 /// <summary>
 /// 发送药师登录状态到屏
 /// </summary>
 public void SendLoginStatus(ScreenClientController screenClientController, string screenIp, int screenPort, short status)
 {
     smartThreadPool.QueueWorkItem(() =>
     {
         try
         {
             MsgLoginResult msgLoginResult = new MsgLoginResult();
             msgLoginResult.MsgType        = (short)MsgType.LoginStatus;
             msgLoginResult.Status         = status;
             //将登陆状态发给屏,微软屏
             screenClientController.sendDataEnqueue(new PivasEventArgs <TCPMessage>(new TCPMessage(screenIp,
                                                                                                   screenPort, msgLoginResult.ToJson())));
         }
         catch (Exception ex)
         {
             InternalLogger.Log.Error("发送药师登录状态到屏出错:" + ex.Message);
         }
     });
 }