class ScheduleParameters {
var row_id : String;
- var row_ids : Array<String>;
var rowDetails: Hash<Detail>;
+
function new(rawData : Dynamic) {
- var data = php.Lib.objectOfAssociativeArray(rawData);
- row_id = data.row_id;
- row_ids = data.row_ids;
-
- rowDetails = new Hash<Detail>();
- $type(rowDetails);
-
- var position = 1;
- for(id in row_ids) {
- rowDetails.set(id, {
- id: id
- ,quantity: null
- ,position: position++
- });
+ var data = php.Lib.hashOfAssociativeArray(rawData);
+ row_id = data.get('row_id');
+ var raw_order : Dynamic = data.get('row_order');
+
+ var row_ids = php.Lib.toHaxeArray(raw_order);
+ if (row_ids!= null) {
+ rowDetails = new Hash<Detail>();
+ var position = 1;
+ for(id in row_ids) {
+ rowDetails.set(id, {
+ id: id
+ ,quantity: null
+ ,position: position++
+ });
+ }
}
+ php.Lib.dump(rowDetails);
}
- public function position(id: String) : Int {
- return rowDetails.get(id).position;
-
- }
+public function position(id: String) : Int {
+ return rowDetails == null ? rowDetails.get(id).position : null;
+
+}
}
var stock_id:String;
var startLocation:String;
var qoh: Int;
- function new(stock_id: String, startLocation) {
+ function new(stock_id: String, startLocation, parameters : Null<ScheduleParameters>) {
this.stock_id = stock_id;
this.startLocation = startLocation;
qoh = untyped __call__('get_qoh_on_date', this.stock_id, 'DEF');
}
function generateTable(): Void {
- var startDate = Date.fromTime(0);
+ var startDate = Date.fromTime(0);
- // Sort location by datae
- var locations = this.locations();
- locations.sort(function(a, b) {
+ // Sort location by datae
+ var locations = this.locations();
+ locations.sort(function(a, b) {
return cast(a.delivery.getTime() - b.delivery.getTime(), Int );
});
left -= quantity;
formatOrder(order, left, location.delivery);
-
+
}
-
+
}
function printRow(tds : Array<Dynamic>, attributes : Array<String>) {
}
function formatOrder(order : Dynamic, left : Int, date : Date) {
- var row_id = 'order_'+order.id;
- var attributes = ['id = "'+row_id+'"'];
- var classes = [];
- var before : Int = left + order.quantity;
- /* We have basically 3 different cases;
- * - the order can be fullfilled
- * - the order can be partially
- * - not at all
- */
- if (before < 0 ) {
- classes.push('soldout');
- }
- else if(left < 0) {
- classes.push('partial');
- }
- else {
- classes.push('full');
- }
+ var row_id = 'order_'+order.id;
+ var attributes = ['id = "'+row_id+'"'];
+ var classes = [];
+ var before : Int = left + order.quantity;
+ /* We have basically 3 different cases;
+ * - the order can be fullfilled
+ * - the order can be partially
+ * - not at all
+ */
+ if (before < 0 ) {
+ classes.push('soldout');
+ }
+ else if(left < 0) {
+ classes.push('partial');
+ }
+ else {
+ classes.push('full');
+ }
- /* The order can also be late if we need
- * to wait for a delivery to get it
- */
+ /* The order can also be late if we need
+ * to wait for a delivery to get it
+ */
var required_by : Date = FA.sql2date(order.required_date);
if(required_by == null) required_by = FA.sql2date(order.delivery_date);
if(required_by.getTime() < date.getTime()) {
else {
classes.push('on_time');
}
- var cells : Array <Dynamic> = [
- order.order_id
- , '<a href="/modules/order_line_extra/order_lines_view.php?customer_id='+Std.string(order.debtor_no)+'">'+order.deliver_to+'</a>'
+ var cells : Array <Dynamic> = [
+ order.order_id
+ , '<a href="/modules/order_line_extra/order_lines_view.php?customer_id='+Std.string(order.debtor_no)+'">'+order.deliver_to+'</a>'
,'<input type="text" name="'+row_id+'[quantity]" value="'+order.quantity+'">'
- ,before
- ,left
- ,order.from_stk_loc
- ,order.delivery_date
- ,order.required_date
- ,order.comment
+ ,before
+ ,left
+ ,order.from_stk_loc
+ ,order.delivery_date
+ ,order.required_date
+ ,order.comment
];
- attributes.push('class="'+classes.join(' ')+'"');
- printRow(cells, attributes);
+ attributes.push('class="'+classes.join(' ')+'"');
+ printRow(cells, attributes);
}
,location.delivery
,""
,""
- ];
+ ];
printRow(cells, ['class = "tableheader location"', 'id = "loc_'+location.code+'"']);
}
-/*
- function schedules() {
- //return orders()+locations();
- //return orders();
- return cast(locations(), Array<Dynamic>);
+ /*
+ function schedules() {
+//return orders()+locations();
+//return orders();
+return cast(locations(), Array<Dynamic>);
- }
-*/
-
- private function loadOrders() {
- var tb : String = untyped __php__('TB_PREF');
- var sql : String = "SELECT *
- FROM "+tb+"denorm_order_details_queue d
- JOIN "+tb+"sales_order_details od ON (od.id = d.id)
- JOIN "+tb+"sales_orders so ON (so.order_no = d.order_id)
- WHERE stock_id = '"+this.stock_id+"'
- AND od.trans_type = 30
- ORDER by d.priority";
-
- return FA.query(sql);
- }
-
- function orders() {
- var rows = loadOrders();
- var orderList = [];
- for(row in rows) {
- var order = php.Lib.objectOfAssociativeArray(row);
- orderList.push(order);
- };
-
- return orderList;
- }
+}
+ */
+
+private function loadOrders() {
+ var tb : String = untyped __php__('TB_PREF');
+ var sql : String = "SELECT *
+ FROM "+tb+"denorm_order_details_queue d
+ JOIN "+tb+"sales_order_details od ON (od.id = d.id)
+ JOIN "+tb+"sales_orders so ON (so.order_no = d.order_id)
+ WHERE stock_id = '"+this.stock_id+"'
+ AND od.trans_type = 30
+ ORDER by d.priority";
+
+ return FA.query(sql);
+}
-
-
- function locations() {
- var TB = FA.tb();
- var sql = 'SELECT *
- FROM '+TB+'locations';
- var _locs = [];
- for(row in FA.query(sql)) {
- var location = new Location(row);
- if(location.code == startLocation) {
- location.delivery = Date.fromTime(0);
- }
- _locs.push(location);
- }
+function orders() {
+ var rows = loadOrders();
+ var orderList = [];
+ for(row in rows) {
+ var order = php.Lib.objectOfAssociativeArray(row);
+ orderList.push(order);
+ };
- return _locs;
-
- }
+ return orderList;
+}
- function purcharseOrders() {
+
+function locations() {
+ var TB = FA.tb();
+ var sql = 'SELECT *
+ FROM '+TB+'locations';
+ var _locs = [];
+ for(row in FA.query(sql)) {
+ var location = new Location(row);
+ if(location.code == startLocation) {
+ location.delivery = Date.fromTime(0);
+ }
+ _locs.push(location);
}
+ return _locs;
+
+}
+
+
+function purcharseOrders() {
+}
+
}