public JsonResult Approve(int ID) { if (CheckPerm(Perms.Transfer, PermTypes.Writing) == false) { return(Json(new Result(false, "Yetkiniz yok"), JsonRequestBehavior.AllowGet)); } // get and set transfer details var tbl = Transfers.Detail(ID); tbl.Onay = true; tbl.Onaylayan = vUser.UserName; tbl.OnaylamaTarihi = fn.ToOADate(); tbl.OnaylamaSaati = fn.ToOATime(); Transfers.Operation(tbl); //görev yer var tbl2 = db.Gorevs.Where(m => m.ID == tbl.GorevID).FirstOrDefault(); tbl2.DurumID = ComboItems.Açık.ToInt32(); // sıralama var lstKoridor = db.GetKoridorIdFromGorevId(tbl.GorevID).ToList(); var asc = false; var sira = 1; foreach (var item in lstKoridor) { var lstBolum = db.GetBolumSiralamaFromGorevId(tbl.GorevID, item.Value, asc).ToList(); foreach (var item2 in lstBolum) { var tmptblyer = new GorevYer() { ID = item2.Value, Sira = sira }; sira++; TaskYer.Operation(tmptblyer); } asc = asc == false ? true : false; } db.SaveChanges(); // log LogActions("WMS", "Transfer", "Approve", ComboItems.alOnayla, ID); // return return(Json(new Result(true, ID), JsonRequestBehavior.AllowGet)); }
public ActionResult Step4(int GorevID, int DepoID) { if (CheckPerm(Perms.AlimdanIade, PermTypes.Writing) == false) { return(Redirect("/")); } // sıralama var lstKoridor = db.GetKoridorIdFromGorevId(GorevID).ToList(); var asc = false; var sira = 1; foreach (var item in lstKoridor) { var lstBolum = db.GetBolumSiralamaFromGorevId(GorevID, item.Value, asc).ToList(); foreach (var item2 in lstBolum) { var tmptblyer = new GorevYer() { ID = item2.Value, Sira = sira }; sira++; TaskYer.Operation(tmptblyer); } asc = asc == false ? true : false; } // listeyi getir var sql = string.Format("SELECT wms.Yer.HucreAd, wms.GorevYer.MalKodu, wms.GorevYer.Miktar, wms.GorevYer.Birim, wms.GorevYer.Sira, wms.Yer.Miktar AS Stok " + "FROM wms.GorevYer INNER JOIN wms.Yer ON wms.GorevYer.YerID = wms.Yer.ID " + "WHERE (wms.GorevYer.GorevID = {0}) ORDER BY wms.GorevYer.Sira", GorevID); var list = db.Database.SqlQuery <frmSiparisMalzeme>(sql).ToList(); ViewBag.GorevID = GorevID; return(View("Step4", list)); }
public ActionResult Step3(frmSiparisOnay tbl) { if (tbl.DepoID == "0" || tbl.checkboxes == "") { return(RedirectToAction("Index")); } if (CheckPerm(Perms.AlimdanIade, PermTypes.Writing) == false) { return(Redirect("/")); } tbl.checkboxes = tbl.checkboxes.Left(tbl.checkboxes.Length - 1); var checkList = tbl.checkboxes.Split('#'); var evrak = tbl.EvrakNos.Split('-')[0]; var hesapKodu = tbl.EvrakNos.Split('-')[1]; var malkodlari = new List <string>(); var birimler = new List <string>(); var miktars = new List <decimal>(); var rowID = new List <int>(); var i = 0; // malkodları,miktarları,birimleri ayır foreach (var item in checkList) { if (item != "") { string[] tmp2 = item.Split('!'); malkodlari.Add(tmp2[0]); birimler.Add(tmp2[1]); miktars.Add(tmp2[2].Replace(".", ",").ToDecimal()); rowID.Add(tmp2[4].Replace(".", ",").ToInt32()); } } if (checkList == null) { return(RedirectToAction("Index")); } // variables and consts int today = fn.ToOADate(), time = fn.ToOATime(); var idDepo = db.Depoes.Where(m => m.DepoKodu == tbl.DepoID).Select(m => m.ID).FirstOrDefault(); var GorevNo = db.SettingsGorevNo(today, idDepo).FirstOrDefault(); string evraknolar = "", alıcılar = ""; var cevap = new InsertIadeIrsaliye_Result(); Result _Result; // loop the list cevap = db.InsertIadeIrsaliye(vUser.SirketKodu, idDepo, GorevNo, GorevNo, today, "", true, ComboItems.Alımdanİade.ToInt32(), vUser.UserName, today, time, hesapKodu, hesapKodu, 0, evrak).FirstOrDefault(); foreach (var item in checkList) { // get stok var stokMiktari = db.GetStock(idDepo, malkodlari[i], birimler[i], false).FirstOrDefault(); if (stokMiktari != null) { // sti tablosu var sti = new IRS_Detay() { IrsaliyeID = cevap.IrsaliyeID.Value, MalKodu = malkodlari[i], Birim = birimler[i], Miktar = miktars[i] <= stokMiktari.Value ? miktars[i] : stokMiktari.Value, KynkSiparisNo = evrak, KynkSiparisID = rowID[i] }; _Result = IrsaliyeDetay.Operation(sti); } i++; } // görev tablosu için tekrar yeni ve sade bir liste lazım var grv = db.Gorevs.Where(m => m.ID == cevap.GorevID).FirstOrDefault(); grv.Bilgi = "Irs: " + evraknolar + " Alıcı: " + alıcılar; db.SaveChanges(); // get gorev details var sql = string.Format("SELECT wms.IRS_Detay.MalKodu, SUM(wms.IRS_Detay.Miktar) AS Miktar, wms.IRS_Detay.Birim " + "FROM wms.IRS_Detay INNER JOIN wms.GorevIRS ON wms.IRS_Detay.IrsaliyeID = wms.GorevIRS.IrsaliyeID " + "WHERE(wms.GorevIRS.GorevID = {0}) " + "GROUP BY wms.IRS_Detay.MalKodu, wms.IRS_Detay.Birim", cevap.GorevID); var list = db.Database.SqlQuery <frmSiparisMalzemeOnay>(sql).ToList(); foreach (var item in list) { var tmpYer = db.Yers.Where(m => m.MalKodu == item.MalKodu && m.Birim == item.Birim && m.Kat.Bolum.Raf.Koridor.Depo.DepoKodu == tbl.DepoID && m.Miktar > 0).OrderBy(m => m.Miktar).ToList(); decimal toplam = 0, miktar = 0; if (tmpYer != null) { foreach (var itemyer in tmpYer) { if (itemyer.Miktar >= (item.Miktar - toplam)) { miktar = item.Miktar - toplam; } else { miktar = itemyer.Miktar; } toplam += miktar; // miktarı tabloya ekle var tblyer = new GorevYer() { GorevID = cevap.GorevID.Value, YerID = itemyer.ID, MalKodu = item.MalKodu, Birim = item.Birim, Miktar = miktar, GC = true }; TaskYer.Operation(tblyer); // toplam yeterli miktardaysa if (toplam == item.Miktar) { break; } } } } // listeyi getir sql = string.Format("SELECT wms.Yer.HucreAd, wms.GorevYer.MalKodu, wms.GorevYer.Miktar, wms.GorevYer.Birim, wms.Yer.Miktar AS Stok " + "FROM wms.GorevYer INNER JOIN wms.Yer ON wms.GorevYer.YerID = wms.Yer.ID " + "WHERE (wms.GorevYer.GorevID = {0})", cevap.GorevID.Value); var list2 = db.Database.SqlQuery <frmSiparisMalzeme>(sql).ToList(); ViewBag.GorevID = cevap.GorevID.Value; ViewBag.DepoID = idDepo; return(View("Step3", list2)); }
public ActionResult Step4(frmSiparisSteps tbl) { if (tbl.DepoID == "" || tbl.EvrakNos.Count() == 0 || tbl.Miktars.Count() == 0 || tbl.IDs.Count() == 0) { return(RedirectToAction("Index")); } if (CheckPerm(Perms.KabloSiparişi, PermTypes.Writing) == false) { return(Redirect("/")); } // sql oluştur var sql = string.Format("EXEC FINSAT6{0}.wms.getSiparis2ListStep4 @DepoKodu = '{1}', @EvrakNos = '{2}', @IDs = '{3}'", vUser.SirketKodu, tbl.DepoID, string.Join(",", tbl.EvrakNos), string.Join(",", tbl.IDs)); var list = db.Database.SqlQuery <frmSiparisMalzemeOnay>(sql).ToList(); if (list == null) { return(RedirectToAction("Index")); } // variables and consts int today = fn.ToOADate(), time = fn.ToOATime(), valorgun = 0; var idDepo = db.Depoes.Where(m => m.DepoKodu == tbl.DepoID).Select(m => m.ID).FirstOrDefault(); var GorevNo = db.SettingsGorevNo(today, idDepo).FirstOrDefault(); string alıcılar = "", chk = "", teslimchk = "", aciklama = ""; var cevap = new InsertIrsaliye_Result(); Result _Result; // loop the list foreach (var item in list) { // irsaliye tablosu if (chk != item.Chk || valorgun != item.ValorGun || teslimchk != item.TeslimChk || aciklama != item.Aciklama) { cevap = db.InsertIrsaliye(vUser.SirketKodu, idDepo, GorevNo, GorevNo, today, "", true, ComboItems.SiparişTopla.ToInt32(), vUser.UserName, today, time, item.Chk, item.TeslimChk, item.ValorGun, item.EvrakNo, item.Aciklama).FirstOrDefault(); // save sck chk = item.Chk; valorgun = item.ValorGun; teslimchk = item.TeslimChk; aciklama = item.Aciklama; alıcılar += item.Unvan + ","; } // get stok var stokMiktari = db.GetStock(idDepo, item.MalKodu, item.Birim, true).FirstOrDefault(); if (stokMiktari != null) { var tyerid = tbl.MalKodus[Array.FindIndex(tbl.IDs, m => m == item.ROW_ID)]; var yersatiri = Yerlestirme.Detail(tyerid.ToInt32()); var miktar = tbl.Miktars[Array.FindIndex(tbl.IDs, m => m == item.ROW_ID)]; // sti tablosu var sti = new IRS_Detay() { IrsaliyeID = cevap.IrsaliyeID.Value, MalKodu = item.MalKodu, Birim = item.Birim, Miktar = miktar <= stokMiktari.Value ? miktar : stokMiktari.Value, MakaraNo = yersatiri.MakaraNo, KynkSiparisID = item.ROW_ID, KynkSiparisNo = item.EvrakNo, KynkSiparisSiraNo = item.SiraNo, KynkSiparisTarih = item.Tarih, KynkSiparisMiktar = item.BirimMiktar, KynkDegisSaat = item.DegisSaat }; _Result = IrsaliyeDetay.Operation(sti); // miktarı tabloya ekle var tblyer = new GorevYer() { GorevID = cevap.GorevID.Value, YerID = tyerid.ToInt32(), MalKodu = item.MalKodu, Birim = item.Birim, Miktar = miktar, MakaraNo = yersatiri.MakaraNo, GC = true }; TaskYer.Operation(tblyer); } } // görev tablosu için tekrar yeni ve sade bir liste lazım var grv = db.Gorevs.Where(m => m.ID == cevap.GorevID).FirstOrDefault(); grv.Bilgi = "Alıcı: " + alıcılar; db.SaveChanges(); // sıralama var lstKoridor = db.GetKoridorIdFromGorevId(cevap.GorevID.Value).ToList(); var asc = false; var sira = 1; foreach (var item in lstKoridor) { var lstBolum = db.GetBolumSiralamaFromGorevId(cevap.GorevID.Value, item.Value, asc).ToList(); foreach (var item2 in lstBolum) { var tmptblyer = new GorevYer() { ID = item2.Value, Sira = sira }; sira++; TaskYer.Operation(tmptblyer); } asc = asc == false ? true : false; } // listeyi getir sql = string.Format("EXEC FINSAT6{0}.wms.getSiparisListStep42 {1}", vUser.SirketKodu, cevap.GorevID); var list2 = db.Database.SqlQuery <frmSiparisMalzeme>(sql).ToList(); ViewBag.GorevID = cevap.GorevID.Value; return(View("Step4", list2)); }
public JsonResult ManualMovement(Yer tbl) { if (CheckPerm(Perms.Stok, PermTypes.Writing) == false) { return(Json(new Result(false, "Yetkiniz yok"), JsonRequestBehavior.AllowGet)); } if (tbl.Miktar < 1) { return(Json(new Result(false, "Miktar hatalı"), JsonRequestBehavior.AllowGet)); } // burada görev oluştur var ilk = Yerlestirme.Detail(tbl.ID); if (ilk.Miktar < tbl.Miktar || tbl.Miktar < 1) { return(Json(new Result(false, "Miktar hatalı yazılmış"), JsonRequestBehavior.AllowGet)); } var today = fn.ToOADate(); var time = fn.ToOATime(); try { // ilk önce görevler ve irsaliye kaydedilir var GorevÇıkNo = ""; var s1 = db.Gorevs.Where(m => m.DepoID == ilk.DepoID && m.GorevTipiID == (int)ComboItems.TransferÇıkış && m.DurumID == 9 && m.Bilgi == "Yer Değiştir").FirstOrDefault(); if (s1 == null) { GorevÇıkNo = db.SettingsGorevNo(today, ilk.DepoID).FirstOrDefault(); } else { GorevÇıkNo = s1.GorevNo; } var GorevGirNo = ""; var s2 = db.Gorevs.Where(m => m.DepoID == ilk.DepoID && m.GorevTipiID == (int)ComboItems.TransferGiriş && m.DurumID == 15 && m.Bilgi == "Yer Değiştir").FirstOrDefault(); if (s2 == null) { GorevGirNo = db.SettingsGorevNo(today, ilk.DepoID).FirstOrDefault(); } else { GorevGirNo = s2.GorevNo; } //irsaliye oluştur var cevapGir = db.InsertIrsaliye(vUser.SirketKodu, ilk.DepoID, GorevGirNo, GorevGirNo, today, "Yer Değiştir", true, ComboItems.TransferGiriş.ToInt32(), vUser.UserName, today, time, "Yer Değiştir", "", 0, "", "").FirstOrDefault(); var cevapÇık = db.InsertIrsaliye(vUser.SirketKodu, ilk.DepoID, GorevÇıkNo, GorevGirNo, today, "Yer Değiştir", true, ComboItems.TransferÇıkış.ToInt32(), vUser.UserName, today, time, "Yer Değiştir", "", 0, cevapGir.GorevID.Value.ToString(), "").FirstOrDefault(); // GorevYer tablosu - çıkış var cevap = TaskYer.Operation(new GorevYer() { GorevID = cevapÇık.GorevID.Value, YerID = ilk.ID, MalKodu = ilk.MalKodu, Birim = ilk.Birim, Miktar = tbl.Miktar, GC = true }); // giriş var yertmp = Yerlestirme.Detail(tbl.KatID, ilk.MalKodu, ilk.Birim); if (yertmp == null) { cevap = Yerlestirme.Insert(new Yer() { KatID = tbl.KatID, MalKodu = ilk.MalKodu, Birim = ilk.Birim, Miktar = 0 }, vUser.Id, "Yer Değiştir"); yertmp = new Yer() { ID = cevap.Id }; } cevap = TaskYer.Operation(new GorevYer() { GorevID = cevapGir.GorevID.Value, YerID = yertmp.ID, MalKodu = ilk.MalKodu, Birim = ilk.Birim, Miktar = tbl.Miktar, GC = false }); // irs detay cevap = IrsaliyeDetay.Operation(new IRS_Detay() { IrsaliyeID = cevapGir.IrsaliyeID.Value, MalKodu = ilk.MalKodu, Miktar = tbl.Miktar, Birim = ilk.Birim, KynkSiparisID = tbl.KatID }); // return return(Json(new Result(true), JsonRequestBehavior.AllowGet)); } catch (Exception ex) { Logger(ex, "Stock/ManualMovementSave"); return(Json(new Result(false, "Kayıt hatası"), JsonRequestBehavior.AllowGet)); } }
public JsonResult Summary(frmTransferMalzemeApprove tbl) { if (CheckPerm(Perms.Transfer, PermTypes.Writing) == false) { return(Json(new Result(false, "Yetkiniz yok."), JsonRequestBehavior.AllowGet)); } if (tbl.GirisDepo == "" || tbl.AraDepo == "" || tbl.CikisDepo == "" || tbl.MalKodus.Count() == 0 || tbl.Birims.Count() == 0 || tbl.Miktar.Count() == 0) { return(Json(new Result(false, "Eksik bilgi girdiniz."), JsonRequestBehavior.AllowGet)); } if (tbl.GirisDepo == tbl.AraDepo || tbl.CikisDepo == tbl.AraDepo || tbl.CikisDepo == tbl.GirisDepo) { return(Json(new Result(false, "Aynı depoları seçemezsiniz."), JsonRequestBehavior.AllowGet)); } // stok kontrol var varmi = false; foreach (var item in tbl.MalKodus) { var sayi = db.Yers.Where(m => m.MalKodu == item && m.Miktar > 0 && m.Kat.Bolum.Raf.Koridor.Depo.DepoKodu == tbl.CikisDepo).FirstOrDefault(); if (sayi != null) { varmi = true; break; } } if (varmi == false) { return(Json(new Result(false, "Seçtiğiniz hiç bir ürün stokta kayıtlı değil."), JsonRequestBehavior.AllowGet)); } // çapraz stok kontrol var sql = string.Format(@"EXEC FINSAT6{0}.wms.TransferKontrol @CikisDepo = '{1}', @MalKodus = '{2}'", vUser.SirketKodu, tbl.CikisDepo, string.Join(",", tbl.MalKodus)); var list1 = db.Database.SqlQuery <frmTransferMalzemeler>(sql).ToList(); foreach (var item in list1) { if (item.Depo2GunesStok != item.Depo2WmsStok) { return(Json(new Result(false, item.MalKodu + " kodlu ürünün stoğu hatalı."), JsonRequestBehavior.AllowGet)); } } //miktars for (int i = 0; i < tbl.Miktar.Length; i++) { tbl.Miktars[i] = tbl.Miktar[i].ToDecimal(); } // add to list var aDepoID = Store.Detail(tbl.AraDepo).ID; var cDepoID = Store.Detail(tbl.CikisDepo); var gDepoID = Store.Detail(tbl.GirisDepo); int today = fn.ToOADate(), time = fn.ToOATime(); // yeni bir görev eklenir var GorevNo = db.SettingsGorevNo(today, cDepoID.ID).FirstOrDefault(); var cevap = db.InsertIrsaliye(vUser.SirketKodu, cDepoID.ID, GorevNo, GorevNo, today, "Giriş: " + tbl.GirisDepo + ", Çıkış: " + tbl.CikisDepo, true, ComboItems.TransferÇıkış.ToInt32(), vUser.UserName, today, time, cDepoID.DepoAd, "", 0, "", "").FirstOrDefault(); // yeni transfer eklenir var sonuc = Transfers.Operation(new Transfer() { SirketKod = vUser.SirketKodu, GirisDepoID = gDepoID.ID, CikisDepoID = cDepoID.ID, AraDepoID = aDepoID, GorevID = cevap.GorevID.Value }); // find detays var TransferID = sonuc.Id; for (int i = 0; i < tbl.MalKodus.Count(); i++) { // stok kontrol var malkodu = tbl.MalKodus[i]; var birim = tbl.Birims[i]; var tmpYer = db.Yers.Where(m => m.MalKodu == malkodu && m.Birim == birim && m.Kat.Bolum.Raf.Koridor.Depo.DepoKodu == tbl.CikisDepo && m.Miktar > 0).OrderByDescending(m => m.Miktar).ToList(); decimal toplam = 0, miktar = 0; if (tmpYer.Count > 0) { foreach (var itemyer in tmpYer) { if (itemyer.Miktar >= (tbl.Miktars[i] - toplam)) { miktar = tbl.Miktars[i] - toplam; } else { miktar = itemyer.Miktar; } toplam += miktar; // miktarı tabloya ekle var tblyer = new GorevYer() { GorevID = cevap.GorevID.Value, YerID = itemyer.ID, MalKodu = tbl.MalKodus[i], Birim = tbl.Birims[i], Miktar = miktar, MakaraNo = itemyer.MakaraNo, GC = true }; if (miktar > 0) { TaskYer.Operation(tblyer); } // toplam yeterli miktardaysa if (toplam == tbl.Miktars[i]) { break; } } tbl.Miktars[i] = toplam; // hepsi eklenince detayı db'ye ekle if (tbl.Miktars[i] > 0) { sonuc = Transfers.AddDetay(new Transfer_Detay() { TransferID = TransferID, MalKodu = tbl.MalKodus[i], Birim = tbl.Birims[i], Miktar = tbl.Miktars[i] }); } if (tbl.Miktars[i] > 0) { IrsaliyeDetay.Operation(new IRS_Detay() { IrsaliyeID = cevap.IrsaliyeID.Value, MalKodu = tbl.MalKodus[i], Miktar = tbl.Miktars[i], Birim = tbl.Birims[i], KynkSiparisID = sonuc.Id, KynkSiparisTarih = TransferID }); } } } return(Json(new Result(true, TransferID), JsonRequestBehavior.AllowGet)); }
public JsonResult Save(frmTransferMalzemeApprove tbl) { if (CheckPerm(Perms.Transfer, PermTypes.Writing) == false) { return(Json(new Result(false, "Yetkiniz yok"), JsonRequestBehavior.AllowGet)); } // add to list var aDepoID = Store.Detail(tbl.AraDepo).ID; var cDepoID = Store.Detail(tbl.CikisDepo); var gDepoID = Store.Detail(tbl.GirisDepo); int today = fn.ToOADate(), time = fn.ToOATime(); // yeni bir görev eklenir var GorevNo = db.SettingsGorevNo(today, cDepoID.ID).FirstOrDefault(); var cevap = db.InsertIrsaliye(vUser.SirketKodu, cDepoID.ID, GorevNo, GorevNo, today, "Giriş: " + tbl.GirisDepo + ", Çıkış: " + tbl.CikisDepo, true, ComboItems.TransferÇıkış.ToInt32(), vUser.UserName, today, time, cDepoID.DepoAd, "", 0, "", "").FirstOrDefault(); // yeni transfer eklenir var sonuc = Transfers.Operation(new Transfer() { SirketKod = vUser.SirketKodu, GirisDepoID = gDepoID.ID, CikisDepoID = cDepoID.ID, AraDepoID = aDepoID, GorevID = cevap.GorevID.Value }); // find detays var TransferID = sonuc.Id; for (int i = 0; i < tbl.MalKodus.Count(); i++) { // stok kontrol var tmpYer = db.Yers.Where(m => m.MalKodu == tbl.MalKodus[i] && m.Birim == tbl.Birims[i] && m.Kat.Bolum.Raf.Koridor.Depo.DepoKodu == tbl.CikisDepo && m.Miktar > 0).OrderByDescending(m => m.Miktar).ToList(); decimal toplam = 0, miktar = 0; if (tmpYer.Count > 0) { foreach (var itemyer in tmpYer) { if (itemyer.Miktar >= (tbl.Miktars[i] - toplam)) { miktar = tbl.Miktars[i] - toplam; } else { miktar = itemyer.Miktar; } toplam += miktar; // miktarı tabloya ekle var tblyer = new GorevYer() { GorevID = cevap.GorevID.Value, YerID = itemyer.ID, MalKodu = tbl.MalKodus[i], Birim = tbl.Birims[i], Miktar = miktar, MakaraNo = itemyer.MakaraNo, GC = true }; if (miktar > 0) { TaskYer.Operation(tblyer); } // toplam yeterli miktardaysa if (toplam == tbl.Miktars[i]) { break; } } tbl.Miktars[i] = toplam; // hepsi eklenince detayı db'ye ekle if (tbl.Miktars[i] > 0) { sonuc = Transfers.AddDetay(new Transfer_Detay() { TransferID = TransferID, MalKodu = tbl.MalKodus[i], Birim = tbl.Birims[i], Miktar = tbl.Miktars[i] }); } if (tbl.Miktars[i] > 0) { IrsaliyeDetay.Operation(new IRS_Detay() { IrsaliyeID = cevap.IrsaliyeID.Value, MalKodu = tbl.MalKodus[i], Miktar = tbl.Miktars[i], Birim = tbl.Birims[i], KynkSiparisID = sonuc.Id, KynkSiparisTarih = TransferID }); } } } ViewBag.IrsaliyeId = cevap.IrsaliyeID.Value; // return return(Json(new Result(true, 1), JsonRequestBehavior.AllowGet)); }