/// <summary> /// 更新服药时间信息 /// </summary> /// <param name="info">服药时间信息</param> /// <returns>成功= true</returns> public bool UpdateTakeTimeVal(TakeTimeInfo info) { this.ClearParameters(); StringBuilder sql = new StringBuilder(); sql.Append("UPDATE Patient SET "); sql.Append("MorningHour = @MorningHour,"); sql.Append("MorningMinute = @MorningMinute,"); sql.Append("NoonHour = @NoonHour,"); sql.Append("NoonMinute = @NoonMinute,"); sql.Append("EveningHour = @EveningHour,"); sql.Append("EveningMinute = @EveningMinute,"); sql.Append("AdditionalHour = @AdditionalHour,"); sql.Append("AdditionalMinute = @AdditionalMinute "); sql.Append("WHERE Id = @Id LIMIT 1"); this.AddParameter("@MorningHour", info.MorningHour); this.AddParameter("@MorningMinute", info.MorningMinute); this.AddParameter("@NoonHour", info.NoonHour); this.AddParameter("@NoonMinute", info.NoonMinute); this.AddParameter("@EveningHour", info.EveningHour); this.AddParameter("@EveningMinute", info.EveningMinute); this.AddParameter("@AdditionalHour", info.AdditionalHour); this.AddParameter("@AdditionalMinute", info.AdditionalMinute); this.AddParameter("@Id", info.Id); int res = this.ExecuteNonQuery(sql.ToString()); return(res == 1); }
/// <summary> /// 更新服药时间 /// </summary> /// <param name="info">服药时间信息</param> /// <returns>成功=true</returns> public static bool UpdateTakeTime(TakeTimeInfo info) { using (IPatientDal dal = Factory.CreateMedicineDalWrite()) { return(dal.UpdateTakeTimeVal(info)); } }
/// <summary> /// 保存服药时间 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSaveTakeTime_Click(object sender, EventArgs e) { if (labId.Text == "-1") { MessageBox.Show("请先选择病人"); return; } TakeTimeInfo model; try { model = new TakeTimeInfo { Id = Convert.ToInt32(labId.Text ?? "-1"), MorningHour = Convert.ToInt32(txtMorningHour.Text ?? "-1"), MorningMinute = Convert.ToInt32(txtMorningMinute.Text ?? "-1"), NoonHour = Convert.ToInt32(txtNoonHour.Text ?? "-1"), NoonMinute = Convert.ToInt32(txtnoonMinute.Text ?? "-1"), EveningHour = Convert.ToInt32(txtEveningHour.Text ?? "-1"), EveningMinute = Convert.ToInt32(txtEveningMinute.Text ?? "-1"), AdditionalHour = Convert.ToInt32(txtAddHour.Text ?? "-1"), AdditionalMinute = Convert.ToInt32(txtAddMinute.Text ?? "-1"), }; } catch (Exception ex) { MessageBox.Show("请输入数字"); return; } if (!Common.IsHour(model.MorningHour) || !Common.IsHour(model.NoonHour) || !Common.IsHour(model.EveningHour) || !Common.IsHour(model.AdditionalHour)) { MessageBox.Show("小时必须在1到24之间"); return; } if (!Common.IsMinute(model.MorningMinute) || !Common.IsMinute(model.NoonMinute) || !Common.IsMinute(model.EveningMinute) || !Common.IsMinute(model.AdditionalMinute)) { MessageBox.Show("分钟必须在0到59之间"); return; } MedicineLogic.UpdateTakeTime(model); SendTakeTime(model); }
/// <summary> /// 发送服药时间 /// </summary> /// <param name="info">服药时间信息</param> private void SendTakeTime(TakeTimeInfo info) { Device device = MedicineLogic.QueryDeviceById(info.Id); byte[] zero = { 0x00 }; byte[] nodata = { 0xff }; byte[] deviceNo = device.DeviceNo <= 255 ? zero.Concat(Common.IntToHexByte(device.DeviceNo)).ToArray() : Common.IntToHexByte(device.DeviceNo); byte[] funcNo = { 0x05 }; byte[] morningHour = info.MorningHour == -1 ? nodata : Common.IntToHexByte(info.MorningHour); byte[] morningMinute = info.MorningMinute == -1 ? nodata : Common.IntToHexByte(info.MorningMinute); byte[] noonHour = info.NoonHour == -1 ? nodata : Common.IntToHexByte(info.NoonHour); byte[] noonMinute = info.NoonMinute == -1 ? nodata : Common.IntToHexByte(info.NoonMinute); byte[] eveningHour = info.EveningHour == -1 ? nodata : Common.IntToHexByte(info.EveningHour); byte[] eveningMinute = info.EveningMinute == -1 ? nodata : Common.IntToHexByte(info.EveningMinute); byte[] addHour = info.AdditionalHour == -1 ? nodata : Common.IntToHexByte(info.AdditionalHour); byte[] addMinute = info.AdditionalMinute == -1 ? nodata : Common.IntToHexByte(info.AdditionalMinute); byte[] byteflg = Common.BuildFlg(); byte[] data = deviceNo.Concat(funcNo) .Concat(morningHour) .Concat(morningMinute) .Concat(noonHour) .Concat(noonMinute) .Concat(eveningHour) .Concat(eveningMinute) .Concat(addHour) .Concat(addMinute) .Concat(byteflg) .ToArray(); AutoSendData(device.DeviceIP, data, byteflg); }