Пример #1
0
        /// <summary>
        /// 得到只有发药记录的病人
        /// </summary>
        /// <param name="CureDeptCode"></param>
        /// <returns></returns>
        private static List <ZY_PatList> OperPatInfo(string YfCode, string CureDeptCode)
        {
            ZY_PatList zypl = new ZY_PatList(oleDb);

            List <ZY_PatList> zyPL = null;
            BindPatListVal    bplv = new BindPatListVal();

            if (CureDeptCode == null)
            {
                bplv.IsIn            = true;
                zypl.bindPatListVal  = bplv;
                zypl.bindPatListType = BindPatListType.住院病人列表;
                zyPL = zypl.BindPatList();
            }
            else
            {
                bplv.IsIn            = true;
                bplv.DeptCode        = CureDeptCode.ToString();
                zypl.bindPatListVal  = bplv;
                zypl.bindPatListType = BindPatListType.住院病人列表;
                zyPL = zypl.BindPatList();
            }
            zyPL.RemoveAll(delegate(ZY_PatList x)
            {
                DataTable dt = GetPatPresInfo(x.PatListID, YfCode);
                if (dt == null || dt.Rows.Count == 0)
                {
                    return(true);
                }
                return(false);
            });
            return(zyPL);
        }
Пример #2
0
        private void GetPatList(string deptcode)
        {
            ZY_PatList     zy_Patlist = new ZY_PatList();
            BindPatListVal bplv       = new BindPatListVal();

            bplv.IsIn                  = true;
            bplv.DeptCode              = deptcode;
            bplv.IsOperation           = IsOper;
            zy_Patlist.bindPatListVal  = bplv;
            zy_Patlist.bindPatListType = BindPatListType.费用清单病人列表;
            List <ZY_PatList> zyPatList = zy_Patlist.BindPatList();

            RecDt.Rows.Clear();

            for (int i = 0; i < zyPatList.Count; i++)
            {
                DataRow dr = RecDt.NewRow();
                dr["patlistid"] = zyPatList[i].PatListID.ToString();
                dr["cureno"]    = zyPatList[i].CureNo;
                dr["bedcode"]   = zyPatList[i].BedCode;
                dr["Name"]      = zyPatList[i].patientInfo.PatName;
                dr["py_code"]   = zyPatList[i].patientInfo.PYM;
                dr["wb_code"]   = zyPatList[i].patientInfo.WBM;
                RecDt.Rows.Add(dr);
            }
            this.tbPatname.SetSelectionCardDataSource(RecDt);
        }
Пример #3
0
        public FrmItemList(long currentUserId, long currentDeptId, string chineseName)
        {
            InitializeComponent();
            _currentUser = new User(currentUserId);
            _currentDept = new Deptment(currentDeptId);
            _filterType  = Constant.CustomFilterType;
            _searchType  = Constant.CustomSearchType;
            this.Text    = chineseName;


            DataTable dt = BaseDataFactory.GetData(baseDataType.住院临床科室);

            this.cbDept.DataSource    = dt;
            this.cbDept.DisplayMember = "name";
            this.cbDept.ValueMember   = "code";


            this.chbDept.Checked      = true;
            this.cbDept.SelectedValue = currentDeptId.ToString();
            zy_PatList     = new ZY_PatList();
            feeBillManager = new FeeBillManager();

            this.dtpB.Value = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00");
            this.dtpE.Value = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59");

            this.cb_pattype.SelectedIndex = 0;

            this.dtpB.Enabled = false;
            this.dtpE.Enabled = false;
        }
Пример #4
0
 private void lstPatInfo_ItemChecked(object sender, ItemCheckedEventArgs e)
 {
     try
     {
         if (_dispenseModel == 2 && e.Item.Tag != null)
         {
             ListViewItem selectItem = e.Item;
             if (selectItem.Checked == true)
             {
                 ZY_PatList pat      = (ZY_PatList)selectItem.Tag;
                 DataTable  recipeDt = (DataTable)_allDispPats[pat.CureNo];
                 AddRecipeOrder(_recipeOrder, recipeDt);
             }
             else
             {
                 ZY_PatList pat      = (ZY_PatList)selectItem.Tag;
                 DataTable  recipeDt = (DataTable)_allDispPats[pat.CureNo];
                 RemoveRecipeOrder(_recipeOrder, recipeDt);
             }
         }
     }
     catch (Exception error)
     {
         MessageBox.Show(error.Message);
     }
 }
