mirror of
https://gitee.com/ShopeX/OMS
synced 2026-03-23 02:45:33 +08:00
107 lines
3.9 KiB
PHP
107 lines
3.9 KiB
PHP
<?php
|
|
/**
|
|
* Copyright 2012-2026 ShopeX (https://www.shopex.cn)
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
/**
|
|
* @author ykm 2019/4/17
|
|
* @describe 待寻仓订单
|
|
*/
|
|
class erpapi_shop_response_branch extends erpapi_shop_response_abstract
|
|
{
|
|
protected function _format_wait_items_sdf($sdf) {
|
|
$details = $sdf['delivery_order_details'] ? json_decode($sdf['delivery_order_details'], 1) : array();
|
|
if(!$details) {
|
|
return array();
|
|
}
|
|
|
|
$arrBnList = array();
|
|
foreach ($details as $val) {
|
|
|
|
$bn = kernel::single('material_codebase')->getBnBybarcode($val['barcode']);
|
|
|
|
$arrBnList[$bn] = $val['barcode'];
|
|
}
|
|
$arrBarcodeProduct = array();
|
|
$rows = app::get('material')->model('basic_material')->getList('bm_id,material_bn', array('material_bn'=>array_keys($arrBnList)));
|
|
foreach ($rows as $val) {
|
|
$barcode = $arrBnList[$val['material_bn']];
|
|
$arrBarcodeProduct[$barcode] = $val;
|
|
}
|
|
$items = array();
|
|
foreach ($details as $val) {
|
|
$tmp = array(
|
|
'barcode' => $val['barcode'],
|
|
'product_name' => $val['product_name'],
|
|
'brand_name' => $val['brand_name'],
|
|
'size' => $val['size'],
|
|
'quantity' => $val['quantity'],
|
|
'po_no' => $val['po_no'],
|
|
'cooperation_no' => $val['cooperation_no'],
|
|
|
|
);
|
|
if($arrBarcodeProduct[$val['barcode']]){
|
|
$product = $arrBarcodeProduct[$val['barcode']];
|
|
$tmp['product_id'] = $product['bm_id'];
|
|
$tmp['bn'] = $product['material_bn'];
|
|
}
|
|
$items[] = $tmp;
|
|
}
|
|
return $items;
|
|
}
|
|
|
|
protected function _format_wait_sdf($sdf) {
|
|
$params = array(
|
|
'order_bn' => $sdf['order_sn'],
|
|
'available_warehouses' => implode(',', json_decode($sdf['available_warehouses'], 1)),
|
|
'buyer_address' => $sdf['buyer_address'],
|
|
'vendor_id' => $sdf['vendor_id'],
|
|
'vendor_name' => $sdf['vendor_name'],
|
|
'status' => $sdf['status'],
|
|
'status_remark' => $sdf['status_remark'],
|
|
'last_modified' => strtotime($sdf['update_time']),
|
|
);
|
|
$params['items'] = $this->_format_wait_items_sdf($sdf);
|
|
return $params;
|
|
}
|
|
|
|
/**
|
|
* wait
|
|
* @param mixed $sdf sdf
|
|
* @return mixed 返回值
|
|
*/
|
|
|
|
public function wait($sdf)
|
|
{
|
|
$params = $this->_format_wait_sdf($sdf);
|
|
if(!$params['order_bn']) {
|
|
$this->__apilog['result']['msg'] = '没有此项业务';
|
|
return false;
|
|
}
|
|
$params['shop_id'] = $this->__channelObj->channel['shop_id'];
|
|
$params['shop_type'] = $this->__channelObj->channel['shop_type'];
|
|
$this->__apilog['original_bn'] = $params['order_bn'];
|
|
$this->__apilog['title'] = '待寻仓订单['.$params['order_bn'].']';
|
|
$orderWait = app::get('purchase')->model('order_wait')->db_dump(array('order_bn'=>$params['order_bn'], 'shop_id'=>$params['shop_id']));
|
|
if($orderWait) {
|
|
if(in_array($orderWait['status'], array('JIT','JITX'))) {
|
|
$this->__apilog['result']['msg'] = '寻仓已完毕';
|
|
return false;
|
|
}
|
|
$params['order_wait'] = $orderWait;
|
|
}
|
|
return $params;
|
|
}
|
|
|
|
} |