业务库只能还原 4/12 个流水列且口径与聚水潭不一致(采购按单据日期、销售按订单发货日期, jst_salesOutboundInfo.qty 全为 0),调拨/盘点/加工/其它出入库无单据表,故以官方导出为准: - 新增本地表 daily_inventory_official(biz_date + warehouse 存期初/12 流水列/期末) - 新增解析与导入服务:xlsx 解析、仓库 ID 映射、「期初+流水=期末」恒等式校验 - GET /api/daily-inventory 支持 ?date= 指定业务日,官方值优先、缺失回退推算并返回来源标记 - 新增 POST /api/daily-inventory/official-import(xlsx 上传/JSON)与 GET /official 查询 - 导入后回写本地库存快照(官方期初→上一日期末、官方期末→当日期末),使推算也对齐 - 前端:业务日切换、官方/推算来源标记、导入弹窗、口径说明同步更新 - 仓库清单补入「简尚-横林三仓主仓」(聚水潭导出中存在) - 命令行导入:npm run inventory:import-official -- <日期> <xlsx>
30 lines
1.1 KiB
JavaScript
30 lines
1.1 KiB
JavaScript
import request from './request';
|
||
|
||
const LIST_TIMEOUT_MS = 5 * 60 * 1000;
|
||
const IMPORT_TIMEOUT_MS = 2 * 60 * 1000;
|
||
|
||
// 每日进销存:进销存流水 + 实时期末 + 分级库存量
|
||
// refresh=1 跳过后端 5 分钟缓存,强制重算(一次要扫订单明细,约 15~20s)
|
||
// date=YYYY-MM-DD 查看指定业务日(默认取业务库最新业务日)
|
||
export const getDailyInventory = (params = {}) => request.get(
|
||
'/api/daily-inventory',
|
||
{ params, timeout: LIST_TIMEOUT_MS }
|
||
);
|
||
|
||
// 导入聚水潭「进销存按仓导出」xlsx:file 为 File 对象,date 为业务日 YYYY-MM-DD
|
||
export const importDailyInventoryOfficial = ({ file, date }) => {
|
||
const formData = new FormData();
|
||
formData.append('file', file);
|
||
formData.append('date', date);
|
||
return request.post('/api/daily-inventory/official-import', formData, {
|
||
timeout: IMPORT_TIMEOUT_MS,
|
||
headers: { 'Content-Type': 'multipart/form-data' },
|
||
});
|
||
};
|
||
|
||
// 查询某业务日已导入的官方进销存数据
|
||
export const getDailyInventoryOfficial = (date) => request.get(
|
||
'/api/daily-inventory/official',
|
||
{ params: { date } }
|
||
);
|