Number_Function
Tue Jan 07 2025 15:10:49 GMT+0000 (Coordinated Universal Time)
Saved by @Pooja
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;
}



Comments