| | |
| | | double totalRate = taskPhaseModels.stream().mapToDouble(TaskPhaseModel::getOperatConditDurationRate).sum(); |
| | | double sum = 0.0; |
| | | for (TaskPhaseModel taskPhaseModel : taskPhaseModels) { |
| | | double duration = taskPhaseModel.getOperatConditDurationRate() * taskPhase.getPhaseDuration() / totalRate; |
| | | double duration = taskPhase.getPhaseDuration() * taskPhaseModel.getOperatConditDurationRate() / totalRate; |
| | | taskPhaseModel.setOperatConditDuration(duration); |
| | | sum += duration; |
| | | taskPhaseModelAll.add(taskPhaseModel); |
| | | } |
| | | // 把零头补到最后一个工况模型 |
| | | taskPhaseModels.get(taskPhaseModels.size()-1).setOperatConditDuration(totalRate - sum); |
| | | taskPhaseModels.get(taskPhaseModels.size()-1).setOperatConditDuration(taskPhase.getPhaseDuration() - sum); |
| | | } |
| | | |
| | | private List<TaskPhase> calcTaskPhaseDuration(Task task) { |