示例#1
0
        /// <summary>
        /// 获取特种病信息
        /// </summary>
        public void m_mthLoadYBSpeDea()
        {
            clsDcl_DoctorWorkstation objDoct = new clsDcl_DoctorWorkstation();

            DataTable dt;

            long l = objDoct.m_lngGetYBSpeciaTypeDisease(out dt);

            if (l > 0 && dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataRow  dr = dt.Rows[i];
                    string[] s  = new string[2];
                    s[0] = Convert.ToString(i + 1);
                    s[1] = dr["deadesc_vchr"].ToString();

                    int row = this.dtgDea.Rows.Add(s);
                    this.dtgDea.Rows[row].Tag = dr;
                }
            }
            else
            {
                MessageBox.Show("无门诊医保特种病信息。", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
示例#2
0
        private void GetData()
        {
            if (this._ItemID.Trim() == "")
            {
                return;
            }
            DataTable dt;

            if (this.objSvc == null)
            {
                this.objSvc = new clsDcl_DoctorWorkstation();
            }
            long ret = objSvc.m_mthGetChangePriceInfo(_ItemID, out dt, "");

            if (dt.Rows.Count == 0)
            {
                DataRow dr = dt.NewRow();
                dr["ITEMNAME_VCHR"] = _ItemName;
                dr["ITEMCODE_VCHR"] = _ItemCode;
                dr["CURPRICE_MNY"]  = _ItemPrice;
                dr["PREPRICE_MNY"]  = "无调价信息";
                dt.Rows.Add(dr);
            }
            this.ctlDataGrid1.m_mthSetDataTable(dt);
        }
示例#3
0
 public clsCtl_OPSRoom()
 {
     //
     // TODO: 在此处添加构造函数逻辑
     //
     objSvc = new clsDcl_DoctorWorkstation();
 }
示例#4
0
        public void m_mthLoadCat()
        {
            clsDcl_DoctorWorkstation clsDomain = new clsDcl_DoctorWorkstation();

            long l = clsDomain.m_mthRelationInfo(out this.dt_RelationInfo);

            if (l < 0)
            {
                MessageBox.Show("加载关系表失败!", "ICare", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
示例#5
0
 public frmHistoryMedicine(clsDcl_DoctorWorkstation p_objSvc)
 {
     //
     // Windows 窗体设计器支持所必需的
     //
     InitializeComponent();
     objSvc = p_objSvc;
     //
     // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
     //
 }
示例#6
0
        private void frmMedicineUsageDetail_Load(object sender, System.EventArgs e)
        {
            if (m_blnPsFlag)
            {
                this.checkBox1.Enabled = true;
            }
            else
            {
                this.checkBox1.Enabled = false;
            }


            //if (lbeMedicine.Tag == null)
            //{
            //    MessageBox.Show("无传入项目ID");
            //    return;
            //}
            //this.Name = this.Name + lbeMedicine.Tag.ToString().Trim();
            //this.m_txtMedDetails.Name = this.m_txtMedDetails.Name + this.LoginInfo.m_strEmpID;

            clsDcl_DoctorWorkstation objSvc = new clsDcl_DoctorWorkstation();
//            long lngRes = objSvc.m_lngSetModeByItem(this.Name, "详细用法录入窗口", m_txtMedDetails.Name, "操作员(" + LoginInfo.m_strEmpName + ")详细用法模板");
            long lngRes = objSvc.m_lngSetModeByItem(this.Name, "详细用法录入窗口", m_txtMedDetails.Name, "详细用法模板");

            if (lngRes < 0)
            {
                MessageBox.Show("数据访问出错");
                return;
            }
            objSvc = null;

            #region mod
            string m_strDeptID = "";
            string m_strEmpID  = this.LoginInfo.m_strEmpID;

            com.digitalwave.GUI_Base.clsController_Base         objCtlBase = new com.digitalwave.GUI_Base.clsController_Base();
            com.digitalwave.iCare.ValueObject.clsDepartmentVO[] objDept    = null;
            objCtlBase.m_objComInfo.m_mthGetDepartmentByUserID(m_strEmpID, out objDept);
            if (objDept != null)
            {
                for (int i = 0; i < objDept.Length; i++)
                {
                    if (objDept[i].intInPatientOrOutPatient == 0)
                    {
                        m_strDeptID = objDept[i].strDeptID;
                        break;
                    }
                }
            }

            m_objTemplate = new com.digitalwave.iCare.Template.Client.clsTemplateClient(this, this.LoginInfo.m_strEmpID, m_strDeptID);
            #endregion
        }
示例#7
0
 private void btnOK_Click(object sender, System.EventArgs e)
 {
     if (PatientID != "")
     {
         if (MessageBox.Show("是否确认该患者的过敏信息?", "系统提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
         {
             string allergicmed  = txtmed.Text.Trim();
             string allergicdesc = txtdesc.Text.Trim();
             clsDcl_DoctorWorkstation objDoctor = new clsDcl_DoctorWorkstation();
             long ret = objDoctor.m_lngUpdateallergic(PatientID, RecipeID, allergicmed, allergicdesc);
             if (ret > 0)
             {
                 MessageBox.Show("确认成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
             }
             objDoctor = null;
         }
     }
 }
示例#8
0
        private void frmOPSConfirm_Load(object sender, EventArgs e)
        {
            empid   = this.LoginInfo.m_strEmpID;
            empno   = this.LoginInfo.m_strEmpNo;
            empname = this.LoginInfo.m_strEmpName;

            DataTable dt = new DataTable();
            clsDcl_DoctorWorkstation objSvc = new clsDcl_DoctorWorkstation();
            long ret = objSvc.m_lngGetempinfo(out dt, empno);

            if (dt.Rows.Count == 1)
            {
                //emppwd = dt.Rows[0]["psw_chr"].ToString().Trim();
                clsSymmetricAlgorithm obj = new clsSymmetricAlgorithm();
                this.emppwd = obj.m_strDecrypt(dt.Rows[0]["psw_chr"].ToString().Trim(), clsSymmetricAlgorithm.enmSymmetricAlgorithmType.DES);
                pass        = true;
            }

            this.txtGh.Text   = empno;
            this.lblName.Text = "(姓名: " + empname + ")";
        }
示例#9
0
        private void dtgDea_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            int row = e.RowIndex;

            if (row < 0)
            {
                return;
            }

            DataRow dr      = this.dtgDea.Rows[row].Tag as DataRow;
            string  deacode = dr["deacode_chr"].ToString();

            diseasename = dr["deadesc_vchr"].ToString().Trim();

            clsDcl_DoctorWorkstation objDoct = new clsDcl_DoctorWorkstation();

            DataTable dt;

            long l = objDoct.m_lngGetICD10ByDeacode(deacode, out dt);

            if (l > 0 && dt.Rows.Count > 0)
            {
                ArrayList arrICD10 = new ArrayList();
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    clsICD10Inf ICD10 = new clsICD10Inf();

                    ICD10.ICD10_Code = dt.Rows[i]["icdcode_chr"].ToString().Trim();
                    ICD10.ICD10_Name = dt.Rows[i]["icdname_vchr"].ToString().Trim();
                    arrICD10.Add(ICD10);
                }
                p_objICD10        = arrICD10.ToArray(typeof(clsICD10Inf)) as clsICD10Inf[];
                this.DialogResult = DialogResult.OK;
            }
            else
            {
                MessageBox.Show("获取ICD10信息失败。", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
示例#10
0
        private void txtGh_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                string strempno = this.txtGh.Text.Trim();

                if (strempno == "")
                {
                    return;
                }

                DataTable dt = new DataTable();
                clsDcl_DoctorWorkstation objSvc = new clsDcl_DoctorWorkstation();
                long ret = objSvc.m_lngGetempinfo(out dt, strempno);
                if (dt.Rows.Count == 1)
                {
                    empid   = dt.Rows[0]["empid_chr"].ToString();
                    empname = dt.Rows[0]["lastname_vchr"].ToString();
                    //emppwd = dt.Rows[0]["psw_chr"].ToString().Trim();
                    clsSymmetricAlgorithm obj = new clsSymmetricAlgorithm();
                    this.emppwd = obj.m_strDecrypt(dt.Rows[0]["psw_chr"].ToString().Trim(), clsSymmetricAlgorithm.enmSymmetricAlgorithmType.DES);

                    pass = true;
                    this.lblName.Text = "(姓名: " + empname + ")";
                    this.txtPwd.Focus();
                }
                else
                {
                    pass = false;
                    this.lblName.Text = "";
                    this.txtPwd.Text  = "";
                    MessageBox.Show("工号输入错误,请重新输入。", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    this.txtGh.Focus();
                }
            }
        }
示例#11
0
        /// <summary>
        /// 删除(作废)
        /// </summary>
        /// <param name="Flag">1 删除(作废) 2 删除(作废)后复用</param>
        private void m_mthDelRecipe(int Flag)
        {
            clsDcl_DoctorWorkstation objDoct = new clsDcl_DoctorWorkstation();
            DataTable dtTmp = new DataTable();

            objDoct.m_lngGetRecipeMainInfo(RecipeInfo_VO.m_strOUTPATRECIPEID_CHR, out dtTmp);
            if (dtTmp != null && dtTmp.Rows.Count > 0)
            {
                if (dtTmp.Rows[0]["diagdr_chr"].ToString().Trim() != this.LoginInfo.m_strEmpID)
                {
                    MessageBox.Show("非本人处方,不能操作。", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    return;
                }
            }

            string info   = "";
            int    status = RecipeInfo_VO.m_intPSTATUS_INT;

            if (status == 0 || status == 1)
            {
                if (Flag == 1)
                {
                    info = "删除";
                }
                else if (Flag == 2)
                {
                    info = "删除后复用";
                }
            }
            else if (status == 4 || status == 5)
            {
                if (Flag == 1)
                {
                    info = "作废";
                }
                else if (Flag == 2)
                {
                    info = "作废后复用";
                }
            }
            else
            {
                return;
            }

            //伪删除、作废处方
            if (MessageBox.Show("确认是否" + info + "当前处方?", "系统提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.No)
            {
                return;
            }

            if (Flag == 2)
            {
                this.m_mthSelect(1);

                if (hasItem.Count == 0)
                {
                    MessageBox.Show("请选择项目!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
            }

            long l = objDoct.m_mthDelRecipe(RecipeInfo_VO.m_strOUTPATRECIPEID_CHR, "-1");

            /*
             *  一、正常的流程:
             *     2 已结算的,不能作废  -4 程序失败
             *  二、以下为:添加了先诊疗后结算的,添加的判断
             *     -3 表示已经有药品(中药或西药)、材料已经配药或发药了
             *     -5 表示已经有检验开始做  -7 表示已经有检查开始做
             * **/
            if ((l > 0 && l != 2) || l == -1)
            {
                MessageBox.Show(info + "处方成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                if (Flag == 1)
                {
                    this.DialogResult = DialogResult.Abort;
                }
                else if (Flag == 2)
                {
                    this.DialogResult = DialogResult.Yes;
                }
            }
            else if (l == -3)
            {
                MessageBox.Show(info + "处方失败。药品(或材料)已配或已发。", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else if (l == -5)
            {
                MessageBox.Show(info + "处方失败。存在已做检验。", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else if (l == -7)
            {
                MessageBox.Show(info + "处方失败。存在已做检查。", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                MessageBox.Show(info + "处方失败。", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#12
0
        /// <summary>
        /// 查找
        /// </summary>
        private void m_mthFind()
        {
            //查询条件
            string sqlwhere = "";
            //条件组合逻辑
            string Jion = "";

            if (this.rdoAnd.Checked)
            {
                Jion = " and ";
            }
            else if (this.rdoOr.Checked)
            {
                Jion = " or ";
            }

            //卡号
            if (this.txtCardno.Enabled && this.txtCardno.Text.Trim() != "")
            {
                sqlwhere += "(f.patientcardid_chr = '" + this.txtCardno.Text.Trim() + "') " + Jion;
            }

            //姓名
            if (this.txtName.Enabled && this.txtName.Text.Trim() != "")
            {
                sqlwhere += "(b.name_vchr like '" + this.txtName.Text.Trim() + "%') " + Jion;
            }

            //性别
            if (this.cboSex.Enabled && this.cboSex.Text.Trim() != "")
            {
                sqlwhere += "(b.sex_chr = '" + this.cboSex.Text.Trim() + "') " + Jion;
            }

            //手术者
            if (this.m_txtFinddoct.Enabled && this.m_txtFinddoct.txtValuse.Trim() != "")
            {
                sqlwhere += "(h.opsdoctor_chr like '" + this.m_txtFinddoct.txtValuse.Trim() + "%') " + Jion;
            }

            //手术科室
            if (this.txtDept.Enabled && this.txtDept.txtValuse.Trim() != "")
            {
                sqlwhere += "(e.deptname_vchr like '" + this.txtDept.txtValuse.Trim() + "%') " + Jion;
            }

            //手术名称
            if (this.txtOPSName.Enabled && this.txtOPSName.Text.Trim() != "")
            {
                sqlwhere += "(h.opsname_vchr like '%" + this.txtOPSName.Text.Trim() + "%') " + Jion;
            }

            //手术时间
            if (this.dtpBegindate.Enabled)
            {
                sqlwhere += "(to_char(h.opsdate_dat,'yyyy-mm-dd') between '" + this.dtpBegindate.Value.ToString("yyyy-MM-dd") + "' and '" + this.dtpEnddate.Value.ToString("yyyy-MM-dd") + "')";
            }

            if ((sqlwhere = sqlwhere.Trim()) == "")
            {
                return;
            }
            else
            {
                if (sqlwhere.Substring(sqlwhere.Length - 3, 3).ToLower() == "and" || sqlwhere.Substring(sqlwhere.Length - 3, 3).ToLower() == " or")
                {
                    sqlwhere = sqlwhere.Substring(0, sqlwhere.Length - 3).Trim();
                }
            }

            sqlwhere = " and (" + sqlwhere + ") order by applyid_vchr";

            DataTable dtRecord = new DataTable();
            clsDcl_DoctorWorkstation objSvc = new clsDcl_DoctorWorkstation();
            long ret = objSvc.m_lngGetopsreports(sqlwhere, out dtRecord);

            if (ret > 0)
            {
                this.Column1.DataPropertyName  = "applyid_vchr";
                this.Column2.DataPropertyName  = "name_vchr";
                this.Column3.DataPropertyName  = "sex_chr";
                this.Column4.DataPropertyName  = "birth_dat";
                this.Column5.DataPropertyName  = "patientcardid_chr";
                this.Column6.DataPropertyName  = "deptname_vchr";
                this.Column7.DataPropertyName  = "opsname_vchr";
                this.Column8.DataPropertyName  = "opsdate_dat";
                this.Column9.DataPropertyName  = "opsdoctor_chr";
                this.Column10.DataPropertyName = "opsresult_vchr";

                this.dataGridView.DataSource = dtRecord;
            }
        }
示例#13
0
        /// <summary>
        /// 显示收费项目
        /// </summary>
        /// <param name="p_dtbChargeItem"></param>
        /// <param name="p_strRecipeNo">处方号</param>
        public void m_mthShow(DataTable p_dtbChargeItem, string p_strRecipeNo)
        {
            if (p_dtbChargeItem == null && p_dtbChargeItem.Rows.Count <= 0)
            {
                return;
            }
            if (string.IsNullOrEmpty(p_strRecipeNo))
            {
                return;
            }

            m_dtbChargeItem = p_dtbChargeItem.Copy();

            string RecID = p_strRecipeNo;

            long      ret = 0;
            DataTable dt  = null;
            //诊疗项目的状态,是否完成该诊疗
            DataTable dtbDiagnosisItemStatus = null;
            //是否发药
            DataTable dtbSendMed = null;
            //是否发了西药
            int intIsSendWM = 0;
            //是否发了中药
            int intIsSendCM = 0;
            //是否发了其他的材料
            int intIsSendOth = 0;

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

            ret = objDomain.m_lngQuerySendMed(RecID, out dtbSendMed);

            if (ret > 0)
            {
                if (dtbSendMed != null && dtbSendMed.Rows.Count > 0)
                {
                    int intRowCount = dtbSendMed.Rows.Count;
                    for (int i1 = 0; i1 < intRowCount; i1++)
                    {
                        DataRow dtrTemp = dtbSendMed.Rows[i1];
                        switch (dtrTemp["medtype"].ToString().Trim())
                        {
                        case "WM":
                            int.TryParse(dtrTemp["issendmed"].ToString().Trim(), out intIsSendWM);
                            break;

                        case "CM":
                            int.TryParse(dtrTemp["issendmed"].ToString().Trim(), out intIsSendCM);
                            break;

                        case "QTH":
                            int.TryParse(dtrTemp["issendmed"].ToString().Trim(), out intIsSendOth);
                            break;

                        default:
                            break;
                        }
                    }
                }
            }

            #region 1、西药
            //colChecked,colRepNo,colItemName,colState,colOriSpecification,colNewSpecification,
            // colQuantity,colOriPrice,colNewPrice,colSum,colFrequency,colUsage,colItemAttribute
            int intRowIndex = 0;
            //1、西药
            ret = objDoct.m_mthFindRecipeDetail1(RecID, out dt, false);
            if (ret > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    intRowIndex = this.m_objViewer.dtgItem.Rows.Add();

                    DataGridViewRow dgvrTemp = this.m_objViewer.dtgItem.Rows[intRowIndex];
                    DataRow         dr       = dt.Rows[i];

                    dgvrTemp.Cells["colChecked"].Value = "T";
                    //是否选中,也即和是否领药
                    if (intIsSendWM == 1)
                    {
                        dgvrTemp.Cells["colChecked"].ReadOnly = true;
                        dgvrTemp.Cells["colState"].Value      = "已领药";
                        dgvrTemp.DefaultCellStyle.BackColor   = Color.Red;
                    }
                    else
                    {
                        //dgvrTemp.Cells["colChecked"].Value = "F";
                        dgvrTemp.Cells["colState"].Value = "未领药";
                    }
                    //方号
                    if (dr["rowno_chr"].ToString().Trim() == "0")
                    {
                        dgvrTemp.Cells["colRepNo"].Value = "";
                    }
                    else
                    {
                        dgvrTemp.Cells["colRepNo"].Value = dr["rowno_chr"].ToString().Trim();
                    }
                    //项目名称
                    dgvrTemp.Cells["colItemName"].Value = dr["itemname_vchr"].ToString();
                    //原规格
                    dgvrTemp.Cells["colOriSpecification"].Value = dr["itemspec_vchr"].ToString();
                    //新规格
                    if (dr["rowno_chr"].ToString().Trim() == "0")
                    {
                        dgvrTemp.Cells["colNewSpecification"].Value = "";
                    }
                    else
                    {
                        dgvrTemp.Cells["colNewSpecification"].Value = dr["rowno_chr"].ToString().Trim();
                    }
                    //频率
                    dgvrTemp.Cells["colFrequency"].Value = dr["freqname_chr"].ToString();
                    //用法
                    dgvrTemp.Cells["colUsage"].Value = dr["usagename_vchr"].ToString();
                    //数量
                    dgvrTemp.Cells["colQuantity"].Value = dr["tolqty_dec"].ToString();
                    //原单价
                    dgvrTemp.Cells["colOriPrice"].Value = dr["unitprice_mny"].ToString();
                    //新单价
                    dgvrTemp.Cells["colNewPrice"].Value = "";
                    //原合计金额
                    dgvrTemp.Cells["colSum"].Value = dr["tolprice_mny"].ToString();
                    //项目属性
                    dgvrTemp.Cells["colItemAttribute"].Value = "WM";
                    //项目id
                    dgvrTemp.Cells["colItemID"].Value = dr["itemid_chr"].ToString();
                    //添加目标申请单id
                    dgvrTemp.Cells["colAttachid"].Value = "";


                    //判断大小单位
                    if (dr["opchargeflg_int"].ToString().Trim() == "0")
                    {
                        if (this.ConvertObjToDecimal(dr["unitprice_mny"]) != this.ConvertObjToDecimal(dr["itemprice_mny"]))
                        {
                            dgvrTemp.Cells["colNewPrice"].Value = dr["itemprice_mny"].ToString();
                        }
                    }
                    else
                    {
                        if (this.ConvertObjToDecimal(dr["unitprice_mny"]) != this.ConvertObjToDecimal(dr["submoney"]))
                        {
                            dgvrTemp.Cells["colNewPrice"].Value = dr["submoney"].ToString();
                        }
                    }


                    Totalmny    += ConvertObjToDecimal(dr["tolprice_mny"]);
                    dgvrTemp.Tag = dr;
                }
            }
            #endregion

            #region 2、中药
            //2、中药
            ret = objDoct.m_mthFindRecipeDetail2(RecID, out dt, false);
            if (ret > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    intRowIndex = this.m_objViewer.dtgItem.Rows.Add();

                    DataGridViewRow dgvrTemp = this.m_objViewer.dtgItem.Rows[intRowIndex];
                    DataRow         dr       = dt.Rows[i];

                    //colChecked,colRepNo,colItemName,colState,colOriSpecification,colNewSpecification,
                    // cloQuantity,colOriPrice,colNewPrice,colSum,colFrequency,colUsage,colItemAttribute

                    dgvrTemp.Cells["colChecked"].Value = "T";
                    if (intIsSendCM == 1)
                    {
                        dgvrTemp.Cells["colChecked"].ReadOnly = true;
                        dgvrTemp.Cells["colState"].Value      = "已领药";
                        dgvrTemp.DefaultCellStyle.BackColor   = Color.Red;
                    }
                    else
                    {
                        //dgvrTemp.Cells["colChecked"].Value = "F";
                        dgvrTemp.Cells["colState"].Value = "未领药";
                    }
                    dgvrTemp.Cells["colRepNo"].Value            = "";
                    dgvrTemp.Cells["colItemName"].Value         = dr["itemname"].ToString();
                    dgvrTemp.Cells["colOriSpecification"].Value = dr["dec"].ToString();
                    if (dr["dec"].ToString().Trim() != dr["spec"].ToString().Trim())
                    {
                        dgvrTemp.Cells["colNewSpecification"].Value = dr["spec"].ToString();
                    }
                    else
                    {
                        dgvrTemp.Cells["colNewSpecification"].Value = "";
                    }
                    dgvrTemp.Cells["colFrequency"].Value = "";
                    dgvrTemp.Cells["colUsage"].Value     = dr["usagename_vchr"].ToString();
                    dgvrTemp.Cells["colQuantity"].Value  = Convert.ToString(ConvertObjToDecimal(dr["times"]) * ConvertObjToDecimal(dr["min_qty_dec"]));
                    dgvrTemp.Cells["colOriPrice"].Value  = dr["price"].ToString();
                    if (this.ConvertObjToDecimal(dr["price"]) != this.ConvertObjToDecimal(dr["submoney"]))
                    {
                        dgvrTemp.Cells["colNewPrice"].Value = dr["submoney"].ToString();
                    }
                    else
                    {
                        dgvrTemp.Cells["colNewPrice"].Value = "";
                    }
                    dgvrTemp.Cells["colSum"].Value           = dr["summoney"].ToString();
                    dgvrTemp.Cells["colItemAttribute"].Value = "CM";
                    //项目id
                    dgvrTemp.Cells["colItemID"].Value = dr["itemid"].ToString();
                    //添加目标申请单id
                    dgvrTemp.Cells["colAttachid"].Value = "";

                    Totalmny += ConvertObjToDecimal(dr["summoney"]);

                    dgvrTemp.Tag = dr;
                }
            }
            #endregion

            #region 3、诊疗项目
            //诊疗项目
            //检验、检验、手术
            int intCheck = 1;
            ret = objDoct.m_mthFindRecipeDetailOrder(RecID, out dt);

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                intRowIndex = this.m_objViewer.dtgItem.Rows.Add();

                DataGridViewRow dgvrTemp = this.m_objViewer.dtgItem.Rows[intRowIndex];
                DataRow         dr       = dt.Rows[i];

                //方号
                dgvrTemp.Cells["colRepNo"].Value = "";
                //项目名称
                dgvrTemp.Cells["colItemName"].Value = dr["orderdicname_vchr"].ToString();
                //原规格
                dgvrTemp.Cells["colOriSpecification"].Value = dr["spec_vchr"].ToString();
                //新规格
                dgvrTemp.Cells["colNewSpecification"].Value = "";
                //频率
                dgvrTemp.Cells["colFrequency"].Value = "";
                //用法
                dgvrTemp.Cells["colUsage"].Value = "";
                //数量
                dgvrTemp.Cells["colQuantity"].Value = dr["qty_dec"].ToString();
                //原单价
                dgvrTemp.Cells["colOriPrice"].Value = dr["pricemny_dec"].ToString();
                //新单价
                dgvrTemp.Cells["colNewPrice"].Value = "";
                // 原合计金额
                dgvrTemp.Cells["colSum"].Value = dr["totalmny_dec"].ToString();
                //诊疗项目id
                dgvrTemp.Cells["colItemID"].Value = dr["orderdicid_chr"].ToString();

                dgvrTemp.Cells["colChecked"].Value = "T";
                dgvrTemp.Cells["colState"].Value   = "未确定";
                //添加目标申请单id
                dgvrTemp.Cells["colAttachid"].Value = dr["attachid_vchr"].ToString();
                string strItemid = dr["itemid_chr"].ToString().Trim();
                string ordertype = dr["tableindex_int"].ToString();

                if (dtbDiagnosisItemStatus != null)
                {
                    dtbDiagnosisItemStatus.Dispose();
                    dtbDiagnosisItemStatus = null;
                }
                if (ordertype == "3")
                {
                    dgvrTemp.Cells["colItemAttribute"].Value = "lis";
                    ret = objDomain.m_lngQueryDiagnosisItemStatus(p_strRecipeNo, dr["orderdicid_chr"].ToString().Trim(), intCheck, out dtbDiagnosisItemStatus);
                }
                else if (ordertype == "4")
                {
                    dgvrTemp.Cells["colItemAttribute"].Value = "test";
                    ret = objDomain.m_lngQueryDiagnosisItemStatus(p_strRecipeNo, dr["orderdicid_chr"].ToString().Trim(), intCheck, out dtbDiagnosisItemStatus);
                }
                else if (ordertype == "5")
                {
                    dgvrTemp.Cells["colItemAttribute"].Value = "ops";
                    ret = objDomain.m_lngQueryDiagnosisItemStatus(p_strRecipeNo, dr["orderdicid_chr"].ToString().Trim(), intCheck, out dtbDiagnosisItemStatus);
                }
                else
                {
                    continue;
                }

                if (ret > 0)
                {
                    Totalmny += ConvertObjToDecimal(dr["totalmny_dec"]);

                    if (dtbDiagnosisItemStatus != null && dtbDiagnosisItemStatus.Rows.Count > 0)
                    {
                        DataRow dtrTemp   = dtbDiagnosisItemStatus.Rows[0];
                        int     intStatus = 0;
                        int.TryParse(dtrTemp["isfinish"].ToString(), out intStatus);

                        if (intStatus == 1)
                        {
                            dgvrTemp.Cells["colChecked"].ReadOnly = true;
                            dgvrTemp.Cells["colState"].Value      = "已确定";
                            dgvrTemp.DefaultCellStyle.BackColor   = Color.Red;
                        }
                    }

                    dgvrTemp.Tag = dr;
                }
            }
            #endregion

            #region 4、其他项目,只是显示手动添加的,不显示项目带出的

            /*
             * 可以通过查看是不是带出的项目来决定是否显示,如,它的用法带出父项目id为空
             * **/
            //6、其他
            ret = objDoct.m_mthFindRecipeDetail6(RecID, out dt, false);

            if (ret > 0)
            {
                int intRwoCount = dt.Rows.Count;
                for (int i1 = 0; i1 < intRwoCount; i1++)
                {
                    DataRow dtrTemp = dt.Rows[i1];

                    if (string.IsNullOrEmpty(dtrTemp["usageparentid_vchr"].ToString().Trim()))
                    {
                        intRowIndex = this.m_objViewer.dtgItem.Rows.Add();
                        DataGridViewRow dgvrTemp = this.m_objViewer.dtgItem.Rows[intRowIndex];

                        dgvrTemp.Cells["colChecked"].Value = "T";
                        dgvrTemp.Cells["colState"].Value   = "未确定";
                        //if (intIsSendOth == 1)
                        //{
                        //    dgvrTemp.Cells["colChecked"].ReadOnly = true;
                        //    dgvrTemp.Cells["colState"].Value = "已确定";
                        //    dgvrTemp.DefaultCellStyle.BackColor = Color.Red;
                        //}
                        //else
                        //{
                        //    //dgvrTemp.Cells["colChecked"].Value = "F";
                        //    dgvrTemp.Cells["colState"].Value = "未确定";
                        //}

                        //方号
                        dgvrTemp.Cells["colRepNo"].Value = "";
                        //项目名称
                        dgvrTemp.Cells["colItemName"].Value = dtrTemp["itemname"].ToString();
                        //原规格
                        dgvrTemp.Cells["colOriSpecification"].Value = dtrTemp["dec"].ToString();
                        //新规格
                        dgvrTemp.Cells["colNewSpecification"].Value = "";
                        //频率
                        dgvrTemp.Cells["colFrequency"].Value = "";
                        //用法
                        dgvrTemp.Cells["colUsage"].Value = "";
                        //数量
                        dgvrTemp.Cells["colQuantity"].Value = dtrTemp["quantity"].ToString();
                        //原单价
                        dgvrTemp.Cells["colOriPrice"].Value = dtrTemp["price"].ToString();
                        //新单价
                        dgvrTemp.Cells["colNewPrice"].Value = "";
                        // 原合计金额
                        dgvrTemp.Cells["colSum"].Value = dtrTemp["summoney"].ToString();
                        //项目属性
                        dgvrTemp.Cells["colItemAttribute"].Value = "oth";
                        //项目Id
                        dgvrTemp.Cells["colItemID"].Value = dtrTemp["itemid"].ToString();
                        //添加目标申请单id
                        dgvrTemp.Cells["colAttachid"].Value = "";

                        if (dtrTemp["dec"].ToString().Trim() != dtrTemp["spec"].ToString().Trim())
                        {
                            dgvrTemp.Cells["colNewSpecification"].Value = dtrTemp["spec"].ToString();
                        }

                        if (this.ConvertObjToDecimal(dtrTemp["price"]) != this.ConvertObjToDecimal(dtrTemp["itemprice_mny"]))
                        {
                            dgvrTemp.Cells["colNewPrice"].Value = dtrTemp["itemprice_mny"].ToString();
                        }

                        ret = objDomain.m_lngQueryDiagnosisItemStatus(p_strRecipeNo, dtrTemp["outpatrecipedeid_chr"].ToString().Trim(), 2, out dtbDiagnosisItemStatus);

                        if (ret > 0)
                        {
                            Totalmny += ConvertObjToDecimal(dtrTemp["summoney"]);

                            if (dtbDiagnosisItemStatus != null && dtbDiagnosisItemStatus.Rows.Count > 0)
                            {
                                DataRow dtrTempStatus = dtbDiagnosisItemStatus.Rows[0];
                                int     intStatus     = 0;
                                int.TryParse(dtrTempStatus["isfinish"].ToString(), out intStatus);

                                if (intStatus == 1)
                                {
                                    dgvrTemp.Cells["colChecked"].ReadOnly = true;
                                    dgvrTemp.Cells["colState"].Value      = "已确定";
                                    dgvrTemp.DefaultCellStyle.BackColor   = Color.Red;
                                }
                            }
                        }

                        dgvrTemp.Tag = dtrTemp;
                    }
                }
            }
            #endregion
        }
示例#14
0
        private clsOutpatientPrintRecipe_VO m_mthGetPrintVo(string strID)
        {
            clsOutpatientPrintRecipe_VO obj_VO = new clsOutpatientPrintRecipe_VO();

            objSvc = new clsDcl_ShowReports();
            DataTable dt;
            long      ret = objSvc.m_mthGetRecipeInfo(strID, out dt);

            if (ret > 0 && dt.Rows.Count > 0)
            {
                obj_VO.m_strDiagDeptID  = dt.Rows[0]["DEPTNAME_CHR"].ToString().Trim();
                obj_VO.m_strDiagDrName  = dt.Rows[0]["DOCTORNAME_CHR"].ToString().Trim();
                obj_VO.m_strRegisterID  = "";
                obj_VO.m_strSelfPay     = dt.Rows[0]["SBSUM_MNY"].ToString().Trim();
                obj_VO.m_strChargeUp    = dt.Rows[0]["ACCTSUM_MNY"].ToString().Trim();
                obj_VO.m_strRecipePrice = dt.Rows[0]["TOTALSUM_MNY"].ToString().Trim();
                obj_VO.m_strPrintDate   = dt.Rows[0]["INVDATE_DAT"].ToString().Trim().Substring(0, 10);
                obj_VO.m_strAddress     = dt.Rows[0]["HOMEADDRESS_VCHR"].ToString().Trim();
                obj_VO.m_strGOVCARD     = dt.Rows[0]["GOVCARD_CHR"].ToString().Trim();
                obj_VO.m_strINSURANCEID = dt.Rows[0]["INSURANCEID_VCHR"].ToString().Trim();
                DateTime dteBirth = Convert.ToDateTime(dt.Rows[0]["BIRTH_DAT"].ToString());
                obj_VO.m_strAge                 = clsCreatFile.s_strCalAge(dteBirth);
                obj_VO.m_strCardID              = dt.Rows[0]["PATIENTCARDID_CHR"].ToString().Trim();
                obj_VO.m_strHospitalName        = strHospitalName;
                obj_VO.m_strPatientName         = dt.Rows[0]["LASTNAME_VCHR"].ToString().Trim();
                obj_VO.m_strSex                 = dt.Rows[0]["SEX_CHR"].ToString().Trim();
                obj_VO.m_strRecipeType          = dt.Rows[0]["RECIPEFLAG_INT"].ToString().Trim();
                obj_VO.m_strHerbalmedicineUsage = "";
                obj_VO.strInvoiceNO             = dt.Rows[0]["INVOICENO_VCHR"].ToString().Trim();
                obj_VO.m_strRecordEmpID         = dt.Rows[0]["TYPENAME_VCHR"].ToString().Trim();
                obj_VO.m_strPatientType         = dt.Rows[0]["PAYTYPENAME_VCHR"].ToString().Trim();
                obj_VO.m_strdiagnose            = dt.Rows[0]["DIAG_VCHR"].ToString().Trim();
            }



            obj_VO.m_strTimes = "1";

            obj_VO.m_strRecipeID = strID;

            clsDcl_DoctorWorkstation objDKSvc = new clsDcl_DoctorWorkstation();

            dt = null;
            decimal decWMedicineCost  = 0;
            decimal decZCMedicineCost = 0;
            decimal decCureCost       = 0;

            System.Collections.ArrayList objPRDArr = new System.Collections.ArrayList();
            string[] IDarr = null;
            objSvc.m_mthGetRecipeGroup(strID, out IDarr);
            foreach (string TempID in IDarr)
            {
                ret = objDKSvc.m_mthFindRecipeDetail1(TempID, out dt, true);             //西药
                if (ret > 0 && dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        clsOutpatientPrintRecipeDetail_VO objtemp = new clsOutpatientPrintRecipeDetail_VO();
                        objtemp.m_strChargeName = dt.Rows[i]["ITEMNAME_VCHR"].ToString().Trim();
                        objtemp.m_strCount      = dt.Rows[i]["TOLQTY_DEC"].ToString().Trim() + dt.Rows[i]["UNITID_CHR"].ToString();
                        objtemp.m_strPrice      = clsConvertToDecimal.m_mthConvertObjToDecimal(dt.Rows[i]["UNITPRICE_MNY"]).ToString("0.00");
                        objtemp.m_strSumPrice   = dt.Rows[i]["TOLPRICE_MNY"].ToString().Trim();
                        objtemp.m_strUnit       = dt.Rows[i]["DOSAGEUNIT_CHR"].ToString().Trim();
                        objtemp.m_strFrequency  = dt.Rows[i]["FREQNAME_CHR"].ToString().Trim();
                        objtemp.m_strDosage     = dt.Rows[i]["QTY_DEC"].ToString().Trim() + dt.Rows[i]["DOSAGEUNIT_CHR"].ToString().Trim();
                        objtemp.m_strDays       = dt.Rows[i]["DAYS_INT"].ToString().Trim();
                        objtemp.m_strSpec       = dt.Rows[i]["ITEMSPEC_VCHR"].ToString().Trim();
                        objtemp.m_strUsage      = dt.Rows[i]["USAGENAME_VCHR"].ToString().Trim();
                        objtemp.m_strRowNo      = dt.Rows[i]["ROWNO_CHR"].ToString().Trim();
                        objtemp.m_strInvoiceCat = dt.Rows[i]["ITEMOPINVTYPE_CHR"].ToString().Trim();
                        decWMedicineCost       += clsConvertToDecimal.m_mthConvertObjToDecimal(dt.Rows[i]["TOLPRICE_MNY"]);
                        objPRDArr.Add(objtemp);
                    }
                }
            }

            System.Collections.ArrayList objPRDArr2 = new   System.Collections.ArrayList();
            foreach (string TempID in IDarr)
            {
                ret = objDKSvc.m_mthFindRecipeDetail2(TempID, out dt, true);             //中药
                if (ret > 0 && dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        clsOutpatientPrintRecipeDetail_VO objtemp = new clsOutpatientPrintRecipeDetail_VO();
                        objtemp.m_strChargeName = dt.Rows[i]["ITEMNAME"].ToString().Trim();
                        objtemp.m_strDosage     = dt.Rows[i]["MIN_QTY_DEC"].ToString().Trim() + dt.Rows[i]["UNIT"].ToString();
                        objtemp.m_strPrice      = dt.Rows[i]["price"].ToString().Trim();
                        objtemp.m_strSumPrice   = dt.Rows[i]["SUMMONEY"].ToString().Trim();
                        objtemp.m_strUsage      = dt.Rows[i]["USAGENAME_VCHR"].ToString();
                        objtemp.m_strRowNo      = dt.Rows[i]["ROWNO_CHR"].ToString();
                        objtemp.m_strInvoiceCat = dt.Rows[i]["ITEMOPINVTYPE_CHR"].ToString().Trim();
                        decZCMedicineCost      += clsConvertToDecimal.m_mthConvertObjToDecimal(dt.Rows[i]["SUMMONEY"]);
                        objPRDArr2.Add(objtemp);
                    }
                }
            }


            obj_VO.objinjectArr = new System.Collections.ArrayList();
            foreach (string TempID in IDarr)
            {
                ret = objDKSvc.m_mthFindRecipeDetail3(TempID, out dt, true);
                if (ret > 0 && dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        clsOutpatientPrintRecipeDetail_VO objtemp = new clsOutpatientPrintRecipeDetail_VO();
                        objtemp.m_strChargeName = dt.Rows[i]["ITEMNAME"].ToString();;
                        objtemp.m_strCount      = dt.Rows[i]["quantity"].ToString().Trim();
                        objtemp.m_strPrice      = dt.Rows[i]["PRICE"].ToString();
                        objtemp.m_strSumPrice   = dt.Rows[i]["SUMMONEY"].ToString().Trim();
                        objtemp.m_strUnit       = dt.Rows[i]["UNIT"].ToString().Trim();
                        objtemp.m_strInvoiceCat = dt.Rows[i]["ITEMOPINVTYPE_CHR"].ToString().Trim();
                        objtemp.m_strFrequency  = "";
                        objtemp.m_strDosage     = "";
                        objtemp.m_strDays       = "";
                        objtemp.m_strUsage      = "";
                        objtemp.m_strRowNo      = "";
                        decCureCost            += clsConvertToDecimal.m_mthConvertObjToDecimal(dt.Rows[i]["SUMMONEY"]);
                        obj_VO.objinjectArr.Add(objtemp);
                    }
                }
                ret = objDKSvc.m_mthFindRecipeDetail4(TempID, out dt, true);
                if (ret > 0 && dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        clsOutpatientPrintRecipeDetail_VO objtemp = new clsOutpatientPrintRecipeDetail_VO();
                        objtemp.m_strChargeName = dt.Rows[i]["ITEMNAME"].ToString();;
                        objtemp.m_strCount      = dt.Rows[i]["quantity"].ToString().Trim();
                        objtemp.m_strPrice      = dt.Rows[i]["PRICE"].ToString();
                        objtemp.m_strSumPrice   = dt.Rows[i]["SUMMONEY"].ToString().Trim();
                        objtemp.m_strUnit       = dt.Rows[i]["UNIT"].ToString().Trim();
                        objtemp.m_strInvoiceCat = dt.Rows[i]["ITEMOPINVTYPE_CHR"].ToString().Trim();
                        objtemp.m_strFrequency  = "";
                        objtemp.m_strDosage     = "";
                        objtemp.m_strDays       = "";
                        objtemp.m_strUsage      = "";
                        objtemp.m_strRowNo      = "";
                        decCureCost            += clsConvertToDecimal.m_mthConvertObjToDecimal(dt.Rows[i]["SUMMONEY"]);
                        obj_VO.objinjectArr.Add(objtemp);
                    }
                }
                ret = objDKSvc.m_mthFindRecipeDetail5(TempID, out dt, true);
                if (ret > 0 && dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        clsOutpatientPrintRecipeDetail_VO objtemp = new clsOutpatientPrintRecipeDetail_VO();
                        objtemp.m_strChargeName = dt.Rows[i]["ITEMNAME"].ToString();;
                        objtemp.m_strCount      = dt.Rows[i]["quantity"].ToString().Trim();
                        objtemp.m_strPrice      = dt.Rows[i]["PRICE"].ToString();
                        objtemp.m_strSumPrice   = dt.Rows[i]["SUMMONEY"].ToString().Trim();
                        objtemp.m_strUnit       = dt.Rows[i]["UNIT"].ToString().Trim();
                        objtemp.m_strInvoiceCat = dt.Rows[i]["ITEMOPINVTYPE_CHR"].ToString().Trim();
                        objtemp.m_strFrequency  = "";
                        objtemp.m_strDosage     = "";
                        objtemp.m_strDays       = "";
                        objtemp.m_strUsage      = "";
                        objtemp.m_strRowNo      = "";
                        decCureCost            += clsConvertToDecimal.m_mthConvertObjToDecimal(dt.Rows[i]["SUMMONEY"]);
                        obj_VO.objinjectArr.Add(objtemp);
                    }
                }
                ret = objDKSvc.m_mthFindRecipeDetail6(TempID, out dt, true);
                if (ret > 0 && dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        clsOutpatientPrintRecipeDetail_VO objtemp = new clsOutpatientPrintRecipeDetail_VO();
                        objtemp.m_strChargeName = dt.Rows[i]["ITEMNAME"].ToString();;
                        objtemp.m_strCount      = dt.Rows[i]["quantity"].ToString().Trim();
                        objtemp.m_strPrice      = dt.Rows[i]["PRICE"].ToString();
                        objtemp.m_strSumPrice   = dt.Rows[i]["SUMMONEY"].ToString().Trim();
                        objtemp.m_strUnit       = dt.Rows[i]["UNIT"].ToString().Trim();
                        objtemp.m_strInvoiceCat = dt.Rows[i]["ITEMOPINVTYPE_CHR"].ToString().Trim();
                        objtemp.m_strFrequency  = "";
                        objtemp.m_strDosage     = "";
                        objtemp.m_strDays       = "";
                        objtemp.m_strUsage      = "";
                        objtemp.m_strRowNo      = "";
                        decCureCost            += clsConvertToDecimal.m_mthConvertObjToDecimal(dt.Rows[i]["SUMMONEY"]);
                        obj_VO.objinjectArr.Add(objtemp);
                    }
                }
            }
            obj_VO.m_strWMedicineCost  = decWMedicineCost.ToString("0.00");         //最后在这里添加数据
            obj_VO.m_strZCMedicineCost = decZCMedicineCost.ToString("0.00");
            obj_VO.m_strCureCost       = decCureCost.ToString("0.00");
            objPRDArr.Sort(0, objPRDArr.Count, null);
            objPRDArr2.Sort(0, objPRDArr2.Count, null);
            obj_VO.objPRDArr  = objPRDArr;
            obj_VO.objPRDArr2 = objPRDArr2;
            return(obj_VO);
        }
示例#15
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;
        }
示例#16
0
 /// <summary>
 /// 构造
 /// </summary>
 public clsCtl_AccordRecipeList()
 {
     objSvc = new clsDcl_DoctorWorkstation();
 }
示例#17
0
        public frmDefRecipeTabpage()
        {
            InitializeComponent();

            objDoct = new clsDcl_DoctorWorkstation();
        }
示例#18
0
 public frmOPSFindchargeitem()
 {
     InitializeComponent();
     objSvc = new clsDcl_DoctorWorkstation();
 }
示例#19
0
        public void m_mthFindAccordRecipe(int p_flag)
        {
            clsDcl_DoctorWorkstation objDW = new clsDcl_DoctorWorkstation();
            DataTable m_dt;
            long      strRet = objDW.m_mthFindAccordRecipe(this.m_objViewer.txtFind.Tag.ToString() + this.m_objViewer.txtFind.Text.Trim(), this.m_objViewer.cmbFind.Tag.ToString(), this.m_objViewer.LoginInfo.m_strEmpID, out m_dt, p_flag);

            this.m_objViewer.treeView1.BeginUpdate();
            this.m_objViewer.treeView1.Nodes.Clear();
            if (strRet > 0 && m_dt.Rows.Count > 0)
            {
                ArrayList objArrayList = new ArrayList();
                for (int i = 0; i < m_dt.Rows.Count; i++)
                {
                    AccordRecipeTarget oTemp = new AccordRecipeTarget();
                    oTemp.PYCODE_CHR     = m_dt.Rows[i]["PYCODE_CHR"].ToString().Trim();
                    oTemp.RECIPEID_CHR   = m_dt.Rows[i]["RECIPEID_CHR"].ToString().Trim();
                    oTemp.RECIPENAME_CHR = m_dt.Rows[i]["RECIPENAME_CHR"].ToString().Trim();
                    oTemp.USERCODE_CHR   = m_dt.Rows[i]["USERCODE_CHR"].ToString().Trim();
                    oTemp.WBCODE_CHR     = m_dt.Rows[i]["WBCODE_CHR"].ToString().Trim();
                    oTemp.Remark         = m_dt.Rows[i]["DISEASENAME_VCHR"].ToString().Trim();
                    objArrayList.Add(oTemp);
                }

                objArrayList.Sort();
                int      intCount  = 0;
                TreeNode FirstNode = null;
                this.m_objViewer.treeView1.Nodes.Add("模板列表");
                TreeNode FindNode    = this.m_objViewer.treeView1.Nodes[0];
                bool     blnIsExists = false;          //默认当前要添加的节点不存在
                foreach (AccordRecipeTarget objTemplateInfo in objArrayList)
                {
                    FindNode = this.m_objViewer.treeView1.Nodes[0];
                    string[] strSplitArry = objTemplateInfo.strArr;
                    for (int j = 0; j < strSplitArry.Length; j++)
                    {
                        blnIsExists = false;
                        for (int i2 = 0; i2 < FindNode.Nodes.Count; i2++)
                        {
                            if (strSplitArry[j] == FindNode.Nodes[i2].Text)
                            {
                                blnIsExists = true;                               //找到
                                FindNode    = FindNode.Nodes[i2];
                                break;
                            }
                        }
                        if (blnIsExists)                       //找到
                        {
                            if (j == strSplitArry.Length - 1)
                            {
                                TreeNode trAdd = new TreeNode(strSplitArry[j].Trim());
                                FindNode.Parent.Nodes.Add(trAdd);
                                trAdd.Tag                = objTemplateInfo;
                                trAdd.ImageIndex         = 2;
                                trAdd.SelectedImageIndex = 2;
                            }
                            continue;
                        }
                        else                        //找不到增加一个节点
                        {
                            TreeNode trAdd = new TreeNode(strSplitArry[j].Trim());
                            FindNode.Nodes.Add(trAdd);
                            if (j == strSplitArry.Length - 1)
                            {
                                trAdd.Tag                = objTemplateInfo;
                                trAdd.ImageIndex         = 2;
                                trAdd.SelectedImageIndex = 2;
                                if (intCount == 0)
                                {
                                    FirstNode = trAdd;
                                    intCount++;
                                }
                            }
                            FindNode = trAdd;
                        }
                    }
                }

                this.m_objViewer.treeView1.EndUpdate();
                this.m_objViewer.treeView1.SelectedNode = FirstNode;
            }
        }
示例#20
0
 public clsCtl_OPSApply()
 {
     objSvc = new clsDcl_DoctorWorkstation();
 }