// public HttpResponseMessage ItemSave(eqia_rsavedata itemvalue) { string result = string.Empty; if (itemvalue.fldUserID == null || itemvalue.fldUserName == null) { itemvalue.fldUserID = rule.ConductUserinfo(itemvalue.fldUserID); itemvalue.fldUserName = ""; } try { if (itemvalue.BeginDate != null && itemvalue.EndDate != null) { if (itemvalue.fldSTCode != null) { if (itemvalue.fldRCode != null) { if (itemvalue.fldRSCode != null) { if (itemvalue.fldItemData.Count > 0) { List <tblEQIW_R_Basedata_Pre> lstData = new List <tblEQIW_R_Basedata_Pre>(); tblEQIW_R_Basedata_Pre objData = new tblEQIW_R_Basedata_Pre(); List <tblEQIW_D_Basedata_Pre> lstDataD = new List <tblEQIW_D_Basedata_Pre>(); tblEQI_InputDate inputdate_new = new tblEQI_InputDate(); objData.fldSTCode = itemvalue.fldSTCode; objData.fldRCode = itemvalue.fldRCode; objData.fldRSCode = itemvalue.fldRSCode; objData.fldRSC = itemvalue.fldRSC; objData.fldSAMPH = "1"; objData.fldSAMPR = "1"; objData.fldYear = inputdate_new.fldSYear = decimal.Parse(Convert.ToDateTime(itemvalue.BeginDate).Year.ToString()); objData.fldMonth = inputdate_new.fldSMonth = decimal.Parse(Convert.ToDateTime(itemvalue.BeginDate).Month.ToString()); objData.fldDay = inputdate_new.fldSDay = decimal.Parse(Convert.ToDateTime(itemvalue.BeginDate).Day.ToString()); objData.fldHour = inputdate_new.fldSHour = decimal.Parse(Convert.ToDateTime(itemvalue.BeginDate).Hour.ToString()); objData.fldMinute = inputdate_new.fldSMinute = decimal.Parse(Convert.ToDateTime(itemvalue.BeginDate).Minute.ToString()); objData.fldSource = 0; objData.fldUserID = inputdate_new.fldUserID = int.Parse(itemvalue.fldUserID); objData.fldFlag = 0; objData.fldCityID_Operate = inputdate_new.fldCityID = int.Parse(itemvalue.fldCityID_Operate); objData.fldCityID_Submit = itemvalue.fldCityID_Submit; objData.fldDate_Operate = DateTime.Now; objData.fldBatch = itemvalue.BeginDate + Guid.NewGuid().ToString(); inputdate_new.fldObject = "eqiw_r"; Regex regexvalue = new Regex(@"^(\d*\.?\d+)+$"); Regex regexvalue2 = new Regex(@"^(\d*\.?\d+)?[lL]$"); for (int i = 0; i < itemvalue.fldItemData.Count; i++) { decimal dValue = -1; DataTable dataTable = rule.GetItem("地表水", itemvalue.fldItemData[i].itemcode); if (dataTable.Rows.Count > 0) { if (itemvalue.fldItemData[i].itemvalue.Trim() != "") { //if (!regexvalue.IsMatch(itemvalue.fldItemData[i].itemvalue) && !regexvalue2.IsMatch(itemvalue.fldItemData[i].itemvalue)) //{ // result = rule.JsonStr("error", "项目[" + dataTable.Rows[0]["fldItemName"].ToString() + "]的监测值只能输入数字或字符L和l!", ""); // return new HttpResponseMessage { Content = new StringContent(result, System.Text.Encoding.UTF8, "application/json") }; //} if (!regexvalue2.IsMatch(itemvalue.fldItemData[i].itemvalue)) { dValue = Convert.ToDecimal(itemvalue.fldItemData[i].itemvalue); decimal dMinValue = Convert.ToDecimal(dataTable.Rows[0]["fldMinValue"].ToString()); if (dMinValue >= 0 && dValue < dMinValue) { result = rule.JsonStr("error", "" + dataTable.Rows[0]["fldItemName"] + "的监测值应 >=" + dMinValue, ""); return(new HttpResponseMessage { Content = new StringContent(result, System.Text.Encoding.UTF8, "application/json") }); } decimal dMaxValue = Convert.ToDecimal(dataTable.Rows[0]["fldMaxValue"].ToString()); if (dMaxValue > 0 && dValue > dMaxValue) { result = rule.JsonStr("error", "" + dataTable.Rows[0]["fldItemName"] + "的监测值应 <=" + dMaxValue, ""); return(new HttpResponseMessage { Content = new StringContent(result, System.Text.Encoding.UTF8, "application/json") }); } } if (regexvalue2.IsMatch(itemvalue.fldItemData[i].itemvalue.Trim())) { if (itemvalue.fldItemData[i].itemvalue.Trim().ToLower() == "l") { decimal temp = Convert.ToDecimal(dataTable.Rows[0]["fldSense"].ToString()); if (temp <= 0) { result = rule.JsonStr("error", "项目[" + dataTable.Rows[0]["fldItemName"].ToString() + "]的检出限<=0,不能输入 L 作为监测值", ""); return(new HttpResponseMessage { Content = new StringContent(result, System.Text.Encoding.UTF8, "application/json") }); } dValue = -temp; } else { dValue = -Convert.ToDecimal(itemvalue.fldItemData[i].itemvalue.Trim().Replace("l", "").Replace("L", "")); } if (dValue == -1) { dValue = Convert.ToDecimal(-0.99999999); } } else { dValue = Convert.ToDecimal(itemvalue.fldItemData[i].itemvalue.ToString().Trim()); } } tblEQIW_R_Basedata_Pre objTmp = objData.Clone(); objTmp.fldItemCode = itemvalue.fldItemData[i].itemcode; objTmp.fldItemValue = dValue; objTmp.fldCityID_Operate = Int32.Parse(itemvalue.fldCityID_Operate); objTmp.fldCityID_Submit = itemvalue.fldCityID_Submit; lstData.Add(objTmp); } } RuletblEQIW_R_Basedata_Pre rule_basedata = new RuletblEQIW_R_Basedata_Pre(); bool issave = rule_basedata.InsertAll(lstData, inputdate_new); if (issave) { RuleWriteOperateLog rule_wol = new RuleWriteOperateLog(); rule_wol.WriteLog(0, "录入河流数据到临时表,断面" + itemvalue.fldRSCode + ";时间:" + itemvalue.BeginDate + " " + itemvalue.EndDate + ";录入者ID:" + int.Parse(itemvalue.fldUserID), itemvalue.fldUserName, int.Parse(itemvalue.fldUserID), int.Parse(itemvalue.fldCityID_Submit)); result = rule.JsonStr("error", "录入成功!您保存的数据,已进入“待提交审核的数据”状态", ""); } else { result = rule.JsonStr("error", "数据保存失败,请重试", ""); } } else { result = rule.JsonStr("error", "缺少因子监测值", ""); } } else { result = rule.JsonStr("error", "缺少断面代码", ""); } } else { result = rule.JsonStr("error", "缺少河流代码", ""); } } else { result = rule.JsonStr("error", "缺少城市代码", ""); } } else { result = rule.JsonStr("error", "缺少监测时间", ""); } } catch (InputException ex) { result = rule.JsonStr("error", "数据保存失败," + ex.Message, ""); } catch (InsertException ex) { PageException pagex = new PageException(int.Parse(itemvalue.fldUserID), ex.Message, "Eqiw_rPointInputController", "ItemSave", ""); result = rule.JsonStr("error", "数据写入数据库失败," + ex.Message, ""); } catch (Exception ex) { PageException pagex = new PageException(int.Parse(itemvalue.fldUserID), ex.Message, "Eqiw_rPointInputController", "ItemSave", ""); result = rule.JsonStr("error", "数据保存时出现了错误," + ex.Message, ""); } return(new HttpResponseMessage { Content = new StringContent(result, System.Text.Encoding.UTF8, "application/json") }); }
/// <summary> /// 功能描述:数据插入到临时表 /// 创建 人:周文卿 /// 创建时间:2017/07/12 /// </summary> /// <param name="inputdata">插入的实体类</param> /// <returns>json(是否成功)</returns> public HttpResponseMessage ItemSave(List<tbleqiw_r_table> inputdata) { string returntext = ""; try { Regex regexvalue = new Regex(@"^(\d*\.?\d+)+$"); Regex regexvalue2 = new Regex(@"^(\d*\.?\d+)?[lL]$"); //赋值点位时间信息 List<tblEQIW_R_Basedata_Pre> lstData = new List<tblEQIW_R_Basedata_Pre>(); tblEQIW_R_Basedata_Pre objData = new tblEQIW_R_Basedata_Pre(); List<tblEQIW_D_Basedata_Pre> lstDataD = new List<tblEQIW_D_Basedata_Pre>(); for (int i = 0; i < inputdata.Count; i++) { List<tbaeqiw_r_value> valueall = inputdata[i].valueall; for (int j = 0; j < valueall.Count; j++) { objData.fldSTCode = valueall[j].fldSTCode; objData.fldRSC = inputdata[i].fldRSC; objData.fldUserID = int.Parse(inputdata[i].fldUserID); objData.fldFlag = 0; objData.fldCityID_Operate = int.Parse(inputdata[i].fldCityID_Operate); objData.fldCityID_Submit = inputdata[i].fldCityID_Submit; objData.fldDate_Operate = DateTime.Now; decimal dValue = -1; string samphvalue = valueall[j].monitorvalue; #region 修改监测值 if (samphvalue != "") { if (regexvalue2.IsMatch(samphvalue)) { if (samphvalue.ToLower() == "l") { decimal temp = Convert.ToDecimal(valueall[j].monitorvalue); if (temp <= 0) { returntext = rule.JsonStr("error", "项目的检出限<=0,不能输入 L 作为监测值", ""); return new HttpResponseMessage { Content = new StringContent(returntext, System.Text.Encoding.UTF8, "application/json") }; } dValue = -temp; } else { dValue = -Convert.ToDecimal(samphvalue.Replace("l", "").Replace("L", "")); } if (dValue == -1) { dValue = Convert.ToDecimal(-0.99999999); } } else { dValue = Convert.ToDecimal(samphvalue); } } #endregion tblEQIW_R_Basedata_Pre objTmp = objData.Clone(); DateTime time = DateTime.Parse(valueall[j].fldDate.ToString()); objTmp.fldYear = time.Year; objTmp.fldMonth = time.Month; objTmp.fldDay = time.Day; objTmp.fldHour = 0; objTmp.fldMinute = 0; objTmp.fldSAMPH = "1"; objTmp.fldRCode = valueall[j].fldRCode; objTmp.fldRSCode = valueall[j].fldRSCode; objTmp.fldSAMPR = "1"; objTmp.fldItemCode = inputdata[i].itemcode; objTmp.fldItemValue = dValue; lstData.Add(objTmp); } } RuletblEQIW_R_Basedata_Pre rule_basedata = new RuletblEQIW_R_Basedata_Pre(); bool issave = rule_basedata.InsertAll(lstData); if (issave) { RuleWriteOperateLog rule_wol = new RuleWriteOperateLog(); rule_wol.WriteLog(0, "录入河流数据到临时表", "", int.Parse(inputdata[0].fldUserID), int.Parse(inputdata[0].fldCityID_Operate)); returntext = rule.JsonStr("ok", "录入成功!您保存的数据,已进入“待提交审核的数据”状态", ""); } else { returntext = rule.JsonStr("error", "保存数据失败!请重试!", ""); } } catch (InputException ex) { returntext = rule.JsonStr("error", ex.Message, ""); } catch (InsertException ex) { returntext = rule.JsonStr("error", ex.Message, ""); } catch (Exception ex) { returntext = rule.JsonStr("error", ex.Message, ""); } return new HttpResponseMessage { Content = new StringContent(returntext, System.Text.Encoding.UTF8, "application/json") }; }