export type RevisionOperation = '修改' | '删除'

export interface RevisionDataValues {
  voltage: string
  current: string
  capacity: string
  energy: string
  temperature: string
  positivePotential: string
  negativePotential: string
}

export interface DataRevisionRecord {
  id: string
  testId: number
  testName: string
  testedAt: string
  generatedAt: string
  modifiedAt: string
  modifier: string
  remark: string
  operation: RevisionOperation
  stepName: string
  cycleNo: number
  stepNo: number
  stepDuration: string
  absoluteTime: string
  originalData: RevisionDataValues
  revisedData: RevisionDataValues | null
}

const baseValues: RevisionDataValues = {
  voltage: '1.1957',
  current: '-8167.4',
  capacity: '2858.6',
  energy: '3459.3',
  temperature: '40.5',
  positivePotential: '1.641',
  negativePotential: '1.649',
}

function values(overrides: Partial<RevisionDataValues> = {}): RevisionDataValues {
  return { ...baseValues, ...overrides }
}

export const dataRevisionRecords: DataRevisionRecord[] = [
  {
    id: 'DR-260804-012', testId: 1024, testName: '高温循环性能测试', testedAt: '2026-08-04 14:20:16',
    generatedAt: '2026-08-04 14:21:03', modifiedAt: '2026-08-04 15:17:17', modifier: '赵四',
    remark: '复核采集器温度漂移后修正', operation: '修改', stepName: '恒流充电', cycleNo: 14, stepNo: 2,
    stepDuration: '01:29:00.000', absoluteTime: '2026-08-04 14:20:16', originalData: values(),
    revisedData: values({ temperature: '39.8', positivePotential: '1.638' }),
  },
  {
    id: 'DR-260804-011', testId: 1023, testName: '电芯容量一致性测试', testedAt: '2026-08-04 11:46:30',
    generatedAt: '2026-08-04 11:46:31', modifiedAt: '2026-08-04 14:52:08', modifier: '李工',
    remark: '删除通信中断产生的异常采样点', operation: '删除', stepName: '恒压充电', cycleNo: 8, stepNo: 3,
    stepDuration: '00:42:18.500', absoluteTime: '2026-08-04 11:46:30',
    originalData: values({ voltage: '4.2018', current: '42.7', capacity: '3021.4', energy: '11864.2', temperature: '32.8' }), revisedData: null,
  },
  {
    id: 'DR-260804-010', testId: 1022, testName: '低温充放电测试', testedAt: '2026-08-04 09:35:42',
    generatedAt: '2026-08-04 09:35:43', modifiedAt: '2026-08-04 13:26:45', modifier: '周工',
    remark: '依据设备原始日志修正电流值', operation: '修改', stepName: '恒流放电', cycleNo: 3, stepNo: 5,
    stepDuration: '00:58:12.200', absoluteTime: '2026-08-04 09:35:42',
    originalData: values({ voltage: '3.4862', current: '-2014.9', capacity: '1876.3', energy: '6524.8', temperature: '-19.6' }),
    revisedData: values({ voltage: '3.4862', current: '-2000.0', capacity: '1876.3', energy: '6524.8', temperature: '-19.6' }),
  },
  {
    id: 'DR-260803-009', testId: 1021, testName: '电芯老化寿命测试', testedAt: '2026-08-03 17:08:19',
    generatedAt: '2026-08-03 17:08:20', modifiedAt: '2026-08-03 17:45:10', modifier: '王工',
    remark: '修正容量单位换算结果', operation: '修改', stepName: '循环放电', cycleNo: 126, stepNo: 4,
    stepDuration: '01:11:35.000', absoluteTime: '2026-08-03 17:08:19',
    originalData: values({ voltage: '3.2215', current: '-1001.3', capacity: '2.746', energy: '8845.7', temperature: '35.2' }),
    revisedData: values({ voltage: '3.2215', current: '-1001.3', capacity: '2746.0', energy: '8845.7', temperature: '35.2' }),
  },
  {
    id: 'DR-260803-008', testId: 1020, testName: '3C倍率放电验证', testedAt: '2026-08-03 15:18:07',
    generatedAt: '2026-08-03 15:18:08', modifiedAt: '2026-08-03 16:02:33', modifier: '赵工',
    remark: '删除设备切换瞬间的无效点', operation: '删除', stepName: '倍率放电', cycleNo: 1, stepNo: 2,
    stepDuration: '00:00:01.200', absoluteTime: '2026-08-03 15:18:07',
    originalData: values({ voltage: '2.1041', current: '0.0', capacity: '112.8', energy: '238.4', temperature: '28.7' }), revisedData: null,
  },
  {
    id: 'DR-260803-007', testId: 1019, testName: '常温容量复测', testedAt: '2026-08-03 10:42:50',
    generatedAt: '2026-08-03 10:42:51', modifiedAt: '2026-08-03 11:20:14', modifier: '李工',
    remark: '补偿采集器零点偏差', operation: '修改', stepName: '静置', cycleNo: 2, stepNo: 6,
    stepDuration: '00:30:00.000', absoluteTime: '2026-08-03 10:42:50',
    originalData: values({ voltage: '3.7542', current: '12.8', capacity: '2988.1', energy: '10986.4', temperature: '25.3' }),
    revisedData: values({ voltage: '3.7542', current: '0.0', capacity: '2988.1', energy: '10986.4', temperature: '25.3' }),
  },
  {
    id: 'DR-260802-006', testId: 1018, testName: '过充安全边界测试', testedAt: '2026-08-02 16:24:11',
    generatedAt: '2026-08-02 16:24:12', modifiedAt: '2026-08-02 17:05:28', modifier: '陈工',
    remark: '按校准证书修正电压偏移', operation: '修改', stepName: '过充保持', cycleNo: 1, stepNo: 7,
    stepDuration: '00:10:14.000', absoluteTime: '2026-08-02 16:24:11',
    originalData: values({ voltage: '4.4127', current: '503.6', capacity: '3184.7', energy: '13255.0', temperature: '46.9' }),
    revisedData: values({ voltage: '4.4027', current: '503.6', capacity: '3184.7', energy: '13255.0', temperature: '46.9' }),
  },
  {
    id: 'DR-260802-005', testId: 1017, testName: '低温启动能力验证', testedAt: '2026-08-02 13:05:33',
    generatedAt: '2026-08-02 13:05:34', modifiedAt: '2026-08-02 14:16:49', modifier: '周工',
    remark: '删除温箱开门期间的数据', operation: '删除', stepName: '脉冲放电', cycleNo: 4, stepNo: 3,
    stepDuration: '00:00:10.000', absoluteTime: '2026-08-02 13:05:33',
    originalData: values({ voltage: '2.9148', current: '-6500.2', capacity: '932.5', energy: '2781.6', temperature: '-17.2' }), revisedData: null,
  },
  {
    id: 'DR-260801-004', testId: 1016, testName: '1C标准循环测试', testedAt: '2026-08-01 18:42:20',
    generatedAt: '2026-08-01 18:42:21', modifiedAt: '2026-08-01 19:30:03', modifier: '张工',
    remark: '同步检测柜复核值', operation: '修改', stepName: '恒流放电', cycleNo: 100, stepNo: 4,
    stepDuration: '01:04:52.000', absoluteTime: '2026-08-01 18:42:20',
    originalData: values({ voltage: '3.1054', current: '-1000.8', capacity: '2910.2', energy: '9298.6', temperature: '31.4' }),
    revisedData: values({ voltage: '3.1084', current: '-1000.8', capacity: '2910.2', energy: '9298.6', temperature: '31.4' }),
  },
  {
    id: 'DR-260801-003', testId: 1015, testName: '高倍率温升测试', testedAt: '2026-08-01 15:24:48',
    generatedAt: '2026-08-01 15:24:49', modifiedAt: '2026-08-01 16:11:36', modifier: '赵工',
    remark: '修正温度探头通道映射', operation: '修改', stepName: '3C恒流放电', cycleNo: 2, stepNo: 2,
    stepDuration: '00:18:32.000', absoluteTime: '2026-08-01 15:24:48',
    originalData: values({ voltage: '3.3468', current: '-9002.3', capacity: '1654.7', energy: '5536.8', temperature: '26.1' }),
    revisedData: values({ voltage: '3.3468', current: '-9002.3', capacity: '1654.7', energy: '5536.8', temperature: '48.6' }),
  },
  {
    id: 'DR-260731-002', testId: 1014, testName: '批次容量抽检', testedAt: '2026-07-31 14:08:12',
    generatedAt: '2026-07-31 14:08:13', modifiedAt: '2026-07-31 15:44:19', modifier: '李工',
    remark: '删除重复写入的采样点', operation: '删除', stepName: '容量标定', cycleNo: 1, stepNo: 4,
    stepDuration: '00:54:16.000', absoluteTime: '2026-07-31 14:08:12',
    originalData: values({ voltage: '3.6037', current: '-1000.1', capacity: '3002.5', energy: '10816.2', temperature: '25.8' }), revisedData: null,
  },
  {
    id: 'DR-260730-001', testId: 1013, testName: '短路保护响应测试', testedAt: '2026-07-30 10:28:03',
    generatedAt: '2026-07-30 10:28:04', modifiedAt: '2026-07-30 11:09:57', modifier: '陈工',
    remark: '根据高速记录仪补录峰值电流', operation: '修改', stepName: '短路脉冲', cycleNo: 1, stepNo: 3,
    stepDuration: '00:00:00.850', absoluteTime: '2026-07-30 10:28:03',
    originalData: values({ voltage: '1.8423', current: '-18450.0', capacity: '15.8', energy: '32.4', temperature: '29.5' }),
    revisedData: values({ voltage: '1.8423', current: '-19120.4', capacity: '15.8', energy: '32.4', temperature: '29.5' }),
  },
]

export function getDataRevision(id: string) {
  return dataRevisionRecords.find(item => item.id === id)
}
