示例#1
0
        private void SaveApproval(string NoKontrak, CheckBox cb, DateTime Tgl, string lvl)
        {
            int Lvl    = Convert.ToInt16(lvl);
            int MaxApp = 0;

            if (HakApp().Rows.Count > 0)
            {
                MaxApp = Db.SingleByte("SELECT TOP 1 Lvl FROM ISC064_SECURITY..REF_APPROVAL WHERE Tipe = 1 ORDER BY Lvl DESC");
            }

            string Ket = "";

            if (cb.Checked)
            {
                if (Lvl < MaxApp)
                {
                    Ket = "Tgl Approval GN : " + Cf.Day(Convert.ToDateTime(Tgl));

                    //Push notif ke Approval selanjutnya
                    DataTable rsNextApp = Db.Rs("SELECT * FROM ISC064_SECURITY..REF_APPROVAL WHERE Tipe = 1 "
                                                + " AND Lvl = " + (Lvl + 1));

                    for (int i = 0; i < rsNextApp.Rows.Count; i++)
                    {
                        string UserIDNextApp = rsNextApp.Rows[i]["UserID"].ToString();
                        LibApi.PushNotif("APR-GN", "Permohonan Approval Pengalihan Hak " + NoKontrak, UserIDNextApp, NoKontrak, 1);
                    }
                }
                else
                {
                    DataTable rsBef = Db.Rs("SELECT "
                                            + " MS_CUSTOMER.NoCustomer AS [No. Customer]"
                                            + ",MS_CUSTOMER.Nama AS [Nama Customer]"
                                            //+ ",CONVERT(varchar,MS_KONTRAK.TglApGN,106) AS [Tgl Approval Pengalihan Hak]"
                                            + " FROM MS_KONTRAK INNER JOIN MS_CUSTOMER "
                                            + " ON MS_KONTRAK.NoCustomer = MS_CUSTOMER.NoCustomer"
                                            + " WHERE MS_KONTRAK.NoKontrak = '" + NoKontrak + "'");

                    /*Ambil No Customer Baru dari TempGN*/
                    int NoCustomer = Db.SingleInteger("SELECT TempGN FROM MS_KONTRAK WHERE NoKontrak='" + NoKontrak + "'");

                    Db.Execute("EXEC spKontrakGantiNama "
                               + " '" + NoKontrak + "'"
                               + ", '" + NoCustomer + "'"
                               // + ", '" + Tgl + "'"
                               );

                    /*Update Flag ApprovalGN*/
                    Db.Execute("UPDATE MS_KONTRAK "
                               + " SET ApprovalGN = 0"
                               + " ,Revisi = Revisi + 1"
                               + " WHERE NoKontrak='" + NoKontrak + "'"
                               );

                    DataTable rsAft = Db.Rs("SELECT "
                                            + " MS_CUSTOMER.NoCustomer AS [No. Customer]"
                                            + ",MS_CUSTOMER.Nama AS [Nama Customer]"
                                            //+ ",CONVERT(varchar,MS_KONTRAK.TglApGN,106) AS [Tgl Approval Pengalihan Hak]"
                                            + " FROM MS_KONTRAK INNER JOIN MS_CUSTOMER "
                                            + " ON MS_KONTRAK.NoCustomer = MS_CUSTOMER.NoCustomer"
                                            + " WHERE MS_KONTRAK.NoKontrak = '" + NoKontrak + "'");

                    /* Ambil Nilai Biaya dari TempBiayaGN */
                    decimal NilaiBiaya = Db.SingleDecimal("SELECT TempBiayaGN FROM MS_KONTRAK WHERE NoKontrak='" + NoKontrak + "'");

                    if (NilaiBiaya != 0)
                    {
                        Db.Execute("EXEC spTagihanDaftar "
                                   + " '" + NoKontrak + "'"
                                   + ",'BIAYA ADM. Pengalihan Hak'"
                                   + ",'" + Cf.Day(DateTime.Today) + "'"
                                   + ", " + NilaiBiaya
                                   + ",'ADM'"
                                   );
                    }

                    /* Ambil Nilai PPH Pengalihan Hak dari TempBiayaPPH */
                    decimal NilaiPPH = Db.SingleDecimal("SELECT TempBiayaPPH FROM MS_KONTRAK WHERE NoKontrak='" + NoKontrak + "'");

                    if (NilaiPPH != 0)
                    {
                        Db.Execute("EXEC spTagihanDaftar "
                                   + " '" + NoKontrak + "'"
                                   + ",'BIAYA PPH PENGALIHAN HAK'"
                                   + ",'" + Cf.Day(DateTime.Today) + "'"
                                   + ", " + NilaiPPH
                                   + ",'ADM'"
                                   );
                    }


                    /*Pengalihan Hak customer di MS_TTS*/
                    string strNamaCs = Cf.Str(Db.SingleString("SELECT Nama FROM MS_CUSTOMER WHERE NoCustomer = " + NoCustomer));
                    string strSql    = "UPDATE " + Mi.DbPrefix + "FINANCEAR..MS_TTS"
                                       + " SET Customer = '" + strNamaCs + "'"
                                       + " WHERE Ref = '" + NoKontrak + "'"
                                       + " AND Tipe = 'JUAL'"
                    ;
                    Db.Execute(strSql);
                    /*******************************/

                    /*Pengalihan Hak customer di MS_MEMO*/
                    strSql = "UPDATE " + Mi.DbPrefix + "FINANCEAR..MS_MEMO"
                             + " SET Customer = '" + strNamaCs + "'"
                             + " WHERE Ref = '" + NoKontrak + "'"
                             + " AND Tipe = 'JUAL'"
                    ;
                    Db.Execute(strSql);
                    /*******************************/

                    /*Pengalihan Hak customer di MS_PJT*/
                    strSql = "UPDATE " + Mi.DbPrefix + "FINANCEAR..MS_PJT"
                             + " SET Customer = '" + strNamaCs + "'"
                             + " WHERE Ref = '" + NoKontrak + "'"
                             + " AND Tipe = 'JUAL'"
                    ;
                    Db.Execute(strSql);
                    /*******************************/

                    /*Pengalihan Hak customer di MS_TUNGGAKAN*/
                    strSql = "UPDATE " + Mi.DbPrefix + "FINANCEAR..MS_TUNGGAKAN"
                             + " SET Customer = '" + strNamaCs + "'"
                             + " WHERE Ref = '" + NoKontrak + "'"
                             + " AND Tipe = 'JUAL'"
                    ;
                    Db.Execute(strSql);
                    /*******************************/

                    Ket = Cf.LogCompare(rsBef, rsAft)
                          + "<br>Biaya Administrasi : " + Cf.Num(NilaiBiaya)
                          + "<br>Biaya PPH Pengalihan Hak : " + Cf.Num(NilaiPPH)
                          + "<br>Tgl Approval GN : " + Cf.Day(Convert.ToDateTime(tglot.Text))
                    ;
                }

                if (HakApp().Rows.Count > 0)
                {
                    Db.Execute("EXEC spLogKontrakApp "
                               + " '" + NoKontrak + "'"
                               + ",'" + Act.UserID + "'"
                               + "," + 1
                               + ",'" + Convert.ToDateTime(Cf.Day(Tgl)) + "'"
                               + "," + Lvl
                               + "," + 1
                               + ",''"
                               );

                    decimal LogID2   = Db.SingleDecimal("SELECT TOP 1 LogID FROM MS_KONTRAK_APP_LOG ORDER BY LogID DESC");
                    string  Project2 = Db.SingleString("SELECT Project FROM MS_KONTRAK WHERE NoKontrak = '" + NoKontrak + "'");
                    Db.Execute("UPDATE MS_KONTRAK_APP_LOG SET Project = '" + Project2 + "' WHERE LogID  = " + LogID2);

                    if (Lvl == MaxApp)
                    {
                        Db.Execute("UPDATE MS_KONTRAK_APP_LOG Set Finish = 1 "
                                   + " WHERE NoKontrak = '" + NoKontrak + "'"
                                   + " AND Tipe = 1");
                    }
                }

                Db.Execute("EXEC spLogKontrak "
                           + " 'APR-GN'"
                           + ",'" + Act.UserID + "'"
                           + ",'" + Act.IP + "'"
                           + ",'" + Ket + "'"
                           + ",'" + NoKontrak + "'"
                           );

                decimal LogID   = Db.SingleDecimal("SELECT TOP 1 LogID FROM MS_KONTRAK_LOG ORDER BY LogID DESC");
                string  Project = Db.SingleString("SELECT Project FROM MS_KONTRAK WHERE NoKontrak = '" + NoKontrak + "'");
                Db.Execute("UPDATE MS_KONTRAK_LOG SET Project = '" + Project + "' WHERE LogID  = " + LogID);
            }
        }
