예제 #1
0
        /// <summary>
        /// 根据发票号获取处方头信息
        /// </summary>
        /// <param name="InvoiceNo">发票号</param>
        /// <param name="isSend">是否发药</param>
        /// <param name="beginDate">开始时间</param>
        /// <param name="endDate">结束日期</param>
        /// <param name="deptId">科室部门ID</param>
        /// <returns>对象列表</returns>
        public static List <HIS.Model.MZ_PresMasterInfo> GetPresMasterList(string InvoiceNo, bool isSend, int deptId, string beginDate, string endDate)
        {
            string presId = "";

            if (InvoiceNo.Trim( ) != "")
            {
                Model.MZ_CostMaster costmaster = BindEntity <Model.MZ_CostMaster> .CreateInstanceDAL(oleDb).GetModel("ticketnum='" + InvoiceNo.Trim( ) + "' and record_flag=0 ");

                if (costmaster == null)
                {
                    throw new Exception("该发票号不存在");
                }
                presId = costmaster.PresMasterID.ToString( );
            }

            string dateString = "";

            if (beginDate.Trim( ) != "")
            {
                dateString = " and PRESDATE>='" + Convert.ToDateTime(beginDate).ToString("yyyy-MM-dd HH:mm:ss") + "' ";
            }
            if (endDate.Trim( ) != "")
            {
                dateString += " and PRESDATE<='" + Convert.ToDateTime(endDate).ToString("yyyy-MM-dd HH:mm:ss") + "' ";
            }


            HIS.DAL.MZ_DAL mz_dal = new HIS.DAL.MZ_DAL( );
            mz_dal._OleDB = oleDb;

            DataTable tb = mz_dal.GetPresMasterList(InvoiceNo, isSend, deptId, presId, dateString);

            if (tb.Rows.Count == 0)
            {
                throw new Exception("输入的发票号没有知道对应的处方头信息");
            }

            List <HIS.Model.MZ_PresMasterInfo> presList = new List <HIS.Model.MZ_PresMasterInfo>( );

            foreach (DataRow dr in tb.Rows)
            {
                HIS.Model.MZ_PresMasterInfo pres = new HIS.Model.MZ_PresMasterInfo( );
                pres.Address      = dr["Address"].ToString( ).Trim( );
                pres.Age          = Convert.IsDBNull(dr["Age"]) ? 0 : Convert.ToInt32(dr["Age"]);
                pres.InvoiceNo    = dr["ticketnum"].ToString( ).Trim( );
                pres.PatientName  = dr["patname"].ToString( ).Trim( );
                pres.PresMasterId = dr["presmasterid"].ToString( ).Trim( );
                pres.Sex          = dr["patsex"].ToString( ).Trim( );
                pres.PatlistId    = Convert.ToInt32(dr["patlistid"]);
                presList.Add(pres);
            }
            return(presList);
        }
예제 #2
0
        /// <summary>
        /// 挂号正式结算
        /// </summary>
        /// <param name="Patient"></param>
        /// <param name="budgetInfo"></param>
        /// <returns></returns>
        public override bool Register(RegPatient Patient, ChargeInfo budgetInfo)
        {
            try
            {
                //更新病人门诊号
                BindEntity <Model.MZ_PatList> .CreateInstanceDAL(oleDb).Update(Tables.mz_patlist.PATLISTID + "=" + Patient.PatListID,
                                                                               Tables.mz_patlist.VISITNO + "='" + Patient.VisitNo + "'");

                OPDBillKind invoiceType = OPDBillKind.门诊挂号发票;
                if (Convert.ToInt32(OPDParamter.Parameters["012"]) == 1)
                {
                    invoiceType = OPDBillKind.门诊收费发票;
                }

                string perfChar  = "";
                string invoiceNo = InvoiceManager.GetBillNumber(invoiceType, OperatorId, false, out perfChar);

                Model.MZ_PresMaster mz_presmaster = BindEntity <Model.MZ_PresMaster> .CreateInstanceDAL(oleDb).GetModel(budgetInfo.PrescriptionID);

                mz_presmaster.Record_Flag = 0;        //改为正常状态
                mz_presmaster.Charge_Flag = 1;        //置为收费状态
                mz_presmaster.TicketNum   = invoiceNo;
                mz_presmaster.TicketCode  = perfChar; //前缀
                mz_presmaster.ChargeCode  = OperatorId.ToString( );
                BindEntity <Model.MZ_PresMaster> .CreateInstanceDAL(oleDb).Update(mz_presmaster);

                Model.MZ_CostMaster mz_costmaster = BindEntity <Model.MZ_CostMaster> .CreateInstanceDAL(oleDb).GetModel(budgetInfo.ChargeID);

                mz_costmaster.Record_Flag = 0;
                mz_costmaster.ChargeCode  = OperatorId.ToString( );
                mz_costmaster.ChargeName  = OperatorName;
                mz_costmaster.TicketNum   = invoiceNo;
                mz_costmaster.TicketCode  = perfChar;//发票前缀
                mz_costmaster.Favor_Fee   = budgetInfo.FavorFee;
                mz_costmaster.Money_Fee   = budgetInfo.CashFee;
                mz_costmaster.Pos_Fee     = budgetInfo.PosFee;
                mz_costmaster.Self_Fee    = budgetInfo.SelfFee;
                mz_costmaster.Village_Fee = budgetInfo.VillageFee;
                BindEntity <Model.MZ_CostMaster> .CreateInstanceDAL(oleDb).Update(mz_costmaster);

                return(true);
            }
            catch (OperatorException operr)
            {
                throw operr;
            }
            catch (Exception err)
            {
                throw err;
            }
        }
