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 CountCreate(int GorevID, bool Tip) { // 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.Onay == true) { return(Json(new Result(false, "Sayım fişi daha önce oluşturulmuş!"), 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(); short sirano = 0; List <STI> stiList = new List <STI>(); // loop malkods var sql = string.Format("EXEC FINSAT6{0}.wms.getSayimFisiListesi1 @ID = {1}", vUser.SirketKodu, GorevID); var list = db.Database.SqlQuery <frmSiparisMalzemeDetay>(sql).ToList(); foreach (var item in list) { if (item.Miktar != item.GunesStok) { var sti = new STI(); sti.DefaultValueSet(); if (item.Miktar > item.GunesStok)//olması gerekenden fazlaysa giriş yapılacak { sti.IslemTur = 0; } else//eğer olması gerekenden az varsa çıkış yapılacak { sti.IslemTur = 1; } sti.Tarih = tarih; sti.KynkEvrakTip = 95; //"Sayım Sonuç Fişi" from finsat.COMBOITEM_NAME sti.SiraNo = sirano; sti.IslemTip = 18; //"Sayım Sonuç Fişi" from finsat.COMBOITEM_NAME sti.MalKodu = item.MalKodu; sti.Miktar = item.Miktar; sti.Miktar2 = item.GunesStok; sti.Birim = item.Birim; sti.BirimMiktar = item.Miktar; sti.Depo = mGorev.Depo.DepoKodu; sti.VadeTarih = tarih; sti.EvrakTarih = tarih; sti.AnaEvrakTip = 95;//"Sayım Sonuç Fişi" from finsat.COMBOITEM_NAME stiList.Add(sti); sirano++; } } // eğer eksik listesi de atılacaksa sayım fişine biraz daha ekle if (Tip == true) { sql = string.Format(@"EXEC FINSAT6{0}.wms.getSayimFisiListesi2 @ID = {1}, @DepoKodu = '{2}'", vUser.SirketKodu, GorevID, mGorev.Depo.DepoKodu); list = db.Database.SqlQuery <frmSiparisMalzemeDetay>(sql).ToList(); foreach (var item in list) { if (item.Miktar != item.GunesStok) { var sti = new STI(); sti.DefaultValueSet(); if (item.Miktar > item.GunesStok)//olması gerekenden fazlaysa giriş yapılacak { sti.IslemTur = 0; } else//eğer olması gerekenden az varsa çıkış yapılacak { sti.IslemTur = 1; } sti.Tarih = tarih; sti.KynkEvrakTip = 95; //"Sayım Sonuç Fişi" from finsat.COMBOITEM_NAME sti.SiraNo = sirano; sti.IslemTip = 18; //"Sayım Sonuç Fişi" from finsat.COMBOITEM_NAME sti.MalKodu = item.MalKodu; sti.Miktar = item.Miktar; sti.Miktar2 = item.GunesStok; sti.Birim = item.Birim; sti.BirimMiktar = item.Miktar; sti.Depo = mGorev.Depo.DepoKodu; sti.VadeTarih = tarih; sti.EvrakTarih = tarih; sti.AnaEvrakTip = 95;//"Sayım Sonuç Fişi" from finsat.COMBOITEM_NAME stiList.Add(sti); sirano++; } } } // finsat tanımlama var evrakSeriNo = 7100 + 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.EvrakNo = sonuc.Message; mGorev.IR.Onay = true; mGorev.IR.ValorGun = (short)(Tip == true ? 1 : 0); db.SaveChanges(); sonuc.Message = "İşlem tamlandı!"; LogActions("WMS", "Tasks", "CountCreate", ComboItems.alEkle, mGorev.ID, "Sayım Fişi: " + mGorev.IR.EvrakNo); } return(Json(sonuc, JsonRequestBehavior.AllowGet)); }