public string PostUpdateCheckResult(Dictionary <string, object> d, string OPEN_ID) { try { wy_check_result wcr = new wy_check_result() { RESULT_ID = d["RESULT_ID"].ToString(), //FWID = d["FWID"].ToString(), JCJG = Convert.ToInt32(d["JCJG"]), WTMS = d["WTMS"].ToString(), ZGYQ = d["ZGYQ"].ToString(), BJR = OPEN_ID, BJSJ = DateTime.Now }; List <Dictionary <string, object> > updatelist = JArray.FromObject(d["CHECK_DETAIL_RESULT"]).ToObject <List <Dictionary <string, object> > >(); List <wy_check_result_detail> list = new List <wy_check_result_detail>(); foreach (Dictionary <string, object> dd in updatelist) { wy_check_result_detail item = new wy_check_result_detail(); item.CHECK_DETAIL_ID = dd["CHECK_DETAIL_ID"].ToString(); item.CHECK_DETAIL_RESULT = Convert.ToInt32(dd["VALUE"]); list.Add(item); } Dictionary <string, object> insertlist = JObject.FromObject(d["INSERTINFO"]).ToObject <Dictionary <string, object> >(); List <wy_check_result_detail> list1 = new List <wy_check_result_detail>(); foreach (KeyValuePair <string, object> kp in insertlist) { wy_check_result_detail item1 = new wy_check_result_detail() { CHECK_DETAIL_ID = Guid.NewGuid().ToString(), DETAIL_CODE = kp.Key, CHECK_DETAIL_RESULT = Convert.ToInt32(kp.Value), CHECK_DETAIL_TIME = DateTime.Now, JCR = OPEN_ID, RESULT_ID = d["RESULT_ID"].ToString() }; list1.Add(item1); } bool imgSte = d.TryGetValue("IMGS", out object IMGS); DB.Db().BeginTran(); if (imgSte) { wcr.IMGS = IMGS.ToString(); DB.Db().Updateable(wcr).IgnoreColumns(it => new { it.TASK_ID, it.FWID, it.JCR, it.JCSJ, it.CJR, it.CJSJ, it.IS_DELETE, it.JCCS, it.IS_REVIEW }).ExecuteCommand(); } else { DB.Db().Updateable(wcr).IgnoreColumns(it => new { it.TASK_ID, it.FWID, it.JCR, it.JCSJ, it.CJR, it.CJSJ, it.IS_DELETE, it.JCCS, it.IS_REVIEW, it.IMGS }).ExecuteCommand(); } DB.Db().Updateable(list).IgnoreColumns(it => new { it.DETAIL_CODE, it.JCR, it.RESULT_ID }).ExecuteCommand(); DB.Db().Insertable(list1).ExecuteCommand(); DB.Db().CommitTran(); } catch (Exception e) { return(e.Message); } return("success"); }
public string PostCheckResult(Dictionary <string, object> d, string OPEN_ID, Action <bool, string, string, string, string, string, DateTime?> sendMsg = null) { wy_check_result wcr = new wy_check_result(); Dictionary <string, object> ww = JObject.FromObject(d["RESULT_DETAIL"]).ToObject <Dictionary <string, object> >(); string RESULT_ID = Guid.NewGuid().ToString(); wcr.RESULT_ID = RESULT_ID; //wcr.TASK_ID = DB.Db().Queryable<wy_check_task>().Where(a => a.RWBH == d["RWBH"].ToString()).Select(a => a.TASK_ID).ToList()[0]; wcr.TASK_ID = d["TASK_ID"].ToString(); if (d["JCJG"].ToString() != "") { wcr.JCJG = Convert.ToInt32(d["JCJG"]); } wcr.JCR = OPEN_ID; wcr.JCSJ = DateTime.Now; wcr.ZGYQ = d["ZGYQ"].ToString(); wcr.WTMS = d["WTMS"].ToString(); wcr.FWID = d["FWID"].ToString(); wcr.IMGS = d["IMGS"].ToString(); wcr.CJR = OPEN_ID; wcr.CJSJ = DateTime.Now; wcr.IS_DELETE = 0; wcr.JCCS = 0; wcr.IS_REVIEW = 0; List <wy_check_result_detail> list = new List <wy_check_result_detail>(); string detailStr = string.Empty; foreach (KeyValuePair <string, object> item in ww) { dynamic Result = item.Value; wy_check_result_detail wcrd = new wy_check_result_detail(); wcrd.CHECK_DETAIL_ID = Guid.NewGuid().ToString(); wcrd.RESULT_ID = RESULT_ID; wcrd.DETAIL_CODE = item.Key; wcrd.CHECK_DETAIL_RESULT = Convert.ToInt32(Result.VALUE); wcrd.CHECK_DETAIL_TIME = DateTime.Now; wcrd.JCR = OPEN_ID; list.Add(wcrd); #region 拼接消息推送 if (wcrd.CHECK_DETAIL_RESULT == 0) { detailStr += Result.NAME.ToString() + "(不合格);"; continue; } detailStr += Result.NAME + "(合格);"; #endregion } #region 消息推送 if (sendMsg == null) { sendMsg = SendMsg; } bool IsSend = d.TryGetValue("OPID", out object OPID); sendMsg(wcr.JCJG == 0 && IsSend && !string.IsNullOrEmpty(OPID?.ToString()), OPID?.ToString(), d["ZHXM"].ToString(), d["FWBH"].ToString() , d["FWMC"].ToString(), detailStr, wcr.JCSJ); #endregion try { DB.Db().BeginTran(); DB.Db().Insertable(wcr).ExecuteCommand(); DB.Db().Insertable(list).ExecuteCommand(); DB.Db().CommitTran(); } catch (Exception e) { DB.Db().RollbackTran(); return(e.Message); } return("success"); }