//绑定ZYPatList对象==修改病人信息 和 入院病人信息 都是同一绑定
        //CurrDeptCode属性的写入有所不同
        private void BindZYPatList()
        {
            //Entity
            //int Length = Encoding.Default.GetBytes(this.tbpatName.Text.Trim()).Length;
            _zyPatlist.patientInfo.PatName = GWIString.FilterSpecial(this.tbpatName.Text);
            _zyPatlist.patientInfo.PatSex  = this.cbSex.Text;
            _zyPatlist.patientInfo.PYM     = PublicStaticFun.GetPyWbCode(this.tbpatName.Text)[0].ToString();
            _zyPatlist.patientInfo.WBM     = PublicStaticFun.GetPyWbCode(this.tbpatName.Text)[1].ToString();
            //_patientinfo.CureNo = this.tbInpatNo.Text;
            //_patientinfo.CureNum = 1;
            _zyPatlist.patientInfo.PatNumber   = GWIString.FilterSpecial(this.tBpatNumber.Text);
            _zyPatlist.patientInfo.PatBriDate  = this.dtpBridate.Value;
            _zyPatlist.patientInfo.PatGroup    = GWIString.FilterSpecial(this.tbGroup.Text);
            _zyPatlist.patientInfo.PatTEL      = GWIString.FilterSpecial(this.tbTell.Text);
            _zyPatlist.patientInfo.PatAddress  = GWIString.FilterSpecial(this.tbAddress.Text);
            _zyPatlist.patientInfo.PatCaseNo   = GWIString.FilterSpecial(this.tbCaseNo.Text);
            _zyPatlist.patientInfo.MediCard    = GWIString.FilterSpecial(this.tbWorkNo.Text);
            _zyPatlist.patientInfo.PATJOB      = GWIString.FilterSpecial(this.tbJob.Text);
            _zyPatlist.patientInfo.ACCOUNTTYPE = this.cbAccountType.Text.ToString();//update zh 090616
            _zyPatlist.patientInfo.LinkMan     = this.tblinkman.Text;
            _zyPatlist.patientInfo.LinkTel     = this.tblinktel.Text;
            _zyPatlist.patientInfo.LinkAddress = this.tblinkaddress.Text;

            _zyPatlist.PatientCode = this.cbAccountType.SelectedValue.ToString();//add zh 090616
            //zy_patlist.CureNo = this.tbInpatNo.Text;
            _zyPatlist.CureDate = this.dtpregdate.Value;

            _zyPatlist.DiseaseCode = this.tbdiag.MemberValue == null ? "" : this.tbdiag.MemberValue.ToString();//?
            _zyPatlist.DiseaseName = Convert.ToString(GWIString.FilterSpecial(this.tbdiag.Text) + "|" + this.tb_diag_bk.Text.Trim()).Length > 20 ? Convert.ToString(GWIString.FilterSpecial(this.tbdiag.Text) + "|" + this.tb_diag_bk.Text.Trim()).Substring(0, 20) : Convert.ToString(GWIString.FilterSpecial(this.tbdiag.Text) + "|" + this.tb_diag_bk.Text.Trim());

            _zyPatlist.CureDeptCode = this.tbregDeptCode.MemberValue == null ? "" : this.tbregDeptCode.MemberValue.ToString();//?
            //_zyPatlist.CurrDeptCode = this.tbregDeptCode.MemberValue == null ? "" : this.tbregDeptCode.MemberValue.ToString();// add zenghao 20100714
            //zy_patlist.CurrDeptCode = "";
            _zyPatlist.BedCode   = GWIString.FilterSpecial(this.tbBedNo.Text); //?
            _zyPatlist.CureState = this.cbCureState.Text;                      //?
            //经管

            //推荐人=门诊医生
            _zyPatlist.OriginDocCode  = this.tbCureDocCode.MemberValue == null ? "" : this.tbCureDocCode.MemberValue.ToString(); //?;
            _zyPatlist.OriginDeptCode = this.tbCureDocCode.Tag == null ? "" : this.tbCureDocCode.Tag.ToString();                 //推荐科室 住院证得到
            _zyPatlist.CurrDeptCode   = this.tbOriginDept.MemberValue == null ? "" : this.tbOriginDept.MemberValue.ToString();   //主管科室
            _zyPatlist.CureDocCode    = this.tbOriginDoc.MemberValue == null ? "" : this.tbOriginDoc.MemberValue.ToString();     //?;
            _zyPatlist.MarkDate       = XcDate.ServerDateTime;
            _zyPatlist.MarkEmpCode    = _currentUser.EmployeeID.ToString();                                                      //?

            _zyPatlist.DbName = this.txtDbName.Text;
            _zyPatlist.DbFee  = Convert.ToDecimal(this.txtDbFee.Text);

            //病人类型修改后的状态
            //if (zy_patlist.PatientInfo.ACCOUNTTYPE == "农合")
            //{
            //    zy_patlist.Nccm_NO = FrmNccm_NO;
            //}
            //else
            //{
            //    zy_patlist.Nccm_NO = "";
            //}
        }
        /// <summary>
        /// 保存调价单
        /// </summary>
        /// <param name="billMaster">调价单表头</param>
        /// <param name="listOrder">调价单明细列表</param>
        /// <param name="deptId">药剂科室ID</param>
        public override void SaveBill(BillMaster billMaster, List <BillOrder> listOrder, long deptId)
        {
            try
            {
                int          count     = 0;
                YP_AdjMaster masterAdj = (YP_AdjMaster)billMaster;
                oleDb.BeginTransaction();
                //声明操作对象
                YP_AdjOrder    adjOrder = new YP_AdjOrder();
                HIS.DAL.YP_Dal ypDal    = new YP_Dal();
                ypDal._oleDb = oleDb;
                List <YP_DeptDic> deptList = new List <YP_DeptDic>();
                //获取调价药剂科室
                deptList = BindEntity <HIS.Model.YP_DeptDic> .CreateInstanceDAL(oleDb).GetListArray("");

                foreach (YP_DeptDic dept in deptList)
                {
                    count = 0;
                    if (dept.DeptType1 == "药房")
                    {
                        if (dept.Use_Flag == 1)
                        {
                            masterAdj.OpType = ConfigManager.OP_YF_ADJPRICE;
                        }
                    }
                    else
                    {
                        if (dept.Use_Flag == 1)
                        {
                            masterAdj.OpType = ConfigManager.OP_YK_ADJPRICE;
                        }
                    }
                    masterAdj.Over_Flag = 0;
                    masterAdj.AdjCode   = GWIString.FilterSpecial(masterAdj.AdjCode);
                    masterAdj.Remark    = GWIString.FilterSpecial(masterAdj.Remark);
                    masterAdj.DeptID    = dept.DeptID;
                    BindEntity <HIS.Model.YP_AdjMaster> .CreateInstanceDAL(oleDb).Add(masterAdj);

                    foreach (BillOrder order in listOrder)
                    {
                        adjOrder = (YP_AdjOrder)order;
                        adjOrder.MasterIAdjPriceD = masterAdj.MasterAdjPriceID;
                        adjOrder.DeptID           = masterAdj.DeptID;
                        string belongSystem = (dept.DeptType1 == "药房" ? ConfigManager.YF_SYSTEM : ConfigManager.YK_SYSTEM);
                        if (StoreFactory.GetQuery(belongSystem).QueryNum(adjOrder.MakerDicID, adjOrder.DeptID) < 0)
                        {
                            continue;
                        }
                        count++;
                        BindEntity <HIS.Model.YP_AdjOrder> .CreateInstanceDAL(oleDb).Add(adjOrder);
                    }
                    if (count > 0)
                    {
                        masterAdj.BillNum = (ypDal.YP_Bill_GetBillNum(masterAdj.OpType, dept.DeptID)).BillNum;
                        if (masterAdj.BillNum == 0)
                        {
                            throw new Exception("药剂科室设置错误,请确认当前科室是药剂科室");
                        }
                        BindEntity <HIS.Model.YP_AdjMaster> .CreateInstanceDAL(oleDb).Update(masterAdj);

                        AuditBill(masterAdj, (long)(masterAdj.RegPeople), (long)(masterAdj.DeptID));
                    }
                    else
                    {
                        string strwhere = Tables.yp_adjmaster.DEPTID + oleDb.EuqalTo() + masterAdj.DeptID
                                          + oleDb.And() + Tables.yp_adjmaster.MASTERADJPRICEID + oleDb.EuqalTo() + masterAdj.MasterAdjPriceID;
                        BindEntity <HIS.Model.YP_AdjMaster> .CreateInstanceDAL(oleDb).Delete(strwhere);

                        strwhere = Tables.yp_adjorder.DEPTID + oleDb.EuqalTo() + masterAdj.DeptID
                                   + oleDb.And() + Tables.yp_adjorder.MASTERIADJPRICED + oleDb.EuqalTo() + masterAdj.MasterAdjPriceID;
                        BindEntity <YP_AdjOrder> .CreateInstanceDAL(oleDb).Delete(strwhere);
                    }
                }
                oleDb.CommitTransaction();
            }
            catch (Exception error)
            {
                oleDb.RollbackTransaction();
                throw error;
            }
        }