/// <summary> /// stoğa excelden elle ekleme /// </summary> public JsonResult Stock(int DID, HttpPostedFileBase file) { if (CheckPerm(Perms.Stok, PermTypes.Writing) == false) { return(Json(new Result(false, "Yetkiniz yok"), JsonRequestBehavior.AllowGet)); } var _result = new Result(false, 0, "Hatalı dosya!"); if (file == null || file.ContentLength == 0) { return(Json(_result, JsonRequestBehavior.AllowGet)); } // gelen dosyayı oku var stream = file.InputStream; IExcelDataReader reader; // dosya tipini bul if (file.FileName.EndsWith(".xlsx")) { reader = ExcelReaderFactory.CreateOpenXmlReader(stream); } else { return(Json(_result, JsonRequestBehavior.AllowGet)); } // ilk satır başlık reader.IsFirstRowAsColumnNames = true; // exceldeki bilgileri datasete aktar var result = reader.AsDataSet(); // kontrol if (result.Tables.Count == 0) { return(Json(_result, JsonRequestBehavior.AllowGet)); } if (result.Tables[0].Rows == null) { return(Json(_result, JsonRequestBehavior.AllowGet)); } // loop all list int basarili = 0, hatali = 0, tarih = fn.ToOADate(); var hatalilar = ""; using (var dbContextTransaction = db.Database.BeginTransaction()) { // add to irs table var sonuc = Irsaliye.Operation(new IR() { SirketKod = vUser.SirketKodu, DepoID = DID, EvrakNo = db.SettingsGorevNo(tarih, DID).FirstOrDefault(), HesapKodu = "Elle Ekleme", Tarih = tarih }); // loop for (int i = 0; i < result.Tables[0].Rows.Count; i++) { var dr = result.Tables[0].Rows[i]; try { if (dr["Hücre Adı"].ToString() != "" && dr["Mal Kodu"].ToString() != "" && dr["Birim"].ToString() != "" && dr["Miktar"].ToString2().IsNumeric() != false) { var katID = db.GetHucreKatID(DID, dr["Hücre Adı"].ToString()).FirstOrDefault(); var miktar = dr["Miktar"].ToString().ToDecimal(); if (katID != null) { var tmp2 = Yerlestirme.Detail(katID.Value, dr["Mal Kodu"].ToString(), dr["Birim"].ToString()); if (tmp2 == null) { tmp2 = new Yer() { KatID = katID.Value, MalKodu = dr["Mal Kodu"].ToString(), Birim = dr["Birim"].ToString(), Miktar = miktar }; Yerlestirme.Insert(tmp2, vUser.Id, "Stok Elle Ekle"); } else { tmp2.Miktar += miktar; Yerlestirme.Update(tmp2, vUser.Id, "Stok Elle Ekle", miktar, false); } basarili++; } else { hatali++; if (hatalilar != "") { hatalilar += ", "; } hatalilar += (i + 1); } } else { hatali++; if (hatalilar != "") { hatalilar += ", "; } hatalilar += (i + 1); } } catch (Exception ex) { hatali++; if (hatalilar != "") { hatalilar += ", "; } hatalilar += (i + 1); Logger(ex, "Uploads/Stock"); } } reader.Close(); // update db try { dbContextTransaction.Commit(); } catch (Exception ex) { Logger(ex, "Uploads/Stock"); _result.Message = "Hatalı satırlar var"; return(Json(_result, JsonRequestBehavior.AllowGet)); } } if (basarili > 0) { _result.Message = basarili + " adet satır eklendi"; // log LogActions("", "Uploads", "Stock", ComboItems.alYükle, 0, "Satır Sayısı: " + basarili); } else { _result.Message = ""; } if (basarili > 0 && hatali > 0) { _result.Message += ", "; } if (hatali > 0) { _result.Message += hatali + " satır hata verdi. Hatalı satırlar: \n" + hatalilar; } else { _result.Status = true; } return(Json(_result, JsonRequestBehavior.AllowGet)); }
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 CountBackDiff(int GorevID) { // kontrols if (CheckPerm(Perms.GörevListesi, PermTypes.Writing) == false) { return(Json(new Result(false, "Yetkiniz yok"), JsonRequestBehavior.AllowGet)); } var durumID = ComboItems.Tamamlanan.ToInt32(); var tipID = ComboItems.KontrolSayım.ToInt32(); var mGorev = db.Gorevs.Where(m => m.ID == GorevID && m.GorevTipiID == tipID && m.DurumID == durumID).FirstOrDefault(); if (mGorev.IsNull()) { return(Json(new Result(false, "Görev bulunamadı!"), JsonRequestBehavior.AllowGet)); } if (mGorev.IR.LinkEvrakNo == null) { return(Json(new Result(false, "Fark fişi bulunamadı!"), JsonRequestBehavior.AllowGet)); } // variables var tarih = fn.ToOADate(); var saat = fn.ToOATime(); List <STI> stiList = new List <STI>(); // loop malkods var sql = string.Format("SELECT IslemTur, MalKodu, Miktar, Miktar2, Birim, Depo FROM FINSAT6{0}.FINSAT6{0}.STI WHERE (EvrakNo = '{1}') AND (KynkEvrakTip = 100) AND (IslemTip = 20)", mGorev.IR.SirketKod, mGorev.IR.LinkEvrakNo); var list = db.Database.SqlQuery <frmGorevSayimFisi>(sql).ToList(); sql = ""; foreach (var item in list) { if (item.IslemTur == 0)//giriş { sql += string.Format("UPDATE FINSAT6{0}.FINSAT6{0}.DST " + "SET GirMiktar = GirMiktar - {3}, SonSayimFarki = {3}, Degistiren = '{4}', DegisTarih = {5}, DegisSaat = {6} " + "WHERE(MalKodu = '{1}') AND(Depo = '{2}');", mGorev.IR.SirketKod, item.MalKodu, mGorev.Depo.DepoKodu, (item.Miktar - item.Miktar2).ToDot(), vUser.UserName, tarih, saat); sql += string.Format("UPDATE FINSAT6{0}.FINSAT6{0}.STK " + "SET TahminiStok = TahminiStok - {2}, GirMiktar = GirMiktar - {2}, Degistiren = '{3}', DegisTarih = {4}, DegisSaat = {5} " + "WHERE(MalKodu = '{1}');", mGorev.IR.SirketKod, item.MalKodu, (item.Miktar - item.Miktar2).ToDot(), vUser.UserName, tarih, saat); } else//çıkış { sql += string.Format("UPDATE FINSAT6{0}.FINSAT6{0}.DST " + "SET CikMiktar = CikMiktar - {3}, Degistiren = '{4}', DegisTarih = {5}, DegisSaat = {6} " + "WHERE(MalKodu = '{1}') AND(Depo = '{2}');", mGorev.IR.SirketKod, item.MalKodu, mGorev.Depo.DepoKodu, (item.Miktar2 - item.Miktar).ToDot(), vUser.UserName, tarih, saat); sql += string.Format("UPDATE FINSAT6{0}.FINSAT6{0}.STK " + "SET TahminiStok = TahminiStok + {2}, CikMiktar = CikMiktar - {2}, Degistiren = '{3}', DegisTarih = {4}, DegisSaat = {5} " + "WHERE(MalKodu = '{1}');", mGorev.IR.SirketKod, item.MalKodu, (item.Miktar2 - item.Miktar).ToDot(), vUser.UserName, tarih, saat); } } sql += string.Format("DELETE FROM FINSAT6{0}.FINSAT6{0}.STI WHERE (EvrakNo = '{1}') AND (KynkEvrakTip = 100) AND (IslemTip = 20);", mGorev.IR.SirketKod, mGorev.IR.LinkEvrakNo); db.Database.ExecuteSqlCommand(sql); LogActions("WMS", "Tasks", "CountBackDiff", ComboItems.alSil, mGorev.ID, "Sayım Fark Fişi İptal: " + mGorev.IR.LinkEvrakNo); var yl = db.Yer_Log.Where(a => a.IrsaliyeID == mGorev.IR.ID).ToList(); foreach (var item in yl) { var tmp2 = Yerlestirme.Detail(item.KatID, item.MalKodu, "", item.MakaraNo); if (item.GC == true) { tmp2.Miktar += item.Miktar; Yerlestirme.Update(tmp2, vUser.Id, "Sayım Farkı Fişi İptal", item.Miktar, false, mGorev.IR.ID); } else { tmp2.Miktar -= item.Miktar; Yerlestirme.Update(tmp2, vUser.Id, "Sayım Farkı Fişi İptal", item.Miktar, true, mGorev.IR.ID); } } mGorev.IR.LinkEvrakNo = null; db.SaveChanges(); return(Json(new Result(true, mGorev.ID, "İşlem tamlandı!"), JsonRequestBehavior.AllowGet)); }
public JsonResult CountCreateDiff(int GorevID) { // kontrols if (CheckPerm(Perms.GörevListesi, PermTypes.Writing) == false) { return(Json(new Result(false, "Yetkiniz yok"), JsonRequestBehavior.AllowGet)); } var durumID = ComboItems.Tamamlanan.ToInt32(); var tipID = ComboItems.KontrolSayım.ToInt32(); var mGorev = db.Gorevs.Where(m => m.ID == GorevID && m.GorevTipiID == tipID && m.DurumID == durumID).FirstOrDefault(); if (mGorev.IsNull()) { return(Json(new Result(false, "Görev bulunamadı!"), JsonRequestBehavior.AllowGet)); } if (mGorev.IR.LinkEvrakNo != null) { return(Json(new Result(false, "Fark fişi daha önce oluşturulmuş!"), JsonRequestBehavior.AllowGet)); } if (mGorev.IR.Onay == false) { return(Json(new Result(false, "Sayım fişi daha oluşturulmamış!"), JsonRequestBehavior.AllowGet)); } // seri kontrol var details = db.UserDetails.Where(m => m.UserID == vUser.Id).FirstOrDefault(); if (details == null) { return(Json(new Result(false, "Seri hatası!"), JsonRequestBehavior.AllowGet)); } if (details.SayimSeri == null) { return(Json(new Result(false, "Seri hatası!"), JsonRequestBehavior.AllowGet)); } if (details.SayimSeri.Value < 1 || details.SayimSeri.Value > 199) { return(Json(new Result(false, "Seri hatası!"), JsonRequestBehavior.AllowGet)); } // variables var tarih = fn.ToOADate(); var saat = fn.ToOATime(); short sirano = 0; var stiList = new List <STI>(); // loop malkods var sql = string.Format("SELECT IslemTur, MalKodu, Miktar, Miktar2, Birim, Depo FROM FINSAT6{0}.FINSAT6{0}.STI WHERE (EvrakNo = '{1}') AND (KynkEvrakTip = 95) AND (IslemTip = 18)", mGorev.IR.SirketKod, mGorev.IR.EvrakNo); var list = db.Database.SqlQuery <frmGorevSayimFisi>(sql).ToList(); foreach (var item in list) { if (item.Miktar != item.Miktar2) { var sti = new STI(); sti.DefaultValueSet(); sti.IslemTur = item.IslemTur; sti.Miktar = Math.Abs(item.Miktar - item.Miktar2); sti.Tarih = tarih; sti.KynkEvrakTip = 100; //"Sayım Farkı Fişi" from finsat.COMBOITEM_NAME sti.SiraNo = sirano; sti.IslemTip = 20; //"Sayım Farkı" from finsat.COMBOITEM_NAME sti.MalKodu = item.MalKodu; sti.Birim = item.Birim; sti.BirimMiktar = sti.Miktar; sti.Miktar2 = item.Miktar; sti.Depo = mGorev.Depo.DepoKodu; sti.VadeTarih = tarih; sti.EvrakTarih = tarih; sti.AnaEvrakTip = 100;//"Sayım Farkı Fişi" from finsat.COMBOITEM_NAME sti.KaynakIrsEvrakNo = mGorev.IR.EvrakNo; stiList.Add(sti); sirano++; } } if (sirano == 0) { // son olarak bizim stoka kaydet sql = string.Format(@"EXEC BIRIKIM.wms.GetSayimFarki {0}, {1}", GorevID, mGorev.IR.ValorGun); var list2 = db.Database.SqlQuery <frmSiparisToplama>(sql).ToList(); // loop list short siranok = 0; foreach (var item in list2) { siranok += 1; // yerleştirme kaydı yapılır var tmp2 = Yerlestirme.Detail(item.KatID, item.MalKodu, "", item.MakaraNo); if (tmp2 == null) { tmp2 = new Yer() { KatID = item.KatID, MalKodu = item.MalKodu, Birim = item.Birim, Miktar = item.Miktar, MakaraNo = item.MakaraNo }; Yerlestirme.Insert(tmp2, vUser.Id, "Sayım Farkı Fişi", mGorev.IrsaliyeID.Value); } else { if (item.Miktar > item.Stok)//giriş { tmp2.Miktar = item.Miktar; Yerlestirme.Update(tmp2, vUser.Id, "Sayım Farkı Fişi", item.Miktar - item.Stok, false, mGorev.IrsaliyeID.Value); } else if (item.Miktar < item.Stok)//çıkış { tmp2.Miktar = item.Miktar; Yerlestirme.Update(tmp2, vUser.Id, "Sayım Farkı Fişi", item.Stok - item.Miktar, true, mGorev.IrsaliyeID.Value); } } } //fark fişi tuşu kaybolsun diye boş kayıt atıyoruz mGorev.IR.LinkEvrakNo = ""; db.SaveChanges(); //return result if (siranok > 0) { return(Json(new Result(true, "Güneş Fark fişine gerek yok, WMS fark fişi hareketi atıldı."), JsonRequestBehavior.AllowGet)); } else { return(Json(new Result(false, "Fark fişine gerek yok."), JsonRequestBehavior.AllowGet)); } } // finsat tanımlama var EvrakSeriNo = 7500 + details.SayimSeri.Value - 1; var finsat = new Finsat(db, mGorev.IR.SirketKod, SqlExper, new FaturaKayit(SqlExper, mGorev.IR.SirketKod, SqlExper, mGorev.IR.SirketKod)); var sonuc = finsat.SayımVeFarkFişi(stiList, EvrakSeriNo, true, vUser.UserName); if (sonuc.Status == true) { mGorev.IR.LinkEvrakNo = sonuc.Message; LogActions("WMS", "Tasks", "CountCreateDiff", ComboItems.alEkle, mGorev.ID, "Sayım Fark Fişi: " + mGorev.IR.LinkEvrakNo); db.SaveChanges(); // finsat dst & stk update sql = string.Format("UPDATE FINSAT6{0}.FINSAT6{0}.STI SET KaynakIrsEvrakNo='{1}' WHERE EvrakNo = '{2}' AND KynkEvrakTip = 95;", mGorev.IR.SirketKod, sonuc.Message, mGorev.IR.EvrakNo); foreach (var item in list) { if (item.IslemTur == 0)//giriş { sql += string.Format("UPDATE FINSAT6{0}.FINSAT6{0}.DST " + "SET GirMiktar = GirMiktar + {3}, SonGirTarih = {5}, SonSayimTarih = {5}, SonSayimFarki = {3}, Degistiren = '{4}', DegisTarih = {5}, DegisSaat = {6} " + "WHERE(MalKodu = '{1}') AND(Depo = '{2}');", mGorev.IR.SirketKod, item.MalKodu, mGorev.Depo.DepoKodu, (item.Miktar - item.Miktar2).ToDot(), vUser.UserName, tarih, saat); sql += string.Format("UPDATE FINSAT6{0}.FINSAT6{0}.STK " + "SET TahminiStok = TahminiStok + {2}, GirMiktar = GirMiktar + {2}, GirTarih = {5}, SonSayimTarih = {5}, SonSayimSonuc = {3}, Degistiren = '{4}', DegisTarih = {5}, DegisSaat = {6} " + "WHERE(MalKodu = '{1}');", mGorev.IR.SirketKod, item.MalKodu, (item.Miktar - item.Miktar2).ToDot(), item.Miktar.ToDot(), vUser.UserName, tarih, saat); } else//çıkış { sql += string.Format("UPDATE FINSAT6{0}.FINSAT6{0}.DST " + "SET CikMiktar = CikMiktar + {3}, SonCikTarih = {5}, SonSayimTarih = {5}, SonSayimFarki = -{3}, Degistiren = '{4}', DegisTarih = {5}, DegisSaat = {6} " + "WHERE(MalKodu = '{1}') AND(Depo = '{2}');", mGorev.IR.SirketKod, item.MalKodu, mGorev.Depo.DepoKodu, (item.Miktar2 - item.Miktar).ToDot(), vUser.UserName, tarih, saat); sql += string.Format("UPDATE FINSAT6{0}.FINSAT6{0}.STK " + "SET TahminiStok = TahminiStok - {2}, CikMiktar = CikMiktar + {2}, CikTarih = {5}, SonSayimTarih = {5}, SonSayimSonuc = {3}, Degistiren = '{4}', DegisTarih = {5}, DegisSaat = {6} " + "WHERE(MalKodu = '{1}');", mGorev.IR.SirketKod, item.MalKodu, (item.Miktar2 - item.Miktar).ToDot(), item.Miktar.ToDot(), vUser.UserName, tarih, saat); } } db.Database.ExecuteSqlCommand(sql); // son olarak bizim stoka kaydet sql = string.Format(@"EXEC BIRIKIM.wms.GetSayimFarki {0}, {1}", GorevID, mGorev.IR.ValorGun); var list2 = db.Database.SqlQuery <frmSiparisToplama>(sql).ToList(); // loop list foreach (var item in list2) { // yerleştirme kaydı yapılır var tmp2 = Yerlestirme.Detail(item.KatID, item.MalKodu, "", item.MakaraNo); if (tmp2 == null) { tmp2 = new Yer() { KatID = item.KatID, MalKodu = item.MalKodu, Birim = item.Birim, Miktar = item.Miktar, MakaraNo = item.MakaraNo }; Yerlestirme.Insert(tmp2, vUser.Id, "Sayım Farkı Fişi", mGorev.IrsaliyeID.Value); } else { if (item.Miktar > item.Stok)//giriş { tmp2.Miktar = item.Miktar; Yerlestirme.Update(tmp2, vUser.Id, "Sayım Farkı Fişi", item.Miktar - item.Stok, false, mGorev.IrsaliyeID.Value); } else if (item.Miktar < item.Stok)//çıkış { tmp2.Miktar = item.Miktar; Yerlestirme.Update(tmp2, vUser.Id, "Sayım Farkı Fişi", item.Stok - item.Miktar, true, mGorev.IrsaliyeID.Value); } } } sonuc.Message = "İşlem tamlandı!"; } return(Json(sonuc, JsonRequestBehavior.AllowGet)); }
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 ManualCorrection(Yer tbl, bool GC) { if (CheckPerm(Perms.Stok, PermTypes.Writing) == false || tbl.Miktar < 0) { return(Json(false, JsonRequestBehavior.AllowGet)); } Result sonuc; if (tbl.MakaraNo == "" || tbl.MakaraNo == null) { var kkablo = db.Database.SqlQuery <string>(string.Format(@" SELECT Kod1 FROM FINSAT6{0}.FINSAT6{0}.STK WITH(NOLOCK) WHERE (MalKodu = '{1}')", vUser.SirketKodu, tbl.MalKodu)).FirstOrDefault(); if (kkablo == "KKABLO") { return(Json(new Result(false, "Makara no girilmelidir."), JsonRequestBehavior.AllowGet)); } } if (GC == false) { #region Giriş İşlemleri if (tbl.MakaraNo == "" || tbl.MakaraNo == null) { var tmp2 = Yerlestirme.Detail(tbl.KatID, tbl.MalKodu, tbl.Birim); if (tmp2 == null) { tmp2 = new Yer() { KatID = tbl.KatID, MalKodu = tbl.MalKodu, Birim = tbl.Birim, Miktar = tbl.Miktar, MakaraDurum = true }; sonuc = Yerlestirme.Insert(tmp2, vUser.Id, "Stok Elle Düzeltme"); if (sonuc.Status == false) { return(Json(new Result(false, sonuc.Message), JsonRequestBehavior.AllowGet)); } } else { tmp2.Miktar += tbl.Miktar; sonuc = Yerlestirme.Update(tmp2, vUser.Id, "Stok Elle Düzeltme", tbl.Miktar, false); if (sonuc.Status == false) { return(Json(new Result(false, sonuc.Message), JsonRequestBehavior.AllowGet)); } } } else { var tmp2 = db.Yers.Where(m => m.DepoID == tbl.DepoID && m.MakaraNo == tbl.MakaraNo).FirstOrDefault(); if (tmp2 == null) { tmp2 = new Yer() { KatID = tbl.KatID, MalKodu = tbl.MalKodu, MakaraNo = tbl.MakaraNo, Birim = tbl.Birim, Miktar = tbl.Miktar, MakaraDurum = true }; sonuc = Yerlestirme.Insert(tmp2, vUser.Id, "Stok Elle Düzeltme"); if (sonuc.Status == false) { return(Json(new Result(false, sonuc.Message), JsonRequestBehavior.AllowGet)); } } else { return(Json(new Result(false, "Bu makara no kullanılmaktadır"), JsonRequestBehavior.AllowGet)); } } #endregion } else { #region Çıkış İşlemleri var tmp2 = Yerlestirme.Detail(tbl.KatID, tbl.MalKodu, "", tbl.MakaraNo); if (tmp2 == null) { return(Json(new Result(false, "Seçili yerde bu ürün bulunamadı."), JsonRequestBehavior.AllowGet)); } if (tmp2.Miktar < tbl.Miktar) { return(Json(new Result(false, "Seçili yerde çıkış yapılmak istenilen sayıda ürün yok"), JsonRequestBehavior.AllowGet)); } tmp2.Miktar -= tbl.Miktar; sonuc = Yerlestirme.Update(tmp2, vUser.Id, "Stok Elle Düzeltme", tbl.Miktar, true); if (sonuc.Status == false) { return(Json(new Result(false, sonuc.Message), JsonRequestBehavior.AllowGet)); } #endregion } // add to mysql if (db.Settings.FirstOrDefault().KabloSiparisMySql == true) { #region Mysql İşlemleri string sql = ""; if (vUser.SirketKodu == "33") { sql = string.Format(@" SELECT FINSAT6{0}.FINSAT6{0}.STK.MalAdi4 as Marka, FINSAT6{0}.FINSAT6{0}.STK.Nesne2 as Cins, FINSAT6{0}.FINSAT6{0}.STK.Kod15 as Kesit, '' AS Renk FROM FINSAT6{0}.FINSAT6{0}.STK WHERE (FINSAT6{0}.FINSAT6{0}.STK.Kod1 = 'KKABLO') AND (FINSAT6{0}.FINSAT6{0}.STK.MalKodu = '{1}')", vUser.SirketKodu, tbl.MalKodu); } else { sql = string.Format(@" SELECT FINSAT6{0}.FINSAT6{0}.STK.MalAdi4 as Marka, FINSAT6{0}.FINSAT6{0}.STK.Nesne2 as Cins, FINSAT6{0}.FINSAT6{0}.STK.Kod16 as Kesit, FINSAT6{0}.FINSAT6{0}.STK.Kod15 as Renk FROM FINSAT6{0}.FINSAT6{0}.STK WHERE (FINSAT6{0}.FINSAT6{0}.STK.Kod1 = 'KKABLO') AND (FINSAT6{0}.FINSAT6{0}.STK.MalKodu = '{1}')", vUser.SirketKodu, tbl.MalKodu); } var stks = db.Database.SqlQuery <frmCableStk>(sql).FirstOrDefault(); if (stks != null) { using (KabloEntities dbx = new KabloEntities()) { string depo; var kbldepoID = db.Depoes.Where(m => m.ID == tbl.DepoID).Select(m => m.KabloDepoID).FirstOrDefault(); if (kbldepoID == null) { depo = dbx.depoes.Select(m => m.depo1).FirstOrDefault(); } else { depo = dbx.depoes.Where(m => m.id == kbldepoID).Select(m => m.depo1).FirstOrDefault(); } try { if (GC == false) { // sid bul var sid = dbx.indices.Where(m => m.cins == stks.Cins && m.kesit == stks.Kesit).FirstOrDefault(); if (sid == null) { sid = new index() { cins = stks.Cins, kesit = stks.Kesit, agirlik = 0 }; dbx.indices.Add(sid); dbx.SaveChanges(); } // stoğa kaydet var tbls = new stok() { marka = stks.Marka, cins = stks.Cins, kesit = stks.Kesit, sid = sid.id, depo = depo, renk = stks.Renk, makara = "KAPALI", rezerve = "0", sure = new TimeSpan(), tarih = DateTime.Now, tip = "", rmiktar = 0, miktar = tbl.Miktar, makarano = tbl.MakaraNo }; dbx.stoks.Add(tbls); } else { // makarayı bul var kablo = dbx.stoks.Where(m => m.depo == depo && m.makarano == tbl.MakaraNo).FirstOrDefault(); if (kablo != null) { // kabloya açık yap if (kablo.miktar != tbl.Miktar) { kablo.makara = "AÇIK"; } // yeni hareket ekle var tblh = new hareket() { id = kablo.id, miktar = tbl.Miktar, musteri = "Stok Elle Düzeltme", tarih = DateTime.Now, kaydigiren = vUser.FullName }; dbx.harekets.Add(tblh); } } dbx.SaveChanges(); } catch (Exception ex) { Logger(ex, "Stock/ManualCorrection"); } } } #endregion } // return return(Json(new Result(true), JsonRequestBehavior.AllowGet)); }