due date working
This commit is contained in:
parent
dfffa59094
commit
ae89ac642e
10
app.js
10
app.js
@ -204,7 +204,7 @@ function Desks(inDesks)
|
||||
|
||||
// at least one but not all need fields are empty
|
||||
const caution = scan.need_empty.length>0 && scan.need_empty.length<desk.need.length;
|
||||
|
||||
|
||||
work.push(DOM.tr(
|
||||
DOM.td(pass.name),
|
||||
desk.need.map((part, index, array)=>
|
||||
@ -236,7 +236,13 @@ function Desks(inDesks)
|
||||
)
|
||||
);
|
||||
}),
|
||||
DOM.td(Div.Icon("⇉")),
|
||||
DOM.td(
|
||||
Div.Icon("⇉"),
|
||||
scan.due_date ? Div.Part(
|
||||
scan.due_date.toLocaleDateString(),
|
||||
scan.due_date.toLocaleTimeString()
|
||||
) : " "
|
||||
),
|
||||
desk.make.map((part, index, array)=>
|
||||
{
|
||||
const partPass = part.pass.get(pass);
|
||||
|
||||
@ -27,7 +27,7 @@ export default CreateAllRooms({
|
||||
},
|
||||
desk:{
|
||||
d1:["Write page metas", ["admin", "write"], { }, "p1", "p2"],
|
||||
d2:["Build Page preview", ["admin", "dev" ], {p1:1, p2:1, p5:1}, "p3", "p4"],
|
||||
d2:["Build Page preview", ["admin", "dev" ], {p1:1, p2:1, p5:4}, "p3", "p4"],
|
||||
d3:["Proof Page", ["admin", "write"], {p3:1, }, "p5" ]
|
||||
},
|
||||
pass:{
|
||||
|
||||
@ -264,20 +264,13 @@ Loop parts:
|
||||
}
|
||||
|
||||
if(time > needMax) needMax = time;
|
||||
|
||||
// estimation
|
||||
if(time < estMin) estMin = time;
|
||||
const projectedTime = time + desk.time[i];
|
||||
estSum += desk.time[i];
|
||||
if(projectedTime > estMax) estMax = projectedTime;
|
||||
|
||||
if(!time) emptyNeed.push(i)
|
||||
if(!time) emptyNeed.push(i);
|
||||
}
|
||||
|
||||
// update makeMin AND dirtyMakes
|
||||
for(let i=0; i<desk.make.length; i++)
|
||||
{
|
||||
const [time, value, part] = lookup(desk.make[i]);
|
||||
const [time] = lookup(desk.make[i]);
|
||||
|
||||
if(time < makeMin) makeMin = time;
|
||||
if(time < needMax) dirtyMake.push(i);
|
||||
@ -298,17 +291,24 @@ Loop parts:
|
||||
}
|
||||
}
|
||||
|
||||
if(time > makeMin) dirtyNeed.push(i);
|
||||
if(time > makeMin)
|
||||
{
|
||||
dirtyNeed.push(i);
|
||||
|
||||
// estimation
|
||||
if(time < estMin) estMin = time;
|
||||
const allottedTime = desk.time[i] * 1000 * 60 * 60;
|
||||
const projectedTime = time + allottedTime;
|
||||
estSum += allottedTime;
|
||||
if(projectedTime > estMax) estMax = projectedTime;
|
||||
}
|
||||
}
|
||||
|
||||
estSum += estMin;
|
||||
let stamp = estSum;
|
||||
if(estMax > estSum)
|
||||
{
|
||||
// use estMax
|
||||
stamp = estMax;
|
||||
}
|
||||
else
|
||||
{
|
||||
// use estSum
|
||||
}
|
||||
|
||||
desk.pass.set(pass, {need_dirty:dirtyNeed, make_dirty:dirtyMake, need_empty:emptyNeed, make_empty:emptyMake})
|
||||
desk.pass.set(pass, {need_dirty:dirtyNeed, make_dirty:dirtyMake, need_empty:emptyNeed, make_empty:emptyMake, due_date:isFinite(stamp) ? new Date(stamp) : undefined})
|
||||
};
|
||||
@ -4,7 +4,7 @@ export type Desk = {name:string, id:string, need:Part[], time:number[], make:Par
|
||||
export type Pass = {name:string, id:string, path:string, live:boolean, load:()=>Promise<void>, dump:()=>void};
|
||||
export type Part = {name:string, id:string, pass:Map<Pass, {time:number, work:Work[], make:(user:User, data:string)=>Promise<void>}>, need:Desk[], make:Desk[], loop?:boolean};
|
||||
export type Work = [time:number, data:string, user:User];
|
||||
export type Scan = {need_dirty:number[], make_dirty:number[], need_empty:number[], make_empty:number[]}
|
||||
export type Scan = {need_dirty:number[], make_dirty:number[], need_empty:number[], make_empty:number[], due_date?:Date}
|
||||
|
||||
export type GraphBuilder=
|
||||
<
|
||||
|
||||
Loading…
Reference in New Issue
Block a user