- 商品来源从「下单商品 jst_OrderItem」改为「出库实发商品」:按出库单 io_id 关联发货数据视图 Jst_SendData_View_extension 取实发条码/数量,jst_OrderItem/dws 仅作兜底。消除组合/多规格包裹的多吐行与数量错误。 - 长宽高/体积/供应商/重量优先取自发货视图(体积=长×宽×高,整箱算一次)。 - 导出明细:多条码(逗号拼接)按条码拆条,数量/体积按条码数均摊,合并求和后与整行一致。 - 去除以 @ 开头、去@后已存在的重复单号(换单/重拉产生)。 - 发货单查询改为按主键翻页 + PHP 窗口过滤,避免 send_time 无索引全表扫。 - 逐天预载 dws,进度回调输出扫描/命中进度。 新增命令:jst:dump(导出对比CSV)、jst:row(抽查单号)、jst:dedup-at(去@重复)。 9.1-9.16 全量对比:共有 19.3 万包裹,数量/名称/条码/体积/供应商等字段一致率 99.9%; 导出明细件数结构 99.87% 一致。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhRy6EiUwf
21 lines
800 B
PHP
21 lines
800 B
PHP
<?php
|
|
namespace App\Console\Commands;
|
|
use Illuminate\Console\Command;
|
|
use Illuminate\Support\Facades\DB;
|
|
class JstRow extends Command
|
|
{
|
|
protected $signature = 'jst:row {--trade=}';
|
|
protected $description = '看本地表某交易单号的行';
|
|
public function handle(): int
|
|
{
|
|
$c = DB::connection((string) config('jushuitan.connection', 'jushuitan_local'));
|
|
$rows = $c->table('jst_oms_shipping')->where('trade_no', (string) $this->option('trade'))
|
|
->get(['express_no', 'barcode', 'product_name', 'qty', 'pkg_count', 'supplier_name', 'length_cm', 'volume_cm3']);
|
|
$this->line('行数='.count($rows));
|
|
foreach ($rows as $r) {
|
|
$this->line(' '.json_encode($r, JSON_UNESCAPED_UNICODE));
|
|
}
|
|
return self::SUCCESS;
|
|
}
|
|
}
|