示例#2
0
        protected void save_Click(object sender, System.EventArgs e)
        {
            if (datavalid())
            {
                string  c          = Db.SingleString("SELECT Value FROM " + Mi.DbPrefix + "SECURITY..REF_PARAM WHERE ParamID = 'ApprovGantiUnit" + Project + "'");
                decimal NilaiBiaya = Convert.ToDecimal(nilaibiaya.Text);

                int nomor = Db.SingleInteger("SELECT COUNT(*) FROM MS_APPROVAL");
                nomor++;
                string NoApproval = nomor.ToString().PadLeft(7, '0');
                if (c == "True")
                {
                    if (filevalid())
                    {
                        DataTable rsBef = Db.Rs("SELECT "
                                                + " NoStock AS [No. Stock]"
                                                + ",NoUnit AS [Unit]"
                                                + ",Luas AS [Luas]"
                                                + ",Gross AS [Nilai Gross]"
                                                + " FROM MS_KONTRAK"
                                                + " WHERE NoKontrak = '" + NoKontrak + "'");

                        string NoStockOld = Db.SingleString(
                            "SELECT NoStock FROM MS_KONTRAK WHERE NoKontrak = '" + NoKontrak + "'");

                        //Update TempGU, TempBiayaGU
                        int count = Db.SingleInteger("SELECT COUNT (*) FROM MS_APPROVAL_GU WHERE UnitBaru ='" + NoStock + "' AND NoApproval IN (SELECT NoApproval FROM MS_APPROVAL WHERE Sumber = '" + Str.Approval("2") + "' AND Status <> 'DONE')");
                        if (count > 0)
                        {
                            nostockc.Text = "Unit Tidak Valid";

                            Js.Alert(
                                this
                                , "Unit Tidak Valid.\\n\\n"
                                + "Kemungkinan Sebab :\\n"
                                + "1. Unit sudah dijual kepada customer lain.\\n"
                                , "document.getElementById('nostock').focus();"
                                + "document.getElementById('nostock').select();"
                                );
                        }
                        else
                        {
                            //INSERT KE MS_APPROVAL
                            Db.Execute("EXEC spApproval"
                                       + "'" + NoApproval + "'"
                                       + ",'" + Str.Approval("2") + "'"//untuk ganti unit
                                       + ",'" + NoKontrak + "'"
                                       + ",'" + Convert.ToDateTime(tglgu.Text) + "'"
                                       + ",'" + Project + "'"
                                       );

                            //insert siapa aja yang berhak approve ke ms_approval_detil
                            DataTable rs2 = Db.Rs("SELECT * FROM " + Mi.DbPrefix + "SECURITY..REF_APPROVAL WHERE Tipe = 2 AND Project = '" + Project + "'");
                            for (int i = 0; i < rs2.Rows.Count; i++)
                            {
                                Db.Execute("EXEC spApprovalDetil"
                                           + "'" + NoApproval + "'"
                                           + ",'" + (i + 1) + "'"
                                           + ",'" + rs2.Rows[i]["UserID"].ToString() + "'"//dari Textbox
                                           + "," + rs2.Rows[i]["Lvl"]
                                           + ",'" + Db.SingleString("SELECT Nama FROM " + Mi.DbPrefix + "SECURITY..USERNAME WHERE UserID = '" + rs2.Rows[i]["UserID"].ToString() + "'") + "'"
                                           );
                            }

                            //insert perubahan unit nya ke ms_approval_gu
                            Db.Execute("EXEC spKontrakGantiUnitTemp"
                                       + "'" + NoApproval + "'"
                                       + ",'" + NoKontrak + "'"
                                       + ",'" + NoStock + "'"//dari Textbox
                                       + ",'" + NilaiBiaya + "'"
                                       + ",'" + Convert.ToDateTime(tglgu.Text) + "'"
                                       + ",'" + Cf.Str(baru.Text) + "'"
                                       );

                            string NoStockNew = Db.SingleString(
                                "SELECT UnitBaru FROM MS_APPROVAL_GU WHERE NoApproval = '" + NoApproval + "'");

                            if (NoStockNew == NoStockOld)
                            {
                                nostockc.Text = "Unit Tidak Valid";

                                Js.Alert(
                                    this
                                    , "Unit Tidak Valid.\\n\\n"
                                    + "Kemungkinan Sebab :\\n"
                                    + "1. Unit sudah dijual kepada customer lain.\\n"
                                    , "document.getElementById('nostock').focus();"
                                    + "document.getElementById('nostock').select();"
                                    );
                            }
                            else
                            {
                                //Data Unit Baru dari MS_UNIT
                                DataTable rsAft = Db.Rs("SELECT "
                                                        + " NoStock AS [No. Stock]"
                                                        + ",NoUnit AS [Unit]"
                                                        + ",Luas AS [Luas]"
                                                        + ",PriceList AS [Nilai Gross]"
                                                        + " FROM MS_UNIT"
                                                        + " WHERE NoStock = '" + NoStockNew + "'");

                                /*Insert jurnal kontrak*/
                                string strKetJurnal = "KONTRAK Pindah Unit<br />" + Cf.Str(baru.Text);

                                Db.Execute("EXEC spJurnalKontrak "
                                           + " '" + Act.UserID + "'"
                                           + ",'" + NoKontrak + "'"
                                           + ",'" + strKetJurnal + "'"
                                           );

                                if (file.PostedFile.FileName.Length != 0)
                                {
                                    long   JurnalID = Db.SingleLong("SELECT TOP 1 JurnalID FROM MS_KONTRAK_JURNAL ORDER BY JurnalID DESC");
                                    string path     = Request.PhysicalApplicationPath
                                                      + "JurnalKontrak\\" + JurnalID + ".jpg";
                                    Dfc.UploadFile(".jpg", path, file);
                                }
                                /***********************/

                                string Ket = Cf.LogCompare(rsBef, rsAft)
                                             + "<br>Biaya Administrasi : " + Cf.Num(NilaiBiaya)
                                             + "<br>Tgl Pindah Unit : " + Cf.Day(tglgu.Text)
                                ;

                                Db.Execute("EXEC spLogKontrak "
                                           + " 'GU'"
                                           + ",'" + Act.UserID + "'"
                                           + ",'" + Act.IP + "'"
                                           + ",'" + Ket + "'"
                                           + ",'" + NoKontrak + "'"
                                           );

                                decimal LogID = Db.SingleDecimal("SELECT TOP 1 LogID FROM MS_KONTRAK_LOG ORDER BY LogID DESC");
                                Db.Execute("UPDATE MS_KONTRAK_LOG SET Project = '" + Project + "' WHERE LogID  = " + LogID);

                                Func.CekKomisi(NoKontrak);

                                //Push notif ke Approval selanjutnya
                                string    DeptID    = Db.SingleString("SELECT Project FROM MS_KONTRAK WHERE NoKontrak = '" + NoKontrak + "'");
                                DataTable rsNextApp = Db.Rs("SELECT * FROM ISC064_SECURITY..REF_APPROVAL WHERE Tipe = 2 "
                                                            + " AND Lvl = 1 AND Project = '" + DeptID + "'");

                                for (int i = 0; i < rsNextApp.Rows.Count; i++)
                                {
                                    string UserIDNextApp = rsNextApp.Rows[i]["UserID"].ToString();
                                    LibApi.PushNotif("APR-GU", "Permohonan Approval Pindah Unit " + NoKontrak, UserIDNextApp, NoKontrak, 1);
                                }

                                Response.Redirect("KontrakGantiUnit.aspx?done=" + NoKontrak);
                            }
                        }
                    }
                }
                else
                {
                    if (filevalid())
                    {
                        DataTable rsBef = Db.Rs("SELECT "
                                                + " NoStock AS [No. Stock]"
                                                + ",NoUnit AS [Unit]"
                                                + ",Luas AS [Luas]"
                                                + ",Gross AS [Nilai Gross]"
                                                + ",NilaiKontrak AS [Nilai Kontrak]"
                                                + ",DiskonRupiah AS [Diskon dalam Rupiah]"
                                                + ",DiskonPersen AS [Diskon dalam Persen]"
                                                + ",NilaiPPN AS [Nilai PPN]"
                                                + " FROM ISC064_MARKETINGJUAL..MS_KONTRAK"
                                                + " WHERE NoKontrak = '" + NoKontrak + "'");

                        string NoStockOld = Db.SingleString(
                            "SELECT NoStock FROM ISC064_MARKETINGJUAL..MS_KONTRAK WHERE NoKontrak = '" + NoKontrak + "'");

                        decimal biaya = Convert.ToDecimal(nilaibiaya.Text);

                        //INSERT KE MS_APPROVAL
                        Db.Execute("INSERT INTO MS_APPROVAL VALUES ("
                                   + "'" + NoApproval + "'"
                                   + ",'" + Str.Approval("2") + "'"//untuk ganti unit
                                   + ",'" + NoKontrak + "'"
                                   + ",'" + Convert.ToDateTime(tglgu.Text) + "'"
                                   + ",'DONE'"
                                   + ",'" + Convert.ToDateTime(tglgu.Text) + "'"
                                   + ",'" + Project + "')"
                                   );

                        //insert perubahan unit nya ke ms_approval_gu
                        Db.Execute("EXEC spKontrakGantiUnitTemp"
                                   + "'" + NoApproval + "'"
                                   + ",'" + NoKontrak + "'"
                                   + ",'" + NoStock + "'"//dari Textbox
                                   + ",'" + NilaiBiaya + "'"
                                   + ",'" + Convert.ToDateTime(tglgu.Text) + "'"
                                   + ",'" + Cf.Str(baru.Text) + "'"
                                   );

                        //GANTI UNIT NYA
                        Db.Execute("EXEC ISC064_MARKETINGJUAL..spKontrakGantiUnit "
                                   + " '" + NoKontrak + "'"
                                   + ",'" + NoStock + "'"
                                   // + ",'" + Tgl + "'"
                                   );

                        string NoUnitBaru = Db.SingleString("SELECT NoUnit FROM " + Mi.DbPrefix + "MARKETINGJUAL..MS_UNIT WHERE NoStock = '" + NoStock + "'");

                        //update nounit di kontrak
                        Db.Execute("UPDATE " + Mi.DbPrefix + "MARKETINGJUAL..MS_KONTRAK SET NoUnit = '" + NoUnitBaru + "' WHERE NoKontrak = '" + NoKontrak + "'");

                        //Insert tagihan
                        if (biaya != 0)
                        {
                            Db.Execute("EXEC ISC064_MARKETINGJUAL..spTagihanDaftar "
                                       + " '" + NoKontrak + "'"
                                       + ",'BIAYA ADM. Pindah Unit'"
                                       + ",'" + Cf.Day(DateTime.Today) + "'"
                                       + ", " + biaya
                                       + ",'ADM'"
                                       );

                            int NoUrut = Db.SingleInteger("SELECT TOP 1 NoUrut FROM MS_TAGIHAN WHERE NoKontrak = '" + NoKontrak + "' ORDER BY NoUrut DESC");
                            Db.Execute("UPDATE " + Mi.DbPrefix + "MARKETINGJUAL..MS_TAGIHAN SET Jenis = 'Pindah Unit' WHERE NoKontrak = '" + NoKontrak + "' AND NoUrut = " + NoUrut);
                        }

                        //UPDATE Nilai PPN , Nilai Kontrak Terbaru, PPNPemerintah, ApprovalGU
                        decimal GrossBaru = Db.SingleDecimal("SELECT Pricelist FROM MS_UNIT WHERE NoUnit = '" + NoUnitBaru + "'");
                        decimal DiskonRupiah = Db.SingleDecimal("SELECT DiskonRupiah FROM MS_KONTRAK WHERE NoKOntrak = '" + NoKontrak + "'");
                        decimal DiskonTambahan = Db.SingleDecimal("SELECT DiskonTambahan FROM MS_KONTRAK WHERE NoKOntrak = '" + NoKontrak + "'");
                        decimal BungaRupiah = Db.SingleDecimal("SELECT BungaNominal FROM MS_KONTRAK WHERE NoKOntrak = '" + NoKontrak + "'");
                        string  ParamID = "PLIncludePPN" + Project;
                        decimal DPP = 0, NilaiPPN = 0, NilaiKontrak = 0;
                        bool    includeppn = Db.SingleString("SELECT Value FROM " + Mi.DbPrefix + "SECURITY..REF_PARAM WHERE ParamID = '" + ParamID + "'") == "True";
                        bool    jenisppn   = Db.SingleBool("SELECT PPN FROM " + Mi.DbPrefix + "MARKETINGJUAL..MS_KONTRAK WHERE NoKontrak='" + NoKontrak + "'");
                        decimal Netto      = GrossBaru + BungaRupiah - DiskonRupiah - DiskonTambahan;
                        if (jenisppn)
                        {
                            if (includeppn)
                            {
                                DPP      = Math.Round(Netto / (decimal)1.1);
                                NilaiPPN = Netto - DPP;
                            }
                            else
                            {
                                DPP      = Netto;
                                NilaiPPN = (DPP * (decimal)0.1);
                            }
                        }
                        else
                        {
                            DPP = Netto;
                        }

                        Db.Execute("UPDATE " + Mi.DbPrefix + "MARKETINGJUAL..MS_KONTRAK "
                                   + " SET NilaiPPN='" + NilaiPPN + "'"
                                   + ", NilaiKontrak='" + NilaiKontrak + "'"
                                   + ", NilaiDPP='" + DPP + "'"
                                   + ", Gross='" + GrossBaru + "'"
                                   + ", ApprovalGU = '" + Convert.ToBoolean(0) + "'"
                                   + ", Revisi = Revisi + 1"
                                   + " WHERE NoKontrak='" + NoKontrak + "'"
                                   );


                        decimal pl = Db.SingleDecimal("SELECT ISNULL(PriceList, 0) FROM MS_UNIT WHERE NoStock = '" + NoStock + "'");

                        //string RumusDiskon = Db.SingleString("SELECT Diskon FROM REF_SKEMA WHERE Nomor = " + crbyt.SelectedValue);

                        DataTable rsAft = Db.Rs("SELECT "
                                                + " NoStock AS [No. Stock]"
                                                + ",NoUnit AS [Unit]"
                                                + ",Luas AS [Luas]"
                                                + ",Gross AS [Nilai Gross]"
                                                + ",NilaiKontrak AS [Nilai Kontrak]"
                                                + ",DiskonRupiah AS [Diskon dalam Rupiah]"
                                                + ",DiskonPersen AS [Diskon dalam Persen]"
                                                + ",NilaiPPN AS [Nilai PPN]"
                                                + " FROM ISC064_MARKETINGJUAL..MS_KONTRAK"
                                                + " WHERE NoKontrak = '" + NoKontrak + "'");


                        /*Ganti nomor unit di MS_TTS*/
                        string strNoUnit = Cf.Str(Db.SingleString("SELECT NoUnit FROM " + Mi.DbPrefix + "MARKETINGJUAL..MS_UNIT WHERE NoStock = '" + NoStock + "'"));
                        string strSql    = "UPDATE " + Mi.DbPrefix + "FINANCEAR..MS_TTS"
                                           + " SET Unit = '" + strNoUnit + "'"
                                           + " WHERE Ref = '" + NoKontrak + "'"
                                           + " AND Tipe = 'JUAL'"
                        ;
                        Db.Execute(strSql);
                        /*******************************/

                        /*Ganti nomor unit di MS_MEMO*/
                        strSql = "UPDATE " + Mi.DbPrefix + "FINANCEAR..MS_MEMO"
                                 + " SET Unit = '" + strNoUnit + "'"
                                 + " WHERE Ref = '" + NoKontrak + "'"
                                 + " AND Tipe = 'JUAL'"
                        ;
                        Db.Execute(strSql);
                        /*******************************/

                        /*Ganti nomor unit di MS_PJT*/
                        strSql = "UPDATE " + Mi.DbPrefix + "FINANCEAR..MS_PJT"
                                 + " SET Unit = '" + strNoUnit + "'"
                                 + " WHERE Ref = '" + NoKontrak + "'"
                                 + " AND Tipe = 'JUAL'"
                        ;
                        Db.Execute(strSql);
                        /*******************************/

                        /*Ganti nomor unit di MS_TUNGGAKAN*/
                        strSql = "UPDATE " + Mi.DbPrefix + "FINANCEAR..MS_TUNGGAKAN"
                                 + " SET Unit = '" + strNoUnit + "'"
                                 + " WHERE Ref = '" + NoKontrak + "'"
                                 + " AND Tipe = 'JUAL'"
                        ;
                        Db.Execute(strSql);
                        /*******************************/

                        string Ket = Cf.LogCompare(rsBef, rsAft)
                                     + "<br>Biaya Administrasi : " + Cf.Num(NilaiBiaya)
                                     + "<br>Tgl Pindah Unit : " + Cf.Day(tglgu.Text)
                        ;

                        /*Insert jurnal kontrak*/
                        string strKetJurnal = "KONTRAK Pindah Unit<br />" + Cf.Str(baru.Text);

                        Db.Execute("EXEC spJurnalKontrak "
                                   + " '" + Act.UserID + "'"
                                   + ",'" + NoKontrak + "'"
                                   + ",'" + strKetJurnal + "'"
                                   );

                        if (file.PostedFile.FileName.Length != 0)
                        {
                            long   JurnalID = Db.SingleLong("SELECT TOP 1 JurnalID FROM MS_KONTRAK_JURNAL ORDER BY JurnalID DESC");
                            string path     = Request.PhysicalApplicationPath
                                              + "JurnalKontrak\\" + JurnalID + ".jpg";
                            Dfc.UploadFile(".jpg", path, file);
                        }
                        /***********************/

                        Db.Execute("EXEC spLogKontrak "
                                   + " 'GU'"
                                   + ",'" + Act.UserID + "'"
                                   + ",'" + Act.IP + "'"
                                   + ",'" + Ket + "'"
                                   + ",'" + NoKontrak + "'"
                                   );

                        decimal LogID = Db.SingleDecimal("SELECT TOP 1 LogID FROM MS_KONTRAK_LOG ORDER BY LogID DESC");
                        Db.Execute("UPDATE MS_KONTRAK_LOG SET Project = '" + Project + "' WHERE LogID  = " + LogID);

                        Func.CekKomisi(NoKontrak);

                        //Push notif ke Approval selanjutnya
                        DataTable rsNextApp = Db.Rs("SELECT * FROM ISC064_SECURITY..REF_APPROVAL WHERE Tipe = 2 "
                                                    + " AND Lvl = 1");

                        for (int i = 0; i < rsNextApp.Rows.Count; i++)
                        {
                            string UserIDNextApp = rsNextApp.Rows[i]["UserID"].ToString();
                            LibApi.PushNotif("APR-GU", "Permohonan Approval Pindah Unit " + NoKontrak, UserIDNextApp, NoKontrak, 1);
                        }

                        Response.Redirect("KontrakGantiUnit.aspx?done=" + NoKontrak);
                    }
                }
            }
        }
