using Prism.Mvvm; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Security.Principal; using System.Text; using System.Threading.Tasks; namespace DM_Weight.Models { [SugarTable("dm_machine_record")] public class MachineRecord : BindableBase { /// /// 主键 /// [SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true)] public int Id { get; set; } /// /// 设备id /// [SugarColumn(ColumnName = "machine_id")] public string MachineId { get; set; } /// /// 药品id /// [SugarColumn(ColumnName = "drug_id")] public string DrugId { get; set; } [Navigate(NavigateType.ManyToOne, nameof(DrugId))] public DrugInfo DrugInfo { get; set; } /// /// 数量 /// [SugarColumn(ColumnName = "quantity")] public int Quantity { get; set; } //[SugarColumn(ColumnName = "stock_quantity")] //public int? StockQuantity { get; set; } //[SugarColumn(ColumnName = "check_quantity")] //public int? CheckQuantity { get; set; } /// /// 批号 /// [SugarColumn(ColumnName = "manu_no")] public string ManuNo { get; set; } /// /// 操作人id /// [SugarColumn(ColumnName = "operator")] public int? Operator { get; set; } [Navigate(NavigateType.ManyToOne, nameof(Operator))] public UserList User { get; set; } /// /// 审核人id /// [SugarColumn(ColumnName = "reviewer")] public int? Reviewer { get; set; } /// /// 操作时间 /// 默认值: CURRENT_TIMESTAMP /// [SugarColumn(ColumnName = "operation_time")] public DateTime OperationTime { get; set; } /// /// 效期 /// [SugarColumn(ColumnName = "eff_date")] public DateTime? EffDate { get; set; } /// /// 出库入库类型(1入库2出库31还药32还空瓶) /// [SugarColumn(ColumnName = "type")] public int Type { get; set; } /// ///操作类型(1放入药箱;0取走药箱) /// [SugarColumn(ColumnName = "option_type")] public int OptionType { get; set; } /// /// 出入库调拨单id /// [SugarColumn(ColumnName = "invoice_id")] public string InvoiceId { get; set; } /// /// 列号 /// [SugarColumn(ColumnName = "col_no")] public int ColNo { get; set; } /// /// 抽屉号 /// [SugarColumn(ColumnName = "drawer_no")] public int DrawerNo { get; set; } /// /// 取药科室 /// [SugarColumn(ColumnName = "department_id")] public string DepartmentId { get; set; } /// /// 是否已经退药(0:没有1:还了部分2:完成) /// 默认值: 0 /// [SugarColumn(ColumnName = "status", IsOnlyIgnoreInsert = true)] public int Status { get; set; } /// /// 退药量 /// 默认值: 0 /// private int returnQuantity1; [SugarColumn(ColumnName = "return_quantity1", IsOnlyIgnoreInsert = true)] public int ReturnQuantity1 { get => returnQuantity1; set => SetProperty(ref returnQuantity1, value); } /// /// 退空瓶量 /// 默认值: 0 /// private int returnQuantity2; [SugarColumn(ColumnName = "return_quantity2", IsOnlyIgnoreInsert = true)] public int ReturnQuantity2 { get => returnQuantity2; set => SetProperty(ref returnQuantity2, value); } /// /// 取药记录id /// [SugarColumn(ColumnName = "get_id")] public int? GetId { get; set; } /// /// 是否已经销毁 /// 默认值: 0 /// [SugarColumn(ColumnName = "is_destroy", IsOnlyIgnoreInsert = true)] public int? IsDestroy { get; set; } /// /// 销毁操作人 /// 默认值: 0 /// [SugarColumn(ColumnName = "take_user", IsOnlyIgnoreInsert = true)] public string TakeUser { get; set; } /// /// 销毁审核人 /// 默认值: 0 /// [SugarColumn(ColumnName = "fuzeren", IsOnlyIgnoreInsert = true)] public string DestoryReviewerUser { get; set; } [SugarColumn(IsIgnore = true)] public int CanReturnQuantity { get => Quantity - ReturnQuantity1 - ReturnQuantity2; } [SugarColumn(IsIgnore = true)] public bool IsSelected { get; set; } /// /// 已核销数量 /// private int hasCheckNum; [SugarColumn(IsIgnore = true)] public int HasCheckNum { get => hasCheckNum; set => SetProperty(ref hasCheckNum, value); } private int checkQuantity; /// /// 核销数量 /// [SugarColumn(IsIgnore = true)] public int CheckQuantity { get => checkQuantity; set { if (value > Quantity - hasCheckNum) { throw new ArgumentException("核销数量不能大于取药数量"); } //退空瓶 ReturnQuantity2 = value + hasCheckNum; //退药量 ReturnQuantity1 = Quantity - value - hasCheckNum; SetProperty(ref checkQuantity, value); } } [Navigate(NavigateType.OneToMany, nameof(SurgicalScheduleDetail.GetRecordId))] public List _SurgicalScheduleDetailLst { get; set; } } }