Exemplo n.º 1
0
        protected void AddE052Exception()
        {
            VITAPExceptions objException = new VITAPExceptions();
            objException.ActNum = exception.ACT;

            if (!String.IsNullOrWhiteSpace(exception.INV_KEY_ID))
            {
                objException.Inv_key_id = exception.INV_KEY_ID;
            }
            else if (!String.IsNullOrWhiteSpace(exception.RR_ID))
            {
                objException.Rr_id = exception.RR_ID;
            }
            else if (!String.IsNullOrWhiteSpace(exception.PO_ID))
            {
                objException.Po_id = exception.PO_ID;
            }
            else if (!String.IsNullOrWhiteSpace(exception.AE_ID))
            {
                objException.Ae_id = exception.AE_ID;
            }

            objException.Err_code = "E052";
            objException.Ex_memo = "Paper Queue - Other System";
            objException.Ex_memo2 = NewNote;
            objException.PrepCode = PrepCode;
            objException.Ba = exception.BA;
            objException.Orgcode = exception.ORGCODE;
            objException.PoDocType = exception.PODOCTYPE;
            objException.Updstatus = "F";

            objException.AddException();
        }
        private void AddException(string allprocess, string err_code, string prepCode)
        {
            var objException = new VITAPExceptions();

            objException.ActNum     = exception.ACT;
            objException.Rr_id      = exception.RR_ID;
            objException.Po_id      = exception.PO_ID;
            objException.Inv_key_id = exception.INV_KEY_ID;
            objException.Err_code   = err_code;
            objException.Allprocess = allprocess;
            objException.PrepCode   = prepCode;
            objException.AddException();
        }
        /// <summary>
        /// Handles 036 exceptions
        /// Only adds an E052 exception
        /// It was updating FoxPro tables, but that has been removed
        /// </summary>
        private void Exception_036(String PrepCode)
        {
            //Need the Add Exception code here to add and E052
            //This was updating the foxpro tables (Invoice, RR, ExpenseAccruals tables), and code has been removed?

            // add an E052 exception
            var objException = new VITAPExceptions();

            objException.ActNum = exception.ACT;

            if (exception.ERR_CODE.Left(1) == "P")
            {
                objException.Inv_key_id = exception.INV_KEY_ID;
            }
            objException.Err_code = "E052";
            objException.Ex_memo  = "Paper Queue - Other system";
            objException.Ex_memo2 = NewNote;
            objException.PrepCode = PrepCode;
            objException.AddException();
        }
Exemplo n.º 4
0
        public void ExceptionU049(string sNotesType)
        {
            NewNotes();

            switch (sNotesType)
            {
            case "CORRECT":
                //Clear the U049 Exception
                var responsenotes = exception.RESPONSENOTES + "\r\n" + NewNote;
                UpdateException(exception, "C", notes.returnVal7, "Manager Accepts U044 Invoice Number Change", responsenotes, "Approved by Manager");


                //Make a Custom Transhist Entry
                var strCuffMemo = "U044 Invoice Number Change Accepted by Manager.";
                InsertTranshist(exception, "", strCuffMemo, "Approved by Manager", PrepCode);

                //Update Invoice table as this invoice is now cleared
                var rtnInv = GetPegasysInvoiceByKey(exception.INV_KEY_ID);

                var fieldsToUpdate = new List <string>
                {
                    "INV_STATUS",
                    "PREVALIDATION_FL",
                    "DATAENTRY_FL",
                    "ERR_CODE"
                };

                rtnInv.INV_STATUS       = "KEYED";
                rtnInv.PREVALIDATION_FL = "F";
                rtnInv.DATAENTRY_FL     = "T";
                rtnInv.ERR_CODE         = null;

                UpdatePegasysInvoice(rtnInv, fieldsToUpdate);

                break;

            case "RESET":
                //Clear the U049 Exception
                responsenotes = exception.RESPONSENOTES + "\r\n" + NewNote;
                UpdateException(exception, "C", notes.returnVal7, "Send back to U044", responsenotes, "");

                //Make a Custom Transhist Entry
                strCuffMemo = "Re-establish U044 per Manager.";
                InsertTranshist(exception, "", strCuffMemo, "Back to U044 per Manager.", PrepCode);

                //Create U044 Exception
                VITAPExceptions objException = new VITAPExceptions();

                objException.ActNum       = exception.ACT;
                objException.Inv_key_id   = exception.INV_KEY_ID;
                objException.Err_code     = "U044";
                objException.Updinvstatus = "T";
                objException.Pdocnopo     = PDocNo;
                objException.Ex_memo      = "Re-establish U044 per Manager.";
                objException.PrepCode     = PrepCode;

                objException.AddException();

                break;
            }
        }