示例#3
0
        private void SaveApproval(String NoKontrak, string lvl, string Proj, int Approve)
        {
            int    Lvl    = Convert.ToInt16(lvl);
            int    MaxApp = Db.SingleByte("SELECT TOP 1 Lvl FROM " + Mi.DbPrefix + "SECURITY..REF_APPROVAL WHERE Tipe = 5 AND Project='" + Proj + "' ORDER BY Lvl DESC");
            string Note   = note.Text;

            string Ket = "";

            if (Approve == 1)
            {
                if (Lvl < MaxApp)
                {
                    //update status approval jadi proses
                    Db.Execute("UPDATE " + Mi.DbPrefix + "MARKETINGJUAL..MS_APPROVAL SET Status = 'PROCESS',TglApproval = '" + DateTime.Today + "' WHERE NoApproval = '" + NoApproval + "'");
                    //update detail approval dari user yang approve
                    Db.Execute("UPDATE " + Mi.DbPrefix + "MARKETINGJUAL..MS_APPROVAL_DETAIL SET Approve = 1,Note = '" + Note + "',TglApproval = '" + DateTime.Today + "' WHERE NoApproval = '" + NoApproval + "' AND UserID = '" + Act.UserID + "' AND Lvl = '" + Lvl + "'");

                    Ket = "Tgl Approval : " + Cf.Day(DateTime.Today);

                    //Push notif ke Approval selanjutnya
                    DataTable rsNextApp = Db.Rs("SELECT * FROM " + Mi.DbPrefix + "SECURITY..REF_APPROVAL WHERE Tipe = 5 "
                                                + " AND Project='" + Proj + "' AND Lvl = " + (Lvl + 1));

                    for (int i = 0; i < rsNextApp.Rows.Count; i++)
                    {
                        string UserIDNextApp = rsNextApp.Rows[i]["UserID"].ToString();
                        LibApi.PushNotif("APR-GU", "Permohonan Approval Adjustment Kontrak " + NoKontrak, UserIDNextApp, NoKontrak, 1);
                    }
                }
                else
                {
                    DataTable rsBef = Db.Rs("SELECT "
                                            + " NilaiKontrak AS [No. Kontrak]"
                                            + ", Gross AS [Gross] "
                                            + ", DiskonRupiah AS [Diskon Rupiah]"
                                            + ", DiskonTambahan AS [Diskon Tambahan]"
                                            + ", BungaNominal AS [Bunga Nominal]"
                                            + ", NilaiDPP AS [Nilai DPP]"
                                            + ", NilaiPPN AS [Nilai PPN]"
                                            + ", PPN AS [Status PPN]"
                                            + ", Skema AS [Skema]"
                                            + " FROM MS_KONTRAK WHERE NoKontrak = '" + NoKontrak + "'");

                    string    strSql = "SELECT * FROM MS_APPROVAL_ADJUSMENT WHERE NoApproval = '" + NoApproval + "'";
                    DataTable rs     = Db.Rs(strSql);

                    if (rs.Rows.Count != 0)
                    {
                        Db.Execute("UPDATE MS_KONTRAK "
                                   + " SET"
                                   + " NilaiKontrak = '" + rs.Rows[0]["NilaiKontrakAft"] + "'"
                                   + ", Gross = '" + rs.Rows[0]["GrossAft"] + "'"
                                   + ", DiskonRupiah = '" + rs.Rows[0]["DiskonRupiahAft"] + "'"
                                   + ", DiskonTambahan = '" + rs.Rows[0]["DiskonTambahanAft"] + "'"
                                   + ", BungaNominal = '" + rs.Rows[0]["BungaAft"] + "'"
                                   + ", NilaiDPP = '" + rs.Rows[0]["DPPAft"] + "'"
                                   + ", NilaiPPN = '" + rs.Rows[0]["NilaiPPNAft"] + "'"
                                   + ", PPN = '" + rs.Rows[0]["PPNAft"] + "'"
                                   + ", Skema = '" + rs.Rows[0]["SkemaAft"] + "'"
                                   + " WHERE NoKontrak = '" + NoKontrak + "'");

                        Db.Execute("EXEC spKontrakDiskon"
                                   + " '" + NoKontrak + "'"
                                   + ",'" + rs.Rows[0]["GrossAft"] + "'"
                                   + ",'" + rs.Rows[0]["NilaiKontrakAft"] + "'"
                                   + ",'" + rs.Rows[0]["DiskonRupiahAft"] + "'"
                                   + ",''"
                                   + ",''"
                                   );
                    }

                    //update detail approval dari user yang approve
                    Db.Execute("UPDATE " + Mi.DbPrefix + "MARKETINGJUAL..MS_APPROVAL_DETAIL SET Approve = 1,Note = '" + Note + "',TglApproval = '" + DateTime.Today + "' WHERE NoApproval = '" + NoApproval + "' AND UserID = '" + Act.UserID + "'");

                    DataTable rsAft = Db.Rs("SELECT "
                                            + " NilaiKontrak AS [No. Kontrak]"
                                            + ", Gross AS [Gross] "
                                            + ", DiskonRupiah AS [Diskon Rupiah]"
                                            + ", DiskonTambahan AS [Diskon Tambahan]"
                                            + ", BungaNominal AS [Bunga Nominal]"
                                            + ", NilaiDPP AS [Nilai DPP]"
                                            + ", NilaiPPN AS [Nilai PPN]"
                                            + ", PPN AS [Status PPN]"
                                            + ", Skema AS [Skema]"
                                            + " FROM MS_KONTRAK WHERE NoKontrak = '" + NoKontrak + "'");

                    Ket = Cf.LogCompare(rsBef, rsAft)
                          + "<br>Tgl Approval : " + DateTime.Today
                    ;
                }
            }
            else
            {
                //update detail approval dari user yang approve
                Db.Execute("UPDATE " + Mi.DbPrefix + "MARKETINGJUAL..MS_APPROVAL_DETAIL Set Approve = 2 "
                           + ", Note = '" + Note + "' "
                           + ", TglApproval = '" + DateTime.Today + "'"
                           + " WHERE NoApproval = '" + NoApproval + "' AND UserID = '" + Act.UserID + "'"
                           );
            }

            Db.Execute("EXEC " + Mi.DbPrefix + "MARKETINGJUAL..spLogKontrakApp "
                       + " '" + NoKontrak + "'"
                       + ",'" + Act.UserID + "'"
                       + "," + Approve //Kode Approve
                       + ",'" + DateTime.Today + "'"
                       + "," + Lvl
                       + "," + 5 //Tipe
                       + ",''"
                       );

            if (Lvl == MaxApp || Approve == 2)
            {
                Db.Execute("UPDATE " + Mi.DbPrefix + "MARKETINGJUAL..MS_APPROVAL SET Status = 'DONE'"
                           + ",TglApproval = '" + DateTime.Today + "'"
                           + " WHERE NoApproval = '" + NoApproval + "'"
                           );
            }


            Db.Execute("EXEC " + Mi.DbPrefix + "MARKETINGJUAL..spLogKontrak "
                       + " 'APR-ADJ'"
                       + ",'" + Act.UserID + "'"
                       + ",'" + Act.IP + "'"
                       + ",'" + Ket + "'"
                       + ",'" + NoKontrak + "'"
                       );

            decimal LogID = Db.SingleDecimal("SELECT TOP 1 LogID FROM MS_KONTRAK_LOG ORDER BY LogID DESC");

            Db.Execute("UPDATE MS_KONTRAK_LOG SET Project = '" + Project + "' WHERE LogID  = " + LogID);
        }
