/// <summary> /// Abandon the so by sosysno. /// </summary> /// <param name="soMaster"></param> public static void AbandonSO(int sysNo, JobContext context) { SOAbandonReq req = new SOAbandonReq(); req.SOSysNoList = new System.Collections.Generic.List <int> { sysNo }; string baseUrl = System.Configuration.ConfigurationManager.AppSettings["SORestFulBaseUrl"]; string languageCode = System.Configuration.ConfigurationManager.AppSettings["LanguageCode"]; ECCentral.Job.Utility.RestClient client = new ECCentral.Job.Utility.RestClient(baseUrl, languageCode); ECCentral.Job.Utility.RestServiceError error; var ar = client.Update("/SO/Abandon", req, out error); if (error != null && error.Faults != null && error.Faults.Count > 0) { string errorMsg = ""; foreach (var errorItem in error.Faults) { errorMsg += errorItem.ErrorDescription; } Logger.WriteLog(errorMsg, "JobConsole"); throw new Exception(errorMsg); } }
private static bool CreateNewItemPay(PoSysNoItem item, decimal noUseReturnPoint) { string baseUrl = System.Configuration.ConfigurationManager.AppSettings["InvoiceRestFulBaseUrl"]; string languageCode = System.Configuration.ConfigurationManager.AppSettings["LanguageCode"]; string companyCode = System.Configuration.ConfigurationManager.AppSettings["CompanyCode"]; PayableInfo payableInfo = new PayableInfo(); List <POItem> items = AutoCloseDA.QueryPOItemsForPrint(item.PoSysNo); decimal? totalAmt = GettoTalAmt(items); decimal? trueAmt = GettrueAmt(items); payableInfo.OrderSysNo = item.PoSysNo; payableInfo.BatchNumber = 1; payableInfo.OrderStatus = 6; payableInfo.OrderType = PayableOrderType.POAdjust; payableInfo.OperationUserFullName = "Job User"; payableInfo.InStockAmt = totalAmt - trueAmt - noUseReturnPoint; payableInfo.CompanyCode = companyCode; ECCentral.Job.Utility.RestClient client = new ECCentral.Job.Utility.RestClient(baseUrl, languageCode); ECCentral.Job.Utility.RestServiceError error; var ar = client.Update("/Payable/CreateByPO", payableInfo, out error); if (error != null && error.Faults != null && error.Faults.Count > 0) { string errorMsg = ""; foreach (var errorItem in error.Faults) { errorMsg += errorItem.ErrorDescription; } Logger.WriteLog(errorMsg, "JobConsole"); OnShowInfo(errorMsg); OnShowInfo("PO单编号为:" + item.PoSysNo.ToString() + "财务收款单调整失败"); return(false); } else { OnShowInfo("PO单编号为:" + item.PoSysNo.ToString() + "财务收款单调整成功"); return(true); } }
//private static void EIMSOper(POEntity PO) //{ // IEIMSInterfaceService service = null; // try // { // service = ServiceBroker.FindService<IEIMSInterfaceService>(Settings.ConsumerName, Settings.EIMSLocationName); // EIMSMessage<POAttachInfo> entity = new EIMSMessage<POAttachInfo>() // { // Header = new EIMSMessageHeader() // { // UserID = "493", // CompanyCode = Settings.CompanyCode // }, // Body = new POAttachInfo() // { // PONumber = PO.SysNo, // InvoiceNumber = PO.PM_ReturnPointSysNo, // UseInvoiceAmount = PO.UsingReturnPoint * -1, // PostTime = System.DateTime.Now, // UseTime = System.DateTime.Now, // C3SysNo = PO.ReturnPointC3SysNo // } // }; // var result = service.PostPOCancel(entity); // if (!result.IsSucceed) // { // throw new Exception(result.Error); // } // OnShowInfo(string.Format("采购单{0}需要调整返点成功", PO.SysNo)); // } // catch (Exception e) // { // throw e; // } // finally // { // ServiceBroker.DisposeService<IEIMSInterfaceService>(service); // } //} //public static void EIMSOper(List<POAttachInfo> poAttachEntitys, string userSysNo, int poSysNo) //{ // EIMSMessageResult returnValue = null; // IEIMSInterfaceService service = null; // try // { // EIMSMessage<List<POAttachInfo>> entity = new EIMSMessage<List<POAttachInfo>> // { // Header = new EIMSMessageHeader() // { // UserID = userSysNo, // CompanyCode = Settings.CompanyCode // }, // Body = poAttachEntitys // }; // service = ServiceBroker.FindService<IEIMSInterfaceService>(Settings.ConsumerName, Settings.EIMSLocationName); // returnValue = service.PostPOCancel(entity); // if (!returnValue.IsSucceed) // { // throw new Exception(returnValue.Error); // } // OnShowInfo(string.Format("采购单{0}需要调整返点成功", poSysNo)); // } // finally // { // ServiceBroker.DisposeService<IEIMSInterfaceService>(service); // } //} private static void InventoryOper(POEntity poInfo) { InventoryAdjustContractInfo info = new InventoryAdjustContractInfo(); info.SourceActionName = InventoryAdjustSourceAction.AbandonForPO; info.SourceBizFunctionName = InventoryAdjustSourceBizFunction.PO_Order; info.AdjustItemList = new List <InventoryAdjustItemInfo>(); info.ReferenceSysNo = poInfo.SysNo.ToString(); foreach (var item in poInfo.Items) { info.AdjustItemList.Add(new InventoryAdjustItemInfo { AdjustQuantity = -1 * item.PurchaseQty, ProductSysNo = item.ProductSysNo, StockSysNo = poInfo.StockSysNo }); } string baseUrl = System.Configuration.ConfigurationManager.AppSettings["PORestFulBaseUrl"]; string languageCode = System.Configuration.ConfigurationManager.AppSettings["LanguageCode"]; string companyCode = System.Configuration.ConfigurationManager.AppSettings["CompanyCode"]; ECCentral.Job.Utility.RestClient client = new ECCentral.Job.Utility.RestClient(baseUrl, languageCode); ECCentral.Job.Utility.RestServiceError error; var ar = client.Update("/PurchaseOrder/AdjustPurchaseOrderQtyInventory", info, out error); if (error != null && error.Faults != null && error.Faults.Count > 0) { string errorMsg = ""; foreach (var errorItem in error.Faults) { errorMsg += errorItem.ErrorDescription; } Logger.WriteLog(errorMsg, "JobConsole"); } }
//(PO中该商品采购数量 –实际入库数量) 进行扣减采购在途库存(inventory .purQty); //负po不需要进行采购在途库存设置。关闭时,需要把占用库存剩下的还给可用库存 public static void InventoryPurQtyChange(PoSysNoItem poInfo) { List <PoPurQtyInfo> listPurQty = AutoCloseDA.GetPoPurQtyInfoList(poInfo.PoSysNo); //var data = listPurQty.GroupBy(p => p.poSysno); //int storySyno = 0; //foreach (var d in data) //{ // List<KeyValuePair<int, int>> kv = new List<KeyValuePair<int, int>>(); // foreach (var f in d) // { // storySyno = f.StockSysNo; // kv.Add(new KeyValuePair<int, int>(f.productSysno, f.pruCount)); // } // if (storySyno != 0) // { // InventoryPurQty(storySyno, kv, d.Key, 2);//0 审核; 1 撤销审核;2 中止入库 // storySyno = 0; // } //} InventoryAdjustContractInfo info = new InventoryAdjustContractInfo(); info.SourceActionName = InventoryAdjustSourceAction.StopInStock; info.SourceBizFunctionName = InventoryAdjustSourceBizFunction.PO_Order; info.AdjustItemList = new List <InventoryAdjustItemInfo>(); info.ReferenceSysNo = poInfo.PoSysNo.ToString(); foreach (var item in listPurQty) { info.AdjustItemList.Add(new InventoryAdjustItemInfo { AdjustQuantity = -1 * item.pruCount, ProductSysNo = item.productSysno, StockSysNo = item.StockSysNo }); } string baseUrl = System.Configuration.ConfigurationManager.AppSettings["PORestFulBaseUrl"]; string languageCode = System.Configuration.ConfigurationManager.AppSettings["LanguageCode"]; string companyCode = System.Configuration.ConfigurationManager.AppSettings["CompanyCode"]; ECCentral.Job.Utility.RestClient client = new ECCentral.Job.Utility.RestClient(baseUrl, languageCode); ECCentral.Job.Utility.RestServiceError error; var ar = client.Update("/PurchaseOrder/AdjustPurchaseOrderQtyInventory", info, out error); if (error != null && error.Faults != null && error.Faults.Count > 0) { string errorMsg = ""; foreach (var errorItem in error.Faults) { errorMsg += errorItem.ErrorDescription; } Logger.WriteLog(errorMsg, "JobConsole"); OnShowInfo(errorMsg); OnShowInfo("PO单编号为:" + poInfo.PoSysNo.ToString() + "在途数量修改失败"); AutoCloseDA.SendEmail(poInfo.PoSysNo, Settings.ExceptionMeil, "PO单编号为:" + poInfo.PoSysNo.ToString() + "在途数量修改失败", errorMsg); } else { OnShowInfo("PO单编号为:" + poInfo.PoSysNo.ToString() + "在途数量修改成功"); } }