Example #1
0
        public void BindTheData(ref DataRow row, clsBIHOrder objOrder, bool m_blSame)
        {
            row["startdoctor"]      = objOrder.m_strCreator;             //下嘱医生
            row["startnurse"]       = objOrder.m_strASSESSORFOREXEC_CHR; // 过医嘱者
            row["assessorpost"]     = objOrder.m_strASSESSORFOREXEC_CHR; //过医嘱者
            row["assessorposttime"] = objOrder.m_strASSESSORFOREXEC_DAT; //过医嘱时间
            row["assessorstop"]     = objOrder.m_strASSESSORFORSTOP_CHR; //审核停止者
            row["assessorstoptime"] = objOrder.m_strASSESSORFORSTOP_DAT; //审核停医嘱时间
            row["recipeno"]         = objOrder.m_intRecipenNo2;          //显示的方号
            // row["ordername"] = objOrder.m_strName;//医嘱名称
            //  row["dosage"] = objOrder.m_dmlDosage;//剂量
            //  row["dosageunit"] = objOrder.m_strDosageUnit;//剂量单位
            //  row["dosetypename"] = objOrder.m_strDosetypeName;//用法名称

            row["execfreqname"] = ""; //频率名称
            //row["execfreqname"] = objOrder.m_strExecFreqName;
            row["dosage"]       = ""; //剂量
            row["dosageunit"]   = ""; //剂量单位
            row["dosetypename"] = ""; //用法名称
            //row["execfreqname"] = "";//频率名称

            row["entrust"]        = objOrder.m_strREMARK_VCHR;         //说明
            row["starttime"]      = objOrder.m_dtPostdate;             //开嘱时间
            row["endtime"]        = objOrder.m_dtFinishDate;           //结束时间
            row["enddoctor"]      = objOrder.m_strStoper;              //停嘱医生
            row["endnurse"]       = objOrder.m_strASSESSORFORSTOP_CHR; //停嘱护士
            row["recipeno_int"]   = objOrder.m_intRecipenNo;           //方号
            row["CONFIRMER_VCHR"] = objOrder.m_strASSESSORFOREXEC_CHR; //已审核提交者
            row["USAGEVIEWTYPE"]  = "";                                //用法类型
            row["DOSAGEVIEWTYPE"] = "";                                //剂量类型
            row["FEQVIEWTYPE"]    = "";                                //频率类型
            // 谢云杰修改 主要用于特别显示出院的医嘱
            //row["QTYVIEWTYPE_INT"] = "";//
            row["QTYVIEWTYPE_INT"] = objOrder.m_intTYPE_INT.ToString();
            row["EXECUTOR_CHR"]    = "";
            row["EXECUTEDATE_DAT"] = objOrder.m_dtExecutedate.ToString();
            row["EXECUTOR_CHR"]    = objOrder.m_strExecutor;

            row["creatorsign"]   = objOrder.creatorsign;
            row["confirmersign"] = objOrder.confirmersign;
            row["stopersign"]    = objOrder.stopersign;
            row["assessorsign"]  = objOrder.assessorsign;

            //下嘱医生

            //皮试
            string m_strFeel = "";

            if (objOrder.m_intISNEEDFEEL == 1)
            {
                switch (objOrder.m_intFEEL_INT)
                {
                case 0:
                    m_strFeel = " AST( ) ";
                    break;

                case 1:
                    m_strFeel = " AST(-) ";
                    break;

                case 2:
                    m_strFeel = " AST(+) ";
                    break;
                }
            }
            /*<==================================*/
            //医嘱类型
            clsT_aid_bih_ordercate_VO p_objItem = (clsT_aid_bih_ordercate_VO)this.m_htOrderCate[objOrder.m_strOrderDicCateID];
            string  dtv_Dosage = "", dtv_UseType = "", dtv_Freq = "", ATTACHTIMES_INT = "", dtv_Get = "";
            decimal m_dmlOneUse = 0;//补一次的领量

            #region 医嘱类型控制列表界面
            if (p_objItem != null)
            {
                objOrder.m_strOrderDicCateName = p_objItem.m_strVIEWNAME_VCHR;
                if (!objOrder.m_strExecFreqID.Trim().Equals(m_objSpecateVo.m_strCONFREQID_CHR.Trim()))//连续性医嘱不显示剂量
                {
                    if (p_objItem.m_intDOSAGEVIEWTYPE == 1)
                    {
                        //用量
                        if (objOrder.m_dmlDosage > 0)
                        {
                            dtv_Dosage = objOrder.m_dmlDosage.ToString() + "" + objOrder.m_strDosageUnit;
                        }
                        else
                        {
                            dtv_Dosage = "";
                        }
                    }
                    else
                    {
                        dtv_Dosage = "";
                    }
                }
                else
                {
                    dtv_Dosage = "";
                }
                if (p_objItem.m_intUSAGEVIEWTYPE == 1)
                {
                    //用法
                    dtv_UseType = objOrder.m_strDosetypeName;
                }
                else
                {
                    //用法
                    dtv_UseType = "";
                }
                if (objOrder.m_intExecuteType == 1 || objOrder.m_intExecuteType == 2)
                {
                    if (p_objItem.m_intExecuFrenquenceType == 1)
                    {
                        //频率
                        dtv_Freq = objOrder.m_strExecFreqName;
                    }
                    else
                    {
                        //当不显示时,医嘱表中的为修改标志=1时也显示出来 (0-普通状态,1-频率修改)
                        if (objOrder.m_intCHARGE_INT == 1)
                        {
                            dtv_Freq = objOrder.m_strExecFreqName;//频率
                        }
                        else
                        {
                            dtv_Freq = "";//频率
                        }
                    }
                }
                else
                {
                    dtv_Freq = "";//频率
                }

                if (p_objItem.m_intAPPENDVIEWTYPE_INT == 1)
                {
                    //补次
                    ATTACHTIMES_INT = objOrder.m_intATTACHTIMES_INT.ToString();
                    m_dmlOneUse     = objOrder.m_dmlOneUse * objOrder.m_intATTACHTIMES_INT;
                }
                else
                {
                    //补次
                    ATTACHTIMES_INT = "";
                    m_dmlOneUse     = 0;
                }
                //领量
                if (p_objItem.m_intQTYVIEWTYPE_INT == 1)
                {
                    if (objOrder.m_dmlGet > 0)
                    {
                        dtv_Get = objOrder.m_dmlGet.ToString() + " " + objOrder.m_strGetunit;
                    }
                    else
                    {
                        dtv_Get = "";
                    }
                }
                else
                {
                    //领量
                    dtv_Get = "";
                }
            }
            else
            {
                //用量
                dtv_Dosage = "";
                //频率
                dtv_Freq = "";
                //用法
                dtv_UseType = "";
                //补次
                ATTACHTIMES_INT = "";
                //领量
                dtv_Get = "";
            }
            #endregion

            //
            //总量字段的控制
            string m_strSum = "";
            if (objOrder.m_strOrderDicCateID.Equals(m_objSpecateVo.m_strMID_MEDICINE_CHR))//中药类型逻辑
            {
                if (m_intShowTotalNums == 1)
                {
                    m_strSum = objOrder.m_intOUTGETMEDDAYS_INT.ToString() + "服共" + Convert.ToString(objOrder.m_dmlGet + m_dmlOneUse) + objOrder.m_strGetunit;
                }
                else
                {
                    m_strSum = objOrder.m_intOUTGETMEDDAYS_INT.ToString() + "服";
                }
            }
            else
            {
                if (objOrder.m_intExecuteType == 3)
                {
                    if (m_intShowTotalNums == 1)
                    {
                        m_strSum = objOrder.m_intOUTGETMEDDAYS_INT.ToString() + "天共" + Convert.ToString(objOrder.m_dmlGet + m_dmlOneUse) + objOrder.m_strGetunit;
                    }
                    else
                    {
                        m_strSum = objOrder.m_intOUTGETMEDDAYS_INT.ToString() + "天";
                    }
                }
                else
                {
                    if (m_intShowTotalNums == 1)
                    {
                        m_strSum = "共" + Convert.ToString(objOrder.m_dmlGet + m_dmlOneUse) + objOrder.m_strGetunit;
                    }
                }
            }

            if (objOrder.m_intTYPE_INT == 0)
            {
                if (m_blSame == false)
                {
                    if (objOrder.m_intExecuteType == 1)
                    {
                        row["ordername"] = "、" + objOrder.m_strName + " " + dtv_Dosage.ToString();
                        if (objOrder.m_mednormalname_vchr != "")
                        {
                            row["mednormalname_vchr"] = "、" + objOrder.m_mednormalname_vchr + " " + dtv_Dosage.ToString();
                        }
                        else
                        {
                            row["mednormalname_vchr"] = "";
                        }
                    }
                    else
                    {
                        row["ordername"] = " " + objOrder.m_strName + " " + dtv_Dosage.ToString();
                        if (objOrder.m_mednormalname_vchr != "")
                        {
                            row["mednormalname_vchr"] = " " + objOrder.m_mednormalname_vchr + " " + dtv_Dosage.ToString();
                        }
                        else
                        {
                            row["mednormalname_vchr"] = "";
                        }
                    }

                    row["dosage"] = dtv_UseType.ToString() + " " + dtv_Freq.ToString() + m_strFeel + " " + m_strSum + " " + objOrder.m_strREMARK_VCHR.Trim();
                }
                else
                {
                    row["ordername"] = objOrder.m_strName + " " + dtv_Dosage.ToString();//objOrder.m_strREMARK_VCHR.Trim();
                    if (objOrder.m_mednormalname_vchr != "")
                    {
                        row["mednormalname_vchr"] = objOrder.m_mednormalname_vchr + " " + dtv_Dosage.ToString();
                    }
                    else
                    {
                        row["mednormalname_vchr"] = "";
                    }
                }
            }
            else
            {
                row["ordername"] = objOrder.m_strName;
                if (objOrder.m_mednormalname_vchr != "")
                {
                    row["mednormalname_vchr"] = objOrder.m_mednormalname_vchr;
                }
                else
                {
                    row["mednormalname_vchr"] = "";
                }
                row["recipeno"] = string.Empty;
            }
        }
