Esempio n. 1
0
        private void btnConfirm_Click(object sender, EventArgs e)
        {
            /*
             * 循环每个c1控件扣分的值然后用100-扣分值 就是评分后的总分。
             */
            #region 总分
            double bingansum = 0;
            //把病案首页扣的总分算出来
            for (int i = 1; i < this.c1FlexGrid1_BingAnShouYe.Rows.Count; i++)
            {
                if (this.c1FlexGrid1_BingAnShouYe[i, "扣分"].ToString() != "")
                {
                    bingansum += Convert.ToDouble(c1FlexGrid1_BingAnShouYe[i, "扣分"].ToString());//扣分项分值
                }
            }
            double ruyuanSum = 0;
            //把入院记录扣的总分算出来
            for (int i = 1; i < this.c1FlexGrid1_ruYuanJilu.Rows.Count; i++)
            {
                if (this.c1FlexGrid1_ruYuanJilu[i, "扣分"].ToString() != "")
                {
                    ruyuanSum += Convert.ToDouble(c1FlexGrid1_ruYuanJilu[i, "扣分"].ToString());//扣分项分值
                }
            }
            double bingchengSum = 0;
            //把病程记录扣的总分算出来
            for (int i = 1; i < this.c1FlexGrid1_bingchengjilu.Rows.Count; i++)
            {
                if (this.c1FlexGrid1_bingchengjilu[i, "扣分"].ToString() != "")
                {
                    bingchengSum += Convert.ToDouble(c1FlexGrid1_bingchengjilu[i, "扣分"].ToString());//扣分项分值
                }
            }
            double jibenyaojiuSum = 0;
            //把基本要求及医嘱单扣的总分算出来
            //for (int i = 1; i < this.c1FlexGrid1_jibenyaoqiu.Rows.Count; i++)
            //{
            //    if (this.c1FlexGrid1_jibenyaoqiu[i, "扣分"].ToString() != "")
            //    {
            //        jibenyaojiuSum += Convert.ToDouble(c1FlexGrid1_jibenyaoqiu[i, "扣分"].ToString());//扣分项分值
            //    }
            //}
            double chuyuanSiwangSum = 0;
            //把出院(死亡)记录扣的总分算出来
            for (int i = 1; i < this.c1FlexGrid1_chuyuansiwang.Rows.Count; i++)
            {
                if (this.c1FlexGrid1_chuyuansiwang[i, "扣分"].ToString() != "")
                {
                    chuyuanSiwangSum += Convert.ToDouble(c1FlexGrid1_chuyuansiwang[i, "扣分"].ToString());//扣分项分值
                }
            }
            double fuzhujianchaSum = 0;
            //把辅助检查扣的总分算出来
            for (int i = 1; i < this.c1FlexGrid1_fuzhujiancha.Rows.Count; i++)
            {
                if (this.c1FlexGrid1_fuzhujiancha[i, "扣分"].ToString() != "")
                {
                    fuzhujianchaSum += Convert.ToDouble(c1FlexGrid1_fuzhujiancha[i, "扣分"].ToString());//扣分项分值
                }
            }
            double zhiqingtongyiSum = 0;
            //把知情同意扣的总分算出来
            //for (int i = 1; i < this.c1FlexGrid1_zhiqingtongyi.Rows.Count; i++)
            //{
            //    if (this.c1FlexGrid1_zhiqingtongyi[i, "扣分"].ToString() != "")
            //    {
            //        zhiqingtongyiSum += Convert.ToDouble(c1FlexGrid1_zhiqingtongyi[i, "扣分"].ToString());//扣分项分值
            //    }
            //}


            //扣分调整
            if (bingansum > 15)
            {
                bingansum = 15;
            }
            if (ruyuanSum > 20)
            {
                ruyuanSum = 20;
            }
            if (bingchengSum > 15)
            {
                bingchengSum = 15;
            }
            if (chuyuanSiwangSum > 30)
            {
                chuyuanSiwangSum = 30;
            }
            if (fuzhujianchaSum > 20)
            {
                fuzhujianchaSum = 20;
            }

            double zongSum = 100 - (bingansum + ruyuanSum + bingchengSum + jibenyaojiuSum + chuyuanSiwangSum + fuzhujianchaSum + zhiqingtongyiSum);
            if (fmshr == null)
            {
                //fmgr.SetFenzhiNurse(zongSum);
            }
            else
            {
                fmshr.SetFenzhiNurse(zongSum);
            }
            #endregion

            /*
             * 如果是评分就是把记录插入到数据库里面。如果是编辑评分,那么首先根据病人住院ID(pid)和时间删除所有评分
             * 过的项目,在插入新评分的项
             */
            #region 添加或修改评分
            string        time = "sysdate";
            List <string> list = new List <string>();

            //如果是编辑的时候就要先删除,如果不是,那就是第一次评分
            if (fmshr != null)
            {
                //添加之前先要根据他的Pid,评分时间,和小项ID删除然后在添加
                for (int k = 0; k < dtitem_Id.Rows.Count; k++)
                {
                    string deleteSQL = "delete t_doc_grade where pid='" + pingfenId +
                                       "' and item_id=" + dtitem_Id.Rows[k]["item_id"].ToString() + " and to_char(grade_time,'yyyy-MM-dd HH24:mi:ss')='" + pingfenTime + "'";
                    App.ExecuteSQL(deleteSQL);
                }
            }
            //满分
            if (zongSum == 100)
            {
                string binganID        = "0";                                //扣分项的ID
                string binganKoufen    = "";                                 //扣分项分值
                string binganLiyou     = "";                                 //扣分原因
                string dosID           = App.UserAccount.UserInfo.User_id;   //医生ID
                string dosName         = App.UserAccount.UserInfo.User_name; //医生姓名
                string insertupdateSQL = "";                                 //定义要执行的sql语句

                if (pingfenId == "" && pid != "")
                {
                    insertupdateSQL = "insert into t_doc_grade(pid,item_id,down_point,down_reason," +
                                      "item_big,grade_doc_id,grade_doc_name,sum_point,grade_time,emptype) values('" + pid + "','" + binganID +
                                      "','" + binganKoufen + "','" + binganLiyou + "',56,'" + dosID +
                                      "','" + dosName + "','" + zongSum + "'," + time + ",'N')";

                    list.Add(insertupdateSQL);
                }
                else
                {
                    string insert = "insert into t_doc_grade(pid,item_id,down_point,down_reason," +
                                    "item_big,grade_doc_id,grade_doc_name,sum_point,grade_time,emptype) values('" + pingfenId + "','" + binganID +
                                    "','" + binganKoufen + "','" + binganLiyou + "',56,'" + dosID +
                                    "','" + dosName + "','" + zongSum + "',to_timestamp('" + pingfenTime + "','yyyy-MM-dd HH24:mi:ss'),'N') ";
                    if (App.ExecuteSQL(insert) > 0)
                    {
                        this.Close();
                    }
                }
            }
            //循环病案首页的每一项添加到表里面
            for (int i = 1; i < this.c1FlexGrid1_BingAnShouYe.Rows.Count; i++)
            {
                if (this.c1FlexGrid1_BingAnShouYe[i, "扣分"].ToString() != "")
                {
                    string binganID        = c1FlexGrid1_BingAnShouYe[i, "ID"].ToString(); //扣分项的ID
                    string binganKoufen    = c1FlexGrid1_BingAnShouYe[i, "扣分"].ToString(); //扣分项分值
                    string binganLiyou     = c1FlexGrid1_BingAnShouYe[i, "理由"].ToString(); //扣分原因
                    string dosID           = App.UserAccount.UserInfo.User_id;             //医生ID
                    string dosName         = App.UserAccount.UserInfo.User_name;           //医生姓名
                    string insertupdateSQL = "";                                           //定义要执行的sql语句
                    if (pingfenId == "" && pid != "")
                    {
                        insertupdateSQL = "insert into t_doc_grade(pid,item_id,down_point,down_reason," +
                                          "item_big,grade_doc_id,grade_doc_name,sum_point,grade_time,emptype) values('" + pid + "','" + binganID +
                                          "','" + binganKoufen + "','" + binganLiyou + "',101,'" + dosID +
                                          "','" + dosName + "','" + zongSum + "'," + time + ",'N')";
                        list.Add(insertupdateSQL);
                    }
                    else
                    {
                        string insert = "insert into t_doc_grade(pid,item_id,down_point,down_reason," +
                                        "item_big,grade_doc_id,grade_doc_name,sum_point,grade_time,emptype) values('" + pingfenId + "','" + binganID +
                                        "','" + binganKoufen + "','" + binganLiyou + "',101,'" + dosID +
                                        "','" + dosName + "','" + zongSum + "',to_timestamp('" + pingfenTime + "','yyyy-MM-dd HH24:mi:ss'),'N') ";
                        if (App.ExecuteSQL(insert) > 0)
                        {
                            this.Close();
                        }
                    }
                }
            }
            //if (App.ExecuteBatch(list.ToArray()) > 0)
            //{
            //    App.Msg("评分成功");
            //}


            //循环入院记录的每一项添加到表里面
            for (int i = 1; i < this.c1FlexGrid1_ruYuanJilu.Rows.Count; i++)
            {
                if (this.c1FlexGrid1_ruYuanJilu[i, "扣分"].ToString() != "")
                {
                    string binganID     = c1FlexGrid1_ruYuanJilu[i, "ID"].ToString(); //扣分项的ID
                    string binganKoufen = c1FlexGrid1_ruYuanJilu[i, "扣分"].ToString(); //扣分项分值
                    string binganLiyou  = c1FlexGrid1_ruYuanJilu[i, "理由"].ToString(); //扣分原因
                    string dosID        = App.UserAccount.UserInfo.User_id;           //医生ID
                    string dosName      = App.UserAccount.UserInfo.User_name;         //医生姓名

                    string insertupdateSQL = "";                                      //定义要执行的sql语句
                    if (pingfenId == "" && pid != "")
                    {
                        insertupdateSQL = "insert into t_doc_grade(pid,item_id,down_point,down_reason," +
                                          "item_big,grade_doc_id,grade_doc_name,sum_point,grade_time,emptype) values('" + pid + "','" + binganID +
                                          "','" + binganKoufen + "','" + binganLiyou + "',102,'" + dosID +
                                          "','" + dosName + "','" + zongSum + "'," + time + ",'N')";
                        list.Add(insertupdateSQL);
                    }
                    else
                    {
                        string insert = "insert into t_doc_grade(pid,item_id,down_point,down_reason," +
                                        "item_big,grade_doc_id,grade_doc_name,sum_point,grade_time,emptype) values('" + pingfenId + "','" + binganID +
                                        "','" + binganKoufen + "','" + binganLiyou + "',102,'" + dosID +
                                        "','" + dosName + "','" + zongSum + "',to_timestamp('" + pingfenTime + "','yyyy-MM-dd HH24:mi:ss'),'N') ";
                        if (App.ExecuteSQL(insert) > 0)
                        {
                            this.Close();
                        }
                    }
                }
            }



            //循环病程记录的每一项添加到表里面
            for (int i = 1; i < this.c1FlexGrid1_bingchengjilu.Rows.Count; i++)
            {
                if (this.c1FlexGrid1_bingchengjilu[i, "扣分"].ToString() != "")
                {
                    string binganID     = c1FlexGrid1_bingchengjilu[i, "ID"].ToString(); //扣分项的ID
                    string binganKoufen = c1FlexGrid1_bingchengjilu[i, "扣分"].ToString(); //扣分项分值
                    string binganLiyou  = c1FlexGrid1_bingchengjilu[i, "理由"].ToString(); //扣分原因
                    string dosID        = App.UserAccount.UserInfo.User_id;              //医生ID
                    string dosName      = App.UserAccount.UserInfo.User_name;            //医生姓名

                    string insertupdateSQL = "";                                         //定义要执行的sql语句
                    if (pingfenId == "" && pid != "")
                    {
                        insertupdateSQL = "insert into t_doc_grade(pid,item_id,down_point,down_reason," +
                                          "item_big,grade_doc_id,grade_doc_name,sum_point,grade_time,emptype) values('" + pid + "','" + binganID +
                                          "','" + binganKoufen + "','" + binganLiyou + "',103,'" + dosID +
                                          "','" + dosName + "','" + zongSum + "'," + time + ",'N')";
                        list.Add(insertupdateSQL);
                    }
                    else
                    {
                        string insert = "insert into t_doc_grade(pid,item_id,down_point,down_reason," +
                                        "item_big,grade_doc_id,grade_doc_name,sum_point,grade_time,emptype) values('" + pingfenId + "','" + binganID +
                                        "','" + binganKoufen + "','" + binganLiyou + "',103,'" + dosID +
                                        "','" + dosName + "','" + zongSum + "',to_timestamp('" + pingfenTime + "','yyyy-MM-dd HH24:mi:ss'),'N') ";
                        if (App.ExecuteSQL(insert) > 0)
                        {
                            this.Close();
                        }
                    }
                }
            }



            //循环基本要求及医嘱单的每一项添加到表里面
            //for (int i = 1; i < this.c1FlexGrid1_jibenyaoqiu.Rows.Count; i++)
            //{
            //    if (this.c1FlexGrid1_jibenyaoqiu[i, "扣分"].ToString() != "")
            //    {
            //        string binganID = c1FlexGrid1_jibenyaoqiu[i, "ID"].ToString();//扣分项的ID
            //        string binganKoufen = c1FlexGrid1_jibenyaoqiu[i, "扣分"].ToString();//扣分项分值
            //        string binganLiyou = c1FlexGrid1_jibenyaoqiu[i, "理由"].ToString();//扣分原因
            //        string dosID = App.UserAccount.UserInfo.User_id;//医生ID
            //        string dosName = App.UserAccount.UserInfo.User_name;//医生姓名

            //        string insertupdateSQL = "";//定义要执行的sql语句
            //        if (pingfenId == "" && pid != "")
            //        {
            //            insertupdateSQL = "insert into t_doc_grade(pid,item_id,down_point,down_reason," +
            //                "item_big,grade_doc_id,grade_doc_name,sum_point,grade_time,emptype) values('" + pid + "','" + binganID +
            //            "','" + binganKoufen + "','" + binganLiyou + "',60,'" + dosID +
            //            "','" + dosName + "','" + zongSum + "'," + time + ",'N')";
            //            list.Add(insertupdateSQL);
            //        }
            //        else
            //        {
            //            string insert = "insert into t_doc_grade(pid,item_id,down_point,down_reason," +
            //            "item_big,grade_doc_id,grade_doc_name,sum_point,grade_time,emptype) values('" + pingfenId + "','" + binganID +
            //        "','" + binganKoufen + "','" + binganLiyou + "',60,'" + dosID +
            //        "','" + dosName + "','" + zongSum + "',to_timestamp('" + pingfenTime + "','yyyy-MM-dd HH24:mi:ss'),'N') ";
            //            if (App.ExecuteSQL(insert) > 0)
            //                this.Close();
            //        }
            //    }
            //}



            //循环出院(死亡)记录的每一项添加到表里面
            for (int i = 1; i < this.c1FlexGrid1_chuyuansiwang.Rows.Count; i++)
            {
                if (this.c1FlexGrid1_chuyuansiwang[i, "扣分"].ToString() != "")
                {
                    string binganID     = c1FlexGrid1_chuyuansiwang[i, "ID"].ToString(); //扣分项的ID
                    string binganKoufen = c1FlexGrid1_chuyuansiwang[i, "扣分"].ToString(); //扣分项分值
                    string binganLiyou  = c1FlexGrid1_chuyuansiwang[i, "理由"].ToString(); //扣分原因
                    string dosID        = App.UserAccount.UserInfo.User_id;              //医生ID
                    string dosName      = App.UserAccount.UserInfo.User_name;            //医生姓名

                    string insertupdateSQL = "";                                         //定义要执行的sql语句
                    if (pingfenId == "" && pid != "")
                    {
                        insertupdateSQL = "insert into t_doc_grade(pid,item_id,down_point,down_reason," +
                                          "item_big,grade_doc_id,grade_doc_name,sum_point,grade_time,emptype) values('" + pid + "','" + binganID +
                                          "','" + binganKoufen + "','" + binganLiyou + "',104,'" + dosID +
                                          "','" + dosName + "','" + zongSum + "'," + time + ",'N')";
                        list.Add(insertupdateSQL);
                    }
                    else
                    {
                        string insert = "insert into t_doc_grade(pid,item_id,down_point,down_reason," +
                                        "item_big,grade_doc_id,grade_doc_name,sum_point,grade_time,emptype) values('" + pingfenId + "','" + binganID +
                                        "','" + binganKoufen + "','" + binganLiyou + "',104,'" + dosID +
                                        "','" + dosName + "','" + zongSum + "',to_timestamp('" + pingfenTime + "','yyyy-MM-dd HH24:mi:ss'),'N') ";
                        if (App.ExecuteSQL(insert) > 0)
                        {
                            this.Close();
                        }
                    }
                }
            }



            //循环辅助检查的每一项添加到表里面
            for (int i = 1; i < this.c1FlexGrid1_fuzhujiancha.Rows.Count; i++)
            {
                if (this.c1FlexGrid1_fuzhujiancha[i, "扣分"].ToString() != "")
                {
                    string binganID     = c1FlexGrid1_fuzhujiancha[i, "ID"].ToString(); //扣分项的ID
                    string binganKoufen = c1FlexGrid1_fuzhujiancha[i, "扣分"].ToString(); //扣分项分值
                    string binganLiyou  = c1FlexGrid1_fuzhujiancha[i, "理由"].ToString(); //扣分原因
                    string dosID        = App.UserAccount.UserInfo.User_id;             //医生ID
                    string dosName      = App.UserAccount.UserInfo.User_name;           //医生姓名

                    string insertupdateSQL = "";                                        //定义要执行的sql语句
                    if (pingfenId == "" && pid != "")
                    {
                        insertupdateSQL = "insert into t_doc_grade(pid,item_id,down_point,down_reason," +
                                          "item_big,grade_doc_id,grade_doc_name,sum_point,grade_time,emptype) values('" + pid + "','" + binganID +
                                          "','" + binganKoufen + "','" + binganLiyou + "',105,'" + dosID +
                                          "','" + dosName + "','" + zongSum + "'," + time + ",'N')";
                        list.Add(insertupdateSQL);
                    }
                    else
                    {
                        string insert = "insert into t_doc_grade(pid,item_id,down_point,down_reason," +
                                        "item_big,grade_doc_id,grade_doc_name,sum_point,grade_time,emptype) values('" + pingfenId + "','" + binganID +
                                        "','" + binganKoufen + "','" + binganLiyou + "',105,'" + dosID +
                                        "','" + dosName + "','" + zongSum + "',to_timestamp('" + pingfenTime + "','yyyy-MM-dd HH24:mi:ss'),'N') ";
                        if (App.ExecuteSQL(insert) > 0)
                        {
                            this.Close();
                        }
                    }
                }
            }



            //循环知情同意的每一项添加到表里面
            //for (int i = 1; i < this.c1FlexGrid1_zhiqingtongyi.Rows.Count; i++)
            //{
            //    if (this.c1FlexGrid1_zhiqingtongyi[i, "扣分"].ToString() != "")
            //    {
            //        string binganID = c1FlexGrid1_zhiqingtongyi[i, "ID"].ToString();//扣分项的ID
            //        string binganKoufen = c1FlexGrid1_zhiqingtongyi[i, "扣分"].ToString();//扣分项分值
            //        string binganLiyou = c1FlexGrid1_zhiqingtongyi[i, "理由"].ToString();//扣分原因
            //        string dosID = App.UserAccount.UserInfo.User_id;//医生ID
            //        string dosName = App.UserAccount.UserInfo.User_name;//医生姓名

            //        string insertupdateSQL = "";//定义要执行的sql语句
            //        if (pingfenId == "" && pid != "")
            //        {
            //            insertupdateSQL = "insert into t_doc_grade(pid,item_id,down_point,down_reason," +
            //                "item_big,grade_doc_id,grade_doc_name,sum_point,grade_time,emptype) values('" + pid + "','" + binganID +
            //            "','" + binganKoufen + "','" + binganLiyou + "',63,'" + dosID +
            //            "','" + dosName + "','" + zongSum + "'," + time + ",'N')";
            //            list.Add(insertupdateSQL);
            //        }
            //        else
            //        {
            //            string insert = "insert into t_doc_grade(pid,item_id,down_point,down_reason," +
            //            "item_big,grade_doc_id,grade_doc_name,sum_point,grade_time,emptype) values('" + pingfenId + "','" + binganID +
            //        "','" + binganKoufen + "','" + binganLiyou + "',63,'" + dosID +
            //        "','" + dosName + "','" + zongSum + "',to_timestamp('" + pingfenTime + "','yyyy-MM-dd HH24:mi:ss'),'N') ";
            //            if (App.ExecuteSQL(insert) > 0)
            //                this.Close();
            //        }
            //    }
            //}


            if (fmgr == null)
            {
                return;
            }
            else
            {
                //把所有的评分项目的插入语句用list保存起来
                //fmgr.addPingFen(list);

                //执行要插入的所有sql语句
                if (App.ExecuteBatch(list.ToArray()) > 0)
                {
                    App.Msg("保存成功");
                    //每次保存一次都要清空一次
                    list.Clear();
                }
                else
                {
                    App.Msg("保存失败");
                    list.Clear();
                }
            }
            this.Close();
            #endregion
        }