示例#1
0
        /// <summary>
        /// 显示历史处方
        /// </summary>
        public void m_mthShow()
        {
            string RecID = this.RecipeInfo_VO.m_strOUTPATRECIPEID_CHR;

            int       row    = 0;
            long      ret    = 0;
            string    ItemID = "";
            DataTable dt;
            DataTable EntryDt = new DataTable();

            decimal Totalmny = 0;
            clsDcl_DoctorWorkstation objDoct = new clsDcl_DoctorWorkstation();

            //1、西药
            ret = objDoct.m_mthFindRecipeDetail1(RecID, out dt, false);
            if (ret > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataRow dr = dt.Rows[i];

                    //0 状态 1 方号 2 项目名称 3 原规格 4 新规格 5 频率 6 用法 7 数量 8 原单价 9 新单价 10 原合计金额 11 项目属性 12 让利总金额 13 批发单价 14 批发单位单价
                    string[] s = new string[15];

                    string NewUnit       = "";
                    string NewDosageUnit = "";

                    ItemID = dr["itemid_chr"].ToString();

                    s[0] = "T";

                    if (dr["rowno_chr"].ToString().Trim() == "0")
                    {
                        s[1] = "";
                    }
                    else
                    {
                        s[1] = dr["rowno_chr"].ToString().Trim();
                    }

                    s[2] = dr["itemname_vchr"].ToString();
                    s[3] = dr["itemspec_vchr"].ToString();

                    if (dr["itemspec_vchr"].ToString().Trim() != dr["spec"].ToString().Trim())
                    {
                        s[4] = dr["spec"].ToString().Trim();
                    }
                    else
                    {
                        s[4] = "";
                    }


                    s[5]  = dr["freqname_chr"].ToString();
                    s[6]  = dr["usagename_vchr"].ToString();
                    s[7]  = dr["tolqty_dec"].ToString();
                    s[8]  = dr["unitprice_mny"].ToString();
                    s[9]  = "";
                    s[10] = dr["tolprice_mny"].ToString();
                    s[11] = "1";
                    s[12] = dr["toldiffprice_mny"].ToString();
                    s[13] = dr["tradeprice_mny"].ToString();
                    s[14] = dr["subtrademoney"].ToString();
                    //判断大小单位
                    if (dr["opchargeflg_int"].ToString().Trim() == "0")
                    {
                        if (this.ConvertObjToDecimal(dr["unitprice_mny"]) != this.ConvertObjToDecimal(dr["itemprice_mny"]))
                        {
                            s[9] = dr["itemprice_mny"].ToString();
                        }

                        NewUnit = dr["itemopunit_chr"].ToString();
                    }
                    else
                    {
                        if (this.ConvertObjToDecimal(dr["unitprice_mny"]) != this.ConvertObjToDecimal(dr["submoney"]))
                        {
                            s[9] = dr["submoney"].ToString();
                        }

                        NewUnit = dr["itemipunit_chr"].ToString();
                    }

                    NewDosageUnit = dr["dosageunit"].ToString().Trim();

                    Totalmny += ConvertObjToDecimal(dr["tolprice_mny"]);
                    row       = this.dtgItem.Rows.Add(s);

                    //if (dr["noqtyflag_int"].ToString() == "1")
                    //{
                    //    this.dtgItem.Rows[row].Cells[0].Value = "F";
                    //    this.dtgItem.Rows[row].DefaultCellStyle.ForeColor = Color.Red;
                    //    if (!LackMedicine)
                    //    {
                    //        this.dtgItem.Rows[row].Cells[0].ReadOnly = true;
                    //    }
                    //}

                    if ((dr["dosageunit_chr"].ToString().Trim() != NewDosageUnit) || (dr["unitid_chr"].ToString().Trim() != NewUnit) || (s[4].ToString().Trim() != ""))
                    {
                        this.dtgItem.Rows[row].Cells[0].Value             = "F";
                        this.dtgItem.Rows[row].DefaultCellStyle.ForeColor = Color.Green;
                        this.dtgItem.Rows[row].Cells[0].ReadOnly          = true;
                    }

                    if (dr["ifstop_int"].ToString() == "1")
                    {
                        this.dtgItem.Rows[row].Cells[0].Value             = "F";
                        this.dtgItem.Rows[row].DefaultCellStyle.ForeColor = Color.DimGray;
                        this.dtgItem.Rows[row].Cells[0].ReadOnly          = true;
                    }

                    this.dtgItem.Rows[row].Tag = dr;
                }
            }

            //2、中药
            ret = objDoct.m_mthFindRecipeDetail2(RecID, out dt, false);
            if (ret > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataRow dr = dt.Rows[i];

                    //0 状态 1 方号 2 项目名称 3 原规格 4 新规格 5 频率 6 用法 7 数量 8 原单价 9 新单价 10 原合计金额 11 项目属性 12 让利总金额 13 批发单价 14 批发单位单价
                    string[] s = new string[15];

                    string NewUnit = "";

                    ItemID = dr["itemid"].ToString();

                    s[0]  = "T";
                    s[1]  = "";
                    s[2]  = dr["itemname"].ToString();
                    s[3]  = dr["dec"].ToString();
                    s[4]  = "";
                    s[5]  = "";
                    s[6]  = dr["usagename_vchr"].ToString();
                    s[7]  = Convert.ToString(ConvertObjToDecimal(dr["times"]) * ConvertObjToDecimal(dr["min_qty_dec"]));
                    s[8]  = dr["price"].ToString();
                    s[9]  = "";
                    s[10] = dr["summoney"].ToString();
                    s[11] = "2";
                    s[12] = dr["toldiffprice_mny"].ToString();
                    s[13] = dr["tradeprice_mny"].ToString();
                    s[14] = dr["subtrademoney"].ToString();
                    if (dr["dec"].ToString().Trim() != dr["spec"].ToString().Trim())
                    {
                        s[4] = dr["spec"].ToString();
                    }

                    if (this.ConvertObjToDecimal(dr["price"]) != this.ConvertObjToDecimal(dr["submoney"]))
                    {
                        s[9] = dr["submoney"].ToString();
                    }

                    NewUnit = dr["dosageunit"].ToString().Trim();

                    Totalmny += ConvertObjToDecimal(dr["summoney"]);
                    row       = this.dtgItem.Rows.Add(s);

                    //if (dr["noqtyflag_int"].ToString() == "1")
                    //{
                    //    this.dtgItem.Rows[row].Cells[0].Value = "F";
                    //    this.dtgItem.Rows[row].DefaultCellStyle.BackColor = Color.Red;
                    //    if (!LackMedicine)
                    //    {
                    //        this.dtgItem.Rows[row].Cells[0].ReadOnly = true;
                    //    }
                    //}

                    if ((dr["unit"].ToString().Trim() != NewUnit) || (s[4].ToString().Trim() != ""))
                    {
                        this.dtgItem.Rows[row].Cells[0].Value             = "F";
                        this.dtgItem.Rows[row].DefaultCellStyle.ForeColor = Color.Green;
                        this.dtgItem.Rows[row].Cells[0].ReadOnly          = true;
                    }

                    if (dr["ifstop_int"].ToString() == "1")
                    {
                        this.dtgItem.Rows[row].Cells[0].Value             = "F";
                        this.dtgItem.Rows[row].DefaultCellStyle.BackColor = Color.DarkGray;
                        this.dtgItem.Rows[row].Cells[0].ReadOnly          = true;
                    }

                    this.dtgItem.Rows[row].Tag = dr;
                }
            }

            if (ItemInputMode == 0)
            {
                //3、检验
                ret = objDoct.m_mthFindRecipeDetail3(RecID, out dt, false);
                if (ret > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        DataRow dr = dt.Rows[i];

                        //0 状态 1 方号 2 项目名称 3 原规格 4 新规格 5 频率 6 用法 7 数量 8 原单价 9 新单价 10 原合计金额 11 项目属性
                        string[] s = new string[12];

                        string NewUnit = "";

                        ItemID = dr["itemid"].ToString();

                        s[0]  = "T";
                        s[1]  = "";
                        s[2]  = dr["itemname"].ToString();
                        s[3]  = dr["dec"].ToString();
                        s[4]  = "";
                        s[5]  = "";
                        s[6]  = "";
                        s[7]  = dr["quantity"].ToString();
                        s[8]  = dr["price"].ToString();
                        s[9]  = "";
                        s[10] = dr["summoney"].ToString();
                        s[11] = "3";

                        if (dr["dec"].ToString().Trim() != dr["spec"].ToString().Trim())
                        {
                            s[4] = dr["spec"].ToString();
                        }

                        if (this.ConvertObjToDecimal(dr["price"]) != this.ConvertObjToDecimal(dr["itemprice_mny"]))
                        {
                            s[9] = dr["itemprice_mny"].ToString();
                        }

                        NewUnit = dr["itemunit_chr"].ToString().Trim();

                        Totalmny += ConvertObjToDecimal(dr["summoney"]);
                        row       = this.dtgItem.Rows.Add(s);

                        if ((dr["unit"].ToString().Trim() != NewUnit) || (s[4].ToString().Trim() != ""))
                        {
                            this.dtgItem.Rows[row].Cells[0].Value             = "F";
                            this.dtgItem.Rows[row].DefaultCellStyle.ForeColor = Color.Green;
                            this.dtgItem.Rows[row].Cells[0].ReadOnly          = true;
                        }

                        if (dr["ifstop_int"].ToString() == "1")
                        {
                            this.dtgItem.Rows[row].Cells[0].Value             = "F";
                            this.dtgItem.Rows[row].DefaultCellStyle.BackColor = Color.DarkGray;
                            this.dtgItem.Rows[row].Cells[0].ReadOnly          = true;
                        }

                        this.dtgItem.Rows[row].Tag = dr;
                    }
                }

                //4、检查
                ret = objDoct.m_mthFindRecipeDetail4(RecID, out dt, false);
                if (ret > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        DataRow dr = dt.Rows[i];

                        //0 状态 1 方号 2 项目名称 3 原规格 4 新规格 5 频率 6 用法 7 数量 8 原单价 9 新单价 10 原合计金额 11 项目属性
                        string[] s = new string[12];

                        string NewUnit = "";

                        ItemID = dr["itemid"].ToString();

                        s[0]  = "T";
                        s[1]  = "";
                        s[2]  = dr["itemname"].ToString();
                        s[3]  = dr["dec"].ToString();
                        s[4]  = "";
                        s[5]  = "";
                        s[6]  = "";
                        s[7]  = dr["quantity"].ToString();
                        s[8]  = dr["price"].ToString();
                        s[9]  = "";
                        s[10] = dr["summoney"].ToString();
                        s[11] = "4";

                        if (dr["dec"].ToString().Trim() != dr["spec"].ToString().Trim())
                        {
                            s[4] = dr["spec"].ToString();
                        }

                        if (this.ConvertObjToDecimal(dr["price"]) != this.ConvertObjToDecimal(dr["itemprice_mny"]))
                        {
                            s[9] = dr["itemprice_mny"].ToString();
                        }
                        NewUnit = dr["itemunit_chr"].ToString().Trim();

                        Totalmny += ConvertObjToDecimal(dr["summoney"]);
                        row       = this.dtgItem.Rows.Add(s);

                        if ((dr["unit"].ToString().Trim() != NewUnit) || (s[4].ToString().Trim() != ""))
                        {
                            this.dtgItem.Rows[row].Cells[0].Value             = "F";
                            this.dtgItem.Rows[row].DefaultCellStyle.ForeColor = Color.Green;
                            this.dtgItem.Rows[row].Cells[0].ReadOnly          = true;
                        }

                        if (dr["ifstop_int"].ToString() == "1")
                        {
                            this.dtgItem.Rows[row].Cells[0].Value             = "F";
                            this.dtgItem.Rows[row].DefaultCellStyle.BackColor = Color.DarkGray;
                            this.dtgItem.Rows[row].Cells[0].ReadOnly          = true;
                        }

                        this.dtgItem.Rows[row].Tag = dr;
                    }
                }

                //5、手术治疗
                ret = objDoct.m_mthFindRecipeDetail5(RecID, out dt, false);
                if (ret > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        DataRow dr = dt.Rows[i];

                        //0 状态 1 方号 2 项目名称 3 原规格 4 新规格 5 频率 6 用法 7 数量 8 原单价 9 新单价 10 原合计金额 11 项目属性
                        string[] s = new string[12];

                        string NewUnit = "";

                        ItemID = dr["itemid"].ToString();

                        s[0]  = "T";
                        s[1]  = "";
                        s[2]  = dr["itemname"].ToString();
                        s[3]  = dr["dec"].ToString();
                        s[4]  = "";
                        s[5]  = "";
                        s[6]  = "";
                        s[7]  = dr["quantity"].ToString();
                        s[8]  = dr["price"].ToString();
                        s[9]  = "";
                        s[10] = dr["summoney"].ToString();
                        s[11] = "5";

                        if (dr["dec"].ToString().Trim() != dr["spec"].ToString().Trim())
                        {
                            s[4] = dr["spec"].ToString();
                        }

                        if (this.ConvertObjToDecimal(dr["price"]) != this.ConvertObjToDecimal(dr["itemprice_mny"]))
                        {
                            s[9] = dr["itemprice_mny"].ToString();
                        }
                        NewUnit = dr["itemunit_chr"].ToString().Trim();

                        Totalmny += ConvertObjToDecimal(dr["summoney"]);
                        row       = this.dtgItem.Rows.Add(s);

                        if ((dr["unit"].ToString().Trim() != NewUnit) || (s[4].ToString().Trim() != ""))
                        {
                            this.dtgItem.Rows[row].Cells[0].Value             = "F";
                            this.dtgItem.Rows[row].DefaultCellStyle.ForeColor = Color.Green;
                            this.dtgItem.Rows[row].Cells[0].ReadOnly          = true;
                        }

                        if (dr["ifstop_int"].ToString() == "1")
                        {
                            this.dtgItem.Rows[row].Cells[0].Value             = "F";
                            this.dtgItem.Rows[row].DefaultCellStyle.BackColor = Color.DarkGray;
                            this.dtgItem.Rows[row].Cells[0].ReadOnly          = true;
                        }

                        this.dtgItem.Rows[row].Tag = dr;
                    }
                }
            }
            else if (ItemInputMode == 1)    //诊疗模式
            {
                //诊疗项目
                ret = objDoct.m_mthFindRecipeDetailOrder(RecID, out dt);

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataRow dr = dt.Rows[i];

                    //0 状态 1 方号 2 项目名称 3 原规格 4 新规格 5 频率 6 用法 7 数量 8 原单价 9 新单价 10 原合计金额 11 项目属性
                    string[] s = new string[12];

                    s[0]  = "T";
                    s[1]  = "";
                    s[2]  = dr["ORDERDICNAME_VCHR"].ToString();
                    s[3]  = dr["spec_vchr"].ToString();
                    s[4]  = "";
                    s[5]  = "";
                    s[6]  = "";
                    s[7]  = dr["qty_dec"].ToString();
                    s[8]  = dr["pricemny_dec"].ToString();
                    s[9]  = "";
                    s[10] = dr["totalmny_dec"].ToString();

                    string ordertype = dr["tableindex_int"].ToString();
                    if (ordertype == "3")
                    {
                        s[11] = "lis";
                        ret   = objDoct.m_mthFindRecipeDetail3ByOrder(dr["outpatrecipeid_chr"].ToString(), dr["attachorderid_vchr"].ToString(), out EntryDt, false);
                    }
                    else if (ordertype == "4")
                    {
                        s[11] = "test";
                        ret   = objDoct.m_mthFindRecipeDetail4ByOrder(dr["outpatrecipeid_chr"].ToString(), dr["attachorderid_vchr"].ToString(), out EntryDt, false);
                    }
                    else if (ordertype == "5")
                    {
                        s[11] = "ops";
                        ret   = objDoct.m_mthFindRecipeDetail5ByOrder(dr["outpatrecipeid_chr"].ToString(), dr["attachorderid_vchr"].ToString(), out EntryDt, false);
                    }
                    else
                    {
                        continue;
                    }

                    if (ret > 0)
                    {
                        Totalmny += ConvertObjToDecimal(dr["totalmny_dec"]);
                        row       = this.dtgItem.Rows.Add(s);
                        this.dtgItem.Rows[row].Tag          = dr;
                        this.dtgItem.Rows[row].Cells[0].Tag = EntryDt;

                        if (dr["status_int"].ToString() == "0")
                        {
                            this.dtgItem.Rows[row].Cells[0].Value             = "F";
                            this.dtgItem.Rows[row].DefaultCellStyle.BackColor = Color.Red;
                            this.dtgItem.Rows[row].Cells[0].ReadOnly          = true;
                            break;
                        }
                        else
                        {
                            for (int j = 0; j < EntryDt.Rows.Count; j++)
                            {
                                if ((EntryDt.Rows[j]["dec"].ToString().Trim() != EntryDt.Rows[j]["spec"].ToString().Trim()) ||
                                    (EntryDt.Rows[j]["unit"].ToString().Trim() != EntryDt.Rows[j]["itemunit_chr"].ToString().Trim()))
                                {
                                    this.dtgItem.Rows[row].Cells[0].Value             = "F";
                                    this.dtgItem.Rows[row].DefaultCellStyle.ForeColor = Color.Green;
                                    this.dtgItem.Rows[row].Cells[0].ReadOnly          = true;
                                    break;
                                }

                                if (EntryDt.Rows[j]["ifstop_int"].ToString() == "1")
                                {
                                    this.dtgItem.Rows[row].Cells[0].Value             = "F";
                                    this.dtgItem.Rows[row].DefaultCellStyle.BackColor = Color.DarkGray;
                                    this.dtgItem.Rows[row].Cells[0].ReadOnly          = true;
                                    break;
                                }
                            }
                        }
                    }
                }
            }

            //6、其他
            ret = objDoct.m_mthFindRecipeDetail6(RecID, out dt, false);
            if (ret > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataRow dr = dt.Rows[i];

                    //0 状态 1 方号 2 项目名称 3 原规格 4 新规格 5 频率 6 用法 7 数量 8 原单价 9 新单价 10 原合计金额 11 项目属性
                    string[] s = new string[12];

                    string NewUnit = "";

                    ItemID = dr["itemid"].ToString();

                    s[0]  = "T";
                    s[1]  = "";
                    s[2]  = dr["itemname"].ToString();
                    s[3]  = dr["dec"].ToString();
                    s[4]  = "";
                    s[5]  = "";
                    s[6]  = "";
                    s[7]  = dr["quantity"].ToString();
                    s[8]  = dr["price"].ToString();
                    s[9]  = "";
                    s[10] = dr["summoney"].ToString();
                    s[11] = "6";

                    if (dr["dec"].ToString().Trim() != dr["spec"].ToString().Trim())
                    {
                        s[4] = dr["spec"].ToString();
                    }

                    //if (this.ConvertObjToDecimal(dr["price"]) != this.ConvertObjToDecimal(dr["itemprice_mny"]))
                    //{
                    //    s[9] = dr["itemprice_mny"].ToString();
                    //}
                    //NewUnit = dr["itemunit_chr"].ToString().Trim();

                    //判断大小单位
                    if (dr["opchargeflg_int"].ToString().Trim() == "0")
                    {
                        if (this.ConvertObjToDecimal(dr["price"]) != this.ConvertObjToDecimal(dr["itemprice_mny"]))
                        {
                            s[9] = dr["itemprice_mny"].ToString();
                        }
                        else
                        {
                            s[9] = dr["price"].ToString();
                        }
                        NewUnit = dr["itemopunit_chr"].ToString();
                    }
                    else
                    {
                        if (this.ConvertObjToDecimal(dr["price"]) != this.ConvertObjToDecimal(dr["submoney"]))
                        {
                            s[9] = dr["submoney"].ToString();
                        }
                        else
                        {
                            s[9] = dr["price"].ToString();
                        }
                        NewUnit = dr["itemipunit_chr"].ToString();
                    }

                    Totalmny += ConvertObjToDecimal(dr["summoney"]);
                    row       = this.dtgItem.Rows.Add(s);

                    if ((dr["unit"].ToString().Trim() != NewUnit) || (s[4].ToString().Trim() != ""))
                    {
                        this.dtgItem.Rows[row].Cells[0].Value             = "F";
                        this.dtgItem.Rows[row].DefaultCellStyle.ForeColor = Color.Green;
                        this.dtgItem.Rows[row].Cells[0].ReadOnly          = true;
                    }

                    if (dr["ifstop_int"].ToString() == "1")
                    {
                        this.dtgItem.Rows[row].Cells[0].Value             = "F";
                        this.dtgItem.Rows[row].DefaultCellStyle.BackColor = Color.DarkGray;
                        this.dtgItem.Rows[row].Cells[0].ReadOnly          = true;
                    }

                    this.dtgItem.Rows[row].Tag = dr;
                }
            }

            this.lblTotal.Text = Totalmny.ToString("0.00");
            this.Text          = "处方号 - " + RecID;
        }