예제 #3
0
        /// <summary>
        /// 发票号
        /// </summary>
        /// <param name="InvoiceNo">发票号</param>
        public Invoice(string PerfChar, string InvoiceNo, OPDBillKind kind)
        {
            HIS.Model.MZ_CostMaster m_mz_costmaster = new HIS.Model.MZ_CostMaster( );
            HIS.DAL.MZ_DAL          mz_dal          = new HIS.DAL.MZ_DAL( );
            mz_dal._OleDB = oleDb;
            try
            {
                string condiction = "TicketNum='" + InvoiceNo + "' and record_flag in (0,1)";
                //if ( PerfChar.Trim( ) != "" )
                condiction += " and TicketCode ='" + PerfChar + "'";

                if (kind == OPDBillKind.门诊挂号发票)
                {
                    condiction += " and hang_flag=" + (int)OPDOperationType.门诊挂号;
                }
                if (kind == OPDBillKind.门诊收费发票)
                {
                    condiction += " and hang_flag=" + (int)OPDOperationType.门诊收费;
                }

                m_mz_costmaster = BindEntity <Model.MZ_CostMaster> .CreateInstanceDAL(oleDb).GetModel(condiction);

                _perfchar  = PerfChar;
                _billKind  = kind;
                _chargeId  = m_mz_costmaster.CostMasterID;
                _invoiceNo = InvoiceNo;
                _perfChar  = m_mz_costmaster.TicketCode;
                Model.MZ_CostMaster mz_costmaster = BindEntity <Model.MZ_CostMaster> .CreateInstanceDAL(oleDb).GetModel(m_mz_costmaster.CostMasterID);

                Model.MZ_PatList mz_patlist = BindEntity <Model.MZ_PatList> .CreateInstanceDAL(oleDb).GetModel(mz_costmaster.PatListID);

                _patientName  = mz_patlist == null ? "" : mz_patlist.PatName;
                _totalPay     = m_mz_costmaster.Total_Fee;
                _posPay       = m_mz_costmaster.Pos_Fee;
                _favorPay     = m_mz_costmaster.Favor_Fee;
                _villagePay   = m_mz_costmaster.Village_Fee;
                _selfTally    = m_mz_costmaster.Self_Tally;
                _chargeUser   = m_mz_costmaster.ChargeName;
                _chargeUserId = m_mz_costmaster.ChargeCode;
                _chargeDate   = m_mz_costmaster.CostDate;
                _record_flag  = m_mz_costmaster.Record_Flag;
                _cashPay      = _totalPay - _posPay - _villagePay - _favorPay - _selfTally;//m_mz_costmaster.Money_Fee;
                //发票内容
                System.Data.DataTable tb = mz_dal.GetInvoiceDetail(mz_costmaster.CostMasterID);
                //Hashtable htInvoiceItems = new Hashtable();
                //for (int i = 0; i < tb.Rows.Count; i++)
                //{
                //    InvoiceItem item = new InvoiceItem();
                //    item.ItemName = tb.Rows[i]["Item_Name"].ToString().Trim();
                //    item.Cost = Convert.ToDecimal(tb.Rows[i]["Total_fee"]);
                //    item.Item_Name = tb.Rows[i]["ItemName"].ToString().Trim();
                //    item.Tolal_Fee = Convert.ToDecimal(tb.Rows[i]["Fee"]);

                //    if (htInvoiceItems.ContainsKey(item.ItemName))
                //    {
                //        InvoiceItem item1 = (InvoiceItem)htInvoiceItems[item.ItemName];
                //        if (tb.Rows[i]["itemtype"].ToString() == "01" || tb.Rows[i]["itemtype"].ToString() == "02" || tb.Rows[i]["itemtype"].ToString() == "03")
                //        {
                //            item1.Cost = item1.Cost + item.Cost;
                //            htInvoiceItems.Remove(item.ItemName);
                //        }
                //        htInvoiceItems.Add(item1.ItemName, item1);
                //    }
                //    else
                //    {
                //        htInvoiceItems.Add(item.ItemName, item);
                //    }
                //}

                _items = new InvoiceItem[tb.Rows.Count];
                // int invoiceCount = 0;
                for (int i = 0; i < tb.Rows.Count; i++)
                {
                    _items[i].ItemName = tb.Rows[i]["Item_Name"].ToString().Trim();
                    _items[i].Cost     = Convert.ToDecimal(tb.Rows[i]["Total_fee"]);

                    _items[i].Item_Name = tb.Rows[i]["ItemName"].ToString().Trim();
                    if (_items[i].Item_Name.Trim() == "")
                    {
                        _items[i].Tolal_Fee = "";
                    }
                    else
                    {
                        _items[i].Tolal_Fee = tb.Rows[i]["Fee"].ToString();
                    }
                }
                //foreach (object obj in htInvoiceItems)
                //{
                //    _items[invoiceCount].ItemName = ((InvoiceItem)((DictionaryEntry)obj).Value).ItemName;
                //    _items[invoiceCount].Cost = ((InvoiceItem)((DictionaryEntry)obj).Value).Cost;
                //    _items[invoiceCount].ItemName = ((InvoiceItem)((DictionaryEntry)obj).Value).Item_Name;
                //    _items[invoiceCount].Tolal_Fee = ((InvoiceItem)((DictionaryEntry)obj).Value).Tolal_Fee;

                //    invoiceCount++;
                //}
                //处方信息
                #region ...
                //定义统计大类容器
                Hashtable htStatItems = new Hashtable( );
                List <HIS.Model.MZ_PresMaster> lst_mz_presmaster = new List <HIS.Model.MZ_PresMaster>( );
                lst_mz_presmaster = BindEntity <Model.MZ_PresMaster> .CreateInstanceDAL(oleDb).GetListArray(Tables.mz_presmaster.COSTMASTERID + oleDb.EuqalTo() + _chargeId);

                _prescription = new Prescription[lst_mz_presmaster.Count];
                int index = 0;
                foreach (Model.MZ_PresMaster model_mz_presmaster in lst_mz_presmaster)
                {
                    _prescription[index]                = new Prescription( );
                    _prescription[index].Charge_Flag    = model_mz_presmaster.Charge_Flag;
                    _prescription[index].ChargeCode     = model_mz_presmaster.ChargeCode;
                    _prescription[index].ChargeID       = model_mz_presmaster.CostMasterID;
                    _prescription[index].Drug_Flag      = model_mz_presmaster.Drug_Flag;
                    _prescription[index].ExecDeptCode   = model_mz_presmaster.ExecDeptCode;
                    _prescription[index].ExecDocCode    = model_mz_presmaster.ExecDocCode;
                    _prescription[index].OldPresID      = model_mz_presmaster.OldID;
                    _prescription[index].PresCostCode   = model_mz_presmaster.PresCostCode;
                    _prescription[index].PrescriptionID = model_mz_presmaster.PresMasterID;
                    _prescription[index].PrescType      = model_mz_presmaster.PresType;
                    _prescription[index].PresDeptCode   = model_mz_presmaster.PresDocCode;
                    _prescription[index].PresDocCode    = model_mz_presmaster.PresDocCode;
                    _prescription[index].Record_Flag    = model_mz_presmaster.Record_Flag;
                    _prescription[index].TicketCode     = model_mz_presmaster.TicketCode;
                    _prescription[index].TicketNum      = model_mz_presmaster.TicketNum;
                    _prescription[index].Total_Fee      = model_mz_presmaster.Total_Fee;
                    _prescription[index].Drug_Flag      = model_mz_presmaster.Drug_Flag;
                    _prescription[index].DocPresId      = model_mz_presmaster.DocPresId;
                    List <HIS.Model.MZ_PresOrder> orders = BindEntity <Model.MZ_PresOrder> .CreateInstanceDAL(oleDb).GetListArray("PresmasterID=" + _prescription[index].PrescriptionID);

                    PrescriptionDetail[] details = new PrescriptionDetail[orders.Count];
                    for (int j = 0; j < orders.Count; j++)
                    {
                        #region 明细
                        details[j]             = new PrescriptionDetail();
                        details[j].Amount      = orders[j].Amount;
                        details[j].BigitemCode = orders[j].BigItemCode;
                        details[j].Buy_price   = orders[j].Buy_Price;
                        details[j].ComplexId   = orders[j].CaseID;
                        details[j].DetailId    = orders[j].PresOrderID;
                        details[j].ItemId      = orders[j].ItemID;
                        details[j].Itemname    = orders[j].ItemName;
                        details[j].ItemType    = orders[j].ItemType;
                        details[j].Order_Flag  = orders[j].Order_Flag;
                        details[j].PassId      = orders[j].PassID;
                        details[j].PresAmount  = orders[j].PresAmount;
                        details[j].PresctionId = orders[j].PresMasterID;
                        details[j].RelationNum = orders[j].RelationNum;
                        details[j].Sell_price  = orders[j].Sell_Price;
                        details[j].Standard    = orders[j].Standard;
                        details[j].Tolal_Fee   = orders[j].Tolal_Fee;
                        details[j].Unit        = orders[j].Unit;
                        details[j].Comp_Money  = orders[j].Comp_Money;
                        #endregion

                        #region 生成大项目列表
                        if (htStatItems.ContainsKey(orders[j].BigItemCode.Trim()))
                        {
                            InvoiceItem item = (InvoiceItem)htStatItems[orders[j].BigItemCode.Trim( )];
                            item.Cost += orders[j].Tolal_Fee;
                            htStatItems.Remove(orders[j].BigItemCode.Trim( ));
                            htStatItems.Add(item.ItemCode, item);
                        }
                        else
                        {
                            InvoiceItem item = new InvoiceItem( );
                            item.ItemCode = orders[j].BigItemCode.Trim();
                            //item.ItemName = GetStatItemNameByStatCode( item.ItemCode );
                            item.ItemName = BaseDataController.GetName(BaseDataCatalog.基本分类科目, item.ItemCode);
                            item.Cost     = orders[j].Tolal_Fee;
                            htStatItems.Add(item.ItemCode, item);
                        }
                        #endregion
                    }
                    _prescription[index].PresDetails = details;
                    index++;
                }
                #endregion
                _statitems = new InvoiceItem[htStatItems.Count];
                index      = 0;
                foreach (object obj in htStatItems.Values)
                {
                    _statitems[index] = (InvoiceItem)obj;
                    index++;
                }
                paytype = "";
                if (_cashPay > 0)
                {
                    paytype += " 现金 ";
                }
                if (_posPay > 0)
                {
                    paytype += " POS ";
                }
                if (_villagePay > 0)
                {
                    paytype += " 农合医保记账 ";
                }
                if (_selfTally > 0)
                {
                    paytype += " 单位记账 ";
                }
            }
            catch (Exception err)
            {
                ErrorWriter.WriteLog(err.Message);
                throw new Exception("读取发票信息错误!");
            }
        }
