wz / src /data.ts
sgfw's picture
Upload 17 files
f4cac62 verified
Raw History Blame Contribute Delete
21.4 kB
/**
* @license
* SPDX-License-Identifier: Apache-2.0
*/
import { AccountabilityCase, AuditTrail, CommitteeVote, CaseMaterial } from './types';
// 简易哈希生成,用于模拟审计链防篡改
export function generateAuditHash(trail: Omit<AuditTrail, 'hash'>, prevHash: string = '0000000000000000'): string {
const dataStr = `${trail.id}|${trail.timestamp}|${trail.operator}|${trail.role}|${trail.actionType}|${trail.details}|${prevHash}`;
let hash = 0;
for (let i = 0; i < dataStr.length; i++) {
const char = dataStr.charCodeAt(i);
hash = (hash << 5) - hash + char;
hash = hash & hash; // Convert to 32bit integer
}
return 'AUDIT-' + Math.abs(hash).toString(16).toUpperCase().padStart(8, '0');
}
export const DEFAULT_CASES: AccountabilityCase[] = [
{
id: 'case-001',
caseNo: '银问责字〔2026〕012号',
title: '某分行违规发放流动资金贷款造成大额损失责任问责案',
category: 'asset',
accusedName: '张建国',
accusedDept: '普惠金融部',
accusedPost: '高级客户经理',
incidentAmount: 1200,
description: '在2024年10月的“某商贸有限公司”流动资金贷款发放流程中,存在对借款人真实贸易背景核查不严、关联授信额度穿透审查不到位,导致贷款资金被挪用于股市和购房。该笔贷款现已沦为不良,本金损失达1200万元。经初步判定,张建国作为第一责任人未能履行尽职调查义务。',
currentStep: 2, // 调查阶段
createdAt: '2026-05-10T09:00:00Z',
updatedAt: '2026-06-20T14:30:00Z',
initiatorName: '李合规',
investigationTeam: ['王严明', '陈调查'],
talkRecords: [
{
talker: '王严明',
listener: '张建国',
date: '2026-05-15',
content: '就关于某商贸有限公司1200万信贷流向异常问题进行核实谈话,张建国表示贷前调查中企业提供了购销合同,但未现场核实货物物流信息及增值税发票真伪。'
},
{
talker: '陈调查',
listener: '刘分管 (配合调查人)',
date: '2026-05-18',
content: '核实审批流程。刘分管表示信贷审批会合议中曾有委员提出贸易背景真实性存疑,但张建国作出口头保证,信贷会因此予以通过。'
}
],
factMeetingDelivered: false,
defenseSubmitted: false,
defenseExplanationSubmitted: false,
investigationReportSubmitted: false,
materials: [
{
id: 'mat-101',
name: '《授信尽职调查报告及审批档案》.pdf',
uploader: '李合规',
role: 'initiator',
uploadedAt: '2026-05-10T09:15:00Z',
size: '4.8 MB',
type: 'pdf',
status: 'confirmed'
},
{
id: 'mat-102',
name: '《关于成立张建国信贷违规问题调查组的通知》.docx',
uploader: '李合规',
role: 'initiator',
uploadedAt: '2026-05-10T10:00:00Z',
size: '145 KB',
type: 'docx',
status: 'confirmed'
}
],
committeeVotes: [],
reDeliberationVotes: [],
hasAppeal: false,
hrNotified: false,
auditTrail: [
{
id: 'trail-101',
timestamp: '2026-05-10T09:00:00Z',
operator: '李合规',
role: 'initiator',
actionType: 'INITIATE',
details: '系统立案:发起针对张建国的违规授信问责流程,系统归类为“问题资产问责案(90天办理时限)”。',
ipAddress: '10.12.84.21',
hash: 'AUDIT-8C9B10D4'
},
{
id: 'trail-102',
timestamp: '2026-05-10T10:00:00Z',
operator: '李合规',
role: 'initiator',
actionType: 'START_INVESTIGATION',
details: '成立问责调查组,指定王严明、陈调查为主要调查人,调查流程启动。',
ipAddress: '10.12.84.21',
hash: 'AUDIT-D8A3B2F0'
},
{
id: 'trail-103',
timestamp: '2026-05-15T15:00:00Z',
operator: '王严明',
role: 'investigator',
actionType: 'TALK_RECORD',
details: '开展第一轮调查谈话。被谈话人:张建国。主要针对贷前尽职调查失职情况进行笔录询问。',
ipAddress: '10.12.91.45',
hash: 'AUDIT-29C381A5'
}
]
},
{
id: 'case-002',
caseNo: '银问责字〔2026〕015号',
title: '某支行柜员涉嫌信用卡非法套现及资金拆借合规违纪问责案',
category: 'non-asset',
accusedName: '赵小雅',
accusedDept: '新华路支行营业部',
accusedPost: '综合柜员',
incidentAmount: 35,
description: '赵小雅在2025年期间利用职务之便,使用多张他人的信用卡,通过其私自安装的POS机进行套现累计35万元,并将其中的20万拆借给校外贷平台收取利息。事件被分行合规条线非现场审计系统预警拦截。因属于合规违规案件,非资产损失问责,归类为“非问题资产问责(30工作日办结)”。',
currentStep: 4, // 审议阶段
createdAt: '2026-05-20T10:30:00Z',
updatedAt: '2026-06-22T16:00:00Z',
initiatorName: '张审计',
investigationTeam: ['刘正直', '宋合规'],
talkRecords: [
{
talker: '刘正直',
listener: '赵小雅',
date: '2026-05-25',
content: '就非现场审计预警的18次异常交易笔录核实。赵小雅承认利用亲属信用卡进行套现,并对拆借事实供认不讳,悔过态度良好,积极退还拆借利息。'
}
],
factMeetingDelivered: true,
factMeetingDeliveredAt: '2026-05-28T09:00:00Z',
defenseSubmitted: true,
defenseContent: '本人赵小雅深知自身行为违反了合规守法和从业操守准则,深感懊悔。关于20万元拆借,系朋友急需周转,在5天内即全额追回,未对银行造成任何直接资金损害。本人家庭困难,母亲患病,且属初犯,恳请组织能酌情宽大处理,给予行政警告而非开除处分。',
defenseExplanationSubmitted: true,
defenseExplanationContent: '调查组对赵小雅提交的“母亲重病病历”和“20万于5天内结清并退回”的陈述进行了实地核查,情况属实。调查组建议:虽未产生本金损失,但信用卡套现及非法拆借属于严重违规禁止行为。考虑到自首、悔过和未造成损失,建议从轻问责。',
investigationReportSubmitted: true,
investigationReportContent: '《责任认定调查报告》:认定赵小雅构成严重违规操作行为,赵小雅负有直接经办责任。鉴于其退还全部违法所得且未造成资金实质损失,建议给予“记过”处分,扣减季度绩效。',
trialAcceptedAt: '2026-06-05T08:30:00Z',
trialOpinion: '审理部门对新华路支行赵小雅套现案进行了合规审理。调查程序合法,证据确凿,事实认定无误。赞同调查组的处理建议:拟给予赵小雅“记过”处分,扣发绩效奖金3个月。提交问责委员会审议。',
trialResult: 'agree',
trialOperator: '周审理',
committeeMeetingDate: '2026-06-25',
committeeVotes: [
{
voterName: '吴委座 (委员1)',
choice: 'agree',
opinion: '程序合规,事实清楚。同意拟给予“记过”处分的意见。',
signedAt: '2026-06-24T09:30:00Z',
signatureToken: 'SIG-WU-82F31A'
},
{
voterName: '郑严格 (委员2)',
choice: 'agree',
opinion: '柜员利用职务或银行卡违规套现绝不能放任,虽未造成财产损失也必须从严。同意记过处分。',
signedAt: '2026-06-24T11:15:00Z',
signatureToken: 'SIG-ZHENG-91A23D'
}
],
reDeliberationVotes: [],
hasAppeal: false,
hrNotified: false,
materials: [
{
id: 'mat-201',
name: '《事实见面确认书-经赵小雅签字》.pdf',
uploader: '刘正直',
role: 'investigator',
uploadedAt: '2026-05-28T14:00:00Z',
size: '1.2 MB',
type: 'pdf',
status: 'confirmed'
},
{
id: 'mat-202',
name: '《赵小雅本人申辩材料》.docx',
uploader: '赵小雅',
role: 'respondent',
uploadedAt: '2026-05-30T10:20:00Z',
size: '45 KB',
type: 'docx',
status: 'submitted'
},
{
id: 'mat-203',
name: '《申辩核查意见说明书》.docx',
uploader: '刘正直',
role: 'investigator',
uploadedAt: '2026-06-02T16:30:00Z',
size: '110 KB',
type: 'docx',
status: 'submitted'
},
{
id: 'mat-204',
name: '《新华路支行营业部赵小雅信用卡套现案调查报告》.docx',
uploader: '刘正直',
role: 'investigator',
uploadedAt: '2026-06-04T09:15:00Z',
size: '320 KB',
type: 'docx',
status: 'submitted'
},
{
id: 'mat-205',
name: '《问责审理意见书(合规审理部)》.pdf',
uploader: '周审理',
role: 'examiner',
uploadedAt: '2026-06-15T15:00:00Z',
size: '480 KB',
type: 'pdf',
status: 'confirmed'
}
],
auditTrail: [
{
id: 'trail-201',
timestamp: '2026-05-20T10:30:00Z',
operator: '张审计',
role: 'initiator',
actionType: 'INITIATE',
details: '系统立案:发起针对柜员赵小雅信用卡违规套现的合规问责流程。属于“非问题资产问责案(30个工作日办理时限)”。',
ipAddress: '10.12.84.12',
hash: 'AUDIT-A41F8301'
},
{
id: 'trail-202',
timestamp: '2026-05-28T09:00:00Z',
operator: '刘正直',
role: 'investigator',
actionType: 'DELIVER_FACTS',
details: '向被问责人赵小雅下发《事实见面材料》,当面宣读违规行为认定。',
ipAddress: '10.12.91.56',
hash: 'AUDIT-B892F3E1'
},
{
id: 'trail-203',
timestamp: '2026-05-30T10:20:00Z',
operator: '赵小雅',
role: 'respondent',
actionType: 'SUBMIT_DEFENSE',
details: '被问责人赵小雅提交了书面《申辩材料》,阐明家庭重病负担及悔过态度,请求从宽处理。',
ipAddress: '10.12.105.3',
hash: 'AUDIT-C218B339'
},
{
id: 'trail-204',
timestamp: '2026-06-02T16:30:00Z',
operator: '刘正直',
role: 'investigator',
actionType: 'SUBMIT_DEFENSE_EXPL',
details: '调查组对赵小雅的申辩情况进行核查,形成《申辩意见说明书》并录入系统。',
ipAddress: '10.12.91.56',
hash: 'AUDIT-D123D8A2'
},
{
id: 'trail-205',
timestamp: '2026-06-04T10:00:00Z',
operator: '刘正直',
role: 'investigator',
actionType: 'SUBMIT_REPORT',
details: '调查组正式撰写并录入《责任认定调查报告》,提请审理部门合规性审理。',
ipAddress: '10.12.91.56',
hash: 'AUDIT-E29D3A8F'
},
{
id: 'trail-206',
timestamp: '2026-06-05T08:30:00Z',
operator: '周审理',
role: 'examiner',
actionType: 'TRIAL_ACCEPT',
details: '审理部门周审理受理了该案,开始合规合规审理工作。',
ipAddress: '10.12.82.74',
hash: 'AUDIT-FA82E19D'
},
{
id: 'trail-207',
timestamp: '2026-06-15T15:00:00Z',
operator: '周审理',
role: 'examiner',
actionType: 'TRIAL_SUBMIT_OPINION',
details: '审理部门审结完毕,同意调查组结论及处分建议,出具《问责审理意见书》,流程移交问责委员会委员。',
ipAddress: '10.12.82.74',
hash: 'AUDIT-01AA83BE'
},
{
id: 'trail-208',
timestamp: '2026-06-24T09:30:00Z',
operator: '吴委座 (委员1)',
role: 'deliberator',
actionType: 'COMMITTEE_VOTE',
details: '问责审议委员会委员 吴委座 对本案进行线上审议表决,表决意见:“同意拟记过处分”,并进行电子签名。',
ipAddress: '10.12.3.11',
hash: 'AUDIT-22FF11E5'
},
{
id: 'trail-209',
timestamp: '2026-06-24T11:15:00Z',
operator: '郑严格 (委员2)',
role: 'deliberator',
actionType: 'COMMITTEE_VOTE',
details: '问责审议委员会委员 郑严格 对本案进行线上审议表决,表决意见:“同意拟记过处分,并建议全行通报”,进行电子签名。',
ipAddress: '10.12.3.12',
hash: 'AUDIT-33E1D49D'
}
]
},
{
id: 'case-003',
caseNo: '银问责字〔2026〕009号',
title: '某分行超权限审批并违规发放固定资产贷款责任问责案',
category: 'asset',
accusedName: '林海波',
accusedDept: '公司金融总部',
accusedPost: '总经理',
incidentAmount: 4500,
description: '林海波在担任公司金融总部总经理期间,在“某文旅小镇建设开发项目”固定资产贷款授信过程中,明知该项目未取得政府土地规划批文、项目自筹资金未按比例到位,通过化整为零、超权限分拆审批的方式,违规批复并放款4500万元。该项目目前已完全停工,我行资金面临巨大损失风险。',
currentStep: 6, // 申诉阶段
createdAt: '2026-04-01T08:00:00Z',
updatedAt: '2026-06-23T11:00:00Z',
initiatorName: '高风控',
investigationTeam: ['谢调查', '胡合规'],
talkRecords: [],
factMeetingDelivered: true,
factMeetingDeliveredAt: '2026-04-15T10:00:00Z',
defenseSubmitted: true,
defenseContent: '林海波申辩:该文旅小镇项目系当年省、市两级重点招商引资工程,时间紧急。分拆审批系为了顺应当地政府推进项目的窗口期,主观并无恶意。且由于后续政策调整才导致停工。本人不应对客观政策变动导致的不良承担全部直接问责责任。',
defenseExplanationSubmitted: true,
defenseExplanationContent: '调查组核查指出:省、市招商引资不能作为对抗商业银行授信合规底线的理由。超权限拆分审批属于明知故犯。政策变化属于外部风险,但不免除贷前准入审查重大失职责任。驳回免责申辩。',
investigationReportSubmitted: true,
investigationReportContent: '《责任认定调查报告》:认定林海波对超权限分拆审批行为承担“主要领导责任”及“直接责任”。建议给予“撤职、降级”处分,扣减全部年终绩效奖金,并调离关键岗位。',
trialAcceptedAt: '2026-05-10T11:00:00Z',
trialOpinion: '审理部门合规审理:认定程序合法、事实清楚、证据链完整。赞同调查组认定:林海波负主要领导及直接管理责任。赞同拟给予“撤职、降级”处分的意见。',
trialResult: 'agree',
trialOperator: '周审理',
committeeMeetingDate: '2026-06-02',
committeeVotes: [
{
voterName: '吴委座 (委员1)',
choice: 'agree',
opinion: '超权限拆分审批严重挑战合规底线,金额巨大,建议顶格处理。同意撤职、降级处分。',
signedAt: '2026-06-02T15:00:00Z',
signatureToken: 'SIG-WU-392F1C'
},
{
voterName: '郑严格 (委员2)',
choice: 'agree',
opinion: '涉案金额达4500万,性质恶劣,同意撤职降级。必须树立合规红线。',
signedAt: '2026-06-02T15:30:00Z',
signatureToken: 'SIG-ZHENG-119D3E'
},
{
voterName: '王中立 (委员3)',
choice: 'agree',
opinion: '赞成撤职及降级。建议将其违规事实全系统通报,起到警示教育作用。',
signedAt: '2026-06-02T16:00:00Z',
signatureToken: 'SIG-WANG-928A4F'
}
],
notificationDeliveredAt: '2026-06-15T09:00:00Z',
hasAppeal: true,
appealReason: '本人对撤职及降级合并处分不服。第一,化整为零分拆授信系分行集体决策,在总经理办公会中全票通过,本人不应承担全部主要责任。第二,撤职并降级属于双重处分,明显过重。特提出申诉,请求对责任划分进行重新复查。',
appealSubmittedAt: '2026-06-23T11:00:00Z',
materials: [
{
id: 'mat-301',
name: '《项目拆分审批专项审计证据链》.pdf',
uploader: '高风控',
role: 'initiator',
uploadedAt: '2026-04-01T09:00:00Z',
size: '12.4 MB',
type: 'pdf',
status: 'confirmed'
},
{
id: 'mat-302',
name: '《林海波超权限违规授信案责任认定调查报告》.docx',
uploader: '谢调查',
role: 'investigator',
uploadedAt: '2026-04-28T10:00:00Z',
size: '1.5 MB',
type: 'docx',
status: 'submitted'
},
{
id: 'mat-303',
name: '《问责委员会会议纪要-第6次会议》.pdf',
uploader: '吴委座 (委员1)',
role: 'deliberator',
uploadedAt: '2026-06-03T10:00:00Z',
size: '890 KB',
type: 'pdf',
status: 'confirmed'
},
{
id: 'mat-304',
name: '《林海波个人书面申诉书》.docx',
uploader: '林海波',
role: 'respondent',
uploadedAt: '2026-06-23T11:00:00Z',
size: '88 KB',
type: 'docx',
status: 'submitted'
}
],
reDeliberationVotes: [],
hrNotified: false,
auditTrail: [
{
id: 'trail-301',
timestamp: '2026-04-01T08:00:00Z',
operator: '高风控',
role: 'initiator',
actionType: 'INITIATE',
details: '系统立案:发起针对林海波超权限审批固定资产贷款责任问责。分类为“问题资产问责案(90天时限)”。',
ipAddress: '10.12.84.18',
hash: 'AUDIT-6B22F113'
},
{
id: 'trail-302',
timestamp: '2026-04-15T10:00:00Z',
operator: '谢调查',
role: 'investigator',
actionType: 'DELIVER_FACTS',
details: '送达《事实见面材料》予被问责人林海波,并现场记录其辩词。',
ipAddress: '10.12.91.49',
hash: 'AUDIT-7A92C3D1'
},
{
id: 'trail-303',
timestamp: '2026-04-28T10:00:00Z',
operator: '谢调查',
role: 'investigator',
actionType: 'SUBMIT_REPORT',
details: '撰写并提交《责任认定调查报告》,移交审理。',
ipAddress: '10.12.91.49',
hash: 'AUDIT-892F13C8'
},
{
id: 'trail-304',
timestamp: '2026-05-10T11:00:00Z',
operator: '周审理',
role: 'examiner',
actionType: 'TRIAL_ACCEPT',
details: '审理部门受理案件,并开始审理流程。',
ipAddress: '10.12.82.74',
hash: 'AUDIT-91B2F3D4'
},
{
id: 'trail-305',
timestamp: '2026-05-25T14:00:00Z',
operator: '周审理',
role: 'examiner',
actionType: 'TRIAL_SUBMIT_OPINION',
details: '完成审理,出具《审理意见书》,建议维持“撤职、降级”处分,呈送问责审议委员会。',
ipAddress: '10.12.82.74',
hash: 'AUDIT-A28F3C1E'
},
{
id: 'trail-306',
timestamp: '2026-06-02T16:00:00Z',
operator: '吴委座 (委员1)',
role: 'deliberator',
actionType: 'COMMITTEE_VOTE',
details: '问责委员会召开全体会议审议,吴委座、郑严格、王中立等3位委员签署表决意见。全票通过“撤职、降级”处分。',
ipAddress: '10.12.3.11',
hash: 'AUDIT-B292D3E5'
},
{
id: 'trail-307',
timestamp: '2026-06-15T09:00:00Z',
operator: '周审理',
role: 'examiner',
actionType: 'DELIVER_NOTIFICATION',
details: '向林海波正式下达《问责审议决定通知书》,开启10个工作日申诉窗口期。',
ipAddress: '10.12.82.74',
hash: 'AUDIT-C381E29F'
},
{
id: 'trail-308',
timestamp: '2026-06-23T11:00:00Z',
operator: '林海波',
role: 'respondent',
actionType: 'APPEAL',
details: '被问责人林海波不服撤职、降级处分,通过系统正式提交《书面申诉书》,流程转入“申诉复查”阶段。',
ipAddress: '10.12.105.15',
hash: 'AUDIT-D293C1A2'
}
]
}
];
export function loadCases(): AccountabilityCase[] {
const data = localStorage.getItem('bank_accountability_cases');
if (data) {
try {
return JSON.parse(data);
} catch (e) {
console.error('Failed to parse cases from localStorage, reverting to defaults', e);
}
}
saveCases(DEFAULT_CASES);
return DEFAULT_CASES;
}
export function saveCases(cases: AccountabilityCase[]) {
localStorage.setItem('bank_accountability_cases', JSON.stringify(cases));
}