删除锁定库存,新增同步处方平台kucun
This commit is contained in:
@@ -2,12 +2,14 @@
|
||||
|
||||
namespace App\Services;
|
||||
|
||||
use App\Constants\HttpEnumCode;
|
||||
use App\Model\OrderPrescription;
|
||||
use App\Model\OrderPrescriptionProduct;
|
||||
use App\Model\OrderProduct;
|
||||
use App\Model\OrderProductItem;
|
||||
use App\Model\Product;
|
||||
use App\Model\ProductPlatformAmount;
|
||||
use Hyperf\DbConnection\Db;
|
||||
|
||||
class OrderProductService extends BaseService
|
||||
{
|
||||
@@ -104,20 +106,27 @@ class OrderProductService extends BaseService
|
||||
// 释放锁定库存
|
||||
$params = array();
|
||||
$params['product_id'] = $item['product_id'];
|
||||
$product = Product::getWithAmountOne($params);
|
||||
$product = Product::getOne($params);
|
||||
if (empty($product)){
|
||||
$result['status'] = 0;
|
||||
$result['message'] = "取消未支付的问诊订单失败:未查询到对应订单商品订单列表";
|
||||
return $result;
|
||||
}
|
||||
|
||||
$params = array();
|
||||
$params['product_platform_code'] = $product['product_platform_code'];
|
||||
$product_platform_amount = ProductPlatformAmount::getSharedLockOne($params);
|
||||
if (empty($product_platform_amount)){
|
||||
$result['status'] = 0;
|
||||
$result['message'] = "取消未支付的问诊订单失败:无商品库存数据";
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
// 库存+订单商品数量
|
||||
$params = array();
|
||||
$params['amount_id'] = $product['ProductPlatformAmount']['amount_id'];
|
||||
$params['amount_id'] = $product_platform_amount['amount_id'];
|
||||
ProductPlatformAmount::inc($params, 'stock', (float)$item['amount']);
|
||||
|
||||
// 锁定库存-订单商品数量
|
||||
ProductPlatformAmount::dec($params, 'lock_stock', (float)$item['amount']);
|
||||
}
|
||||
|
||||
// 获取处方数据
|
||||
|
||||
@@ -946,12 +946,20 @@ class PatientOrderService extends BaseService
|
||||
|
||||
$params = array();
|
||||
$params['product_id'] = $product_id;
|
||||
$product = Product::getWithAmountOne($params);
|
||||
$product = Product::getOne($params);
|
||||
if (empty($product)) {
|
||||
Db::rollBack();
|
||||
return fail(HttpEnumCode::HTTP_ERROR, "处方存在未知药品");
|
||||
}
|
||||
|
||||
$params = array();
|
||||
$params['product_platform_code'] = $product['product_platform_code'];
|
||||
$product_platform_amount = ProductPlatformAmount::getSharedLockOne($params);
|
||||
if (empty($product_platform_amount)){
|
||||
Db::rollBack();
|
||||
return fail(HttpEnumCode::HTTP_ERROR, "无商品库存数据");
|
||||
}
|
||||
|
||||
$data = array();
|
||||
$data['order_product_id'] = $order_product['order_product_id'];
|
||||
$data['order_inquiry_id'] = $order_prescription['order_inquiry_id'];
|
||||
@@ -981,11 +989,8 @@ class PatientOrderService extends BaseService
|
||||
// 锁定库存
|
||||
// 库存-1
|
||||
$params = array();
|
||||
$params['amount_id'] = $product['ProductPlatformAmount']['amount_id'];
|
||||
$params['amount_id'] = $product_platform_amount['amount_id'];
|
||||
ProductPlatformAmount::dec($params, 'stock', $order_prescription_product['prescription_product_num']);
|
||||
|
||||
// 锁定库存+1
|
||||
ProductPlatformAmount::inc($params, 'lock_stock', $order_prescription_product['prescription_product_num']);
|
||||
}
|
||||
|
||||
// 修改处方为已使用
|
||||
|
||||
@@ -1188,7 +1188,7 @@ class UserDoctorService extends BaseService
|
||||
}
|
||||
|
||||
// 检测药品库存数据
|
||||
if ($item['prescription_product_num'] > $product['ProductPlatformAmount']['real_stock']) {
|
||||
if ($item['prescription_product_num'] > $product['ProductPlatformAmount']['stock']) {
|
||||
// 库存不足
|
||||
Db::rollBack();
|
||||
return fail(HttpEnumCode::HTTP_ERROR, "药品" . $product['product_name'] . "库存不足");
|
||||
|
||||
Reference in New Issue
Block a user