Пример #5
0
 private void btnQuery_Click(object sender, EventArgs e)
 {
     try
     {
         this.Cursor   = GWMHIS.BussinessLogicLayer.Classes.PublicStaticFun.WaitCursor();
         _currentZYPat = IN_InterFace.QueryPatByInpatNum(this.txtQueryNum.Text.Trim());
         if (_currentZYPat == null)
         {
             MessageBox.Show(this.txtQueryNum, "该病人不存在");
             this.txtQueryNum.Text = "";
             return;
         }
         if (_currentZYPat.PatType != "2")
         {
             MessageBox.Show(this.txtQueryNum, "该病人已出院,无法退药");
             this.txtQueryNum.Text = "";
             return;
         }
         ShowCurrentPat();
         _dispOrder = IN_InterFace.QueryRefRecipeOrder(_currentZYPat, (int)_currentDeptId,
                                                       cobBeginDate.Value, cobEndDate.Value);
         dgrdDispOrder.DataSource = _dispOrder;
         this.btnRefund.Focus();
     }
     catch (Exception error)
     {
         MessageBox.Show(error.Message);
     }
     finally
     {
         this.Cursor = this.DefaultCursor;
     }
 }
Пример #6
0
        //根据住院号检索
        private void tbInpatNo_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyData == Keys.Enter)
            {
                if (zypatlist != null)
                {
                    List <ZY_PatList> patlist = zypatlist.FindAll(x => x.CureNo == this.tbInpatNo.Text);

                    this.lvPatList.Items.Clear();

                    for (int i = 0; i < patlist.Count; i++)
                    {
                        ListViewItem lstViewItem = new ListViewItem();
                        lstViewItem.SubItems.Clear();
                        lstViewItem.Tag = patlist[i];
                        lstViewItem.SubItems[0].Text = patlist[i].CureNo;
                        lstViewItem.SubItems.Add(patlist[i].patientInfo.PatName);
                        lstViewItem.SubItems.Add(patlist[i].patientInfo.PatSex);
                        lstViewItem.SubItems.Add(patlist[i].patientInfo.PatBriDate.ToString("yyyy-MM-dd"));
                        this.lvPatList.Items.Add(lstViewItem);
                    }

                    if (patlist.Count > 0)
                    {
                        zy_PatList = patlist[0];
                        this.HIS_DoubleClick(sender, e);
                    }
                }
            }
        }
Пример #7
0
        /// <summary>
        /// 创建发药表头对象(经管发药)
        /// </summary>
        /// <param name="patInfo">住院病人对象</param>
        /// <param name="deptId">部门ID</param>
        /// <param name="dispenserId">发药人员ID</param>
        /// <returns></returns>
        public YP_DRMaster BuildNewDispenseMaster(ZY_PatList patInfo, int deptId, int dispenserId, int presamount, int groupid)
        {
            YP_DRMaster dispMaster = new YP_DRMaster();

            dispMaster.Charge_Flag = 0;      //记账处方标识,未启用
            dispMaster.DeptID      = deptId; //发药部门ID
            if (XcConvert.IsInteger(patInfo.CureDocCode))
            {
                dispMaster.DocID = Convert.ToInt32(XcConvert.IsInteger(patInfo.CureDocCode));                //主治医生ID
            }
            dispMaster.DosageMan   = 0;                                                                      //配药人ID,未启用
            dispMaster.DrugOC_Flag = presamount > 0 ? 1 : 0;                                                 //1表发药,0表退药 //update by heyan 2010.11.22付数大于0表示发药,小于0表退药
            dispMaster.InpatientID = patInfo.CureNo;                                                         //住院号
            dispMaster.InvoiceNum  = 0;                                                                      //住院发票号默认为0
            dispMaster.OPPeopleID  = dispenserId;                                                            //发药人员ID
            dispMaster.OPTime      = HIS.SYSTEM.PubicBaseClasses.XcDate.ServerDateTime;                      //发药时间
            dispMaster.OpType      = presamount > 0?ConfigManager.OP_YF_DISPENSE:ConfigManager.OP_YF_REFUND; //业务类型 update by heyan 2010.11.22付数大于0表示发药,小于0表退药
            dispMaster.PatientID   = patInfo.PatListID;                                                      //病人ID
            dispMaster.PatientName = patInfo.PatientInfo.PatName;                                            //病人姓名
            dispMaster.PatientNo   = "";                                                                     //病历号,未启用
            dispMaster.ReceiptCode = 0;                                                                      //结算收据号
            dispMaster.RecipeID    = groupid;                                                                //处方号,住院未启用 //update by heyan 2010.10.26 中草药的组号
            dispMaster.RecipeNum   = presamount > 0?presamount:presamount * -1;                              //处方贴数  //update by heyan 2010.10.26 中草药保存处方数
            dispMaster.RetailFee   = 0;                                                                      //零售金额,初始化为0
            return(dispMaster);
        }
