37 Date excessProblemStart;
38 Date shortageProblemStart;
39 bool excessProblem =
false;
40 bool shortageProblem =
false;
42 double shortageQty(0.0);
44 double excessQty(0.0);
45 for (loadplanlist::const_iterator iter = loadplans.
begin();
46 iter != loadplans.
end(); )
49 if (iter->getType() == 4)
50 curMax = iter->getMax();
51 else if (iter->getType() == 3)
52 curMin = iter->getMin();
56 if (iter!=loadplans.
end() && iter->getDate()==f->getDate())
continue;
59 double delta = f->getOnhand() - curMin;
64 shortageProblemStart = f->getDate();
66 shortageProblem =
true;
68 else if (delta < shortageQty)
77 if (f->getDate() != shortageProblemStart)
79 f->getDate()), -shortageQty);
80 shortageProblem =
false;
88 delta = f->getOnhand() - curMax;
93 excessProblemStart = f->getDate();
97 else if (delta > excessQty)
105 if (f->getDate() != excessProblemStart)
107 f->getDate(), excessQty);
108 excessProblem =
false;
117 Date::infiniteFuture, excessQty);
122 Date::infiniteFuture), -shortageQty);
129 ch <<
"Resource '" <<
getResource() <<
"' has excess capacity of " << qty;
137 ch <<
"Resource '" <<
getResource() <<
"' has capacity shortage of " << qty;