Example #1
0
        private void save()
        {
            if (!this.InputValid())
            {
                return;
            }
            Neusoft.HISFC.Object.RADT.PatientInfo patientInfo = this.GetPatientInfomation();
            if (patientInfo == null)
            {
                MessageBox.Show("患者基本信息实体不能为空");
                return;
            }
            Neusoft.NFC.Management.Transaction trans = new Transaction(this.accountManager.Connection);
            trans.BeginTransaction();
            this.accountManager.SetTrans(trans.Trans);

            int returnValue = this.accountManager.UpdatePatient(patientInfo);

            if (returnValue < 0)
            {
                MessageBox.Show("更新患者基本信息出错" + this.accountManager.Err);
                trans.RollBack();
                return;
            }
            trans.Commit();


            return;
        }
Example #2
0
        private Neusoft.HISFC.Object.RADT.PatientInfo GetPatientInfomation()
        {
            Neusoft.HISFC.Object.RADT.PatientInfo patientInfo = new Neusoft.HISFC.Object.RADT.PatientInfo();
            patientInfo.Name                = this.txtName.Text;                  //姓名
            patientInfo.Sex.ID              = this.cmbSex.Tag.ToString();         //性别
            patientInfo.AreaCode            = this.cmbArea.Tag.ToString();        //地区
            patientInfo.Country.ID          = this.cmbCountry.Tag.ToString();     //国籍
            patientInfo.Nationality.ID      = this.cmbNation.Tag.ToString();      //民族
            patientInfo.Birthday            = this.dtpBirthDay.Value;             //出生日期
            patientInfo.DIST                = this.cmbDistrict.Tag.ToString();    //籍贯
            patientInfo.Profession.ID       = this.cmbProfession.Tag.ToString();  //职业
            patientInfo.IDCard              = this.txtIDNO.Text;                  //身份证号
            patientInfo.CompanyName         = this.cmbWorkAddress.Text;           //工作单位
            patientInfo.PhoneBusiness       = this.txtHomePhone.Text;             //单位电话
            patientInfo.PhoneBusiness       = this.txtWorkPhone.Text;             //单位电话
            patientInfo.MaritalStatus.ID    = this.cmbMarry.Tag.ToString();       //婚姻状况
            patientInfo.AddressHome         = this.cmbHomeAddress.Tag.ToString(); //家庭住址
            patientInfo.PhoneHome           = this.txtHomePhone.Text;             //家庭电话
            patientInfo.Kin.Name            = this.txtLinkMan.Text;               //联系人
            patientInfo.Kin.Relation.ID     = this.cmbRelation.Tag.ToString();    //与联系人关系
            patientInfo.Kin.RelationAddress = this.cmbLinkAddress.Text;           //联系人地址
            patientInfo.Kin.RelationPhone   = this.txtLinkPhone.Text;             //联系人电话

            // patientInfo.Memo = this.cmbMark.Tag.ToString();                      //特注
            patientInfo.Kin.User01 = this.cmbLinkAddress.Text; //联系人地址
            patientInfo.Kin.Memo   = this.txtLinkPhone.Text;   //联系人电话

            return(patientInfo);
        }
        /// <summary>
        /// 打印界面赋值

        /// </summary>
        /// <param name="patientInfo"></param>
        /// <param name="Prepay"></param>
        public int SetValue(
            Neusoft.HISFC.Object.RADT.PatientInfo patient,
            Neusoft.HISFC.Object.Fee.Inpatient.Prepay prepay)
        {
            try
            {
                #region 收据打印
                //票据号

                this.lblPriReceiptNo.Text = prepay.RecipeNO;
                //交费日期
                this.lblPriOperDate.Text = prepay.PrepayOper.OperTime.ToShortDateString();
                //住院号码
                this.lblPriInpatientNo.Text = patient.PID.PatientNO;
                //姓名
                this.lblPriName.Text = patient.Name;
                //性别
                this.lblPriSex.Text = patient.Sex.Name;
                //地址
                string address = string.Empty;
                if (string.IsNullOrEmpty(patient.AddressBusiness))
                {
                    address = patient.AddressHome;
                }
                this.lblPriAddress.Text = address;
                //电话
                String phone = string.Empty;
                if (string.IsNullOrEmpty(patient.PhoneBusiness))
                {
                    phone = patient.PhoneHome;
                }
                this.lblPriPhone.Text = phone;

                //住院科室
                this.lblPriDept.Text = patient.PVisit.PatientLocation.Dept.Name;
                //预交金额
                this.lblPriJinE.Text = Neusoft.NFC.Public.String.FormatNumber(prepay.FT.PrepayCost, 2).ToString();
                //预交金大写

                this.lblPriDaXie.Text = Function.ConvertNumberToChineseMoneyString(prepay.FT.PrepayCost.ToString());
                //支付方式

                this.lblPriPayTypeName.Text = prepay.PayType.Name;

                //if (prepay.PayType.Name=="支票")
                //{
                this.lblPriCheckNO.Text = prepay.Bank.Account;
                this.lblPriMome.Text    = prepay.Bank.Memo;
                //}
                //收款员

                this.lblPriOperNo.Text = prepay.PrepayOper.ID;
                #endregion
            }
            catch (Exception ex)
            {
                return(-1);
            }
            return(1);
        }
Example #4
0
        //private void GetCheckPrint(e System.Drawing.Printing.PrintPageEventArgs)
        //    checkprint = 0
        //    Dim temp int = 0
        //    While (temp <= textPos AndAlso temp < this.richtextboxprintctrl1.TextLength)
        //        startPage += 1
        //        checkprint = temp
        //        temp = richtextboxprintctrl1.VirtualPrint(temp, richtextboxprintctrl1.TextLength, e, this.PictureBox1.BackgroundImage)
        //    }
        //}
        #endregion 打印

        #region "构造函数"
        public ucEMRMap(TemplateDesignerApplication.ucDataFileLoaderNew loader, Neusoft.HISFC.Object.RADT.PatientInfo patient)
        {
            // 此调用是 Windows 窗体设计器所必需的。
            InitializeComponent();
            this.loader  = loader;
            this.patient = patient;
        }
