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.
 
 

72 lines
2.2 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using BWP.B3ButcherManage.BO;
using BWP.B3ExportBase;
using BWP.B3ExportBase.BL;
using BWP.B3ExportBase.BO;
using BWP.B3Frameworks;
using Forks.EnterpriseServices;
using Forks.EnterpriseServices.BusinessInterfaces;
using TSingSoft.WebPluginFramework;
using TSingSoft.WebPluginFramework.BIPlugins.BLEvents;
namespace BWP.B3ButcherManageExport.BL.NC.AdvancePayToNcBL_
{
[BusinessInterface(typeof(AdvancePayToNcBL))]
public interface IAdvancePayToNcBL : INcBL<AdvancePay>
{
void Export(List<long> idList, long p, DateTime? nullable);
}
[LogicName("预付款单导NC凭证")]
[BindToFeature("B3ButcherManageExport.0003")]
[ExportID(B3FrameworksConsts.DmoTypeIDBases.B3ButcherManageExport, B3ButcherManageExportConsts.ExportIDOffsets.AdvancePayToNc)]
public class AdvancePayToNcBL : NcBL<AdvancePay>, IAdvancePayToNcBL
{
protected override NcUfinterface CreateUfinterface(IList<AdvancePay> dmos)
{
var scriptHelper = new PythonScriptHelper(string.Empty, Config.Script, this);
scriptHelper.AddLocalVar("dmos", dmos);
switch (Version)
{
case "6.3":
{
var bills = BO.NcVouchers.New();
scriptHelper.AddLocalVar("vouchers", bills);
scriptHelper.Execute();
var i = 0;
foreach (var bill in bills.Bills)
{
BillIDs.Add(i, bill.B2BillIDs);
i++;
}
return bills;
}
}
throw new Exception("未实现导出方法");
}
public override short GetMethodID()
{
return B3FrameworksConsts.DmoTypeIDBases.B3ButcherManageExport + B3ButcherManageExportConsts.ExportIDOffsets.AdvancePayToNc;
}
public DateTime Date { get; set; }
public void Export(List<long> dmoIDs, long extSystemID, DateTime? date)
{
Date = date ?? BLContext.Today;
Export(dmoIDs, extSystemID);
}
public void CheckAccountingUnit(IEnumerable<AdvancePay> dmos)
{
var groups = dmos.GroupBy(x => x.AccountingUnit_Name);
var count = groups.Count();
if (count > 1)
{
throw new ApplicationException("一次导出只能选择同一个会计单位下的单据");
}
}
}
}