Fixed counting to correctly reflect all status at each month
diff --git a/erpnext/manufacturing/page/production_analytics/production_analytics.js b/erpnext/manufacturing/page/production_analytics/production_analytics.js
index 5b9921d..bcf5a04 100644
--- a/erpnext/manufacturing/page/production_analytics/production_analytics.js
+++ b/erpnext/manufacturing/page/production_analytics/production_analytics.js
@@ -105,38 +105,53 @@
$.each(me.columns, function(i,col) {
if (i > 1){
- if (i == 14){
- var temp = 0;
- }
var start_period = dateutil.user_to_obj(dateutil.str_to_user(col.id));
var end_period = dateutil.user_to_obj(dateutil.str_to_user(col.name));
+ var astart_date = dateutil.user_to_obj(dateutil.str_to_user(d.actual_start_date));
var planned_start_date = dateutil.user_to_obj(dateutil.str_to_user(d.planned_start_date));
+ var aend_date = dateutil.user_to_obj(dateutil.str_to_user(d.actual_end_date));
+ var modified = dateutil.user_to_obj(dateutil.str_to_user(d.modified));
- if (dateobj <= start_period || end_period >= dateobj){
+ if (dateobj <= start_period || dateobj <= end_period) {
all_open_orders[col.field] = flt(all_open_orders[col.field]) + 1;
+
if(d.status=="Completed") {
- completed[col.field] = flt(completed[col.field]) + 1;
- }else if(d.status=="In Process") {
- pending[col.field] = flt(pending[col.field]) + 1;
- }else if(d.status=="Not Started") {
- if (planned_start_date > start_period) {
- not_started[col.field] = flt(not_started[col.field]) + 1;
- }else if (planned_start_date < end_period) {
- overdue[col.field] = flt(overdue[col.field]) + 1;
- }else if (planned_start_date < d.actual_start_date) {
- not_started[col.field] = flt(not_started[col.field]) + 1;
- }/*else if (d.planned_start_date > dateutil.now_datetime()) {
- not_started[col.field] = flt(not_started[col.field]) + 1;
- }*/
- else{
- overdue[col.field] = flt(overdue[col.field]) + 1;
+ if(aend_date < start_period || modified < start_period) {
+ completed[col.field] = flt(completed[col.field]) + 1;
}
- }
+ else if (astart_date < start_period) {
+ pending[col.field] = flt(pending[col.field]) + 1;
+ }
+ else if (planned_start_date < start_period) {
+ overdue[col.field] = flt(overdue[col.field]) + 1;
+ } else {
+ not_started[col.field] = flt(not_started[col.field]) + 1;
+ }
+ }else if(d.status == "In Process")
+ {
+ if (astart_date < start_period || modified < start_period){
+ pending[col.field] = flt(pending[col.field]) + 1;
+ }else if (planned_start_date < start_period) {
+ overdue[col.field] = flt(overdue[col.field]) + 1;
+ }else{
+ not_started[col.field] = flt(not_started[col.field]) + 1;
+ }
+ }else if(d.status == "Not Started") {
+ if (planned_start_date < start_period){
+ overdue[col.field] = flt(overdue[col.field]) + 1;
+ }else{
+ not_started[col.field] = flt(not_started[col.field]) + 1;
+ }
+ }
}
}
});
});
- this.chart_area.toggle(true);
+ if(me.columns.length < 30){
+ this.chart_area.toggle(true);
+ }else {
+ this.chart_area.toggle(false);
+ }
this.data = [all_open_orders, not_started, overdue, pending, completed];
}
diff --git a/erpnext/startup/report_data_map.py b/erpnext/startup/report_data_map.py
index 179bf32..6cdd889 100644
--- a/erpnext/startup/report_data_map.py
+++ b/erpnext/startup/report_data_map.py
@@ -269,7 +269,7 @@
},
"Purchase Receipt": {
"columns": ["name", "supplier", "posting_date", "company"],
- "conditions": ["docstatus=1"],
+ "conditions": ["docstatus=1"],
"order_by": "posting_date",
"links": {
"supplier": ["Supplier", "name"],
@@ -294,7 +294,7 @@
# Manufacturing
"Production Order": {
- "columns": ["name","status","creation","planned_start_date","status","actual_start_date"],
+ "columns": ["name","status","creation","planned_start_date","planned_end_date","status","actual_start_date","actual_end_date", "modified"],
"conditions": ["docstatus = 1"],
"order_by": "creation"
}