StableVersion4.3/HL_FristAidPlatform_DataBase/Service/T_Service_EpidemicNotificat...

213 lines
8.6 KiB
C#

using HL_FristAidPlatform_Help;
using HL_FristAidPlatform_Help.Model;
using HL_FristAidPlatform_IDataBase;
using HL_FristAidPlatform_Models;
using SqlSugar;
using System;
using System.Collections.Generic;
namespace HL_FristAidPlatform_DataBase
{
/// <summary>
/// 我的收藏
/// </summary>
public class T_Service_EpidemicNotificationDB : BaseDB, IT_Service_EpidemicNotification
{
public SqlSugarClient db = GetClient();
#region 增
/// <summary>
/// 新增
/// </summary>
/// <param name="model">实体</param>
/// <returns></returns>
public bool Add(T_Service_EpidemicNotification model, List<T_Service_NucleicAcidInfo> lst)
{
try
{
db.Ado.BeginTran();
if (SqlFunc.IsNullOrEmpty(model.GUID))
{
model.GUID = Guid.NewGuid().ToString();
db.Insertable(model).IgnoreColumns(ignoreNullColumn: true).ExecuteCommand();
}
else
{
db.Updateable(model).IgnoreColumns(it => new { it.ID }).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand();
}
if (lst.Count > 0)
{
db.Deleteable<T_Service_NucleicAcidInfo>().In(it => it.PatientGUID, model.PatientGUID).ExecuteCommand();
for (int i = 0; i < lst.Count; i++)
{
if (SqlFunc.IsNullOrEmpty(lst[i].GUID))
{
lst[i].GUID = Guid.NewGuid().ToString();
db.Insertable(lst[i]).ExecuteCommand();
}
}
}
db.Ado.CommitTran();
return true;
}
catch (System.Exception ex)
{
db.Ado.RollbackTran();
Help.WriteErrorLog("疫情告知保存接口", ex.ToString());
return false;
}
}
#endregion
#region 改
/// <summary>
/// 更新一条数据
/// </summary>
public bool Update(T_Service_EpidemicNotification model)
{
return db.Updateable(model).ExecuteCommand() == 0 ? false : true;
}
#endregion
#region 查
/// <summary>
/// 得到一个对象实体
/// </summary>
public EpidemicNotificationModel GetInfo(string patientGuid)
{
EpidemicNotificationModel model = new EpidemicNotificationModel();
model.NucleicAcidLst = new List<NucleicAcidModel>();
var oneClass = db.Queryable<T_Service_EpidemicNotification>()
.Where(i => i.PatientGUID == patientGuid)
.Select(i => new EpidemicNotificationModel()
{
PatientGUID = i.GUID,
Question_1 = i.Question_1,
Question_2 = i.Question_2,
Question_3 = i.Question_3,
Question_4 = i.Question_4,
Question_5 = i.Question_5,
Question_6 = i.Question_6,
SignatureDoctor = i.SignatureDoctor,
PatientSignature = i.PatientSignature,
Relationship = i.Relationship,
SignatureDate = i.SignatureDate,
HealthCode = i.HealthCode
}).First();
if (oneClass != null)
{
model.PatientGUID = oneClass.PatientGUID;
model.Question_1 = oneClass.Question_1;
model.Question_2 = oneClass.Question_2;
model.Question_3 = oneClass.Question_3;
model.Question_4 = oneClass.Question_4;
model.Question_5 = oneClass.Question_5;
model.Question_6 = oneClass.Question_6;
model.SignatureDoctor = oneClass.SignatureDoctor;
model.PatientSignature = oneClass.PatientSignature;
model.Relationship = oneClass.Relationship;
model.SignatureDate = oneClass.SignatureDate;
model.HealthCode = oneClass.HealthCode;
}
var twoClass = db.Queryable<T_Service_NucleicAcidInfo>()
.Where(i => i.PatientGUID == patientGuid && i.DeleteFlag == 0)
.Select(i => new NucleicAcidModel()
{
GUID = i.GUID,
InspectionTime = i.InspectionTime,
InspectionResults = i.InspectionResults
}).ToList();
if (twoClass != null)
{
model.NucleicAcidLst = twoClass;
}
return model;
}
/// <summary>
/// 获取疫情告知信息--打印
/// </summary>
/// <param name="patientGuid"></param>
/// <returns></returns>
public EpidemicNotificationPrintModel GetEpidemicNotificationOfPrint(string patientGuid)
{
EpidemicNotificationPrintModel model = new EpidemicNotificationPrintModel();
var oneclass = db.Queryable<T_Service_EpidemicNotification>().Where(i => i.PatientGUID == patientGuid).First();
var twoclass = db.Queryable<T_Service_NucleicAcidInfo>().Where(i => i.PatientGUID == patientGuid && i.DeleteFlag == 0).OrderBy(i => i.InspectionTime, OrderByType.Desc).ToList();
if (oneclass != null)
{
model.Question_1 = oneclass.Question_1;
model.Question_2 = oneclass.Question_2;
model.Question_3 = oneclass.Question_3;
model.Question_4 = oneclass.Question_4;
model.Question_5 = oneclass.Question_5;
model.Question_6 = oneclass.Question_6;
model.HealthCode = oneclass.HealthCode;
model.Relationship = oneclass.Relationship;
model.SignatureDate = oneclass.SignatureDate;
}
if (twoclass.Count == 1)
{
model.InspectionResults1 = twoclass[0].InspectionResults;
model.InspectionTime1 = twoclass[0].InspectionTime;
}
if (twoclass.Count == 2)
{
model.InspectionResults1 = twoclass[0].InspectionResults;
model.InspectionTime1 = twoclass[0].InspectionTime;
model.InspectionResults2 = twoclass[1].InspectionResults;
model.InspectionTime2 = twoclass[1].InspectionTime;
}
if (twoclass.Count == 3)
{
model.InspectionResults1 = twoclass[0].InspectionResults;
model.InspectionTime1 = twoclass[0].InspectionTime;
model.InspectionResults2 = twoclass[1].InspectionResults;
model.InspectionTime2 = twoclass[1].InspectionTime;
model.InspectionResults3 = twoclass[2].InspectionResults;
model.InspectionTime3 = twoclass[2].InspectionTime;
}
if (twoclass.Count == 4)
{
model.InspectionResults1 = twoclass[0].InspectionResults;
model.InspectionTime1 = twoclass[0].InspectionTime;
model.InspectionResults2 = twoclass[1].InspectionResults;
model.InspectionTime2 = twoclass[1].InspectionTime;
model.InspectionResults3 = twoclass[2].InspectionResults;
model.InspectionTime3 = twoclass[2].InspectionTime;
model.InspectionResults4 = twoclass[3].InspectionResults;
model.InspectionTime4 = twoclass[3].InspectionTime;
}
if (twoclass.Count == 5)
{
model.InspectionResults1 = twoclass[0].InspectionResults;
model.InspectionTime1 = twoclass[0].InspectionTime;
model.InspectionResults2 = twoclass[1].InspectionResults;
model.InspectionTime2 = twoclass[1].InspectionTime;
model.InspectionResults3 = twoclass[2].InspectionResults;
model.InspectionTime3 = twoclass[2].InspectionTime;
model.InspectionResults4 = twoclass[3].InspectionResults;
model.InspectionTime4 = twoclass[3].InspectionTime;
model.InspectionResults5 = twoclass[4].InspectionResults;
model.InspectionTime5 = twoclass[4].InspectionTime;
}
return model;
}
public T_Service_EpidemicNotification Get(string patientGuid)
{
return db.Queryable<T_Service_EpidemicNotification>().First(i => i.PatientGUID == patientGuid);
}
#endregion
}
}