/// <summary> /// Saves information that is common for all rows on a AidId /// /// </summary> private void saveCommonOrderRow(OrderRowDefinitions.OrderRow or, ref GarpGenericDB data) { data.find(or.OrderNo); data.next(); while (data.getValue("ONR").Equals(or.OrderNo) && !data.EOF) { if ((getFormatedAidId(data.getValue("NX1")) == or.AidNr) && (!isEgenAvgift(data.getValue("ANR")))) { fillCommonOrderRowFields(or, data); } data.next(); } }
public void findOwnFeeConnection(string onr, string row, ref OrderRowDefinitions.OwnFee ownfee ) { string s = ""; string[] s2; mOGK.Find(onr.PadRight(6) + row.PadLeft(3)); mOGK.Next(); while ((mONR.Value.Trim().Equals(onr.Trim())) && (mRDC.Value.Trim().Equals(row.Trim())) && !mOGK.Eof) { if (GCF.noNULL(mFAF.Value).Equals("E")) { try { s = mTX1.Value.Substring(26); s2 = s.Split('-'); ownfee.PatientsOrderNo = s2[0].Trim(); ownfee.PatientsRowNo = s2[1].Trim(); return; } catch (Exception e) { Log4Net.Logger.loggError(e, "", app.User, "OrderRowText.findOwnFeeConnection"); } } mOGK.Next(); } }
private void fillCommonOrderRowFields(OrderRowDefinitions.OrderRow or, GarpGenericDB data) { mOGR.setValue("LDT", GCF.noNULL(or.LevTid)); mOGR.setValue("DIM", !GCF.noNULL(or.AidDate).Equals("") ? "1" + or.AidDate : or.AidDate); mOGR.setValue("RES",oProdStat.getIdByTX1(GCF.noNULL(or.Prodstatus))); mOGR.setValue("BNX", or.SelectedHandler); //mOGA.setValue("LSE", !GCF.noNULL(GCF.noNULL(or.DeliverMode)).Equals("") ? oDelM.getKeyByName(or.DeliverMode) : ""); if (or.Warrenty) { mOGR.setValue("RAB", "-100"); mOGR.setValue("RBK", "G"); } else { mOGR.setValue("RAB", ""); mOGR.setValue("RBK", ""); } if(mOGR2.find(or.OrderNo.PadRight(6) + or.Rad.PadLeft(3))) { mOGR2.setValue("C2A", GCF.noNULL(or.Thord_NeedStep)); mOGR2.setValue("C1A", or.FirstTimePatient ? "1" : "0"); } orText.saveAidsText(or.OrderNo, or.Rad, or.AidsText); }
private void fillGarpTableFields(OrderRowDefinitions.OrderRow or, ref GarpGenericDB data) { data.setValue("ANR", or.Artikel); data.setValue("ORA", or.Antal.Replace(",", ".")); if (isInternalProduct(or.Artikel)) { if (GCF.noNULL(or.APris).Equals("")) mOGR.setValue("LVP", "0"); else mOGR.setValue("LVP", or.APris.Replace(",", ".")); mOGR.setValue("LPF", "F"); // PRI is always zero on internal products mOGR.setValue("PRI", "0"); } else { if (GCF.noNULL(or.APris).Equals("")) mOGR.setValue("PRI", "0"); else mOGR.setValue("PRI", or.APris.Replace(",", ".")); } //data.setValue("PRI", or.APris); try { if (!GCF.noNULL(or.LevTid).Equals("")) data.setValue("LDT", or.LevTid); } catch { } if (GCF.noNULL(or.AidDate).Trim() != "") mOGR.setValue("DIM", "1" + or.AidDate); else mOGR.setValue("DIM", GCF.noNULL(or.AidDate)); data.setValue("RES", oProdStat.getIdByTX1(or.Prodstatus)); data.setValue("BNX", or.SelectedHandler); data.setValue("INK", or.InkStat); if (or.ViewInList) data.setValue("X1F", "x"); else data.setValue("X1F", "0"); if (or.Warrenty) { data.setValue("RAB", "-100"); data.setValue("RBK", "G"); } else { data.setValue("RAB", ""); data.setValue("RBK", ""); } if (or.Beloppsrad) data.setValue("BRA", "*"); else data.setValue("BRA", ""); mOGR2.setValue("C2A", or.Thord_NeedStep); mOGR2.setValue("NU5", or.AidOid.ToString()); mOGR2.setValue("NU6", or.PartOid.ToString()); data.setValue("EXT", or.EA_ProductGroup); mOGR2.setValue("C1C", or.Priority); mOGR2.setValue("C2B", or.AidPriority); // ********* Producktions, vet inte ens om dett blir aktuellt ************ if (GCF.noNULL(or.ProductionTitle).Length > 20) { mOGR2.setValue("C20", or.ProductionTitle.Substring(0, 20)); mOGR2.setValue("C10", or.ProductionTitle.Substring(20)); } else { mOGR2.setValue("C20", or.ProductionTitle); mOGR2.setValue("C10", ""); } try { if (or.Urgent) mOGR2.setValue("C1B", "1"); else mOGR2.setValue("C1B", "0"); } catch { mOGR2.setValue("C1B", "0"); } string[] s = { "yyMMdd", "yyyyMMdd", "yyyy-MM-dd" }; try { mOGR2.setValue("C06", or.PromisedDeliverDate.HasValue ? or.PromisedDeliverDate.Value.ToString("yyMMdd") : ""); } catch { mOGR2.setValue("C06", DateTime.Today.ToString("yyMMdd")); } try { mOGR2.setValue("C07", or.ConditionDate.HasValue ? or.ConditionDate.Value.ToString("yyMMdd") : ""); } catch { mOGR2.setValue("C07", DateTime.Today.ToString("yyMMdd")); } }
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; }
public void doPost(OrderRowDefinitions.OrderRow or, bool saveCommonData) { try { fillGarpTableFields(or, ref mOGR); mOGR.post(); mOGR2.post(); // Saves common data if (saveCommonData && !isEgenAvgift(or.Artikel)) saveCommonOrderRow(or, ref mOGR); } catch { } }
///// <summary> ///// Saves information that is common for all rows on a AidId ///// ///// </summary> //private void saveCommonOrderRow(ref OrderRowDefinitions.OrderRow or) //{ // OrderRowCOM orc = new OrderRowCOM(); // if (orc.findFirstRow(or.OrderNo)) // { // do // { // if ((orc.AidID == or.AidNr) && (!orc.isEgenAvgift)) // { // fillCommonOrderRowFields(ref or); // } // } // while (!orc.nextRow()); // } //} private void saveToProduction(OrderRowDefinitions.OrderRow or) { System.Threading.Tasks.Task.Factory.StartNew(() => { try { ProductionService.ProductionAidDTO dto = new ProductionService.ProductionAidDTO(); dto.OrderNo = or.OrderNo; dto.AidId = int.Parse(or.AidNr); dto.Box = oProdStat.getIdByTX1(or.Prodstatus); dto.ArtNo = or.Artikel; dto.ArtName = oProduct.getNameById(or.Artikel); dto.CompanyId = Config.CompanyId; dto.Urgent = or.Urgent; dto.Title = or.ProductionTitle; dto.PromisedDeliverDate = or.PromisedDeliverDate; dto.ConditionDate = or.ConditionDate; mProdClient.UpdateAid(dto); } catch (Exception e) { Logger.loggError(e, "Error updating ProductionService", "", "saveToProduction(OrderRowDefinitions.OrderRow or)"); } }); }
/// <summary> /// Spara orderrad /// /// </summary> /// <param name="or"></param> /// <returns></returns> public bool saveOrderRow(OrderRowDefinitions.OrderRow or, bool saveCommonData, bool saveToThord) { // Avbryt om ordern är stängd if (!isOrderOpen(or.OrderNo) || or.Rad.Equals("")) return false; // Finns inte artikelnummer, radera raden och avbryt men returnera ändå // true då det inte skall genereas något felmeddelande if (or.Artikel.Equals("")) { removeRow(or.OrderNo, or.Rad); return true; } if (!mOR.findRow(or.OrderNo, or.Rad)) or = mOR.doInsert(or.OrderNo, or.AidNr, or.Artikel); mOR.doPost(or, saveCommonData); // && !or.RemissNo.Equals("") if (Config.IsThordUser && saveToThord && !or.Warrenty) { if (!ECS.noNULL(or.Thord_NeedStep).Trim().Equals("")) thordfunc.sendReferral(garpref.getReferral(or.OrderNo, or.AidNr)); else { //MessageBox.Show("Du måste ange en behovstrappa för att spara till Thord.", "Behovstrappa saknas"); Exception e = new Exception("Du måste ange en behovstrappa för att spara till Thord."); e.Source = "Behovstrappa"; throw e; } } saveToProduction(or); return true; }
/// <summary> /// Levererar ett helt hjälpmedel på samma följesedelsnummer /// /// </summary> /// <param name="or">OrderRow</param> /// <param name="bvk">Paymentterms that should be used</param> /// <returns>Följesedelsnummer som leveransen utfördes på</returns> public string deliverAid(OrderRowDefinitions.OrderRow[] or, string bvk, bool checkdate) { string sFSNr = "", levdate = ""; // Hämta leveranstid från första raden som inte är en EA, detta för att det inte skall finnas // någon chans att det blir olka levtider på ett hjälpmedelsid if (or.Length > 0) { foreach(OrderRowDefinitions.OrderRow r in or) { if (!mOR.isEgenAvgift(r.Artikel)) { levdate = ECS.noNULL(r.LevTid); break; } } } // If no check on date should be done and date ar "", set today as date if (!checkdate && levdate.Equals("")) levdate = DateTime.Today.ToString("yyMMdd"); // Leverara bara om det finns en leveranstid if (!levdate.Trim().Equals("")) { sFSNr = mOR._deliverAid(or, levdate, bvk); try { or[0].Prodstatus = oProdStat.getTx1ByKey("1"); or[0].LevTid = levdate; saveOrderRow(or[0], true, true); } catch { } } return sFSNr; }