78 lines
2.4 KiB
Markdown
78 lines
2.4 KiB
Markdown
---
|
|
status: Archiv
|
|
tags:
|
|
- process/project
|
|
subtitle: Faktura Quote in Projektzeiten
|
|
|
|
---
|
|
> [!abstract]- Project
|
|
> Goal:: [[Journal/cimt AG/2025|2025]]
|
|
> Progress:: `$= dv.view('project-progress', {file: 'Faktura Quote in Projektzeiten'})`
|
|
> Target:: `$= dv.view('project-target', {file: 'Faktura Quote in Projektzeiten'})`
|
|
> Bar:: `$= dv.view('project-progress-bar', {file: 'Faktura Quote in Projektzeiten'})`
|
|
> Tasks:: `$= const aufgaben = dv.page('Faktura Quote in Projektzeiten').file.inlinks.where(t => { const mt = dv.page(t.path); return mt.tags?.includes('process/task') && mt.status === 'In Arbeit'}); if (aufgaben.length > 0) { dv.header(4, aufgaben.length > 1 ? "Aufgaben" : "Aufgabe"); dv.list(aufgaben) }`
|
|
|
|
## Project Info
|
|
Faktura Quote in Projektzeiten (15 PT/ Monat)
|
|
## Thoughts
|
|
|
|
## Resources
|
|
|
|
```dataviewjs
|
|
const pages = dv.pages('"Journal/Messe München/2025"').where(p => p.journal == "Messe München monthly");
|
|
dv.table(["Month", "PT"], pages
|
|
.sort(p => p.file.link)
|
|
.map(p => {
|
|
const hours = p.work_hours;
|
|
return [
|
|
p.file.link,
|
|
hours/8
|
|
]
|
|
})
|
|
);
|
|
let hours_sum = 0;
|
|
for (let page of dv.pages('"Journal/Messe München/2025"').where(p => p.journal == "Messe München monthly")) {
|
|
hours_sum = hours_sum + page.work_hours
|
|
}
|
|
dv.paragraph("Durchschnittliche Anzahl von PT/Monat: " + hours_sum/pages.length/8)
|
|
```
|
|
|
|
## Review questions
|
|
|
|
|
|
## Aufgaben
|
|
- [-] Faktura Quote von 15PT/Monat erreicht [start:: 2025-01-01] [due:: 2025-08-04]
|
|
|
|
|
|
## Offene Aufgaben
|
|
```dataviewjs
|
|
const pages = dv.current().file.inlinks.where(p => dv.page(p.path).tags?.includes('process/task')).where(p => dv.page(p.path).file.tasks.length != dv.page(p.path).file.tasks.where(t => t.fullyCompleted === true).length);
|
|
|
|
dv.table(["Project", "Status", "Completed", "Tasks"], pages.map(p => {
|
|
const page = dv.page(p.path);
|
|
const tasks = page.file.tasks;
|
|
return [
|
|
page.file.link,
|
|
page.status,
|
|
tasks.where(t => t.fullyCompleted === true).length,
|
|
tasks.length
|
|
]
|
|
}));
|
|
```
|
|
|
|
## Aufgaben
|
|
```dataviewjs
|
|
const pages = dv.current().file.inlinks.where(p => dv.page(p.path).tags?.includes('process/task'));
|
|
|
|
dv.table(["Project", "Status", "Completed", "Tasks"], pages.map(p => {
|
|
const page = dv.page(p.path);
|
|
const tasks = page.file.tasks;
|
|
return [
|
|
page.file.link,
|
|
page.status,
|
|
tasks.where(t => t.fullyCompleted === true).length,
|
|
tasks.length
|
|
]
|
|
}));
|
|
```
|