Example #5
0
        /// <summary>
        /// 查询并显示数据
        /// </summary>
        /// <returns>出错返回 -1 正常 0 不允许有病案1  </returns>
        public int LoadInfo(Neusoft.HISFC.Object.RADT.PatientInfo patient)
        {
            if (this.dtfeeInfo != null)
            {
                this.dtfeeInfo.Clear();
                this.dtfeeInfo.AcceptChanges();
            }
            if (patient == null)
            {
                return(-1);
            }
            patientInfo = patient;
            if (patientInfo.CaseState == "0")
            {
                //不允许有病案
                return(1);
            }
            Neusoft.HISFC.Management.HealthRecord.Base ba         = new Neusoft.HISFC.Management.HealthRecord.Base();
            Neusoft.HISFC.Management.HealthRecord.Fee  feeCaseMgr = new Neusoft.HISFC.Management.HealthRecord.Fee();
            //查询符合条件的数据
            if (patientInfo.CaseState == "1")
            {
                feeInfoList = feeCaseMgr.QueryFeeInfoState(patientInfo.ID);
            }
            else
            {
                feeInfoList = feeCaseMgr.QueryFeeInfoState(patientInfo.ID);
            }
            if (feeInfoList == null)
            {
                return(-1);
            }
            //循环插入数据
            foreach (Neusoft.HISFC.Object.RADT.Patient info in feeInfoList)
            {
                DataRow row = dtfeeInfo.NewRow();
                SetRow(row, info);
                dtfeeInfo.Rows.Add(row);
            }
            decimal tempDec = 0;

            foreach (Neusoft.HISFC.Object.RADT.Patient info in feeInfoList)
            {
                tempDec = tempDec + Neusoft.NFC.Function.NConvert.ToDecimal(info.IDCard);
            }
            Neusoft.HISFC.Object.RADT.Patient obj = new Neusoft.HISFC.Object.RADT.Patient();
            obj.AreaCode = "合计:";
            obj.IDCard   = tempDec.ToString();
            DataRow rows = dtfeeInfo.NewRow();

            SetRow(rows, obj);
            dtfeeInfo.Rows.Add(rows);

            //更改标志
            dtfeeInfo.AcceptChanges();
            SetFpEnter();
            return(0);
        }
Example #6
0
 /// <summary>
 /// 加载数据
 /// </summary>
 /// <param name="patientInfo"></param>
 /// <param name="deptList"></param>
 /// <returns></returns>
 public int LoadInfo(Neusoft.HISFC.Object.RADT.PatientInfo patientInfo, ArrayList deptList)
 {
     if (deptList == null || patientInfo == null)
     {
         return(-1);
     }
     patient = patientInfo;
     if (deptList.Count <= 3)
     {
         return(0);
     }
     AddInfoToTable(deptList);
     return(1);
 }
Example #7
0
        public void SetPatientInfo(Neusoft.HISFC.Object.RADT.PatientInfo pInfo)
        {
            if (pInfo == null)
            {
                pInfo = new Neusoft.HISFC.Object.RADT.PatientInfo();
            }
            try
            {
                this.txtName.Text = pInfo.Name;     //姓名
                this.cmbSex.Text  = pInfo.Sex.Name; //性别
                if (pInfo.PVisit.InTime != DateTime.MinValue)
                {
                    this.dtpIndate.Value = pInfo.PVisit.InTime;                                          //.Date_In;//住院日期
                }
                if (pInfo.PVisit.PatientLocation != null)
                {
                    this.txtPatientDept.Text = pInfo.PVisit.PatientLocation.Dept.Name; //住院科室
                }
                this.txtRemain.Text = pInfo.FT.LeftCost.ToString();                    //余额

                if (pInfo.Birthday != DateTime.MinValue)
                {
                    this.dtpBirthday.Value = pInfo.Birthday;                      //出生日期
                }
                this.txtCautioner.Text  = pInfo.Caution.Name;                     //担保人
                this.cmbBalanceType.Tag = pInfo.Pact.ID;                          //费用类型

                this.txtMoneyAlert.Text = pInfo.PVisit.MoneyAlert.ToString();     //警戒线

                this.txtPactName.Text     = pInfo.Pact.Name;                      //单位合同
                this.txtCautionMoney.Text = pInfo.Caution.Money.ToString();       //担保金额
                this.txtBill.Text         = pInfo.FT.TotCost.ToString();          //以往费用
                this.txtAvailable.Text    = pInfo.FT.BloodLateFeeCost.ToString(); //血滞纳金

                this.txtAttendingDoctor.Text = pInfo.PVisit.AttendingDoctor.Name; //主治医生
                this.txtAdmittingDoctor.Text = pInfo.PVisit.AdmittingDoctor.Name; //住院医生
                this.txtAdmittingNurse.Text  = pInfo.PVisit.AdmittingNurse.Name;  //责任护士
            }
            catch { }
            try
            {
                this.lblTitle.Text = GetStrPatientInfo(pInfo);
                //				this.lblTitle.Text = "姓名:"+pInfo.Name +" "+pInfo.Patient.Sex.Name+" "+
                //					pInfo.PVisit.PatientLocation.Dept.Name+
                //					" 剩余金额:"+pInfo.Fee.Left_Cost.ToString() +
                //					" 结算方式:"+pInfo.PayKind.Name+
                //					" 警戒线:"+ pInfo.PVisit.MoneyAlert.ToString();
            }
            catch { }
        }
        private void ucQueryInpatientNo_myEvent()
        {
            if (this.ucQueryInpatientNo.InpatientNo == null || this.ucQueryInpatientNo.InpatientNo.Trim() == "")
            {
                if (this.ucQueryInpatientNo.Err == "")
                {
                    ucQueryInpatientNo.Err = "此患者不在院!";
                }
                Neusoft.NFC.Interface.Classes.Function.Msg(this.ucQueryInpatientNo.Err, 211);

                this.ucQueryInpatientNo.Focus();
                return;
            }
            //获取住院号赋值给实体
            this.patientInfo = this.radtIntegrate.GetPatientInfomation(this.ucQueryInpatientNo.InpatientNo);
        }
        private void tbChoose_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode != Keys.Enter)
            {
                return;
            }
            Neusoft.NFC.Interface.Classes.Function.ShowWaitForm("正在检索,请稍候...");
            Application.DoEvents();
            string sPatientNo;

            sPatientNo = tbChoose.Text.Trim();
            if (sPatientNo == "" || sPatientNo == null)
            {
                return;
            }
            cbChoose.Checked = false;
            ArrayList al = new ArrayList();

            if (sPatientNo.Length < 10)
            {
                sPatientNo    = sPatientNo.PadLeft(10, '0');
                tbChoose.Text = sPatientNo;
            }
            al = inpatient.QueryInpatientNOByPatientNO(sPatientNo);
            if (al.Count == 0)
            {
                MessageBox.Show("该住院号不存在", "提示");
                return;
            }
            isSelectTime = true;
            for (int i = 0; i < tvChoose.Nodes.Count; i++)
            {
                for (int j = 0; j < tvChoose.Nodes[i].Nodes.Count; j++)
                {
                    tvChoose.Nodes[i].Nodes[j].Checked = false;
                }
            }
            alPatient = new ArrayList();
            for (int i = 0; i < al.Count; i++)
            {
                info = inpatient.QueryPatientInfoByInpatientNO((al[i] as Neusoft.NFC.Object.NeuObject).ID);
                alPatient.Add(info);
            }
            alPatientInfo = alPatient;
            Neusoft.NFC.Interface.Classes.Function.HideWaitForm();
        }
 public int ControlValue(object obj)
 {
     if (obj == null)
     {
         return(-1);
     }
     Neusoft.HISFC.Integrate.RADT radt = new Neusoft.HISFC.Integrate.RADT();
     Neusoft.HISFC.Object.Fee.Inpatient.FeeItemList itemInfo    = (Neusoft.HISFC.Object.Fee.Inpatient.FeeItemList)obj;
     Neusoft.HISFC.Object.RADT.PatientInfo          patientInfo = radt.GetPatientInfoByPatientNO(itemInfo.Patient.ID);
     this.lbName1.Text      = itemInfo.Patient.Name.ToString();
     this.lbPatientNo1.Text = itemInfo.Patient.PID.PatientNO.ToString();
     this.lbDept1.Text      = patientInfo.PVisit.PatientLocation.Dept.Name;
     this.lbItemName1.Text  = itemInfo.Item.Name;
     this.lbExeDept1.Text   = itemInfo.ExecOper.Dept.Name;
     this.lbItemQty1.Text   = itemInfo.Item.Qty.ToString();
     this.lbCost1.Text      = String.Format("{0:N}", (itemInfo.Item.Price * itemInfo.Item.Qty));
     this.lbCostUp1.Text    = Neusoft.NFC.Function.NConvert.ToCapital(itemInfo.Item.Price * itemInfo.Item.Qty).ToString();
     this.lbNo1.Text        = itemInfo.Order.ID;//医嘱流水号
     this.lbOperCode1.Text  = Neusoft.NFC.Management.Connection.Operator.ID;
     this.lbDate1.Text      = this.inpatientManager.GetDateTimeFromSysDateTime().ToString();
     return(1);
 }
