/// <summary> /// 保存处方信息 /// </summary> /// <param name="patListId">处方头id</param> /// <param name="list">处方数据</param> /// <param name="presType">处方类型</param> /// <returns>true成功</returns> public bool SavePrescriptionData(int patListId, List <Prescription> list, int presType) { //List<CardDataSourceFrequency> FrequencyList = GetFrequency(); List <OPD_PresMouldDetail> detailList = new List <OPD_PresMouldDetail>(); //构造处方明细表 foreach (Prescription pres in list) { OPD_PresMouldDetail detailModel = new OPD_PresMouldDetail(); detailModel.PresMouldDetailID = pres.PresListId; //? detailModel.PresMouldHeadID = patListId; //? //处方头ID detailModel.PresNO = pres.PresNo; detailModel.GroupID = pres.Group_Id; detailModel.GroupSortNO = pres.GroupSortNO;//? detailModel.ItemID = pres.Item_Id; detailModel.ItemName = pres.Item_Name; detailModel.StatID = ConvertDataExtend.ToInt32(pres.StatItem_Code, 0);//? detailModel.Spec = pres.Standard; detailModel.Dosage = pres.Usage_Amount; detailModel.DosageUnit = pres.Usage_Unit; detailModel.Factor = pres.Usage_Rate; detailModel.ChannelID = pres.Usage_Id; detailModel.FrequencyID = pres.Frequency_Id; detailModel.Entrust = pres.Entrust; detailModel.DoseNum = pres.Dosage; detailModel.ChargeAmount = pres.Amount; detailModel.ChargeUnit = pres.Unit; detailModel.Price = pres.Sell_Price; detailModel.Days = pres.Days; detailModel.PresAmount = pres.Item_Amount; detailModel.PresAmountUnit = pres.Item_Unit; detailModel.PresFactor = pres.Item_Rate; detailModel.ExecDeptID = pres.Dept_Id; detailList.Add(detailModel); } Action <ClientRequestData> requestAction = ((ClientRequestData request) => { request.AddData(detailList); }); ServiceResponseData retData = InvokeWcfService("OPProject.Service", "PresTemplateController", "SavePresTemplateData", requestAction); bool bRtn = retData.GetData <bool>(0); return(bRtn); }
/// <summary> /// 更改处方号和组号 /// </summary> /// <param name="data">处方列表</param> /// <returns>true成功</returns> public bool UpdatePresNoAndGroupId(List <Prescription> data) { List <OPD_PresMouldDetail> list = new List <OPD_PresMouldDetail>(); for (int i = 0; i < data.Count; i++) { OPD_PresMouldDetail model = new OPD_PresMouldDetail(); model.PresMouldDetailID = data[i].PresListId; model.PresNO = data[i].PresNo; model.GroupID = data[i].Group_Id; list.Add(model); } Action <ClientRequestData> requestAction = ((ClientRequestData request) => { request.AddData(list); }); ServiceResponseData retData = InvokeWcfService("OPProject.Service", "PresTemplateController", "UpdatePresNoAndGroupId", requestAction); bool bRtn = retData.GetData <bool>(0); return(bRtn); }
/// <summary> /// 处方模板另存为 /// </summary> /// <param name="newMould">处方模板头信息</param> /// <param name="presList">处方明细信息</param> /// <returns>true成功</returns> public bool AsSavePresTemplate(OPD_PresMouldHead newMould, List <OPD_PresDetail> presList) { BindDb(newMould); int mouId = newMould.save(); foreach (OPD_PresDetail pres in presList) { OPD_PresMouldDetail newDetail = new OPD_PresMouldDetail(); OPD_PresDetail presDetail = NewDao <IOPDDao>().GetPresDetail(pres.PresDetailID); newDetail.PresMouldHeadID = mouId; newDetail.PresNO = 1; newDetail.Price = presDetail.Price; newDetail.ChargeAmount = presDetail.ChargeAmount; newDetail.ChannelID = presDetail.ChannelID; newDetail.Days = presDetail.Days; newDetail.Dosage = presDetail.Dosage; newDetail.DosageUnit = presDetail.DosageUnit; newDetail.DoseNum = presDetail.DoseNum; newDetail.Entrust = presDetail.Entrust; newDetail.ExecDeptID = presDetail.ExecDeptID; newDetail.Factor = presDetail.Factor; newDetail.FrequencyID = presDetail.FrequencyID; newDetail.GroupID = presDetail.GroupID; newDetail.GroupSortNO = presDetail.GroupSortNO; newDetail.ItemID = presDetail.ItemID; newDetail.ItemName = presDetail.ItemName; newDetail.PresAmount = presDetail.PresAmount; newDetail.PresAmountUnit = presDetail.PresAmountUnit; newDetail.PresFactor = presDetail.PresFactor; newDetail.Spec = presDetail.Spec; newDetail.StatID = presDetail.StatID; BindDb(newDetail); newDetail.save(); } return(true); }
/// <summary> /// 保存事件 /// </summary> /// <param name="sender">控件对象</param> /// <param name="e">事件参数</param> private void btnSave_Click(object sender, EventArgs e) { try { DataTable dt = dgFee.DataSource as DataTable; if (dt == null || dt.Rows.Count == 0) { MessageBoxEx.Show("没有可保存的数据"); return; } List <OPD_PresMouldDetail> mouldList = new List <OPD_PresMouldDetail>(); for (int i = 0; i < dt.Rows.Count; i++) { if (dt.Rows[i]["ItemID"] == DBNull.Value) { continue; } DataRow dr = dTShowCard.Select("ItemID=" + dt.Rows[i]["ItemID"].ToString()).FirstOrDefault(); OPD_PresMouldDetail mouldDetatil = new OPD_PresMouldDetail(); if (!string.IsNullOrEmpty(dt.Rows[i]["PresMouldDetailID"].ToString())) { mouldDetatil.PresMouldDetailID = Convert.ToInt32(dt.Rows[i]["PresMouldDetailID"].ToString()); } mouldDetatil.ChannelID = 0; mouldDetatil.ChargeAmount = Convert.ToDecimal(dt.Rows[i]["PresAmount"]); mouldDetatil.ChargeUnit = dt.Rows[i]["PresAmountUnit"].ToString(); mouldDetatil.StatID = 1; mouldDetatil.Price = Convert.ToDecimal(dt.Rows[i]["Price"]); mouldDetatil.PresNO = 1; mouldDetatil.PresMouldHeadID = Convert.ToInt32(treWestDrug.SelectedNode.Name); mouldDetatil.PresFactor = 1; mouldDetatil.PresAmountUnit = dt.Rows[i]["PresAmountUnit"].ToString(); mouldDetatil.PresAmount = Convert.ToDecimal(dt.Rows[i]["PresAmount"]); mouldDetatil.GroupID = 1; mouldDetatil.GroupSortNO = 1; mouldDetatil.ItemID = Convert.ToInt32(dt.Rows[i]["ItemID"].ToString()); mouldDetatil.ItemName = dt.Rows[i]["ItemName"].ToString(); mouldDetatil.Days = 1; mouldDetatil.DosageUnit = dt.Rows[i]["PresAmountUnit"].ToString(); mouldDetatil.DoseNum = 0; mouldDetatil.Dosage = Convert.ToDecimal(dt.Rows[i]["PresAmount"]); mouldDetatil.Spec = string.Empty; if (dr != null) { mouldDetatil.ExecDeptID = Convert.ToInt32(dr["ExecDeptId"]); } mouldList.Add(mouldDetatil); } InvokeController("SaveDetail", mouldList); InvokeController("LoadFee", treWestDrug.SelectedNode.Name); SetGridEdit(1); } catch (Exception ex) { MessageBoxEx.Show(ex.Message); } }