Exemplo n.º 5
0
        protected void ExceptionU043(string sNotesType, bool POExists, bool InvExists, bool RRExists)
        {
            var sFaxNotes      = notes.returnVal7;
            var sResponseNotes = NewNote + "\r\n";
            var sErr_Response  = "C";
            var sAllProcess    = "";
            var sEx_Memo2      = notes.returnVal3;
            var NewStatus      = "";

            if (POExists)
            {
                var rtnPO = GetPegasysPOFrmByKey(exception.PO_ID);

                if (rtnPO != null)
                {
                    NewStatus = GetPOStatus(rtnPO);

                    var fieldsToUpdate = new List <string>
                    {
                        "PO_STATUS",
                        "ERR_CODE",
                        "VERIFICATION_FL"
                    };

                    rtnPO.PO_STATUS = "VERIFY";
                    rtnPO.ERR_CODE  = null;
                    if (!rtnPO.PO_ID.Contains("&") && !String.IsNullOrWhiteSpace(rtnPO.MODNO))
                    {
                        rtnPO.VERIFICATION_FL = "F";
                    }
                    UpdatePegasysPO(rtnPO, fieldsToUpdate);
                }
                else
                {
                    //Create an error log here
                    //INSERT INTO (m.vitapdata) + 'systemerrors'(po_id, err_date, errordesc, errormod) VALUES;
                    //(THISFORM.r_po_id, DATE(),"Could not find PO to set status","correctde.m_u043")
                }
            }
            else if (InvExists)
            {
                if (exception.ERR_CODE == "U044" && sNotesType == "U049CRCT")
                {
                    sEx_Memo2   = "Invoice Number Changed. Send to Manager for Approval";
                    sAllProcess = "Sent to Manager for Approval";

                    // Create a new Exception U049
                    var objException = new VITAPExceptions();

                    objException.ActNum     = exception.ACT;
                    objException.Inv_key_id = exception.INV_KEY_ID;
                    objException.Err_code   = "U049";

                    objException.Updinvstatus = "T";
                    objException.Pdocnopo     = PDocNo;

                    objException.Ex_memo  = "Invoice Number changed on U044. To Manager for Approval.";
                    objException.PrepCode = PrepCode;
                    objException.AddException();
                }
                else
                {
                    var rtnInv = GetPegasysInvoiceByKey(exception.INV_KEY_ID);
                    NewStatus = "MATCHREADY";
                    if (rtnInv != null)
                    {
                        NewStatus = GetInvStatus(rtnInv);
                    }

                    //Just in case there is a V299 on Hold
                    var rtnExc = GetExceptionV299();
                    if (rtnExc.Count > 0)
                    {
                        var responsenotes = exception.RESPONSENOTES + "\r\n" + NewNote;
                        UpdateException(exception, "H", notes.returnVal7, notes.returnVal3, responsenotes, sAllProcess);

                        var fieldsToUpdate = new List <string>
                        {
                            "INV_STATUS",
                            "LAST_STATUS",
                            "ERR_CODE",
                            "LASTTIME"
                        };

                        rtnInv.INV_STATUS  = "EXCEPTION";
                        rtnInv.LAST_STATUS = null;
                        rtnInv.ERR_CODE    = "V299";
                        rtnInv.LASTTIME    = 0;

                        UpdatePegasysInvoice(rtnInv, fieldsToUpdate);
                    }
                    else
                    {
                        var fieldsToUpdate = new List <string>
                        {
                            "INV_STATUS",
                            "LAST_STATUS",
                            "ERR_CODE",
                            "LASTTIME"
                        };

                        rtnInv.INV_STATUS  = NewStatus;
                        rtnInv.LAST_STATUS = null;
                        rtnInv.ERR_CODE    = null;
                        rtnInv.LASTTIME    = 0;

                        UpdatePegasysInvoice(rtnInv, fieldsToUpdate);
                    }
                }
            }
            else if (RRExists)
            {
                var rtnRR = GetPegasysRRByKey(exception.RR_ID);

                NewStatus = "MATCHREADY";
                if (rtnRR != null)
                {
                    NewStatus = GetRRStatus(rtnRR);
                }

                var fieldsToUpdate = new List <string>
                {
                    "RR_STATUS",
                    "ERR_CODE"
                };

                rtnRR.RR_STATUS = NewStatus;
                rtnRR.ERR_CODE  = null;

                UpdatePegasysRR(rtnRR, fieldsToUpdate);
            }

            UpdateException(exception, sErr_Response, sFaxNotes, sEx_Memo2, sResponseNotes, sAllProcess);
        }
