private void Save() { if (m_updateRows.Count < 1) { App.Msg("请至少修改一行数据才能进行保存!"); return; } string ctype = ""; string l_val = ""; string lsql = ""; string tmpVal = ""; List <string> sqls = new List <string>(); DateTime dtGridNow = DateTime.Parse(dtpDate.Value.Date.ToString("yyyy-MM-dd ") + App.GetSystemTime().ToString("HH:mm")); DateTime dtMeasure = tempetureDataComm.GetInsertDateTime(dtGridNow, _templateType); //通过dtGridNow,获取最近的录入时间点 DateTime dtDayMeasure = Convert.ToDateTime(dtpDate.Value.Date.ToString("yyyy-MM-dd")); try { foreach (int i in m_updateRows) { /* * //当行数据修改过才进行保存 * bool IsEdit = StringHelper.GetBoolean(this.dgv_Tempreturelist.Rows[i].Cells["Col_IsEdit"].Value, false); * if (!IsEdit) * { * continue; * } */ int vID = StringHelper.GetInt(this.dgv_Tempreturelist.Rows[i].Cells["Col_ID"].Value); string vSickBedNo = StringHelper.GetString(this.dgv_Tempreturelist.Rows[i].Cells["Col_BED"].Value); for (int j = 0; j < dgv_Tempreturelist.Columns.Count; j++) { DataGridViewCell vCell = this.dgv_Tempreturelist.Rows[i].Cells[j]; string columnHeaderText = vCell.OwningColumn.HeaderText; if (columnHeaderText == "T" || columnHeaderText == "P" || columnHeaderText == "R") //按时间点录入数据 { string[] strs = vCell.OwningColumn.DataPropertyName.Split('_'); string dtStr = dtpDate.Value.Date.ToString("yyyy-MM-dd") + " " + strs[1]; ctype = DictionaryHelper.Get(m_DicTPR, strs[0]); lsql = "delete from t_temperature_record where patient_id=" + vID.ToString() + " and template_type='" + _templateType + "' and to_char(MEASURE_TIME,'yyyy-MM-dd hh24:mi')='" + dtStr + "' and VALTYPE='" + ctype + "'"; sqls.Add(lsql); tmpVal = StringHelper.GetString(vCell.Value).Trim(); if (tmpVal != "") { l_val = tmpVal; sqls.Add(tempetureDataComm.GetInsertSql(vID, vSickBedNo, m_SickareaName, m_SectionName, DateTime.Parse(dtStr), ctype, l_val, DateTime.Parse(dtStr), _templateType, m_OperateUserId)); } } else if (m_DicSaveAsDayColumn.ContainsKey(vCell.OwningColumn.DataPropertyName))//按天录入数据 { ctype = vCell.OwningColumn.DataPropertyName; lsql = "delete from t_temperature_record where patient_id=" + vID.ToString() + " and template_type='" + _templateType + "' and to_char(MEASURE_TIME,'yyyy-MM-dd')='" + dtpDate.Value.Date.ToString("yyyy-MM-dd") + "' and VALTYPE='" + ctype + "'"; sqls.Add(lsql); tmpVal = StringHelper.GetString(vCell.Value).Trim(); if (tmpVal != "") { l_val = tmpVal; sqls.Add(tempetureDataComm.GetInsertSql(vID, vSickBedNo, m_SickareaName, m_SectionName, dtDayMeasure, ctype, l_val, dtMeasure, _templateType, m_OperateUserId)); } } } } if (sqls.Count > 0) { int count = App.ExecuteBatch(sqls.ToArray()); if (count > 0) { m_updateRows.Clear(); App.Msg("操作成功!"); Query(); } else { App.Msg("操作失败!"); } } } catch (Exception ex) { App.MsgErr("操作失败:" + ex.Message); } }