/// <summary>
        /// 功能描述:数据插入到临时表
        /// 创建  人:周文卿
        /// 创建时间:2017/07/11
        /// 修改原因:
        /// 修改时间:
        /// 修改  人:
        /// </summary>
        /// <param name="inputdata">插入的实体类</param>
        /// <returns>json(是否成功)</returns>
        public HttpResponseMessage ItemSave(List <tbleqia_r_table> inputdata)
        {
            string returntext = "";

            try
            {
                Regex regexvalue  = new Regex(@"^(\d*\.?\d+)+$");
                Regex regexvalue2 = new Regex(@"^(\d*\.?\d+)?[lL]$");
                List <tblEQIA_RPI_Basedata_Pre> lstData = new List <tblEQIA_RPI_Basedata_Pre>();
                tblEQIA_RPI_Basedata_Pre        objData = new tblEQIA_RPI_Basedata_Pre();//临时表

                for (int i = 0; i < inputdata.Count; i++)
                {
                    List <tbaeqia_r_value> valueall = inputdata[i].valueall;
                    for (int j = 0; j < valueall.Count; j++)
                    {
                        objData.fldSTCode         = valueall[j].fldSTCode;
                        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;
                        RuletblEQIA_R_Item rule_item = new RuletblEQIA_R_Item();
                        DataTable          dataTable = rule_item.GetItemAndSTDDataByItemCode(inputdata[i].itemcode);
                        decimal            dValue    = -1;
                        if (dataTable.Rows.Count > 0)
                        {
                            if (valueall[j].monitorvalue != "")
                            {
                                if (regexvalue2.IsMatch(valueall[j].monitorvalue))
                                {
                                    if (valueall[j].monitorvalue.ToString().Trim().ToLower() == "l")
                                    {
                                        decimal temp = Convert.ToDecimal(dataTable.Rows[0]["fldSense"].ToString());
                                        if (temp <= 0)
                                        {
                                            returntext = rule.JsonStr("error", "项目[" + dataTable.Rows[0]["fldItemName"].ToString() + "]的检出限<=0,不能输入 L 作为监测值", "");
                                            return(new HttpResponseMessage {
                                                Content = new StringContent(returntext, System.Text.Encoding.UTF8, "application/json")
                                            });
                                        }
                                        dValue = -temp;
                                    }
                                    else
                                    {
                                        dValue = -Convert.ToDecimal(valueall[j].monitorvalue.ToString().Trim().Replace("l", "").Replace("L", ""));
                                    }
                                    if (dValue == -1)
                                    {
                                        dValue = Convert.ToDecimal(-0.99999999);
                                    }
                                }
                                else
                                {
                                    dValue = Convert.ToDecimal(valueall[j].monitorvalue.ToString().Trim());
                                }
                            }
                        }
                        tblEQIA_RPI_Basedata_Pre objTmp = objData.Clone();
                        objTmp.fldPCode = valueall[j].fldPCode;
                        DateTime time = DateTime.Parse(valueall[j].fldDate.ToString());
                        objTmp.fldSYear     = time.Year;
                        objTmp.fldSMonth    = time.Month;
                        objTmp.fldSDay      = time.Day;
                        objTmp.fldSHour     = 0;
                        objTmp.fldSMinute   = 0;
                        objTmp.fldEYear     = time.Year;
                        objTmp.fldEMonth    = time.Month;
                        objTmp.fldEDay      = time.Day;
                        objTmp.fldEHour     = 0;
                        objTmp.fldEMinute   = 0;
                        objTmp.fldFlag      = 0;
                        objTmp.fldImport    = false;
                        objTmp.fldItemCode  = inputdata[i].itemcode;
                        objTmp.fldItemValue = dValue;
                        lstData.Add(objTmp);
                    }
                }
                RuletblEQIA_RPI_Basedata_Pre rule_basedata = new RuletblEQIA_RPI_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")
            });
        }
