コード例 #1
0
        /// <summary>
        /// seznam plateb k predpisu
        /// predpis KC - je ponizeny o pripadny zaporny predpis či zápornou platbu. Jsou tedy vráceny i předpisy s nulovou částkou -
        ///    jde vlastně o stornovaný předpis.
        /// KC platby = PLATBA_SPAROVANO - pouze priparovana cast platby k predpisu
        /// </summary>
        /// <param name="session"></param>
        /// <param name="PREDPIS_ID"></param>
        /// <param name="EXT_APP_KOD"></param>
        /// <returns></returns>
        internal UHRADA_PREDPISU_RESP dej_PlatbyKPredpisu(Session session, int EXT_APP_KOD, int PREDPIS_ID)
        {
            Session sesna = session;
            UHRADA_PREDPISU_RESP plResp = new UHRADA_PREDPISU_RESP();

            plResp.status = Status.NOTEXISTS;

            #region kontrola vsupnich udaju
            try
            {
                if (EXT_APP_KOD == null)
                {
                    throw new Exception("kód externí aplikace není zadán");
                }

                P_PRPL pr = sesna.GetObjectByKey <P_PRPL>(PREDPIS_ID);
                if (pr == null)
                {
                    plResp.status = Status.NOTEXISTS;
                }

                decimal uhrazenoKc = 0;
                decimal prKc       = 0;
                Util.Util.DejKCReduk(ref prKc, ref uhrazenoKc, pr.USER_PREDPIS, pr.PRPL_SPAROVANO, pr.PRPL_SPAROVANO_MINUSEM);
                plResp.PREDPIS_KC          = prKc;
                plResp.PREDPIS_KC_UHRAZENO = uhrazenoKc;

                if (plResp.PREDPIS_KC < 0)
                {
                    throw new Exception("nejedná se o předpis pohledávky");
                }

                KONTROLA_POPLATKU kp = new KONTROLA_POPLATKU(sesna, EXT_APP_KOD);
                if (!kp.EAexist())
                {
                    throw new Exception("chybný kód externí aplikace");
                }
                if (!kp.existPravoNadPoplatkem(pr.CompoundKey.PRPL_POPLATEK))
                {
                    throw new Exception("k pohledávce neexistuje oprávnění");
                }


                #region kontrola prava nad predpisy
                PravoNadPoplatkem pnp = null;
                try
                {
                    pnp = new PravoNadPoplatkem(sesna);
                }
                catch (Exception)
                {
                    throw new Exception("kontrola přístp. práv uživatele nad daty Příjmové agendy skončila chybou");
                }


                if (!pnp.PravoExist((int)pr.CompoundKey.PRPL_POPLATEK, PravoNadPoplatkem.PrtabTable.PLATBA, PravoNadPoplatkem.SQLPerm.SELECT))
                {
                    throw new Exception("PoplWS - nedostatečná oprávnění pro čtení úhrad předpisů.");
                }

                #endregion kontrola prava nad predpisy
            }
            catch (Exception exc)
            {
                plResp.result     = Result.ERROR;
                plResp.PREDPIS_KC = 0;

                if (exc.InnerException == null)
                {
                    plResp.ERRORMESS = exc.Message;
                }
                else
                {
                    plResp.ERRORMESS = exc.InnerException.Message;
                }
                return(plResp);

                /*
                 * throw new Exception(String.Format("chyba \n {0}", exc.InnerException.Message));
                 */
            }
            #endregion kontrola vsupnich udaju

            XPCollection <P_PAROVANI> par = new XPCollection <P_PAROVANI>(sesna, CriteriaOperator.Parse("CompoundKey1.PAR_PRPL_ID = ? and CompoundKey1.PAR_PLATBA_ID > 0", PREDPIS_ID)); //32006

            foreach (var parovani in par)
            {
                P_PLATBA pPlatba = sesna.GetObjectByKey <P_PLATBA>(parovani.CompoundKey1.PAR_PLATBA_ID);
                PLATBA   platba  = new PLATBA();
                Utils.copy.CopyDlePersistentAttr <PLATBA>(pPlatba, platba);
                platba.PLATBA_PLKC = parovani.PAR_SPARKC;
                plResp.UHRADY.Add(platba);
            }

            plResp.result = Result.OK;
            plResp.status = Status.EXISTS;
            return(plResp);
        }
