Beispiel #1
0
        private void btn_siparis_Click(object sender, EventArgs e)
        {
            try
            {
                DataRow[] rowsTopla = tbl_Topla.Select("irsaliyeNo = '" + gecerliIrsaliyeNo + "'");

                if (rowsTopla.Length == 0)
                {
                    MessageBox.Show("Bu irsaliye için SAP'ye aktarılacak bir malzeme girişi yok", "HATA");
                    return;
                }

                Cursor.Current = Cursors.WaitCursor;
                WS_Satis.service                   srv  = new KoctasMobil.WS_Satis.service();
                WS_Satis.ZkmobilMgH                mgh  = new KoctasMobil.WS_Satis.ZkmobilMgH();
                WS_Satis.ZkmobilMgI[]              mgi  = new KoctasMobil.WS_Satis.ZkmobilMgI[rowsTopla.Length];
                WS_Satis.ZkmobilSMgCreate[]        mgc  = new KoctasMobil.WS_Satis.ZkmobilSMgCreate[rowsTopla.Length];
                WS_Satis.ZkmobilReturn[]           ret  = new KoctasMobil.WS_Satis.ZkmobilReturn[0];
                WS_Satis.ZktmobilMgCreate2         cre  = new KoctasMobil.WS_Satis.ZktmobilMgCreate2();
                WS_Satis.ZktmobilMgCreate2Response resp = new KoctasMobil.WS_Satis.ZktmobilMgCreate2Response();

                mgh.RefDocNo = gecerliIrsaliyeNo;


                int i = 0;
                foreach (DataRow row in rowsTopla)
                {
                    mgi[i]          = new KoctasMobil.WS_Satis.ZkmobilMgI();
                    mgi[i].Plant    = row["werks"].ToString();
                    mgi[i].StgeLoc  = row["lgort"].ToString();
                    mgi[i].EntryQnt = decimal.Parse(row["menge"].ToString());
                    mgi[i].PoNumber = row["ebeln"].ToString();
                    mgi[i].PoItem   = row["ebelp"].ToString();

                    if (row["S"].ToString() == "X")
                    {
                        mgi[i].Elikz = "X";
                    }
                    i++;
                }

                int j = 0;
                foreach (DataRow row in rowsTopla)
                {
                    mgc[j]          = new KoctasMobil.WS_Satis.ZkmobilSMgCreate();
                    mgc[j].Plant    = row["werks"].ToString();
                    mgc[j].StgeLoc  = row["lgort"].ToString();
                    mgc[j].EntryQnt = decimal.Parse(row["menge"].ToString());
                    mgc[j].PoNumber = row["ebeln"].ToString();
                    mgc[j].PoItem   = row["ebelp"].ToString();
                    mgc[j].DmgdQnt  = decimal.Parse(row["hasarMiktar"].ToString());
                    mgc[j].MinusQnt = decimal.Parse(row["eksikMiktar"].ToString());

                    if (row["S"].ToString() == "X")
                    {
                        mgc[j].Elikz = "X";
                    }
                    j++;
                }



                cre.IHeader  = mgh;
                cre.TeReturn = ret;
                cre.TiItems  = mgi;
                cre.ItItems  = mgc;
                cre.IFiori   = "X";

                cre.IDocDate   = gecerliBelgeTarihi.ToString("yyyy-MM-dd");
                cre.IPstngDate = gecerliKayitTarihi.ToString("yyyy-MM-dd");

                resp.TeReturn = ret;
                resp.TiItems  = mgi;

                srv.Credentials = ProgramGlobalData.g_credential;
                srv.Url         = Utility.getWsUrl("zktmobil_satis");
                resp            = srv.ZktmobilMgCreate2(cre);

                Cursor.Current = Cursors.Default;

                if (resp.TeReturn.Length > 0)
                {
                    if (resp.TeReturn[0].RcCode.ToUpper() == "S")
                    {
                        MessageBox.Show(resp.TeReturn[0].RcText);
                        this.DialogResult = DialogResult.OK;

                        //İrsaliye tablosu SAPye aktarıldı olarak işaretlenecek
                        irsaliyeAktarildi(gecerliIrsaliyeNo);

                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show(resp.TeReturn[0].RcText);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
Beispiel #2
0
        private void btn_SevkiyatNo_Kontrol_Click(object sender, EventArgs e)
        {
            if (txtSevkiyatNo.Text.Trim() == "")
            {
                MessageBox.Show("Sevkiyat No giriniz", "HATA");
                return;
            }

            try
            {
                Cursor.Current = Cursors.WaitCursor;

                WS_Satis.service                         srv        = new KoctasMobil.WS_Satis.service();
                WS_Satis.ZmbSevkiyatHrzDty[]             itDetay    = new KoctasMobil.WS_Satis.ZmbSevkiyatHrzDty[0];
                WS_Satis.ZmbSevkiyatHrz[]                itSevkiyat = new KoctasMobil.WS_Satis.ZmbSevkiyatHrz[0];
                WS_Satis.ZktmobilSevkiyatSiparis         ss         = new KoctasMobil.WS_Satis.ZktmobilSevkiyatSiparis();
                WS_Satis.ZktmobilSevkiyatSiparisResponse resp       = new KoctasMobil.WS_Satis.ZktmobilSevkiyatSiparisResponse();

                ss.ItDetay    = itDetay;
                ss.ItSevkiyat = itSevkiyat;
                ss.ImSevkno   = txtSevkiyatNo.Text.Trim().ToUpper();
                ss.ImDetay    = "X";


                srv.Credentials = ProgramGlobalData.g_credential;
                srv.Url         = Utility.getWsUrl("zktmobil_satis");
                resp            = srv.ZktmobilSevkiyatSiparis(ss);



                // Eger kontrol sonrasýnda hiçbir sipariş dönmüyorsa
                // uyarı veriliyor
                if (resp.ItSevkiyat.Length == 0)
                {
                    MessageBox.Show("Belirtilen sevkiyat numarasına ait sipariş listesi bulunamadı", "HATA");
                    Cursor.Current = Cursors.Default;
                    return;
                }
                else if (resp.ItSevkiyat.Length > 0)
                {
                    //lst_Siparis.Items.Clear();
                    for (int i = 0; i < resp.ItSevkiyat.Length; i++)
                    {
                        string sipNo = resp.ItSevkiyat[i].Ebeln.ToString().Trim();

                        //Herbir siparis detayi cekiliyor

                        WS_Satis.service                    srv2    = new KoctasMobil.WS_Satis.service();
                        WS_Satis.ZkmobilMatlist[]           matlist = new KoctasMobil.WS_Satis.ZkmobilMatlist[0];
                        WS_Satis.ZkmobilReturn[]            ret     = new KoctasMobil.WS_Satis.ZkmobilReturn[0];
                        WS_Satis.ZktmobilMgCheckSas         sas     = new KoctasMobil.WS_Satis.ZktmobilMgCheckSas();
                        WS_Satis.ZktmobilMgCheckSasResponse resp2   = new KoctasMobil.WS_Satis.ZktmobilMgCheckSasResponse();


                        sas.TeMatlist = matlist;
                        sas.TeReturn  = ret;
                        sas.IEbeln    = sipNo;

                        //System.Net.NetworkCredential cr = new System.Net.NetworkCredential("berk", "Burak980");
                        //srv.Credentials = cr;

                        srv2.Credentials = ProgramGlobalData.g_credential;
                        srv2.Url         = Utility.getWsUrl("zktmobil_satis");
                        resp2            = srv2.ZktmobilMgCheckSas(sas);



                        // Eger SAS kontrolu sonrasýnda siparis kaydi HOROZ'a ait bir
                        // kayıt ise, checkbox ýn seçilmesi isteniyor.
                        if ((resp2.ExType1 == "1") && (!chk_horoz.Checked))
                        {
                            MessageBox.Show("Bu sipariş için 'Horoz Lojistik' kutusunu işaretleyiniz.", "HATA");
                        }
                        else if (resp2.TeReturn.Length > 0)
                        {
                            if (resp2.TeReturn[0].RcCode.ToUpper() == "S" && resp2.TeMatlist.Length > 0)
                            {
                                //lst_Siparis.Items.Add(sipNo);
                                lst_Siparis.Items.Insert(0, sipNo);
                                for (int j = 0; j < resp2.TeMatlist.Length; j++)
                                {
                                    try
                                    {
                                        materials.Add(Convert.ToInt64(resp2.TeMatlist[j].Ean11));
                                    }
                                    catch { }

                                    sas_fs[lenght]       = resp2.TeMatlist[j];
                                    sas_fs[lenght].Ebeln = sipNo;


                                    //ilgili siparis ve malzeme numarasýna göre Amenge degeri bulunuyor
                                    if (resp.ItDetay.Length > 0)
                                    {
                                        for (int ii = 0; ii < resp.ItDetay.Length; ii++)
                                        {
                                            if ((resp.ItDetay[ii].Ebeln.ToString().Trim() == sipNo) && (resp.ItDetay[ii].Matnr.TrimStart('0').ToString() == sas_fs[lenght].Matnr))
                                            {
                                                //Acik siparis miktarlari Matlist tablosuna ataniyor
                                                sas_fs[lenght].Amenge = Convert.ToDecimal(resp.ItDetay[ii].Amenge.ToString());
                                                break;
                                            }
                                        }
                                    }


                                    lenght++;
                                }
                            }

                            //else
                            //{
                            //    MessageBox.Show(resp2.TeReturn[0].RcText, "HATA");
                            //}
                        }
                    }
                }
                Cursor.Current = Cursors.Default;
            }
            catch (Exception ex)
            {
                Cursor.Current = Cursors.Default;
                MessageBox.Show(ex.Message, "HATA");
            }

            if (lenght == 0)
            {
                MessageBox.Show("Girilen sevkiyat numarasına ait mal kabulu yapılacak sipariş listesi bulunmamaktadır.", "BİLGİ");
            }
        }
        private void btn_giris_Click(object sender, EventArgs e)
        {
            try
            {
                Cursor.Current = Cursors.WaitCursor;
                WS_Satis.service                   srv  = new KoctasMobil.WS_Satis.service();
                WS_Satis.ZkmobilMgH                mgh  = new KoctasMobil.WS_Satis.ZkmobilMgH();
                WS_Satis.ZkmobilMgI[]              mgi  = new KoctasMobil.WS_Satis.ZkmobilMgI[dt_mal.Rows.Count];
                WS_Satis.ZkmobilReturn[]           ret  = new KoctasMobil.WS_Satis.ZkmobilReturn[0];
                WS_Satis.ZktmobilMgCreate2         cre  = new KoctasMobil.WS_Satis.ZktmobilMgCreate2();
                WS_Satis.ZktmobilMgCreate2Response resp = new KoctasMobil.WS_Satis.ZktmobilMgCreate2Response();

                mgh.RefDocNo = irsNo;
                //mgh.PrUname = Program.username ;
                if (Horoz)
                {
                    mgh.Frbnr = txt_Horoz.Text.Trim();
                }


                for (int i = 0; i < dt_mal.Rows.Count; i++)
                {
                    mgi[i]          = new KoctasMobil.WS_Satis.ZkmobilMgI();
                    mgi[i].Plant    = dt_mal.Rows[i]["werks"].ToString();
                    mgi[i].StgeLoc  = dt_mal.Rows[i]["lgort"].ToString();
                    mgi[i].EntryQnt = decimal.Parse(dt_mal.Rows[i]["menge"].ToString());
                    mgi[i].PoNumber = dt_mal.Rows[i]["ebeln"].ToString();
                    mgi[i].PoItem   = dt_mal.Rows[i]["ebelp"].ToString();
                    if (dt_mal.Rows[i]["S"].ToString() == "X")
                    {
                        mgi[i].Elikz = "X";
                    }
                }

                cre.IHeader  = mgh;
                cre.TeReturn = ret;
                cre.TiItems  = mgi;

                cre.IDocDate   = belgeTarihi.ToString("yyyy-MM-dd");
                cre.IPstngDate = kayitTarihi.ToString("yyyy-MM-dd");

                resp.TeReturn = ret;
                resp.TiItems  = mgi;

                srv.Credentials = ProgramGlobalData.g_credential;
                srv.Url         = Utility.getWsUrl("zktmobil_satis");
                resp            = srv.ZktmobilMgCreate2(cre);

                Cursor.Current = Cursors.Default;

                if (resp.TeReturn.Length > 0)
                {
                    if (resp.TeReturn[0].RcCode.ToUpper() == "S")
                    {
                        MessageBox.Show(resp.TeReturn[0].RcText);
                        this.DialogResult = DialogResult.OK;
                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show(resp.TeReturn[0].RcText);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
        private void btn_SiparisEkle_Click(object sender, EventArgs e)
        {
            string irsaliyeNo = cmb_IrsNo.Text;
            string siparisNo  = txt_sas.Text.Trim();

            dt_IrsaliyeKaydiGuncelle(irsaliyeNo);

            if (siparisNo == "")
            {
                return;
            }

            if (irsaliyeNo == "")
            {
                MessageBox.Show("Sipariş no girişi yapmadan önce irsaliye eklemelisiniz");
                return;
            }

            try
            {
                Cursor.Current = Cursors.WaitCursor;

                WS_Satis.service                    srv     = new KoctasMobil.WS_Satis.service();
                WS_Satis.ZkmobilMatlist[]           matlist = new KoctasMobil.WS_Satis.ZkmobilMatlist[0];
                WS_Satis.ZkmobilReturn[]            ret     = new KoctasMobil.WS_Satis.ZkmobilReturn[0];
                WS_Satis.ZktmobilMgCheckSas         sas     = new KoctasMobil.WS_Satis.ZktmobilMgCheckSas();
                WS_Satis.ZktmobilMgCheckSasResponse resp    = new KoctasMobil.WS_Satis.ZktmobilMgCheckSasResponse();


                sas.TeMatlist = matlist;
                sas.TeReturn  = ret;
                sas.IEbeln    = siparisNo;

                //System.Net.NetworkCredential cr = new System.Net.NetworkCredential("berk", "Burak980");
                //srv.Credentials = cr;

                srv.Credentials = ProgramGlobalData.g_credential;
                srv.Url         = Utility.getWsUrl("zktmobil_satis");
                resp            = srv.ZktmobilMgCheckSas(sas);



                // Eger SAS kontrolu sonrasında siparis kaydi DEPO'ya ait bir
                // kayıt ise, depo formu üzerinden giriş yapılması bekleniyor

                if (resp.ExType1 == "1")
                {
                    MessageBox.Show("Bu sipariş için 'Depo Lojistik' formunu kullanmalısınız.", "HATA");
                }
                else if (resp.TeReturn.Length > 0)
                {
                    if (resp.TeReturn[0].RcCode.ToUpper() == "S" && resp.TeMatlist.Length > 0)
                    {
                        //Sipariş No ilgili irsaliyeye ekleniyor
                        //Sipariş daha önce ilgili irsaliyeye eklenmiş mi?
                        if (dt_SiparisIrsaliyedeVarMi(irsaliyeNo, siparisNo) == false)
                        {
                            DataRow rowS = tbl_Siparisler.NewRow();
                            rowS["irsaliyeNo"] = irsaliyeNo;
                            rowS["siparisNo"]  = siparisNo;
                            tbl_Siparisler.Rows.Add(rowS);
                        }
                        else
                        {
                            MessageBox.Show("Bu sipariş ilgili irsaliyede zaten var.", "HATA");
                        }


                        //Bulunan malzemeler tabloya alınıyor
                        //Daha önce alınmış mı?
                        if (dt_SiparisMalzemeleriAlindiMi(irsaliyeNo, siparisNo) == false)
                        {
                            for (int i = 0; i < resp.TeMatlist.Length; i++)
                            {
                                DataRow row = tbl_Malzeme.NewRow();
                                row["siparisNo"]  = resp.TeMatlist[i].Ebeln.ToString();
                                row["irsaliyeNo"] = irsaliyeNo;
                                row["Amenge"]     = resp.TeMatlist[i].Amenge;
                                row["Ean11"]      = resp.TeMatlist[i].Ean11.ToString();
                                row["Ean112"]     = resp.TeMatlist[i].Ean112.ToString();
                                row["Ebeln"]      = resp.TeMatlist[i].Ebeln.ToString();
                                row["Ebelp"]      = resp.TeMatlist[i].Ebelp.ToString();
                                row["Lgort"]      = resp.TeMatlist[i].Lgort.ToString();
                                row["Maktx"]      = resp.TeMatlist[i].Maktx.ToString();
                                row["Matnr"]      = resp.TeMatlist[i].Matnr.ToString();
                                row["Meins"]      = resp.TeMatlist[i].Meins.ToString();
                                row["Menge"]      = resp.TeMatlist[i].Menge;
                                row["Werks"]      = resp.TeMatlist[i].Werks.ToString();
                                //row["Ckats"] = resp.TeMatlist[i].Ckats;
                                row["Lmein"] = resp.TeMatlist[i].Lmein.ToString();
                                row["Umrez"] = resp.TeMatlist[i].Umrez;
                                row["Umren"] = resp.TeMatlist[i].Umren;


                                tbl_Malzeme.Rows.Add(row);
                            }
                        }

                        tbl_Malzeme.AcceptChanges();
                        txt_sas.Text = "";
                        siparisListesiDoldur(irsaliyeNo);
                    }
                    else
                    {
                        txt_sas.Text = "";
                        MessageBox.Show(resp.TeReturn[0].RcText, "HATA");
                    }
                }
                Cursor.Current = Cursors.Default;
            }
            catch (Exception ex)
            {
                Cursor.Current = Cursors.Default;
                MessageBox.Show(ex.Message, "HATA");
            }
        }