var = 0;
if(isBlank(input.Stock_Transfer_NO.trim()))
{
var = 1;
str = thisapp.Common.Number_Function_New("Stock Transfer");
input.Stock_Transfer_NO = str;
openUrl("#Form:Alert_Messages?Status=" + "Stktrf" + "&Value=" + input.Stock_Transfer_NO + "&zc_LoadIn=dialog","same window");
}
if(Transfer_Type == "Location Based")
{
if(input.Source_Rack_Bins != input.Destination_Rack_Bins)
{
for each rec in input.Stock_Details
{
des = Inventory[Warehouse == input.Destination_Warehouse && Location_Name == input.Destination_Location && Sub_Location == input.Destination_Sub_Location && Rack_Number == input.Destination_Rack_Bins && Part_No == rec.Part_No];
src = Inventory[Warehouse == input.Source_Warehouse && Location_Name == input.Source_Location && Sub_Location == input.Source_Sub_Location && Rack_Number == input.Source_Rack_Bins && Part_No == rec.Part_No];
getuom = Materials[ID == rec.Part_No].Primary_UoM;
if(des.count() == 1)
{
//update
des.Available_Qty=des.Available_Qty + rec.Transfer_Qty;
des.Total_Qty=des.Total_Qty + rec.Transfer_Qty;
src.Available_Qty=src.Available_Qty - rec.Transfer_Qty;
src.Total_Qty=src.Total_Qty - rec.Transfer_Qty;
}
else
{
//insert
insert into Inventory
[
Added_User=zoho.loginuser
Warehouse=input.Destination_Warehouse
Part_No=rec.Part_No
Part_Description=rec.Part_Description
Specification=rec.Specification
Category=rec.Category
Sub_Category=rec.Sub_Category
Total_Qty=rec.Transfer_Qty
Available_Qty=rec.Transfer_Qty
Location_Name=input.Destination_Location
Sub_Location=input.Destination_Sub_Location
Rack_Number=input.Destination_Rack_Bins
UOM=getuom
]
src.Available_Qty=src.Available_Qty - rec.Transfer_Qty;
src.Total_Qty=src.Total_Qty - rec.Transfer_Qty;
}
}
}
}
if(Transfer_Type == "Part Based")
{
for each sub in input.Stock_Details
{
source = Inventory[Part_No == input.Stock_Details.Source_Part_No] sort by Available_Qty desc;
destination = Inventory[Part_No == input.Stock_Details.Destination_Part_No] sort by Available_Qty desc;
getuom = Materials[ID == sub.Destination_Part_No].Primary_UoM;
if(destination.count() == 1)
{
destination.Available_Qty=destination.Available_Qty + sub.Transfer_Qty;
destination.Total_Qty=destination.Total_Qty + sub.Transfer_Qty;
source.Available_Qty=source.Available_Qty - sub.Transfer_Qty;
source.Total_Qty=source.Total_Qty - sub.Transfer_Qty;
}
else
{
insert into Inventory
[
Added_User=zoho.loginuser
Warehouse=sub.Destination_Warehouse
Part_No=sub.Destination_Part_No
Part_Description=sub.Destination_Part_Name
Specification=sub.Specification
Category=sub.Source_Category
Sub_Category=sub.Source_Sub_Category
Total_Qty=sub.Transfer_Qty
Available_Qty=sub.Transfer_Qty
Location_Name=sub.Destination_Location
Sub_Location=sub.Destination_Sub_Location
Warehouse=sub.Destination_Warehouse
UOM=getuom
]
source.Available_Qty=source.Available_Qty - sub.Transfer_Qty;
source.Total_Qty=source.Total_Qty - sub.Transfer_Qty;
}
}
}
// if(isBlank(input.Transfer_Order_No.trim()))
// {
// //lastrec = Stock_Transfer[ID != null && ID != input.ID] sort by ID desc;
// //info lastrec.ID + "ORDER" + lastrec.Transfer_Order_No;
// lastrec = Stock_Transfer[Transfer_Order_No != null && Transfer_Order_No != ""] sort by Transfer_Order_No desc;
// if(lastrec.Transfer_Order_No == null || lastrec.Transfer_Order_No == "")
// {
// nextid = 1;
// //info "yes";
// }
// else
// {
// nextid = lastrec.Transfer_Order_No.getSuffix("-").getsuffix("/").toLong() + 1;
// }
// }
// input.Transfer_Order_No = "TQ/ST/" + thisapp.financial_year() + "/" + leftpad(nextid.toString(),5).replaceAll(" ","0");
// openUrl("#Form:Alert_Messages?Status=" + "Stktrf" + "&Value=" + input.Transfer_Order_No + "&zc_LoadIn=dialog","same window");