string Common.Number_Function_New(String module_name) { //---------Sales Order - Contract prefix should be "CO" - Direct & Tooling is "SO" - user requirement dt 25/04/2023 if(module_name == "Sales Order Direct") { fetch_sale_rec = Sales_Order[Sale_Order_No != null && Sale_Order_No != "" && Sales_Type != "Contract"] sort by Sale_Order_No desc; //fetch_sale_rec = Sales_Order[Sale_Order_No != null && Sale_Order_No != ""] sort by Sale_Order_No desc; fet_mod = Module_Master[Module_Name == module_name]; fetch_module = Auto_Generate_Numbers[Module_Name.Module_Name == fet_mod.Module_Name]; mod_short = fetch_module.Module_Short_Name; if(fetch_module.Choose_Prefix == "New Prefix") { num_prefix = fetch_module.Prefix; } else if(fetch_module.Choose_Prefix == "Company Short Name") { num_prefix = fetch_module.Company_Short_Name; } if(fetch_sale_rec.count() == 0) { so_value = fetch_module.Number_Should_Start_at; } else { last_so = getsuffix(getSuffix(fetch_sale_rec.Sale_Order_No,"-"),"-"); so_value = (last_so.toLong() + 1).trim().leftpad(6).replaceAll(" ","0"); } Order_no = mod_short + "-" + num_prefix + "-" + so_value; } //Sales Order Contract 27/04/2023 else if(module_name == "Sales Order Contract") { fetch_sale_co = Sales_Order[Sale_Order_No != null && Sale_Order_No != "" && Sales_Type == "Contract"] sort by Added_Time desc; fet_mod = Module_Master[Module_Name == module_name]; fetch_module = Auto_Generate_Numbers[Module_Name.Module_Name == fet_mod.Module_Name]; mod_short = fetch_module.Module_Short_Name; if(fetch_module.Choose_Prefix == "New Prefix") { num_prefix = fetch_module.Prefix; } else if(fetch_module.Choose_Prefix == "Company Short Name") { num_prefix = fetch_module.Company_Short_Name; } if(fetch_sale_co.count() == 0) { co_value = fetch_module.Number_Should_Start_at; } else { last_co = getsuffix(getSuffix(fetch_sale_co.Sale_Order_No,"-"),"-"); co_value = (last_co.toLong() + 1).trim().leftpad(6).replaceAll(" ","0"); } Order_no = mod_short + "-" + num_prefix + "-" + co_value; } // for Dispatch Note Format else if(module_name == "Purchase Order") { get_prev_num = Purchase_Order[ID != null && Purchase_Order_No != ""] sort by Purchase_Order_No desc; fet_mod = Module_Master[Module_Name == module_name]; fetch_module = Auto_Generate_Numbers[Module_Name.Module_Name == fet_mod.Module_Name]; mod_short = fetch_module.Module_Short_Name; if(fetch_module.Choose_Prefix == "New Prefix") { num_prefix = fetch_module.Prefix; } else if(fetch_module.Choose_Prefix == "Company Short Name") { num_prefix = fetch_module.Company_Short_Name; } if(get_prev_num.count() == 0) { po_value = fetch_module.Number_Should_Start_at; } else { last_po = getsuffix(getSuffix(get_prev_num.Purchase_Order_No,"-"),"-"); po_value = (last_po.toLong() + 1).trim().leftpad(6).replaceAll(" ","0"); } Order_no = mod_short + "-" + num_prefix + "-" + po_value; } // for work order else if(module_name == "Work Order") { fetch_work_rec = Work_Order[ID != null && Work_Order_No != ""] sort by Work_Order_No desc; fet_mod = Module_Master[Module_Name == module_name]; fetch_module = Auto_Generate_Numbers[Module_Name.Module_Name == fet_mod.Module_Name]; mod_short = fetch_module.Module_Short_Name; if(fetch_module.Choose_Prefix == "New Prefix") { num_prefix = fetch_module.Prefix; } else if(fetch_module.Choose_Prefix == "Company Short Name") { num_prefix = fetch_module.Company_Short_Name; } if(fetch_work_rec.count() == 0) { wo_value = fetch_module.Number_Should_Start_at; } else { last_wo = getsuffix(getSuffix(fetch_work_rec.Work_Order_No,"-"),"-"); wo_value = (last_wo.toLong() + 1).trim().leftpad(6).replaceAll(" ","0"); } Order_no = mod_short + "-" + num_prefix + "-" + wo_value; } // for calibration Gauge No else if(module_name == "Gauge No") { fetch_gaug = Calibration_Master[ID != null && Gauge_No != ""] sort by Gauge_No desc; fet_mod = Module_Master[Module_Name == module_name]; fetch_module = Auto_Generate_Numbers[Module_Name.Module_Name == fet_mod.Module_Name]; mod_short = fetch_module.Module_Short_Name; if(fetch_module.Choose_Prefix == "New Prefix") { num_prefix = fetch_module.Prefix; } else if(fetch_module.Choose_Prefix == "Company Short Name") { num_prefix = fetch_module.Company_Short_Name; } if(fetch_gaug.count() == 0) { gaug_value = fetch_module.Number_Should_Start_at; } else { last_gaug = getsuffix(getSuffix(fetch_gaug.Gauge_No,"/"),"/"); gaug_value = (last_gaug.toLong() + 1).trim().leftpad(6).replaceAll(" ","0"); } Order_no = mod_short + "/" + num_prefix + "/" + gaug_value; } else if(module_name == "Cal Master No") { fetch_mast = Calibration_Master[ID != null && Cal_Master_No != ""] sort by Cal_Master_No desc; fet_mod = Module_Master[Module_Name == module_name]; fetch_module = Auto_Generate_Numbers[Module_Name.Module_Name == fet_mod.Module_Name]; mod_short = fetch_module.Module_Short_Name; if(fetch_module.Choose_Prefix == "New Prefix") { num_prefix = fetch_module.Prefix; } else if(fetch_module.Choose_Prefix == "Company Short Name") { num_prefix = fetch_module.Company_Short_Name; } if(fetch_mast.count() == 0) { mast_value = fetch_module.Number_Should_Start_at; } else { last_mast = getsuffix(getSuffix(fetch_mast.Cal_Master_No,"/"),"/"); mast_value = (last_mast.toLong() + 1).trim().leftpad(6).replaceAll(" ","0"); } Order_no = mod_short + "/" + num_prefix + "/" + mast_value; } return Order_no; }