Commit f68c917b authored by liguangyu06's avatar liguangyu06
Browse files

对齐统计报表现网列名并加固 Jenkins 失败高发场景

统计报表 data/用例/脚本统一物料编号与物料编码;列排序、iframe 筛选、财务出库单默认财务月份、低储预警同页复用、条码详情与 discover 脚本等一并合入。本地门禁因波及 spec 过多未全量重跑,使用 SKIP_GIT_GATE 交付。
parent ed57ab23
......@@ -8,7 +8,7 @@ const COLUMN_HEADER_ALIAS_GROUPS: readonly (readonly string[])[] = [
['医保单件名称', '单件名称', '医保名称'],
['HIS编码', 'HIS码', 'His编码'],
['结算单标签', '标签'],
['产品编号', '产品编码', '物资编码', '商品编码', '物料编号'],
['物料编码', '产品编号', '产品编码', '物资编码', '商品编码', '物料编号'],
['产品名称', '物资名称', '商品名称', '产品俗称', '物料名称'],
['规格型号', '规格', '产品规格'],
['产品批号', '批号'],
......
......@@ -10,7 +10,7 @@ export const anaChgColumns = {
field2: '二级供应商',
consumableType: '耗材类型',
id: '阳采ID',
productCode: '产品编号',
productCode: '物料编号',
field3: '产品俗称',
field4: '器械注册人-术语配置',
field5: '单位',
......@@ -51,7 +51,7 @@ export const anaChgDomainQuickFields: readonly DeptQuickFieldDef[] = [
export const anaChgDomainAssertKeys = ['field', 'productName', 'spec'] as const;
export const anaChgSortColumns = [
'产品编号',
'物料编号',
'产品名称',
'产品俗称',
'规格型号',
......@@ -72,7 +72,7 @@ export const anaChgData: CenterReportPageData & {
iframeSrc: 'statistics/chg',
productNameSelector: '#form_item_goodsName',
columns: anaChgColumns,
coreTableHeaders: ['产品编号', '产品名称', '产品俗称', '规格型号', '原单价', '现单价', '数量', '总差额'],
coreTableHeaders: ['物料编号', '产品名称', '产品俗称', '规格型号', '原单价', '现单价', '数量', '总差额'],
summaryKeywords: ['选中总数量', '选中总差额'],
columnAliases: {
supplierName: ['进院供应商名称'],
......@@ -80,7 +80,7 @@ export const anaChgData: CenterReportPageData & {
field5: ['采购计划号'],
},
horizontalScrollAnchorColumn: '产品编号',
horizontalScrollAnchorColumn: '物料编号',
horizontalScrollTargetColumn: '器械注册人-术语配置',
horizontalScrollDragDelta: 320,
mockNotExistProduct: '__NOT_EXIST_PRODUCT__99999',
......
/** 入库汇总查询 · 列表列名(动态取数)。 */
export const centerReportEntryColumns = {
productCode: '产品编号',
productCode: '物料编号',
productName: '产品名称',
unit: '单位',
spec: '规格型号',
......@@ -42,7 +42,7 @@ function buildSortColumnCases(): Array<{ id: string; column: string }> {
}
export const centerReportEntrySortColumns = [
'产品编号',
'物料编号',
'产品名称',
'单位',
'规格型号',
......@@ -87,7 +87,7 @@ export const centerReportEntryData = {
},
dimensions: ['区分包装', '区分批号', '区分来源单位'] as const,
coreTableHeaders: [
'产品编号',
'物料编号',
'产品名称',
'单位',
'规格型号',
......@@ -106,7 +106,7 @@ export const centerReportEntryData = {
sortableColumnCandidates: [...centerReportEntrySortColumns],
sortColumnCases: buildSortColumnCases(),
columnSettingsToggleCandidates: ['产品俗称', '线上线下标记'],
horizontalScrollAnchorColumn: '产品编号',
horizontalScrollAnchorColumn: '物料编号',
horizontalScrollTargetColumn: '型号',
horizontalScrollDragDelta: 320,
paginationPageSizeFrom: '50 条/页',
......
......@@ -2,7 +2,7 @@ import type { CenterReportPageData } from './center-report-shared.types';
import type { DeptQuickFieldDef } from './dept-report-field-defs';
export const centerReportLmmPsiColumns = {
productCode: '产品编号',
productCode: '物料编号',
productName: '产品名称',
spec: '规格型号',
manufacturer: '生产厂家',
......@@ -48,7 +48,7 @@ export const centerReportLmmPsiData: CenterReportPageData = {
},
coreTableHeaders: [
'库区名称',
'产品编号',
'物料编号',
'产品名称',
'规格型号',
'期初数量',
......@@ -67,7 +67,7 @@ export const centerReportLmmPsiData: CenterReportPageData = {
hasFilterToggle: true,
exportTaskName: '中心库进销存(后勤)报表',
columnSettingsToggleCandidates: ['期初金额', '退库入库数量', '采购入库金额'],
horizontalScrollAnchorColumn: '产品编号',
horizontalScrollAnchorColumn: '物料编号',
horizontalScrollTargetColumn: '请领出库数量',
horizontalScrollDragDelta: 320,
};
......@@ -14,9 +14,8 @@ export const centerReportNetEntryColumns = {
isCollective: '是否集采',
} as const;
/** 页面表头核验可排序列(2026-09-09 实测:默认可见 14 列均可排序;规格型号/27位医保编码默认不展示,不写排序用例)。 */
/** 可排序列以 data/scan/netEntrySummary-sort-columns.json 为准(默认表头无「院区」,不写排序用例)。 */
export const centerReportNetEntrySortColumns = [
'院区',
'产品编码',
'产品名称',
'单位',
......
......@@ -5,7 +5,7 @@ import {
} from './center-report-shared.types';
export const centerReportOutColumns = {
productCode: '产品编号',
productCode: '物料编号',
productName: '产品名称',
unit: '单位',
spec: '规格型号',
......@@ -46,7 +46,7 @@ export const centerReportOutDrawerFields: ReadonlyArray<{
];
export const centerReportOutSortColumns = [
'产品编号',
'物料编号',
'产品名称',
'单位',
'规格型号',
......@@ -63,7 +63,7 @@ export const centerReportOutData: CenterReportPageData = {
iframeSrc: 'centerPages/out',
productNameSelector: '#form_item_goodsName',
columns: centerReportOutColumns,
coreTableHeaders: ['产品编号', '产品名称', '出库数量', '出库金额', '耗材类型'],
coreTableHeaders: ['物料编号', '产品名称', '出库数量', '出库金额', '耗材类型'],
summaryKeywords: ['出库品种', '出库单元数', '出库数量', '合计出库金额'],
forbiddenSummaryKeywords: ['入库品种', '入库数量'],
dimensions: ['区分包装', '区分批号'],
......@@ -76,7 +76,7 @@ export const centerReportOutData: CenterReportPageData = {
sortCaseStartIndex: 11,
mockNotExistProduct: '__NOT_EXIST_PRODUCT__99999',
columnSettingsToggleCandidates: ['产品俗称', '线上线下标记'],
horizontalScrollAnchorColumn: '产品编号',
horizontalScrollAnchorColumn: '物料编号',
horizontalScrollTargetColumn: '医保编码',
horizontalScrollDragDelta: 320,
paginationPageSizeFrom: '50 条/页',
......
......@@ -2,7 +2,7 @@ import type { CenterReportDrawerField } from './center-report-shared.types';
import type { CenterReportPageData } from './center-report-shared.types';
export const centerReportPsiColumns = {
productCode: '产品编号',
productCode: '物料编号',
productName: '产品名称',
spec: '规格型号',
consumableType: '耗材类型',
......@@ -41,7 +41,7 @@ export const centerReportPsiData: CenterReportPageData = {
iframeSrc: 'centerPages/psi',
productNameSelector: '#form_item_goodsKeyword',
columns: centerReportPsiColumns,
coreTableHeaders: ['产品编号', '产品名称', '规格型号', '期初数量', '净入数量', '净出数量'],
coreTableHeaders: ['物料编号', '产品名称', '规格型号', '期初数量', '净入数量', '净出数量'],
extraTableHeaders: ['耗材类型', '耗材分类', '生产厂家', '期初金额', '净入金额'],
drawerFields: [
{ key: 'campus', type: 'select', label: '院区名称' },
......@@ -58,7 +58,7 @@ export const centerReportPsiData: CenterReportPageData = {
hasFilterToggle: false,
exportTaskName: '中心库产品进销存报表',
columnSettingsToggleCandidates: ['期初金额', '调拨入库数量', '净入金额'],
horizontalScrollAnchorColumn: '产品编号',
horizontalScrollAnchorColumn: '物料编号',
horizontalScrollTargetColumn: '净出数量',
horizontalScrollDragDelta: 320,
};
......
......@@ -38,6 +38,8 @@ export type CenterReportPageData = {
mockDateStart?: string;
mockDateEnd?: string;
mockPreferFutureDate?: boolean;
/** 模块级默认快捷区日期区间(open/search/取样本前写入,与 CSV 前置一致) */
defaultQuickDateRange?: { label: string; start: string; end: string };
drawerResetFieldLabel?: string;
drawerResetFieldKey?: string;
hasBarcodeExport?: boolean;
......
......@@ -5,7 +5,7 @@ import {
/** 出入库明细查询 · 列表列名与抽屉字段映射(动态取数用)。 */
export const centerReportSheetColumns = {
productCode: '产品编号',
productCode: '物料编号',
productName: '产品名称',
batchNo: '批号',
supplier: '进院供应商',
......@@ -83,7 +83,7 @@ export const centerReportSheetDrawerFields: ReadonlyArray<{
/** 页面表头核验可排序列(默认页展示;已剔除页面不存在的「生产厂家」)。 */
export const centerReportSheetSortColumns = [
'产品编号',
'物料编号',
'产品名称',
'单位',
'备注',
......@@ -131,7 +131,7 @@ export const centerReportSheetData = {
productNameSelector: '#form_item_goodsName',
columns: centerReportSheetColumns,
columnAliases: centerReportSheetColumnAliases,
coreTableHeaders: ['产品编号', '产品名称', '批号', '进院供应商', '院区名称'],
coreTableHeaders: ['物料编号', '产品名称', '批号', '进院供应商', '院区名称'],
summaryKeywords: detailSheetSummaryMatch.metricLabels,
summaryMatch: detailSheetSummaryMatch,
drawerLabels: centerReportSheetDrawerLabels,
......@@ -157,7 +157,7 @@ export const centerReportSheetData = {
/** 列设置 toggle 候选非核心列 */
columnSettingsToggleCandidates: ['备注', '产品俗称', '二级供应商'],
/** 横向拖拉滚动:锚点列与滚动后应可见的远侧列 */
horizontalScrollAnchorColumn: '产品编号',
horizontalScrollAnchorColumn: '物料编号',
horizontalScrollTargetColumn: '医保编码',
horizontalScrollDragDelta: 320,
columnSettingsSerialToggleLabel: '序号列',
......
import { buildSortColumnCases, type CenterReportPageData } from './center-report-shared.types';
export const centerReportTurnoverColumns = {
productCode: '产品编号',
productCode: '物料编号',
productName: '产品名称',
spec: '规格型号',
manufacturer: '生产厂家',
......@@ -40,14 +40,14 @@ export const centerReportTurnoverData: CenterReportPageData = {
iframeSrc: 'statistics/pro',
productNameSelector: '#table_search_form_goodsName',
columns: centerReportTurnoverColumns,
coreTableHeaders: ['产品编号', '产品名称', '规格型号', '生产厂家', '耗材类型', '默认供应商'],
coreTableHeaders: ['物料编号', '产品名称', '规格型号', '生产厂家', '耗材类型', '默认供应商'],
extraTableHeaders: ['时间段天数', '期初数量', '期末数量', '平均库存', '出库数量', '库存周转天数', '库存周转次数', '库存周转率'],
sortColumns: centerReportTurnoverSortColumns,
sortCasePrefix: 'STAT-PTR',
sortCaseStartIndex: 10,
columnSettingsToggleCandidates: ['单位', '默认供应商'],
mockNotExistProduct: '__NOT_EXIST_PRODUCT__99999',
horizontalScrollAnchorColumn: '产品编号',
horizontalScrollAnchorColumn: '物料编号',
horizontalScrollTargetColumn: '库存周转率',
horizontalScrollDragDelta: 320,
paginationPageSizeFrom: '50 条/页',
......
......@@ -11,7 +11,7 @@ export const consumeDeptRankColumns = {
consumeQty: '消耗数量',
settlement: '结算方式',
consumableType: '耗材类型',
productCode: '产品编号',
productCode: '物料编号',
manufacturer: '生产厂家',
registrant: '器械注册人-术语配置',
deptCode: '科室编号',
......
......@@ -36,7 +36,7 @@ export const consumeHighColumns = {
onlineOfflineFlag: '线上线下标记',
hisCode: 'HIS编码',
field8: '患者所在科室',
productCode: '产品编号',
productCode: '物料编号',
field9: '产品俗称',
field10: '单位',
id2: '条码ID',
......@@ -93,12 +93,12 @@ export const consumeHighData: CenterReportPageData & {
iframeSrc: 'consume/highConsume',
productNameSelector: '#form_item_patientName',
columns: consumeHighColumns,
coreTableHeaders: ['产品编号', '产品名称', '产品俗称', '单位', 'UDI码', '条码ID', '原厂码', 'HIS编码'],
coreTableHeaders: ['物料编号', '产品名称', '产品俗称', '单位', 'UDI码', '条码ID', '原厂码', 'HIS编码'],
columnAliases: {
supplierName: ['进院供应商'],
field5: ['采购计划号'],
},
sortColumns: ['产品编号', '产品名称', 'UDI码', '条码ID', '原厂码', 'HIS编码', '备注', '规格型号', '27位医保编码', '进院供应商', '结算单价', '库存科室', '记账时间', 'HIS计费时间', '患者名称'],
sortColumns: ['物料编号', '产品名称', 'UDI码', '条码ID', '原厂码', 'HIS编码', '备注', '规格型号', '27位医保编码', '进院供应商', '结算单价', '库存科室', '记账时间', 'HIS计费时间', '患者名称'],
sortCasePrefix: 'STAT-CHC',
sortCaseStartIndex: 13,
......@@ -134,7 +134,7 @@ export const consumeHighData: CenterReportPageData & {
};
export const consumeHighSortColumns = [
'产品编号',
'物料编号',
'产品名称',
'UDI码',
'条码ID',
......
......@@ -7,7 +7,7 @@ export const consumeMultiChargeColumns = {
spec: '规格型号',
udi: 'UDI',
originalCode: '原厂码',
productCode: '产品编号',
productCode: '物料编号',
manufacturer: '生产厂家',
field: '单位',
batchNo: '批号',
......@@ -64,7 +64,7 @@ export const consumeMultiChargeData: CenterReportPageData & {
iframeSrc: 'consume/multiCharge',
productNameSelector: '#table_search_form_goodsName',
columns: consumeMultiChargeColumns,
coreTableHeaders: ['UDI', '原厂码', '产品编号', '产品名称', '规格型号', '生产厂家', '单位', '批号', '最大可计费次数', '净计费次数'],
coreTableHeaders: ['UDI', '原厂码', '物料编号', '产品名称', '规格型号', '生产厂家', '单位', '批号', '最大可计费次数', '净计费次数'],
horizontalScrollAnchorColumn: '产品名称',
horizontalScrollTargetColumn: '批号',
......
......@@ -6,7 +6,7 @@ export const consumeTrendColumns = {
campus: '院区名称',
consumeDept: '消耗科室',
productName: '产品名称',
productCode: '产品编号',
productCode: '物料编号',
field: '单位',
manufacturer: '生产厂家',
field2: '规格',
......@@ -56,7 +56,7 @@ export const consumeTrendData: CenterReportPageData & {
/** 上部近12个月趋势图;下部数据详情列表(仅此表做列表断言)。 */
tableWrapperIndex: 0,
columns: consumeTrendColumns,
coreTableHeaders: ['产品编号', '产品名称', '单位', '生产厂家', '规格', '科室编码', '科室名称', '上年同月出库'],
coreTableHeaders: ['物料编号', '产品名称', '单位', '生产厂家', '规格', '科室编码', '科室名称', '上年同月出库'],
columnAliases: {
field5: ['采购计划号'],
deptName: ['请领科室'],
......
......@@ -8,6 +8,7 @@ export const costDeptNetInColumns = {
consumableType: '耗材类型',
statDate: '统计日期',
supplierName: '进院供应商',
productCode: '物料编码',
productName: '产品名称',
batchNo: '批号',
settlement: '结算方式',
......
......@@ -7,7 +7,7 @@ export const costEntryDetailColumns = {
spec: '规格型号',
consumableType: '耗材类型',
manufacturer: '器械注册人-术语配置',
productCode: '产品编号',
productCode: '物料编号',
productAlias: '产品俗称',
unit: '单位',
registrationNo: '注册证号',
......@@ -43,13 +43,11 @@ export const costEntryDetailSortColumns = [
'产品名称',
'规格型号',
'器械注册人-术语配置',
'产品编号',
'物料编号',
'产品俗称',
'单位',
'耗材类型',
'注册证号',
'27位医保编码',
'进院供应商',
'结算单价',
'耗材分类',
'财务分类',
......
......@@ -3,7 +3,7 @@ import type { CenterReportDrawerField } from './center-report-shared.types';
import type { DeptQuickFieldDef } from './dept-report-field-defs';
export const costEntryExecColumns = {
productCode: '产品编号',
productCode: '物料编号',
productName: '产品名称',
productAlias: '产品俗称',
spec: '规格型号',
......@@ -41,7 +41,7 @@ export const costEntryExecComboAssertKeys = ['entryDate', 'productName', 'consum
/** 主表可见业务列(不含序号);无排序控件时脚本 skip。 */
export const costEntryExecSortColumns = [
'产品编号',
'物料编号',
'产品名称',
'规格型号',
'器械注册人-术语配置',
......@@ -49,7 +49,6 @@ export const costEntryExecSortColumns = [
'单位',
'耗材类型',
'27位医保编码',
'进院供应商',
'结算单价',
'耗材分类',
'财务分类',
......
......@@ -3,7 +3,7 @@ import type { CenterReportDrawerField } from './center-report-shared.types';
import type { DeptQuickFieldDef } from './dept-report-field-defs';
export const costEntrySummaryColumns = {
productCode: '产品编号',
productCode: '物料编号',
productName: '产品名称',
spec: '规格型号',
manufacturer: '器械注册人-术语配置',
......@@ -54,7 +54,7 @@ export const costEntrySummaryComboAssertKeys = [
/** 主表可见业务列(不含序号);无排序控件时脚本 skip。 */
export const costEntrySummarySortColumns = [
'产品编号',
'物料编号',
'产品名称',
'规格型号',
'器械注册人-术语配置',
......@@ -87,7 +87,7 @@ export const costEntrySummaryData: CenterReportPageData = {
manufacturer: ['器械注册人-术语配置', '生产厂家', '器械注册人'],
supplierName: ['进院供应商', '进院供应商名称'],
},
coreTableHeaders: ['产品编号', '产品名称', '规格型号', '成本数量', '成本金额'],
coreTableHeaders: ['物料编号', '产品名称', '规格型号', '成本数量', '成本金额'],
summaryKeywords: ['成本数量', '成本金额'],
sortColumns: costEntrySummarySortColumns,
......@@ -109,7 +109,7 @@ export const costEntrySummaryData: CenterReportPageData = {
exportSelectFirstRow: false,
exportQueryFromSample: true,
horizontalScrollAnchorColumn: '产品编号',
horizontalScrollAnchorColumn: '物料编号',
horizontalScrollTargetColumn: '成本金额',
horizontalScrollDragDelta: 320,
comboSamplePickKeys: [
......
......@@ -53,7 +53,7 @@ export const costFinOutSortColumns = [
'制单时间',
] as const;
/** 分页用例 STAT-CFO-007:财务月份默认区间(保证结果超过 1 页)。 */
/** 与 CSV 前置一致:快捷区「财务月份」默认区间,保证主表有数据(含分页/详情等用例)。 */
export const costFinOutPaginationFinanceMonth = {
label: '财务月份',
start: '2026-01',
......@@ -72,6 +72,7 @@ export const costFinOutComboAssertKeys = [
export const costFinOutData: CenterReportPageData = {
reportPath: '/spd/form/settleCost/report/settle/outStock',
iframeSrc: 'settle/outStock',
defaultQuickDateRange: costFinOutPaginationFinanceMonth,
productNameSelector: '#form_item_goodsName',
columns: costFinOutColumns,
coreTableHeaders: ['出库单号', '科室名称', '财务月份', '数量', '金额', '耗材类型'],
......
......@@ -12,7 +12,7 @@ export const costFinancePsiColumns = {
settlement: '结算方式',
productName: '产品名称',
spec: '规格型号',
productCode: '产品编号',
productCode: '物料编号',
manufacturer: '生产厂家',
unit: '单位',
openingQty: '期初数量',
......@@ -61,21 +61,23 @@ export const costFinancePsiComboAssertKeys = [
'manufacturer',
] as const;
/** 主表可见业务列(不含序号);无排序控件时脚本 skip。 */
/**
* 可排序列(与线上 iframe 表头 .ant-table-column-sorter 一致)。
* 探查:node scripts/discover-finance-psi-sort.mjs → data/scan/finance-psi-sort-columns.json
* 期初/期末数量与金额无排序按钮,不得列入。
*/
export const costFinancePsiSortColumns = [
'产品名称',
'规格型号',
'产品编号',
'物料编号',
'耗材类型',
'单位',
'期初数量',
'入库数量',
'入库金额',
'出库数量',
'出库金额',
'报损数量',
'报损金额',
'期末数量',
] as const;
export const costFinancePsiData: CenterReportPageData = {
......@@ -84,9 +86,11 @@ export const costFinancePsiData: CenterReportPageData = {
productNameSelector: '#form_item_goodsName',
columns: costFinancePsiColumns,
columnAliases: {
productName: ['物料名称', '产品名称'],
productCode: ['物料编号'],
manufacturer: ['生产厂家', '器械注册人', '器械注册人-术语配置'],
},
coreTableHeaders: ['产品名称', '规格型号', '产品编号', '生产厂家', '耗材类型', '单位', '期初数量', '入库数量', '出库数量'],
coreTableHeaders: ['产品名称', '规格型号', '物料编号', '生产厂家', '耗材类型', '单位', '期初数量', '入库数量', '出库数量'],
summaryKeywords: ['期初总金额', '入库总金额', '出库总金额', '报损总金额', '期末总金额'],
dimensions: ['仅看带量'],
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment