Guillaume 1 год назад
Родитель
Сommit
303879f720
6 измененных файлов: 56 добавлений и 8 удалений
  1. +4
    -2
      backend/controllers/DocumentController.php
  2. +18
    -3
      backend/controllers/ProductController.php
  3. +1
    -1
      backend/views/document/download.php
  4. +2
    -0
      backend/views/producer/billing.php
  5. +1
    -1
      backend/views/user/update.php
  6. +30
    -1
      common/logic/Product/ProductPrice/Service/ProductPriceBuilder.php

+ 4
- 2
backend/controllers/DocumentController.php Просмотреть файл

@@ -256,7 +256,8 @@ class DocumentController extends BackendController
'TVA',
'Total TVA',
'Total HT',
'Créateur',
'Classification vente',
'Code Classification vente',
];

foreach ($documentManager->getProductsOrders($document) as $productOrderArray) {
@@ -311,7 +312,8 @@ class DocumentController extends BackendController
$productOrder->taxRate->value * 100, // TVA
$tva, // Total TVA
$priceTotal, // Total HT
'', // Créateur
'', // Classification vente
'01', // Code Classification vente
];
}
}

+ 18
- 3
backend/controllers/ProductController.php Просмотреть файл

@@ -382,8 +382,13 @@ class ProductController extends BackendController
else {
unset($productPriceCsvArray[0]);
$countUpdate = 0;
$countCreate = 0;
$cptLine = 1;
$dataNotFound = false;
$dataNotFoundArray = [];

foreach ($productPriceCsvArray as $productPriceCsv) {
$cptLine ++;
if (count($productPriceCsv) != 6) {
$dataNotFound = true;
continue;
@@ -407,6 +412,7 @@ class ProductController extends BackendController
|| ($pointSaleName && !$pointSale)) {

$dataNotFound = true;
$dataNotFoundArray[] = $cptLine;
continue;
}

@@ -423,20 +429,29 @@ class ProductController extends BackendController
$productPrice->price = $price;
$productPriceManager->saveUpdate($productPrice);
$countUpdate++;
} else {
$dataNotFound = true;
}
// Création automatique du prix spécifique
else {
$productPrice = $productPriceManager->instanciateProductPrice($product, $price, $user, $userGroup, $pointSale, $quantityFrom);
$productPriceManager->saveCreate($productPrice);
$countCreate ++;
}
}
}
}

if ($dataNotFound) {
$this->addFlash('error', "Attention, certaines lignes du fichier n'ont pas été prises en compte. Veuillez réessayer en repartant du fichier d'export.<br />Contacter l'administrateur du site si le problème persiste.");
$strLinesDataNotFound = '('.implode(', ', $dataNotFoundArray).')';
$this->addFlash('error', "Attention, certaines lignes ".$strLinesDataNotFound." du fichier n'ont pas été prises en compte. Veuillez réessayer en repartant du fichier d'export.<br />Contacter l'administrateur du site si le problème persiste.");
}

if ($countUpdate) {
$this->addFlash('success', $countUpdate . ' prix produits mis à jour.');
}

if($countCreate) {
$this->addFlash('success', $countCreate . ' prix produits créés.');
}
}
}
}

+ 1
- 1
backend/views/document/download.php Просмотреть файл

@@ -91,7 +91,7 @@ $documentPriceDecimals = (int) $producerManager->getConfig('option_document_pric
<?php foreach ($document->orders as $order): ?>
<tr>
<td>
<strong><?= Html::encode($orderManager->getOrderUsername($order)); ?></strong>
<strong><?= $orderManager->getOrderUsername($order); ?></strong>
<?php if ($order->distribution): ?>
le <?= date('d/m/Y', strtotime($order->distribution->date)) ?>
<?php endif; ?>

+ 2
- 0
backend/views/producer/billing.php Просмотреть файл

@@ -36,6 +36,8 @@ pris connaissance de la licence CeCILL, et que vous en avez accepté les
termes.
*/

use common\helpers\Price;

$producerManager = $this->getProducerManager();
$producerPriceRangeManager = $this->getProducerPriceRangeManager();


+ 1
- 1
backend/views/user/update.php Просмотреть файл

@@ -38,7 +38,7 @@ termes.

use yii\helpers\Html;

$this->setTitle('Modifier un client') ;
$this->setTitle('Modifier un client (#'.$model->id.')') ;
$this->addBreadcrumb(['label' => 'Utilisateurs', 'url' => ['index']]) ;
$this->addBreadcrumb(['label' => Html::encode($model->lastname.' '.$model->name)]) ;
$this->addBreadcrumb('Modifier') ;

+ 30
- 1
common/logic/Product/ProductPrice/Service/ProductPriceBuilder.php Просмотреть файл

@@ -3,14 +3,43 @@
namespace common\logic\Product\ProductPrice\Service;

use common\logic\AbstractBuilder;
use common\logic\PointSale\PointSale\Model\PointSale;
use common\logic\Product\Product\Model\Product;
use common\logic\Product\ProductPrice\Model\ProductPrice;
use common\logic\User\User\Model\User;
use common\logic\User\UserGroup\Model\UserGroup;

class ProductPriceBuilder extends AbstractBuilder
{
public function instanciateProductPrice(): ProductPrice
public function instanciateProductPrice(
Product $product,
float $price,
User $user = null,
UserGroup $userGroup = null,
PointSale $pointSale = null,
float $quantityFrom = null): ProductPrice
{
$productPrice = new ProductPrice();

$productPrice->populateProduct($product);
$productPrice->price = $price;

if($user) {
$productPrice->populateUser($user);
}

if($userGroup) {
$productPrice->populateUserGroup($userGroup);
}

if($pointSale) {
$productPrice->populatePointSale($pointSale);
}

if($quantityFrom) {
$productPrice->quantity_from = $quantityFrom;
}

return $productPrice;
}


Загрузка…
Отмена
Сохранить