/// <summary> /// 增加一条数据 /// </summary> public bool Add(QualityEvaluation model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into QualityEvaluation("); strSql.Append("LSH,QUALITYCOMMENT,REASON,CASEID,COMMENTTIME,ADDTIME)"); strSql.Append(" values ("); strSql.Append(":LSH,:QUALITYCOMMENT,:REASON,:CASEID,:COMMENTTIME,:ADDTIME)"); OracleParameter[] parameters = { new OracleParameter(":LSH", DBOpHelper.GetString(model.LSH)), new OracleParameter(":QUALITYCOMMENT", DBOpHelper.GetString(model.QUALITYCOMMENT)), new OracleParameter(":REASON", DBOpHelper.GetString(model.REASON)), new OracleParameter(":CASEID", DBOpHelper.GetString(model.CASEID)), new OracleParameter(":COMMENTTIME", DBOpHelper.GetDateTime(model.COMMENTTIME)), 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); } }
/// <summary> /// 获取最新的质量评价信息 /// </summary> /// <returns></returns> public List <QualityEvaluation> GetNewQualityEvaluation() { List <QualityEvaluation> list = new List <QualityEvaluation>(); StringBuilder strSql = new StringBuilder(); strSql.Append("select LSH,QUALITYCOMMENT,REASON,CASEID,COMMENTTIME "); strSql.Append(" from (select * from QualityEvaluation where (sysdate-COMMENTTIME)*24*60*60<3600 and READFLAG=0 order by COMMENTTIME) where rownum<=100 "); OracleParameter[] parameters = { }; DataSet ds = DbHelperOra.Query(SysParameters.DBConnectString, strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { ArrayList arrayList = new ArrayList(); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { QualityEvaluation model = DataRowToModel(ds.Tables[0].Rows[i]); list.Add(model); arrayList.Add(string.Format("update QualityEvaluation set READFLAG=1,READTIME=sysdate where CASEID='{0}'", model.CASEID)); } //更新读取标志 ExcuteSqlList(arrayList); } return(list); }
private void HandleQualityEvaluation(QualityEvaluation qe) { try { IDBRouter router = DataAccess.DataAccess.GetDBRouter(); string strUnitCode = QE.GetUnitCodeByCaseId(qe.CASEID); if (string.IsNullOrEmpty(strUnitCode)) { //send error msg to app server Exception ex = new Exception("未找到对于的单位编码"); LogHelper.WriteLog("运行错误!", ex); } else { ServerClient client = CoreService.GetInstance().CallInServer.GetServerClientByUnitCode(strUnitCode); if (client != null) { //send msg to app client string msg = CreateQualityEvaluationJsonByModel(qe); client.SendMessage(new ScsTextMessage(msg)); } else { Exception ex = new Exception("未找到该地区的服务通讯"); LogHelper.WriteLog("运行错误!", ex); } } } catch (Exception ex) { LogHelper.WriteLog("程序异常!", ex); } }
/// <summary> /// 得到一个对象实体 /// </summary> public QualityEvaluation DataRowToModel(DataRow row) { QualityEvaluation model = new QualityEvaluation(); if (row != null) { if (row["LSH"] != null) { model.LSH = row["LSH"].ToString(); } if (row["QUALITYCOMMENT"] != null) { model.QUALITYCOMMENT = row["QUALITYCOMMENT"].ToString(); } if (row["REASON"] != null) { model.REASON = row["REASON"].ToString(); } if (row["CASEID"] != null) { model.CASEID = row["CASEID"].ToString(); } if (row["COMMENTTIME"] != null && row["COMMENTTIME"].ToString() != "") { model.COMMENTTIME = DateTime.Parse(row["COMMENTTIME"].ToString()); } } return(model); }
/// <summary> /// 获取最新的质量评价信息 /// </summary> /// <returns></returns> public List <QualityEvaluation> GetNewQualityEvaluation() { List <QualityEvaluation> list = new List <QualityEvaluation>(); StringBuilder strSql = new StringBuilder(); strSql.Append(" select * from QualityEvaluation where TIMESTAMPDIFF(SECOND,COMMENTTIME,now()) <3600 and READFLAG=0 order by COMMENTTIME limit 100 "); MySqlParameter[] parameters = { }; DataSet ds = DbHelperMySQL.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { List <string> arrayList = new List <string>(); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { QualityEvaluation model = DataRowToModel(ds.Tables[0].Rows[i]); list.Add(model); arrayList.Add(string.Format("update QualityEvaluation set READFLAG=1,READTIME=now() where CASEID='{0}'", model.CASEID)); } //更新读取标志 ExcuteSqlList(arrayList); } return(list); }
/// <summary> /// 增加一条数据 /// </summary> public bool Add(QualityEvaluation model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into qualityevaluation("); strSql.Append("LSH,QUALITYCOMMENT,REASON,CASEID,COMMENTTIME,ADDTIME)"); strSql.Append(" values ("); strSql.Append("@LSH,@QUALITYCOMMENT,@REASON,@CASEID,@COMMENTTIME,@ADDTIME)"); MySqlParameter[] parameters = { new MySqlParameter("@LSH", DBOpHelper.GetString(model.LSH)), new MySqlParameter("@QUALITYCOMMENT", DBOpHelper.GetString(model.QUALITYCOMMENT)), new MySqlParameter("@REASON", DBOpHelper.GetString(model.REASON)), new MySqlParameter("@CASEID", DBOpHelper.GetString(model.CASEID)), new MySqlParameter("@COMMENTTIME", DBOpHelper.GetDateTime(model.COMMENTTIME)), 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> /// <param name="ErrorInfo"></param> /// <param name="htQualityComment"></param> /// <returns></returns> public bool VerifyQualityEvaluation(out string ErrorInfo, out QualityEvaluation qe, Hashtable htQualityComment) { ErrorInfo = ""; qe = new QualityEvaluation(); // lsh; String 服务流水号 Varchar2(50),not null 50 主键,120自动生成,并发送给APP的 if (htQualityComment["lsh"] == null || htQualityComment["lsh"].ToString() == "") { ErrorInfo = "服务流水号不能为空"; return(false); } else { qe.LSH = htQualityComment["lsh"].ToString(); } // qualityComment String 服务质量评价 Varchar2(8) 8 0:非常满意 // 1:满意 // 2:不满意 if (htQualityComment["qualityComment"] == null || htQualityComment["qualityComment"].ToString() == "") { ErrorInfo = "服务质量评价不能为空"; return(false); } else { qe.QUALITYCOMMENT = htQualityComment["qualityComment"].ToString(); } //caseId String CaseID Varchar2(20) 20 由APP提供 if (htQualityComment["caseId"] == null || htQualityComment["caseId"].ToString() == "") { ErrorInfo = "caseId不能为空"; return(false); } else { qe.CASEID = htQualityComment["caseId"].ToString(); } //commentTime Date 评价时间 Date if (htQualityComment["commentTime"] == null || htQualityComment["commentTime"].ToString() == "") { ErrorInfo = "评价时间不能为空"; return(false); } else { qe.COMMENTTIME = DateTime.Parse(htQualityComment["commentTime"].ToString()); } //reason String 原因 Varchar2 (400) 400 不满意时,必填项,满意时可不填写 if (htQualityComment["reason"] != null) { qe.REASON = htQualityComment["reason"].ToString(); } return(true); }
/// <summary> /// 给120业务服务器发送服务质量评估信息 /// </summary> /// <param name="aci"></param> public void SendQualityEvaluationMessage(QualityEvaluation qe) { try { string message = CreateQualityEvaluationMsg(qe); SendMessage(message); } catch (Exception ex) { LogHelper.WriteLog("", ex); } }
private string CreateQualityEvaluationMsg(QualityEvaluation qe) { StringBuilder message = new StringBuilder(); message.Append("[5184"); message.Append("lsh:" + qe.LSH + "*#"); message.Append("caseId:" + qe.CASEID + "*#"); message.Append("qualityComment:" + qe.QUALITYCOMMENT + "*#"); message.Append("reason:" + qe.REASON + "*#"); message.Append("commentTime:" + string.Format("{0:yyyy-MM-dd HH:mm:ss}", qe.COMMENTTIME) + "*#"); message.Append("]"); return(message.ToString()); }
private string CreateQualityEvaluationJsonByModel(QualityEvaluation qe) { Hashtable htQualityComment = new Hashtable(); htQualityComment.Add("messageName", "QualityComment"); htQualityComment.Add("lsh", qe.LSH); htQualityComment.Add("qualityComment", qe.QUALITYCOMMENT); htQualityComment.Add("reason", qe.REASON); htQualityComment.Add("caseId", qe.CASEID); htQualityComment.Add("commentTime", string.Format("{0:yyyy-MM-dd HH:mm:ss}", qe.COMMENTTIME)); return(JSON.Encode(htQualityComment)); }
public void SendQualityEvaluationMessage(QualityEvaluation qe) { try { QualityRespnose qr = new QualityRespnose(); qr.caseid = qe.CASEID; qr.commenttime = qe.COMMENTTIME.ToString(); qr.lsh = qe.LSH; qr.qualitycomment = qe.QUALITYCOMMENT; qr.reason = qe.REASON; string strMsg = JSON.ToJson(qr); tch.SendToServer(7003, CommandType.joson, strMsg); LOG.LogHelper.WriteLog(string.Format("发送APP评价消息发送成功,消息内容{0}", strMsg)); } catch (Exception ex) { LOG.LogHelper.WriteLog("发送APP评价消息发送失败", ex); } }