Example #2
0
        /// <summary>
        /// 绑定项目列表数据
        /// </summary>
        private void ListViewbind(string m_strGroupID)
        {
            m_objViewer.m_dtvGroupDetail.Rows.Clear();
            DataView myDataView = new DataView(m_dtOrderGroupDetail);

            clsT_aid_bih_ordergroup_detail_VO[] m_arrObjItem;
            GetGroupDetailData(myDataView, out m_arrObjItem);
            for (int i = 0; i < m_arrObjItem.Length; i++)
            {
                clsT_aid_bih_ordergroup_detail_VO m_ObjItem = (clsT_aid_bih_ordergroup_detail_VO)m_arrObjItem[i];
                //医嘱类型
                clsT_aid_bih_ordercate_VO p_objItem = (clsT_aid_bih_ordercate_VO)this.m_objViewer.m_htOrderCate[m_ObjItem.m_strOrderDicCateID];
                //转换对象
                //借用保存流水号
                clsBIHOrder order = new clsBIHOrder();
                order.m_strOrderID          = m_ObjItem.m_strDETAILID_CHR;
                order.m_strOrderDicID       = m_ObjItem.m_strORDERDICID_CHR;
                order.m_strOrderDicCateID   = m_ObjItem.m_strOrderDicCateID;
                order.m_strOrderDicCateName = m_ObjItem.m_strOrderDicCateName;
                order.m_strRegisterID       = null;

                order.m_intRecipenNo = m_ObjItem.m_intRecipenNo;
                if (p_objItem != null && p_objItem.m_strVIEWNAME_VCHR.Trim().Equals("文字医嘱"))//文字医嘱时显示项目名,其它类的显示诊疗项目名
                {
                    //项目名称
                    order.m_strName = m_ObjItem.m_strOrderName;
                }
                else
                {
                    order.m_strName = m_ObjItem.m_strOrderdicName;
                }
                order.m_strSpec         = m_ObjItem.m_strItemspec_vchr;
                order.m_strExecFreqID   = m_ObjItem.m_strFREQID_CHR;
                order.m_strExecFreqName = m_ObjItem.m_strExecFreqName;
                order.m_dmlDosage       = decimal.Parse(m_ObjItem.m_fltDOSAGE_DEC.ToString());

                order.m_strDosageUnit = m_ObjItem.m_strDOSAGEUNIT_CHR;
                order.m_dmlGet        = decimal.Parse(m_ObjItem.m_fltGET_DEC.ToString());

                order.m_strGetunit           = m_ObjItem.m_strGETUNIT_CHR;
                order.m_dmlUse               = decimal.Parse(m_ObjItem.m_fltUSE_DEC.ToString());
                order.m_strUseunit           = m_ObjItem.m_strUSEUNIT_CHR;
                order.m_dmlDosageRate        = order.m_dmlUse;
                order.m_strDosetypeID        = m_ObjItem.m_strDOSETYPE_CHR;
                order.m_strDosetypeName      = m_ObjItem.m_strDosetypeName;
                order.m_strEntrust           = m_ObjItem.m_strENTRUST_VCHR;
                order.m_dmlPrice             = m_ObjItem.m_dmlPrice;
                order.m_intIsRich            = m_ObjItem.m_intISRICH_INT;
                order.RateType               = m_ObjItem.RateType;
                order.m_strSAMPLEID_VCHR     = m_ObjItem.m_strSAMPLEID_VCHR;
                order.m_strPARTID_VCHR       = m_ObjItem.m_strPARTID_VCHR;
                order.m_intExecuteType       = m_ObjItem.m_intEXECUTETYPE_INT;
                order.m_intOUTGETMEDDAYS_INT = m_ObjItem.m_intOUTGETMEDDAYS_INT;
                order.m_intATTACHTIMES_INT   = m_ObjItem.m_intATTACHTIMES_INT;
                order.m_strSAMPLEID_VCHR     = m_ObjItem.m_strSAMPLEID_VCHR;
                order.m_strSAMPLEName_VCHR   = m_ObjItem.m_strSAMPLEName_VCHR;
                order.m_strPARTID_VCHR       = m_ObjItem.m_strPARTID_VCHR;
                order.m_strPARTNAME_VCHR     = m_ObjItem.m_strPARTNAME_VCHR;
                order.m_intISNEEDFEEL        = m_ObjItem.m_intISNEEDFEEL;
                order.m_dmlOneUse            = m_ObjItem.m_dmlOneUse;
                // 把当前组套id存入医嘱项目中
                order.m_strGroupId = m_strGroupID.Trim();
                // 判断当前医嘱是否为父医嘱
                order.m_intIFPARENTID_INT  = m_ObjItem.m_intIFPARENTID_INT;
                order.m_intIPCHARGEFLG_INT = m_ObjItem.m_intIPCHARGEFLG_INT;
                order.m_dmlPACKQTY_DEC     = m_ObjItem.m_dmlPACKQTY_DEC;
                if (this.m_objViewer.m_strOrderCateList.Contains(m_ObjItem.m_strOrderDicCateID.ToString().Trim()))
                {
                    continue;
                }
                if (order.m_strName.Trim().Equals(""))
                {
                    continue;
                }
                m_objViewer.m_dtvGroupDetail.Rows.Add();

                DataGridViewRow objRow = m_objViewer.m_dtvGroupDetail.Rows[this.m_objViewer.m_dtvGroupDetail.RowCount - 1];
                objRow.Cells["dtv_Check"].Tag = "1";
                if (this.m_objViewer.m_blDeableMedControl == false)//缺药的项目是否可以录入0-不可以false,1-可以true
                {
                    if (m_ObjItem.m_intIPNOQTYFLAG_INT == 1)
                    {
                        objRow.Cells["dtv_Check"].Tag     = "0";
                        objRow.DefaultCellStyle.ForeColor = System.Drawing.Color.Red;
                    }
                }
                if (this.m_objViewer.m_blStopControl == false)//停用项目是否可录入开关
                {
                    if (m_ObjItem.m_intOrderDicStop == 0)
                    {
                        objRow.Cells["dtv_Check"].Tag     = "0";
                        objRow.DefaultCellStyle.ForeColor = System.Drawing.Color.Gray;
                    }
                }
                //选择
                if (this.m_objViewer.ra_selectAll.Checked && objRow.Cells["dtv_Check"].Tag.ToString() != "0")
                {
                    objRow.Cells["dtv_Check"].Value = "1";
                }
                else
                {
                    objRow.Cells["dtv_Check"].Value = "0";
                }
                //序
                objRow.Cells["dtv_DetalNo"].Value = i + 1;
                //方
                objRow.Cells["dtv_RecipeNo"].Value = m_ObjItem.m_intRecipenNo.ToString();
                // 药品来源: 0 药房(全计费,摆药); 1 患者自备(只收费用法加收项目,不摆药); 2 科室基数(全计费,不摆药)
                switch (m_ObjItem.RateType)
                {
                case 0:
                    objRow.Cells["RATETYPE_INT"].Value = "药房";
                    break;

                case 1:
                    objRow.Cells["RATETYPE_INT"].Value = "自备";
                    break;

                case 2:
                    objRow.Cells["RATETYPE_INT"].Value = "基数";
                    break;

                default:
                    break;
                }
                //类型
                if (m_ObjItem.m_intEXECUTETYPE_INT == 1)
                {
                    objRow.Cells["dtv_ExecuteType"].Value = "长期";
                }
                else if (m_ObjItem.m_intEXECUTETYPE_INT == 2)
                {
                    objRow.Cells["dtv_ExecuteType"].Value = "临时";
                }
                else if (m_ObjItem.m_intEXECUTETYPE_INT == 3)
                {
                    objRow.Cells["dtv_ExecuteType"].Value = "出院带药";
                }
                else
                {
                    objRow.Cells["dtv_ExecuteType"].Value = "";
                }
                //医保
                objRow.Cells["MedicareTypeName"].Value = m_ObjItem.m_strMedicareTypeName;
                //项目名称
                objRow.Cells["dtv_Name"].Value = m_ObjItem.m_strOrderdicName;

                if (p_objItem != null && !p_objItem.m_strVIEWNAME_VCHR.Trim().Equals("文字医嘱"))
                {
                    //“方法”列。用于显示检验医嘱的样本类型,和检查医嘱的部位信息
                    if (!m_ObjItem.m_strPARTID_VCHR.Trim().Equals(""))
                    {
                        objRow.Cells["dtv_method"].Value = m_ObjItem.m_strPARTNAME_VCHR;
                    }
                    else if (!m_ObjItem.m_strSAMPLEID_VCHR.Trim().Equals(""))
                    {
                        objRow.Cells["dtv_method"].Value = m_ObjItem.m_strSAMPLEName_VCHR;
                    }

                    //用量
                    objRow.Cells["dtv_Dosage"].Value = m_ObjItem.m_fltDOSAGE_DEC + m_ObjItem.m_strDOSAGEUNIT_CHR;
                    //用法
                    objRow.Cells["dtv_UseType"].Value = m_ObjItem.m_strDosetypeName;
                    //频率
                    objRow.Cells["dtv_Freq"].Value = m_ObjItem.m_strExecFreqName;
                    //数量
                    if (m_ObjItem.m_fltGET_DEC > 0)
                    {
                        objRow.Cells["dtv_Get"].Value = m_ObjItem.m_fltGET_DEC + m_ObjItem.m_strGETUNIT_CHR;
                    }
                    else
                    {
                        objRow.Cells["dtv_Get"].Value = "";
                    }
                    //总量  N天共M片。N-表示出院带药的天数,M-表示出院带药合计的数量
                    if (m_ObjItem.m_intEXECUTETYPE_INT == 3)
                    {
                        objRow.Cells["dtv_sum"].Value = m_ObjItem.m_intOUTGETMEDDAYS_INT.ToString() + "天共" + Convert.ToString(m_ObjItem.m_fltGET_DEC * m_ObjItem.m_intOUTGETMEDDAYS_INT) + m_ObjItem.m_strGETUNIT_CHR;
                    }
                    else
                    {
                        objRow.Cells["dtv_sum"].Value = "";
                    }
                    //补次
                    objRow.Cells["ATTACHTIMES_INT"].Value = m_ObjItem.m_intATTACHTIMES_INT;
                    //嘱托
                    objRow.Cells["dtv_ENTRUST"].Value = m_ObjItem.m_strENTRUST_VCHR;
                }
                else
                {
                    //“方法”列。用于显示检验医嘱的样本类型,和检查医嘱的部位信息
                    objRow.Cells["dtv_method"].Value = "";
                    //用量
                    objRow.Cells["dtv_Dosage"].Value = "";
                    //用法
                    objRow.Cells["dtv_UseType"].Value = "";
                    //频率
                    objRow.Cells["dtv_Freq"].Value = "";
                    objRow.Cells["dtv_Get"].Value  = "";
                    //总量  N天共M片。N-表示出院带药的天数,M-表示出院带药合计的数量
                    objRow.Cells["dtv_sum"].Value = "";
                    //补次
                    objRow.Cells["ATTACHTIMES_INT"].Value = "";
                    //嘱托
                    objRow.Cells["dtv_ENTRUST"].Value = "";
                }
                if (p_objItem != null && p_objItem.m_strVIEWNAME_VCHR.Trim().Equals("文字医嘱"))//文字医嘱时显示项目名,其它类的显示诊疗项目名
                {
                    //项目名称
                    objRow.Cells["dtv_Name"].Value = m_ObjItem.m_strOrderName;
                }

                objRow.Tag = order;
            }

            if (this.m_objViewer.m_dtvGroupDetail.RowCount > 0)
            {
                this.m_objViewer.m_dtvGroupDetail.CurrentCell = this.m_objViewer.m_dtvGroupDetail.Rows[0].Cells[2];
            }
        }
