var myDatabase = "YMHQ"; var myFromYear = 2008; var myToYear = 2008; var myFromMonth = 1; var myToMonth = 12; var myFromDay = 1; var myToDay = 31; var repeatControl = new Array(); var ArrDate = new Array(); var Res = new Array(); var Token = 0; var Ihref = "_SYS_UHOME"; var returnKey = 0; var arrPaging = new Array(); var sortType = 0; var sortArr = new Array(); var month11 = 0; var month15 = 0; var month16 = 0; var totalday = 0; //-------------------------------------------------------------------- function set_default(){ myDatabase = "YMHQ"; myFromYear = 2008; myToYear = 2008; myFromMonth = 1; myToMonth = 12; myFromDay = 1; myToDay = 31; repeatControl = new Array(); ArrDate = new Array(); Token = 0; returnKey = 0; Res = new Array(); arrPaging = new Array(); sortType = 0; sortArr = new Array(); month11 = 0; month15 = 0; month16 = 0; totalday = 0; } //-------------------------------------------------------------------- function print_movement(){ set_default(); myDatabase = document.getElementById("warehouse").options[document.getElementById("warehouse").selectedIndex].value; sortType = document.getElementById("sort").options[document.getElementById("sort").selectedIndex].value; month11 = document.getElementById("monstkqty").options[document.getElementById("monstkqty").selectedIndex].value; month15 = document.getElementById("monstkonhand").options[document.getElementById("monstkonhand").selectedIndex].value; month16 = document.getElementById("monstkbackorder").options[document.getElementById("monstkbackorder").selectedIndex].value; myFrom = document.getElementById("fromdate").value; myTo = document.getElementById("todate").value; arrFrom = myFrom.split("/"); arrTo = myTo.split("/"); myFromYear = arrFrom[2]; myToYear = arrTo[2]; myFromMonth = arrFrom[1]; myToMonth = arrTo[1]; myFromDay = arrFrom[0]; myToDay = arrTo[0]; fromDate = myFromMonth + "/" + myFromDay + "/" + myFromYear; toDate = myToMonth + "/" + myToDay + "/" + myToYear; BetweenListDate(fromDate,toDate); totalday = ArrDate.length; set_loading(1); document.getElementById("lbl11").innerHTML = month11 + " MONTH(S) STOCK QTY"; document.getElementById("lbl15").innerHTML = month15 + " MONTH(S) STOCK COMPARE STOCK IN HAND"; document.getElementById("lbl16").innerHTML = month16 + " MONTH(S) STOCK COMPARE STOCK IN HAND ADD BACK ORDER"; sales_query(); } //-------------------------------------------------------------------- function sales_query(){ var xmlfile = Ihref + "/xml/admin/movement.xml?database=" + myDatabase + "&fdate=" + ArrDate[Token][0] + "&tdate=" + ArrDate[Token][1]; //alert(xmlfile); //return; ajaxLoader(xmlfile,Ihref,59); } //-------------------------------------------------------------------- function total_query(){ var xmlfile = Ihref + "/xml/admin/movement_total.xml?database=" + myDatabase; //alert(xmlfile); //return; ajaxLoader(xmlfile,Ihref,61); } //-------------------------------------------------------------------- function stock_query(first, skip){ var xmlfile = Ihref + "/xml/admin/movement_stock.xml?database=" + myDatabase + "&first=" + first + "&skip=" + skip; //alert(xmlfile); //return; ajaxLoader(xmlfile,Ihref,60); } //-------------------------------------------------------------------- function movement_sales(xhr){ if(!evt) var evt = window.event; var i; var hadRec = xhr.responseXML.getElementsByTagName('product').item(0).getAttribute("text"); if(hadRec == 'found'){ var sims = xhr.responseXML.getElementsByTagName('product'); var sim = sims.item(0); var rec = sim.getElementsByTagName('ITEM'); for(i=0; i < rec.length; i++){ var my_main = sim.getElementsByTagName('ITEM').item(i); PRODUCTID = my_main.getAttribute("text"); STOCKONHAND = my_main.getAttribute("stockonhand"); QTYONORDER = my_main.getAttribute("qtyonorder"); QTY = my_main.getAttribute("qty"); COST = my_main.getAttribute("cost"); FIFO = my_main.getAttribute("fifo"); if(in_array(PRODUCTID, repeatControl) == false){ repeatControl[repeatControl.length] = PRODUCTID; //Res[Res.length] = [PRODUCTID, STOCKONHAND, QTYONORDER, QTY, COST, 1, 0, 0, 0, 0, FIFO]; Res[Res.length] = [PRODUCTID,STOCKONHAND,QTY,FIFO,0,COST,0,0,0,0,0,0,0,QTYONORDER,0,0]; }else{ Res[returnKey][3] = parseInt(Res[returnKey][3]) + parseInt(QTY); Res[returnKey][4] = parseFloat(Res[returnKey][4]) + parseFloat(COST); } returnKey = 0; } Token = Token + 1; //alert(Token + " " + ArrDate.length); if(Token < ArrDate.length){ //alert(Token + " " + ArrDate.length); //set_loading(2); set_loading(1); sales_query(); }else{ total_query(); } }else{ tmpToken = Token; document.getElementById("noresultday").innerHTML = document.getElementById("noresultday").innerHTML + ArrDate[tmpToken][0] + ", "; Token = Token + 1; if(Token < ArrDate.length){ set_loading(1); sales_query(); } } } //-------------------------------------------------------------------- function movement_total(xhr){ if(!evt) var evt = window.event; var i; var hadRec = xhr.responseXML.getElementsByTagName('product').item(0).getAttribute("text"); if(hadRec == 'found'){ var sims = xhr.responseXML.getElementsByTagName('product'); var sim = sims.item(0); var rec = sim.getElementsByTagName('ITEM').item(0).getAttribute("text"); for(i = 0; i < rec ; i= i + 500){ skip = i; if(i != 0 ) skip = i + 1; arrPaging[arrPaging.length] = [500,skip]; } Token = 0; set_loading(2); stock_query(arrPaging[Token][0], arrPaging[Token][1]); } } //-------------------------------------------------------------------- function movement_stock(xhr){ if(!evt) var evt = window.event; var i; var hadRec = xhr.responseXML.getElementsByTagName('product').item(0).getAttribute("text"); if(hadRec == 'found'){ var sims = xhr.responseXML.getElementsByTagName('product'); var sim = sims.item(0); var rec = sim.getElementsByTagName('ITEM'); //alert(rec.length); for(i=0; i < rec.length; i++){ var my_main = sim.getElementsByTagName('ITEM').item(i); PRODUCTID = my_main.getAttribute("text"); STOCKONHAND = my_main.getAttribute("stockonhand"); QTYONORDER = my_main.getAttribute("qtyonorder"); QTY = my_main.getAttribute("qty"); COST = my_main.getAttribute("cost"); FIFO = my_main.getAttribute("fifo"); if(in_array(PRODUCTID, repeatControl) == false){ repeatControl[repeatControl.length] = PRODUCTID; key = Res.length; //Res[Res.length] = [PRODUCTID, STOCKONHAND, QTYONORDER, QTY, COST, 0, 1, 0, 0, 0, FIFO]; Res[Res.length] = [PRODUCTID,STOCKONHAND,QTY,FIFO,0,COST,0,0,0,0,0,0,0,QTYONORDER,0,0]; } returnKey = 0; } //alert("work 1"); Token = Token + 1; if(Token >= arrPaging.length){ set_loading(2); binding_table(); }else{ //alert("work 2" + Token); set_loading(2); stock_query(arrPaging[Token][0], arrPaging[Token][1]); } }else{ document.getElementById("noresultday").innerHTML = document.getElementById("noresultday").innerHTML + " No Empty Stock "; } } //-------------------------------------------------------------------- function binding_table(){ sortKey = 0; //alert(sortType); switch(sortType){ case '1': sortKey = 7; break; case '2': sortKey = 4; break; } //alert(Res.length); for(j = 0; j < Res.length; j++){ if( Res[j][2] > 0 ){ if(Res[j][2] == 0 || Res[j][5] == 0){ Res[j][4] = 0; }else{ Res[j][4] = parseFloat(Res[j][5]) / parseInt(Res[j][2]); } if(Res[j][3] != "NaN" && Res[j][3] != "null"){ Res[j][6] = parseFloat(Res[j][4]) / parseFloat(Res[j][3]) * 100; } Res[j][7] = parseFloat(Res[j][2]) / parseInt(totalday) * 365; Res[j][8] = parseFloat(Res[j][7]) / 12; Res[j][9] = parseFloat(Res[j][7]) / 365; Res[j][10] = parseInt(Res[j][8]) * parseInt(month11); Res[j][11] = parseInt(Res[j][1]) / parseFloat(Res[j][7]); ResTmp = parseInt(Res[j][1]) + parseInt(Res[j][13]); Res[j][12] = parseInt(ResTmp) / Res[j][7]; Res[j][14] = parseFloat(Res[j][7]) / parseInt(month15) - parseInt(Res[j][2]); Res[j][15] = parseFloat(Res[j][7]) / parseInt(month16) - parseInt(ResTmp); } sortArr[sortArr.length] = [Res[j][sortKey], j]; } if(sortKey == 0 ){ sortArr.sort(); }else{ sortArr.sort(function(a,b){return parseFloat(b) - parseFloat(a)}); } //alert(sortArr.length); //document.writeln("
");
//document.writeln(print_r(Res));
var tbody = document.getElementById("tbl").getElementsByTagName("TBODY")[0];
for(k = 0; k < sortArr.length; k++){
i = sortArr[k][1];
//alert(i + " " + Res[i][4]);
var tbody = document.getElementById("tbl").getElementsByTagName("TBODY")[0];
var row = document.createElement("TR");
td = document.createElement("TD");
td.className = "tdLight";
td.innerHTML = Res[i][0] + "";
row.appendChild(td);
td = document.createElement("TD");
td.className = "tdLight";
td.innerHTML = Math.round(validNum(Res[i][1])) + "";
row.appendChild(td);
td = document.createElement("TD");
td.className = "tdLight";
td.innerHTML = Math.round(validNum(Res[i][2])) + "";
row.appendChild(td);
td = document.createElement("TD");
td.className = "tdLight";
td.innerHTML = parseFloat(validNum(Res[i][3])).toFixed(2) + "";
row.appendChild(td);
td = document.createElement("TD");
td.className = "tdLight";
td.innerHTML = parseFloat(validNum(Res[i][4])).toFixed(2) + "";
row.appendChild(td);
td = document.createElement("TD");
td.className = "tdLight";
td.innerHTML = parseFloat(validNum(Res[i][5])).toFixed(2) + "";
row.appendChild(td);
td = document.createElement("TD");
td.className = "tdLight";
td.innerHTML = parseFloat(validNum(Res[i][6])).toFixed(2) + "";
row.appendChild(td);
td = document.createElement("TD");
td.className = "tdLight";
td.innerHTML = Math.round(validNum(Res[i][7])) + "";
row.appendChild(td);
td = document.createElement("TD");
td.className = "tdLight";
td.innerHTML = Math.round(validNum(Res[i][8])) + "";
row.appendChild(td);
td = document.createElement("TD");
td.className = "tdLight";
td.innerHTML = Math.round(validNum(Res[i][9])) + "";
row.appendChild(td);
td = document.createElement("TD");
td.className = "tdLight";
td.innerHTML = Math.round(validNum(Res[i][10])) + "";
row.appendChild(td);
td = document.createElement("TD");
td.className = "tdLight";
td.innerHTML = Math.round(validNum(Res[i][11])) + "";
row.appendChild(td);
td = document.createElement("TD");
td.className = "tdLight";
td.innerHTML = Math.round(validNum(Res[i][12])) + "";
row.appendChild(td);
td = document.createElement("TD");
td.className = "tdLight";
td.innerHTML = Math.round(validNum(Res[i][13])) + "";
row.appendChild(td);
td = document.createElement("TD");
td.className = "tdLight";
td.innerHTML = Math.round(validNum(Res[i][14])) + "";
row.appendChild(td);
td = document.createElement("TD");
td.className = "tdLight";
td.innerHTML = Math.round(validNum(Res[i][15])) + "";
row.appendChild(td);
tbody.appendChild(row);
}
document.getElementById("downloadexcel").innerHTML = "";
}
//--------------------------------------------------------------------
function in_array(searchKey, arrayInfo){
for(i = 0; i < arrayInfo.length; i++){
if(searchKey == arrayInfo[i]){
returnKey = i;
return true;
}
}
return false;
}
//--------------------------------------------------------------------
function set_loading(myType){
switch(myType){
case 1:
document.getElementById("loadingbar").innerHTML = "LOADING SALES ON DAY(S): " + Token + "/" + ArrDate.length;
break;
case 2:
document.getElementById("loadingbar").innerHTML = "LOADING STOCKS : " + Token + "/" + arrPaging.length;
break;
}
}
//--------------------------------------------------------------------
function validNum(myInput){
if(typeof(myInput)!= "number") return 0;
return myInput;
}
//--------------------------------------------------------------------