using System.Diagnostics.CodeAnalysis;
using DS.WMS.Core.Op.Entity;
namespace DS.WMS.Core.Fee.Dtos
{
///
/// 审批请求基类
///
public class AuditRequestBase
{
///
/// 审核结果:1=通过,2=驳回
///
public int Result { get; set; }
///
/// 审批备注
///
public string? Remark { get; set; }
}
///
/// 按业务类型一致的审批请求
///
public class AuditRequest : AuditRequestBase
{
///
/// 审批的ID
///
public long[] Ids { get; set; }
///
/// 业务类型
///
public BusinessType? BusinessType { get; set; }
}
///
/// 不同业务类型的审批请求
///
public class BizAuditRequest : AuditRequestBase
{
public string? QueryCondition { get; set; }
public List Items { get; set; }
}
public class BizItem
{
public static readonly BizItemComparer DefaultComparer = new BizItemComparer();
///
/// 业务ID
///
public long Id { get; set; }
///
/// 业务类型
///
public BusinessType BusinessType { get; set; }
public class BizItemComparer : IEqualityComparer
{
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
{
///
/// 请求值(object类型,根据业务按需传值)
///
public object Value { get; set; }
///
/// 业务ID与类型
///
public List Items { get; set; }
}
public class AuditDetailRequest : BizItem
{
public string? QueryCondition { get; set; }
public bool AuditOnly { get; set; }
}
}