public JsonResult Approve(string ID) { var uysf = new UYSF(SqlExper, vUser.SirketKodu); var tarih = fn.ToOADate(); var saat = fn.ToOATime(); // get son emir no var EmirVeEvrak = db.Database.SqlQuery <frmUysEmirEvrak>(string.Format(@"SELECT '' as EmirNo, ISNULL((SELECT TOP (1) EvrakNo FROM ( SELECT EvrakNo FROM FINSAT6{0}.FINSAT6{0}.STI WHERE (EvrakNo LIKE 'DG%') UNION SELECT TrsfrNo as EvrakNo FROM UYSPLN6{0}.UYSPLN6{0}.EMG WHERE (EmirNo LIKE 'DD%') )t ORDER BY EvrakNo DESC), 'DG000000') as EvrakNo" , vUser.SirketKodu)).FirstOrDefault(); if (EmirVeEvrak.EvrakNo == "") { EmirVeEvrak.EvrakNo = "DG000000"; } EmirVeEvrak.EvrakNo = uysf.EvrakNoArttir(EmirVeEvrak.EvrakNo, "DG"); // create list var liste = db.Database.SqlQuery <frmUysWaitingTransfer>(string.Format(@" SELECT '{2}' as EvrakNo, 'TD' as AraDepo, UYSPLN6{0}.UYSPLN6{0}.EMG.Kod2 as CikisDepo, UYSPLN6{0}.UYSPLN6{0}.EMG.Kod3 as GirisDepo, '{3}' as Kaydeden, '{4}' AS Kaydeden2, FINSAT6{0}.FINSAT6{0}.STI.MalKodu, FINSAT6{0}.FINSAT6{0}.STI.SeriNo, FINSAT6{0}.FINSAT6{0}.STI.Birim, FINSAT6{0}.FINSAT6{0}.STI.Miktar, {5} as Tarih FROM UYSPLN6{0}.UYSPLN6{0}.EMG INNER JOIN FINSAT6{0}.FINSAT6{0}.STI ON UYSPLN6{0}.UYSPLN6{0}.EMG.StiNo = FINSAT6{0}.FINSAT6{0}.STI.EvrakNo WHERE (UYSPLN6{0}.UYSPLN6{0}.EMG.EmirNo = '{1}') AND (FINSAT6{0}.FINSAT6{0}.STI.IslemTur = 1) AND (FINSAT6{0}.FINSAT6{0}.STI.KynkEvrakTip = 53) AND (FINSAT6{0}.FINSAT6{0}.STI.IslemTip = 6) " , vUser.SirketKodu, ID, EmirVeEvrak.EvrakNo, vUser.UserName, vUser.FullName, tarih)).ToList(); // send to db var sonuc = uysf.DepoTransfer(liste, null, true); if (sonuc.Status == true) { db.Database.ExecuteSqlCommand(string.Format(@"UPDATE UYSPLN6{0}.UYSPLN6{0}.EMG SET BitTarih = {2}, BitSaat = {3}, Talimat3 = '{4}', TrsfrNo = '{5}', Degistiren= '{6}', DegisTarih = {2}, DegisSaat = {3}, CurDurum = 1, RecID = -1, Birim = -1, CurDurSb = -1, SonDurSb = -1, PlOnay = -1, YMUret = -1, YMMly = -1, YMEndMly = -1, YMDepo = -1, YMHmdCik = -1, Teklif = -1, KayitTuru = -1 WHERE EmirNo = '{1}'", vUser.SirketKodu, ID, tarih, saat, vUser.FullName, EmirVeEvrak.EvrakNo, vUser.UserName)); } return(Json(sonuc, JsonRequestBehavior.AllowGet)); }
public JsonResult Save(frmUysTransfer tbl) { // kontrol if (tbl.GirisDepo == tbl.CikisDepo) { return(Json(new Result(false, "Çıkış depo ile giriş depo aynı olamaz"), JsonRequestBehavior.AllowGet)); } var listKontrol = new List <frmUysTransferDetay>(); for (int i = 0; i < tbl.MalKodu.Length; i++) { var varmi = false; if (tbl.Miktar[i] <= 0) { return(Json(new Result(false, "'" + tbl.SeriNo[i] + "' serili '" + tbl.MalKodu[i] + "' ürünü için yanlış miktar yazılmış"), JsonRequestBehavior.AllowGet)); } foreach (var item in listKontrol) { if (item.MalKodu == tbl.MalKodu[i] && item.SeriNo == tbl.SeriNo[i]) { item.Miktar += tbl.Miktar[i]; varmi = true; continue; } } if (varmi == false) { listKontrol.Add(new frmUysTransferDetay() { MalKodu = tbl.MalKodu[i], Birim = tbl.Birim[i], SeriNo = tbl.SeriNo[i], Miktar = tbl.Miktar[i] }); } } // stok kontrol foreach (var item in listKontrol) { var sql = string.Format(@"SELECT ISNULL((SELECT SUM(CASE WHEN IslemTur = 0 THEN Miktar ELSE - Miktar END) AS Miktar FROM FINSAT6{0}.FINSAT6{0}.STI WITH (nolock) LEFT OUTER JOIN FINSAT6{0}.FINSAT6{0}.STK WITH (nolock) ON FINSAT6{0}.FINSAT6{0}.STK.MalKodu = FINSAT6{0}.FINSAT6{0}.STI.MalKodu WHERE (FINSAT6{0}.FINSAT6{0}.STI.MalKodu = '{1}') AND (FINSAT6{0}.FINSAT6{0}.STI.Tarih <= {2}) AND (FINSAT6{0}.FINSAT6{0}.STI.SeriNo = '{4}') AND (DATALENGTH(FINSAT6{0}.FINSAT6{0}.STI.SeriNo) = {5}) AND (FINSAT6{0}.FINSAT6{0}.STI.Depo = '{3}') AND (FINSAT6{0}.FINSAT6{0}.STI.IrsFat <> 2) AND (FINSAT6{0}.FINSAT6{0}.STI.KynkEvrakTip <> 95)and KynkEvrakTip not in (141,142,143,144) and not (KynkEvrakTip in (68,69) and ErekIIFKEvrakTip in (5,2) and IrsFat = 3) GROUP BY FINSAT6{0}.FINSAT6{0}.STI.MalKodu, FINSAT6{0}.FINSAT6{0}.STI.Depo, FINSAT6{0}.FINSAT6{0}.STI.SeriNo), 0) as Miktar1, ISNULL((SELECT SUM(CASE WHEN IslemTur = 0 THEN Miktar ELSE - Miktar END) AS Miktar FROM FINSAT6{0}.FINSAT6{0}.STI WITH (nolock) LEFT OUTER JOIN FINSAT6{0}.FINSAT6{0}.STK WITH (nolock) ON FINSAT6{0}.FINSAT6{0}.STK.MalKodu = FINSAT6{0}.FINSAT6{0}.STI.MalKodu WHERE (FINSAT6{0}.FINSAT6{0}.STI.MalKodu = '{1}') AND (FINSAT6{0}.FINSAT6{0}.STI.SeriNo = '{4}') AND (DATALENGTH(FINSAT6{0}.FINSAT6{0}.STI.SeriNo) = {5}) AND (FINSAT6{0}.FINSAT6{0}.STI.Depo = '{3}') AND (FINSAT6{0}.FINSAT6{0}.STI.IrsFat <> 2) AND(FINSAT6{0}.FINSAT6{0}.STI.KynkEvrakTip <> 95) and KynkEvrakTip not in (141,142,143,144) and not (KynkEvrakTip in (68,69) and ErekIIFKEvrakTip in (5,2) and IrsFat = 3) GROUP BY FINSAT6{0}.FINSAT6{0}.STI.MalKodu, FINSAT6{0}.FINSAT6{0}.STI.Depo, FINSAT6{0}.FINSAT6{0}.STI.SeriNo), 0) as Miktar2", vUser.SirketKodu, item.MalKodu, tbl.Tarih, tbl.CikisDepo, item.SeriNo, item.SeriNo.Length); var stokKontrol = db.Database.SqlQuery <frmUysStokKontrol>(sql).FirstOrDefault(); if (stokKontrol.Miktar1 < item.Miktar || stokKontrol.Miktar2 < item.Miktar) { return(Json(new Result(false, "'" + item.SeriNo + "' serili '" + item.MalKodu + "' ürünü için stok yetersiz"), JsonRequestBehavior.AllowGet)); } } // variables var uysf = new UYSF(SqlExper, vUser.SirketKodu); var tarih = fn.ToOADate(); var saat = fn.ToOATime(); // get son emir no var EmirVeEvrak = db.Database.SqlQuery <frmUysEmirEvrak>(string.Format(@"SELECT ISNULL((SELECT TOP (1) EmirNo FROM UYSPLN6{0}.UYSPLN6{0}.EMG WHERE (EmirNo LIKE 'DD%') ORDER BY Row_ID DESC), 'DD000000') as EmirNo, ISNULL((SELECT TOP (1) EvrakNo FROM ( SELECT EvrakNo FROM FINSAT6{0}.FINSAT6{0}.STI WHERE (EvrakNo LIKE 'DD%') UNION SELECT StiNo as EvrakNo FROM UYSPLN6{0}.UYSPLN6{0}.EMG WHERE (EmirNo LIKE 'DD%') )t ORDER BY EvrakNo DESC), 'DD000000') as EvrakNo" , vUser.SirketKodu)).FirstOrDefault(); if (EmirVeEvrak.EvrakNo == "") { EmirVeEvrak.EvrakNo = "DD000000"; } EmirVeEvrak.EmirNo = uysf.EvrakNoArttir(EmirVeEvrak.EmirNo, "DD"); EmirVeEvrak.EvrakNo = uysf.EvrakNoArttir(EmirVeEvrak.EvrakNo, "DD"); // create list var liste = new List <frmUysWaitingTransfer>(); for (int i = 0; i < tbl.MalKodu.Length; i++) { liste.Add(new frmUysWaitingTransfer() { EvrakNo = EmirVeEvrak.EvrakNo, CikisDepo = tbl.CikisDepo, AraDepo = "TD", GirisDepo = tbl.GirisDepo, Kaydeden = vUser.UserName, Kaydeden2 = vUser.FullName, MalKodu = tbl.MalKodu[i], SeriNo = tbl.SeriNo[i], Birim = tbl.Birim[i], Miktar = tbl.Miktar[i], Tarih = tbl.Tarih }); } var emir = new EMG2(); emir.DefaultValueSet(); emir.EmirNo = EmirVeEvrak.EmirNo; emir.BasTarih = tarih; emir.BasSaat = saat; emir.Talimat2 = vUser.FullName; emir.Kod2 = tbl.CikisDepo; emir.Kod3 = tbl.GirisDepo; emir.StiNo = EmirVeEvrak.EvrakNo; emir.KayitTarih = tarih; emir.KayitSaat = saat; // send to db var sonuc = uysf.DepoTransfer(liste, emir, false); return(Json(sonuc, JsonRequestBehavior.AllowGet)); }