public List <ChronicDiadetesVisitModel> DataTableToList(DataTable dt) { List <ChronicDiadetesVisitModel> list = new List <ChronicDiadetesVisitModel>(); int count = dt.Rows.Count; if (count > 0) { for (int i = 0; i < count; i++) { ChronicDiadetesVisitModel item = this.dal.DataRowToModel(dt.Rows[i]); if (item != null) { list.Add(item); } } } return(list); }
private void btndataupload_Click(object sender, EventArgs e) { string strwhere = ""; if (this.ckbcheckdate.Checked) { strwhere = string.Format(" CheckDate BETWEEN '{0}' and '{1}' ", this.dtpstart.Value.Date.ToString("yyyy-MM-dd"), this.dtpend.Value.Date.ToString("yyyy-MM-dd")); } DataSet customds = new RecordsCustomerBaseInfoBLL().GetList(strwhere); int amount = 0; progressBar1.Visible = true; progressBar1.Minimum = 0; progressBar1.Maximum = customds.Tables[0].Rows.Count; progressBar1.BackColor = Color.Green; labCountnum.Text = customds.Tables[0].Rows.Count.ToString(); foreach (DataRow row in customds.Tables[0].Rows) { int OutKey = Convert.ToInt32(row["ID"].ToString()); if (string.IsNullOrEmpty(row["IDCardNo"].ToString())) { continue; } // 基本信息 RecordsBaseInfoModel Model = new RecordsBaseInfoBLL().GetModel(row["IDCardNo"].ToString()); if (Model == null) { Model = new RecordsBaseInfoModel(); } // 一般状况 RecordsGeneralConditionModel generalConditionModel = new RecordsGeneralConditionBLL().GetModelByOutKey(OutKey); if (generalConditionModel == null) { generalConditionModel = new RecordsGeneralConditionModel(); } ChronicDiadetesVisitModel diabetesModel = new ChronicDiadetesVisitModel(); diabetesModel.IDCardNo = row["IDCardNo"].ToString(); diabetesModel.Hypertension = generalConditionModel.RightHeight; diabetesModel.Hypotension = generalConditionModel.RightPre; diabetesModel.BMI = generalConditionModel.BMI; diabetesModel.Weight = generalConditionModel.Weight; diabetesModel.Hight = generalConditionModel.Height; if (diabetesModel.BMI != null) { if (diabetesModel.BMI >= 24) { diabetesModel.TargetWeight = diabetesModel.Weight - 5; } } // 生活方式 RecordsLifeStyleModel lifeModel = new RecordsLifeStyleBLL().GetModelByOutKey(OutKey); if (lifeModel == null) { lifeModel = new RecordsLifeStyleModel(); } if (lifeModel.SmokeCondition == "3") { diabetesModel.DailySmokeNum = lifeModel.SmokeDayNum; } else { diabetesModel.DailySmokeNum = 0; } if (lifeModel.DrinkRate == "2" || lifeModel.DrinkRate == "3" || lifeModel.DrinkRate == "4") { diabetesModel.DailyDrinkNum = lifeModel.DayDrinkVolume; } else { diabetesModel.DailyDrinkNum = 0; } diabetesModel.DailySmokeNumTarget = 0; diabetesModel.DailyDrinkNumTarget = 0; diabetesModel.SportTimePerWeekTarget = 7; diabetesModel.SportPerMinuteTimeTarget = 60; // 辅助检查 RecordsAssistCheckModel AssistCheck = new RecordsAssistCheckBLL().GetModelByOutKey(OutKey); if (AssistCheck == null) { AssistCheck = new RecordsAssistCheckModel(); } diabetesModel.FPG = AssistCheck.FPGL; diabetesModel.HbAlc = AssistCheck.HBALC; new ChronicDiadetesVisitBLL().UpdateDate(diabetesModel); ChronicHypertensionVisitModel hypertensionModel = new ChronicHypertensionVisitModel(); hypertensionModel.Hypertension = generalConditionModel.RightHeight; hypertensionModel.Hypotension = generalConditionModel.RightPre; hypertensionModel.BMI = generalConditionModel.BMI; hypertensionModel.Weight = generalConditionModel.Weight; hypertensionModel.Hight = generalConditionModel.Height; if (hypertensionModel.BMI != null) { if (hypertensionModel.BMI >= 24) { hypertensionModel.WeightTarGet = hypertensionModel.Weight - 5; } } if (AssistCheck.FPGL != null) { hypertensionModel.AssistantExam = $"空腹血糖:{AssistCheck.FPGL}mmol/L"; } // 查体 RecordsPhysicalExamModel physicalModel = new RecordsPhysicalExamBLL().GetModelByOutKey(OutKey); if (physicalModel == null) { physicalModel = new RecordsPhysicalExamModel(); } decimal dd = 0; if (!string.IsNullOrEmpty(physicalModel.HeartRate)) { if (decimal.TryParse(physicalModel.HeartRate, out dd)) { hypertensionModel.HeartRate = dd; } } if (lifeModel.SmokeCondition == "3") { hypertensionModel.DailySmokeNum = lifeModel.SmokeDayNum; } else { hypertensionModel.DailySmokeNum = 0; } if (lifeModel.DrinkRate == "2" || lifeModel.DrinkRate == "3" || lifeModel.DrinkRate == "4") { hypertensionModel.DailyDrinkNum = lifeModel.DayDrinkVolume; } else { hypertensionModel.DailyDrinkNum = 0; } hypertensionModel.DailySmokeNumTarget = 0; hypertensionModel.DailyDrinkNumTarget = 0; hypertensionModel.SportTimeSperWeekTarget = 7; hypertensionModel.SportPerMinutesTimeTarget = 60; hypertensionModel.IDCardNo = row["IDCardNo"].ToString(); new ChronicHypertensionVisitBLL().UpdateDate(hypertensionModel); amount++; labUploadnum.Text = amount.ToString(); progressBar1.Value = amount; } MessageBox.Show("成功匹配:" + amount + "条数据!", "提示"); progressBar1.Visible = false; }
/// <summary> /// 糖尿病 /// </summary> /// <param name="IDCardNo"></param> /// <param name="CheckDate"></param> /// <param name="VersionNo"></param> /// <param name="Model"></param> public void SaveDiadetes(string IDCardNo, DateTime CheckDate, string VersionNo, RecordsBaseInfoModel Model, RecordsCustomerBaseInfoModel CustomerModel) { try { DataView dv = dsRequire.DefaultView; // 获取最后一次随访数据 ChronicDiadetesVisitModel diadetesOldModel = DiadetesVisitBLL.GetMaxModel(IDCardNo); if (diadetesOldModel == null) { diadetesOldModel = new ChronicDiadetesVisitModel(); } ChronicDiadetesVisitModel diadetesNewModel = new ChronicDiadetesVisitModel(); // 取得体检一般情况资料 RecordsGeneralConditionModel conditionModel = new RecordsGeneralConditionBLL().GetModelByOutKey(CustomerModel.ID); // 取得体检生活方式资料 RecordsLifeStyleModel lifeModel = new RecordsLifeStyleBLL().GetModelByOutKey(CustomerModel.ID); if (lifeModel == null) { lifeModel = new RecordsLifeStyleModel(); } // 取得体检查体资料 RecordsPhysicalExamModel physicalModel = new RecordsPhysicalExamBLL().GetModelByOutKey(CustomerModel.ID); if (physicalModel == null) { physicalModel = new RecordsPhysicalExamModel(); } // 取得体检辅助检查资料 RecordsAssistCheckModel checkModel = new RecordsAssistCheckBLL().GetModelByOutKey(CustomerModel.ID); #region 糖尿病基本信息 dv.RowFilter = null; dv.RowFilter = "TabName='糖尿病随访' AND Comment='糖尿病基本信息' AND (IsSetValue='是' OR IsSetValue='预设上次随访') "; DataTable dt = dv.ToTable(); // 是否有基本信息 int count = DiadetesVisitBLL.GetBaseDataCount(IDCardNo); if (count < 1) { // 新增糖尿病基本信息 ChronicDiabetesBaseInfoModel baseModel = new ChronicDiabetesBaseInfoModel() { IDCardNo = IDCardNo, RecordID = Model.RecordID, CreateBy = ConfigHelper.GetNodeDec("doctor"), CreateDate = DateTime.Now, LastUpdateBy = ConfigHelper.GetNodeDec("doctor"), LastUpdateDate = DateTime.Now }; baseModel = EntityAssignment <ChronicDiabetesBaseInfoModel>(baseModel, baseModel, dt); DiadetesVisitBLL.Add(baseModel, VersionNo); } #endregion #region 随访信息 dv.RowFilter = null; dv.RowFilter = "TabName='糖尿病随访' AND Comment='糖尿病随访信息' AND (IsSetValue='是' OR IsSetValue='预设上次随访') AND ChinName<>'用药情况' "; dt = dv.ToTable(); diadetesNewModel = EntityAssignment <ChronicDiadetesVisitModel>(diadetesOldModel, diadetesNewModel, dt); diadetesNewModel.IDCardNo = IDCardNo; diadetesNewModel.RecordID = Model.RecordID; diadetesNewModel.CustomerName = StringPlus.toString(diadetesNewModel.CustomerName) == "" ? Model.CustomerName : diadetesNewModel.CustomerName; diadetesNewModel.Hypertension = conditionModel.LeftHeight; diadetesNewModel.Hypotension = conditionModel.LeftPre; diadetesNewModel.Weight = conditionModel.Weight; diadetesNewModel.Height = conditionModel.Height; diadetesNewModel.BMI = conditionModel.BMI; diadetesNewModel.DorsalisPedispulse = StringPlus.toString(physicalModel.FootBack) != "" ? (int.Parse(physicalModel.FootBack) - 1).ToString() : null; diadetesNewModel.DailySmokeNum = lifeModel.SmokeDayNum; diadetesNewModel.DailyDrinkNum = lifeModel.DayDrinkVolume; diadetesNewModel.FPG = checkModel.FPGL; diadetesNewModel.HbAlc = checkModel.HBALC; diadetesNewModel.VisitDate = CheckDate; diadetesNewModel.NextVisitDate = CheckDate.AddMonths(3); diadetesNewModel.VisitDoctor = ConfigHelper.GetNode("doctorName"); diadetesNewModel.CreateBy = ConfigHelper.GetNode("doctor"); diadetesNewModel.CreateDate = DateTime.Now; diadetesNewModel.LastUpdateBy = ConfigHelper.GetNode("doctor"); diadetesNewModel.LastUpdateDate = DateTime.Now; #endregion #region 保存默认值 // 随访信息存档 int id = DiadetesVisitBLL.Add(diadetesNewModel, VersionNo); #endregion // 保存用药 SaveMedication(IDCardNo, "2", id); } catch (Exception ex) { LogHelper.WriteLog(ex.ToString()); throw ex; } }
public int Add(ChronicDiadetesVisitModel model, string Version = "V2.0") { return(this.dal.Add(model, Version)); }
public bool UpdateDate(ChronicDiadetesVisitModel model) { return(dal.UpdateDate(model)); }
/// <summary> /// 随访同步 /// </summary> /// <param name="model"></param> /// <returns></returns> public bool UpdateDate(ChronicDiadetesVisitModel model) { StringBuilder builder = new StringBuilder(); builder.Append("UPDATE CD_DIABETESFOLLOWUP SET "); decimal value; if (decimal.TryParse(StringPlus.toString(model.Hypertension), out value)) { builder.Append("Hypertension='" + value + "',"); } if (decimal.TryParse(StringPlus.toString(model.Hypotension), out value)) { builder.Append("Hypotension='" + value + "',"); } if (decimal.TryParse(StringPlus.toString(model.Weight), out value)) { builder.Append("Weight='" + value + "',"); } if (decimal.TryParse(StringPlus.toString(model.BMI), out value)) { builder.Append("BMI='" + value + "',"); } if (decimal.TryParse(StringPlus.toString(model.Height), out value)) { builder.Append("Hight='" + value + "',"); } if (decimal.TryParse(StringPlus.toString(model.DailySmokeNum), out value)) { builder.Append("DailySmokeNum='" + value + "',"); } if (decimal.TryParse(StringPlus.toString(model.DailyDrinkNum), out value)) { builder.Append("DailyDrinkNum='" + value + "',"); } builder.Append("DailySmokeNumTarget='" + model.DailySmokeNumTarget + "',"); builder.Append("DailyDrinkNumTarget='" + model.DailyDrinkNumTarget + "',"); builder.Append("SportTimePerWeekTarget='" + model.SportTimePerWeekTarget + "',"); builder.Append("SportPerMinuteTimeTarget='" + model.SportPerMinuteTimeTarget + "',"); if (decimal.TryParse(StringPlus.toString(model.FPG), out value)) { builder.Append("FPG='" + value + "',"); } if (decimal.TryParse(StringPlus.toString(model.HbAlc), out value)) { builder.Append("HbAlc='" + value + "',"); } if (model.BMI < 24) { builder.Append("TargetWeight=null,"); } else { if (decimal.TryParse(StringPlus.toString(model.TargetWeight), out value)) { builder.Append("TargetWeight='" + value + "',"); } } string sql = builder.ToString(); sql = sql.Substring(0, sql.LastIndexOf(',')); sql += " WHERE ID=(SELECT * FROM (SELECT ID FROM CD_DIABETESFOLLOWUP WHERE VisitDate LIKE '" + DateTime.Now.Year + "%' AND IDCardNo='" + model.IDCardNo + "' ORDER BY VisitDate DESC LIMIT 1) DATAS)"; return(MySQLHelper.ExecuteSql(sql) > 0); }
public int Add(ChronicDiadetesVisitModel model, string VersionNo) { StringBuilder builder = new StringBuilder(); builder.Append("INSERT INTO CD_DIABETESFOLLOWUP("); builder.Append("CustomerID,RecordID,IDCardNo,CustomerName,VisitDate,VisitDoctor,"); builder.Append("NextVisitDate,Symptom,SymptomOther,Hypertension,Hypotension,Weight,Height,"); builder.Append("BMI,DorsalisPedispulse,PhysicalSymptomMother,DailySmokeNum,DailyDrinkNum,"); builder.Append("SportTimePerWeek,SportPerMinuteTime,StapleFooddailyg,PsychoAdjustment,ObeyDoctorBehavior,"); builder.Append("FPG,HbAlc,ExamDate,AssistantExam,MedicationCompliance,Adr,AdrEx,HypoglyceMiarreAction,"); builder.Append("VisitType,InsulinType,InsulinUsage,VisitWay,ReferralReason,ReferralOrg,TargetWeight,BMITarget,"); builder.Append("DailySmokeNumTarget,DailyDrinkNumTarget,SportTimePerWeekTarget,SportPerMinuteTimeTarget,"); if (VersionNo.Contains("3.0")) { builder.Append(" CreatedBy,CreatedDate, "); } else { builder.Append(" CreateBy,CreateDate,"); } builder.Append("LastUpdateBy,LastUpdateDate,IsDelete,StapleFooddailygTarget,DorsalisPedispulseType)"); builder.Append(" VALUES ("); builder.Append("@CustomerID,@RecordID,@IDCardNo,@CustomerName,@VisitDate,@VisitDoctor,@NextVisitDate,@Symptom,@SymptomOther,"); builder.Append("@Hypertension,@Hypotension,@Weight,@Height,@BMI,@DorsalisPedispulse,@PhysicalSymptomMother,@DailySmokeNum,@DailyDrinkNum,"); builder.Append("@SportTimePerWeek,@SportPerMinuteTime,@StapleFooddailyg,@PsychoAdjustment,@ObeyDoctorBehavior,@FPG,@HbAlc,@ExamDate,"); builder.Append("@AssistantExam,@MedicationCompliance,@Adr,@AdrEx,@HypoglyceMiarreAction,@VisitType,@InsulinType,@InsulinUsage,@VisitWay,"); builder.Append("@ReferralReason,@ReferralOrg,@TargetWeight,@BMITarget,@DailySmokeNumTarget,@DailyDrinkNumTarget,@SportTimePerWeekTarget,"); builder.Append("@SportPerMinuteTimeTarget,@CreateBy,@CreateDate,@LastUpdateBy,@LastUpdateDate,@IsDelete,@StapleFooddailygTarget,@DorsalisPedispulseType)"); builder.Append(";SELECT @@IDENTITY"); MySqlParameter[] cmdParms = new MySqlParameter[] { new MySqlParameter("@CustomerID", MySqlDbType.String, 32), new MySqlParameter("@RecordID", MySqlDbType.String, 17), new MySqlParameter("@IDCardNo", MySqlDbType.String, 21), new MySqlParameter("@CustomerName", MySqlDbType.String, 30), new MySqlParameter("@VisitDate", MySqlDbType.Date), new MySqlParameter("@VisitDoctor", MySqlDbType.String, 30), new MySqlParameter("@NextVisitDate", MySqlDbType.Date), new MySqlParameter("@Symptom", MySqlDbType.String, 20), new MySqlParameter("@SymptomOther", MySqlDbType.String, 500), new MySqlParameter("@Hypertension", MySqlDbType.Int32), new MySqlParameter("@Hypotension", MySqlDbType.Int32), new MySqlParameter("@Weight", MySqlDbType.Decimal), new MySqlParameter("@Height", MySqlDbType.Decimal), new MySqlParameter("@BMI", MySqlDbType.Decimal), new MySqlParameter("@DorsalisPedispulse", MySqlDbType.Decimal), new MySqlParameter("@PhysicalSymptomMother", MySqlDbType.String, 500), new MySqlParameter("@DailySmokeNum", MySqlDbType.Int32), new MySqlParameter("@DailyDrinkNum", MySqlDbType.Int32), new MySqlParameter("@SportTimePerWeek", MySqlDbType.Int32), new MySqlParameter("@SportPerMinuteTime", MySqlDbType.Int32), new MySqlParameter("@StapleFooddailyg", MySqlDbType.Decimal), new MySqlParameter("@PsychoAdjustment", MySqlDbType.String, 500), new MySqlParameter("@ObeyDoctorBehavior", MySqlDbType.String, 1), new MySqlParameter("@FPG", MySqlDbType.Decimal), new MySqlParameter("@HbAlc", MySqlDbType.Decimal), new MySqlParameter("@ExamDate", MySqlDbType.Date), new MySqlParameter("@AssistantExam", MySqlDbType.String, 500), new MySqlParameter("@MedicationCompliance", MySqlDbType.String, 1), new MySqlParameter("@Adr", MySqlDbType.String, 1), new MySqlParameter("@AdrEx", MySqlDbType.String, 500), new MySqlParameter("@HypoglyceMiarreAction", MySqlDbType.String, 1), new MySqlParameter("@VisitType", MySqlDbType.String, 1), new MySqlParameter("@InsulinType", MySqlDbType.String, 20), new MySqlParameter("@InsulinUsage", MySqlDbType.String, 500), new MySqlParameter("@VisitWay", MySqlDbType.String, 1), new MySqlParameter("@ReferralReason", MySqlDbType.String, 500), new MySqlParameter("@ReferralOrg", MySqlDbType.String, 80), new MySqlParameter("@TargetWeight", MySqlDbType.Decimal), new MySqlParameter("@BMITarget", MySqlDbType.Decimal), new MySqlParameter("@DailySmokeNumTarget", MySqlDbType.Int32), new MySqlParameter("@DailyDrinkNumTarget", MySqlDbType.Int32), new MySqlParameter("@SportTimePerWeekTarget", MySqlDbType.Int32), new MySqlParameter("@SportPerMinuteTimeTarget", MySqlDbType.Int32), new MySqlParameter("@CreateBy", MySqlDbType.Decimal), new MySqlParameter("@CreateDate", MySqlDbType.Date), new MySqlParameter("@LastUpdateBy", MySqlDbType.Decimal), new MySqlParameter("@LastUpdateDate", MySqlDbType.Date), new MySqlParameter("@IsDelete", MySqlDbType.String, 1), new MySqlParameter("@StapleFooddailygTarget", MySqlDbType.Decimal), new MySqlParameter("@DorsalisPedispulseType", MySqlDbType.String) }; cmdParms[0].Value = model.CustomerID; cmdParms[1].Value = model.RecordID; cmdParms[2].Value = model.IDCardNo; cmdParms[3].Value = model.CustomerName; cmdParms[4].Value = model.VisitDate; cmdParms[5].Value = model.VisitDoctor; cmdParms[6].Value = model.NextVisitDate; cmdParms[7].Value = model.Symptom; cmdParms[8].Value = model.SymptomOther; cmdParms[9].Value = model.Hypertension; cmdParms[10].Value = model.Hypotension; cmdParms[11].Value = model.Weight; cmdParms[12].Value = model.Height; cmdParms[13].Value = model.BMI; cmdParms[14].Value = model.DorsalisPedispulse; cmdParms[15].Value = model.PhysicalSymptomMother; cmdParms[16].Value = model.DailySmokeNum; cmdParms[17].Value = model.DailyDrinkNum; cmdParms[18].Value = model.SportTimePerWeek; cmdParms[19].Value = model.SportPerMinuteTime; cmdParms[20].Value = model.StapleFooddailyg; cmdParms[21].Value = model.PsychoAdjustment; cmdParms[22].Value = model.ObeyDoctorBehavior; cmdParms[23].Value = model.FPG; cmdParms[24].Value = model.HbAlc; cmdParms[25].Value = model.ExamDate; cmdParms[26].Value = model.AssistantExam; cmdParms[27].Value = model.MedicationCompliance; cmdParms[28].Value = model.Adr; cmdParms[29].Value = model.AdrEx; cmdParms[30].Value = model.HypoglyceMiarreAction; cmdParms[31].Value = model.VisitType; cmdParms[32].Value = model.InsulinType; cmdParms[33].Value = model.InsulinUsage; cmdParms[34].Value = model.VisitWay; cmdParms[35].Value = model.ReferralReason; cmdParms[36].Value = model.ReferralOrg; cmdParms[37].Value = model.TargetWeight; cmdParms[38].Value = model.BMITarget; cmdParms[39].Value = model.DailySmokeNumTarget; cmdParms[40].Value = model.DailyDrinkNumTarget; cmdParms[41].Value = model.SportTimePerWeekTarget; cmdParms[42].Value = model.SportPerMinuteTimeTarget; cmdParms[43].Value = model.CreateBy; cmdParms[44].Value = model.CreateDate; cmdParms[45].Value = model.LastUpdateBy; cmdParms[46].Value = model.LastUpdateDate; cmdParms[47].Value = model.IsDelete; cmdParms[48].Value = model.StapleFooddailygTarget; cmdParms[49].Value = model.DorsalisPedispulseType; object single = MySQLHelper.GetSingle(builder.ToString(), cmdParms); if (single == null) { return(0); } return(Convert.ToInt32(single)); }
public ChronicDiadetesVisitModel ExistsCheckDate(ChronicDiadetesVisitModel model) { return(this.dal.ExistsCheckDate(model)); }
public int Add(ChronicDiadetesVisitModel model) { return(this.dal.Add(model)); }