Beispiel #2
0
        //
        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.fldPCode != null)
                        {
                            if (itemvalue.fldItemData.Count > 0)
                            {
                                List <tblEQIA_RPI_Basedata_Pre> lstData = new List <tblEQIA_RPI_Basedata_Pre>();
                                tblEQIA_RPI_Basedata_Pre        objData = new tblEQIA_RPI_Basedata_Pre();
                                tblEQI_InputDate inputdate_new          = new tblEQI_InputDate();
                                objData.fldSTCode         = itemvalue.fldSTCode;
                                objData.fldPCode          = itemvalue.fldPCode;
                                objData.fldSYear          = inputdate_new.fldSYear = decimal.Parse(Convert.ToDateTime(itemvalue.BeginDate).Year.ToString());
                                objData.fldSMonth         = inputdate_new.fldSMonth = decimal.Parse(Convert.ToDateTime(itemvalue.BeginDate).Month.ToString());
                                objData.fldSDay           = inputdate_new.fldSDay = decimal.Parse(Convert.ToDateTime(itemvalue.BeginDate).Day.ToString());
                                objData.fldSHour          = inputdate_new.fldSHour = decimal.Parse(Convert.ToDateTime(itemvalue.BeginDate).Hour.ToString());
                                objData.fldSMinute        = inputdate_new.fldSMinute = decimal.Parse(Convert.ToDateTime(itemvalue.BeginDate).Minute.ToString());
                                objData.fldEYear          = inputdate_new.fldEYear = decimal.Parse(Convert.ToDateTime(itemvalue.EndDate).Year.ToString());
                                objData.fldEMonth         = inputdate_new.fldEMonth = decimal.Parse(Convert.ToDateTime(itemvalue.EndDate).Month.ToString());
                                objData.fldEDay           = inputdate_new.fldEDay = decimal.Parse(Convert.ToDateTime(itemvalue.EndDate).Day.ToString());
                                objData.fldEHour          = inputdate_new.fldEHour = decimal.Parse(Convert.ToDateTime(itemvalue.EndDate).Hour.ToString());
                                objData.fldEMinute        = inputdate_new.fldEMinute = decimal.Parse(Convert.ToDateTime(itemvalue.EndDate).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   = "eqia_r";
                                Regex regexvalue2 = new Regex(@"^(\d*\.?\d+)?[lL]$");
                                for (int i = 0; i < itemvalue.fldItemData.Count; i++)
                                {
                                    decimal            dValue    = -1;
                                    RuletblEQIA_R_Item rule_item = new RuletblEQIA_R_Item();

                                    DataTable dataTable = rule_item.GetItemAndSTDDataByItemCode(itemvalue.fldItemData[i].itemcode);

                                    if (dataTable.Rows.Count > 0)
                                    {
                                        if (itemvalue.fldItemData[i].itemvalue.Trim() != "")
                                        {
                                            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());
                                            }
                                        }

                                        tblEQIA_RPI_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);
                                    }
                                }
                                RuletblEQIA_RPI_Basedata_Pre rule_basedata = new RuletblEQIA_RPI_Basedata_Pre();
                                bool issave = rule_basedata.InsertAll(lstData, inputdate_new);
                                if (issave)
                                {
                                    RuleWriteOperateLog rule_wol = new RuleWriteOperateLog();
                                    rule_wol.WriteLog(0, "录入大气数据到临时表,测点代码:" + itemvalue.fldPCode +
                                                      ";时间:" + 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", "缺少监测时间", "");
                }
            }
            catch (InputException ex)
            {
                result = rule.JsonStr("error", "数据保存失败," + ex.Message, "");
            }
            catch (InsertException ex)
            {
                PageException pagex = new PageException(int.Parse(itemvalue.fldUserID), ex.Message,
                                                        "Eqia_rPointInputController", "ItemSave", "");
                result = rule.JsonStr("error", "数据写入数据库失败," + ex.Message, "");
            }
            catch (Exception ex)
            {
                PageException pagex = new PageException(int.Parse(itemvalue.fldUserID), ex.Message,
                                                        "Eqia_rPointInputController", "ItemSave", "");
                result = rule.JsonStr("error", "数据保存时出现了错误," + ex.Message, "");
            }
            return(new HttpResponseMessage {
                Content = new StringContent(result, System.Text.Encoding.UTF8, "application/json")
            });
        }