fix:depot

This commit is contained in:
LAPTOP-7SGDREK0\shiweijun
2025-02-25 15:57:19 +08:00
parent 4320138389
commit c044dba6a6

View File

@@ -153,7 +153,7 @@ class DepotService extends BaseService{
$number = $this->request->input('number');
if (!empty($purchase_price) && !empty($number)){
$sum_price = bcmul($purchase_price,$number);
$sum_price = bcmul($purchase_price,$number,2);
}
$cityId = (int)$this->request->input('city_id');
@@ -213,8 +213,8 @@ class DepotService extends BaseService{
$info = $this->DepotPurchaseModel->getDepotPurchase($id);
$old_number = $info->number;
$number = (double)$this->request->input('number');
$sum_price = $info->purchase_price * $number;
$number = $this->request->input('number');
$sum_price = bcmul($info->purchase_price,$number,2);
$info->number = $number;
$info->sum_price = $sum_price;
@@ -225,7 +225,7 @@ class DepotService extends BaseService{
->where('supplier_id',$info->supplier_id)
->first();
$materialStock->current_stock = $materialStock->current_stock + $number - $old_number;
$materialStock->current_stock = bcsub(bcadd($materialStock->current_stock,$number,2),$old_number,2);
if (!$info->save() || !$materialStock->save()) throw new ErrException('采购数量修改失败');
@@ -263,7 +263,7 @@ class DepotService extends BaseService{
// throw new ErrException('采购退货数量不能大于进货数量');
// }
$depotPurchase->sum_price = $depotPurchase->purchase_price * $depotPurchase->number;
$depotPurchase->sum_price = bcmul($depotPurchase->purchase_price,$depotPurchase->number,2);
$depotPurchase->city_id = $info->city_id;
$depotPurchase->kitchen_id = $info->kitchen_id;
$depotPurchase->operator_id = $this->adminId;
@@ -280,7 +280,7 @@ class DepotService extends BaseService{
if ($materialStock->current_stock < $depotPurchase->number)
throw new ErrException('库存数量小于退货数量');
//库存减少
$materialStock->current_stock = $materialStock->current_stock - $depotPurchase->number;
$materialStock->current_stock = bcsub($materialStock->current_stock,$depotPurchase->number,2);
}
if (!$depotPurchase->save() || !$materialStock->save() || !$info->save()) throw new ErrException('采购退货异常');
@@ -379,7 +379,7 @@ class DepotService extends BaseService{
$depotId = (int)$this->request->input('depot_id');
$materialId = (int)$this->request->input('material_id');
$supplierId = (int)$this->request->input('supplier_id');
$number = (double)$this->request->input('number');
$number = $this->request->input('number');
$applicationId = (int)$this->request->input('application_id');
$cityId = (int)$this->request->input('city_id');
$kitchenId = (int)$this->request->input('kitchen_id');
@@ -404,16 +404,16 @@ class DepotService extends BaseService{
$depotSale->supplier_id = $supplierId;
$depotSale->sale_price = $materialStock->unit_price;
$depotSale->number = $number;
$depotSale->sum_price = $depotSale->sale_price * $number;
$depotSale->sum_price = bcmul($depotSale->sale_price,$number,2);
$depotSale->application_id = $applicationId;
$depotSale->city_id = $cityId;
$depotSale->kitchen_id = $kitchenId;
$depotSale->operator_id = $this->adminId;
//库存减少
$materialStock->current_stock = $materialStock->current_stock - $number;
$materialStock->current_stock = bcsub($materialStock->current_stock,$number,2);
$applicationInfo->al_number = $number + $applicationInfo->al_number;
$applicationInfo->al_number = bcadd($number,$applicationInfo->al_number,2);
if ($applicationInfo->al_number < $applicationInfo->number)
$applicationInfo->status = MaterialCode::PART_OUT;
else
@@ -449,8 +449,8 @@ class DepotService extends BaseService{
$old_number = $info->number;
$number = (double)$this->request->input('number');
$sum_price = $info->sale_price * $number;
$number = $this->request->input('number');
$sum_price = bcmul($info->sale_price,$number,2);
$info->number = $number;
$info->sum_price = $sum_price;
@@ -461,9 +461,9 @@ class DepotService extends BaseService{
->where('supplier_id',$info->supplier_id)
->first();
$materialStock->current_stock = $materialStock->current_stock + $old_number - $number;
$materialStock->current_stock = bcadd($materialStock->current_stock,bcsub($old_number,$number,2),2);
$applicationInfo->al_number = $applicationInfo->al_number + $number - $old_number;
$applicationInfo->al_number = bcadd($applicationInfo->al_number,bcsub($number,$old_number,2),2);
if ($applicationInfo->al_number < $applicationInfo->number)
$applicationInfo->status = MaterialCode::PART_OUT;
else
@@ -498,8 +498,8 @@ class DepotService extends BaseService{
->where('id',$info->application_id)
->first();
$applicationInfo->al_number = $applicationInfo->al_number - $info->number;
if ($applicationInfo->al_number <= 0)
$applicationInfo->al_number = bcsub($applicationInfo->al_number,$info->number,2);
if (bccomp($applicationInfo->al_number,'0') <= 0)
$applicationInfo->status = MaterialCode::AUDITED;
else if ($applicationInfo->al_number < $applicationInfo->number)
$applicationInfo->status = MaterialCode::PART_OUT;
@@ -510,7 +510,7 @@ class DepotService extends BaseService{
->where('supplier_id',$info->supplier_id)
->first();
$materialStock->current_stock = $materialStock->current_stock + $info->number;
$materialStock->current_stock = bcadd($materialStock->current_stock,$info->number,2);
$info->is_del = MaterialCode::IS_DEL;