Example #3
0
        /// <summary>
        /// 医嘱填充DATAGRIDVIEW
        /// </summary>
        /// <param name="objOrder">医嘱对像</param>
        /// <param name="m_intRecipenNoUp">上一条医嘱的方号(同方号的子医嘱不用再显示:长/临、类别、用法、频率、状态、下嘱医生)</param>
        public void m_objGetDataViewRow(clsBIHOrder objOrder, DataGridViewRow objRow, int m_intNo)
        {
            objRow.Height = 20;
            decimal m_dmlOneUse = 0;//补一次的领量

            //序
            objRow.Cells["dtv_NO"].Value = m_intNo;
            //医嘱类型
            clsT_aid_bih_ordercate_VO p_objItem = (clsT_aid_bih_ordercate_VO)this.m_objViewer.m_htOrderCate[objOrder.m_strOrderDicCateID];

            if (p_objItem == null)
            {
                if (objOrder.m_intTYPE_INT > 0)
                {
                    objRow.Cells["dtv_Name"].Value           = objOrder.m_strName.ToString();
                    objRow.Cells["dtv_Name"].Style.Alignment = DataGridViewContentAlignment.BottomCenter;
                    objRow.Tag = objOrder;
                    return;
                }
            }
            if (objOrder.m_intExecuteType == 1)
            {
                //方
                objRow.Cells["dtv_RecipeNo"].Value = " " + objOrder.m_intRecipenNo2.ToString();
            }
            //价格
            //objRow["Price"] =objOrder.m_dmlPrice.ToString("0.0000");

            //“方法”列。用于显示检验医嘱的样本类型,和检查医嘱的部位信息
            if (!objOrder.m_strPARTID_VCHR.Trim().Equals(""))
            {
                objRow.Cells["dtv_method"].Value = objOrder.m_strPARTNAME_VCHR;
            }
            else if (!objOrder.m_strSAMPLEID_VCHR.Trim().Equals(""))
            {
                objRow.Cells["dtv_method"].Value = objOrder.m_strSAMPLEName_VCHR;
            }



            //开始执行时间
            objRow.Cells["dtv_StartDate"].Value = DateTimeToString(objOrder.m_dtExecutedate);
            //停嘱者
            objRow.Cells["dtv_Stoper"].Value = objOrder.m_strStoper;
            //审核停止者
            objRow.Cells["ASSESSORFORSTOP_CHR"].Value = objOrder.m_strASSESSORFORSTOP_CHR;
            //停嘱时间
            objRow.Cells["dtv_FinishDate"].Value = DateTimeToCutYearDateString(objOrder.m_dtFinishDate);
            //objRow.Cells["dtv_ParentName"].Value = objOrder.m_strParentName;
            //执行时间/嘱托
            objRow.Cells["dtv_REMARK"].Value = objOrder.m_strREMARK_VCHR;
            //自备药 (1-全计费 1-否)( 2-用法收费 2-是)(3 不计费 作废)
            switch (objOrder.RateType)
            {
            case 0:
                objRow.Cells["RATETYPE_INT"].Value = "否";
                break;

            case 1:
                objRow.Cells["RATETYPE_INT"].Value = "是";
                break;

            case 2:
                objRow.Cells["RATETYPE_INT"].Value = "";
                break;
            }


            //校对护士
            objRow.Cells["ASSESSORFOREXEC_CHR"].Value = objOrder.m_strASSESSORFOREXEC_CHR;
            //录入时间
            objRow.Cells["CREATEDATE_DAT"].Value = DateTimeToString(objOrder.m_dtCreatedate);
            //下嘱时间(开始时间)
            objRow.Cells["m_dtPOSTDATE_DAT"].Value = DateTimeToCutYearDateString(objOrder.m_dtPostdate);
            objRow.Cells["m_dtStartDate"].Value    = DateTimeToCutYearDateString(objOrder.m_dtStartDate);

            /*<===============================*/
            //皮试
            string m_strFeel = "";

            if (objOrder.m_intISNEEDFEEL == 1)
            {
                switch (objOrder.m_intFEEL_INT)
                {
                case 0:
                    m_strFeel = " AST( ) ";
                    break;

                case 1:
                    m_strFeel = " AST(-) ";
                    break;

                case 2:
                    m_strFeel = " AST(+) ";
                    break;
                }
            }
            /*<==================================*/
            #region 医嘱类型控制列表界面
            if (p_objItem != null)
            {
                objOrder.m_strOrderDicCateName = p_objItem.m_strVIEWNAME_VCHR;

                if (!objOrder.m_strExecFreqID.Trim().Equals(this.m_objViewer.m_objSpecateVo.m_strCONFREQID_CHR.Trim()))//连续性医嘱不显示剂量
                {
                    if (p_objItem.m_intDOSAGEVIEWTYPE == 1)
                    {
                        //用量
                        if (objOrder.m_dmlDosage > 0)
                        {
                            objRow.Cells["dtv_Dosage"].Value = objOrder.m_dmlDosage.ToString() + "" + objOrder.m_strDosageUnit;
                        }
                        else
                        {
                            objRow.Cells["dtv_Dosage"].Value = "";
                        }
                    }
                    else
                    {
                        objRow.Cells["dtv_Dosage"].Value = "";
                    }
                }
                else
                {
                    objRow.Cells["dtv_Dosage"].Value = "";
                }
                if (!objOrder.m_strExecFreqID.Trim().Equals(this.m_objViewer.m_objSpecateVo.m_strCONFREQID_CHR.Trim()))//连续性医嘱不显示用法
                {
                    if (p_objItem.m_intUSAGEVIEWTYPE == 1)
                    {
                        //用法
                        objRow.Cells["dtv_UseType"].Value = objOrder.m_strDosetypeName;
                    }
                    else
                    {
                        //用法
                        objRow.Cells["dtv_UseType"].Value = "";
                    }
                }
                else
                {
                    //用法
                    objRow.Cells["dtv_UseType"].Value = "";
                }
                if (objOrder.m_intExecuteType == 1)//长临才显示频率,临嘱不显示
                {
                    if (p_objItem.m_intExecuFrenquenceType == 1)
                    {
                        //频率
                        objRow.Cells["dtv_Freq"].Value = objOrder.m_strExecFreqName;
                    }
                    else
                    {
                        //当不显示时,医嘱表中的为修改标志=1时也显示出来 (0-普通状态,1-频率修改)
                        if (objOrder.m_intCHARGE_INT == 1)
                        {
                            objRow.Cells["dtv_Freq"].Value = objOrder.m_strExecFreqName;//频率
                        }
                        else
                        {
                            objRow.Cells["dtv_Freq"].Value = "";//频率
                        }
                    }
                }
                else
                {
                    //当不显示时,医嘱表中的为修改标志=1时也显示出来 (0-普通状态,1-频率修改)
                    if (objOrder.m_intCHARGE_INT == 1)
                    {
                        objRow.Cells["dtv_Freq"].Value = objOrder.m_strExecFreqName;//频率
                    }
                    else
                    {
                        objRow.Cells["dtv_Freq"].Value = "";//频率
                    }
                }

                if (p_objItem.m_intAPPENDVIEWTYPE_INT == 1)
                {
                    //补次
                    objRow.Cells["ATTACHTIMES_INT"].Value = objOrder.m_intATTACHTIMES_INT;
                    m_dmlOneUse = objOrder.m_dmlOneUse * objOrder.m_intATTACHTIMES_INT;
                }
                else
                {
                    //补次
                    objRow.Cells["ATTACHTIMES_INT"].Value = "";
                    m_dmlOneUse = 0;
                }
                //领量
                if (p_objItem.m_intQTYVIEWTYPE_INT == 1)
                {
                    if (objOrder.m_dmlGet > 0)
                    {
                        objRow.Cells["dtv_Get"].Value = objOrder.m_dmlGet.ToString() + " " + objOrder.m_strGetunit;
                    }
                    else
                    {
                        objRow.Cells["dtv_Get"].Value = "";
                    }
                }
                else
                {
                    //领量
                    objRow.Cells["dtv_Get"].Value = "";
                }
            }
            else
            {
                //用量
                objRow.Cells["dtv_Dosage"].Value = "";
                //频率
                objRow.Cells["dtv_Freq"].Value = "";
                //用法
                objRow.Cells["dtv_UseType"].Value = "";
                //补次
                objRow.Cells["ATTACHTIMES_INT"].Value = "";
                //领量
                objRow.Cells["dtv_Get"].Value = "";
            }
            #endregion
            //出院带药天数
            string m_strOUTGETMEDDAYS_INT = "";
            //总量字段的控制
            if (objOrder.m_strOrderDicCateID.Equals(this.m_objViewer.m_objSpecateVo.m_strMID_MEDICINE_CHR))//中药类型逻辑
            {
                objRow.Cells["dtv_sum"].Value = objOrder.m_intOUTGETMEDDAYS_INT.ToString() + "服共" + Convert.ToString(objOrder.m_dmlGet + m_dmlOneUse) + objOrder.m_strGetunit;
                m_strOUTGETMEDDAYS_INT        = objOrder.m_intOUTGETMEDDAYS_INT.ToString() + "服";;
            }
            else
            {
                if (objOrder.m_intExecuteType == 3)
                {
                    objRow.Cells["dtv_sum"].Value = objOrder.m_intOUTGETMEDDAYS_INT.ToString() + "天共" + Convert.ToString(objOrder.m_dmlGet + m_dmlOneUse) + objOrder.m_strGetunit;
                    m_strOUTGETMEDDAYS_INT        = objOrder.m_intOUTGETMEDDAYS_INT.ToString() + "天";
                    //objRow.Cells["dtv_OUTGETMEDDAYS_INT"].Value = objOrder.m_intOUTGETMEDDAYS_INT.ToString() + "天";
                }
                else
                {
                    objRow.Cells["dtv_sum"].Value = "共" + Convert.ToString(objOrder.m_dmlGet + m_dmlOneUse) + objOrder.m_strGetunit;
                    m_strOUTGETMEDDAYS_INT        = "";
                    //objRow.Cells["dtv_OUTGETMEDDAYS_INT"].Value = "";
                }
                objRow.Cells["dtv_OUTGETMEDDAYS_INT"].Value = m_strOUTGETMEDDAYS_INT;
            }

            //名称
            objRow.Cells["dtv_Name"].Value = objOrder.m_strName + " " + objRow.Cells["dtv_Dosage"].Value.ToString() + " " + objRow.Cells["dtv_UseType"].Value.ToString() + " " + objRow.Cells["dtv_Freq"].Value.ToString() + m_strFeel + " " + m_strOUTGETMEDDAYS_INT;
            //名称格式控制
            if (p_objItem != null)
            {
                if (p_objItem.m_strVIEWNAME_VCHR.ToString().Trim() == "文字医嘱")
                {
                    objRow.Cells["dtv_Name"].Value = "   " + objRow.Cells["dtv_Name"].Value.ToString();
                }
            }

            /*<=====================================================================*/
            //医保
            objRow.Cells["MedicareTypeName"].Value = objOrder.m_strMedicareTypeName;
            //医生名称
            objRow.Cells["dtv_DOCTOR_VCHR"].Value = objOrder.m_strDOCTOR_VCHR;
            //开单科室
            objRow.Cells["dtv_CREATEAREA_Name"].Value = objOrder.m_strCREATEAREA_Name;
            //作废人
            objRow.Cells["dtv_DELETERNAME_VCHR"].Value = objOrder.m_strDELETERNAME_VCHR;
            //作废时间
            objRow.Cells["dtv_DELETE_DAT"].Value = objOrder.m_strDELETE_DAT;
            //修改人姓名
            objRow.Cells["dtv_ChangedID"].Value = objOrder.m_strChangedName_CHR;
            //修改人时间
            objRow.Cells["dtv_ChangedDate"].Value = DateTimeToString(objOrder.m_dtChanged_DAT);

            // 同方号的子医嘱不用再显示:长/临、类别、用法、频率、状态、下嘱医生
            //长/临
            if (objOrder.m_intExecuteType == 1)
            {
                objRow.Cells["dtv_ExecuteType"].Value = "长期";
            }
            else if (objOrder.m_intExecuteType == 2)
            {
                objRow.Cells["dtv_ExecuteType"].Value = "临时";
            }
            else if (objOrder.m_intExecuteType == 3)
            {
                objRow.Cells["dtv_ExecuteType"].Value = "带药";
            }
            else
            {
                objRow.Cells["dtv_ExecuteType"].Value = "";
            }


            //医嘱类型名称
            objRow.Cells["viewname_vchr"].Value = objOrder.m_strOrderDicCateName.ToString().Trim();
            //医嘱状态 执行状态{-1作废医嘱;0-创建;1-提交;2-执行;3-停止;4-重整;5- 已审核提交;6-审核停止;7-退回;}
            switch (objOrder.m_intStatus)
            {
            case -1:
                objRow.Cells["STATUS_INT"].Value = "作废";
                break;

            case 0:
                objRow.Cells["STATUS_INT"].Value = "新开";
                break;

            case 1:
                objRow.Cells["STATUS_INT"].Value = "提交";
                break;

            case 2:
                objRow.Cells["STATUS_INT"].Value = "执行";
                break;

            case 3:
                objRow.Cells["STATUS_INT"].Value = "停止";
                break;

            case 4:
                objRow.Cells["STATUS_INT"].Value = "重整";
                break;

            case 5:
                objRow.Cells["STATUS_INT"].Value = "转抄";
                break;

            case 6:
                objRow.Cells["STATUS_INT"].Value = "审核停止";
                break;

            case 7:
                objRow.Cells["STATUS_INT"].Value = "退回";
                break;

            default:
                objRow.Cells["STATUS_INT"].Value = "";
                break;
            }
            //下嘱医生
            objRow.Cells["CREATOR_CHR"].Value = objOrder.m_strCreator;
            //执行人
            objRow.Cells["dtv_Executor"].Value = objOrder.m_strExecutor;
            ////医生签名dtv_DOCTOR_SIGN
            //if (this.m_frmInput.m_blDoctorSign)
            //{
            //    if (objOrder.SIGN_GRP != null && objOrder.SIGN_INT == 1)
            //    {
            //        System.IO.MemoryStream ms = new System.IO.MemoryStream(objOrder.SIGN_GRP);
            //        Bitmap m_bpSign = new Bitmap(ms);
            //        objRow.Cells["dtv_DOCTOR_SIGN"].Value = m_bpSign;
            //        ms.Close();
            //    }
            //    else if (objOrder.SIGN_INT == 0)
            //    {

            //        Bitmap m_bpSign = new Bitmap("Picture//unsign.bmp");
            //        objRow.Cells["dtv_DOCTOR_SIGN"].Value = m_bpSign;

            //    }
            //    else
            //    {

            //        objRow.Cells["dtv_DOCTOR_SIGN"].Style.NullValue = null;
            //    }

            //    if (this.m_frmInput.m_blDoctorSign && objOrder.SIGN_INT != 1)
            //    {
            //        objRow.DefaultCellStyle.ForeColor = Color.Red;
            //    }
            //}
            //退回人
            objRow.Cells["m_dtvSENDBACKER_CHR"].Value = objOrder.m_strSENDBACKER_CHR;



            /*<==================================================================*/
            objRow.Tag = objOrder;
        }
