using System; using System.Collections; using System.Collections.Generic; using System.Linq; using BWP.B3ButcherManage.BO; using BWP.B3ExportBase; using BWP.B3ExportBase.BL; using BWP.B3Frameworks; using Forks.EnterpriseServices; using Forks.EnterpriseServices.BusinessInterfaces; using TSingSoft.WebPluginFramework; namespace BWP.B3ButcherManageExport.BL { [BusinessInterface(typeof(PayToEasVoucherBL))] public interface IPayToEasVoucherBL : IEasVoucherBL { void Export(List dmoIDs, long extSystemID, DateTime? date); } [LogicName("屠宰付款单导EAS凭证")] [BindToFeature("B3ButcherManageExport.0001")] [ExportID(B3FrameworksConsts.DmoTypeIDBases.B3ButcherManageExport, B3ButcherManageExportConsts.ExportIDOffsets.PayToEasVoucher)] public class PayToEasVoucherBL : EasVoucherBL, IPayToEasVoucherBL { private DateTime _date; public DateTime Date { get { return _date; } set { _date = value; } } public void Export(List dmoIDs, long extSystemID, DateTime? date) { _date = date ?? BLContext.Today; Export(dmoIDs, extSystemID); } public IEnumerable GroupBySupplier(IEnumerable dmos) { return dmos.GroupBy(x => x.Supplier_ID); } public IEnumerable GroupByMonth(IEnumerable dmos) { return dmos.GroupBy(x => (x.Date ?? BLContext.Today).Month); } public IEnumerable GroupByAccount(IEnumerable dmos) { return dmos.GroupBy(x => x.Account_ID); } public IEnumerable GroupByAccountingUnit(IEnumerable dmos) { return dmos.GroupBy(x => x.AccountingUnit_ID); } public decimal SumMoney(IEnumerable dmos) { return dmos.Sum(x => (x.Money ?? 0).Value); } } }