示例#4
0
        private void SaveApproval(String NoKontrak, string lvl, string Proj, int Approve)
        {
            int    Lvl    = Convert.ToInt16(lvl);
            int    MaxApp = Db.SingleByte("SELECT TOP 1 Lvl FROM " + Mi.DbPrefix + "SECURITY..REF_APPROVAL WHERE Tipe = 1 AND Project='" + Proj + "' ORDER BY Lvl DESC");
            string Note   = note.Text;

            string Ket = "";

            if (Approve == 1)
            {
                if (Lvl < MaxApp)
                {
                    //update status approval jadi proses
                    Db.Execute("UPDATE " + Mi.DbPrefix + "MARKETINGJUAL..MS_APPROVAL SET Status = 'PROCESS',TglApproval = '" + DateTime.Today + "' WHERE NoApproval = '" + NoApproval + "'");
                    //update detail approval dari user yang approve
                    Db.Execute("UPDATE " + Mi.DbPrefix + "MARKETINGJUAL..MS_APPROVAL_DETAIL SET Approve = 1,Note = '" + Note + "',TglApproval = '" + DateTime.Today + "' WHERE NoApproval = '" + NoApproval + "' AND UserID = '" + Act.UserID + "' AND Lvl = '" + Lvl + "'");

                    Ket = "Tgl Approval : " + Cf.Day(DateTime.Today);

                    //Push notif ke Approval selanjutnya
                    DataTable rsNextApp = Db.Rs("SELECT * FROM " + Mi.DbPrefix + "SECURITY..REF_APPROVAL WHERE Tipe = 1 "
                                                + " AND Project='" + Proj + "' AND Lvl = " + (Lvl + 1));

                    for (int i = 0; i < rsNextApp.Rows.Count; i++)
                    {
                        string UserIDNextApp = rsNextApp.Rows[i]["UserID"].ToString();
                        LibApi.PushNotif("APR-GU", "Permohonan Approval Pindah Unit " + NoKontrak, UserIDNextApp, NoKontrak, 1);
                    }
                }
                else
                {
                    DataTable rsBef = Db.Rs("SELECT "
                                            + " MS_CUSTOMER.NoCustomer AS [No. Customer]"
                                            + ",MS_CUSTOMER.Nama AS [Nama Customer]"
                                            + " FROM " + Mi.DbPrefix + "MARKETINGJUAL..MS_KONTRAK AS MS_KONTRAK"
                                            + " INNER JOIN " + Mi.DbPrefix + "MARKETINGJUAL..MS_CUSTOMER AS MS_CUSTOMER"
                                            + " ON MS_KONTRAK.NoCustomer = MS_CUSTOMER.NoCustomer"
                                            + " WHERE MS_KONTRAK.NoKontrak = '" + NoKontrak + "'");

                    //ambil nocustomerbaru & biaya
                    string CustomerBaru = Db.SingleString(
                        "SELECT CustomerBaru FROM " + Mi.DbPrefix + "MARKETINGJUAL..MS_APPROVAL_GN WHERE NoApproval = '" + NoApproval + "'");
                    decimal biaya = Db.SingleDecimal("SELECT BiayaAdmin FROM " + Mi.DbPrefix + "MARKETINGJUAL..MS_APPROVAL_GN WHERE NoApproval = '" + NoApproval + "'");

                    //ganti nama
                    Db.Execute("EXEC " + Mi.DbPrefix + "MARKETINGJUAL..spKontrakGantiNama "
                               + " '" + NoKontrak + "'"
                               + ", '" + CustomerBaru + "'"
                               );

                    /*Update Flag ApprovalGN*/
                    Db.Execute("UPDATE " + Mi.DbPrefix + "MARKETINGJUAL..MS_KONTRAK "
                               + " SET ApprovalGN = 0"
                               + " ,Revisi = Revisi + 1"
                               + " WHERE NoKontrak='" + NoKontrak + "'"
                               );

                    DataTable rsAft = Db.Rs("SELECT "
                                            + " MS_CUSTOMER.NoCustomer AS [No. Customer]"
                                            + ",MS_CUSTOMER.Nama AS [Nama Customer]"
                                            + " FROM " + Mi.DbPrefix + "MARKETINGJUAL..MS_KONTRAK AS MS_KONTRAK INNER JOIN " + Mi.DbPrefix + "MARKETINGJUAL..MS_CUSTOMER AS MS_CUSTOMER "
                                            + " ON MS_KONTRAK.NoCustomer = MS_CUSTOMER.NoCustomer"
                                            + " WHERE MS_KONTRAK.NoKontrak = '" + NoKontrak + "'");

                    //update detail approval dari user yang approve
                    Db.Execute("UPDATE " + Mi.DbPrefix + "MARKETINGJUAL..MS_APPROVAL_DETAIL SET Approve = 1,Note = '" + Note + "',TglApproval = '" + DateTime.Today + "' WHERE NoApproval = '" + NoApproval + "' AND UserID = '" + Act.UserID + "'");

                    //Insert tagihan
                    if (biaya != 0)
                    {
                        Db.Execute("EXEC ISC064_MARKETINGJUAL..spTagihanDaftar "
                                   + " '" + NoKontrak + "'"
                                   + ",'BIAYA ADM. Pengalihan Hak'"
                                   + ",'" + Cf.Day(DateTime.Today) + "'"
                                   + ", " + biaya
                                   + ",'ADM'"
                                   );

                        int NoUrut = Db.SingleInteger("SELECT TOP 1 NoUrut FROM MS_TAGIHAN WHERE NoKontrak = '" + NoKontrak + "' ORDER BY NoUrut DESC");
                        Db.Execute("UPDATE " + Mi.DbPrefix + "MARKETINGJUAL..MS_TAGIHAN SET Jenis = 'Pengalihan Hak' WHERE NoKontrak = '" + NoKontrak + "' AND NoUrut = " + NoUrut);
                    }

                    /*Pengalihan Hak customer di MS_TTS*/
                    string strNamaCs = Cf.Str(Db.SingleString("SELECT Nama FROM ISC064_MARKETINGJUAL..MS_CUSTOMER WHERE NoCustomer = " + CustomerBaru));
                    string strSql    = "UPDATE " + Mi.DbPrefix + "FINANCEAR..MS_TTS"
                                       + " SET Customer = '" + strNamaCs + "'"
                                       + " WHERE Ref = '" + NoKontrak + "'"
                                       + " AND Tipe = 'JUAL'"
                    ;
                    Db.Execute(strSql);
                    /*******************************/

                    /*Pengalihan Hak customer di MS_MEMO*/
                    strSql = "UPDATE " + Mi.DbPrefix + "FINANCEAR..MS_MEMO"
                             + " SET Customer = '" + strNamaCs + "'"
                             + " WHERE Ref = '" + NoKontrak + "'"
                             + " AND Tipe = 'JUAL'"
                    ;
                    Db.Execute(strSql);
                    /*******************************/

                    /*Pengalihan Hak customer di MS_PJT*/
                    strSql = "UPDATE " + Mi.DbPrefix + "FINANCEAR..MS_PJT"
                             + " SET Customer = '" + strNamaCs + "'"
                             + " WHERE Ref = '" + NoKontrak + "'"
                             + " AND Tipe = 'JUAL'"
                    ;
                    Db.Execute(strSql);
                    /*******************************/

                    /*Pengalihan Hak customer di MS_TUNGGAKAN*/
                    strSql = "UPDATE " + Mi.DbPrefix + "FINANCEAR..MS_TUNGGAKAN"
                             + " SET Customer = '" + strNamaCs + "'"
                             + " WHERE Ref = '" + NoKontrak + "'"
                             + " AND Tipe = 'JUAL'"
                    ;
                    Db.Execute(strSql);
                    /*******************************/

                    Ket = Cf.LogCompare(rsBef, rsAft)
                          + "<br>Biaya Administrasi : " + Cf.Num(biaya)
                          + "<br>Tgl Approval GN : " + DateTime.Today
                    ;
                }
            }
            else
            {
                //update detail approval dari user yang approve
                Db.Execute("UPDATE " + Mi.DbPrefix + "MARKETINGJUAL..MS_APPROVAL_DETAIL Set Approve = 2 "
                           + ", Note = '" + Note + "' "
                           + ", TglApproval = '" + DateTime.Today + "'"
                           + " WHERE NoApproval = '" + NoApproval + "' AND UserID = '" + Act.UserID + "'"
                           );
            }

            Db.Execute("EXEC " + Mi.DbPrefix + "MARKETINGJUAL..spLogKontrakApp "
                       + " '" + NoKontrak + "'"
                       + ",'" + Act.UserID + "'"
                       + "," + Approve //Kode Approve
                       + ",'" + DateTime.Today + "'"
                       + "," + Lvl
                       + "," + 1 //Tipe
                       + ",''"
                       );

            if (Lvl == MaxApp || Approve == 2)
            {
                Db.Execute("UPDATE " + Mi.DbPrefix + "MARKETINGJUAL..MS_APPROVAL SET Status = 'DONE'"
                           + ",TglApproval = '" + DateTime.Today + "'"
                           + " WHERE NoApproval = '" + NoApproval + "'"
                           );
            }


            Db.Execute("EXEC " + Mi.DbPrefix + "MARKETINGJUAL..spLogKontrak "
                       + " 'APR-GN'"
                       + ",'" + Act.UserID + "'"
                       + ",'" + Act.IP + "'"
                       + ",'" + Ket + "'"
                       + ",'" + NoKontrak + "'"
                       );

            decimal LogID = Db.SingleDecimal("SELECT TOP 1 LogID FROM MS_KONTRAK_LOG ORDER BY LogID DESC");

            Db.Execute("UPDATE MS_KONTRAK_LOG SET Project = '" + Project + "' WHERE LogID  = " + LogID);
        }