Exemplo n.º 6
0
        protected void CreateExceptionU048(PEGASYSINVOICE InvQuery, PEGASYSPO_FRM POFrmQuery)
        {
            U048table = U048table.ToUpper();
            var lGoU048 = true;

            if (U048table == "PEGINV")
            {
                //Updating PegasysInvoice ...
                var rtnInv         = GetPegasysInvoiceByKey(exception.INV_KEY_ID);
                var fieldsToUpdate = new List <string>
                {
                    "ERR_CODE"
                };
                rtnInv.ERR_CODE = "U048";
                UpdatePegasysInvoice(rtnInv, fieldsToUpdate);
            }
            else if (U048table == "PEGPO")
            {
                //Updating Pegasyspo_frm ...
                var rtnPO          = GetPegasysPOFrmByKey(exception.PO_ID);
                var fieldsToUpdate = new List <string>
                {
                    "ERR_CODE"
                };

                UpdatePegasysPO(rtnPO, fieldsToUpdate);
            }
            else if (U048table == "PEGRR")
            {
                //Updating Pegasysrr_frm ...
                var rtnRR          = GetPegasysRRByKey(exception.RR_ID);
                var fieldsToUpdate = new List <string>
                {
                    "ERR_CODE"
                };

                UpdatePegasysRR(rtnRR, fieldsToUpdate);
            }

            if (lGoU048 == true)
            {
                //Generating U048...
                var objException = new VITAPExceptions();

                objException.ActNum = exception.ACT;

                if (U048table.InList("PEGPO,PO"))
                {
                    objException.Po_id = exception.PO_ID;

                    objException.Updpostatus = "T";
                }

                if (U048table.InList("PEGRR,RR"))
                {
                    objException.Rr_id = exception.RR_ID;

                    objException.Updrrstatus = "T";
                }

                if (U048table.InList("PEGINV,INVOICE"))
                {
                    objException.Inv_key_id   = exception.INV_KEY_ID;
                    objException.Updinvstatus = "T";
                }

                if (U048table == "EXPENSEACCRUAL")
                {
                    objException.Ae_id       = exception.AE_ID;
                    objException.Updaestatus = "T";
                }

                if (U048table.InList("PEGINV,PEGPO,PEGRR"))
                {
                    objException.Ex_fund  = exception.EX_FUND;
                    objException.Vendname = exception.VENDNAME;

                    if (U048table == "PEGINV" && InvQuery.AMOUNT != null)
                    {
                        objException.Poamount = (double)InvQuery.AMOUNT;
                    }
                    else if (U048table == "PEGPO" && POFrmQuery.AMOUNT != null)
                    {
                        objException.Poamount = (double)POFrmQuery.AMOUNT;
                    }
                }

                objException.Ex_memo  = notes.returnVal3;
                objException.Err_code = "U048";
                objException.PrepCode = PrepCode;

                objException.AddException();

                var responsenotes = exception.RESPONSENOTES + "\r\n" + NewNote;
                UpdateException(exception, "Q", notes.returnVal7, notes.returnVal3, responsenotes, "");
            }
        }