Example #11
0
 public int SetValueForPrint(Neusoft.HISFC.Object.RADT.PatientInfo patientInfo, Neusoft.HISFC.Object.Fee.Inpatient.Balance balanceInfo, ArrayList alBalanceList)
 {
     return(this.SetPrintValue(patientInfo, balanceInfo, alBalanceList, false));
 }
Example #12
0
 public void SetLoader(TemplateDesignerApplication.ucDataFileLoaderNew loader, Neusoft.HISFC.Object.RADT.PatientInfo patient)
 {
     this.loader  = loader;
     this.patient = patient;
 }
Example #13
0
        /// <summary>
        /// 设置患者信息
        /// </summary>
        /// <param name="patientInfo"></param>
        public void SetPatient(Neusoft.HISFC.Object.RADT.PatientInfo patientInfo)
        {
            this.intLineNum = this.controlManager.GetControlParam <int>("200008", false, 21);
            //打印标题

            //查询医嘱(暂时不支持续打)
            pInfo = patientInfo;
            this.lbLongPatientNo.Text     = patientInfo.ID;
            this.lbLonglName.Text         = patientInfo.Name;
            this.lblShortInpatientNO.Text = patientInfo.ID;
            this.lblShortName.Text        = patientInfo.Name;

            if (patientInfo.Sex != null)
            {
                this.lblSex.Text  = patientInfo.Sex.Name;
                this.lblSexs.Text = patientInfo.Sex.Name;
            }
            if (patientInfo.Age != null)
            {
                this.lblAge.Text  = patientInfo.Age.ToString();
                this.lblAges.Text = patientInfo.Age;
            }
            if (patientInfo.PVisit.PatientLocation.Room != null)
            {
                this.lblRoom.Text  = patientInfo.PVisit.PatientLocation.Room.ToString();
                this.lblRooms.Text = patientInfo.PVisit.PatientLocation.Room;
            }
            if (patientInfo.PVisit.PatientLocation.Bed != null)
            {
                this.lblBed.Text  = patientInfo.PVisit.PatientLocation.Bed.ToString();
                this.lblBeds.Text = patientInfo.PVisit.PatientLocation.Bed.ToString();
            }
            if (patientInfo.PVisit.PatientLocation.Dept != null)
            {
                this.lblDept.Text  = patientInfo.PVisit.PatientLocation.Dept.Name.ToString();
                this.lblDepts.Text = patientInfo.PVisit.PatientLocation.Dept.Name;
            }

            Neusoft.NFC.Interface.Classes.Function.ShowWaitForm("正在查询显示医嘱信息,请稍候......");

            Application.DoEvents();

            ArrayList alAll = new ArrayList();

            try
            {
                //alAll = this.ordManager.QueryDcOrder(patientInfo.ID);
                alAll = this.ordManager.QueryPrnOrder(patientInfo.ID);
            }
            catch
            {
                Neusoft.NFC.Interface.Classes.Function.MessageBox(ordManager.Err);
            }

            alLong.Clear();
            alShort.Clear();

            if (alAll != null)
            {
                foreach (object obj in alAll)
                {
                    Neusoft.HISFC.Object.Order.Inpatient.Order order = obj as Neusoft.HISFC.Object.Order.Inpatient.Order;
                    if (order.OrderType.Type == Neusoft.HISFC.Object.Order.EnumType.LONG)
                    {
                        //长期医嘱
                        alLong.Add(obj);
                    }
                    else
                    {
                        //临时医嘱
                        alShort.Add(obj);
                    }
                }
            }
            AddObjecToLongOrderSheet(alLong);
            AddObjecToShortOrderSheet(alShort);
            this.GetPrintOrder();
            Neusoft.NFC.Interface.Classes.Function.HideWaitForm();
        }
