public void DataReceived(byte[] by) { PortDataParameter param = DataParsing.Parsing(by); if (param.DistanceCardParam == null) { return; } if (param.DistanceCardParam.Command == PortEnums.DistanceCommands.WriteACard) { OverTimeManager.Stop(); if (IssueInfo == null) { return; } try { if (param.DistanceCardParam.AuxiliaryCommand == PortEnums.AuxiliaryCommands.Success) { IssueInfo.Id = CardManager.Insert(IssueInfo); } } catch (Exception ex) { Log4Helper.ErrorInfo(ex.Message, ex); } finally { IssueInfo = null; } } }
public static void SetReceivedFunction <T>() { if (ReceivedFunction == null || (ReceivedFunction != null && ReceivedFunction.GetType().Name != typeof(T).Name)) { ReceivedFunction = (ISerialPortDataReceived)Activator.CreateInstance <T>(); } OverTimeManager.Start(); }
public void DataReceived(byte[] by) { try { PortDataParameter param = DataParsing.Parsing(by); if (param.DistanceCardParam == null) { return; } OverTimeManager.Stop(); if (param.DistanceCardParam.Command == PortEnums.DistanceCommands.ReadACard) { if (param.DistanceCardParam.AuxiliaryCommand == PortEnums.AuxiliaryCommands.Success) { int state = CardManager.LossLists[0].CardReportLoss; by = DistanceLoss.PersonnelLoseOrRecovery(CardManager.LossLists, state == 1 ? 1 : 2); bool ret = SerialPortManager.WriteSerialPortData(SerialPortManager.Device1, by); if (!ret) { ViewCallFunction.ViewCloseLoading(); } else { OverTimeManager.Start(); } } else { ViewCallFunction.ViewCloseLoading(); ViewCallFunction.ViewMessage("未能获取到挂失卡,请重新操作。", "2"); } } else if (param.DistanceCardParam.Command == PortEnums.DistanceCommands.WriteACard) { if (param.DistanceCardParam.AuxiliaryCommand == PortEnums.AuxiliaryCommands.Success) { foreach (CardInfo item in CardManager.LossLists) { item.CardReportLoss = item.CardReportLoss == 1 ? 0 : 1; } CardManager.Update(CardManager.LossLists.ToArray()); CardManager.LossLists = null; ViewCallFunction.ViewLoseOver(); } else { ViewCallFunction.ViewCloseLoading(); } } } catch (Exception ex) { Log4Helper.ErrorInfo(ex.Message, ex); ViewCallFunction.ViewCloseLoading(); ViewCallFunction.ViewAlert(ex.Message); } }
public void DataReceived(byte[] by) { PortDataParameter param = DataParsing.Parsing(by); OverTimeManager.Stop(); try { if (param.Command.DCommand == PortEnums.DCommands.Default) { if (param.DistanceDeviceParam != null && param.DistanceDeviceParam.Command == PortEnums.DistanceCommands.InitializeDevice) { if (param.DistanceDeviceParam.AuxiliaryCommand == PortEnums.AuxiliaryCommands.Success) { if (!EncryptNewDevice) { byte[] bys = PortAgreement.DistanceCardEncryption(NewPwd); SerialPortManager.WriteSerialPortData(SerialPortManager.Device1, bys); EncryptNewDevice = true; OverTimeManager.Start(); return; } else { ViewCallFunction.ViewEncryptMessage("定距卡加密结束。"); ViewCallFunction.ViewEncryptOver(); } } else { ViewCallFunction.ViewEncryptMessage("定距卡加密失败,请重新操作。"); ViewCallFunction.ViewEncryptOver(); } EncryptNewDevice = false; } else if (param.DistanceCardParam != null && param.DistanceCardParam.Command == PortEnums.DistanceCommands.ModifyAllCardPwd) { if (param.DistanceCardParam.AuxiliaryCommand == PortEnums.AuxiliaryCommands.Success) { DistanceCardParameter distanceParam = param.DistanceCardParam; string msg = $"定距卡:{distanceParam.CardNumber} 密码(口令)加密{(distanceParam.CardTypeParameter.CardType != PortEnums.CardTypes.PwdError ? "成功" : "失败")}"; ViewCallFunction.ViewEncryptMessage(msg); } else { DeviceNewPwd(); } OverTimeManager.Start(); } } } catch (Exception ex) { Log4Helper.ErrorInfo(ex.Message, ex); ViewCallFunction.ViewEncryptOver(); ViewCallFunction.ViewAlert(ex.Message); } }
public void DataReceived(byte[] by) { PortDataParameter param = DataParsing.Parsing(by); OverTimeManager.Stop(); try { if (param.FunctionAddress == PortEnums.DealFunctions.Ic) { if (param.Command.ICommand == PortEnums.ICommands.EntryptIcDevice) { if (param.IcParam.Result) { EncryptNewPwd(); } else { ViewCallFunction.ViewEncryptMessage("加密失败,请重新操作。"); ViewCallFunction.ViewEncryptOver(); } } else if (param.Command.ICommand == PortEnums.ICommands.EntryptIcCard) { if (param.IcParam != null) { string msg = $"IC 卡加密{(param.IcParam.Result ? "成功" : "失败")}"; ViewCallFunction.ViewEncryptMessage(msg); Task.Factory.StartNew(() => { for (int i = 0; i < 150; i++) { Thread.Sleep(10); if (StopEncrypt) { StopEncrypt = false; OverEncrypt(); return; } } EncryptNewPwd(); }); } } } } catch (Exception ex) { Log4Helper.ErrorInfo(ex.Message, ex); ViewCallFunction.ViewAlert(ex.Message); } }
public void DataReceived(byte[] by) { PortDataParameter param = DataParsing.Parsing(by); OverTimeManager.Stop(); if (param.Command.HCommand == PortEnums.HCommands.NumberModify) { if (param.HostParam != null) { ViewCallFunction.ViewDownloadOver(param.HostParam.Result); } } }
public void DataReceived(byte[] by) { PortDataParameter param = DataParsing.Parsing(by); OverTimeManager.Stop(); if (param.FunctionAddress == PortEnums.DealFunctions.ProsennelHost) { if (param.HostParam != null) { ViewCallFunction.ViewDownloadOver(param.HostParam.Result); } } }
public void DataReceived(byte[] by) { PortDataParameter param = DataParsing.Parsing(by); OverTimeManager.Stop(); if (param.DistanceDeviceParam.Command == PortEnums.DistanceCommands.InitializeDevice) { string msg = null; if (param.DistanceDeviceParam.AuxiliaryCommand == PortEnums.AuxiliaryCommands.Success) { msg = "定距发行器加密成功"; } else { msg = "定距发行器加密失败"; } ViewCallFunction.ViewEncryptMessage(msg); ViewCallFunction.ViewEncryptOver(); } }
public void DataReceived(byte[] by) { try { if (by[0] == 9 && by[by.Length - 1] == 12) { OverTimeManager.Stop(); ViewCallFunction.ViewDownloadOver(by.Length == 24); } } catch (Exception ex) { Log4Helper.ErrorInfo(ex.Message, ex); } finally { Thread.Sleep(100); SerialPortManager.Device2.SerialPortDevice.SetBaudRate(WinApi.B9600); } }
public HttpResponseMessage AuditOverTime(string token, string ccode) { string errMsg = ""; ReturnMessage msg = new ReturnMessage(); vouMag = (VoucherManager)HttpContext.Current.Application.Get(token); if (vouMag == null) { msg.Success = false; msg.Msg = "参数token无效或已过期"; msg.Code = 500; } else { OverTimeManager overTimeMag = new OverTimeManager(vouMag.UFDataConnstringForNet); int i = overTimeMag.auditOverTime(ccode, vouMag.cUserName, vouMag.cUserID, ref errMsg); if (i >= 2) { msg.Success = true; msg.Code = 200; dynamic c = new { code = ccode }; msg.Data = JsonConvert.SerializeObject(c); msg.Msg = "审核成功"; } else { msg.Success = false; msg.Code = 500; msg.Msg = "审核失败:" + errMsg; } } HttpContext.Current.Application.Remove(vouMag.GetGUID); string str = msg.ToJson(); return(new HttpResponseMessage { Content = new StringContent(str, Encoding.GetEncoding("UTF-8"), "application/json") }); }
public void DataReceived(byte[] by) { PortDataParameter param = DataParsing.Parsing(by); OverTimeManager.Stop(); try { if (param.FunctionAddress == PortEnums.DealFunctions.Ic && param.Command.ICommand == PortEnums.ICommands.EntryptIcDevice) { if (param.IcParam != null) { string msg = $"IC 设备加密{(param.IcParam.Result ? "成功" : "失败")}"; ViewCallFunction.ViewEncryptMessage(msg); ViewCallFunction.ViewEncryptOver(); } } } catch (Exception ex) { Log4Helper.ErrorInfo(ex.Message, ex); ViewCallFunction.ViewAlert(ex.Message); } }
public void DataReceived(byte[] by) { PortDataParameter param = DataParsing.Parsing(by); if (param.DistanceCardParam == null) { return; } if (param.DistanceCardParam.Command == PortEnums.DistanceCommands.ReadAllCard) { OverTimeManager.Stop(); if (param.DistanceCardParam.AuxiliaryCommand == PortEnums.AuxiliaryCommands.End) { ViewCallFunction.ViewCloseLoading(); return; } try { bool exists = CardManager.CardInfos.Exists(e => e.CardNumber == param.DistanceCardParam.CardNumber); if (exists) { return; } CardInfo info = CardManager.GetCardInfo(param.DistanceCardParam.CardNumber); if (info == null) { info = new CardInfo(); info.CardTime = DateTime.Now; } info.CardNumber = param.DistanceCardParam.CardNumber; info.CardType = (int)param.DistanceCardParam.CardTypeParameter.CardType; info.CardLock = param.DistanceCardParam.CardTypeParameter.CardLock; info.CardDistance = param.DistanceCardParam.CardTypeParameter.Distance; info.Electricity = param.DistanceCardParam.CardTypeParameter.Electricity; if (info.CardType <= 3) { if (param.DistanceCardParam.FunctionByteParam != null) { if (info.Id > 0 && info.CardType < 3) { info.CardType = (int)param.DistanceCardParam.FunctionByteParam.RegistrationType; if (info.CardType == 1)//人卡或组合卡 { info.ParkingRestrictions = param.DistanceCardParam.FunctionByteParam.ParkingRestrictions; } } info.CardReportLoss = param.DistanceCardParam.FunctionByteParam.Loss; info.ViceCardCount = param.DistanceCardParam.FunctionByteParam.ViceCardCount; info.Synchronous = param.DistanceCardParam.FunctionByteParam.Synchronous; info.InOutState = param.DistanceCardParam.FunctionByteParam.InOutState; info.CardCount = param.DistanceCardParam.Count; } } CardManager.CardInfos.Add(info); ViewCallFunction.ViewDisplayReadCardInfo(info); } catch (Exception ex) { Log4Helper.ErrorInfo(ex.Message, ex); } finally { OverTimeManager.Start(); } } }
private void EncryptNewPwd() { byte[] bys = PortAgreement.IcCardEncryption(Pwd); SerialPortManager.WriteSerialPortData(SerialPortManager.Device1, bys); OverTimeManager.Start(); }
public HttpResponseMessage AddOverTime(string token, string json) { string errMsg = ""; ReturnMessage msg = new ReturnMessage(); ReceiveLog receive = new ReceiveLog(); receive.uuid = Guid.NewGuid(); receive.receiveData = json; receive.interfaceCode = "OverTime"; receive.interfaceDesc = "加班单新增"; receive.op = "add"; try { vouMag = (VoucherManager)HttpContext.Current.Application.Get(token); if (vouMag == null) { msg.Success = false; msg.Msg = "参数token无效或已过期"; msg.Code = 500; } else { ReceiveLogManager logManager = new ReceiveLogManager(vouMag.UFDataConnstringForNet); logManager.AddReceiveLog(receive, ref errMsg); OverTimeManager overTimeMag = new OverTimeManager(vouMag.UFDataConnstringForNet); OverTimeVoucher overTime = (OverTimeVoucher)JsonConvert.DeserializeObject(json, typeof(OverTimeVoucher)); int i = overTimeMag.AddOverTime(overTime, ref errMsg); if (i >= 3) { //msg.Success = true; //dynamic c = new { code = overTimeMag.ccode }; //msg.Data = JsonConvert.SerializeObject(c); //msg.Code = 200; //msg.Msg = "新增成功"; int q = overTimeMag.auditOverTime(overTimeMag.ccode, overTime.head, ref errMsg); if (q >= 2) { msg.Success = true; msg.Code = 200; dynamic c = new { code = overTimeMag.ccode }; msg.Data = JsonConvert.SerializeObject(c); msg.Msg = "审核成功"; } else { msg.Success = false; msg.Code = 500; msg.Msg = "审核失败:" + errMsg; } } else { msg.Success = false; msg.Code = 500; msg.Msg = "新增失败" + errMsg; } receive = logManager.getReturnDesc(receive, msg); logManager.UpdateReceiveLog(receive, ref errMsg); } HttpContext.Current.Application.Remove(vouMag.GetGUID); string str = msg.ToJson(); return(new HttpResponseMessage { Content = new StringContent(str, Encoding.GetEncoding("UTF-8"), "application/json") }); } catch (Exception ex) { msg.Success = false; msg.Code = 500; msg.Msg = ex.Message.ToString(); string str = msg.ToJson(); return(new HttpResponseMessage { Content = new StringContent(str, Encoding.GetEncoding("UTF-8"), "application/json") }); } }