We will achieve this functionality through EventObserver.
Here, I have used the event which is called
“controller_action_catalog_product_save_entity_after”
Step 1: Create event.xml in /etc/adminhtml folder in your module.
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="controller_action_catalog_product_save_entity_after">
<observer name="magemonkeys_saveproductlogic" instance="MagemonkeysSaveproductlogicObserverSaveProduct" />
</event>
</config>
Step 2: Create a SaveProduct.php Observer in Observer Folder.
<?php
namespace MagemonkeysSaveproductlogicObserver;
use MagentoFrameworkEventObserverInterface;
class SaveProduct implements ObserverInterface
{
protected $catalogData;
protected $_resource;
public function __construct(
MagentoFrameworkAppResourceConnection $resource
)
{
$this->_resource = $resource;
}
public function execute(MagentoFrameworkEventObserver $observer)
{
$connection = $this->_resource->getConnection();
$table_name = $this->_resource->getTableName('product_oem');
$productController = $observer->getController();
$data = $productController->getRequest()->getPostValue();
$mainProduct = $observer->getProduct();
$productId = $mainProduct->getId();
/* You can use you logic here */
if(isset($data['product']['product_oem']) && $productId){
$connection->query('DELETE FROM ' . $table_name . ' WHERE product_id = ' . (int)$productId . ' ');
$productOems = $data['product']['product_oem'];
if(!is_array($productOems)){
$productOems = array();
$productOems[] = (int)$data['product']['product_oem'];
}
foreach ($productOems as $k => $v) {
$connection->query('INSERT INTO ' . $table_name . ' VALUES ( ' . $v . ', ' . (int)$productId . ',0)');
}
}
}
}
?>
After creating the above module, please run the upgrade, compile and static:content:deploy command to implement this module.

