示例#1
0
        public string _deliverAid(OrderRowDefinitions.OrderRow[] or, string levdate, string bvk)
        {
            string sFSNr = "";
            HelpClasses.Table oProdStat = new HelpClasses.Table("1R");

            for (int i = 0; i < or.Length; i++)
            {
                // Fösta raden levereras på ny FS och de nästkommande på samma FS
                if (sFSNr.Equals(""))
                    sFSNr = deliverRow(or[i].OrderNo, or[i].Rad, or[i].Antal, levdate, "A");
                else
                    sFSNr = deliverRow(or[i].OrderNo, or[i].Rad, or[i].Antal, levdate, sFSNr);
            }

            // Set paymentterms on FS if bvk is not ""
            mHKA.index = 1;
            mHKA.find(sFSNr);
            mHKA.next();
            if (mHKA.getValue("HNR").Trim().Equals(sFSNr.Trim()) && !bvk.Equals(""))
            {
                mHKA.setValue("BVK",bvk);
                mHKA.post();
            }
            return sFSNr;
        }
示例#2
0
        /// <summary>
        /// Get Aid from Garp and build Aid definition with all parts
        /// </summary>
        /// <param name="ordernr">order number</param>
        /// <returns>Array of New Aid Definitions</returns>
        private Aid[] getAids(string ordernr, string aidid)
        {
            HelpClasses.Table oProdStat = new HelpClasses.Table("1R");
            Aid[] aup = new Aid[1];
            ArrayList sAidList = new ArrayList();
            ArrayList parts = new ArrayList();
            Ortoped.GarpFunctions.OrderRowFunc orf = new Ortoped.GarpFunctions.OrderRowFunc();
            OrderRowDefinitions.OrderRow[] or;

            or = orf.getAid(ordernr, aidid, false).OrderRows.ToArray();

            if (or.Length > 0)
            {
                //första orderrad till sista orderrad
                foreach (OrderRowDefinitions.OrderRow mor in or)
                {
                    if (mor.ViewInList) // AID
                    {
                        // aup.externalaidid = mOGR.Fields.Item("ANR").Value;
                        string externalaidid = mor.AidDate + mor.OrderNo.PadRight(6) + mor.AidNr + mor.Rad.PadLeft(3);
                        aup[0].name = mor.ProductName;

                        //garpaidid bör inte ligga i description, var skall det ligga?
                        aup[0].description = externalaidid;

                        if (mAGA.Find(mor.Artikel))
                        {
                            //hämta aidtypeoid!
                            aup[0].aidtypeoidSpecified = true;
                            aup[0].aidtypeoid = mAGA_SES.Value == null ? 0 : Int32.Parse(mAGA_SES.Value);
                            aup[0].aidoid = mor.AidOid;
                            aup[0].CreatedInThord = mor.CreatedInThord;
                            aup[0].orderno = mor.OrderNo;
                            aup[0].row = mor.Rad;
                            aup[0].isonumber = mAGA_STA.Value == null ? "" : mAGA_STA.Value;
                            aup[0].externalaidid = externalaidid;
                            aup[0].ProdStat = oProdStat.getIdByTX1(mor.Prodstatus);
                            aup[0].needstepSpecified = true;
                            aup[0].FirstTimePatient = mor.FirstTimePatient;
                            if (!mor.Thord_NeedStep.Equals(""))
                                aup[0].needstep = int.Parse(mor.Thord_NeedStep);
                            else
                                MessageBox.Show("Behovstrappa är inte angiven på detta hjälpmedel", "Behovstrappa");
                        }
                    }

                    Part p = new Part();

                    p.CreatedInThord = mor.CreatedInThord;
                    p.orderno = mor.OrderNo;
                    p.row = mor.Rad;
                    p.partoid = mor.PartOid;
                    p.countSpecified = true;
                    p.count = Convert.ToDecimal(mor.Antal.Replace(".", ","));

                    if (mAGT.Find(mor.Artikel))
                    {
                        p.positionid = mor.Artikel; //mAGT_TX15.Value == null ? "" : mAGT_TX15.Value;
                        if (mAGA.Find(mor.Artikel))
                        {
                            if (ECS.noNULL(mAGA_KD6.Value).Equals("N")) // If KD6 = "N" then the part have no price in Garp
                            {
                                p.priceSpecified = true;
                                p.price = Convert.ToDecimal(mor.APris.Replace(".", ","));
                            }
                            else
                            {
                                p.priceSpecified = false;
                                p.price = 0;
                            }
                        }
                        parts.Add(p);
                    }
                }
            }
            else
            {
                MessageBox.Show(null, "Order: " + ordernr + " saknas", "Finns ej", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            aup[0].parts = (Part[])parts.ToArray(typeof(Part));

            return aup;
        }