Example #14
0
        /// <summary>
        /// 打印控件赋值



        /// </summary>
        /// <param name="patientInfo">患者实体</param>
        /// <param name="balanceHead">发票</param>
        /// <param name="alBalanceList">发票明细</param>
        /// <param name="IsPreview">是否预览</param>
        /// <returns></returns>
        protected int SetZYFPPrintValue(
            Neusoft.HISFC.Object.RADT.PatientInfo patientInfo,
            Neusoft.HISFC.Object.Fee.Inpatient.Balance balanceHead,
            ArrayList alBalanceList,
            bool IsPreview)
        {
            //#region 设置自费发票打印内容
            //ucZYYB ucReceipt = (ucZYYB)c;

            //#region 医疗机构
            //ucReceipt.lblYiLiaoJiGou.Text = "鞍山市第三医院";
            //#endregion
            ////电脑编号
            //ucReceipt.lblSSN.Text = patientInfo.SSN;
            ////病房
            //ucReceipt.lblNurseCellName.Text = patientInfo.PVisit.PatientLocation.NurseCell.Name;
            ////基本信息
            ////病案号



            //ucReceipt.lblCaseNO.Text = patientInfo.PID.CaseNO;
            ////结算日期
            //ucReceipt.lblOperDate.Text = balanceHead.BalanceOper.OperTime.ToShortDateString();
            ////姓名
            //ucReceipt.lblName.Text = patientInfo.Name;
            ////住院日期
            //ucReceipt.lblInTime.Text = balanceHead.BeginTime.ToShortDateString();
            ////住院日期
            //ucReceipt.lblInTime.Text = balanceHead.BeginTime.ToShortDateString();
            //if (MidBalanceFlag)
            //{
            //    ucReceipt.lblOutTime.Text = balanceHead.EndTime.ToShortDateString();
            //    ucReceipt.lblInDay.Text = new TimeSpan(balanceHead.EndTime.Ticks - balanceHead.BeginTime.Ticks).Days.ToString();
            //}
            //else
            //{
            //    ucReceipt.lblOutTime.Text = patientInfo.PVisit.OutTime.ToShortDateString();
            //    ucReceipt.lblInDay.Text = new TimeSpan(patientInfo.PVisit.OutTime.Ticks - balanceHead.BeginTime.Ticks).Days.ToString();
            //}
            //////科室
            ////ucReceipt.lblDeptName.Text = patientInfo.PVisit.PatientLocation.Dept.Name;

            ////结算员



            //ucReceipt.lblOperName.Text = balanceHead.BalanceOper.ID;

            //////操作员



            ////ucReceipt.lblBalanceName.Text = balanceHead.Oper.ID;

            //#region 医保信息
            //decimal GeRenCost = decimal.Zero;
            //decimal TongChouCost = decimal.Zero;
            //decimal XianJinCost = decimal.Zero;
            //decimal GongWuYuanCost = decimal.Zero;
            //decimal DaECost = decimal.Zero;
            ////个人账户支付
            //GeRenCost = patientInfo.SIMainInfo.PayCost;
            //if (GeRenCost != 0)
            //{
            //    ucReceipt.lblGeRenCost.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(GeRenCost, 2);
            //}
            ////统筹基金支付
            //TongChouCost = patientInfo.SIMainInfo.PubCost;
            //if (TongChouCost != 0)
            //{
            //    ucReceipt.lblTongChouCost.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(TongChouCost, 2);
            //}
            ////现金支付
            //XianJinCost = patientInfo.SIMainInfo.OwnCost;
            //if (XianJinCost != 0)
            //{
            //    ucReceipt.lblXianJinCost.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(XianJinCost, 2);
            //}
            ////公务员补助

            //GongWuYuanCost = patientInfo.SIMainInfo.OfficalCost;
            //if (GongWuYuanCost > 0)
            //{
            //    ucReceipt.lblGongWuYuanCost.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(GongWuYuanCost, 2);
            //}
            ////大额补助
            //DaECost = patientInfo.SIMainInfo.OverTakeOwnCost;
            //if (DaECost != 0)
            //{
            //    ucReceipt.lblDaECost.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(DaECost, 2);
            //}
            //#endregion
            ////票面信息
            //decimal[] FeeInfo =
            //    //---------------------1-----------2------------3------------4-------------5-----------------
            //    new decimal[23]{decimal.Zero,decimal.Zero,decimal.Zero,decimal.Zero,decimal.Zero,
            //                    decimal.Zero,decimal.Zero,decimal.Zero,decimal.Zero,decimal.Zero,
            //                    decimal.Zero,decimal.Zero,decimal.Zero,decimal.Zero,decimal.Zero,
            //                    decimal.Zero,decimal.Zero,decimal.Zero,
            //                    decimal.Zero,decimal.Zero,decimal.Zero,decimal.Zero,decimal.Zero};


            //for (int i = 0; i < alBalanceList.Count; i++)
            //{
            //    Neusoft.HISFC.Object.Fee.Inpatient.BalanceList detail = new Neusoft.HISFC.Object.Fee.Inpatient.BalanceList();
            //    detail = (Neusoft.HISFC.Object.Fee.Inpatient.BalanceList)alBalanceList[i];
            //    if (detail.FeeCodeStat.SortID <= FeeInfo.Length)
            //    {
            //        FeeInfo[detail.FeeCodeStat.SortID - 1] += detail.BalanceBase.FT.TotCost;
            //    }
            //}
            //int FeeInfoIndex = 0;
            //foreach (decimal d in FeeInfo)
            //{
            //    Label l = Function.GetFeeNameLable("lblFeeInfo" + FeeInfoIndex.ToString(), lblPrint);
            //    if (l != null)
            //    {
            //        if (FeeInfo[FeeInfoIndex] > 0)
            //        {
            //            l.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(FeeInfo[FeeInfoIndex], 2);
            //        }
            //    }
            //    FeeInfoIndex++;
            //}
            ////预收
            //if (balanceHead.FT.PrepayCost - balanceHead.FT.BalancedPrepayCost != 0)
            //{
            //    ucReceipt.lblPriPrepay.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(balanceHead.FT.PrepayCost - balanceHead.FT.BalancedPrepayCost, 2);
            //}
            ////补收
            //if (balanceHead.FT.SupplyCost != 0)
            //{
            //    ucReceipt.lblPriSupply.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(balanceHead.FT.SupplyCost, 2);
            //}
            ////退款


            //if (balanceHead.FT.ReturnCost != 0)
            //{
            //    ucReceipt.lblPriReturn.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(balanceHead.FT.ReturnCost, 2);
            //}
            ////发票号


            //ucReceipt.lblReceiptNo.Text = balanceHead.Invoice.ID;
            ////总金额


            //if (balanceHead.FT.TotCost != 0)
            //{
            //    ucReceipt.lblTotCost.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(balanceHead.FT.TotCost, 2);
            //}
            //#region 大写总金额


            //if (balanceHead.FT.TotCost != 0)
            //{
            //    ucReceipt.lblDaXie.Text = Function.GetUpperCashByNumber(Neusoft.NFC.Public.String.FormatNumber(balanceHead.FT.TotCost, 2));
            //}
            //#endregion
            //#endregion

            //return 0;

            #region 设置发票打印内容
            ucZYFP ucReceipt = (ucZYFP)c;
            //#region 医疗机构
            ucReceipt.lblYiLiaoJiGou.Text = "阜新市新邱区第二人民医院";
            //#endregion
            //结算日期
            ucReceipt.lblOperDate.Text = balanceHead.BalanceOper.OperTime.ToShortDateString();
            //收据号


            ucReceipt.lblReceiptNo.Text = balanceHead.Invoice.ID;

            //患者基本信息


            ucReceipt.lblInPatientNO.Text = patientInfo.PID.PatientNO; //住院号


            ucReceipt.lblName.Text = patientInfo.Name;//姓名
            //科室
            ucReceipt.lblDeptName.Text = patientInfo.PVisit.PatientLocation.Dept.Name;

            //打印出来的字:发票号,元 ,¥:


            ucReceipt.lblInvoiceNo.Text = "发票号";
            ucReceipt.lblyuan.Text      = "元";
            ucReceipt.lblY.Text         = "¥";


            //费别
            //if ( patientInfo.Pact.PayKind.ID = "01" )
            //{
            //本来想写死,怕以后增加别的类别,直接写此类别
            ucReceipt.lblPayKind.Text = patientInfo.Pact.Name;
            //}
            //else
            //{

            //}
            //住院日期
            ucReceipt.lblInTime.Text  = patientInfo.PVisit.InTime.ToShortDateString();
            ucReceipt.lblOutTime.Text = patientInfo.PVisit.OutTime.ToShortDateString();
            //ucReceipt.lblInDay.Text = new TimeSpan(patientInfo.PVisit.OutTime.Ticks - patientInfo.PVisit.InTime.Ticks).Days.ToString();
            //家庭住址
            ucReceipt.lblHome.Text = patientInfo.AddressHome;
            //电脑编号
            ucReceipt.lblSSN.Text = patientInfo.SSN;
            //操作员



            ucReceipt.lblOperName.Text = balanceHead.BalanceOper.ID;
            //ucReceipt.lblBalanceName.Text = balanceHead.Oper.ID;

            //票面信息
            decimal[] FeeInfo =
                //---------------------1-----------2------------3------------4-------------5-----------------
                new decimal[14] {
                decimal.Zero, decimal.Zero, decimal.Zero, decimal.Zero, decimal.Zero,
                decimal.Zero, decimal.Zero, decimal.Zero, decimal.Zero, decimal.Zero,
                decimal.Zero, decimal.Zero, decimal.Zero, decimal.Zero
            };


            for (int i = 0; i < alBalanceList.Count; i++)
            {
                Neusoft.HISFC.Object.Fee.Inpatient.BalanceList detail = new Neusoft.HISFC.Object.Fee.Inpatient.BalanceList();
                detail = (Neusoft.HISFC.Object.Fee.Inpatient.BalanceList)alBalanceList[i];
                if (detail.FeeCodeStat.SortID <= FeeInfo.Length)
                {
                    FeeInfo[detail.FeeCodeStat.SortID - 1] += detail.BalanceBase.FT.TotCost;
                }
            }
            int FeeInfoIndex = 0;
            foreach (decimal d in FeeInfo)
            {
                Label l = Function.GetFeeNameLable("lblFeeInfo" + FeeInfoIndex.ToString(), lblPrint);
                if (l != null)
                {
                    if (FeeInfo[FeeInfoIndex] > 0)
                    {
                        l.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(FeeInfo[FeeInfoIndex], 2).PadLeft(8);
                    }
                }
                FeeInfoIndex++;
            }
            //预收
            if (balanceHead.FT.PrepayCost > 0)
            {
                ucReceipt.lblPriPrepay.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(balanceHead.FT.PrepayCost, 2).PadLeft(8);
            }
            //应交款


            if (balanceHead.FT.SupplyCost > 0)
            {
                ucReceipt.lblPriSupply.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(balanceHead.FT.SupplyCost, 2).PadLeft(8);
            }
            //退款



            if (balanceHead.FT.ReturnCost > 0)
            {
                ucReceipt.lblPriReturn.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(balanceHead.FT.ReturnCost, 2).PadLeft(8);
            }

            //小写总金额



            if (balanceHead.FT.TotCost > 0)
            {
                ucReceipt.lblTotCost.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(balanceHead.FT.TotCost, 2);
                //ucReceipt.lblSum.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(balanceHead.FT.TotCost, 2);
            }
            #region 大写总金额



            ucReceipt.lblDaXie.Text = Function.GetUpperCashByNumber(Neusoft.NFC.Public.String.FormatNumber(balanceHead.FT.TotCost, 2));
            #endregion
            //医保里边的金额


            if (patientInfo.SIMainInfo.PayCost != 0)
            {
                ucReceipt.lblPayCost.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(patientInfo.SIMainInfo.PayCost, 2).PadLeft(8);
            }
            if (patientInfo.SIMainInfo.OwnCost != 0)
            {
                ucReceipt.lblOwnCost.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(patientInfo.SIMainInfo.OwnCost, 2).PadLeft(8);
            }
            if (patientInfo.SIMainInfo.PubCost != 0)
            {
                ucReceipt.lblPubCost.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(patientInfo.SIMainInfo.PubCost, 2).PadLeft(8);
            }
            if (patientInfo.SIMainInfo.OfficalCost != 0)
            {
                ucReceipt.lblGwyCost.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(patientInfo.SIMainInfo.OfficalCost, 2).PadLeft(8);
            }
            if (patientInfo.SIMainInfo.OverCost != 0)
            {
                ucReceipt.lblDebzCost.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(patientInfo.SIMainInfo.OverCost, 2).PadLeft(8);
            }
            #endregion
            return(0);
        }
