mirror of
https://github.com/Karaka-Management/oms-Exchange.git
synced 2026-02-11 23:38:40 +00:00
improve importer for GSD
This commit is contained in:
parent
6323817d1b
commit
5bddebd280
|
|
@ -16,7 +16,9 @@ namespace Modules\Exchange\Interfaces\GSD;
|
||||||
|
|
||||||
use Modules\Accounting\Models\CostCenter;
|
use Modules\Accounting\Models\CostCenter;
|
||||||
use Modules\Accounting\Models\CostCenterMapper;
|
use Modules\Accounting\Models\CostCenterMapper;
|
||||||
|
use Modules\Accounting\Models\CostObject;
|
||||||
|
use Modules\Accounting\Models\CostObjectMapper;
|
||||||
|
use Modules\ClientManagement\Models\Client;
|
||||||
use Modules\Exchange\Interfaces\GSD\Model\GSDCostCenterMapper;
|
use Modules\Exchange\Interfaces\GSD\Model\GSDCostCenterMapper;
|
||||||
use Modules\Exchange\Interfaces\GSD\Model\GSDCostObjectMapper;
|
use Modules\Exchange\Interfaces\GSD\Model\GSDCostObjectMapper;
|
||||||
|
|
||||||
|
|
@ -27,6 +29,9 @@ use phpOMS\DataStorage\Database\Connection\ConnectionFactory;
|
||||||
use phpOMS\DataStorage\Database\DatabaseStatus;
|
use phpOMS\DataStorage\Database\DatabaseStatus;
|
||||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||||
use phpOMS\Message\RequestAbstract;
|
use phpOMS\Message\RequestAbstract;
|
||||||
|
use Modules\Exchange\Interfaces\GSD\Model\GSDAddressMapper;
|
||||||
|
use Modules\Exchange\Interfaces\GSD\Model\GSDCustomerMapper;
|
||||||
|
use Modules\ClientManagement\Models\ClientMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GSD import class
|
* GSD import class
|
||||||
|
|
@ -99,12 +104,10 @@ final class Importer extends ImporterAbstract
|
||||||
}
|
}
|
||||||
|
|
||||||
if (((bool) ($request->getData('customers') ?? false))) {
|
if (((bool) ($request->getData('customers') ?? false))) {
|
||||||
$this->importAddress($start, $end);
|
|
||||||
$this->importCustomer($start, $end);
|
$this->importCustomer($start, $end);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (((bool) ($request->getData('suppliers') ?? false))) {
|
if (((bool) ($request->getData('suppliers') ?? false))) {
|
||||||
$this->importAddress($start, $end);
|
|
||||||
$this->importSupplier($start, $end);
|
$this->importSupplier($start, $end);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -148,14 +151,14 @@ final class Importer extends ImporterAbstract
|
||||||
$query->where('row_create_time', '=>', $start->format('Y-m-d H:i:s'))
|
$query->where('row_create_time', '=>', $start->format('Y-m-d H:i:s'))
|
||||||
->andWhere('row_create_time', '<=', $end->format('Y-m-d H:i:s'));
|
->andWhere('row_create_time', '<=', $end->format('Y-m-d H:i:s'));
|
||||||
|
|
||||||
$costCenters = GSDCostCenterMapper::getByQuery($query);
|
$costCenters = GSDCostCenterMapper::getAllByQuery($query);
|
||||||
|
|
||||||
DataMapperAbstract::setConnection($this->local);
|
DataMapperAbstract::setConnection($this->local);
|
||||||
|
|
||||||
foreach ($costCenters as $cc) {
|
foreach ($costCenters as $cc) {
|
||||||
$obj = new CostCenter();
|
$obj = new CostCenter();
|
||||||
$obj->setCostCenter((int) $cc->getCostCenter());
|
$obj->setCode($cc->getCostCenter());
|
||||||
$obj->setCostCenterName($cc->getDescription());
|
$obj->setName($cc->getDescription());
|
||||||
|
|
||||||
CostCenterMapper::create($obj);
|
CostCenterMapper::create($obj);
|
||||||
}
|
}
|
||||||
|
|
@ -178,33 +181,19 @@ final class Importer extends ImporterAbstract
|
||||||
$query->where('row_create_time', '=>', $start->format('Y-m-d H:i:s'))
|
$query->where('row_create_time', '=>', $start->format('Y-m-d H:i:s'))
|
||||||
->andWhere('row_create_time', '<=', $end->format('Y-m-d H:i:s'));
|
->andWhere('row_create_time', '<=', $end->format('Y-m-d H:i:s'));
|
||||||
|
|
||||||
$costObjects = GSDCostObjectMapper::getByQuery($query);
|
$costObjects = GSDCostObjectMapper::getAllByQuery($query);
|
||||||
|
|
||||||
DataMapperAbstract::setConnection($this->local);
|
DataMapperAbstract::setConnection($this->local);
|
||||||
|
|
||||||
foreach ($costObjects as $cc) {
|
foreach ($costObjects as $co) {
|
||||||
$obj = new CostCenter();
|
$obj = new CostObject();
|
||||||
$obj->setCostObject((int) $co->getCostObject());
|
$obj->setCode($co->getCostObject());
|
||||||
$obj->setCostObjectName($co->getDescription());
|
$obj->setName($co->getDescription());
|
||||||
|
|
||||||
CostCenterMapper::create($obj);
|
CostObjectMapper::create($obj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Import addresses
|
|
||||||
*
|
|
||||||
* @param \DateTime $start Start time (inclusive)
|
|
||||||
* @param \DateTime $end End time (inclusive)
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
|
||||||
*/
|
|
||||||
public function importAddress(\DateTime $start, \DateTime $end) : void
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Import customers
|
* Import customers
|
||||||
*
|
*
|
||||||
|
|
@ -217,6 +206,21 @@ final class Importer extends ImporterAbstract
|
||||||
*/
|
*/
|
||||||
public function importCustomer(\DateTime $start, \DateTime $end) : void
|
public function importCustomer(\DateTime $start, \DateTime $end) : void
|
||||||
{
|
{
|
||||||
|
DataMapperAbstract::setConnection($this->remote);
|
||||||
|
$query = GSDCustomerMapper::getQuery();
|
||||||
|
$query->where('row_create_time', '=>', $start->format('Y-m-d H:i:s'))
|
||||||
|
->andWhere('row_create_time', '<=', $end->format('Y-m-d H:i:s'));
|
||||||
|
|
||||||
|
$customers = GSDCustomerMapper::getAllByQuery($query);
|
||||||
|
|
||||||
|
DataMapperAbstract::setConnection($this->local);
|
||||||
|
|
||||||
|
foreach ($customers as $customer) {
|
||||||
|
$obj = new Client();
|
||||||
|
$obj->setNumber($customer->getNumber());
|
||||||
|
|
||||||
|
ClientMapper::create($obj);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -24,4 +24,28 @@ namespace Modules\Exchange\Interfaces\GSD\Model;
|
||||||
*/
|
*/
|
||||||
final class GSDCustomer
|
final class GSDCustomer
|
||||||
{
|
{
|
||||||
|
private int $id = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creator.
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
protected $createdBy = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created.
|
||||||
|
*
|
||||||
|
* @var null|\DateTime
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
protected ?\DateTime $createdAt = null;
|
||||||
|
|
||||||
|
private string $number = '';
|
||||||
|
|
||||||
|
public function getNumber() : string
|
||||||
|
{
|
||||||
|
return $this->number;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user