188 lines
8.3 KiB
C#
188 lines
8.3 KiB
C#
using HL_FristAidPlatform_Help;
|
|
using HL_FristAidPlatform_IDataBase;
|
|
using HL_FristAidPlatform_Models;
|
|
using SqlSugar;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
namespace HL_FristAidPlatform_DataBase
|
|
{
|
|
//T_Service_FirstAid_DrugManagement
|
|
public class T_Service_FirstAid_DrugManagementDB : BaseDB, IT_Service_FirstAid_DrugManagement
|
|
{
|
|
public SqlSugarClient db = GetClient();
|
|
|
|
/// <summary>
|
|
/// 增加一条数据
|
|
/// </summary>
|
|
public bool Add(T_Service_FirstAid_DrugManagement model)
|
|
{
|
|
var info = db.Queryable<T_Service_FirstAid_DrugManagement>().Where(i => i.DrugGUID == model.DrugGUID && i.BatchNumber == model.BatchNumber && i.TermOfValidity == model.TermOfValidity && i.State == 0 && i.DrugSource == model.DrugSource && i.Manufacturer == model.Manufacturer).First();
|
|
|
|
if (!SqlFunc.IsNullOrEmpty(info))
|
|
{
|
|
model.GUID = info.GUID;
|
|
model.Inventory = info.Inventory + model.Inventory;
|
|
return db.Updateable(model).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand() == 0 ? false : true;
|
|
}
|
|
else
|
|
{
|
|
return db.Insertable(model).ExecuteCommand() == 0 ? false : true;
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更新一条数据
|
|
/// </summary>
|
|
public bool Update(T_Service_FirstAid_DrugManagement model)
|
|
{
|
|
return db.Updateable(model).ExecuteCommand() == 0 ? false : true;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除一条数据
|
|
/// </summary>
|
|
public bool LogicalDeletionDrug(GUIDModel model)
|
|
{
|
|
return db.Updateable<T_Service_FirstAid_DrugManagement>().SetColumns(it => new T_Service_FirstAid_DrugManagement() { DeleteFlag = 1 }).Where(it => it.GUID == model.GUID).ExecuteCommand() == 0 ? false : true;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取单个数据
|
|
/// </summary>
|
|
public T_Service_FirstAid_DrugManagement Get(string GUID)
|
|
{
|
|
return db.Queryable<T_Service_FirstAid_DrugManagement>().Where(it => it.GUID == GUID).First();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 待审核药品列表
|
|
/// </summary>
|
|
/// <param name="hospitalGuid"></param>
|
|
/// <returns></returns>
|
|
public TableModel<FirstAid_DrugManagementModel> GetGrugExamineList(string hospitalGuid)
|
|
{
|
|
List<FirstAid_DrugManagementModel> list = new List<FirstAid_DrugManagementModel>();
|
|
list = db.Queryable<T_Service_FirstAid_DrugManagement, T_Base_Drug, T_SYS_User>((a, b, c) => new JoinQueryInfos(
|
|
JoinType.Inner, a.DrugGUID == b.GUID,
|
|
JoinType.Inner, a.CheckInUserID == c.ID
|
|
)) .Where((a, b) => a.HospitalGuid == hospitalGuid && a.State == 0 && a.DeleteFlag == 0)
|
|
.Select((a, b, c) => new FirstAid_DrugManagementModel
|
|
{
|
|
Name = b.Name,
|
|
LargeUnit = b.LargeUnit,
|
|
SmallUnit = b.SmallUnit,
|
|
DosageForm = b.DosageForm,
|
|
DrugClassify = b.DrugClassify,
|
|
ManagementGUID = a.GUID,
|
|
BatchNumber = a.BatchNumber,
|
|
DrugSource = a.DrugSource,
|
|
Manufacturer = a.Manufacturer,
|
|
TermOfValidity = a.TermOfValidity.ToString("yyyy-MM-dd"),
|
|
Inventory = a.Inventory,
|
|
Number = a.Number,
|
|
CheckInUser = c.FullName,
|
|
CreateTime=a.CreationTime
|
|
}).OrderBy("CreateTime desc").ToList();
|
|
TableModel<FirstAid_DrugManagementModel> t = new TableModel<FirstAid_DrugManagementModel>();
|
|
t.Code = 0;
|
|
t.PageCount = list.Count;
|
|
t.TotalNumber = list.Count;
|
|
t.Data = list;
|
|
t.Msg = "成功";
|
|
return t;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 药品列表
|
|
/// </summary>
|
|
/// <param name="hospitalGuid"></param>
|
|
/// <param name="drugName"></param>
|
|
/// <param name="batchNumber"></param>
|
|
/// <param name="manufacturer"></param>
|
|
/// <param name="temporary"></param>
|
|
/// <param name="expired"></param>
|
|
/// <param name="pageIndex"></param>
|
|
/// <param name="pageSize"></param>
|
|
/// <returns></returns>
|
|
public TableModel<FirstAid_DrugManagementModel> GetPageList(string hospitalGuid, string drugName, string batchNumber, string manufacturer, bool temporary, bool expired, int pageIndex, int pageSize)
|
|
{
|
|
|
|
int total = 0;
|
|
List<FirstAid_DrugManagementModel> list = new List<FirstAid_DrugManagementModel>();
|
|
list = db.Queryable<T_Service_FirstAid_DrugManagement, T_Base_Drug>((a, b) => new JoinQueryInfos(
|
|
JoinType.Inner, a.DrugGUID == b.GUID
|
|
)).Where((a, b) => a.HospitalGuid == hospitalGuid && a.DeleteFlag == 0)
|
|
.WhereIF(!SqlFunc.IsNullOrEmpty(drugName), (a, b) => b.Name.Contains(drugName))
|
|
.WhereIF(!SqlFunc.IsNullOrEmpty(batchNumber), (a, b) => a.BatchNumber == batchNumber)
|
|
.WhereIF(!SqlFunc.IsNullOrEmpty(manufacturer), (a, b) => a.Manufacturer.Contains(manufacturer))
|
|
.WhereIF(temporary == true, (a, b) => SqlFunc.Between(a.TermOfValidity, DateTime.Now, DateTime.Now.AddDays(30)))
|
|
.WhereIF(expired == true, (a, b) => a.TermOfValidity < DateTime.Now)
|
|
.Select((a, b) => new FirstAid_DrugManagementModel
|
|
{
|
|
Name = b.Name,
|
|
LargeUnit = b.LargeUnit,
|
|
SmallUnit = b.SmallUnit,
|
|
DosageForm = b.DosageForm,
|
|
DrugClassify = b.DrugClassify,
|
|
ManagementGUID = a.GUID,
|
|
DrugGUID = a.DrugGUID,
|
|
BatchNumber = a.BatchNumber,
|
|
DrugSource = a.DrugSource,
|
|
Manufacturer = a.Manufacturer,
|
|
TermOfValidity = a.TermOfValidity.ToString("yyyy-MM-dd"),
|
|
Inventory = a.Inventory,
|
|
Number = a.Number,
|
|
State = a.State,
|
|
CreateTime = a.CreationTime
|
|
}).OrderBy("CreateTime desc").ToPageList(pageIndex, pageSize, ref total);
|
|
TableModel<FirstAid_DrugManagementModel> t = new TableModel<FirstAid_DrugManagementModel>();
|
|
t.Code = 0;
|
|
t.PageCount = list.Count;
|
|
t.TotalNumber = total;
|
|
t.Data = list;
|
|
t.Msg = "成功";
|
|
return t;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 药品信息详情
|
|
/// </summary>
|
|
/// <param name="guid"></param>
|
|
/// <returns></returns>
|
|
public DrugDetailModel GetDrugDetail(string guid)
|
|
{
|
|
DrugDetailModel drug = new DrugDetailModel();
|
|
drug = db.Queryable<T_Service_FirstAid_DrugManagement, T_Base_Drug, T_SYS_User, T_SYS_User, T_SYS_User>((a, b, c, d, e) => new JoinQueryInfos(
|
|
JoinType.Inner, a.DrugGUID == b.GUID,
|
|
JoinType.Inner, a.CheckInUserID == c.ID,
|
|
JoinType.Left, a.UpdateUserID == d.ID,
|
|
JoinType.Left, a.ReviewerUserID == e.ID))
|
|
.Where((a, b) => a.DeleteFlag == 0)
|
|
.Where((a, b) => a.GUID == guid)
|
|
.Select((a, b, c, d, e) => new DrugDetailModel
|
|
{
|
|
GUID = a.GUID,
|
|
Name = b.Name,
|
|
LargeUnit = b.LargeUnit,
|
|
SmallUnit = b.SmallUnit,
|
|
DosageForm = b.DosageForm,
|
|
DrugClassify = b.DrugClassify,
|
|
BatchNumber = a.BatchNumber,
|
|
DrugSource = a.DrugSource,
|
|
Manufacturer = a.Manufacturer,
|
|
Inventory = a.Inventory,
|
|
Number = a.Number,
|
|
TermOfValidity = a.TermOfValidity.ToString("yyyy-MM-dd"),
|
|
State = a.State,
|
|
CheckInUser = c.FullName,
|
|
UpdateUser = d.FullName,
|
|
ReviewerUser = e.FullName,
|
|
CreationTime=a.CreationTime.ToString("yyyy-MM-dd HH:mm:ss")
|
|
}).First();
|
|
return drug;
|
|
}
|
|
|
|
|
|
}
|
|
} |