コード例 #2
0
        /// <summary>
        /// pro zapnuti odberu uplateb je potreba rucni zapis do tabulek P_GEO_ODBER, P_EXTAPP.
        /// Tabulka P_GEO_ODBERPL obsahuje data cekajici na predani
        ///
        /// select, insert, update, delete on  P_GEO_ODBERPL
        /// select, insert, update, delete on  P_GEO_PAR
        ///
        /// Pokud je volano s poslednim cislem davky, jsou vytovrena nova data za nove platby.
        /// Pokud je volano s mensim cislem davky, nez je posledni cislo davky, tak jsou znovu zaslana puvodni
        /// data, plus jsou pridany nove platby.
        /// Je udrzovan seznam pouze naposled predanych plateb, proto lze takto ziskat pouze posledni predane platby,
        /// ktere se nepodarilo zpracovat na klientovi. Nelze ziskat stav minus jedna.
        ///
        /// je provadene kontrola na povolene poplatky - jsou vraceny pouze platby na povolene poplatky
        ///
        /// prvni volani ma cislo davky -1  => jsou predany vsechny dosud nepradane platby
        /// </summary>
        /// <param name="session"></param>
        /// <param name="EXT_APP_KOD"></param>
        /// <param name="Davka"></param>
        /// <returns></returns>
        public UHRADY_NEW_RESP DejUhrady(Session session, int EXT_APP_KOD, string Davka, int NevracetPlatbyEA)
        {
            Session sesna = session;

            UHRADY_NEW_RESP plResp = new UHRADY_NEW_RESP();

            plResp.status = Status.NOTEXISTS;
            plResp.DAVKA  = Davka;
            KONTROLA_POPLATKU kp = null;
            int EAbit;
            int oldDavka;
            int callDavka;

            object obj = null;

            #region kontrola vsupnich udaju a nastaveni odberu

            try
            {
                if (EXT_APP_KOD == null)
                {
                    throw new Exception("kód externí aplikace není zadán");
                }

                //zda je pristup na poplatek
                kp = new KONTROLA_POPLATKU(sesna, EXT_APP_KOD);
                if (!kp.EAexist())
                {
                    throw new Exception("chybný kód externí aplikace");
                }

                obj = sesna.ExecuteScalar("select value from P_EXTAPP where ID = " + EXT_APP_KOD.ToString());
                if (obj != null)
                {
                    EAbit = Convert.ToInt32(obj);
                }
                else
                {
                    throw new Exception("chybný kód externí aplikace");
                }

                if (!Int32.TryParse(Davka, out callDavka)) //naplni callDavka
                {
                    throw new Exception("chybné číslo dávky");
                }
            }
            catch (Exception exc)
            {
                plResp.result = Result.ERROR;

                if (exc.InnerException == null)
                {
                    plResp.ERRORMESS = exc.Message;
                }
                else
                {
                    plResp.ERRORMESS = exc.InnerException.Message;
                }
                return(plResp);

                /*
                 * throw new Exception(String.Format("chyba \n {0}", exc.InnerException.Message));
                 */
            }
            #endregion kontrola vstupnich udaju a nastaveni odberu


            obj = sesna.ExecuteScalar("select MAX(DAVKA) poslDavka from P_GEO_ODBERPL where EA = " + EXT_APP_KOD.ToString());
            if (obj != null)
            {
                oldDavka = Convert.ToInt32(obj);
            }
            else
            {
                oldDavka = -1;
            }

            if (callDavka == -1)
            {
                oldDavka = -1;
            }

            VytvorDavku zpracujDavku = new VytvorDavku(NovaData);
            int         newDavka     = -1;
            try
            {
                sesna.ExplicitBeginTransaction();
                zpracujDavku(oldDavka, callDavka, EXT_APP_KOD, EAbit, sesna, out newDavka);
                sesna.ExplicitCommitTransaction();

                if (newDavka > callDavka)
                {
                    //vyberu a poslu data
                    StringBuilder cmd = new StringBuilder();
                    cmd.Append("select SUM(KC) PLATBA_PLKC, PLATBA_ID, PLATBA_VS, PLATBA_PLDATE, PLATBA_NAUCETDNE, ");
                    cmd.Append(" PLATBA_SS, PLATBA_BANKSPOJ, PLATBA_BANKU, PLATBA_PLATCE, PLATBA_DOKLAD, PLATBA_POKLDOK, ");
                    cmd.Append(" PLATBA_POZNAMKA ");
                    cmd.Append("from P_PLATBA, P_GEO_ODBERPL ");
                    cmd.Append(" where EA = " + EXT_APP_KOD.ToString());
                    cmd.Append("   and DAVKA > " + callDavka.ToString());
                    cmd.Append("   and PLATBA_ID = PLID   ");
                    if (NevracetPlatbyEA == 0) //nechci platby vlozene EA
                    {
                        cmd.Append("   and PLATBA_EA <> " + EXT_APP_KOD.ToString());
                    }
                    cmd.Append("   and exists (select 1 from P_PRPL, P_EXTAPP_POPL eap where PRID = PRPL_ID ");
                    cmd.Append("               and eap.ID = " + EXT_APP_KOD.ToString());
                    cmd.Append("               and eap.POPLATEK = PRPL_POPLATEK) ");
                    cmd.Append("  group by PLATBA_ID, PLATBA_VS, PLATBA_PLDATE, PLATBA_NAUCETDNE, ");
                    cmd.Append("      PLATBA_SS, PLATBA_BANKSPOJ, PLATBA_BANKU, PLATBA_PLATCE, PLATBA_DOKLAD, PLATBA_POKLDOK, ");
                    cmd.Append("      PLATBA_POZNAMKA");
                    cmd.Append(" having SUM(KC) <> 0");
                    cmd.Append("    order by PLATBA_PLDATE"); //na prani Zdenala 2.2.18

                    SelectedData resultSet = sesna.ExecuteQueryWithMetadata(cmd.ToString());

                    try
                    {
                        foreach (var row in resultSet.ResultSet[1].Rows)
                        {
                            PLATBA platba = new PLATBA();
                            row.copyToObject <PLATBA>(resultSet, platba);
                            plResp.UHRADY.Add(platba);
                        }
                    }
                    catch (Exception exc)
                    {
                        sesna.ExplicitRollbackTransaction();
                        plResp.result = Result.ERROR;
                        if (exc.InnerException == null)
                        {
                            plResp.ERRORMESS = exc.Message;
                        }
                        else
                        {
                            plResp.ERRORMESS = exc.InnerException.Message;
                        }

                        return(plResp);
                    }
                }

                plResp.result = Result.OK;
                plResp.DAVKA  = newDavka.ToString();

                if (plResp.UHRADY.Count() > 0)
                {
                    plResp.status = Status.EXISTS;
                }
                else
                {
                    plResp.status = Status.NOTEXISTS;
                }

                return(plResp);
            } //try
            catch (SqlExecutionErrorException exc)
            {
                sesna.ExplicitRollbackTransaction();
                plResp.result = Result.ERROR;
                if (exc.InnerException == null)
                {
                    plResp.ERRORMESS = exc.Message;
                }
                else
                {
                    plResp.ERRORMESS = exc.InnerException.Message;
                }

                return(plResp);
            }
        }