예제 #4
0
        /// <summary>
        /// 挂号的预处理
        /// </summary>
        /// <param name="Patient"></param>
        /// <returns></returns>
        public override ChargeInfo Budget(RegPatient Patient)
        {
            //保存就诊记录
            Model.MZ_PatList mz_patlist = SavePatList(Patient);
            Patient.PatListID = mz_patlist.PatListID;

            //查找所需费用项目
            List <Model.MZ_REG_ITEM_FEE> listRegFee = BindEntity <Model.MZ_REG_ITEM_FEE> .CreateInstanceDAL(oleDb).GetListArray(BLL.Tables.mz_reg_item_fee.TYPE_CODE + "='" + Patient.RegTypeCode.Trim() + "'");

            //写入处方表
            Model.MZ_PresMaster mz_presmaster = SavePresMaster(Patient);

            Hashtable htCostOrder = new Hashtable();

            Model.MZ_CostOrder mz_costorder = null;
            foreach (Model.MZ_REG_ITEM_FEE mz_reg_item_fee in listRegFee)
            {
                Model.BASE_SERVICE_ITEMS base_service_item = BindEntity <Model.BASE_SERVICE_ITEMS> .CreateInstanceDAL(oleDb).GetModel(mz_reg_item_fee.ITEM_ID);

                if (base_service_item == null)
                {
                    throw new OperatorException("找不到项目编号为" + mz_reg_item_fee.ITEM_ID.ToString() + "的项目");
                }
                //保存明细
                Model.MZ_PresOrder mz_presorder = SavePresOrder(Patient, mz_presmaster, base_service_item);

                mz_presmaster.Total_Fee += mz_presorder.Tolal_Fee;
                if (htCostOrder.Contains(base_service_item.STATITEM_CODE))
                {
                    ((Model.MZ_CostOrder)htCostOrder[base_service_item.STATITEM_CODE]).Total_Fee += mz_presorder.Tolal_Fee;
                }
                else
                {
                    mz_costorder           = new HIS.Model.MZ_CostOrder();
                    mz_costorder.ItemType  = base_service_item.STATITEM_CODE;
                    mz_costorder.Total_Fee = mz_presorder.Tolal_Fee;
                    htCostOrder.Add(base_service_item.STATITEM_CODE, mz_costorder);
                }
            }
            //写结算记录
            Model.MZ_CostMaster mz_costmaster = SaveCostMaster(Patient, mz_presmaster);

            InvoiceItem[] invoiceItems = new InvoiceItem[htCostOrder.Count];
            int           count        = 0;

            foreach (object item in htCostOrder)
            {
                mz_costorder        = (Model.MZ_CostOrder)((DictionaryEntry)item).Value;
                mz_costorder.CostID = mz_costmaster.CostMasterID;
                BindEntity <Model.MZ_CostOrder> .CreateInstanceDAL(oleDb).Add(mz_costorder);

                Model.BASE_STAT_ITEM base_stat_item = BindEntity <Model.BASE_STAT_ITEM> .CreateInstanceDAL(oleDb).GetModel(BLL.Tables.base_stat_item.CODE + "='" + mz_costorder.ItemType.Trim() + "'");

                Model.BASE_STAT_MZFP base_stat_mzfp = BindEntity <Model.BASE_STAT_MZFP> .CreateInstanceDAL(oleDb).GetModel(BLL.Tables.base_stat_mzfp.CODE + "='" + base_stat_item.MZFP_CODE.Trim() + "'");

                invoiceItems[count].ItemName = base_stat_mzfp.ITEM_NAME;
                invoiceItems[count].ItemCode = base_stat_mzfp.CODE;
                invoiceItems[count].Cost     = mz_costorder.Total_Fee;
                count++;
            }
            //回写处方的总金额和结算号
            BindEntity <Model.MZ_PresMaster> .CreateInstanceDAL(oleDb).Update(BLL.Tables.mz_presmaster.PRESMASTERID + "=" + mz_presmaster.PresMasterID,
                                                                              BLL.Tables.mz_presmaster.TOTAL_FEE + "=" + mz_presmaster.Total_Fee,
                                                                              BLL.Tables.mz_presmaster.COSTMASTERID + "=" + mz_costmaster.CostMasterID);

            ChargeInfo regInfo = new ChargeInfo();

            regInfo.ChargeID       = mz_costmaster.CostMasterID;
            regInfo.ChargeDate     = mz_costmaster.CostDate;
            regInfo.TotalFee       = mz_costmaster.Total_Fee;
            regInfo.PrescriptionID = mz_presmaster.PresMasterID;
            regInfo.Items          = invoiceItems;

            return(regInfo);
        }
