diff --git a/msp/msp/doctype/verkaufsstatistik_report/verkaufsstatistik_report.js b/msp/msp/doctype/verkaufsstatistik_report/verkaufsstatistik_report.js index e1d2b55..3a72b9a 100644 --- a/msp/msp/doctype/verkaufsstatistik_report/verkaufsstatistik_report.js +++ b/msp/msp/doctype/verkaufsstatistik_report/verkaufsstatistik_report.js @@ -8,15 +8,15 @@ frappe.ui.form.on('Verkaufsstatistik Report', { frm.trigger('preset'); }, - setup: function(frm) { - frm.set_query("artikel",function(){ - return { - filters: [ - ["Item","item_group", "in", ["Anwendungsentwicklung", "Arbeitszeiten Techniker"]] - ] - } - }); - }, + // setup: function(frm) { + // frm.set_query("artikel",function(){ + // return { + // filters: [ + // ["Item","item_group", "in", ["Anwendungsentwicklung", "Arbeitszeiten Techniker"]] + // ] + // } + // }); + // }, preset: function(frm) { if (!frm.doc.preset) { // No preset selected. Allow manual selection of dates. diff --git a/msp/msp/doctype/verkaufsstatistik_report/verkaufsstatistik_report.json b/msp/msp/doctype/verkaufsstatistik_report/verkaufsstatistik_report.json index 32fb517..9914591 100644 --- a/msp/msp/doctype/verkaufsstatistik_report/verkaufsstatistik_report.json +++ b/msp/msp/doctype/verkaufsstatistik_report/verkaufsstatistik_report.json @@ -68,7 +68,8 @@ { "fieldname": "report_ausgabe", "fieldtype": "Text Editor", - "label": "Report Ausgabe" + "label": "Report Ausgabe", + "read_only": 1 }, { "fieldname": "report_section", @@ -95,7 +96,7 @@ ], "index_web_pages_for_search": 1, "links": [], - "modified": "2021-10-26 16:02:19.458345", + "modified": "2022-03-11 08:32:22.749064", "modified_by": "Administrator", "module": "MSP", "name": "Verkaufsstatistik Report", diff --git a/msp/msp/doctype/verkaufsstatistik_report/verkaufsstatistik_report.py b/msp/msp/doctype/verkaufsstatistik_report/verkaufsstatistik_report.py index be665f5..ad83ba4 100644 --- a/msp/msp/doctype/verkaufsstatistik_report/verkaufsstatistik_report.py +++ b/msp/msp/doctype/verkaufsstatistik_report/verkaufsstatistik_report.py @@ -25,12 +25,13 @@ class VerkaufsstatistikReport(Document): }, fields = ["posting_date", "name"] ) + for si in si_list: artikel_doc = frappe.get_doc("Sales Invoice", si["name"]) for artikel in artikel_doc.items: if artikel.item_code in artikel_name: empl = str(artikel.item_name).replace("Arbeitszeit ","").replace("Herr ","").replace(" Anwendungsentwicklung","").replace("Remote-Service ","") - artikel_details = [si["posting_date"],empl,artikel.item_name,artikel.item_code,artikel.qty] + artikel_details = [si["posting_date"],empl,artikel.item_name,artikel.item_code,artikel.qty,artikel.rate] item_list.append(artikel_details) if self.report_basierend_auf == "Lieferschein": @@ -49,11 +50,11 @@ class VerkaufsstatistikReport(Document): for artikel in artikel_doc.items: if artikel.item_code in artikel_name: empl = str(artikel.item_name).replace("Arbeitszeit ","").replace("Herr ","").replace(" Anwendungsentwicklung","").replace("Remote-Service ","") - artikel_details = [dn["posting_date"],empl,artikel.item_name,artikel.item_code,artikel.qty] + artikel_details = [dn["posting_date"],empl,artikel.item_name,artikel.item_code,artikel.qty, artikel.rate] item_list.append(artikel_details) - df = pd.DataFrame(item_list, columns = ["Datum","Mitarbeiter","Item Name","Item","Anzahl"]) + df = pd.DataFrame(item_list, columns = ["Datum","Mitarbeiter","Item Name","Item","Anzahl","Preis"]) df['Datum'] = pd.to_datetime(df['Datum']) df['Kalenderwoche']= df['Datum'].dt.isocalendar().week df['Monat']= df['Datum'].dt.month @@ -79,14 +80,24 @@ class VerkaufsstatistikReport(Document): frappe.msgprint("Bitte Zeiteinheit für Gruppierung auswählen") if self.gruppiert_nach == "Artikel": - filters = filters +["Item","Item Name"] + filters = filters +["Item","Item Name","Preis"] if self.gruppiert_nach == "Mitarbeiter": filters.append("Mitarbeiter") - df_grouped = df.groupby(filters).agg({'Anzahl': ['sum']}).reset_index() - - html = df_grouped.to_html(header = False,index = False) - #html_2 = html.replace('
' + ("Für die angegebene Periode sind keine Daten vorhanden") + '
' + + def get_styler(self,df): + styles = [ + dict(props=[("border-collapse", "collapse"), ("width", "100%")]), + dict(selector="th, td", props=[("padding", ".75rem"), ("border-top", "1px solid #dee2e6")]), + dict(selector=".col_heading", props=[('text-align', 'right')]), + #dict(selector=".col_heading.col0", props=[('text-align', 'left')]), + dict(selector=".data", props=[("text-align", "right")]), + dict(selector=".col0", props=[("text-align", "left")]), # first column + dict(selector="tbody tr:nth-of-type(odd)", props=[("background-color", "rgba(0,0,0,.05)")]), # stripes + ] + return df.style.hide_index().format({"Anzahl":'{:.2f}', "Preis":'{:.2f}'}).set_table_styles(styles) \ No newline at end of file