public static function add($objects) { // Prepare array for CommonMemberLoad objects $arrayCommonMemberLoad = array(); foreach ($objects as $object) { // Prepare base load $baseLoad = new \Classes\Instance\Load\Member\CommonMemberLoad(); $baseLoad->setProperty('loadCase', $object->getProperty('loadCase')); $baseLoad->setProperty('type', new \Classes\Value\StringValue('C')); $baseLoad->setProperty('name', $object->getProperty('name')); $baseLoad->setProperty('x1', $object->getProperty('x')); $baseLoad->setProperty('y1', $object->getProperty('y')); $baseLoad->setProperty('z1', $object->getProperty('z')); $baseLoad->setProperty('x2', new \Classes\Value\FloatValue(0)); $baseLoad->setProperty('y2', new \Classes\Value\FloatValue(0)); $baseLoad->setProperty('z2', new \Classes\Value\FloatValue(0)); $baseLoad->setProperty('value2', new \Classes\Value\FloatValue(0)); $directionNames = array('FX', 'FY', 'FZ', 'MX', 'MY', 'MZ'); foreach ($directionNames as $direction) { $value = $object->getProperty($direction); // Convert each ConcentratedCommonMemberLoad into CommonMemberLoad if (!is_null($value)) { if (\Classes\Utils\Math\Constant::isNumbersEqual($value->get(), 0) === FALSE) { $newLoad = clone $baseLoad; $newLoad->setProperty('direction', new \Classes\Value\StringValue($direction)); $newLoad->setProperty('value1', $value); $arrayCommonMemberLoad[] = $newLoad; } } } } return \Classes\Factory\Model\Addition\MemberLoadAddition::add($arrayCommonMemberLoad); }
function doExecute(\Classes\Controller\Controller\Request $request) { \Classes\Utils\Timer\Timer::start('LOADS_UPLOAD'); // Получаем переменные $filename = $request->getProperty('filename'); $uploadFactory = new \Classes\Factory\Import\Instance\InstanceUploaderFromExcel(); $objectArray = $uploadFactory->upload($filename, new \Classes\Instance\Load\Member\CommonMemberLoad()); $notFoundObjects = \Classes\Factory\Model\Addition\MemberLoadAddition::add($objectArray); $request->addFeedback($notFoundObjects); \Classes\Utils\Timer\Timer::stop('LOADS_UPLOAD'); $request->addFeedback(\Classes\Utils\Timer\Timer::show('LOADS_UPLOAD')); include \Classes\Controller\Util\Utils::createViewName('importCommonMemberLoadsFromExcel'); }