コード例 #3
0
        /// <summary>
        /// Pokud je volano s poslednim cislem davky, jsou vytovrena nova data za nove platby.
        /// Pokud je volano s mensim cislem davky, nez je posledni cislo davky, tak jsou znovu zaslana puvodni
        /// data, plus jsou pridany nove platby.
        /// Je udrzovan seznam pouze naposled predanych plateb, proto lze takto ziskat pouze posledni predane platby,
        /// ktere se nepodarilo zpracovat na klientovi. Nelze ziskat stav minus jedna.
        ///
        /// je provadene kontrola na povolene poplatky - jsou vraceny pouze platby na povolene poplatky
        ///
        /// prvni volani ma cislo davky -1  => jsou predany vsechny dosud nepradane platby
        /// </summary>
        /// <param name="session"></param>
        /// <param name="EXT_APP_KOD"></param>
        /// <param name="Davka"></param>
        /// <returns></returns>
        public UHRADY_NEW_RESP DejUhrady(Session session, int EXT_APP_KOD, string Davka)
        {
            /*
             * Guid g = Guid.NewGuid();
             * string davka = g.ToString();
             *
             *    Guid.NewGuid().ToString() => 36 characters (Hyphenated)
             *    outputs: 12345678-1234-1234-1234-123456789abc
             *
             *    Guid.NewGuid().ToString("D") => 36 characters (Hyphenated, same as ToString())
             *    outputs: 12345678-1234-1234-1234-123456789abc
             *
             *    Guid.NewGuid().ToString("N") => 32 characters (Digits only)
             *    outputs: 12345678123412341234123456789abc
             */
            Session sesna = session;

            UHRADY_NEW_RESP plResp = new UHRADY_NEW_RESP();

            plResp.status = Status.NOTEXISTS;
            plResp.DAVKA  = Davka;
            KONTROLA_POPLATKU kp = null;
            int EAbit;
            int oldDavka;
            int callDavka;

            object obj = null;

            #region kontrola vsupnich udaju
            try
            {
                if (EXT_APP_KOD == null)
                {
                    throw new Exception("kód externí aplikace není zadán");
                }

                //zda je pristup na poplatek
                kp = new KONTROLA_POPLATKU(sesna, EXT_APP_KOD);
                if (!kp.EAexist())
                {
                    throw new Exception("chybný kód externí aplikace");
                }

                obj = sesna.ExecuteScalar("select value from P_EXTAPP where ID = " + EXT_APP_KOD.ToString());
                if (obj != null)
                {
                    EAbit = (int)obj;
                }
                else
                {
                    throw new Exception("chybný kód externí aplikace");
                }


                if (!Int32.TryParse(Davka, out callDavka)) //nanplni callDavka
                {
                    throw new Exception("chybné číslo dávky");
                }
            }
            catch (Exception exc)
            {
                plResp.result = Result.ERROR;

                if (exc.InnerException == null)
                {
                    plResp.ERRORMES = exc.Message;
                }
                else
                {
                    plResp.ERRORMES = exc.InnerException.Message;
                }
                return(plResp);

                /*
                 * throw new Exception(String.Format("chyba \n {0}", exc.InnerException.Message));
                 */
            }
            #endregion kontrola vstupnich udaju

            //   platby, uvazuji pouze platby plusove i minusove,
            //   zaporne predpisy neuvazuji, predpisy obsluhuje ext. aplikace a proto by o nich mela vedet


            obj = sesna.ExecuteScalar("select MAX(DAVKA) poslDavka from P_GEO_ODBERPL where EA = " + EXT_APP_KOD.ToString());
            if (obj != null)
            {
                oldDavka = (int)obj;
            }
            else
            {
                oldDavka = -1;
            }

            VytvorDavku zpracujDavku;
            if ((oldDavka == callDavka)) // || (callDavka == -1))
            {
                zpracujDavku = new VytvorDavku(NovaData);
            }
            else
            {
                zpracujDavku = new VytvorDavku(StaraData);
            }

            int newDavka = -1;
            try
            {
                sesna.ExplicitBeginTransaction();
                zpracujDavku(oldDavka, callDavka, EXT_APP_KOD, EAbit, sesna, out newDavka);
                sesna.ExplicitCommitTransaction();

/*          string predatDavku = string.Empty;
 *        if (zpracujDavku == NovaData)
 *        {
 *          if (newDavka > callDavka)
 *            predatDavku = " DAVKA > " + callDavka.ToString();
 *          else
 *            predatDavku = "1 = 2";
 *        }
 *
 *        if (zpracujDavku == StaraData)
 *        {
 *          predatDavku = " DAVKA > " + callDavka.ToString();
 *        }
 */
                if (callDavka == -1)
                {
                    oldDavka = -1;
                }

                if (newDavka > callDavka)
                {
                    //vyberu a poslu data
                    StringBuilder cmd = new StringBuilder();
                    cmd.Append("select SUM(KC) PLATBA_PLKC, PLATBA_ID, PLATBA_VS, PLATBA_PLDATE, PLATBA_NAUCETDNE, ");
                    cmd.Append(" PLATBA_SS, PLATBA_BANKSPOJ, PLATBA_BANKU, PLATBA_PLATCE, PLATBA_DOKLAD, PLATBA_POKLDOK, ");
                    cmd.Append(" PLATBA_POZNAMKA ");
                    cmd.Append("from P_PLATBA, P_GEO_ODBERPL ");
                    cmd.Append(" where EA = " + EXT_APP_KOD.ToString());
                    cmd.Append("   and DAVKA > " + callDavka.ToString());
                    cmd.Append("   and PLATBA_ID = PLID   ");
                    cmd.Append("   and exists (select 1 from P_PRPL, P_EXTAPP_POPL eap where PRID = PRPL_ID ");
                    cmd.Append("               and eap.ID = " + EXT_APP_KOD.ToString());
                    cmd.Append("               and eap.POPLATEK = PRPL_POPLATEK) ");
                    cmd.Append("  group by PLATBA_ID, PLATBA_VS, PLATBA_PLDATE, PLATBA_NAUCETDNE, ");
                    cmd.Append("      PLATBA_SS, PLATBA_BANKSPOJ, PLATBA_BANKU, PLATBA_PLATCE, PLATBA_DOKLAD, PLATBA_POKLDOK, ");
                    cmd.Append("      PLATBA_POZNAMKA");

                    SelectedData resultSet = sesna.ExecuteQueryWithMetadata(cmd.ToString());

                    foreach (var row in resultSet.ResultSet[1].Rows) //.ResultSet[1] obsahuje vlastni data
                    {
                        PLATBA platba = new PLATBA();
                        resultSet.ResultSet[1].Rows[0].copyToObject <PLATBA>(resultSet, platba);
                        plResp.UHRADY.Add(platba);
                    }
                }

                plResp.result = Result.OK;
                plResp.DAVKA  = newDavka.ToString();

                if (plResp.UHRADY.Count() > 0)
                {
                    plResp.status = Status.EXISTS;
                }
                else
                {
                    plResp.status = Status.NOTEXISTS;
                }

                return(plResp);
            } //try
            catch (SqlExecutionErrorException exc) //XPO exception
            // catch (Exception)
            {
                sesna.ExplicitRollbackTransaction();
                plResp.result = Result.ERROR;
                if (exc.InnerException == null)
                {
                    plResp.ERRORMES = exc.Message;
                }
                else
                {
                    plResp.ERRORMES = exc.InnerException.Message;
                }

                return(plResp);
            }

            /*
             #region nahraj novou davku
             *  start transaction
             *     --vycistim tabulku
             *      delete from P_GEO_PAR where ZPRACOVAT = EAbit
             *
             *
             *     --odmazu stara data. Jsou uspesne predana, protoze je volano s poslednim cislem davky
             *      delete from P_GEO_ODBERPL where EA =
             *                        and DAVKA < oldDavka
             *
             *      --vlozim nova data
             *      insert into P_GEO_ODBERPL (DAVKA, EA, PRID, PLID, KC)
             *        select MAX(ID) DAVKA, EA, PRID, PLID, sum(KC) from P_GEO_PAR a
             *          where (PRID > 0 and PLID > 0)      --kladna platba k predpisu
             *            and ZPRACOVAT ...
             *            and ID > oldDavka
             *      group by PRID, PLID
             *
             *     select MAX(ID) newDavka from P_GEO_ODBERPL where EA =
             *
             *     --odnastaveni EAbitu
             *     update P_GEO_PAR set ZPRACOVAT =
             *        where ID <= newDavka
             * commit transaction
             *
             *
             #end region nahraj novou davku
             *
             #region dej znovu data
             *  start transaction
             *
             *      --vlozim nova data od minuleho pozadavku
             *      insert into P_GEO_ODBERPL (DAVKA, EA, PRID, PLID, KC)
             *        select MAX(ID) DAVKA, EA, PRID, PLID, sum(KC) from P_GEO_PAR a
             *          where (PRID > 0 and PLID > 0)      --kladna platba k predpisu
             *            and ZPRACOVAT ...
             *            and ID > poslDavka
             *      group by PRID, PLID
             *
             *     select MAX(ID) newDavka from P_GEO_ODBERPL where EA =
             *
             *     if newDavka = poslDavka
             *          then   nejsou nove platby a proto koncim
             *
             *     --data z posledniho neuspesneho dotazu pridam do noveho dotazu
             *     update P_GEO_ODBERPL set DAVKA = newDavka where DAVKA = poslDavka
             *
             *     --odnastaveni EAbitu
             *     update P_GEO_PAR set ZPRACOVAT =
             *        where ID <= newDavka
             *
             *  commit transaction
             *
             #endregion dej znovu data
             *
             *
             *   --vyberu a poslu data
             *      select SUM(KC) KC, PLATBA_ID, PLATBA_VS, ...  from P_PLATBA, P_GEO_ODBERPL
             *        where EA =
             *          and PLATBA_ID = PLID
             *          and exists (select 1 from P_PRPL, P_EXTAPP_POPL eap where PRID = PRPL_ID
             *                        and eap.ID = EA ..
             *                        and eap.POPLATEK = PRPL_POPLATEK)
             *
             *
             *
             *      //MSSQL where ZPRACOVAT | 2 - 2 = 0   //je nastaven jen druhy bit
             *                            ZPRACOVAT = 2   //je nastaven jen druhy bit
             *      //MSSQ  where PRPL_PR & 8 = 8 //je nastaven 4. bit
             *      //MSSQ  nastaveni 3. bitu    set PRPL_PR = (PRPL_PR | 4)
             *      //MSSQL odnastaveni 4 bitu   set PRPL_PR = ( PRPL_PR  | 8 ) - 8
             *      //ORACLE where bitand(PRPL_PR, 8) = 8 //je nastaven 4. bit
             *      //ORACLE where PRPL_PR - bitand(PRPL_PR, 4) = 0 //je nastaven jen treti bit
             *                                          PRPL_PR = 4 //je nastaven jen treti bit
             *      //ORACLE bitove or    PRPL_PR - bitand(PRPL_PR, 4)
             *      //ORACLE nastaveni 3.bitu    set PRPL_PR = PRPL_PR - bitand(PRPL_PR, 4) + 4
             *      //ORACLE odnastaveni 4 bitu  set PRPL_PR = PRPL_PR - bitand(PRPL_PR, 8)
             */
        }
