using System; using System.Collections.Generic; using CYG.AutoWriteOffWizardEditPlugInEx.FIN.App.Core; using Kingdee.BOS; using Kingdee.BOS.Apm; using Kingdee.BOS.Core.DynamicForm; using Kingdee.K3.FIN.App.Core; using Kingdee.K3.FIN.App.Core.Match; using Kingdee.K3.FIN.App.Core.Match.Object; using Kingdee.K3.FIN.Core.Match; using Kingdee.K3.FIN.Core.Match.Object; using Kingdee.K3.FIN.Core.Parameters; namespace CYG.AutoWriteOffWizardEditPlugInEx { public class MatchServiceEx : MatchService { public override IOperationResult WriteOffMatch(Context ctx, MatchParameters para, List> schemeMatchDatas) { MatchProcessEx matchProcess = new MatchProcessEx(); if (ApmConfig.IsOpenApm()) { matchProcess = ApmProxyHelper.CreateProxy(typeof(MatchProcessEx)); } MatchCalParameters para2 = CalPara(ctx, para); return matchProcess.WriteOffMatch(ctx, para2, schemeMatchDatas); } private MatchCalParameters CalPara(Context ctx, MatchParameters para) { MatchCalParameters matchCalParameters = new MatchCalParameters(); matchCalParameters.BillDirection = para.BillDirection; matchCalParameters.FilterFromId = para.FilterFromId; matchCalParameters.IsUnMatch = para.IsUnMatch; matchCalParameters.MatchBillEntrys.AddRange(para.MatchBillEntrys); matchCalParameters.MatchFromId = para.MatchFromId; matchCalParameters.MatchType = para.MatchType; matchCalParameters.SelectBillFromId = para.SelectBillFromId; matchCalParameters.SettOrg = para.SettOrg; matchCalParameters.SettOrgId = para.SettOrgId; matchCalParameters.SpecialMatch = para.SpecialMatch; matchCalParameters.OrgEndDate = para.OrgEndDate; matchCalParameters.UserId = para.UserId; matchCalParameters.CallBillInfo = para.CallBillInfo; matchCalParameters.InnerClear = para.InnerClear; matchCalParameters.GenBillDate = para.GenBillDate; matchCalParameters.MatchBillDate = para.MatchBillDate; matchCalParameters.MatchStartDate = para.MatchStartDate; matchCalParameters.BatchGeneRecord = para.BatchGeneRecord; matchCalParameters.settleOrgId = para.settleOrgId; matchCalParameters.outCustomerId = para.outCustomerId; matchCalParameters.WriteOff = para.WriteOff; matchCalParameters.MatchMethodID = para.MatchMethodID; matchCalParameters.CurrencyId = para.CurrencyId; matchCalParameters.MultCurrencyId = para.MultCurrencyId; matchCalParameters.SelectedSchemeId = para.SelectedSchemeId; matchCalParameters.ContactUnitId = para.ContactUnitId; matchCalParameters.Date = Convert.ToDateTime(CommonFunction.GetSystemTime(ctx).ToShortDateString()); matchCalParameters.ReversedOperationType = para.ReversedOperationType; matchCalParameters.IsTimingMatch = para.IsTimingMatch; matchCalParameters.MatchTaskId = para.MatchTaskId; matchCalParameters.FilterString = para.FilterString; matchCalParameters.SelectedBillType = para.SelectedBillType; matchCalParameters.MatchControlConfig = GetMatchControl(ctx, para); matchCalParameters.LogMatchID = para.LogMatchID; matchCalParameters.LogMatchIsWriteforData = para.LogMatchIsWriteforData; matchCalParameters.IsRedToBlue = para.IsRedToBlue; matchCalParameters.IsRedToBlueInPushMatch = para.IsRedToBlueInPushMatch; matchCalParameters.isAllRefund = para.isAllRefund; matchCalParameters.transferMode = para.transferMode; matchCalParameters.isWriteOffExpense = para.isWriteOffExpense; matchCalParameters.strUserDefine = para.strUserDefine; matchCalParameters.MustFields = para.MustFields; matchCalParameters.JoinMatch = para.JoinMatch; matchCalParameters.iMatchType = para.iMatchType; matchCalParameters.writenoffBatchList = para.writenoffBatchList; matchCalParameters.WriteOffBatch = para.WriteOffBatch; matchCalParameters.UnMatchType = para.UnMatchType; matchCalParameters.IsNewTimeMatch = para.IsNewTimeMatch; matchCalParameters.filterOrgList = para.filterOrgList; matchCalParameters.IsBadDebt = para.IsBadDebt; matchCalParameters.AllReturnDic = para.AllReturnDic; matchCalParameters.IsAllArrived = para.IsAllArrived; matchCalParameters.ExtDebitDataTime = para.DebitDataTime; matchCalParameters.ExtCreditDataTime = para.CreditDataTime; matchCalParameters.IsBadDebtRecover = para.IsBadDebtRecover; matchCalParameters.RecoverRecBillData = para.RecoverRecBillData; matchCalParameters.baseDataTempTable = para.baseDataTempTable; matchCalParameters.isRedList = para.isRedList; matchCalParameters.IsNoAddBill = para.IsNoAddBill; MatchCommonFunction.InitializationParameter(ctx, matchCalParameters); return matchCalParameters; } private MatchControl GetMatchControl(Context ctx, MatchParameters para) { return MatchCommonFunction.GetMatchControl(ctx, para); } } }