Пример #8
0
        private void CureNoKeyDown()
        {
            Controller.KeyDownCureNo();

            if (_zyPatlist != null)
            {
                if (_zyPatlist.PatType == "1" || _zyPatlist.PatType == "2")
                {
                    this.ToolControls_Enabled(RegType.修改);
                }
                else
                {
                    this.ToolControls_Enabled(RegType.可修改);
                    this.dtpregdate.Value = DateTime.Now;
                }
                BindTBZYPatList();
            }
            else
            {
                //this.ToolControls_Enabled(RegType.新证);
                //this.ClearPatinfo();
                //Controller.NewPat();
                //_zyPatlist = zyPatList;
                this.dtpregdate.Focus();
                _zyPatlist = new ZY_PatList();
                //MessageBox.Show("您输入的住院号病人不存在!");
                //this.tbInpatNo.Text = "0";
                //this.ToolControls_Enabled(RegType.其他);
            }
        }
Пример #9
0
 /// <summary>
 /// 取消病人入院
 /// </summary>
 public bool DelPat()
 {
     zy_Patlist = view.zyPatList;
     if (HIS.ZY_BLL.OP_ZYConfigSetting.GetConfigValue("008") == 0)
     {
         if (zy_Patlist.PatType == "1" || (zy_Patlist.PatType == "2" && zy_Patlist.BedCode.Trim() == "")) //临床分配床位后不能取消入院
         {
             zy_Patlist.Delete();
         }
         else
         {
             throw new Exception("该病人不能取消!");
         }
     }
     else
     {
         if (zy_Patlist.PatType == "1" || zy_Patlist.PatType == "2")//临床分配床位后不能取消入院
         {
             zy_Patlist.Delete();
         }
         else
         {
             throw new Exception("该病人不能取消!");
         }
     }
     //刷新病人列表
     BrushPatList();
     return(true);
 }
Пример #10
0
 private void txtQueryNum_KeyDown(object sender, KeyEventArgs e)
 {
     try
     {
         //发药模式为住院发药
         if (_dispenseModel == 1 && e.KeyValue == 13)
         {
             if (this.txtQueryNum.Text.Trim() == "")
             {
                 return;
             }
             lstPatInfo.Items.Clear();
             _currentZYPat = IN_InterFace.QueryPatByInpatNum(this.txtQueryNum.Text.Trim());
             if (_currentZYPat == null)
             {
                 MessageBox.Show(this.txtQueryNum, "该病人不存在");
                 this.txtQueryNum.Text = "";
                 return;
             }
             ListViewItem lstItem = new ListViewItem(_currentZYPat.PatientInfo.PatName);
             lstPatInfo.Items.Add(lstItem);
             lstItem.SubItems.Add(_currentZYPat.PatientInfo.PatSex);
             lstItem.SubItems.Add(_currentZYPat.PatientInfo.PatBriDate.ToString("yyyy-mm-dd"));
             lstItem.Tag = _currentZYPat;
             lstPatInfo.Items[0].Selected = true;
             lstPatInfo_DoubleClick(null, null);
             ShowCurrentPat();
             this.btnDispense.Focus();
         }
     }
     catch (Exception error)
     {
         MessageBox.Show(error.Message);
     }
 }
Пример #11
0
 //单人打印
 private void button4_Click(object sender, EventArgs e)
 {
     zy_pat = zy_PatList;
     if (zy_pat != null)
     {
         Print(true);
     }
 }
Пример #12
0
 //全部打印
 private void button6_Click(object sender, EventArgs e)
 {
     for (int i = 0; i < this.lvPatList.Items.Count; i++)
     {
         zy_pat = (ZY_PatList)this.lvPatList.Items[i].Tag;
         Print(false);
     }
 }
Пример #13
0
 //双击病人列表
 private void lvPatList_DoubleClick(object sender, EventArgs e)
 {
     if (this.lvPatList.SelectedItems.Count > 0)
     {
         zy_PatList = (ZY_PatList)this.lvPatList.SelectedItems[0].Tag;
         this.HIS_DoubleClick(sender, e);
     }
 }
Пример #14
0
        // 新证
        private void ToolSB_New_Click(object sender, EventArgs e)
        {
            this.ToolControls_Enabled(RegType.新证);
            this.ClearPatinfo();
            Controller.NewPat();
            _zyPatlist = zyPatList;

            this.tbMarkName.Text = _currentUser.Name;
        }
