Exemplo n.º 1
0
        public static List <POEimsEntity> GetPOEimsRelevanceInfo(int poSysNo)
        {
            List <POEimsEntity> poEimsRelevanceList = new List <POEimsEntity>();

            poEimsRelevanceList = AutoCloseDA.GetPOEimsRelevanceInfo(poSysNo);
            return(poEimsRelevanceList);
        }
Exemplo n.º 2
0
        //建立Job,对于最后一次Task打印时间起超过30天未继续到货的“部分入库(status=6)”状态PO,系统则自动关闭该PO,将PO的状态修改为“系统关闭 8”
        public static void SetPoState6To8(PoSysNoItem item)
        {
            string closeUser = "******";

            AutoCloseDA.SetStatus6To8(item.PoSysNo, closeUser);
            OnShowInfo("PO单状态修改完成");
        }
Exemplo n.º 3
0
        public static decimal GetNoUseReturnPoint(PoSysNoItem item)
        {
            decimal             noUseReturnPoint = 0;
            List <POEimsEntity> eimsInfo         = AutoCloseDA.GetPOEimsRelevanceInfo(item.PoSysNo);

            foreach (POEimsEntity eims in eimsInfo)
            {
                noUseReturnPoint += eims.LeftAmt;
            }
            return(noUseReturnPoint);
        }
Exemplo n.º 4
0
        // private static int AllOK = 0;
        #endregion
        public static void DoWork(JobContext currentContext)
        {
            CurrentContext = currentContext;
            List <PoSysNoItem> listPo = AutoCloseDA.GetNeedClesePoSysno();

            foreach (PoSysNoItem item in listPo)
            {
                SetPoInfo(item);
                OnShowInfo(string.Format("编号为{0}的PO单进行了关闭操作!", item.PoSysNo));
            }
        }
Exemplo n.º 5
0
        private static void SendMail(PoSysNoItem item)
        {
            List <POMailInfo> list = AutoCloseDA.GetNeedSendMailPo(item.PoSysNo);

            if (list != null)
            {
                foreach (POMailInfo poMailInfo in list)
                {
                    CreateEmailContent cretet       = new CreateEmailContent(poMailInfo.Sysno, "");
                    string             mailCountent = cretet.EmailInfo();
                    cretet.SendMail(mailCountent, poMailInfo.MailAddress + ";" + poMailInfo.PMEmail + ";" + poMailInfo.CreateEmail);
                }
            }
            OnShowInfo("邮件发送完成");
        }
Exemplo n.º 6
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);
            }
        }
Exemplo n.º 7
0
        public CreateEmailContent(int id, string emails)
        {
            entity = EmailDA.QueryPOEntity(id);
            entity = EmailDA.GetReturnPoint(entity);

            if (entity != null)
            {
                //  entity.TotalAmt = entity.TotalAmt.ToString().Replace(entity.CurrencySymbol, "");
                items = AutoCloseDA.QueryPOItemsForPrint(entity);
            }
            SetBaseInfo(entity);
            displayNo = "";
            vendor    = AutoClose.DAL.EmailDA.GetVendorBySysNo(entity.VendorSysNo);
            SetPoNumber(entity);              //设置流水号
            SetSendType();                    //设置送货方式
            SettotalInPage();                 //设置本页小计
            SettotalReturnPointAndtotalAmt(); //设置totalReturnPoint和totalAmt
            SetPmName();                      //设置我方采购员
            SetCurrency();                    //设置货币种类
        }
Exemplo n.º 8
0
        public void Run(JobContext context)
        {
            CurrentContext = context;
            Stopwatch sw = new Stopwatch();

            WriteLog("本轮开始...");

            sw.Start();
            try
            {
                AutoClose.Biz.AutoCLosePoBP.DoWork(CurrentContext);
                //MonitorBP.DoWork(are);
            }
            catch (Exception ex)
            {
                WriteLog(string.Format("应用程序出现了异常!:{0}", ex.Message));
                WriteLog(ex.StackTrace);
                AutoCloseDA.SendEmail(0, Settings.ExceptionMeil, "PO关闭JOB邮件", ex.StackTrace);
            }

            sw.Stop();
            WriteLog("本轮结束!");
            WriteLog(string.Format("本次任务共耗时 {0} 秒", sw.Elapsed.TotalSeconds));
        }
