You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

100 lines
2.4 KiB
C#

using System.Diagnostics.CodeAnalysis;
using DS.WMS.Core.Op.Entity;
namespace DS.WMS.Core.Fee.Dtos
{
/// <summary>
/// 审批请求基类
/// </summary>
public class AuditRequestBase
{
/// <summary>
/// 审核结果1=通过2=驳回
/// </summary>
public int Result { get; set; }
/// <summary>
/// 审批备注
/// </summary>
public string? Remark { get; set; }
}
/// <summary>
/// 按业务类型一致的审批请求
/// </summary>
public class AuditRequest : AuditRequestBase
{
/// <summary>
/// 审批的ID
/// </summary>
public long[] Ids { get; set; }
/// <summary>
/// 业务类型
/// </summary>
public BusinessType? BusinessType { get; set; }
6 months ago
}
/// <summary>
/// 不同业务类型的审批请求
/// </summary>
public class BizAuditRequest : AuditRequestBase
6 months ago
{
public string? QueryCondition { get; set; }
5 months ago
public List<BizItem> Items { get; set; }
6 months ago
}
5 months ago
public class BizItem
6 months ago
{
public static readonly BizItemComparer DefaultComparer = new BizItemComparer();
5 months ago
/// <summary>
/// 业务ID
/// </summary>
6 months ago
public long Id { get; set; }
5 months ago
/// <summary>
/// 业务类型
/// </summary>
6 months ago
public BusinessType BusinessType { get; set; }
public class BizItemComparer : IEqualityComparer<BizItem>
{
public bool Equals(BizItem? x, BizItem? y)
{
if (x == null || y == null)
return false;
return x.Id == y.Id && x.BusinessType == y.BusinessType;
}
public int GetHashCode([DisallowNull] BizItem obj)
{
return obj.Id.GetHashCode() ^ (int)obj.BusinessType;
}
}
}
public class BizOperation
{
/// <summary>
/// 请求值object类型根据业务按需传值
/// </summary>
public object Value { get; set; }
/// <summary>
/// 业务ID与类型
/// </summary>
5 months ago
public List<BizItem> Items { get; set; }
}
5 months ago
public class AuditDetailRequest : BizItem
{
public string? QueryCondition { get; set; }
public bool AuditOnly { get; set; }
}
}