Esempio n. 1
0
        /// <summary>
        /// 获得处方字体的颜色
        /// </summary>
        /// <param name="status">处方状态</param>
        /// <returns></returns>
        public static System.Drawing.Color GetPresForeColor(PresStatus status)
        {
            switch (status)
            {
            case PresStatus.编辑状态:
                return(System.Drawing.Color.Blue);

            case PresStatus.收费状态:
                return(System.Drawing.Color.Orange);

            case PresStatus.退费状态:
                return(System.Drawing.Color.Fuchsia);

            default:
                return(System.Drawing.Color.Black);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 获得处方字体的颜色
        /// </summary>
        /// <param name="status">处方状态</param>
        /// <returns></returns>
        public static System.Drawing.Color GetPresForeColor(PresStatus status)
        {
            switch (status)
            {
            case PresStatus.编辑状态:
                return(System.Drawing.Color.Blue);

            case PresStatus.收费状态:
                //return System.Drawing.Color.Orange;
                return(System.Drawing.ColorTranslator.FromHtml("#d96100"));

            case PresStatus.退费状态:
                return(System.Drawing.Color.Fuchsia);

            default:
                return(System.Drawing.Color.Black);
            }
        }
Esempio n. 3
0
 /// <summary>
 /// 获得处方背景的颜色
 /// </summary>
 /// <param name="itemId">处方项目ID</param>
 /// <param name="status">处方状态</param>
 /// <returns></returns>
 public static System.Drawing.Color GetPresBackColor(int itemId, PresStatus status)
 {
     return(itemId <= 0 ? System.Drawing.Color.Ivory
         : (status == PresStatus.编辑状态 ? System.Drawing.Color.Moccasin : System.Drawing.Color.White));
 }
Esempio n. 4
0
        /// <summary>
        /// 获取病人处方
        /// </summary>
        /// <param name="status"></param>
        /// <param name="IsCharge">是否收费处检索</param>
        /// <param name="beginDate">开始时间</param>
        /// <param name="endDate">结束时间</param>
        /// <param name="InvoiceNo">发票号</param>
        /// <param name="ExecDeptCode">执行科室ID</param>
        /// <returns>处方信息</returns>
        public Prescription[] GetPrescriptions(PresStatus status, bool IsCharge, string beginDate, string endDate, string InvoiceNo, int ExecDeptCode)
        {
            string condiction = "";

            switch (status)
            {
            case PresStatus.全部:
                condiction = " PatListID = " + this.PatListID + " AND Record_Flag in (0,1)";
                break;

            case PresStatus.未收费:
                condiction = " PatListID = " + this.PatListID + " AND Charge_Flag = 0 AND Record_Flag = 0 AND Drug_Flag = 0";
                break;

            case PresStatus.已收费未发药:
            case PresStatus.已收费已退药:
                condiction = " PatListID = " + this.PatListID + " AND Charge_Flag = 1 AND Record_Flag = 0 And Drug_Flag = 0";
                break;

            case PresStatus.已收费已发药:
                condiction = " PatListID = " + this.PatListID + " AND Charge_Flag = 1 AND Record_Flag = 0 And Drug_Flag = 1";
                break;
            }
            condiction += " and docpresid=0 ";
            if (!IsCharge)
            {
                condiction = condiction + " and PRESTYPE in ('0','1','2','3') ";
            }

            if (ExecDeptCode != 0)
            {
                condiction = condiction + " and ExecDeptCode = '" + ExecDeptCode.ToString() + "'";
            }

            if (InvoiceNo.Trim( ) == "")
            {
                if (beginDate.Trim( ) != "")
                {
                    condiction = condiction + " and PresDate>='" + beginDate + "'";
                }
                if (endDate.Trim( ) != "")
                {
                    condiction = condiction + " and PresDate<='" + endDate + "'";
                }
            }

            if (InvoiceNo.Trim( ) != "")
            {
                condiction = condiction + " and COSTMASTERID in (select COSTMASTERID from MZ_COSTMASTER where TICKETNUM='" + InvoiceNo + "' and RECORD_FLAG IN (0,1))";
            }

            condiction = condiction + " and hand_flag = " + (int)OPDOperationType.门诊收费 + " order by presmasterid";

            //得到实体列表
            List <HIS.Model.MZ_PresMaster> presMastList = BindEntity <Model.MZ_PresMaster> .CreateInstanceDAL(oleDb).GetListArray(condiction);

            //定义返回的处方
            Prescription[] prescriptions = new Prescription[presMastList.Count];
            for (int i = 0; i < presMastList.Count; i++)
            {
                #region 读取处方头
                prescriptions[i]                = new Prescription();
                prescriptions[i].Charge_Flag    = presMastList[i].Charge_Flag;
                prescriptions[i].ChargeCode     = presMastList[i].ChargeCode;
                prescriptions[i].ChargeID       = presMastList[i].CostMasterID;
                prescriptions[i].Drug_Flag      = presMastList[i].Drug_Flag;
                prescriptions[i].ExecDeptCode   = presMastList[i].ExecDeptCode;
                prescriptions[i].ExecDocCode    = presMastList[i].ExecDocCode;
                prescriptions[i].OldPresID      = presMastList[i].OldID;
                prescriptions[i].PresCostCode   = presMastList[i].PresCostCode;
                prescriptions[i].PrescriptionID = presMastList[i].PresMasterID;
                prescriptions[i].PrescType      = presMastList[i].PresType;
                prescriptions[i].PresDeptCode   = presMastList[i].PresDeptCode;
                prescriptions[i].PresDocCode    = presMastList[i].PresDocCode;
                prescriptions[i].Record_Flag    = presMastList[i].Record_Flag;
                prescriptions[i].TicketCode     = presMastList[i].TicketCode;
                prescriptions[i].TicketNum      = presMastList[i].TicketNum;
                prescriptions[i].Total_Fee      = presMastList[i].Total_Fee;
                prescriptions[i].VisitNo        = this.VisitNo;
                #endregion

                List <HIS.Model.MZ_PresOrder> presDetailList = BindEntity <Model.MZ_PresOrder> .CreateInstanceDAL(oleDb).GetListArray(" PresMasterID = " + presMastList[i].PresMasterID + " order by order_flag");

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

            bool readDocPres = false;
            if (Convert.ToInt32(HIS.MZ_BLL.OPDParamter.Parameters["017"]) == 1)
            {
                readDocPres = true;
            }

            if (readDocPres)
            {
                MZClinicInterface clinicInterface = new MZClinicInterface();
                if (status == PresStatus.未收费)
                {
                    List <Prescription> lstPrescription = new List <Prescription>();
                    for (int i = 0; i < prescriptions.Length; i++)
                    {
                        lstPrescription.Add(prescriptions[i]);
                    }
                    try
                    {
                        //Prescription[] docPrescs = HIS.MZDoc_BLL.OP_Prescription.GetPrescriptions(base.PatListID);
                        HIS.Interface.Structs.Prescription[] docPrescs = clinicInterface.GetPrescriptions(base.PatListID);
                        for (int i = 0; i < docPrescs.Length; i++)
                        {
                            docPrescs[i].Modified       = true;
                            docPrescs[i].DocPresId      = docPrescs[i].PrescriptionID;
                            docPrescs[i].PrescriptionID = 0;
                            for (int j = 0; j < docPrescs[i].PresDetails.Length; j++)
                            {
                                docPrescs[i].PresDetails[j].DocPrescDetailId = docPrescs[i].PresDetails[j].DetailId;
                                docPrescs[i].PresDetails[j].DetailId         = 0;
                            }
                            lstPrescription.Add(docPrescs[i]);
                        }
                    }
                    catch (Exception err)
                    {
                        ErrorWriter.WriteLog(err.Message);
                        throw new Exception("读取医生未收费处方发生错误!");
                    }

                    prescriptions = lstPrescription.ToArray();
                }
            }
            return(prescriptions);
        }
Esempio n. 5
0
 /// <summary>
 /// 获取病人处方
 /// </summary>
 /// <param name="status">状态</param>
 /// <param name="IsCharge">是否收费处检索</param>
 /// <param name="ExceDeptID">执行科室ID</param>
 /// <returns>处方信息</returns>
 public Prescription[] GetPrescriptions(PresStatus status, bool IsCharge, int ExceDeptID)
 {
     return(GetPrescriptions(status, IsCharge, "", "", "", ExceDeptID));
 }
Esempio n. 6
0
 /// <summary>
 /// 获取病人处方
 /// </summary>
 /// <param name="status">状态</param>
 /// <param name="IsCharge">是否收费处检索</param>
 /// <returns>处方信息</returns>
 public Prescription[] GetPrescriptions(PresStatus status, bool IsCharge)
 {
     return(GetPrescriptions(status, IsCharge, "", "", "", 0));
 }
Esempio n. 7
0
        /// <summary>
        /// 获取病人处方
        /// </summary>
        /// <param name="patient">处方所属的病人</param>
        /// <param name="status"></param>
        /// <param name="IsCharge">是否收费处检索</param>
        /// <param name="beginDate">开始时间</param>
        /// <param name="endDate">结束时间</param>
        /// <param name="InvoiceNo">发票号</param>
        /// <param name="ExecDeptCode">执行科室ID</param>
        /// <returns>处方信息</returns>
        public Prescription[] GetPrescriptions(BasePatient patient, PresStatus status, bool IsCharge, string beginDate, string endDate, string InvoiceNo, int ExecDeptCode)
        {
            string condiction = "";

            switch (status)
            {
            case PresStatus.全部:
                condiction = " PatListID = " + patient.PatListID + " AND Record_Flag in (0,1)";
                break;

            case PresStatus.未收费:
                condiction = " PatListID = " + patient.PatListID + " AND Charge_Flag = 0 AND Record_Flag = 0 AND Drug_Flag = 0";
                break;

            case PresStatus.已收费未发药:
            case PresStatus.已收费已退药:
                condiction = " PatListID = " + patient.PatListID + " AND Charge_Flag = 1 AND Record_Flag = 0 And Drug_Flag = 0";
                break;

            case PresStatus.已收费已发药:
                condiction = " PatListID = " + patient.PatListID + " AND Charge_Flag = 1 AND Record_Flag = 0 And Drug_Flag = 1";
                break;
            }
            if (!IsCharge)
            {
                condiction = condiction + " and PRESTYPE in ('0','1','2','3') ";
            }

            if (ExecDeptCode != 0)
            {
                condiction = condiction + " and ExecDeptCode = '" + ExecDeptCode.ToString( ) + "'";
            }

            if (InvoiceNo.Trim( ) == "")
            {
                if (beginDate.Trim( ) != "")
                {
                    condiction = condiction + " and PresDate>='" + beginDate + "'";
                }
                if (endDate.Trim( ) != "")
                {
                    condiction = condiction + " and PresDate<='" + endDate + "'";
                }
            }

            if (InvoiceNo.Trim( ) != "")
            {
                condiction = condiction + " and COSTMASTERID in (select COSTMASTERID from MZ_COSTMASTER where TICKETNUM='" + InvoiceNo + "' and RECORD_FLAG IN (0,1))";
            }

            condiction = condiction + " and hand_flag = " + (int)OPDOperationType.门诊收费 + " order by presmasterid";

            //得到实体列表
            List <HIS.Model.MZ_PresMaster> presMastList = BindEntity <Model.MZ_PresMaster> .CreateInstanceDAL(oleDb).GetListArray(condiction);

            //定义返回的处方
            Prescription[] prescriptions = new Prescription[presMastList.Count];
            for (int i = 0; i < presMastList.Count; i++)
            {
                #region 读取处方头
                prescriptions[i].Charge_Flag    = presMastList[i].Charge_Flag;
                prescriptions[i].ChargeCode     = presMastList[i].ChargeCode;
                prescriptions[i].ChargeID       = presMastList[i].CostMasterID;
                prescriptions[i].Drug_Flag      = presMastList[i].Drug_Flag;
                prescriptions[i].ExecDeptCode   = presMastList[i].ExecDeptCode;
                prescriptions[i].ExecDocCode    = presMastList[i].ExecDocCode;
                prescriptions[i].OldPresID      = presMastList[i].OldID;
                prescriptions[i].PresCostCode   = presMastList[i].PresCostCode;
                prescriptions[i].PrescriptionID = presMastList[i].PresMasterID;
                prescriptions[i].PrescType      = presMastList[i].PresType;
                prescriptions[i].PresDeptCode   = presMastList[i].PresDocCode;
                prescriptions[i].PresDocCode    = presMastList[i].PresDocCode;
                prescriptions[i].Record_Flag    = presMastList[i].Record_Flag;
                prescriptions[i].TicketCode     = presMastList[i].TicketCode;
                prescriptions[i].TicketNum      = presMastList[i].TicketNum;
                prescriptions[i].Total_Fee      = presMastList[i].Total_Fee;
                prescriptions[i].VisitNo        = patient.VisitNo;
                #endregion
                //HIS.DAL.MZ_PresOrder mz_presorder = new HIS.DAL.MZ_PresOrder( );
                //mz_presorder._oleDB = oleDb;
                List <HIS.Model.MZ_PresOrder> presDetailList = BindEntity <Model.MZ_PresOrder> .CreateInstanceDAL(oleDb).GetListArray(" PresMasterID = " + presMastList[i].PresMasterID + " order by order_flag");

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

            return(prescriptions);
        }
Esempio n. 8
0
 /// <summary>
 /// 获取病人处方
 /// </summary>
 /// <param name="patient">处方所属的病人</param>
 /// <param name="status">状态</param>
 /// <param name="IsCharge">是否收费处检索</param>
 /// <param name="ExceDeptID">执行科室ID</param>
 /// <returns>处方信息</returns>
 public Prescription[] GetPrescriptions(BasePatient patient, PresStatus status, bool IsCharge, int ExceDeptID)
 {
     return(GetPrescriptions(patient, status, IsCharge, "", "", "", ExceDeptID));
 }
Esempio n. 9
0
 /// <summary>
 /// 获取病人处方
 /// </summary>
 /// <param name="patient">处方所属的病人</param>
 /// <param name="status">状态</param>
 /// <param name="IsCharge">是否收费处检索</param>
 /// <returns>处方信息</returns>
 public Prescription[] GetPrescriptions(BasePatient patient, PresStatus status, bool IsCharge)
 {
     return(GetPrescriptions(patient, status, IsCharge, "", "", "", 0));
 }
Esempio n. 10
0
        /// <summary>
        /// 添加小计行
        /// </summary>
        /// <param name="listPres"></param>
        public static Prescription AddPresSubtotal(int PresNo, int OrderNo, string money, PresStatus status)
        {
            //添加小计
            Prescription prescription0 = new Prescription();

            //prescription0.PresHeadId = presHead[m].PresHeadId;
            //prescription0.Dept_Id = presHead[index].Pres_ExeDept;
            prescription0.Item_Name = "小计:";
            prescription0.PresNo    = PresNo;
            prescription0.OrderNo   = OrderNo;
            //2009-12-22 统一医生站和收费系统的处方费用合计

            prescription0.Item_Money = money;
            prescription0.Status     = status;

            return(prescription0);
        }