Example #15
0
        private string GetStrPatientInfo(Neusoft.HISFC.Object.RADT.PatientInfo pInfo)
        {
            string strPatientInfo = "";

            if (bs1)
            {
                strPatientInfo += "姓名:" + pInfo.Name + " " + pInfo.Sex.Name + " ";
            }
            if (bs17)
            {
                strPatientInfo += "床号:" + pInfo.PVisit.PatientLocation.Bed.ID;
            }
            if (bs2)
            {
                strPatientInfo += "入院日期:" + pInfo.InTimes + " ";
            }
            if (bs3)
            {
                strPatientInfo += "住院科室:" + pInfo.PVisit.PatientLocation.Dept.Name + " ";
            }
            if (bs4)
            {
                strPatientInfo += "余额:" + pInfo.FT.LeftCost.ToString() + " ";
            }
            if (bs5)
            {
                strPatientInfo += "出生年月:" + pInfo.Birthday.ToShortDateString() + " ";
            }
            if (bs6)
            {
                strPatientInfo += "担保人:" + pInfo.Caution.Name + " ";
            }
            if (bs7)
            {
                strPatientInfo += "结算方式:" + this.cmbBalanceType.Text + " ";//结算方式
            }
            if (bs8)
            {
                strPatientInfo += "警戒线:" + pInfo.PVisit.MoneyAlert.ToString() + " ";
            }
            if (bs9)
            {
                strPatientInfo += "结算方式:" + pInfo.Pact.Name + " ";
            }
            if (bs10)
            {
                strPatientInfo += "担保金额:" + pInfo.Caution.Money.ToString() + " ";
            }
            if (bs11)
            {
                strPatientInfo += "以往费用:" + pInfo.FT.TotCost.ToString() + " ";
            }
            if (bs12)
            {
                strPatientInfo += "血滞纳金:" + pInfo.FT.BloodLateFeeCost.ToString();
            }
            if (bs13)
            {
                strPatientInfo += "主治医生:" + pInfo.PVisit.AttendingDoctor.Name + " ";
            }
            if (bs14)
            {
                strPatientInfo += "住院医生:" + pInfo.PVisit.AdmittingDoctor.Name + " ";
            }
            if (bs15)
            {
                strPatientInfo += "责任护士:" + pInfo.PVisit.AdmittingNurse.Name + " ";
            }
            if (bs15)
            {
                strPatientInfo += "血滞纳金:" + pInfo.FT.BloodLateFeeCost.ToString();
            }

            return(strPatientInfo);
        }