コード例 #4
0
        /// <summary>
        /// uhrady za VS
        /// </summary>
        /// <param name="session"></param>
        /// <param name="EXT_APP_KOD"></param>
        /// <param name="VS"></param>
        /// <returns></returns>
        public UHRADY_RESP DejUhrady(Session session, int EXT_APP_KOD, string VS)
        {
            Session     sesna  = session;
            UHRADY_RESP plResp = new UHRADY_RESP();

            plResp.status = Status.NOTEXISTS;

            #region kontrola vsupnich udaju
            try
            {
                if (EXT_APP_KOD == null)
                {
                    throw new Exception("kód externí aplikace není zadán");
                }

                if (string.IsNullOrEmpty(VS))
                {
                    throw new Exception("VS není zadán");
                }

                P_LIKEVS likevs = sesna.FindObject <P_LIKEVS>(CriteriaOperator.Parse("LIKEVS_VS = ?", VS));
                if (likevs == null)
                {
                    plResp.status = Status.NOTEXISTS;
                    plResp.result = Result.OK;
                    return(plResp);
                }


                //zda je pristup na poplatek
                KONTROLA_POPLATKU kp = new KONTROLA_POPLATKU(sesna, EXT_APP_KOD);
                if (!kp.EAexist())
                {
                    throw new Exception("chybný kód externí aplikace");
                }
                if (!kp.existPravoNadPoplatkem(likevs.CompoundKey1.LIKEVS_POPLATEK))
                {
                    throw new Exception("k pohledávce neexistuje oprávnění");
                }
            }
            catch (Exception exc)
            {
                plResp.result = Result.ERROR;

                if (exc.InnerException == null)
                {
                    plResp.ERRORMESS = exc.Message;
                }
                else
                {
                    plResp.ERRORMESS = exc.InnerException.Message;
                }
                return(plResp);

                /*
                 * throw new Exception(String.Format("chyba \n {0}", exc.InnerException.Message));
                 */
            }
            #endregion kontrola vstupnich udaju

            //setridim vzestupne dle PLATBA_ID
            XPCollection <P_PLATBA> platby = new XPCollection <P_PLATBA>(sesna, CriteriaOperator.Parse("PLATBA_VS = ?", VS), new SortProperty("PLATBA_ID", SortingDirection.Ascending));
            foreach (var item in platby)
            {
                PLATBA pl = new PLATBA();
                Utils.copy.CopyDlePersistentAttr <PLATBA>(item, pl);
                plResp.UHRADY.Add(pl);
            }

            plResp.result = Result.OK;
            if (platby.Count > 0) //0.27
            {
                plResp.status = Status.EXISTS;
            }

            return(plResp);
        }