修复了多个类中的逻辑问题
- 在BeforehandOrderThreeLists和BeforehandOrderTwoLists类中,添加了判断条件,以防止在outbound_id或warehousing_id为0时执行无效的数据库查询 - 在BeforehandOrderLogic类中,为订单详情添加了order_type字段,以支持不同类型的订单 - 在BeforehandOrderCartInfoLogic类中,修复了一键入库功能的逻辑错误,确保只有在bhoid参数有效时才执行后续操作
This commit is contained in:
parent
7f43276720
commit
02ada622ef
@ -18,7 +18,7 @@ use app\common\model\warehouse_product\WarehouseProduct;
|
|||||||
*/
|
*/
|
||||||
class BeforehandOrderThreeLists extends BaseAdminDataLists implements ListsSearchInterface
|
class BeforehandOrderThreeLists extends BaseAdminDataLists implements ListsSearchInterface
|
||||||
{
|
{
|
||||||
|
public $outbound_id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @notes 设置搜索条件
|
* @notes 设置搜索条件
|
||||||
@ -48,6 +48,7 @@ class BeforehandOrderThreeLists extends BaseAdminDataLists implements ListsSearc
|
|||||||
if(empty($outbound_id)){
|
if(empty($outbound_id)){
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
$this->outbound_id=$outbound_id;
|
||||||
$this->searchWhere[]=['oid','=',$outbound_id];
|
$this->searchWhere[]=['oid','=',$outbound_id];
|
||||||
$this->searchWhere[]=['financial_pm','=',0];
|
$this->searchWhere[]=['financial_pm','=',0];
|
||||||
return WarehouseProduct::where($this->searchWhere)->select()
|
return WarehouseProduct::where($this->searchWhere)->select()
|
||||||
@ -79,7 +80,11 @@ class BeforehandOrderThreeLists extends BaseAdminDataLists implements ListsSearc
|
|||||||
*/
|
*/
|
||||||
public function count(): int
|
public function count(): int
|
||||||
{
|
{
|
||||||
return WarehouseProduct::where($this->searchWhere)->count();
|
if($this->outbound_id>0){
|
||||||
|
return WarehouseProduct::where($this->searchWhere)->count();
|
||||||
|
}else{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -19,7 +19,7 @@ use app\common\model\warehouse_product\WarehouseProduct;
|
|||||||
class BeforehandOrderTwoLists extends BaseAdminDataLists implements ListsSearchInterface
|
class BeforehandOrderTwoLists extends BaseAdminDataLists implements ListsSearchInterface
|
||||||
{
|
{
|
||||||
|
|
||||||
|
public $warehousing_id;
|
||||||
/**
|
/**
|
||||||
* @notes 设置搜索条件
|
* @notes 设置搜索条件
|
||||||
* @return \string[][]
|
* @return \string[][]
|
||||||
@ -48,6 +48,7 @@ class BeforehandOrderTwoLists extends BaseAdminDataLists implements ListsSearchI
|
|||||||
if(empty($warehousing_id)){
|
if(empty($warehousing_id)){
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
$this->warehousing_id=$warehousing_id;
|
||||||
$this->searchWhere[]=['oid','=',$warehousing_id];
|
$this->searchWhere[]=['oid','=',$warehousing_id];
|
||||||
$this->searchWhere[]=['financial_pm','=',1];
|
$this->searchWhere[]=['financial_pm','=',1];
|
||||||
return WarehouseProduct::where($this->searchWhere)->select()
|
return WarehouseProduct::where($this->searchWhere)->select()
|
||||||
@ -79,7 +80,11 @@ class BeforehandOrderTwoLists extends BaseAdminDataLists implements ListsSearchI
|
|||||||
*/
|
*/
|
||||||
public function count(): int
|
public function count(): int
|
||||||
{
|
{
|
||||||
return WarehouseProduct::where($this->searchWhere)->count();
|
if($this->warehousing_id>0){
|
||||||
|
return WarehouseProduct::where($this->searchWhere)->count();
|
||||||
|
}else{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -41,6 +41,7 @@ class BeforehandOrderLogic extends BaseLogic
|
|||||||
$total_price = 0;
|
$total_price = 0;
|
||||||
$uid = $params['uid'] ?? 0;
|
$uid = $params['uid'] ?? 0;
|
||||||
foreach ($params['product_arr'] as $k => $v) {
|
foreach ($params['product_arr'] as $k => $v) {
|
||||||
|
$datas[$k]['mark'] = $v['mark']??'';
|
||||||
$datas[$k]['product_id'] = $v['product_id'];
|
$datas[$k]['product_id'] = $v['product_id'];
|
||||||
$datas[$k]['uid'] = $uid;
|
$datas[$k]['uid'] = $uid;
|
||||||
$datas[$k]['cart_num'] = $v['nums'];
|
$datas[$k]['cart_num'] = $v['nums'];
|
||||||
@ -61,7 +62,8 @@ class BeforehandOrderLogic extends BaseLogic
|
|||||||
'pay_type' => 0,
|
'pay_type' => 0,
|
||||||
'deduction_price' => 0,
|
'deduction_price' => 0,
|
||||||
'paid' => 0,
|
'paid' => 0,
|
||||||
'mark' => $params['mark'] ?? ''
|
'mark' => $params['mark'] ?? '',
|
||||||
|
'order_type' => $params['order_type'] ?? 0
|
||||||
]);
|
]);
|
||||||
foreach ($datas as $k => $v) {
|
foreach ($datas as $k => $v) {
|
||||||
$datas[$k]['bhoid'] = $order['id'];
|
$datas[$k]['bhoid'] = $order['id'];
|
||||||
|
@ -97,8 +97,8 @@ class BeforehandOrderCartInfoLogic extends BaseLogic
|
|||||||
Db::startTrans();
|
Db::startTrans();
|
||||||
try {
|
try {
|
||||||
BeforehandOrderCartInfo::where('id', $params['id'])->update([
|
BeforehandOrderCartInfo::where('id', $params['id'])->update([
|
||||||
'price' => $params['purchase'],
|
'price' => $params['purchases'],
|
||||||
'total_price' => $params['total_price'],
|
'total_price' => bcmul($params['purchases'],$params['nums'],2),
|
||||||
'cart_num' => $params['nums'],
|
'cart_num' => $params['nums'],
|
||||||
]);
|
]);
|
||||||
$bhoid = $params['bhoid'];
|
$bhoid = $params['bhoid'];
|
||||||
@ -117,6 +117,9 @@ class BeforehandOrderCartInfoLogic extends BaseLogic
|
|||||||
*/
|
*/
|
||||||
public static function oneClickStorage($params)
|
public static function oneClickStorage($params)
|
||||||
{
|
{
|
||||||
|
if($params['bhoid']<=0){
|
||||||
|
throw new BusinessException('参数错误');
|
||||||
|
}
|
||||||
$count = PurchaseProductOffer::where(['order_id' => $params['bhoid'], 'is_storage' => 0, 'buyer_nums' => 0])->count('id');
|
$count = PurchaseProductOffer::where(['order_id' => $params['bhoid'], 'is_storage' => 0, 'buyer_nums' => 0])->count('id');
|
||||||
$warehousing_id = BeforehandOrder::where('id', $params['bhoid'])->value('warehousing_id');
|
$warehousing_id = BeforehandOrder::where('id', $params['bhoid'])->value('warehousing_id');
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user