public Hashtable GetSendCarInfoHashtableByModel(SendCarInfo sci) { /*lsh; String 流水号 Varchar2(19) not null 19 必填,主键,120生成 * clid String 车俩ID Varchar2(10) not null 10 必填 * cccc Integer 出车车次 Number(2) 2 必填,默认为弟1次 * cph String 车牌号 Varchar2 (20) 20 建议必填 * ccsj Date 出车时间 Date 必填 * ssdw String 车俩所属单位名称 Varchar2 (50) 50 * driverPhone String 司机电话 Varchar2(15) 15 * driverName String 司机名称 Varchar2(10) 10 * doctorPhone String 医生电话 Varchar2(15) 15 * doctorName String 医生名称 Varchar2(10) 10 * caseId String CaseID Varchar2(50) 50 必填由APP提供 */ Hashtable ht = new Hashtable(); ht.Add("messageName", "SendCarInfo"); ht.Add("caseId", sci.CASEID); ht.Add("cccc", sci.CCCC); ht.Add("ccsj", string.Format("{0:yyyy-MM-dd HH:mm:ss}", sci.CCSJ)); ht.Add("clid", sci.CLID); ht.Add("cph", sci.CPH); ht.Add("doctorName", sci.DOCTORNAME); ht.Add("doctorPhone", sci.DOCTORPHONE); ht.Add("driverName", sci.DRIVERNAME); ht.Add("driverPhone", sci.DRIVERPHONE); ht.Add("lsh", sci.LSH); ht.Add("ssdw", sci.SSDW); return(ht); }
/// <summary> /// 维护车辆任务映射表,处理新的出车消息 /// </summary> /// <param name="sci"></param> public void DealVehicleMap(SendCarInfo sci) { if (sci.CLID != null && sci.CLID != "") { VehicleTaskInfo info = new VehicleTaskInfo(); info.CaseId = sci.CASEID; info.CCCC = sci.CCCC; info.LSH = sci.LSH; info.AddTime = DateTime.Now; VehicleTaskMapLock.EnterWriteLock(); try { if (VehicleTaskMap.ContainsKey(sci.CLID)) { VehicleTaskMap[sci.CLID] = info; } else { VehicleTaskMap.Add(sci.CLID, info); } } catch { } finally { VehicleTaskMapLock.ExitWriteLock(); } } }
/// <summary> /// 发送派车信息给route server /// </summary> /// <param name="sci"></param> public void SendCarInfo(SendCarInfo sci) { Hashtable ht = GetSendCarInfoHashtableByModel(sci); ScsTextMessage message = new ScsTextMessage(JSON.Encode(ht)); SendMessage(message); }
private SendCarInfo getScFromPc(DispatchCarNotice pc) { SendCarInfo sc = new SendCarInfo(); try { int i; DateTime dt; sc.CASEID = pc.caseid; if (int.TryParse(pc.cccc,out i)) sc.CCCC = int.Parse(pc.cccc); if (DateTime.TryParse(pc.ccsj, out dt)) sc.CCSJ = DateTime.Parse(pc.ccsj); sc.CLID = pc.clid; sc.CPH = pc.cph; sc.DOCTORNAME = pc.doctorname; sc.DOCTORPHONE = pc.doctorphone; sc.DRIVERNAME = pc.drivername; sc.DRIVERPHONE = pc.driverphone; sc.LSH = pc.lsh; sc.SSDW = pc.ssdw; } catch(Exception ex) { LOG.LogHelper.WriteLog("", ex); } return sc; }
private SendCarInfo GetSendCarInfoModelByMessage(string strMsg) { //[5182LSH:2016061300000000004*#CLID:101*#CCCC:01*#CPH:鄂K06772*#CCSJ:2016-06-13 10:38:11*# //SSDW:孝感市中心医院*#DriverPhone:*#DriverName:刘豫*#DoctorPhone:*#DoctorName:孙光辉*# //CaseID:d04221ed-e1c7-48dc-bf59-3a408b16ba70*#TH:0*#] SendCarInfo sci = new SendCarInfo(); sci.CASEID = GetValueByKey(strMsg, "CaseID"); if (GetValueByKey(strMsg, "CCCC") != "") { sci.CCCC = int.Parse(GetValueByKey(strMsg, "CCCC")); } sci.CLID = GetValueByKey(strMsg, "CLID"); if (GetValueByKey(strMsg, "CCSJ") != "") { sci.CCSJ = DateTime.Parse(GetValueByKey(strMsg, "CCSJ")); } sci.CPH = GetValueByKey(strMsg, "CPH"); sci.DOCTORNAME = GetValueByKey(strMsg, "DoctorName"); sci.DOCTORPHONE = GetValueByKey(strMsg, "DoctorPhone"); sci.DRIVERPHONE = GetValueByKey(strMsg, "DriverPhone"); sci.DRIVERNAME = GetValueByKey(strMsg, "DriverName"); sci.LSH = GetValueByKey(strMsg, "LSH"); sci.SSDW = GetValueByKey(strMsg, "SSDW"); return(sci); }
/// <summary> /// 增加一条数据 /// </summary> public bool Add(SendCarInfo model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into sendcarinfo("); strSql.Append("CASEID,LSH,CCCC,CLID,CPH,CCSJ,SSDW,DRIVERPHONE,DRIVERNAME,DOCTORPHONE,DOCTORNAME,ADDTIME)"); strSql.Append(" values ("); strSql.Append("@CASEID,@LSH,@CCCC,@CLID,@CPH,@CCSJ,@SSDW,@DRIVERPHONE,@DRIVERNAME,@DOCTORPHONE,@DOCTORNAME,@ADDTIME)"); MySqlParameter[] parameters = { new MySqlParameter("@CASEID", DBOpHelper.GetString(model.CASEID)), new MySqlParameter("@LSH", DBOpHelper.GetString(model.LSH)), new MySqlParameter("@CCCC", DBOpHelper.GetNumber(model.CCCC)), new MySqlParameter("@CLID", DBOpHelper.GetString(model.CLID)), new MySqlParameter("@CPH", DBOpHelper.GetString(model.CPH)), new MySqlParameter("@CCSJ", DBOpHelper.GetDateTime(model.CCSJ)), new MySqlParameter("@SSDW", DBOpHelper.GetString(model.SSDW)), new MySqlParameter("@DRIVERPHONE", DBOpHelper.GetString(model.DRIVERPHONE)), new MySqlParameter("@DRIVERNAME", DBOpHelper.GetString(model.DRIVERNAME)), new MySqlParameter("@DOCTORPHONE", DBOpHelper.GetString(model.DOCTORPHONE)), new MySqlParameter("@DOCTORNAME", DBOpHelper.GetString(model.DOCTORNAME)), new MySqlParameter("@ADDTIME", DBOpHelper.GetDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))) }; int rows = DbHelperMySQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
/// <summary> /// 增加一条数据 /// </summary> public bool Add(SendCarInfo model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into SendCarInfo("); strSql.Append("CASEID,LSH,CCCC,CLID,CPH,CCSJ,SSDW,DRIVERPHONE,DRIVERNAME,DOCTORPHONE,DOCTORNAME,ADDTIME)"); strSql.Append(" values ("); strSql.Append(":CASEID,:LSH,:CCCC,:CLID,:CPH,:CCSJ,:SSDW,:DRIVERPHONE,:DRIVERNAME,:DOCTORPHONE,:DOCTORNAME,:ADDTIME)"); OracleParameter[] parameters = { new OracleParameter(":CASEID", DBOpHelper.GetString(model.CASEID)), new OracleParameter(":LSH", DBOpHelper.GetString(model.LSH)), new OracleParameter(":CCCC", DBOpHelper.GetNumber(model.CCCC)), new OracleParameter(":CLID", DBOpHelper.GetString(model.CLID)), new OracleParameter(":CPH", DBOpHelper.GetString(model.CPH)), new OracleParameter(":CCSJ", DBOpHelper.GetDateTime(model.CCSJ)), new OracleParameter(":SSDW", DBOpHelper.GetString(model.SSDW)), new OracleParameter(":DRIVERPHONE", DBOpHelper.GetString(model.DRIVERPHONE)), new OracleParameter(":DRIVERNAME", DBOpHelper.GetString(model.DRIVERNAME)), new OracleParameter(":DOCTORPHONE", DBOpHelper.GetString(model.DOCTORPHONE)), new OracleParameter(":DOCTORNAME", DBOpHelper.GetString(model.DOCTORNAME)), new OracleParameter(":ADDTIME", DBOpHelper.GetDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))) }; int rows = DbHelperOra.ExecuteSql(SysParameters.DBConnectString, strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
public void HandleCarInfo(SendCarInfo sci) { try { //Save Database //DBSendCarInfo db = new DBSendCarInfo(); IDBSendCarInfo db = DataAccess.DataAccess.GetDBSendCarInfo(); db.Add(sci); CarInfoManagerDelegateClient client = new CarInfoManagerDelegateClient(); client.addCarInfoCompleted += new EventHandler <addCarInfoCompletedEventArgs>(Service_Completed); CredentialSoapHeader header = new CredentialSoapHeader(); header.Username = SysParameters.AppAPIUsername; header.Password = SysParameters.AppAPIPassword; string strJson = ConvertModelToJson(sci); WebserviceUserState UserState = new WebserviceUserState(); UserState.TIMES = 1; UserState.MESSAGE = strJson; //{"driverName":"刘豫","doctorPhone":"13871887869","doctorName":"孙光辉","ccsj":"2016-06-13 17:00:09","ssdw":"孝感市中心医院","driverPhone":"13871888610","caseId":"a07aa295-e5f0-41bb-858d-277b1e3479ff","lsh":"2016061300000000005","cph":"鄂K06772","clid":"101","cccc":2} client.addCarInfoAsync(header, strJson, UserState); } catch (Exception ex) { LogHelper.WriteLog("", ex); } }
/// <summary> /// 派车告知消息 /// </summary> /// <param name="strMsg"></param> private void Handle5182Message(string strMsg) { if (strMsg.Substring(0, 1) == "[" && strMsg.Substring(strMsg.Length - 3, 3) == "*#]") { SendCarInfo sci = GetSendCarInfoModelByMessage(strMsg); CoreService.GetInstance().OtherMsgServer.SendCarInfo(sci); CoreService.GetInstance().bs.DealVehicleMap(sci); } }
private void HandleSendCarInfo(Hashtable htMessage) { try { SendCarInfo sci = GetSendCarInfoModelByHashtable(htMessage); Appserver.SendCarInfo(sci); } catch (Exception ex) { LogHelper.WriteLog("", ex); } }
private SendCarInfo GetSendCarInfoModelByHashtable(Hashtable htMessage) { SendCarInfo sci = new SendCarInfo(); if (htMessage["caseId"] != null) { sci.CASEID = htMessage["caseId"].ToString(); } if (htMessage["cccc"] != null && htMessage["cccc"].ToString() != "") { sci.CCCC = int.Parse(htMessage["cccc"].ToString()); } if (htMessage["ccsj"] != null && htMessage["ccsj"].ToString() != "") { sci.CCSJ = DateTime.Parse(htMessage["ccsj"].ToString()); } if (htMessage["clid"] != null) { sci.CLID = htMessage["clid"].ToString(); } if (htMessage["cph"] != null) { sci.CPH = htMessage["cph"].ToString(); } if (htMessage["doctorName"] != null) { sci.DOCTORNAME = htMessage["doctorName"].ToString(); } if (htMessage["doctorPhone"] != null) { sci.DOCTORPHONE = htMessage["doctorPhone"].ToString(); } if (htMessage["driverName"] != null) { sci.DRIVERNAME = htMessage["driverName"].ToString(); } if (htMessage["driverPhone"] != null) { sci.DRIVERPHONE = htMessage["driverPhone"].ToString(); } if (htMessage["lsh"] != null) { sci.LSH = htMessage["lsh"].ToString(); } if (htMessage["ssdw"] != null) { sci.SSDW = htMessage["ssdw"].ToString(); } return(sci); }
//处理派车消息 private void DealDispatchCarNotice(object obj) { try { DispatchCarNotice pc= (DispatchCarNotice)obj; SendCarInfo sc = getScFromPc(pc); CoreService.GetInstance().OtherMsgServer.SendCarInfo(sc); } catch (Exception ex) { LOG.LogHelper.WriteLog("", ex); } }
private string ConvertModelToJson(SendCarInfo sci) { string strJson = ""; Hashtable ht = new Hashtable(); ht.Add("caseId", sci.CASEID); ht.Add("cccc", sci.CCCC); ht.Add("ccsj", string.Format("{0:yyyy-MM-dd HH:mm:ss}", sci.CCSJ)); ht.Add("clid", sci.CLID); ht.Add("cph", sci.CPH); ht.Add("doctorName", sci.DOCTORNAME); ht.Add("doctorPhone", sci.DOCTORPHONE); ht.Add("driverName", sci.DRIVERNAME); ht.Add("driverPhone", sci.DRIVERPHONE); ht.Add("lsh", sci.LSH); ht.Add("ssdw", sci.SSDW); strJson = JSON.Encode(ht); return(strJson); }
public void SendCarInfo(SendCarInfo sci) { aci.HandleCarInfo(sci); }