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); } }
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); } } } }
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); }
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); }