using FluentValidation; using OASystem.Domain.Enums; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace OASystem.Domain.Dtos.PersonnelModule { /// <summary> /// 物品DTO /// </summary> public class GoodsDTO { } #region 物品 DTO /// <summary> /// 物品List DTO /// </summary> public class GoodsListDTO : DtoBase { /// <summary> /// 类型Id /// 全部类型:"" /// 其他类型:"1,2,3,4,5" /// </summary> public string TypeIds { get; set; } public string GoodsName { get; set; } } /// <summary> /// 物品 OP DTO /// </summary> public class GoodsOPDTO { /// <summary> /// ID编号 /// ID > 0 Edit /// ID < 1 Add /// </summary> public int Id { get; set; } /// <summary> /// 物品名称 /// </summary> public string Name { get; set; } /// <summary> /// 类型 /// </summary> public int Type { get; set; } /// <summary> /// 备注 /// </summary> public string Remark { get; set; } } /// <summary> /// 物品 OP DTO /// Validator /// </summary> public class GoodsOPDTOValidator : AbstractValidator<GoodsOPDTO> { /// <summary> /// 初始化 /// </summary> public GoodsOPDTOValidator() { //RuleFor(x => x.CurrUserId).Must(x => x > 0).WithMessage("请传入当前登陆用户ID!"); RuleFor(x => x.Name).NotEmpty().WithMessage("物品名称为空!"); RuleFor(x => x.Type).Must(x => x > 0).WithMessage("物品所属类型未选择!"); } } #endregion #region 物品入库 DTO /// <summary> /// 物品入库List DTO /// </summary> public class GoodsStorageListDTO : DtoBase { /// <summary> /// 物品Id /// </summary> public int GoodsId { get; set; } } /// <summary> /// 物品入库 操作(Create Or Edit) /// </summary> public class GoodsStorageOPDTO { /// <summary> /// ID编号 /// ID > 0 Edit /// ID < 1 Add /// </summary> public int Id { get; set; } /// <summary> /// 商品Id /// </summary> public int GoodsId { get; set; } /// <summary> /// 此次入库数量 /// </summary> public decimal Quantity { get; set; } /// <summary> /// 此次物品单价 /// </summary> public decimal UnitPrice { get; set; } /// <summary> /// 此次物品总价 /// </summary> public decimal TotalPrice { get; set; } /// <summary> /// 此次供应商名称 /// </summary> public string? SupplierName { get; set; } /// <summary> /// 此次供应商电话 /// </summary> public string? SupplierTel { get; set; } /// <summary> /// 此次供应商地址 /// </summary> public string? SupplierAddress { get; set; } /// <summary> /// 此次供应商来源 /// </summary> public string? SupplierSource { get; set; } /// <summary> /// 备注 /// </summary> public string Remark { get; set; } } /// <summary> /// 物品入库 操作(Create Or Edit) /// Validator /// </summary> public class GoodsStorageOPDTOValidator : AbstractValidator<GoodsStorageOPDTO> { /// <summary> /// 初始化 /// </summary> public GoodsStorageOPDTOValidator() { //RuleFor(x => x.CurrUserId).Must(x => x > 0).WithMessage("请传入当前登陆用户ID!"); RuleFor(x => x.GoodsId).Must(x => x > 0).WithMessage("请传入有效的物品Id!"); RuleFor(x => x.Quantity).Must(x => x > 0).WithMessage("请传入有效的物品数量!"); RuleFor(x => x.UnitPrice).Must(x => x > 0).WithMessage("请传入有效的物品单价!"); RuleFor(x => x.TotalPrice).Must(x => x > 0).WithMessage("请传入有效的物品价格合计!"); } } #endregion #region 物品领用 /// <summary> /// 物品领用List DTO /// </summary> public class GoodsReceiveListDTO : DtoBase { /// <summary> /// 物品Id /// </summary> public int GoodsId { get; set; } /// <summary> /// 当前登录UserId /// </summary> public int CurrUserId { get; set; } } /// <summary> /// 物品领用 OP DTO /// </summary> public class GoodsReceiveOPDTO { /// <summary> /// ID /// Id > 0 修改 /// Id < 1 添加 /// </summary> public int Id { get; set; } /// <summary> /// 团组Id /// Grp_DelegationInfo Id /// </summary> public int GroupId { get; set; } /// <summary> /// 商品Id /// Pm_GoodsInfo Id /// </summary> public int GoodsId { get; set; } /// <summary> /// 领用数量 /// </summary> public decimal Quantity { get; set; } /// <summary> /// 领用原因 /// </summary> public string? Reason { get; set; } /// <summary> /// 备注 /// </summary> public string? Remark { get; set; } } /// <summary> /// 物品领用 OP /// Validator /// </summary> public class GoodsReceiveOPDTOValidator : AbstractValidator<GoodsReceiveOPDTO> { /// <summary> /// 初始化 /// </summary> public GoodsReceiveOPDTOValidator() { RuleFor(x => x.GoodsId).Must(x => x > 0).WithMessage("请传入有效的物品Id!"); RuleFor(x => x.Quantity).Must(x => x > 0).WithMessage("请传入有效的物品数量!"); RuleFor(x => x.Reason).NotEmpty().WithMessage("请填写领用原由!"); } } /// <summary> /// 物品领用 Audit DTO /// </summary> public class GoodsReceiveAuditDTO { /// <summary> /// 数据ID string /// 1,2,3,4 /// </summary> public string Label { get; set; } /// <summary> /// 审核状态 /// </summary> public GoodsAuditEnum AuditEnum { get; set; } } /// <summary> /// 物品领用 Audit /// Validator /// </summary> public class GoodsReceiveAuditDTOValidator : AbstractValidator<GoodsReceiveAuditDTO> { /// <summary> /// 初始化 /// </summary> public GoodsReceiveAuditDTOValidator() { RuleFor(x => x.Label).NotEmpty().WithMessage("数据ID字符串为空!"); } } #endregion }