using HL_FristAidPlatform_Help; using HL_FristAidPlatform_IDataBase; using HL_FristAidPlatform_Models; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HL_FristAidPlatform_DataBase { /// /// 卒中筛查既往病史及控制情况 /// public class T_Service_ApoplexyPastHistoryDB : BaseDB, IT_Service_ApoplexyPastHistory { public SqlSugarClient db = GetClient(); /// /// 保存既往病史及控制情况 /// /// /// public bool SaveScreenPastHistory(T_Service_ApoplexyPastHistory pastHistory) { try { db.Ado.BeginTran(); var oneClass = db.Queryable().Where(i => i.PatientGUID == pastHistory.PatientGUID && i.DeleteFlag == 0).First(); if (oneClass != null) { if (oneClass.FillinStatus == "0") { T_Service_ApoplexyScreenInfo screenInfo = new T_Service_ApoplexyScreenInfo(); screenInfo = db.Queryable().Where(i => i.GUID == pastHistory.PatientGUID).First(); screenInfo.RescreeningStatus = screenInfo.RescreeningStatus + 1; db.Updateable(screenInfo).UpdateColumns(it => new { it.RescreeningStatus }).ExecuteCommand(); } pastHistory.GUID = oneClass.GUID; db.Updateable(pastHistory).IgnoreColumns(i => new { i.ID, i.CreateID, i.CreateTime }).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand() ; } else { pastHistory.GUID = Guid.NewGuid().ToString(); pastHistory.CreateTime = DateTime.Now; db.Insertable(pastHistory).IgnoreColumns(ignoreNullColumn: true).ExecuteCommand() ; T_Service_ApoplexyScreenInfo screenInfo = new T_Service_ApoplexyScreenInfo(); screenInfo = db.Queryable().Where(i => i.GUID == pastHistory.PatientGUID).First(); screenInfo.RescreeningStatus = screenInfo.RescreeningStatus + 1; db.Updateable(screenInfo).UpdateColumns(it => new { it.RescreeningStatus }).ExecuteCommand(); } db.Ado.CommitTran(); return true; } catch (Exception ex) { db.Ado.RollbackTran(); Help.WriteErrorLog("卒中高危筛查保存既往病史及控制情况(SaveScreenPastHistory)", ex.ToString()); return false; } } /// /// 获取查既往病史及控制情况 /// /// /// public T_Service_ApoplexyPastHistory GetScreenPastHistory(string patientGuid) { return db.Queryable().Where(i => i.PatientGUID == patientGuid && i.DeleteFlag == 0).First(); } } }