fix: MKH-BOM 配件仓位仓名改用 wms_co_id 关联,修正误显示「常州简尚家居有限公司」 #22
@ -1695,7 +1695,8 @@ function matchesPackSku(componentCode, packSkuCode) {
|
||||
function formatPackLocation(row) {
|
||||
const warehouseName = toText(row.warehouseName);
|
||||
const warehouseId = toText(row.warehouseId);
|
||||
// 仓库优先显示名称(wh_id → jst_warehouseInfo.Id → name),取不到时退回 id
|
||||
// 仓库优先显示名称(wms_co_id → jst_warehouseInfo.wms_co_id → name),取不到时退回 id。
|
||||
// ⚠️ 关联列是 wms_co_id 不是 wh_id,见文件头 ⑤(09-19 修正)
|
||||
const warehouse = warehouseName || (warehouseId ? `仓库 ${warehouseId}` : '');
|
||||
const binGroup = toText(row.binGroup);
|
||||
const bin = toText(row.bin);
|
||||
@ -1772,15 +1773,15 @@ async function loadComponentLocations(codes = []) {
|
||||
const rows = await cloudDatabase.query(
|
||||
`SELECT p.sku_id AS skuId,
|
||||
p.pack_id AS packId,
|
||||
p.wh_id AS warehouseId,
|
||||
p.wms_co_id AS warehouseId,
|
||||
p.bin AS bin,
|
||||
p.bin_group AS binGroup,
|
||||
w.name AS warehouseName,
|
||||
SUM(p.qty) AS qty
|
||||
FROM rpt.jst_packInventoryInfo p WITH (NOLOCK)
|
||||
LEFT JOIN rpt.jst_warehouseInfo w WITH (NOLOCK) ON w.Id = p.wh_id
|
||||
LEFT JOIN rpt.jst_warehouseInfo w WITH (NOLOCK) ON w.wms_co_id = p.wms_co_id
|
||||
WHERE ${conditions.join(' OR ')}
|
||||
GROUP BY p.sku_id, p.pack_id, p.wh_id, p.bin, p.bin_group, w.name
|
||||
GROUP BY p.sku_id, p.pack_id, p.wms_co_id, p.bin, p.bin_group, w.name
|
||||
HAVING SUM(p.qty) > 0`,
|
||||
params,
|
||||
{ requestTimeout: 120000 }
|
||||
|
||||
@ -117,7 +117,9 @@ const buildWarningOrderSql = () => (
|
||||
* 统一的「仓位」表达式(2026-09-18 改源)。
|
||||
* 旧源 `jst_sku.bin / other_bin` 在目标仓 794 行**恒为空**(页面因此长期显示「未维护」);
|
||||
* 真货位在 `rpt.jst_packInventoryInfo.bin` —— 该表 2026-09-18 10:48 被上游刷新后,
|
||||
* 目标仓 794 个 SKU **命中 727 个**(实测),如 ZT-8 / BCP01-01-1。
|
||||
* 目标仓 794 个 SKU **命中 727 个**(09-19 实测;该表小时级增量刷新,命中数会变)。
|
||||
* ⚠️ 只取 bin,**不 join 仓名**,所以不受该表 wh_id / wms_co_id 关联列问题影响(见
|
||||
* mkhBomService 文件头 ⑤;那个坑只影响 MKH-BOM 页配件仓位列的仓名文本)。
|
||||
* · 只取 `qty > 0` 的箱,同 SKU 多箱时取库存最大的那个(列表页只展示主货位)
|
||||
* · 取不到才回退商品档案的 bin / other_bin(目前仍全空,保留兜底不影响结果)
|
||||
* 与 MKH-BOM 页 `mkhBomService.loadComponentLocations()` 同源,区别只在本页取单个主货位。
|
||||
|
||||
@ -789,8 +789,8 @@ test('pack inventory location prefers the warehouse name and keeps the box fallb
|
||||
const locations = _private.buildPackLocationMap([
|
||||
{
|
||||
skuId: 'PART-1-1',
|
||||
warehouseId: 1,
|
||||
warehouseName: '常州简尚家居有限公司',
|
||||
warehouseId: 15718196,
|
||||
warehouseName: '简尚-崔桥工厂半成品包装项目仓',
|
||||
binGroup: null,
|
||||
bin: '',
|
||||
packId: 'BOX-1',
|
||||
@ -798,8 +798,8 @@ test('pack inventory location prefers the warehouse name and keeps the box fallb
|
||||
},
|
||||
{
|
||||
skuId: 'PART-1-2',
|
||||
warehouseId: 1,
|
||||
warehouseName: '常州简尚家居有限公司',
|
||||
warehouseId: 15718196,
|
||||
warehouseName: '简尚-崔桥工厂半成品包装项目仓',
|
||||
binGroup: '成品区',
|
||||
bin: 'A-01',
|
||||
packId: 'BOX-2',
|
||||
@ -809,7 +809,7 @@ test('pack inventory location prefers the warehouse name and keeps the box fallb
|
||||
|
||||
assert.equal(
|
||||
locations.get('PART-1'),
|
||||
'常州简尚家居有限公司 · 箱号 BOX-1、常州简尚家居有限公司 · 成品区 / A-01'
|
||||
'简尚-崔桥工厂半成品包装项目仓 · 箱号 BOX-1、简尚-崔桥工厂半成品包装项目仓 · 成品区 / A-01'
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user