}
class ItemScheduler {
var stock_id:String;
+ var startLocation:String;
var qoh: Int;
- function new(stock_id: String) {
+ function new(stock_id: String, startLocation) {
this.stock_id = stock_id;
+ this.startLocation = startLocation;
qoh = untyped __call__('get_qoh_on_date', this.stock_id, 'DEF');
}
return ["Order", "Customer", "Quantity", "Left", "On Hand", "Loc", "Required Date"];
}
- function generateTable(): Void {
+ function generateTablex(): Void {
for(location in locations()) {
formatLocation(location);
}
}
}
+ function generateTable(): Void {
+ var schedules = [];
+ var startDate = Date.fromTime(0);
+ for(order in orders()) {
+ var obj = php.Lib.objectOfAssociativeArray(order);
+ schedules.push({date: Date.fromString(obj.delivery_date), order:order, location:null});
+ }
+ for(location in locations()) {
+ schedules.push({date: if(location.code == startLocation) startDate else location.delivery, order:null, location:location});
+ }
+
+ schedules.sort(function(a,b ) { return cast(a.date.getTime() - b.date.getTime(), Int) ; });
+ for(schedule in schedules) {
+ if(schedule.order != null) formatRow(schedule.order);
+ if(schedule.location != null) formatLocation(schedule.location);
+ }
+ }
+
function formatRow(row) {
var array = php.Lib.hashOfAssociativeArray(row);
var quantity_before : Int = array.get('quantity_before');
var quantity_available = qoh - quantity_before;
var quantity: Int = array.get('quantity');
-
var status : String = if(quantity_available < quantity) 'overduebg';
var cells : Array<Dynamic> = [
location.code
,location.name
,location.quantityOnHand(stock_id, null)
+ ,location.delivery
];
var status = 'header';
php.Lib.print('<tr class="'+status+'">');
php.Lib.print('</tr>');
}
+/*
function schedules() {
//return orders()+locations();
//return orders();
return cast(locations(), Array<Dynamic>);
}
+*/
function orders() {
var tb : String = untyped __php__('TB_PREF');
public var code : String;
public var name : String;
public var comment : String;
- public var qoh : Int;
+ public var delivery: Date;
public function new(row : Dynamic) {
var obj = php.Lib.objectOfAssociativeArray(row);
code = obj.loc_code;
name = obj.location_name;
comment = obj.delivery_address;
+ delivery = Date.fromString("2013-06-10");
}
- private function quantityOnHand(stock_id, date) {
+ public function quantityOnHand(stock_id, date) {
return untyped __call__('get_qoh_on_date', stock_id, code, date);
}
}