/// <summary> /// 批量审核网上支付记录 /// </summary> /// <param name="netpaySysNoList">netpay系统编号列表</param> public virtual string BatchAudit(List <int> netpaySysNoList) { List <BatchActionItem <NetPayAuditInfo> > items = netpaySysNoList.Select(x => new BatchActionItem <NetPayAuditInfo>() { ID = x.ToString() , Data = new NetPayAuditInfo { AuditUserSysNo = ServiceContext.Current.UserSysNo, SysNo = x } }).ToList(); NetPayProcessor netpayBL = ObjectFactory <NetPayProcessor> .Instance; var result = BatchActionManager.DoBatchAction(items, (info) => { //审核和创建人不能相同 仅限页面 //NetPayInfo netpayInfo = netpayBL.LoadBySysNo(info.SysNo.Value); //if (netpayInfo.InputUserSysNo == info.AuditUserSysNo) //{ // throw new BizException(string.Format(ResouceManager.GetMessageString(InvoiceConst.ResourceTitle.NetPay, "NetPay_InputAndAuditUserCannotSame"), info.SysNo)); //} netpayBL.Audit(info.SysNo.Value); }); return(result.PromptMessage); }
public string ClonePriceChange(List <int> sysNos) { List <BatchActionItem <int> > items = sysNos.Select(p => new BatchActionItem <int> { ID = p.ToString(), Data = p }).ToList(); var bp = ObjectFactory <PriceChangeProcessor> .Instance; BatchActionResult <int> resutl = BatchActionManager.DoBatchAction <int>(items, (sysno) => { PriceChangeMaster item = GetPriceChangeBySysNo(sysno); if (item == null) { //throw new BizException(string.Format("没有找到记录编号为{0}的记录", sysno)); throw new BizException(string.Format(ResouceManager.GetMessageString("Invoice.PriceChange", "PriceChange_NotFounTheRecord"), sysno)); } if (item.Status != RequestPriceStatus.Finished && item.Status != RequestPriceStatus.Aborted) { //throw new BizException(string.Format("记录编号为{0}的记录的状态不是终止状态或已完成状态", sysno)); throw new BizException(string.Format(ResouceManager.GetMessageString("Invoice.PriceChange", "PriceChange_NotStopOrFinshedStatus"), sysno)); } item.Status = RequestPriceStatus.Auditting; bp.ClonePriceChange(item); }); return(resutl.PromptMessage); }
/// <summary> /// 退回供应商 /// </summary> /// <param name="sysNoList"></param> /// <param name="vpCancelReason"></param> /// <returns></returns> public string BatchVPCancel(List <int> sysNoList, string vpCancelReason) { var result = BatchActionManager.DoBatchAction(GetRequestItem(sysNoList), (sysNo) => { processor.VPCancel(sysNo, vpCancelReason); }); return(result.PromptMessage); }
/// <summary> /// 拒绝审核 /// </summary> /// <param name="sysNoList"></param> /// <returns></returns> public string BatchRefuseAPInvoice(List <int> sysNoList) { var result = BatchActionManager.DoBatchAction(GetRequestItem(sysNoList), (sysNo) => { processor.RefuseAudit(sysNo); }); return(result.PromptMessage); }
public string BatchUnAbandonPOVendorInvoice(List <int> sysNoList) { var result = BatchActionManager.DoBatchAction(GetRequestItem(sysNoList), (sysNo) => { processor.UnAbandon(sysNo); }); return(result.PromptMessage); }
public virtual BatchActionResult <TrackingNumberInfo> BatchCreateTrackingNumber(List <TrackingNumberInfo> entityList) { List <BatchActionItem <TrackingNumberInfo> > request = entityList.Select(x => new BatchActionItem <TrackingNumberInfo>() { ID = x.SysNo.ToString(), Data = x }).ToList(); return(BatchActionManager.DoBatchAction(request, entity => ObjectFactory <InvoiceReportProcessor> .Instance.CreateTrackingNumber(entity))); }
/// <summary> /// 批量审核应付款信息 /// </summary> /// <param name="entities"></param> /// <returns></returns> public virtual string BatchAudit(List <PayableInfo> entities) { var request = entities.Select(s => new BatchActionItem <PayableInfo>() { ID = s.SysNo.ToString(), Data = s }).ToList(); var result = BatchActionManager.DoBatchAction(request, entity => this.Audit(entity)); return(result.PromptMessage); }
/// <summary> /// 批量创建付款单 /// </summary> /// <param name="payItemList"></param> public void BatchCreatePayItem(List <PayItemInfo> payItemList) { var request = payItemList.Select(s => new BatchActionItem <PayItemInfo>() { ID = s.SysNo.ToString(), Data = s }).ToList(); var BL = ObjectFactory <PayItemProcessor> .Instance; BatchActionManager.DoBatchAction(request, payItem => BL.Create(payItem)); }
/// <summary> /// 批量设置凭证号 /// </summary> /// <param name="infos"></param> /// <returns></returns> public virtual string BatchMaintainReferenceID(List <OldChangeNewInfo> infos) { var request = infos.Select(s => new BatchActionItem <OldChangeNewInfo>() { ID = s.SysNo.ToString(), Data = s }).ToList(); var result = BatchActionManager.DoBatchAction(request, info => this.MaintainReferenceID(info)); return(result.PromptMessage); }
/// <summary> /// 批量支付付款单 /// </summary> /// <param name="payItemList"></param> /// <returns></returns> public virtual string BatchPay(List <PayItemInfo> payItemList) { var request = payItemList.Select(s => new BatchActionItem <PayItemInfo>() { ID = s.SysNo.ToString(), Data = s }).ToList(); var result = BatchActionManager.DoBatchAction(request, payItem => Pay(payItem, false)); return(result.PromptMessage); }
/// <summary> /// 批量CS审核 /// </summary> /// <param name="sysNoList"></param> /// <returns></returns> public virtual string BatchCSAudit(List <SOIncomeRefundInfo> entitys) { var request = entitys.Select(x => new BatchActionItem <SOIncomeRefundInfo>() { ID = x.SysNo.ToString(), Data = x }).ToList(); var refundBL = ObjectFactory <SOIncomeRefundProcessor> .Instance; var result = BatchActionManager.DoBatchAction(request, entity => { refundBL.CSAudit(entity); }); return(result.PromptMessage); }
/// <summary> /// 批量确认电汇邮局收款单 /// </summary> /// <param name="sysNoList"></param> /// <returns></returns> public virtual string BatchConfirm(List <int> sysNoList) { List <BatchActionItem <int> > items = sysNoList.Select(x => new BatchActionItem <int>() { ID = x.ToString(), Data = x }).ToList(); PostIncomeProcessor postIncomeBL = ObjectFactory <PostIncomeProcessor> .Instance; var result = BatchActionManager.DoBatchAction(items, (sysNo) => { postIncomeBL.Confirm(sysNo); }); return(result.PromptMessage); }
/// <summary> /// 批量设置凭证号 /// </summary> /// <param name="sysNo">收款单系统编号</param> /// <param name="referenceID">凭证号</param> public virtual string BatchSetReferenceID(List <int> sysNoList, string referenceID) { List <BatchActionItem <int> > Request = sysNoList.Select(x => new BatchActionItem <int>() { ID = x.ToString(), Data = x }).ToList(); var soIncomeBL = ObjectFactory <SOIncomeProcessor> .Instance; var result = BatchActionManager.DoBatchAction(Request, sysNo => { soIncomeBL.SetReferenceID(sysNo, referenceID); }); return(result.PromptMessage); }
/// <summary> /// 批量提交报损 /// </summary> /// <param name="sysNoList"></param> /// <returns></returns> public virtual string BatchSubmitTrackingInfo(List <int> sysNoList) { var request = sysNoList.Select(x => new BatchActionItem <int>() { ID = x.ToString(), Data = x }).ToList(); var trackingInfoBL = ObjectFactory <TrackingInfoProcessor> .Instance; var result = BatchActionManager.DoBatchAction(request, sysNo => { trackingInfoBL.SubmitTrackingInfo(sysNo); }); return(result.PromptMessage); }
/// <summary> /// 批量取消审核 /// </summary> /// <param name="sysNoList"></param> /// <returns></returns> public virtual string BatchCancelConfirm(List <int> sysNoList) { List <BatchActionItem <int> > items = sysNoList.Select(x => new BatchActionItem <int>() { ID = x.ToString(), Data = x }).ToList(); var BL = ObjectFactory <BalanceRefundProcessor> .Instance; var result = BatchActionManager.DoBatchAction(items, sysNo => { BL.CancelConfirm(sysNo); }); return(result.PromptMessage); }
public string BatchAbandonResponsibleUser(List <int> sysNoList) { var Request = sysNoList.Select(s => new BatchActionItem <int>() { ID = s.ToString(), Data = s }).ToList(); var BL = ObjectFactory <TrackingInfoProcessor> .Instance; var result = BatchActionManager.DoBatchAction(Request, sysNo => { BL.AbandonResponsibleUser(sysNo); }); return(result.PromptMessage); }
/// <summary> /// 批量创建跟踪单 /// </summary> /// <param name="trackingInfoList"></param> /// <returns></returns> public virtual string BatchCreateTrackingInfo(List <TrackingInfo> trackingInfoList) { var request = trackingInfoList.Select(x => new BatchActionItem <TrackingInfo>() { ID = x.OrderSysNo.ToString(), Data = x }).ToList(); var trackingInfoBL = ObjectFactory <TrackingInfoProcessor> .Instance; var result = BatchActionManager.DoBatchAction(request, trackingInfo => { trackingInfoBL.CreateTrackingInfo(trackingInfo); }); return(result.PromptMessage); }
public string BatchForcesConfirm(List <int> sysNoList) { var request = sysNoList.Select(x => new BatchActionItem <int>() { ID = x.ToString(), Data = x }).ToList(); var soIncomeBL = ObjectFactory <SOIncomeProcessor> .Instance; var result = BatchActionManager.DoBatchAction(request, sysNo => { soIncomeBL.ForcesConfirm(sysNo); }); return(result.PromptMessage); }
/// <summary> /// 批量确认运费支出 /// </summary> /// <param name="netpaySysNoList">系统编号列表</param> public string BatchRealFreightConfirm(List <int> sysNoList) { List <BatchActionItem <int> > items = sysNoList.Select(x => new BatchActionItem <int>() { ID = x.ToString(), Data = x }).ToList(); SOIncomeProcessor soIncomeBL = ObjectFactory <SOIncomeProcessor> .Instance; var result = BatchActionManager.DoBatchAction(items, (info) => { soIncomeBL.RealFreightConfirm(info); }); return(result.PromptMessage); }
/// <summary> /// 批量手动网关退款 /// </summary> /// <param name="batchActionData"></param> /// <returns></returns> public string BatchManualRefund(List <int> sysNoList) { List <BatchActionItem <int> > request = sysNoList.Select(x => new BatchActionItem <int>() { ID = x.ToString(), Data = x }).ToList(); var soIncomeBL = ObjectFactory <SOIncomeProcessor> .Instance; var result = BatchActionManager.DoBatchAction(request, data => { soIncomeBL.ManualBankRefund(data.ToString()); }); return(result.PromptMessage); }
/// <summary> /// 批量取消审核 /// </summary> /// <returns></returns> public virtual string BatchCancelAudit(List <int> sysNoList) { var request = sysNoList.Select(x => new BatchActionItem <int>() { ID = x.ToString(), Data = x }).ToList(); var refundBL = ObjectFactory <SOIncomeRefundProcessor> .Instance; var result = BatchActionManager.DoBatchAction(request, sysNo => { refundBL.CancelAudit(sysNo); }); return(result.PromptMessage); }
/// <summary> /// 批量财务审核 /// </summary> /// <param name="sysNoList"></param> /// <returns></returns> public virtual string BatchFinConfirm(List <int> sysNoList) { List <BatchActionItem <BalanceRefundAuditInfo> > items = sysNoList.Select(x => new BatchActionItem <BalanceRefundAuditInfo>() { ID = x.ToString(), Data = new BalanceRefundAuditInfo { AuditUserSysNo = ServiceContext.Current.UserSysNo, SysNo = x } }).ToList(); var BL = ObjectFactory <BalanceRefundProcessor> .Instance; var result = BatchActionManager.DoBatchAction(items, (info) => { BL.FinConfirm(info); }); return(result.PromptMessage); }
public string BatchVoidPriceChange(List <int> sysNos) { List <BatchActionItem <PriceChangeMaster> > items = sysNos.Select(p => new BatchActionItem <PriceChangeMaster> { ID = p.ToString(), Data = new PriceChangeMaster { SysNo = p } }).ToList(); var bl = ObjectFactory <PriceChangeProcessor> .Instance; BatchActionResult <PriceChangeMaster> resutl = BatchActionManager.DoBatchAction(items, (request) => { bl.VoidPriceChange(request); }); return(resutl.PromptMessage); }
/// <summary> /// Job中止变价单 /// </summary> /// <returns></returns> public string BatchAbortedPriceChangeByJob() { List <PriceChangeMaster> infos = ObjectFactory <PriceChangeProcessor> .Instance.GetRunningProceChangeInfos(); List <BatchActionItem <PriceChangeMaster> > items = infos.Select(p => new BatchActionItem <PriceChangeMaster> { ID = p.SysNo.ToString(), Data = p }).ToList(); var bl = ObjectFactory <PriceChangeProcessor> .Instance; BatchActionResult <PriceChangeMaster> result = BatchActionManager.DoBatchAction(items, (request) => { bl.AbortedPriceChange(request, true); }); return(result.PromptMessage); }
/// <summary> /// 批量确认收款单 /// </summary> /// <param name="batchActionData"></param> /// <returns></returns> public virtual BatchActionResult <SOIncomeInfo> BatchConfirm(List <int> sysNoList) { List <BatchActionItem <SOIncomeInfo> > request = sysNoList.Select(x => new BatchActionItem <SOIncomeInfo>() { ID = x.ToString(), Data = new SOIncomeInfo() { SysNo = x } }).ToList(); var soIncomeBL = ObjectFactory <SOIncomeProcessor> .Instance; var result = BatchActionManager.DoBatchAction(request, data => { soIncomeBL.Confirm(data); }); return(result); }
private void ProcessAutoConfirm(List <SOIncomeInfo> normalSaleIncomeList, List <SOIncomeInfo> masterSaleIncomeList, DataTable dataTable, out List <int> successSysNoList, out List <int> failedSysNoList, StringBuilder errorMessage) { var BL = ObjectFactory <SOIncomeProcessor> .Instance; BatchActionResult <SOIncomeInfo> batchResult = new BatchActionResult <SOIncomeInfo>(0); if (normalSaleIncomeList.Count > 0) { var request = normalSaleIncomeList .Select(x => new BatchActionItem <SOIncomeInfo> { ID = x.SysNo.ToString(), Data = x }).ToList(); batchResult = BatchActionManager.DoBatchAction(request.ToList(), data => BL.Confirm(data)); } if (masterSaleIncomeList.Count > 0) { BL.UpdateToProcessedStatus(masterSaleIncomeList); } if (batchResult.TotalCount != 0) { errorMessage.AppendLine("======== 收款单确认信息 ========"); errorMessage.AppendLine(batchResult.PromptMessage); } //获取成功或失败的列表 successSysNoList = (batchResult.SuccessList.Select(s => s.Data.OrderSysNo.Value)).ToList(); if (masterSaleIncomeList != null && masterSaleIncomeList.Count > 0) { successSysNoList.Union(masterSaleIncomeList.Select(s => s.OrderSysNo.Value)).ToList(); } int orderSysNo; failedSysNoList = dataTable.AsEnumerable().Where(r => int.TryParse(r["OrderSysNo"].ToString(), out orderSysNo)) .Select(r => int.Parse(r["OrderSysNo"].ToString())) .Except(successSysNoList) .ToList(); }
/// <summary> /// 人工中止变价单 /// </summary> /// <param name="sysNo"></param> /// <returns></returns> public string BatchAbortedPriceChangeByManual(List <int> sysNo) { List <PriceChangeMaster> infos = new List <PriceChangeMaster>(); sysNo.ForEach(p => { infos.Add(GetPriceChangeBySysNo(p)); }); List <BatchActionItem <PriceChangeMaster> > items = infos.Select(p => new BatchActionItem <PriceChangeMaster> { ID = p.SysNo.ToString(), Data = p }).ToList(); var bl = ObjectFactory <PriceChangeProcessor> .Instance; BatchActionResult <PriceChangeMaster> result = BatchActionManager.DoBatchAction(items, (request) => { bl.AbortedPriceChange(request, false); }); return(result.PromptMessage); }
private void BatachCreate(DataTable dataTable, string companyCode, ref List <PostIncomeInfo> successList, ref List <ImportPostIncome> faultList, ref string message) { List <PostIncomeInfo> list = new List <PostIncomeInfo>(); List <PostIncomeInfo> _successList = new List <PostIncomeInfo>(); List <ImportPostIncome> _faultList = new List <ImportPostIncome>(); dataTable.Columns.Add("SysNo"); int index = 1; foreach (DataRow row in dataTable.Rows) { try { if (string.IsNullOrEmpty(row["SOSysNo"].ToString()) && string.IsNullOrEmpty(row["IncomeAmt"].ToString()) && string.IsNullOrEmpty(row["PayUser"].ToString()) && string.IsNullOrEmpty(row["IncomeDate"].ToString()) && string.IsNullOrEmpty(row["PayBank"].ToString()) && string.IsNullOrEmpty(row["IncomeBank"].ToString()) && string.IsNullOrEmpty(row["BankNo"].ToString()) && string.IsNullOrEmpty(row["Notes"].ToString())) { break; } PostIncomeInfo entity = new PostIncomeInfo(); entity.SysNo = index; entity.SOSysNo = string.IsNullOrEmpty(row["SOSysNo"].ToString()) ? default(int?) : int.Parse(row["SOSysNo"].ToString()); entity.IncomeAmt = decimal.Parse(row["IncomeAmt"].ToString()); entity.PayUser = row["PayUser"].ToString(); entity.IncomeDate = DateTime.Parse(row["IncomeDate"].ToString()); entity.PayBank = row["PayBank"].ToString(); entity.IncomeBank = row["IncomeBank"].ToString(); entity.BankNo = row["BankNo"].ToString(); entity.Notes = row["Notes"].ToString(); entity.CompanyCode = companyCode; index++; list.Add(entity); } catch (Exception) { ImportPostIncome model = new ImportPostIncome(); model.SysNo = index++; model.SOSysNo = row["SOSysNo"].ToString(); model.IncomeAmtString = row["IncomeAmt"].ToString(); model.PayUser = row["PayUser"].ToString(); model.IncomeDateString = row["IncomeDate"].ToString(); model.PayBank = row["PayBank"].ToString(); model.IncomeBank = row["IncomeBank"].ToString(); model.BankNo = row["BankNo"].ToString(); model.Notes = row["Notes"].ToString(); _faultList.Add(model); } } List <BatchActionItem <PostIncomeInfo> > items = list.Select(x => new BatchActionItem <PostIncomeInfo>() { ID = x.SysNo.ToString(), Data = x }).ToList(); var result = BatchActionManager.DoBatchAction(items, (PostIncomeInfo) => { ObjectFactory <PostIncomeProcessor> .Instance.Create(PostIncomeInfo, false); }); if (result.SuccessList != null) { result.SuccessList.ForEach(p => { p.Data.IncomeAmt = p.Data.IncomeAmt ?? 0; _successList.Add(p.Data); }); } if (result.FaultList != null) { result.FaultList.ForEach(p => { ImportPostIncome failed = new ImportPostIncome(); failed.SysNo = p.FaultItem.Data.SysNo; failed.SOSysNo = p.FaultItem.Data.SOSysNo.ToString(); failed.IncomeAmtString = p.FaultItem.Data.IncomeAmt.ToString(); failed.PayUser = p.FaultItem.Data.PayUser; failed.IncomeDateString = p.FaultItem.Data.IncomeDate.ToString(); failed.PayBank = p.FaultItem.Data.PayBank; failed.IncomeBank = p.FaultItem.Data.IncomeBank; failed.BankNo = p.FaultItem.Data.BankNo; failed.Notes = p.FaultItem.Data.Notes; _faultList.Add(failed); }); faultList.Sort(new ImportPostIncome()); } successList = _successList; faultList = _faultList; message = string.Format(ResouceManager.GetMessageString(InvoiceConst.ResourceTitle.PostIncome, "PostIncome_ImportExcel"), dataTable.Rows.Count, successList.Count, faultList.Count); }