Exemplo n.º 7
0
        public bool FinishCode(string Invoice, double InvAmount, double POAmount, string VendName, String PrepCode)
        {
            var TheResponse = "Q";

            if (exception.ERR_CODE == "U084")
            {
                TheResponse = "B";
            }

            Report_ID  = "F01";
            ReportForm = "POMod Request";

            var responsenotes = NewNote.ReplaceApostrophes();

            UpdateException(exception, TheResponse, notes.returnVal7, notes.returnVal3, exception.RESPONSENOTES + "\r\rn" + NewNote.ReplaceApostrophes(), "");

            switch (exception.ERR_CODE)
            {
            case "P001":
            case "P024":
                break;

            case "P201":
                Status = "Pending";
                ExceptionP201();
                break;
            }

            var objException = new VITAPExceptions();

            objException.ActNum       = exception.ACT;
            objException.Po_id        = exception.PO_ID;
            objException.Rr_id        = exception.RR_ID;
            objException.Ae_id        = exception.AE_ID;
            objException.Err_response = "M";
            objException.Inv_key_id   = exception.INV_KEY_ID;
            objException.PrepCode     = PrepCode;

            if (exception.ERR_CODE == "D062" || exception.ERR_CODE == "P201")
            {
                objException.Err_code     = "P042";
                objException.Updinvstatus = "T";
            }
            else if (exception.ERR_CODE == "V299" && !String.IsNullOrWhiteSpace(exception.INV_KEY_ID))
            {
                objException.Err_code     = "P042";
                objException.Updinvstatus = "T";
            }
            else if (exception.ERR_CODE == "V299" && !String.IsNullOrWhiteSpace(exception.PO_ID))
            {
                objException.Err_code    = "O042";
                objException.Updpostatus = "T";
            }
            else
            {
                objException.Err_code = exception.ERR_CODE.Left(1) + "042";

                switch (exception.ERR_CODE.Left(1))
                {
                case "P":
                    objException.Updinvstatus = "T";
                    break;
                }
            }
            objException.Ex_memo = "Missing Modification";
            if (exception.ERR_CODE == "P201")
            {
                objException.Ex_memo = "Mod needed for additional goods: invoice " +
                                       Invoice + " / invoice amount " + InvAmount + " / PO amount " +
                                       POAmount + " / Vend Name " + VendName.ReplaceApostrophes();
            }

            objException.Updstatus = "T";
            if (!String.IsNullOrWhiteSpace(VendName))
            {
                objException.Vendname = VendName;
            }

            objException.AddException();
            var NewEx_id = objException.Ex_id;

            if (!String.IsNullOrWhiteSpace(NewEx_id))
            {
                //Send PO MOD request notificaton
                if (!CheckNotificationExists())
                {
                    InsertNotification();
                }
            }
            else
            {
                return(false);
            }

            return(true);
        }
        public void FinishCode(string prepCode)
        {
            if (exception.ERR_CODE.Right(3) == "200")
            {
                Report_ID          = "P02";
                ReportForm         = "RequestPO";
                Status             = "Pending";
                notes.returnVal7   = notes.returnVal7.ReplaceNull("").ReplaceApostrophes();
                exception.PREPCODE = prepCode;
                string responsenotes = exception.RESPONSENOTES + "\rPO requested" + "\r" + NewNote.ReplaceApostrophes();
                UpdateException(exception, "Q", notes.returnVal7, notes.returnVal3.ReplaceNull(""), responsenotes, "");

                var objException = new VITAPExceptions();
                objException.ActNum       = exception.ACT;
                objException.Po_id        = exception.PO_ID;
                objException.Pdocnopo     = exception.PDOCNO;
                objException.Rr_id        = exception.RR_ID;
                objException.Ae_id        = exception.AE_ID;
                objException.Err_response = "M";
                objException.PrepCode     = prepCode;

                objException.Inv_key_id = exception.INV_KEY_ID;
                //To avoid creating R041 Exceptions..

                if (!String.IsNullOrWhiteSpace(exception.INV_KEY_ID))
                {
                    objException.Err_code = "P041";

                    if (exception.ERR_CODE != "R200")
                    {
                        objException.Err_code = exception.ERR_CODE.Left(1) + "041";
                    }

                    objException.Ex_memo = "No PO in VITAP";

                    objException.Updinvstatus = "T";

                    if (!String.IsNullOrWhiteSpace(exception.VENDNAME))
                    {
                        objException.Vendname = exception.VENDNAME;
                    }

                    objException.AddException();

                    string newExId = "";

                    if (String.IsNullOrWhiteSpace(newExId))
                    {
                        var    rtnExc = GetExceptionByInvKeyID(exception.INV_KEY_ID);
                        string exId   = "";
                        foreach (var row in rtnExc)
                        {
                            if (row.ERR_CODE.Right(3) == "041")
                            {
                                exId = row.EX_ID;
                                break;
                            }
                        }
                        if (String.IsNullOrWhiteSpace(exId))
                        {
                            exId = newExId;
                        }
                    }
                }
                else
                {
                    Report_ID  = "F02";
                    ReportForm = "poreq";
                }

                if (!CheckNotificationExists())
                {
                    var Address = GetAddressFromInvoice(exception.INV_KEY_ID);
                    var rtnInv  = GetPegasysInvoiceByKey(exception.INV_KEY_ID);
                    RequestNo  = "";
                    Contact_ID = "";
                    Amount     = rtnInv.AMOUNT.Value;
                    var Search = Address;
                    InsertNotification();
                }
            }
        }
