public JsonResult CountFarkSave(string Id, string YeniMiktar, string GorevID) { Result t = new Result(); int _id = 0, _gorevID = 0; decimal _yeniMiktar = 0; _id = Id.ToInt32(); _yeniMiktar = YeniMiktar.ToDecimal(); _gorevID = GorevID.ToInt32(); using (DbContextTransaction et = db.Database.BeginTransaction()) { try { GorevYer gy = db.GorevYers.Where(x => x.ID == _id && x.GorevID == _gorevID).FirstOrDefault(); if ((gy.IsNull() ? 0 : gy.ID) > 0) { List <object> dt = new List <object>(); gy.Miktar = _yeniMiktar; gy.YerlestirmeMiktari = _yeniMiktar; db.SaveChanges(); dt.Add(gy.MalKodu.ToString2().Replace(" ", "")); List <GorevYer> tet = db.GorevYers.Where(x => x.MalKodu.Equals(gy.MalKodu) && x.GorevID == _gorevID).ToList(); if ((tet.IsNull() ? 0 : tet.Count) > 0) { decimal sumMiktar = 0, sumWmsStok = 0; string wmsSorgu = ""; wmsSorgu = String.Format(frmSiparisMalzemeDetay.SorguWmsMiktar, gy.GorevID, gy.MalKodu); sumMiktar = tet.Sum(x => x.Miktar); sumWmsStok = (db.Database.SqlQuery <decimal>(wmsSorgu).FirstOrDefault()).ToDecimal(); dt.Add(sumMiktar); dt.Add(sumMiktar - sumWmsStok); } t.Status = true; t.Data = dt; } else { t.Status = false; t.Data = null; } et.Commit(); } catch (Exception ex) { Logger(ex, "/WMS/Tasks/CountFarkSave"); et.Rollback(); t.Status = false; t.Data = null; } } return(Json(t, JsonRequestBehavior.AllowGet)); }
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 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)); }