} $r = mysql_query("SELECT * FROM parts"); $aRandomUnitNames = array("Spannung", "Strom", "Leitfähigkeit", "Viskosität", "Nessis"); $fc=0; while ($part = mysql_fetch_assoc($r)) { $oPart = new Part(); $oPart->setName(convertText($part["name"])); $oPart->setComment(convertText($part["comment"])); $oPart->setFootprint($newFootprints[$part["id_footprint"]]); $oPart->setCategory($newCategories[$part["id_category"]]); $oPart->setStorageLocation($newStorageLocations[$part["id_storeloc"]]); $oPart->setMinStockLevel($part["mininstock"]); $oPart->setPartUnit($partUnit); for ($i=0;$i<rand(0,15);$i++) { $randomManufacturer = rand(0, count($aManufacturers)-1); $oPart->getManufacturers()->add(new PartManufacturer($oPart, $aManufacturers[$randomManufacturer])); } $oPart->getDistributors()->add(new PartDistributor($oPart, $aDistributors[$part["id_supplier"]])); //echo "Migrating part ".sprintf("%-40s", $part["name"])."\r"; /* Add existing datasheets */ $datasheetQuery = "SELECT datasheeturl FROM datasheets WHERE part_id = ".$part["id"]; $r3 = mysql_query($datasheetQuery); while ($res = mysql_fetch_assoc($r3)) { $attachment = new PartAttachment();
public function addOrUpdatePart ($aParameters) { if (!array_key_exists("quantity", $aParameters)) { $aParameters["quantity"] = 0; } if ($aParameters["part"] !== null) { try { $part = $this->getPart($aParameters["part"]); } catch (\Exception $e) { $part = new Part(); $user = SessionManager::getCurrentSession()->getUser(); $stock = new StockEntry($part, $aParameters["quantity"], $user); PartKeepr::getEM()->persist($stock); } } else { $part = new Part(); $user = SessionManager::getCurrentSession()->getUser(); $stock = new StockEntry($part, $aParameters["quantity"], $user); PartKeepr::getEM()->persist($stock); } if (array_key_exists("name", $aParameters)) { $part->setName($aParameters["name"]); } if (array_key_exists("minstock", $aParameters)) { $part->setMinStockLevel($aParameters["minstock"]); } if (array_key_exists("comment", $aParameters)) { $part->setComment($aParameters["comment"]); } if (array_key_exists("footprint", $aParameters)) { if ($aParameters["footprint"] === null) { $part->setFootprint(null); } else { $footprint = FootprintManager::getInstance()->getOrCreateFootprint($aParameters["footprint"]); $part->setFootprint($footprint); } } if (array_key_exists("storagelocation", $aParameters)) { $storageLocation = StorageLocationManager::getInstance()->getOrCreateStorageLocation($aParameters["storagelocation"]); $part->setStorageLocation($storageLocation); } if (array_key_exists("category", $aParameters)) { $category = CategoryManager::getInstance()->getCategory($aParameters["category"]); $part->setCategory($category->getNode()); } /* Process linked changes */ if (array_key_exists("distributorChanges", $aParameters)) { if (is_array($aParameters["distributorChanges"])) { $this->processDistributorChanges($part, $aParameters["distributorChanges"]); } } if (array_key_exists("manufacturerChanges", $aParameters)) { if (is_array($aParameters["manufacturerChanges"])) { $this->processManufacturerChanges($part, $aParameters["manufacturerChanges"]); } } if (array_key_exists("parameterChanges", $aParameters)) { if (is_array($aParameters["parameterChanges"])) { $this->processParameterChanges($part, $aParameters["parameterChanges"]); } } if (array_key_exists("attachmentChanges", $aParameters)) { if (is_array($aParameters["attachmentChanges"])) { $this->processAttachmentChanges($part, $aParameters["attachmentChanges"]); } } if (array_key_exists("partUnit", $aParameters)) { if ($aParameters["partUnit"] === null || $aParameters["partUnit"] === 0) { $part->setPartUnit(null); } else { $part->setPartUnit(PartUnitManager::getInstance()->getPartUnit($aParameters["partUnit"])); } } PartKeepr::getEM()->persist($part); PartKeepr::getEM()->flush(); }