Exemplo n.º 9
0
        public static int SendCloseMessage(int poSysNo, int userSysNo)
        {
            #region 模版

            string poTemplate = @"<Publish xmlns=""http://soa.newegg.com/SOA/USA/InfrastructureService/V30/PubSubService"">
	                                    <FromService>http://soa.newegg.com/SOA/USA/InventoryManagement/V30/E5DBS01/NeweggOZZOService</FromService>
	                                    <ToService>http://soa.newegg.com/SOA/USA/InfrastructureService/V30/PubSubService</ToService>
	                                    <RouteTable>
		                                    <Article xmlns=""http://soa.newegg.com/SOA/USA/InfrastructureService/V30/PubSubService"">
			                                    <ArticleCategory>WMS</ArticleCategory>
			                                    <ArticleType1>Download</ArticleType1>
			                                    <ArticleType2>Newegg</ArticleType2>
		                                    </Article>
	                                    </RouteTable>
	                                    <Node>
		                                    <MessageHead>
			                                    <!-- 确定由哪一个SP来处理当前逻辑 -->
			                                    <MessageType>POClose</MessageType>
			                                    <!-- 版本号 -->
			                                    <Version>1.0</Version>
			                                    <!-- 商家编号 -->
			                                    <CompanyCode>{CompanyCode}</CompanyCode>
			                                    <!-- Merchant PO号(PONumber) -->
			                                    <ReferenceNumber>{PONumber}</ReferenceNumber>
		                                    </MessageHead>
		                                    <Body>
			                                    <!-- PONumber 商户PO编号 -->
			                                    <PONumber>{PONumber}</PONumber>
			                                    <!-- 关闭备注 -->
			                                    <Memo>{Memo}</Memo>
		                                    </Body>
	                                    </Node>
                                    </Publish>";

            #endregion

            if (!IsSSBEnabled())
            {
                return(0);
            }

            NewPOEntity po = AutoCloseDA.GetPOMaster(poSysNo);

            XmlDocument doc = new XmlDocument();
            doc.LoadXml(poTemplate);
            doc.GetElementsByTagName("Memo")[0].InnerText            = po.Memo;
            doc.GetElementsByTagName("PONumber")[0].InnerText        = po.SysNo.ToString();
            doc.GetElementsByTagName("ReferenceNumber")[0].InnerText = po.SysNo.ToString();
            doc.GetElementsByTagName("CompanyCode")[0].InnerText     = po.CompanyCode;
            //string message = poTemplate.Replace("{PONumber}", po.SysNo.ToString())
            //                            .Replace("{CompanyCode}", po.CompanyCode)
            //                            .Replace("{Memo}", po.Memo);
            string message = doc.InnerXml;


            AutoCloseDA.CreatePOSSBLog(new POSSBLogEntity
            {
                POSysNo          = poSysNo,
                Content          = message,
                ActionType       = "C",
                InUser           = userSysNo,
                SendErrMail      = "N",
                CompanyCode      = Settings.CompanyCode,
                LanguageCode     = Settings.LanguageCode,
                StoreCompanyCode = Settings.StoreCompanyCode
            });

            return(AutoCloseDA.CallSSBMessageSP(message));
        }
Exemplo n.º 10
0
        private static bool IsSSBEnabled()
        {
            var status = AutoCloseDA.GetPOOfflineStatus();

            return(status == "Y");
        }
Exemplo n.º 11
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() + "在途数量修改成功");
            }
        }
Exemplo n.º 12
0
        /// <summary>
        /// 恢复返点金额
        /// </summary>
        /// <param name="POSysNo">PO编号</param>
        /// <param name="InvoiceNumber ">返点编号</param>
        /// <param name="useInvoiceAmount">当前使用金额</param>
        /// <returns></returns>
        //public static void ResumePMRemnantReturnPoint(List<POAttachInfo> poAttachEntitys, string userSysNo)
        //{
        //    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.PostPOConfirm(entity);
        //    }
        //    finally
        //    {
        //        ServiceBroker.DisposeService<IEIMSInterfaceService>(service);
        //    }

        //}


        //private static void ResumePMRemnantReturnPoint(int poSysNo, int invoiceNumber, decimal useInvoiceAmount, int userSysNo, int c3SysNo, int poStatus)
        //{
        //    EIMSMessageResult returnValue = null;
        //    IEIMSInterfaceService service = null;
        //    try
        //    {
        //        EIMSMessage<POAttachInfo> entity = new EIMSMessage<POAttachInfo>()
        //        {
        //            Header = new EIMSMessageHeader()
        //            {
        //                UserID = userSysNo.ToString(),
        //                CompanyCode = Settings.CompanyCode
        //            },
        //            Body = new POAttachInfo()
        //            {
        //                PONumber = poSysNo,
        //                InvoiceNumber = invoiceNumber,
        //                PostTime = System.DateTime.Now,
        //                UseTime = System.DateTime.Now,
        //                C3SysNo = c3SysNo,
        //                POStatus = poStatus
        //            }
        //        };
        //        service = ServiceBroker.FindService<IEIMSInterfaceService>(Settings.ConsumerName, Settings.EIMSLocationName);
        //        returnValue = service.PostPOConfirm(entity);
        //    }
        //    finally
        //    {
        //        ServiceBroker.DisposeService<IEIMSInterfaceService>(service);
        //    }
        //}
        //入库总金额=该PO各批次入库总金额
        public static void SetToAmt(PoSysNoItem item)
        {
            AutoCloseDA.SetCountToamt(item.PoSysNo);
            OnShowInfo("PO单总金额调整完成");
        }
Exemplo n.º 13
0
 //发送邮件
 public void SendMail(string coutent, string email)
 {
     AutoCloseDA.SendEmail(0, email, "PO关闭邮件", coutent);
 }