/// <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); } }
/// <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); } }
/// <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)); }
/// <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); }
/// <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)); }
/// <summary> /// 获取病人处方 /// </summary> /// <param name="status">状态</param> /// <param name="IsCharge">是否收费处检索</param> /// <returns>处方信息</returns> public Prescription[] GetPrescriptions(PresStatus status, bool IsCharge) { return(GetPrescriptions(status, IsCharge, "", "", "", 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); }
/// <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)); }
/// <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)); }
/// <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); }