Merge pull request !199 from 赵世界/bugfix/2023-08-25
This commit is contained in:
赵世界 2023-08-26 03:08:58 +00:00 committed by Gitee
commit c8a8baefdb
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
14 changed files with 82 additions and 29 deletions

View File

@ -61,7 +61,7 @@ class GoodsSkusController extends Controller
]); ]);
$rolesName = $request->user()->getRoleNames()->toArray(); $rolesName = $request->user()->getRoleNames()->toArray();
foreach ($goodsSkus as &$sku) { foreach ($goodsSkus as &$sku) {
$lastInventoryTime = $sku['daily']['inventory_time']; $lastInventoryTime = $sku['daily']['inventory_time'] ?: date('Y-m-d 07:00:00');
$orderDetail = BusinessOrderItem::query() $orderDetail = BusinessOrderItem::query()
->select(DB::raw($fields)) ->select(DB::raw($fields))
->with(['shop:id,name']) ->with(['shop:id,name'])

View File

@ -57,6 +57,7 @@ class ShipController extends Controller
$sender->mobile = $item['mobile']; $sender->mobile = $item['mobile'];
$sender->sort = $item['sort']; $sender->sort = $item['sort'];
$sender->status = $item['status']; $sender->status = $item['status'];
$sender->timed_delivery_code = $item['timed_delivery_code'];
$sender->save(); $sender->save();
} }

View File

@ -29,12 +29,12 @@ class WayBillService
$contents = []; $contents = [];
foreach ($this->orders as $shopId => $order) { foreach ($this->orders as $shopId => $order) {
// 订单取消的情况暂不处理 // 订单取消的情况暂不处理
$shopShip = $this->getShopShip($shopId); $shopShip = $this->getShopShip($shopId);
$faceSheet = new FaceSheet(); $faceSheet = new FaceSheet();
$faceSheet->setShop($shopShip); $faceSheet->setShop($shopShip);
foreach ($order as $item) { foreach ($order as $item) {
[$sender, $orderInfo, $wpCode] = $this->prepareRequest($item, $shopShip); [$sender, $orderInfo, $wpCode] = $this->prepareRequest($item, $shopShip);
$waybill = $this->saveWayBill($item, $shopShip); $waybill = $this->saveWayBill($item, $shopShip, $sender);
if (empty($waybill->id)) { if (empty($waybill->id)) {
$resp = $faceSheet->getWayBill($sender, $orderInfo, $wpCode); $resp = $faceSheet->getWayBill($sender, $orderInfo, $wpCode);
@ -114,9 +114,8 @@ class WayBillService
return [$documents, $orderIds]; return [$documents, $orderIds];
} }
private function saveWayBill($order, $shop) private function saveWayBill($order, $shop, $senderConfig)
{ {
$senderConfig = $shop->senders[0];
$waybill = Waybill::query()->firstOrNew( $waybill = Waybill::query()->firstOrNew(
['order_sn' => $order['order_sn']] ['order_sn' => $order['order_sn']]
); );
@ -179,18 +178,6 @@ class WayBillService
private function prepareRequest($order, $shopShip) private function prepareRequest($order, $shopShip)
{ {
$this->getTimedDelivery($order); $this->getTimedDelivery($order);
$senderConfig = $shopShip->senders[0];
$sender = [
'address' => [
'city' => $senderConfig['city'],
'country' => $senderConfig['country'],
'detail' => $senderConfig['detail'],
'district' => $senderConfig['district'],
'province' => $senderConfig['province'],
],
'name' => $senderConfig['name'],
'mobile' => $senderConfig['mobile'],
];
$this->setObjectId(); $this->setObjectId();
@ -209,6 +196,29 @@ class WayBillService
} }
} }
$senderConfig = [];
foreach ($shopShip->senders as $sender) {
if ($sender['timed_delivery_code'] === $this->timedDeliveryCode) {
$senderConfig = $sender;
break;
}
}
if (empty($senderConfig)) {
abort(404, '发货人信息未匹配');
}
$sender = [
'address' => [
'city' => $senderConfig['city'],
'country' => $senderConfig['country'],
'detail' => $senderConfig['detail'],
'district' => $senderConfig['district'],
'province' => $senderConfig['province'],
],
'name' => $senderConfig['name'],
'mobile' => $senderConfig['mobile'],
];
$orderInfo = [ $orderInfo = [
'logistics_services' => [ 'logistics_services' => [
'TIMED-DELIVERY' => [ 'TIMED-DELIVERY' => [
@ -336,7 +346,7 @@ class WayBillService
->where('shop_id', $shopId) ->where('shop_id', $shopId)
->with([ ->with([
'senders' => function ($query) { 'senders' => function ($query) {
$query->orderBy('sort')->first(); $query->where('status', 1)->orderBy('sort');
} }
]) ])
->first(); ->first();

View File

@ -0,0 +1,35 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddTimedDeliveryCodeToShopSendersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
if (Schema::hasColumns('shop_senders', ['timed_delivery_code'])) {
return;
}
Schema::table('shop_senders', function (Blueprint $table) {
$table->integer('timed_delivery_code')->default(247)->comment('地址类型: 247-电商标快,266-空运');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('shop_senders', function (Blueprint $table) {
$table->dropColumn(['timed_delivery_code']);
});
}
}

View File

@ -1 +1 @@
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a[data-v-5959e012]{text-decoration:none;color:#fff}.block[data-v-5959e012]{margin-top:20px} #nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a[data-v-446dc800]{text-decoration:none;color:#fff}.block[data-v-446dc800]{margin-top:20px}

View File

@ -1 +1 @@
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>erp</title><script defer="defer" src="js/chunk-vendors.9dd0c7db.js"></script><script defer="defer" src="js/app.d75564d8.js"></script><link href="css/chunk-vendors.4e2d36cb.css" rel="stylesheet"><link href="css/app.487f8f5a.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but erp doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html> <!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>erp</title><script defer="defer" src="js/chunk-vendors.9dd0c7db.js"></script><script defer="defer" src="js/app.17b8ae77.js"></script><link href="css/chunk-vendors.4e2d36cb.css" rel="stylesheet"><link href="css/app.487f8f5a.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but erp doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

4
public/dist/js/214.10aea2cc.js vendored Normal file

File diff suppressed because one or more lines are too long

1
public/dist/js/214.10aea2cc.js.map vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
public/dist/js/app.17b8ae77.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -58,11 +58,18 @@
<el-radio :label="0">停用</el-radio> <el-radio :label="0">停用</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="类型">
<el-radio-group v-model="item.timed_delivery_code">
<el-radio :label="247">电商标快</el-radio>
<el-radio :label="266">空运</el-radio>
</el-radio-group>
</el-form-item>
</div> </div>
</template> </template>
<el-form-item> <el-form-item>
<el-button type="primary" @click="saveSenders">保存</el-button> <el-button type="primary" @click="saveSenders()">保存</el-button>
<el-button @click="dialogVisible = false">取消</el-button> <el-button @click="dialogVisible = false">取消</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>