Пример #15
0
        public ZYBaseFrom()
        {
            InitializeComponent();
            DataTable dt = BaseDataFactory.GetData(baseDataType.住院临床科室);

            this.cbDept.DataSource    = dt;
            this.cbDept.DisplayMember = "name";
            zy_PatList = new ZY_PatList();
        }
Пример #16
0
 // 双击查看修改入院病人信息
 private void lvPatList_DoubleClick(object sender, EventArgs e)
 {
     if (this.lvPatList.SelectedItems[0].Tag != null)
     {
         _zyPatlist = (ZY_PatList)this.lvPatList.SelectedItems[0].Tag;
         BindTBZYPatList();
         this.ToolControls_Enabled(RegType.修改);
     }
 }
Пример #17
0
        private void lvPatList_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.lvPatList.SelectedItems.Count == 0)

            {
                return;
            }

            zy_PatList = (ZY_PatList)this.lvPatList.SelectedItems[0].Tag;
        }
Пример #18
0
        /// <summary>
        /// 得到病人信息
        /// </summary>
        /// <param name="IsIn">是否在院</param>
        /// <param name="deptId">病人所在科室</param>
        /// <returns></returns>
        public static List <HIS.Model.ZY_PatList> GetPatInfo(bool IsIn, int deptId)
        {
            ZY_PatList     zypl = new ZY_PatList();
            BindPatListVal bplv = new BindPatListVal();

            bplv.IsIn            = IsIn;
            bplv.DeptCode        = deptId.ToString();
            zypl.bindPatListVal  = bplv;
            zypl.bindPatListType = BindPatListType.住院病人列表;
            return(Charge(zypl.BindPatList()));
        }
Пример #19
0
 private void lstPatInfo_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (lstPatInfo.Items.Count > 0)
     {
         if (lstPatInfo.SelectedItems.Count != 0)
         {
             ListViewItem selectItem = lstPatInfo.SelectedItems[0];
             _currentZYPat = (ZY_PatList)selectItem.Tag;
             ShowCurrentPat();
         }
     }
 }
Пример #20
0
        /// <summary>
        /// 得到病人的数据
        /// </summary>
        public void GetPatData()
        {
            zyPatlist = IfrmCostView.zyPatList;
            zyCostMaster.PatListID = zyPatlist.PatListID;

            GetTextFeeData();
            GetdgFeeData();
            IfrmCostView.patFee = patFee;
            IfrmCostView.dgFee  = dgFee;

            IfrmCostView.zyPatList = zyPatlist;
        }
Пример #21
0
        /// <summary>
        /// 获取主管医生名称
        /// </summary>
        /// <param name="patListID"></param>
        /// <returns></returns>
        protected string GetChargeDocCode(int patListID)
        {
            ZY_PatList zyPL = operationList.zyPatList.Find(
                delegate(ZY_PatList x)
                { return(x.PatListID == patListID); }
                );

            if (zyPL != null)
            {
                return(base.GetName("BASE_EMPLOYEE_PROPERTY", zyPL.CureDocCode));
            }
            return("");
        }
Пример #22
0
 /// <summary>
 /// 修改病人
 /// </summary>
 /// <returns></returns>
 public bool AlterPat()
 {
     try
     {
         zy_Patlist = view.zyPatList;
         zy_Patlist.Update();
         return(true);
     }
     catch (Exception e)
     {
         throw new Exception(e.Message);
     }
 }
Пример #23
0
        /// <summary>
        /// 根据住院号得到病人信息
        /// </summary>
        /// <param name="CureNo">住院号</param>
        /// <returns></returns>
        public static HIS.Model.ZY_PatList GetPatInfo(string CureNo)
        {
            ZY_PatList zypl = new ZY_PatList(oleDb);

            zypl = zypl.GetPatInfo(CureNo);
            if (zypl == null)
            {
                throw new Exception("请输入正确住院号!");
            }
            HIS.Model.ZY_PatList zyp = new HIS.Model.ZY_PatList();
            zyp = (HIS.Model.ZY_PatList)HIS.SYSTEM.PubicBaseClasses.ApiFunction.ObjectToObj(zypl, zyp);
            return(zyp);
        }
