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

55 lines
1.8 KiB

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<Pay> {
void Export(List<long> dmoIDs, long extSystemID, DateTime? date);
}
[LogicName("屠宰付款单导EAS凭证")]
[BindToFeature("B3ButcherManageExport.0001")]
[ExportID(B3FrameworksConsts.DmoTypeIDBases.B3ButcherManageExport, B3ButcherManageExportConsts.ExportIDOffsets.PayToEasVoucher)]
public class PayToEasVoucherBL : EasVoucherBL<Pay>, IPayToEasVoucherBL {
private DateTime _date;
public DateTime Date {
get { return _date; }
set { _date = value; }
}
public void Export(List<long> dmoIDs, long extSystemID, DateTime? date) {
_date = date ?? BLContext.Today;
Export(dmoIDs, extSystemID);
}
public IEnumerable GroupBySupplier(IEnumerable<Pay> dmos) {
return dmos.GroupBy(x => x.Supplier_ID);
}
public IEnumerable GroupByMonth(IEnumerable<Pay> dmos) {
return dmos.GroupBy(x => (x.Date ?? BLContext.Today).Month);
}
public IEnumerable GroupByAccount(IEnumerable<Pay> dmos) {
return dmos.GroupBy(x => x.Account_ID);
}
public IEnumerable GroupByAccountingUnit(IEnumerable<Pay> dmos) {
return dmos.GroupBy(x => x.AccountingUnit_ID);
}
public decimal SumMoney(IEnumerable<Pay> dmos) {
return dmos.Sum(x => (x.Money ?? 0).Value);
}
}
}