Example #1
0
        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);
            }
        }