Exemplo n.º 9
0
        public void FinishCode(List <NoRRArray> noRRArray)
        {
            //set err_response to Q because the P040 will have the M err_response***
            var responsenotes = exception.RESPONSENOTES + "\r\n" + NewNote;

            UpdateException(exception, "Q", notes.returnVal7, notes.returnVal3, responsenotes, "");

            if (exception.RR_ID == "MRR")
            {
                if (noRRArray != null && noRRArray.Count > 0)
                {
                    foreach (var row in noRRArray)
                    {
                        InsertMatchRRInv(exception.ACT, row.DOC_NUM, exception.INV_KEY_ID);
                    }
                }
            }
            else
            {
                InsertMatchRRInv(exception.ACT, exception.RR_ID, exception.INV_KEY_ID);
            }
            var objException = new VITAPExceptions();

            objException.ActNum       = exception.ACT;
            objException.Po_id        = exception.PO_ID;
            objException.Inv_key_id   = exception.INV_KEY_ID;
            objException.Err_code     = "P040";
            objException.Err_response = "M";

            var rtnInv = GetPegasysInvoiceByKey(exception.INV_KEY_ID);

            if (rtnInv != null)
            {
                objException.Vendname = rtnInv.VENDNAME;
                objException.Poamount = (double)rtnInv.AMOUNT;

                objException.Ex_memo = "No RR in VITAP - Invoice " + rtnInv.INVOICE +
                                       "/$" + Math.Round((double)rtnInv.AMOUNT, 2).ToString();
            }
            else
            {
                objException.Ex_memo = "No RR in VITAP";
            }

            if (exception.ERR_CODE.Left(1) == "P")
            {
                objException.Updinvstatus = "T";
            }
            objException.Updstatus = "T";
            objException.PrepCode  = PrepCode;
            objException.AddException();
            string NewEx_id = objException.Ex_id;

            //generate RR request F04
            var excList = GetExceptionByInvKeyID(exception.INV_KEY_ID);

            foreach (var row in excList)
            {
                if (row.EX_ID == NewEx_id && row.ERR_CODE == "P040")
                {
                    exception = row;
                    break;
                }
            }
            var Act = exception.ACT;

            var Inv_key_id = exception.INV_KEY_ID;
            var Po_id      = exception.PO_ID;
            var DateQueued = DateTime.Now;

            Report_ID  = "F04";
            ReportForm = "RR Request";
            if (rtnInv != null)
            {
                Amount = (decimal)rtnInv.AMOUNT;
            }
            var FaxNotes = notes.returnVal7;

            Status = "Tomorrow";

            InsertNotification();
        }