213 lines
8.6 KiB
C#
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
|
|
}
|
|
}
|