Example #4
0
        private void m_dtvOrderList_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            //((clsCtl_OrderNurseConfirm)this.objController).ChangeTheSelectState(e.RowIndex);
            string m_strCumnName = this.m_dtvOrderList.Columns[e.ColumnIndex].Name;

            if (m_strCumnName.Equals("dtv_ENTRUST"))
            {
                DataGridViewCell   cell1 = this.m_dtvOrderList[e.ColumnIndex, e.RowIndex];
                clsBIHCanExecOrder order = (clsBIHCanExecOrder)this.m_dtvOrderList.Rows[e.RowIndex].Tag;
                //是否为子医嘱
                bool m_blSon = false;
                ((clsCtl_OrderNurseConfirm)this.objController).m_TestORDERIDIsSon(order, out m_blSon);
                if (m_blSon == true)
                {
                    MessageBox.Show("请单独选择父医嘱进行嘱托修改操作!", "提示框!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                /*<==================================*/
                if (order.m_intStatus == 1)
                {
                    cell1.ReadOnly = false;
                }
            }
            else if (m_strCumnName.Equals("ATTACHTIMES_INT"))
            {
                DataGridViewCell   cell1 = this.m_dtvOrderList[e.ColumnIndex, e.RowIndex];
                clsBIHCanExecOrder order = (clsBIHCanExecOrder)this.m_dtvOrderList.Rows[e.RowIndex].Tag;
                //是否为子医嘱
                bool m_blSon = false;
                ((clsCtl_OrderNurseConfirm)this.objController).m_TestORDERIDIsSon(order, out m_blSon);
                //医嘱类型
                clsT_aid_bih_ordercate_VO p_objItem = null;
                if (((clsCtl_OrderNurseConfirm)this.objController).m_htOrderCate.Contains(order.m_strOrderDicCateID))
                {
                    p_objItem = (clsT_aid_bih_ordercate_VO)((clsCtl_OrderNurseConfirm)this.objController).m_htOrderCate[order.m_strOrderDicCateID];
                }
                if (p_objItem != null)
                {
                    if (p_objItem.m_intAPPENDVIEWTYPE_INT == 1) //末执行及首次执行的才显示补次及补次的合计量


                    {
                    }
                    else
                    {
                        MessageBox.Show("当前医嘱类型为非补次类型!", "提示框!", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        return;
                    }
                }
                else
                {
                    MessageBox.Show("当前医嘱类型为非补次类型!", "提示框!", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    return;
                }
                if (m_blSon == true || order.m_intExecuteType != 1)
                {
                    if (m_blSon == true)
                    {
                        MessageBox.Show("请单独选择长嘱的父医嘱进行补次操作!", "提示框!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else if (order.m_intExecuteType != 1)
                    {
                        MessageBox.Show("非长期医嘱不能进行补次操作!", "提示框!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }

                    return;
                }
                /*<==================================*/
                if (order.m_intStatus == 1)
                {
                    cell1.ReadOnly = false;
                }
            }
        }
        /// <summary>
        /// 医嘱填充DATAGRIDVIEW
        /// </summary>
        /// <param name="objOrder">医嘱对像</param>
        /// <param name="m_intRecipenNoUp">上一条医嘱的方号(同方号的子医嘱不用再显示:长/临、类别、用法、频率、状态、下嘱医生)</param>
        public void m_objGetDataViewRow(clsBIHOrder objOrder)
        {
            this.m_objViewer.m_dtvOrderGroup.Rows.Add();

            DataGridViewRow objRow = this.m_objViewer.m_dtvOrderGroup.Rows[this.m_objViewer.m_dtvOrderGroup.RowCount - 1];

            objRow.Height = 20;
            objRow.Cells["dtv_check"].Value = "1";
            //序
            objRow.Cells["dtv_NO"].Value = this.m_objViewer.m_dtvOrderGroup.RowCount;
            //医嘱类型
            clsT_aid_bih_ordercate_VO p_objItem = (clsT_aid_bih_ordercate_VO)this.m_objViewer.m_htOrderCate[objOrder.m_strOrderDicCateID];

            if (p_objItem == null)
            {
                if (objOrder.m_strName.ToString().Trim().Equals("术后医嘱"))
                {
                    objRow.Cells["dtv_Name"].Value           = objOrder.m_strName.ToString();
                    objRow.Cells["dtv_Name"].Style.Alignment = DataGridViewContentAlignment.BottomCenter;
                    objRow.Tag = objOrder;
                    return;
                }
                else if (objOrder.m_strName.ToString().Trim().Equals("转科医嘱"))
                {
                    objRow.Cells["dtv_Name"].Value           = objOrder.m_strName.ToString();
                    objRow.Cells["dtv_Name"].Style.Alignment = DataGridViewContentAlignment.BottomCenter;
                    objRow.Tag = objOrder;
                    return;
                }
            }
            if (objOrder.m_intExecuteType == 1)
            {
                //方
                objRow.Cells["dtv_RecipeNo"].Value = " " + objOrder.m_intRecipenNo2.ToString();
            }
            //价格
            //objRow["Price"] =objOrder.m_dmlPrice.ToString("0.0000");

            //“方法”列。用于显示检验医嘱的样本类型,和检查医嘱的部位信息
            if (!objOrder.m_strPARTID_VCHR.Trim().Equals(""))
            {
                objRow.Cells["dtv_method"].Value = objOrder.m_strPARTNAME_VCHR;
            }
            else if (!objOrder.m_strSAMPLEID_VCHR.Trim().Equals(""))
            {
                objRow.Cells["dtv_method"].Value = objOrder.m_strSAMPLEName_VCHR;
            }


            //总量  N天共M片。N-表示出院带药的天数,M-表示出院带药合计的数量
            if (objOrder.m_intExecuteType == 3)
            {
                objRow.Cells["dtv_sum"].Value = objOrder.m_intOUTGETMEDDAYS_INT.ToString() + "天共" + Convert.ToString(objOrder.m_dmlGet * objOrder.m_intOUTGETMEDDAYS_INT) + objOrder.m_strGetunit;
            }
            else
            {
                objRow.Cells["dtv_sum"].Value = "";
            }

            //开始执行时间
            objRow.Cells["dtv_StartDate"].Value = DateTimeToString(objOrder.m_dtExecutedate);
            //停嘱者
            objRow.Cells["dtv_Stoper"].Value = objOrder.m_strStoper;
            //审核停止者
            objRow.Cells["ASSESSORFORSTOP_CHR"].Value = objOrder.m_strASSESSORFORSTOP_CHR;
            //停嘱时间
            objRow.Cells["dtv_FinishDate"].Value = DateTimeToCutYearDateString(objOrder.m_dtFinishDate);
            //执行时间/嘱托
            objRow.Cells["dtv_REMARK"].Value = objOrder.m_strREMARK_VCHR;
            // 药品来源: 0 药房(全计费,摆药); 1 患者自备(只收费用法加收项目,不摆药); 2 科室基数(全计费,不摆药)
            switch (objOrder.RateType)
            {
            case 0:
                objRow.Cells["RATETYPE_INT"].Value = "药房";
                break;

            case 1:
                objRow.Cells["RATETYPE_INT"].Value = "自备";
                break;

            case 2:
                objRow.Cells["RATETYPE_INT"].Value = "基数";
                break;

            default:
                break;
            }


            //校对护士
            objRow.Cells["ASSESSORFOREXEC_CHR"].Value = objOrder.m_strASSESSORFOREXEC_CHR;
            //录入时间
            objRow.Cells["CREATEDATE_DAT"].Value = DateTimeToString(objOrder.m_dtCreatedate);
            //下嘱时间(开始时间)
            objRow.Cells["m_dtPOSTDATE_DAT"].Value = DateTimeToCutYearDateString(objOrder.m_dtPostdate);
            objRow.Cells["m_dtStartDate"].Value    = DateTimeToCutYearDateString(objOrder.m_dtStartDate);

            /*<===============================*/
            //皮试
            string m_strFeel = "";

            if (objOrder.m_intISNEEDFEEL == 1)
            {
                switch (objOrder.m_intFEEL_INT)
                {
                case 0:
                    m_strFeel = " AST( ) ";
                    break;

                case 1:
                    m_strFeel = " AST(-) ";
                    break;

                case 2:
                    m_strFeel = " AST(+) ";
                    break;
                }
            }
            /*<==================================*/
            #region 医嘱类型控制列表界面
            if (p_objItem != null)
            {
                objOrder.m_strOrderDicCateName = p_objItem.m_strVIEWNAME_VCHR;

                if (!objOrder.m_strExecFreqID.Trim().Equals(this.m_objViewer.m_objSpecateVo.m_strCONFREQID_CHR.Trim()))//连续性医嘱不显示剂量
                {
                    if (p_objItem.m_intDOSAGEVIEWTYPE == 1)
                    {
                        //用量
                        if (objOrder.m_dmlDosage > 0)
                        {
                            objRow.Cells["dtv_Dosage"].Value = objOrder.m_dmlDosage.ToString() + "" + objOrder.m_strDosageUnit;
                        }
                        else
                        {
                            objRow.Cells["dtv_Dosage"].Value = "";
                        }
                    }
                    else
                    {
                        objRow.Cells["dtv_Dosage"].Value = "";
                    }
                }
                else
                {
                    objRow.Cells["dtv_Dosage"].Value = "";
                }
                if (p_objItem.m_intUSAGEVIEWTYPE == 1)
                {
                    //用法
                    objRow.Cells["dtv_UseType"].Value = objOrder.m_strDosetypeName;
                }
                else
                {
                    //用法
                    objRow.Cells["dtv_UseType"].Value = "";
                }
                if (objOrder.m_intExecuteType == 1)//长临才显示频率,临嘱不显示
                {
                    if (p_objItem.m_intExecuFrenquenceType == 1)
                    {
                        //频率
                        objRow.Cells["dtv_Freq"].Value = objOrder.m_strExecFreqName;
                    }
                    else
                    {
                        //当不显示时,医嘱表中的为修改标志=1时也显示出来 (0-普通状态,1-频率修改)
                        if (objOrder.m_intCHARGE_INT == 1)
                        {
                            objRow.Cells["dtv_Freq"].Value = objOrder.m_strExecFreqName;//频率
                        }
                        else
                        {
                            objRow.Cells["dtv_Freq"].Value = "";//频率
                        }
                    }
                }
                else
                {
                    objRow.Cells["dtv_Freq"].Value = "";//频率
                }

                if (p_objItem.m_intAPPENDVIEWTYPE_INT == 1)
                {
                    //补次
                    objRow.Cells["ATTACHTIMES_INT"].Value = objOrder.m_intATTACHTIMES_INT;
                }
                else
                {
                    //补次
                    objRow.Cells["ATTACHTIMES_INT"].Value = "";
                }
                //领量
                if (p_objItem.m_intQTYVIEWTYPE_INT == 1)
                {
                    if (objOrder.m_dmlGet > 0)
                    {
                        objRow.Cells["dtv_Get"].Value = objOrder.m_dmlGet.ToString() + " " + objOrder.m_strGetunit;
                    }
                    else
                    {
                        objRow.Cells["dtv_Get"].Value = "";
                    }
                }
                else
                {
                    //领量
                    objRow.Cells["dtv_Get"].Value = "";
                }
            }
            else
            {
                //用量
                objRow.Cells["dtv_Dosage"].Value = "";
                //频率
                objRow.Cells["dtv_Freq"].Value = "";
                //用法
                objRow.Cells["dtv_UseType"].Value = "";
                //补次
                objRow.Cells["ATTACHTIMES_INT"].Value = "";
                //领量
                objRow.Cells["dtv_Get"].Value = "";
            }
            #endregion
            //名称
            objRow.Cells["dtv_Name"].Value = objOrder.m_strName + " " + objRow.Cells["dtv_Dosage"].Value.ToString() + " " + objRow.Cells["dtv_UseType"].Value.ToString() + " " + objRow.Cells["dtv_Freq"].Value.ToString() + objOrder.m_strPARTNAME_VCHR + m_strFeel;
            //名称格式控制
            if (p_objItem != null)
            {
                if (p_objItem.m_strVIEWNAME_VCHR.ToString().Trim() == "文字医嘱")
                {
                    objRow.Cells["dtv_Name"].Value = "   " + objRow.Cells["dtv_Name"].Value.ToString();
                }
            }

            /*<=====================================================================*/
            //医保
            objRow.Cells["MedicareTypeName"].Value = objOrder.m_strMedicareTypeName;
            //医生名称
            objRow.Cells["dtv_DOCTOR_VCHR"].Value = objOrder.m_strDOCTOR_VCHR;
            //开单科室
            objRow.Cells["dtv_CREATEAREA_Name"].Value = objOrder.m_strCREATEAREA_Name;
            //作废人
            objRow.Cells["dtv_DELETERNAME_VCHR"].Value = objOrder.m_strDELETERNAME_VCHR;
            //作废时间
            objRow.Cells["dtv_DELETE_DAT"].Value = objOrder.m_strDELETE_DAT;
            //修改人姓名
            objRow.Cells["dtv_ChangedID"].Value = objOrder.m_strChangedName_CHR;
            //修改人时间
            objRow.Cells["dtv_ChangedDate"].Value = DateTimeToString(objOrder.m_dtChanged_DAT);

            // 同方号的子医嘱不用再显示:长/临、类别、用法、频率、状态、下嘱医生
            //长/临
            if (objOrder.m_intExecuteType == 1)
            {
                objRow.Cells["dtv_ExecuteType"].Value = "长期";
            }
            else if (objOrder.m_intExecuteType == 2)
            {
                objRow.Cells["dtv_ExecuteType"].Value = "临时";
            }
            else if (objOrder.m_intExecuteType == 3)
            {
                objRow.Cells["dtv_ExecuteType"].Value = "带药";
            }
            else
            {
                objRow.Cells["dtv_ExecuteType"].Value = "";
            }

            //出院带药天数
            if (objOrder.m_intExecuteType == 3)
            {
                objRow.Cells["dtv_OUTGETMEDDAYS_INT"].Value = objOrder.m_intOUTGETMEDDAYS_INT.ToString() + "天";
            }
            else
            {
                objRow.Cells["dtv_OUTGETMEDDAYS_INT"].Value = "";
            }
            //医嘱类型名称
            objRow.Cells["viewname_vchr"].Value = objOrder.m_strOrderDicCateName.ToString().Trim();
            //医嘱状态 执行状态{-1作废医嘱;0-创建;1-提交;2-执行;3-停止;4-重整;5- 已审核提交;6-审核停止;7-退回;}
            switch (objOrder.m_intStatus)
            {
            case -1:
                objRow.Cells["STATUS_INT"].Value = "作废";
                break;

            case 0:
                objRow.Cells["STATUS_INT"].Value = "新开";
                break;

            case 1:
                objRow.Cells["STATUS_INT"].Value = "提交";
                break;

            case 2:
                objRow.Cells["STATUS_INT"].Value = "执行";
                break;

            case 3:
                objRow.Cells["STATUS_INT"].Value = "停止";
                break;

            case 4:
                objRow.Cells["STATUS_INT"].Value = "重整";
                break;

            case 5:
                objRow.Cells["STATUS_INT"].Value = "转抄";
                break;

            case 6:
                objRow.Cells["STATUS_INT"].Value = "审核停止";
                break;

            case 7:
                objRow.Cells["STATUS_INT"].Value = "退回";
                break;

            default:
                objRow.Cells["STATUS_INT"].Value = "";
                break;
            }
            //下嘱医生
            objRow.Cells["CREATOR_CHR"].Value = objOrder.m_strCreator;
            //执行人
            objRow.Cells["dtv_Executor"].Value = objOrder.m_strExecutor;

            /*<==================================================================*/
            objRow.Tag = objOrder;
        }
Example #6
0
        private void trvAddBills_DoubleClick(object sender, System.EventArgs e)
        {
            if (trvAddBills.SelectedNode != null)
            {
                if (trvAddBills.SelectedNode.Parent == null)
                {
                    if (m_intOpenbType == 0)                  //从医嘱录入打开
                    {
                        clsBIHOrderInputDomain.clsOtherBillInfo objCurrentBillInfo = (clsBIHOrderInputDomain.clsOtherBillInfo)(trvAddBills.SelectedNode.Tag);
                        objCurrentBillInfo.m_ParentForm = this.m_frmParent;
                        objCurrentBillInfo.m_ParentForm.objController = this.m_frmParent.objController;
                        objCurrentBillInfo.m_mthShowUI(m_frmParent.LoginInfo);
                        m_lngLoadAddBills();
                    }
                    else if (m_intOpenbType == 1)                 //从医嘱执行打开
                    {
                        clsBIHCanExecOrder objOrders = (clsBIHCanExecOrder)(trvAddBills.SelectedNode.Tag);
                        //医嘱类型ID
                        string strOrderCateID = objOrders.m_strOrderDicCateID.Trim();
                        //医嘱ID
                        string strOrderID = objOrders.m_strOrderID.Trim();
                        //附加单据ID
                        string strAttachID = GetAttachID(strOrderID);
                        //关系表ID
                        clsRelation_VOArr objRelation = new clsRelation_VOArr();
                        long      lngR          = objRelation.m_lngGetRelation("sourceitemid_vchr='" + strOrderID.Trim() + "'");
                        string    strRelationID = objRelation.m_objValues[0].m_strATTARELAID_CHR.Trim();
                        DataTable dtbAddBills   = null;
                        long      lngRes        = m_lngGetAddBillByOrderID(strOrderID.Trim(), out dtbAddBills);

                        clsT_aid_bih_ordercate_VO objResult = null;
                        clsDcl_InputOrder         objTem    = new clsDcl_InputOrder();
                        lngRes = objTem.m_lngGetAidOrderCateByID(strOrderCateID, out objResult);
                        if (lngRes <= 0 || objResult == null)
                        {
                            return;
                        }

                        string strDllName    = objResult.m_strDLLNAME_VCHR;
                        string strClassName  = objResult.m_strCLASSNAME_VCHR;
                        string strInsertName = objResult.m_strOPRADD_VCHR;
                        string strUpdateName = objResult.m_strOPRUPD_VCHR;

                        System.Reflection.Assembly objAsm = System.Reflection.Assembly.LoadFrom(strDllName);

                        if (objAsm == null)
                        {
                            return;
                        }
                        object[] objParams = new object[1];

                        objParams[0] = strAttachID.Trim();

                        object obj;
                        try
                        {
                            obj = objAsm.CreateInstance(strClassName, true, System.Reflection.BindingFlags.Default, null, objParams, null, new object[0] {
                            });
                        }
                        catch (System.Exception err)
                        {
                            string strMsg = err.Message.ToString();
                            MessageBox.Show(strMsg);
                            return;
                        }
                        if (obj == null)
                        {
                            return;
                        }
                        //打开窗体
                        ((Form)obj).ShowDialog();
                        Type objType = obj.GetType();
                        System.Reflection.PropertyInfo objMi = objType.GetProperty("m_StrRecordID");
                        string strAddBillRecordID            = objMi.GetValue(obj, null).ToString();
                        if (strAddBillRecordID.Trim() != "")
                        {
                            m_lngSaveAddBill(strAddBillRecordID.Trim(), strRelationID, strOrderID);
                        }
                        return;
                    }
                }
            }
        }