예제 #5
0
        /// <summary>
        /// 取消挂号
        /// </summary>
        /// <param name="RegInvoiceNo">挂号发票号</param>
        /// <returns></returns>
        public override bool CancelRegister(string RegInvoiceNo, string PerfChar)
        {
            try
            {
                //取得原记录
                string strWhere1_1 = Tables.mz_costmaster.TICKETCODE + oleDb.EuqalTo( ) + "'" + PerfChar + "'" + oleDb.And() + Tables.mz_costmaster.TICKETNUM + oleDb.EuqalTo( ) + "'" + RegInvoiceNo + "' " + oleDb.And( ) + Tables.mz_costmaster.RECORD_FLAG + oleDb.EuqalTo( ) + "0";
                Model.MZ_CostMaster mz_costmaster = BindEntity <Model.MZ_CostMaster> .CreateInstanceDAL(oleDb).GetModel(strWhere1_1);

                string strWhere1_2 = Tables.mz_costorder.COSTID + oleDb.EuqalTo( ) + mz_costmaster.CostMasterID;
                List <Model.MZ_CostOrder> list_mz_costorder = BindEntity <Model.MZ_CostOrder> .CreateInstanceDAL(oleDb).GetListArray(strWhere1_2);

                string strWhere2_1 = Tables.mz_presmaster.COSTMASTERID + oleDb.EuqalTo( ) + mz_costmaster.CostMasterID;
                Model.MZ_PresMaster mz_presmaster = BindEntity <Model.MZ_PresMaster> .CreateInstanceDAL(oleDb).GetModel(strWhere2_1);

                string strWhere2_2 = Tables.mz_presorder.PRESMASTERID + oleDb.EuqalTo( ) + mz_presmaster.PresMasterID;
                List <Model.MZ_PresOrder> list_mz_presorder = BindEntity <Model.MZ_PresOrder> .CreateInstanceDAL(oleDb).GetListArray(strWhere2_2);

                //挂号处方头退费
                BindEntity <Model.MZ_PresMaster> .CreateInstanceDAL(oleDb).Update(strWhere2_1, Tables.mz_presmaster.RECORD_FLAG + oleDb.EuqalTo( ) + "1");

                //加入冲正的处方头
                mz_presmaster.Record_Flag = 2;
                mz_presmaster.Total_Fee   = mz_presmaster.Total_Fee * -1;
                mz_presmaster.PresDate    = HIS.SYSTEM.PubicBaseClasses.XcDate.ServerDateTime;
                mz_presmaster.ChargeCode  = OperatorId.ToString( );
                mz_presmaster.OldID       = mz_presmaster.PresMasterID;
                BindEntity <Model.MZ_PresMaster> .CreateInstanceDAL(oleDb).Add(mz_presmaster);

                //加入明细
                foreach (Model.MZ_PresOrder mz_presorder in list_mz_presorder)
                {
                    mz_presorder.PresMasterID = mz_presmaster.PresMasterID;
                    mz_presorder.Tolal_Fee    = mz_presorder.Tolal_Fee * -1;
                    mz_presorder.Amount       = mz_presorder.Amount * -1;
                    BindEntity <Model.MZ_PresOrder> .CreateInstanceDAL(oleDb).Add(mz_presorder);
                }
                //原记录置为退费状态
                BindEntity <Model.MZ_CostMaster> .CreateInstanceDAL(oleDb).Update(strWhere1_1, Tables.mz_costmaster.RECORD_FLAG + oleDb.EuqalTo( ) + "1");

                //加入冲正记录
                mz_costmaster.Record_Flag = 2;
                mz_costmaster.Total_Fee   = mz_costmaster.Total_Fee * -1;
                mz_costmaster.Favor_Fee   = mz_costmaster.Favor_Fee * -1;
                mz_costmaster.Money_Fee   = mz_costmaster.Money_Fee * -1;
                mz_costmaster.Pos_Fee     = mz_costmaster.Pos_Fee * -1;
                mz_costmaster.Self_Fee    = mz_costmaster.Self_Fee * -1;
                mz_costmaster.Village_Fee = mz_costmaster.Village_Fee * -1;
                mz_costmaster.AccountID   = 0;

                mz_costmaster.PresMasterID = mz_presmaster.PresMasterID;
                mz_costmaster.OldID        = mz_costmaster.CostMasterID;
                mz_costmaster.ChargeCode   = OperatorId.ToString( );
                mz_costmaster.ChargeName   = OperatorName;
                BindEntity <Model.MZ_CostMaster> .CreateInstanceDAL(oleDb).Add(mz_costmaster);

                //明细
                foreach (Model.MZ_CostOrder mz_costorder in list_mz_costorder)
                {
                    mz_costorder.CostID    = mz_costmaster.CostMasterID;
                    mz_costorder.Total_Fee = mz_costorder.Total_Fee * -1;
                    BindEntity <Model.MZ_CostOrder> .CreateInstanceDAL(oleDb).Add(mz_costorder);
                }
                //回写处方的结算号
                BindEntity <Model.MZ_PresMaster> .CreateInstanceDAL(oleDb).Update(Tables.mz_presmaster.PRESMASTERID + oleDb.EuqalTo( ) + mz_presmaster.PresMasterID,
                                                                                  Tables.mz_presmaster.COSTMASTERID + oleDb.EuqalTo( ) + mz_costmaster.CostMasterID);

                return(true);
            }
            catch (OperatorException operr)
            {
                throw operr;
            }
            catch (Exception err)
            {
                throw err;
            }
        }