//his自身数据源绑定时段下拉 Add by zp 2013-11-07 private void BindCmbTime() { try { int ghys = int.Parse(Convertor.IsNull(Lab_Doctor.SelectedValue, "0")); int ghjb = int.Parse(Convertor.IsNull(cmbghjb.SelectedValue, "0")); int ghks = int.Parse(Convertor.IsNull(Lab_Dept.SelectedValue, "0")); DateTime date = dateTimePicker1.Value; Ts_Visit_Class.VisitResource _VisRes = new VisitResource(ghks, ghjb, ghys, date.ToString("yyyy-MM-dd"), InstanceForm.BDatabase); FsdClass _fsd = new FsdClass(); int sxwid = cmb_sxw.Text.Trim() == "上午" ? 1 : 2; DataTable dt = _fsd.GetSdInfo(_VisRes.Resid, sxwid, InstanceForm.BDatabase); if (dt == null || dt.Rows.Count == 0) { Cmb_Times.Enabled = false; } else { Cmb_Times.Enabled = true; Cmb_Times.DisplayMember = "SJNC"; Cmb_Times.ValueMember = "ZYMXID"; Cmb_Times.DataSource = dt; } } catch (Exception ea) { MessageBox.Show("出现异常!原因:" + ea.Message, "提示"); } }
/// <summary> /// 释放预约资源 /// </summary> /// <param name="_cfg3059"></param> /// <param name="_DataBase"></param> public static void UpdateYyResource(SystemCfg _cfg3059, RelationalDatabase _DataBase) { /*释放指定时间段内还未取号的预约资源,如当前时间为8点 8点半的号还未进行取号 如果参数设置为 * 半个小时未取号就释放,则释放八点半的号源*/ string sql = @" SELECT convert(varchar(10),getdate(),120), convert(varchar(16),DATEADD(MINUTE,(SELECT CAST(CONFIG AS INT) FROM JC_CONFIG WHERE ID=1127),GETDATE()),120), SUBSTRING(convert(varchar(16),getdate(),120),11,16) "; DataTable dt_Date = _DataBase.GetDataTable(sql); string Date_Now = dt_Date.Rows[0][0].ToString(); string Time_Now = dt_Date.Rows[0][1].ToString(); string HourMinute = dt_Date.Rows[0][2].ToString(); sql = @"SELECT *,substring(YYSD,1,5) AS KSSJ ,substring(YYSD,7,5) as JSSJ FROM MZ_YYGHLB WHERE CONVERT(VARCHAR(10),YYRQ,120)='" + Date_Now + @"' AND substring('" + Time_Now + @"',12,len('" + Time_Now + @"')) >= substring(YYSD,7,5) AND BQHBZ=0 AND BSCBZ=0"; //获取需要释放资源的预约记录 DataTable dt_YYxx = _DataBase.GetDataTable(sql); Order_Web _orderMeans = new Order_Web(_cfg3059); for (int i = 0; i < dt_YYxx.Rows.Count; i++) { /*作废预约信息,但是要根据时间判断是否释放分时段信息,如果预约的分时段 * 结束时间小于当前时间则不需要释放 */ try { string ptid = Convertor.IsNull(dt_YYxx.Rows[i]["PTID"], ""); string qhyzm = dt_YYxx.Rows[i]["YZM"].ToString(); string czyh = dt_YYxx.Rows[i]["DJY"].ToString(); string msg = ""; _orderMeans.CancelOrder(ptid, qhyzm, czyh, ref msg); //撤销预约后,需要对分时段资源进行处理 //获取资源id int ghks = Convert.ToInt32(dt_YYxx.Rows[i]["GHKS"]); int ghjb = Convert.ToInt32(dt_YYxx.Rows[i]["GHJB"]); int ghys = Convert.ToInt32(dt_YYxx.Rows[i]["GHYS"]); string yydate = dt_YYxx.Rows[i]["YYRQ"].ToString(); VisitResource _Resource = new VisitResource(ghks, ghjb, ghys, yydate, _DataBase); if (_Resource.Resid <= 0) { return; } string kssj = dt_YYxx.Rows[i]["KSSJ"].ToString().Trim(); string jssj = dt_YYxx.Rows[i]["JSSJ"].ToString().Trim(); FsdClass.UpdateFsdStatus(_Resource.Resid, kssj, jssj, yydate, _DataBase); } catch (Exception ea) { throw ea; } } }
/// <summary> /// Maps a Visit to VisitResource. /// </summary> /// <param name="visitResource">The visitor notification.</param> /// <returns>A Visit</returns> public static Visit ToVisit(this VisitResource visitResource) { return(new Visit() { Id = visitResource.Id, CheckIn = visitResource.CheckIn, CheckOut = visitResource.CheckOut, Visitor = new Visitor() { Id = visitResource.VisitorId } }); }
public async Task <IActionResult> AddVisit(VisitResource visitResource) { var mapVisit = _mapper.Map <Visit>(visitResource); mapVisit.IsAudit = false; mapVisit.CreatedDate = DateTime.Now; mapVisit.EditedDate = mapVisit.CreatedDate; _patientRepo.Add(mapVisit); await _unitOfWork.CompleteAsync(); return(CreatedAtAction("GetVisits", new { id = mapVisit.VisitId }, mapVisit)); }
public IActionResult New(VisitResource visit) { try { VisitManager visitMng = new VisitManager(); visitMng.Insert(visit.ToVisit()); return(Ok()); } catch (EntityValidationException ex) { return(BadRequest(ex.Message)); } catch { return(Problem()); } }
public async Task <IActionResult> UpdateVisit(int id, [FromBody] VisitResource visitResource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != visitResource.PatientId) { return(Unauthorized()); } var currVisit = await _context.Visits.AsNoTracking() .Where(i => i.VisitId == id) .FirstOrDefaultAsync(); var tempVisitInsert = new Visit { VisitType = currVisit.VisitType, PatientId = currVisit.PatientId, VisitDate = currVisit.VisitDate, VisitNo = currVisit.VisitNo, Version = currVisit.Version, IsAudit = true, EditedDate = DateTime.Now }; var mapVisit = _mapper.Map <VisitResource, Visit>(visitResource, currVisit); mapVisit.Version = currVisit.Version + 1; mapVisit.IsAudit = false; mapVisit.EditedDate = DateTime.Now; _patientRepo.Add(tempVisitInsert); _context.Update(mapVisit); if (await _unitOfWork.CompleteAsync() > 0) { return(Ok()); } throw new Exception($"Updating visit {id} failed on save"); }
public IActionResult Update(VisitResource visit) { try { VisitManager visitMng = new VisitManager(); var visitDb = visitMng.GetRecordById(visit.Id); if (visitDb == null) { return(BadRequest("Invalid visit id!")); } visitDb.CheckIn = visit.CheckIn; visitDb.CheckOut = visit.CheckOut; if (visitDb.Visitor.Id != visit.VisitorId) { VisitorManager visitorMng = new VisitorManager(); Visitor visitor = visitorMng.GetRecordById(visit.VisitorId); if (visitor == null) { return(BadRequest("Invalid visitor id!")); } visitDb.Visitor = visitor; } visitMng.Update(visitDb); return(Ok()); } catch (EntityValidationException ex) { return(BadRequest(ex.Message)); } catch { return(Problem()); } }
private void butok_Click_1(object sender, EventArgs e) { try { //if (this.dataGridView1.Rows.Count < 1) { return; } //if (this.dataGridView1.SelectedRows.Count < 1) { return; } //this.txtkh.Text = Convertor.IsNull(this.dataGridView1.SelectedRows[0].Cells["卡号"].Value, ""); //if (txtkh.Text.Trim() != "" && txtkh.Enabled == true) //{ // txtkh.Text = Fun.returnKh(Convert.ToInt32(cmbklx.SelectedValue), txtkh.Text); // ReadCard card = new ReadCard(Convert.ToInt32(cmbklx.SelectedValue), txtkh.Text, TrasenFrame.Forms.FrmMdiMain.Database); // if (card.kdjid != Guid.Empty) // { // MessageBox.Show(txtkh.Text + "这个卡号已有人使用,请重新确定卡号", "", MessageBoxButtons.OK, MessageBoxIcon.Error); // return; // } //} DataTable tb = (DataTable)dataGridView1.DataSource; if (tb == null) { return; } if (tb.Rows.Count > 0) { int nrow = dataGridView1.CurrentCell.RowIndex; if (brxm.Trim() != tb.Rows[nrow]["姓名"].ToString().Trim() && brxm.Trim() != "") { if (MessageBox.Show("预约姓名与当前病人姓名不一致,您确定吗?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } } if (tb.Rows[nrow]["失效时间"].ToString() != "") { if (DateManager.ServerDateTimeByDBType(TrasenFrame.Forms.FrmMdiMain.Database) > Convert.ToDateTime(tb.Rows[nrow]["失效时间"].ToString())) { MessageBox.Show("该预约申请已失效,不能取号,请确认", "", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } if (Convert.ToDateTime(DateManager.ServerDateTimeByDBType(TrasenFrame.Forms.FrmMdiMain.Database).ToShortDateString()) > Convert.ToDateTime(Convert.ToDateTime(tb.Rows[nrow]["预约日期"].ToString()).ToShortDateString())) { MessageBox.Show("预约日期不能早于当前挂号时间,可能该预约申请已失效", "", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } /*限制日期 必须为预约挂号当天 Add by Zp 2013-07-29*/ string date = DateManager.ServerDateTimeByDBType(TrasenFrame.Forms.FrmMdiMain.Database).ToString("yyyy-MM-dd"); string yydate = Convert.ToDateTime(tb.Rows[nrow]["预约日期"]).ToString("yyyy-MM-dd"); //增加时间点判断 if (new SystemCfg(3062).Config.Trim() == "1" && tb.Rows[nrow]["预约时点"].ToString().Trim() != "") { try { string[] ss = tb.Rows[nrow]["预约时点"].ToString().Trim().Split('-'); DateTime dtq = Convert.ToDateTime(DateManager.ServerDateTimeByDBType(TrasenFrame.Forms.FrmMdiMain.Database)); if (date != yydate) { MessageBox.Show("对不起,您预约的日期为【" + tb.Rows[nrow]["预约日期"].ToString().Trim() + "】,必须到预约日期当天才允许取号!!", "提示"); return; } /*取最后的时间点,判断与当前日志做判断 Modify By zp 2013-08-07 * 新增参数1103 限制需要提前制定分钟取号 否则作废预约记录并释放挂号资源 */ DateTime _d = Convert.ToDateTime(ss[0]); //预约时间 double xhfz = Convert.ToDouble((new SystemCfg(1103)).Config); //得到需提前取号的分钟数 DateTime xzsj = dtq.AddMinutes(xhfz); //得到最后取号时间值 if (_d < xzsj) //如果取号时间小于最后取号时间 则不允许取号 并释放限号资源 { int _ghks = Convert.ToInt32(tb.Rows[nrow]["ghks"]); int _ghjb = Convert.ToInt32(tb.Rows[nrow]["ghjb"]); int _ghys = Convert.ToInt32(tb.Rows[nrow]["ghys"]); Ts_Visit_Class.VisitResource _VisRes = new VisitResource(_ghks, _ghjb, _ghys, yydate, TrasenFrame.Forms.FrmMdiMain.Database); FsdClass _Fsd = null; if (new SystemCfg(1099).Config.Trim() == "1" && _VisRes.Resid > 0 && _d > dtq) { _Fsd = new FsdClass(tb.Rows[nrow]["预约时点"].ToString().Trim(), yydate, _VisRes.Resid, TrasenFrame.Forms.FrmMdiMain.Database); _Fsd.Save(ref _Fsd, true, TrasenFrame.Forms.FrmMdiMain.Database); } MessageBox.Show("对不起,您预约的时间段为【" + tb.Rows[nrow]["预约时点"].ToString().Trim() + "】,当前时间已超时!需在" + _d.AddMinutes(-xhfz) + "前取号!!", "提示"); return; } } catch { } } //Add by zp 2014-07-30 对资源释放的记录进行判断 给予提示 if (tb.Rows[nrow]["删除标记"].ToString().Trim() == "1") { MessageBox.Show("选择的预约记录已作废!", "提示"); return; } ReturnRow = tb.Rows[nrow]; ReturnNewKH = Convertor.IsNull(this.dataGridView1.SelectedRows[0].Cells["卡号"].Value, ""); Bok = true; this.Close(); } else { MessageBox.Show("没有可选择的预约记录,请确认", "", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (System.Exception err) { MessageBox.Show(err.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error); } }