コード例 #1
0
ファイル: Util.cs プロジェクト: sanlonezhang/ql
        /// <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);
            }
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
ファイル: MonitorBP.cs プロジェクト: sanlonezhang/ql
        //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");
            }
        }
コード例 #4
0
        //(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() + "在途数量修改成功");
            }
        }