@Override public OperationWorkTime estimateTotalWorkTime(final List<Entity> operationComponents, final Map<Long, BigDecimal> operationRuns, final boolean includeTpz, final boolean includeAdditionalTime, final Map<Long, Integer> workstations, final boolean saved) { OperationWorkTime totalWorkTime = new OperationWorkTime(); Integer totalLaborWorkTime = Integer.valueOf(0); Integer totalMachineWorkTime = Integer.valueOf(0); Integer duration = Integer.valueOf(0); for (Entity operationComponent : operationComponents) { Entity operComp = operationComponent; OperationWorkTime abstractOperationWorkTime = estimateTechOperationWorkTime(operComp, getOperationRunsFromMap(operationRuns, operationComponent), includeTpz, includeAdditionalTime, getWorkstationsQuantityFromMap(workstations, operationComponent), saved); totalLaborWorkTime += abstractOperationWorkTime.getLaborWorkTime(); totalMachineWorkTime += abstractOperationWorkTime.getMachineWorkTime(); duration += abstractOperationWorkTime.getDuration(); } totalWorkTime.setLaborWorkTime(totalLaborWorkTime); totalWorkTime.setMachineWorkTime(totalMachineWorkTime); totalWorkTime.setDuration(duration); return totalWorkTime; }
private OperationWorkTime estimateOperationWorkTime(final Entity order, final Entity operationComponent, final BigDecimal neededNumberOfCycles, final boolean includeTpz, final boolean includeAdditionalTime, final Integer workstations, final boolean saved) { MathContext mc = numberService.getMathContext(); BigDecimal laborUtilization = BigDecimalUtils.convertNullToZero(getValueOfDecimalFiled(operationComponent, "laborUtilization")); BigDecimal machineUtilization = BigDecimalUtils.convertNullToZero(getValueOfDecimalFiled(operationComponent, "machineUtilization")); BigDecimal abstractOperationWorkTime = estimateAbstractOperationWorkTime(operationComponent, neededNumberOfCycles, includeTpz, includeAdditionalTime, workstations); Integer laborWorkTime = abstractOperationWorkTime.multiply(laborUtilization, mc).intValue(); Integer machineWorkTime = abstractOperationWorkTime.multiply(machineUtilization, mc).intValue(); Integer duration = abstractOperationWorkTime.intValue(); OperationWorkTime operationWorkTime = new OperationWorkTime(); operationWorkTime.setDuration(duration); operationWorkTime.setLaborWorkTime(laborWorkTime); operationWorkTime.setMachineWorkTime(machineWorkTime); if (saved) { savedWorkTime(order, operationComponent, machineWorkTime, laborWorkTime, duration); } return operationWorkTime; }
private void fillWorkTimeFields(final ViewDefinitionState view, final OperationWorkTime workTime) { FieldComponent laborWorkTimeField = (FieldComponent) view.getComponentByReference(OrderFieldsPS.LABOR_WORK_TIME); FieldComponent machineWorkTimeField = (FieldComponent) view.getComponentByReference(OrderFieldsPS.MACHINE_WORK_TIME); laborWorkTimeField.setFieldValue(workTime.getLaborWorkTime()); machineWorkTimeField.setFieldValue(workTime.getMachineWorkTime()); laborWorkTimeField.requestComponentUpdateState(); machineWorkTimeField.requestComponentUpdateState(); }
if (areHourly) { calculationOperationComponent.setField(CalculationOperationComponentFields.DURATION, new BigDecimal( operationWorkTimes.getDuration(), numberService.getMathContext())); calculationOperationComponent.setField(CalculationOperationComponentFields.MACHINE_HOURLY_COST, costs.get(L_MACHINE_HOURLY_COST));
private void fillWorkTimeFields(final ViewDefinitionState view, final OperationWorkTime workTime) { FieldComponent laborWorkTimeField = (FieldComponent) view.getComponentByReference(OrderFieldsPS.LABOR_WORK_TIME); FieldComponent machineWorkTimeField = (FieldComponent) view.getComponentByReference(OrderFieldsPS.MACHINE_WORK_TIME); laborWorkTimeField.setFieldValue(workTime.getLaborWorkTime()); machineWorkTimeField.setFieldValue(workTime.getMachineWorkTime()); laborWorkTimeField.requestComponentUpdateState(); machineWorkTimeField.requestComponentUpdateState(); }
@Override public OperationWorkTime estimateTotalWorkTime(Entity order, List<Entity> operationComponents, Map<Long, BigDecimal> operationRuns, boolean includeTpz, boolean includeAdditionalTime, Map<Long, Integer> workstations, boolean saved) { OperationWorkTime totalWorkTime = new OperationWorkTime(); Integer totalLaborWorkTime = Integer.valueOf(0); Integer totalMachineWorkTime = Integer.valueOf(0); Integer duration = Integer.valueOf(0); for (Entity operationComponent : operationComponents) { Entity operComp = operationComponent; OperationWorkTime abstractOperationWorkTime = estimateOrderOperationWorkTime(order, operComp, getOperationRunsFromMap(operationRuns, operationComponent), includeTpz, includeAdditionalTime, getWorkstationsQuantityFromMap(workstations, operationComponent), saved); totalLaborWorkTime += abstractOperationWorkTime.getLaborWorkTime(); totalMachineWorkTime += abstractOperationWorkTime.getMachineWorkTime(); duration += abstractOperationWorkTime.getDuration(); } totalWorkTime.setLaborWorkTime(totalLaborWorkTime); totalWorkTime.setMachineWorkTime(totalMachineWorkTime); totalWorkTime.setDuration(duration); return totalWorkTime; }
BigDecimal durationMachine = BigDecimal.valueOf(operationWorkTimes.getMachineWorkTime()); BigDecimal durationLabor = BigDecimal.valueOf(operationWorkTimes.getLaborWorkTime());
includeTpz, includeAdditionalTime, productionLine, true); laborWorkTimeField.setFieldValue(workTime.getLaborWorkTime()); machineWorkTimeField.setFieldValue(workTime.getMachineWorkTime());