调整采购单生成

This commit is contained in:
DESKTOP-GMUNQ1B\Administrator 2024-12-18 17:44:44 +08:00
parent c0cdd0974b
commit 65ce4808c9
3 changed files with 56 additions and 15 deletions

View File

@ -49,6 +49,14 @@ class PurchaseProductOfferLists extends BaseAdminDataLists implements ListsSearc
*/ */
public function lists(): array public function lists(): array
{ {
$procurementOrderId = PurchaseProductOffer::where('source_order_id', $this->params['order_id'])->value('source_order_id');
if ($procurementOrderId) {
foreach ($this->searchWhere as $k => &$v) {
if ($v[0] == 'order_id') {
$v[2] = $procurementOrderId;
}
}
}
$store_name=$this->request->get('store_name'); $store_name=$this->request->get('store_name');
if($store_name){ if($store_name){
$ids=StoreProduct::where('store_name','like','%'.$store_name.'%')->column('id'); $ids=StoreProduct::where('store_name','like','%'.$store_name.'%')->column('id');
@ -125,6 +133,14 @@ class PurchaseProductOfferLists extends BaseAdminDataLists implements ListsSearc
if($this->is_ids==1){ if($this->is_ids==1){
return 0; return 0;
} }
$procurementOrderId = PurchaseProductOffer::where('source_order_id', $this->params['order_id'])->value('source_order_id');
if ($procurementOrderId) {
foreach ($this->searchWhere as $k => &$v) {
if ($v[0] == 'order_id') {
$v[2] = $procurementOrderId;
}
}
}
return PurchaseProductOffer::where($this->searchWhere)->count(); return PurchaseProductOffer::where($this->searchWhere)->count();
} }

View File

@ -56,6 +56,21 @@ class PurchaseProductOfferLogic extends BaseLogic
$mark = BeforehandOrderCartInfo::where('bhoid', $params['order_id'])->where('product_id', $params['product_id'])->value('mark'); $mark = BeforehandOrderCartInfo::where('bhoid', $params['order_id'])->where('product_id', $params['product_id'])->value('mark');
} }
$find=StoreProduct::where('id',$params['product_id'])->find(); $find=StoreProduct::where('id',$params['product_id'])->find();
$purchaseProductOffer = PurchaseProductOffer::where(['order_id' => $procurementOrder['id'], 'product_id' => $params['product_id']])->find();
if ($purchaseProductOffer) {
$purchaseProductOffer->need_num = $purchaseProductOffer['need_num'] + $params['need_num'];
if (!empty($purchaseProductOffer['source_order_info'])) {
$sourceOrderInfo = $purchaseProductOffer['source_order_info'];
$sourceOrderInfo[] = [
'source_order_id' => $params['order_id'],
'product_id' => $params['product_id'],
'need_num' => $params['need_num'],
'mark' => $mark,
];
$purchaseProductOffer->source_order_info = $sourceOrderInfo;
}
$purchaseProductOffer->save();
} else {
PurchaseProductOffer::create([ PurchaseProductOffer::create([
'order_id' => $procurementOrder['id'], 'order_id' => $procurementOrder['id'],
'product_id' => $params['product_id'], 'product_id' => $params['product_id'],
@ -69,8 +84,16 @@ class PurchaseProductOfferLogic extends BaseLogic
'marques' => $find['marques'], 'marques' => $find['marques'],
'after_sales' => $find['after_sales'], 'after_sales' => $find['after_sales'],
'status' => 0, 'status' => 0,
'source_order_info' => [
[
'source_order_id' => $params['order_id'],
'product_id' => $params['product_id'],
'need_num' => $params['need_num'],
'mark' => $mark,
]
]
]); ]);
}
BeforehandOrderCartInfo::where(['bhoid' => $params['order_id'], 'product_id' => $params['product_id']])->update(['is_buyer' => 1]); BeforehandOrderCartInfo::where(['bhoid' => $params['order_id'], 'product_id' => $params['product_id']])->update(['is_buyer' => 1]);
Db::commit(); Db::commit();
return true; return true;

View File

@ -18,5 +18,7 @@ class PurchaseProductOffer extends BaseModel
protected $name = 'purchase_product_offer'; protected $name = 'purchase_product_offer';
protected $deleteTime = 'delete_time'; protected $deleteTime = 'delete_time';
protected $json = ['source_order_info'];
protected $jsonAssoc = true;
} }