Example #16
0
 /// <summary>
 /// 双击弹出对话框
 /// </summary>
 /// <param name="pa"></param>
 private void frmSearchPatient_SaveInfo(Neusoft.HISFC.Object.RADT.PatientInfo pa)
 {
     //UFC.EPR.Query.Function.EditEMR(pa,this);
 }
        /// <summary>
        /// 根据输入的住院号/门诊号 查询诊断信息
        /// </summary>
        /// <param name="patientInfo"></param>
        /// <param name="Type"></param>
        /// <returns>-1 出错 0 传入的病人信息为空,不作处理,1 不允许有病案,2病案已经封存,不允许医生修改和查阅 3 查询有数据 4查询没有数据  </returns>
        public int LoadInfo(string InpatientNO) //Neusoft.HISFC.Object.RADT.PatientInfo patientInfo, Neusoft.HISFC.Object.HealthRecord.EnumServer.frmTypes Type)
        {
            try
            {
                if (this.fpEnter1_Sheet1.RowCount > 0)
                {
                    this.fpEnter1_Sheet1.Rows.Remove(0, this.fpEnter1_Sheet1.RowCount);
                }
                if (InpatientNO == null || InpatientNO == "")
                {
                    //没有该病人的信息
                    MessageBox.Show("请选择病人");
                    return(0);
                }
                this.inpatientNo = InpatientNO;
                Neusoft.HISFC.Object.RADT.PatientInfo             patient  = new Neusoft.HISFC.Object.RADT.PatientInfo();
                Neusoft.HISFC.Integrate.RADT                      pa       = new Neusoft.HISFC.Integrate.RADT();// Neusoft.HISFC.Management.RADT.InPatient();
                Neusoft.HISFC.Integrate.Registration.Registration register = new Neusoft.HISFC.Integrate.Registration.Registration();
                //从住院主表中查旬
                patient = pa.GetPatientInfoByPatientNO(InpatientNO);
                if (patient == null)
                {
                    Neusoft.HISFC.Object.Registration.Register obj = register.GetByClinic(InpatientNO);
                    if (obj == null)
                    {
                        MessageBox.Show("查询病人信息出错");
                        return(-1);
                    }
                    patient           = new Neusoft.HISFC.Object.RADT.PatientInfo();
                    patient.ID        = obj.ID;
                    patient.CaseState = "1";
                }

                if (patient.CaseState == "0")
                {
                    //不允许有病案
                    return(1);
                }
                //定义业务层的类

                Neusoft.HISFC.Management.HealthRecord.Diagnose diag = new Neusoft.HISFC.Management.HealthRecord.Diagnose();
                diagList = new ArrayList();

                if (frmType == Neusoft.HISFC.Object.HealthRecord.EnumServer.frmTypes.DOC) // 医生站录入病历

                {
                    #region  医生站录入病历


                    //目前允许有病历 并且目前没有录入病历  或者标志位位空(默认是允许录入病历)
                    // 医生站录入病例


                    if (patient.CaseState == null || patient.CaseState == "1" || patient.CaseState == "2")
                    {
                        //从医生站录入的信息中查询
                        diagList = diag.QueryCaseDiagnose(patient.ID, "%", Neusoft.HISFC.Object.HealthRecord.EnumServer.frmTypes.DOC);
                    }
                    else
                    {
                        // 病案已经封存已经不允许医生修改和查阅
                        return(2);
                    }

                    #endregion
                }
                else if (frmType == Neusoft.HISFC.Object.HealthRecord.EnumServer.frmTypes.CAS)//病案室录入病历

                {
                    #region 病案室录入病历

                    //目前允许有病历 并且目前没有录入病历  或者标志位位空(默认是允许录入病历)
                    if (patient.CaseState == null || patient.CaseState == "1" || patient.CaseState == "2")
                    {
                        //医生站已经录入病案

                        diagList = diag.QueryCaseDiagnose(patient.ID, "%", Neusoft.HISFC.Object.HealthRecord.EnumServer.frmTypes.DOC);
                    }
                    else if (patient.CaseState == "3")
                    {
                        //病案室已经录入病案

                        diagList = diag.QueryCaseDiagnose(patient.ID, "%", Neusoft.HISFC.Object.HealthRecord.EnumServer.frmTypes.CAS);
                    }
                    else if (patient.CaseState == "4")
                    {
                        //病案已经封存 不允许修改。

                        diagList = diag.QueryCaseDiagnose(patient.ID, "%", Neusoft.HISFC.Object.HealthRecord.EnumServer.frmTypes.CAS);
                        this.fpEnter1_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.ReadOnly;
                    }

                    #endregion
                }
                else
                {
                    //没有传入参数 不作任何处理
                }

                if (diagList != null)
                {
                    //查询有数据

                    AddInfoToFP(diagList);
                    return(3);
                }
                else
                {//查询没有数据
                    return(4);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return(-1);
            }
        }
Example #18
0
        /// <summary>
        /// 打印控件赋值



        /// </summary>
        /// <param name="patientInfo">患者实体</param>
        /// <param name="balanceHead">发票</param>
        /// <param name="alBalanceList">发票明细</param>
        /// <param name="IsPreview">是否预览</param>
        /// <returns></returns>
        protected int SetPrintValue(
            Neusoft.HISFC.Object.RADT.PatientInfo patientInfo,
            Neusoft.HISFC.Object.Fee.Inpatient.Balance balanceHead,
            ArrayList alBalanceList,
            bool IsPreview)
        {
            this.Controls.Clear();
            //如果费用明细为空,则返回
            if (alBalanceList.Count <= 0)
            {
                return(-1);
            }

            #region 克隆一个费用明细信息列表,因为后面操作需要对列表元素有删除操作.
            ArrayList alBalanceListClone = new ArrayList();
            foreach (Neusoft.HISFC.Object.Fee.Inpatient.BalanceList det in alBalanceList)
            {
                alBalanceListClone.Add(det.Clone());
            }
            #endregion
            //if (this.InvoiceType == "ZY02")
            //{
            //    c = new ucZYZF();
            //    while (c.Controls.Count > 0)
            //    {
            //        this.Controls.Add(c.Controls[0]);
            //    }
            //    //this.Controls.Add(c);
            //    this.Size = c.Size;
            //    this.InitReceipt();
            //    SetZYZFPrintValue(patientInfo,
            //           balanceHead,
            //           alBalanceListClone,
            //           IsPreview);
            //}
            //else if (this.InvoiceType == "ZY01")
            //{
            c = new ucZYFP();
            while (c.Controls.Count > 0)
            {
                this.Controls.Add(c.Controls[0]);
            }
            //this.Controls.Add(c);
            this.Size = c.Size;
            this.InitReceipt();
            SetZYFPPrintValue(patientInfo,
                              balanceHead,
                              alBalanceListClone,
                              IsPreview);
            //}

            //控制根据打印和预览显示选项
            if (IsPreview)
            {
                SetToPreviewMode();
            }
            else
            {
                SetToPrintMode();
            }
            return(0);
        }
Example #19
0
 public int SetEMRLocked(Neusoft.HISFC.Object.File.DataFileInfo dfi, Neusoft.HISFC.Object.RADT.PatientInfo patient, Neusoft.NFC.Object.NeuObject obj, bool isLocked)//(Neusoft.HISFC.Object.RADT.PatientInfo patient, Neusoft.NFC.Object.NeuObject obj, bool isLocked)
 {
     Neusoft.HISFC.Management.EPR.EMR manager = new Neusoft.HISFC.Management.EPR.EMR();
     this.SetDB(manager);
     return(manager.SetEMRLocked(dfi, patient, obj, isLocked));
 }
Example #20
0
        /// <summary>
        /// 门诊患者适应症处理方法

        /// </summary>
        /// <param name="patientObj">门诊患者实体</param>
        /// <param name="inpatientDetailList">门诊费用实体数组</param>
        /// <returns></returns>
        public int ProcessInpatientFeeDetail(Neusoft.HISFC.Object.RADT.PatientInfo patientObj, ref System.Collections.ArrayList alInpatientDetail)
        {
            return(1);
        }
Example #21
0
        /// <summary>
        /// 打印控件赋值

        /// </summary>
        /// <param name="Pinfo"></param>
        /// <param name="Pinfo"></param>
        /// <param name="al">balancelist数据</param>
        /// <param name="IsPreview">是否打印其余可显示部分</param>
        /// <returns></returns>
        protected int SetPrintValue(Neusoft.HISFC.Object.RADT.PatientInfo patientInfo, Neusoft.HISFC.Object.Fee.Inpatient.Balance balanceHead, ArrayList alBalanceList, bool IsPreview)
        {
            if (alBalanceList.Count <= 0)
            {
                return(-1);
            }
            //清空控件边框
            foreach (Control c in this.Controls)
            {
                if (c.Name.Substring(0, 3) == "lbl")
                {
                    System.Windows.Forms.Label lblControl;
                    lblControl             = (System.Windows.Forms.Label)c;
                    lblControl.BorderStyle = System.Windows.Forms.BorderStyle.None;
                    c.Visible = true;
                }
            }
            //控制根据打印和预览显示选项
            if (IsPreview)
            {
                foreach (Control c in this.Controls)
                {
                    if (c.Name.Substring(0, 6) == "lblPre")
                    {
                        c.Visible = IsPreview;
                    }
                }
            }
            else
            {
                foreach (Control c in this.Controls)
                {
                    if (c.Name.Substring(0, 6) == "lblPre")
                    {
                        c.Visible = IsPreview;
                    }
                }

                //如果特殊需求--发票上没有的大类需要显示出来 在此添加FeeName.Visible属性
            }



            Neusoft.HISFC.Management.Fee.InPatient myInpatient = new Neusoft.HISFC.Management.Fee.InPatient();
            ArrayList alBalancePay = new ArrayList();

            alBalancePay = myInpatient.QueryBalancePaysByInvoiceNOAndBalanceNO(balanceHead.Invoice.ID, int.Parse(balanceHead.ID));
            if (alBalancePay == null)
            {
                MessageBox.Show("获得患者支付方式出错!");
                return(-1);
            }
            //赋值



            //基本信息
            this.lblPriPatientNo.Text = patientInfo.PID.PatientNO;                     //住院号

            this.lblPriNurseCell.Text = patientInfo.PVisit.PatientLocation.Dept.Name;  //病区 --此处用科室name 发票空白太短 中山原有系统无病区概念

            this.lblPriYear.Text = balanceHead.BalanceOper.OperTime.Year.ToString();   //年

            this.lblPriMonth.Text = balanceHead.BalanceOper.OperTime.Month.ToString(); //月

            this.lblPriDay.Text = balanceHead.BalanceOper.OperTime.Day.ToString();     //日

            this.lblPriBalanceType.Text = balanceHead.BalanceType.Name.ToString();     //结算类型
            this.lblPriName.Text        = patientInfo.Name;                            //姓名
            //住院日期
            this.lblPriDateIn.Text = patientInfo.PVisit.InTime.ToShortDateString() + "至" + patientInfo.PVisit.OutTime.ToShortDateString();

            #region "Delete"
            //#region 住院日期,保存本次结算的 开始结束时间


            //ArrayList alBalance = myInpatient.GetBalanceHeadInfoByInpatientNo(Pinfo.ID);//获得所有结算信息

            //DateTime OutDate = DateTime.MinValue;
            //DateTime BeginDate = DateTime.MinValue;
            //if (alBalance == null)
            //{
            //    MessageBox.Show("获得患者结算信息出错!" + myInpatient.Err);
            //    return -1;
            //}
            //if (alBalance.Count == 0)
            //{
            //    MessageBox.Show("该患者没有发票信息!");
            //    return -1;
            //}
            //if (this.IsMidwayBalance)
            //{
            //    OutDate = BalanceHead.DtEnd;
            //}
            //else
            //{
            //    if (Pinfo.PVisit.Date_Out == DateTime.MinValue)
            //    {
            //        OutDate = BalanceHead.DtEnd;
            //    }
            //    else
            //    {
            //        OutDate = Pinfo.PVisit.Date_Out;
            //    }
            //}

            //if (alBalance.Count == 1)//就一次结算

            //{
            //    BeginDate = BalanceHead.DtBegin;
            //}
            //else //不止一次结算,有可能是召回或者多次中途结算,那么找到上一次有效的中途结算,开始时间取上一次有效结算的结束时间
            ////但是不包括直接结算.
            //{
            //    //因为取出的发票是按照结算时间排序的,所以从后向前找
            //    Neusoft.HISFC.Object.Fee.Balance b = null;
            //    bool isFind = false;
            //    for (int i = alBalance.Count - 2; i >= 0; i--)
            //    {
            //        b = alBalance[i] as Neusoft.HISFC.Object.Fee.Balance;
            //        if (b.WasteFlag == "0" && b.BalanceType.ID.ToString() != "D")
            //        {
            //            BeginDate = b.DtEnd.AddSeconds(1);
            //            isFind = true;
            //            break;
            //        }
            //    }
            //    if (!isFind)//是结算召回,前面的纪录没有有效的.或者前面的有效结算纪录都是直接结算.
            //    {
            //        BeginDate = BalanceHead.DtBegin;
            //    }
            //}
            //int days = (OutDate.Date - BeginDate.Date).Days;
            //if (this.IsMidwayBalance)
            //{
            //    days = days + 1;
            //}
            //if (days == 0)
            //{
            //    days = 1;
            //}
            //this.lblPriDateIn.Text = BeginDate.ToShortDateString() + "至" + OutDate.ToShortDateString() + "共" + days.ToString() + "天";
            //  #endregion
            #endregion


            //结算类别 --中山医暂时用合同单位
            //Neusoft.HISFC.Management.Fee.InPatient myInpatient = new Neusoft.HISFC.Management.Fee.InPatient();
            string PactName = "";
            PactName = myInpatient.GetComDictionaryNameByID("PACTUNIT", patientInfo.Pact.ID);
            if (PactName == null)
            {
                MessageBox.Show(myInpatient.Err);
                return(-1);
            }
            this.lblPriPayKind.Text = PactName + " " + balanceHead.Invoice.ID; //合同单位+电脑发票号;
            //操作员

            this.lblPriOper.Text = balanceHead.BalanceOper.ID;

            //票面信息
            for (int i = 0; i < alBalanceList.Count; i++)
            {
                Neusoft.HISFC.Object.Fee.Inpatient.BalanceList Blist = new Neusoft.HISFC.Object.Fee.Inpatient.BalanceList();
                Blist = (Neusoft.HISFC.Object.Fee.Inpatient.BalanceList)alBalanceList[i];
                //显示费用名称
                if (IsPreview)
                {
                    System.Windows.Forms.Label lblFeeName;
                    if (Blist.FeeCodeStat.SortID < 1 || Blist.FeeCodeStat.SortID > 36)
                    {
                        //Neusoft.NFC.Interface.Classes.Function.Msg("费用大类为"+Blist.StatClass.Name+"的打印序号维护错误,应在1与36之间!",111);
                        continue;
                    }
                    lblFeeName = (System.Windows.Forms.Label) this.GetFeeNameLable(Blist.FeeCodeStat.SortID);
                    if (lblFeeName == null)
                    {
                        MessageBox.Show("没有找到费用大类为" + Blist.FeeCodeStat.StatCate.Name + "的打印序号!");
                        return(-1);
                    }


                    try
                    {
                        lblFeeName.Text = Blist.FeeCodeStat.StatCate.Name;
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                        return(-1);
                    }
                }
                //费用金额赋值

                System.Windows.Forms.Label lblFeeCost;
                lblFeeCost = (System.Windows.Forms.Label) this.GetFeeCostLable(Blist.FeeCodeStat.SortID);
                if (lblFeeCost == null)
                {
                    MessageBox.Show("没有找到费用大类为" + Blist.FeeCodeStat.StatCate.Name + "的打印序号!");
                    return(-1);
                }

                lblFeeCost.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(Blist.BalanceBase.FT.TotCost, 2);
            }



            //记帐金额
            this.lblPriPub.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(balanceHead.FT.PubCost, 2);
            //个人缴费金额

            this.lblPriPay.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(balanceHead.FT.PayCost, 2);


            //自付
            if (patientInfo.Pact.PayKind.ID == "03")
            {
                //医院要求公费个人自付金额不显示-By Maokb 06-03-25
                this.lblPriPay.Text = "";
                //				this.lblPreFeeName36.Text = "公费记帐";
                //				this.lblPriCost36.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(BalanceHead.Fee.Pub_Cost,2);
                this.lblPreFeeName36.Text    = "个人自付";
                this.lblPriCost36.Text       = Neusoft.NFC.Public.String.FormatNumberReturnString(balanceHead.FT.PayCost, 2);
                this.lblPreFeeName35.Visible = true;
                this.lblPreFeeName36.Visible = true;
            }
            if (patientInfo.Pact.ID == "2")
            {
                this.lblPreFeeName36.Text = "医保个人";
                this.lblPriCost36.Text    = Neusoft.NFC.Public.String.FormatNumberReturnString(patientInfo.SIMainInfo.OwnCost, 2);
                //个人缴费金额
                this.lblPriPay.Text          = Neusoft.NFC.Public.String.FormatNumberReturnString(patientInfo.SIMainInfo.OwnCost, 2);
                this.lblPreFeeName35.Visible = true;
                this.lblPreFeeName36.Visible = true;
            }



            //个人缴费金额
            this.lblPriLower.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(balanceHead.FT.PayCost + balanceHead.FT.OwnCost, 2);

            string returnMoney = "";
            string supplyMoney = "";
            foreach (Neusoft.HISFC.Object.Fee.Inpatient.BalancePay b in alBalancePay)
            {
                if (b.TransKind.ID == "1")//结算款

                {
                    if (b.RetrunOrSupplyFlag == "2")//返还
                    {
                        returnMoney = returnMoney + " " + b.PayType.Name + ":" + b.FT.TotCost.ToString();
                    }
                    else
                    {
                        supplyMoney = supplyMoney + " " + b.PayType.Name + ": " + b.FT.TotCost.ToString();
                    }
                }
            }
            //预收
            this.lblPriPrepay.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(balanceHead.FT.PrepayCost, 2);
            this.lblpayType.Text   = returnMoney + supplyMoney;
            //补收
            this.lblPriSupply.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(balanceHead.FT.SupplyCost, 2);
            //退款

            this.lblPriReturn.Text = Neusoft.NFC.Public.String.FormatNumberReturnString(balanceHead.FT.ReturnCost, 2);

            ////血滞纳金

            //if (BloodFee > 0)
            //{
            //    this.lblPriBlood.Text = "另开互助金发票" + BloodFee.ToString() + "元 收据号:";//Edit By Maokb
            //}
            string[] strMoney = new string[8];

            strMoney = this.GetUpperCashbyNumber(Neusoft.NFC.Public.String.FormatNumber(balanceHead.FT.PayCost + balanceHead.FT.OwnCost, 2));



            this.lblPriF.Text  = strMoney[0];
            this.lblPriJ.Text  = strMoney[1];
            this.lblPriY.Text  = strMoney[3];
            this.lblPriS.Text  = strMoney[4];
            this.lblPriB.Text  = strMoney[5];
            this.lblPriQ.Text  = strMoney[6];
            this.lblPriW.Text  = strMoney[7];
            this.lblPriSW.Text = strMoney[8];



            return(0);
        }
Example #22
0
        /// <summary>
        /// 打印界面赋值

        /// </summary>
        /// <param name="patientInfo"></param>
        /// <param name="Prepay"></param>
        public int SetValue(Neusoft.HISFC.Object.RADT.PatientInfo patient, Neusoft.HISFC.Object.Fee.Inpatient.Prepay prepay)
        {
            this.lblDeptName.Text = patient.PVisit.PatientLocation.Dept.Name;//患者所在科室



            this.lblName.Text = patient.Name;//患者姓名


            this.lblOper.Text      = prepay.PrepayOper.ID;//经办
            this.lblPatientNo.Text = patient.PID.PatientNO;


            this.lblPrepayCost.Text = Neusoft.NFC.Public.String.FormatNumber(prepay.FT.PrepayCost, 2).ToString(); //金额合计

            this.lblRecipe.Text = prepay.RecipeNO;                                                                //预交金发票号
            this.lblTime.Text   = prepay.PrepayOper.OperTime.ToShortDateString();                                 //交款时间
            if (prepay.PayType.Name == "")
            {
                switch (prepay.PayType.ID.ToString())
                {
                case "CA":
                    prepay.PayType.Name = "现金";
                    break;

                case "CH":
                    prepay.PayType.Name = "支票";
                    break;

                case "PO":
                    prepay.PayType.Name = "汇票";
                    break;

                case "CD":
                    prepay.PayType.Name = "信用卡";
                    break;

                case "DB":
                    prepay.PayType.Name = "借记卡";
                    break;

                default:
                    prepay.PayType.Name = "其他";
                    break;
                }
            }
            this.lblType.Text = "(" + prepay.PayType.Name + ")";//付款方式
            //			this.lblUpPreCost.Text = Function.ChangeCash(Prepay.Pre_Cost);//-------------- 人民币合计


            this.lblUpPreCost.Text = Function.ConvertNumberToChineseMoneyString(prepay.FT.PrepayCost.ToString());

            switch (prepay.PayType.ID.ToString())
            {
            case "CA":       //现金

                break;

            case "CH":                                //支票
                this.lblBank.Text = prepay.Bank.Name; //开户银行


                this.lblBankAcount.Text = prepay.Bank.Account;   //账号
                //					this.labCardNo.Text = Prepay.AccountBank.ID;//卡号
                this.labWorkName.Text = prepay.Bank.WorkName;    //交款单位
                break;

            case "PO":                                //汇票
                this.lblBank.Text = prepay.Bank.Name; //开户银行


                this.lblBankAcount.Text = prepay.Bank.Account;   //账号
                this.labWorkName.Text   = prepay.Bank.WorkName;  //交款单位
                break;
            }
            return(1);
        }