Пример #24
0
 /// <summary>
 /// 加载病人信息
 /// </summary>
 private void CreateBedView()
 {
     patInfo = op_BaseData.getPatInfo(Convert.ToInt32(currentDept.DeptID));
     bedInfo = op_BaseData.getBedInfo(Convert.ToInt32(currentDept.DeptID));
     foreach (ZY_NURSE_BED bed in bedInfo)
     {
         ListViewItem item = new ListViewItem();
         //判断当前床位是否有病人
         if (bed.PATLIST_ID == 0)
         {
             //没有病人,直接绑定床位对象
             item.Text       = bed.BED_NO;
             item.ImageIndex = 0;
             item.Tag        = bed;
         }
         else
         {
             ZY_PatList patient = patInfo.Find(delegate(ZY_PatList p)
             {
                 if (p != null)
                 {
                     return(p.PatListID == bed.PATLIST_ID);
                 }
                 else
                 {
                     return(false);
                 }
             });
             if (patient != null)
             {
                 if (patient.PatientInfo.PatSex == "男")
                 {
                     item.Text       = bed.BED_NO + " " + patient.PatientInfo.ACCOUNTTYPE + "\r\n" + patient.PatientInfo.PatName;
                     item.ImageIndex = 5;
                     item.Tag        = patient;
                 }
                 else
                 {
                     item.Text       = bed.BED_NO + " " + patient.PatientInfo.ACCOUNTTYPE + "\r\n" + patient.PatientInfo.PatName;
                     item.ImageIndex = 10;
                     item.Tag        = patient;
                 }
             }
             else
             {
                 MessageBox.Show(bed.BED_NO + "数据异常");
             }
         }
         listView1.Items.Add(item);
     }
 }
Пример #25
0
        public FrmCostController(IFrmCostView _view)
        {
            IfrmCostView = _view;
            _dataSet     = new DataSet();
            user         = IfrmCostView.currentUser;
            dept         = IfrmCostView.currentDept;

            zyCostMaster = new ZY_CostMaster();
            zyPatlist    = new ZY_PatList();

            LoadINFO();

            zyConfig008 = HIS.ZY_BLL.OP_ZYConfigSetting.GetConfigValue("008");
        }
Пример #26
0
        public FrmCharge(ZY_PatList zypat, string titile)
        {
            InitializeComponent();
            this.cbType.SelectedIndex = 0;
            this.tbfee.Focus();
            base.HIS_DoubleClick += new lvPatList_DoubleClickEvent(FrmCharge_HIS_DoubleClick);

            this.Text       = titile;
            base.zy_PatList = zypat;

            //实例化预交金对象
            zy_ChargeList           = new ZY_ChargeList();
            zy_ChargeList.PatListID = base.zy_PatList.PatListID;
        }
Пример #27
0
 static public DataTable LoadZYPatFee(ZY_PatList zyPat)
 {
     try
     {
         string   strWhere = "a.cureno" + oleDb.EuqalTo() + "'" + zyPat.CureNo + "'";
         YZCX_Dal dal      = new YZCX_Dal();
         dal._oleDb = oleDb;
         return(dal.GetZYOrderFee(strWhere));
     }
     catch (Exception error)
     {
         throw error;
     }
 }
        /// <summary>
        /// 双击病人列表
        /// </summary>
        public void GetPatlist()
        {
            zy_Patlist = view.zy_patlist_get;
            if (zy_Patlist != null)
            {
                zyPresOrder.PatID     = zy_Patlist.PatID;
                zyPresOrder.PatListID = zy_Patlist.PatListID;

                view.BindPatControlData = zy_Patlist;
                icM.PatListID           = zy_Patlist.PatListID;
                PatFee patFee = icM.GetPatFee();
                view.BindPatFeeControlData = patFee;
                view.PresDocCode           = zy_Patlist.OriginDocCode;
            }
        }
Пример #29
0
 //2009-4-8 zy update 输入住院号回车获取病人信息
 private void tbInpatNo_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyData == Keys.Enter)
     {
         ZY_PatList zyPatlist = zy_PatList.GetPatInfo(tbInpatNo.Text.Trim());
         if (zyPatlist != null)
         {
             FrmCostList_HIS_DoubleClick(null, null);
             base.zy_PatList = zyPatlist;
         }
         else
         {
             MessageBox.Show("没有此住院号的病人!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
     }
 }
Пример #30
0
        private void LoadTLMessage()
        {
            List <ZY_PatList> patList = IN_InterFace.QueryAllZYPat((int)_currentDeptId, _searchDeptId);
            ZY_PatList        nullPat = new ZY_PatList();

            nullPat.PatListID         = 0;
            _recipeOrder              = IN_InterFace.QueryRecipeOrder(nullPat, (int)_currentDeptId);
            dgrdRecipeInfo.DataSource = _recipeOrder;
            _allDispPats.Clear();
            foreach (ZY_PatList pat in patList)
            {
                DataTable singleOrder = IN_InterFace.QueryRecipeOrder(pat, (int)_currentDeptId);
                _allDispPats.Add(pat.CureNo, singleOrder);
            }
            LstPatBind(patList);
        }