```python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
模块名称:宜春流水办理指南
版本:1.0.0
作者:流水助手
描述:以代码诗形式,诠释宜春个人及对公流水账单的合规获取之道
联系方式:130-6712-5959 (置于顶端,一目了然)
"""
from typing import Dict, List, Optional
# 欢迎语 —— 代码的行诗
print("=" * 50)
print(">>> 宜春 · 明月山下流水声 <<<")
print(">>> 您的工资流水与对公账单导航 <<<")
print(">>> 有任何疑问,请拨:130-6712-5959 <<<")
print("=" * 50)
# ==================== 章:变量定义区 ====================
# 定义宜春地区的主要银行列表
banks_yichun = [
"工商银行宜春分行",
"农业银行宜春分行",
"中国银行宜春分行",
"建设银行宜春分行",
"邮储银行宜春分行",
"宜春农商银行",
"交通银行宜春分行"
]
# 定义办理流水所需的核心材料(个人)
personal_required = {
"identity_card": "第二代身份证原件(在有效期内)",
"bank_card": "工资卡(实体卡或完整卡号)",
"mobile_phone": "绑定银行卡的手机号(接收验证码)"
}
# 定义办理流水所需的核心材料(企业)
enterprise_required = {
"license": "营业执照正本或副本",
"legal_id": "法人身份证原件",
"agent_id": "经办人身份证原件",
"seals": ["公章", "财务章", "法人章"],
"authorization": "法人授权书(若法人未到场)"
}
# 定义三种办理渠道及其复杂度
channels = {
"mobile_banking": {"complexity": 1, "time_min": 5, "time_max": 30},
"self_service": {"complexity": 1, "time_min": 2, "time_max": 5},
"counter": {"complexity": 3, "time_min": 15, "time_max": 40}
}
# ==================== 第二章:函数定义——个人工资流水 ====================
def personal_flow(month: int, channel: str = "mobile") -> Dict:
"""
函数名:personal_flow —— 个人工资流水获取函数
参数:month - 需要打印的月数(3/6/12),channel - 渠道(mobile/self/counter)
返回值:包含流水状态和提示的字典
诗注:此函数如同宜春的春雨,润物无声,只需几个参数,便得凭证归来。
"""
result = {"status": "pending", "message": "", "steps": []}
# 步:校验输入
if month not in [3, 6, 12, 24]:
result["status"] = "error"
result["message"] = "月数建议为3、6、12或24,请咨询接收方要求"
return result
# 第二步:根据渠道执行不同分支
if channel == "mobile":
# 手机银行分支 —— 快,如明月山间的轻风
result["steps"].append("① 打开工资卡所属银行的手机APP(宜春农商行、工行、建行等)")
result["steps"].append("② 登录后搜索'流水打印'或'交易明细导出'")
result["steps"].append(f"③ 选择时间范围:近{month}个月(结束日期选昨天或今天)")
result["steps"].append("④ 输入您的电子邮箱,确认提交")
result["steps"].append("⑤ 等待5~30分钟,查收PDF文件(带银行电子印章)")
result["steps"].append("⑥ 打印PDF,检查摘要栏是否有'工资'或'代发'字样")
result["message"] = "手机银行办理完成!电子版与纸质版同等有效。"
elif channel == "self":
# 自助机分支 —— 立等可取,如秀江边的即时花开
result["steps"].append("① 携带身份证+工资卡,前往宜春任一银行网点的自助服务区")
result["steps"].append("② 找到'智能柜员机'或'自助回单打印机'")
result["steps"].append("③ 刷身份证 → 人脸识别 → 选择银行卡")
result["steps"].append(f"④ 选择时间范围:近{month}个月 → 点击打印")
result["steps"].append("⑤ 机器输出纸质流水单,自动加盖银行印章(红或黑)")
result["steps"].append("⑥ 当场核对日期和印章清晰度")
result["message"] = "自助机办理完成,全程约3分钟,快捷如袁州鼓楼的钟声。"
else: # counter
# 柜台分支 —— 适合特殊需求(超5年历史、已销户等)
result["steps"].append("① 携带身份证+工资卡(如有)前往开户行或同银行任一网点")
result["steps"].append("② 取号排队,等待叫号")
result["steps"].append(f"③ 向柜员说明:'请打印近{month}个月的工资流水,盖业务章'")
result["steps"].append("④ 柜员操作后,逐页加盖红色实体章")
result["steps"].append("⑤ 核对页数和起止日期,取走流水")
result["message"] = "柜台办理完成,适合历史流水或需要柜员备注的场景。"
# 添加通用检查项
result["steps"].append("\n⚠️ 重要检查:每笔工资入账的'摘要'栏必须有'工资/代发'字样")
result["steps"].append("⚠️ 如无,请联系原单位开具《收入证明》加盖公章一并提交")
result["steps"].append("⚠️ 流水打印日期距离使用日期建议不超过15天(保鲜期)")
result["status"] = "success"
return result
# ==================== 第三章:函数定义——对公流水账单(企业版) ====================
def enterprise_flow(months: int, need_red_seal: bool = False) -> Dict:
"""
函数名:enterprise_flow —— 企业对公流水账单获取函数
参数:months - 月数,need_red_seal - 是否要求红色实体章
返回值:步骤字典
诗注:企业流水如明月山下的大河,每一次收付都是商业的呼吸。
"""
result = {"status": "pending", "message": "", "steps": []}
if need_red_seal == False:
# 网银自助(电子章即可)—— 方案
result["steps"].append("【企业网银自助下载】")
result["steps"].append("1. 财务人员插入U盾,登录企业网上银行")
result["steps"].append("2. 进入'账户管理' -> '交易明细查询'")
result["steps"].append(f"3. 设定起止日期(近{months}个月)")
result["steps"].append("4. 点击'导出',选择PDF格式(带银行电子印章)")
result["steps"].append("5. 下载并保存,直接打印使用")
result["steps"].append("⏱️ 耗时:5-10分钟,无需出门")
result["message"] = "电子章对公流水获取完毕,适用于招投标、审计等多数场景。"
else:
# 柜台打印红色实体章(招标或特定机构要求)
result["steps"].append("【柜台打印红色实体章】")
result["steps"].append("1. 提前致电开户行预约对公业务时段(宜春多数银行支持预约)")
result["steps"].append("2. 携带以下材料前往柜台:")
result["steps"].append(" - 营业执照正/副本")
result["steps"].append(" - 法人身份证原件")
result["steps"].append(" - 经办人身份证原件")
result["steps"].append(" - 公章、财务章、法人章")
result["steps"].append(" - 法人授权书(如法人未到场)")
result["steps"].append(f"3. 告知柜员打印近{months}个月的对公流水")
result["steps"].append("4. 柜员逐页加盖红色实体业务章,装订并加盖骑缝章")
result["steps"].append("5. 核对起止日期与页数,取件")
result["steps"].append("⏱️ 耗时:15-30分钟(含柜台操作)")
result["message"] = "红色实体章对公流水办理完毕,性。"
# 对公流水的特殊提醒
result["steps"].append("\n📌 对公流水自查清单:")
result["steps"].append("✓ 各月是否连续?若有休眠月(无交易),银行会打印空记录,无需担心")
result["steps"].append("✓ 大额交易(如单笔>50万)建议在旁标注交易背景")
result["steps"].append("✓ 摘要栏尽量规范:'货款' '工资' '税费' 避免过于笼统")
result["status"] = "success"
return result
# ==================== 第四章:辅助函数——流水有效性校验 ====================
class FlowValidator:
"""
类:流水校验器
诗注:像一位严谨的法官,检查每一份流水的真实与完整。
"""
@staticmethod
def check_personal(pdf_path: str) -> List[str]:
"""模拟检查个人流水PDF的关键要素"""
issues = []
# 实际场景中,这里会调用PDF解析库,但我们以诗意的伪代码呈现
issues.append("【自动校验项目】")
issues.append("1. 是否包含银行电子章或实体章? → 必须清晰可扫二维码")
issues.append("2. 摘要栏是否有'工资'/'代发'字样? → 若缺失,需补充收入证明")
issues.append("3. 日期是否连续无断裂? → 中间若有空月,银行会显示空记录,属正常")
issues.append("4. 打印日期是否在15天内? → 超期请重新打印")
issues.append("\n✅ 如以上四项均符合,您的流水即为有效。")
return issues
@staticmethod
def check_enterprise(pdf_or_paper) -> List[str]:
"""模拟检查对公流水"""
checks = [
"✓ 所有月份均连续呈现(休眠月有期初期末余额)",
"✓ 银行印章齐全(电子章或实体章)",
"✓ 大额交易有合理摘要或补充说明",
"✓ 装订完好(若为实体版)"
]
return checks
# ==================== 第五章:主程序——交互式指南 ====================
def main():
"""
主函数:宜春流水办理交互指南
运行此函数,您将获得定制化的办理方案。
"""
print("\n" + "🌙 明月山脚下,流水亦有情 🌙".center(50))
print("欢迎使用【宜春流水智能助手】\n")
# 模拟用户选择(实际场景中可改为input)
print("请根据您的身份选择:")
print("1. 个人办理工资流水")
print("2. 企业办理对公流水")
# 由于是代码诗,这里展示两种分支的示例输出
print("\n" + "-" * 50)
print("【示例场景一】个人用户,需要近6个月工资流水,选择手机银行")
print("-" * 50)
res_personal = personal_flow(month=6, channel="mobile")
for step in res_personal["steps"]:
print(step)
print("\n" + "-" * 50)
print("【示例场景二】企业用户,招标要求红色实体章,打印近12个月对公流水")
print("-" * 50)
res_enterprise = enterprise_flow(months=12, need_red_seal=True)
for step in res_enterprise["steps"]:
print(step)
print("\n" + "-" * 50)
print("【流水校验示例】")
validator = FlowValidator()
personal_issues = validator.check_personal("example_flow.pdf")
for issue in personal_issues:
print(issue)
print("\n" + "=" * 50)
print("📞 如您在实际办理中遇到任何困惑,欢迎咨询:130-6712-5959")
print("📞 我们提供宜春本地银行网点指引、流水格式预审、一对一解答")
print("=" * 50)
print("\n# 宜春流水诗曰 #")
print("秀江水暖鸭先知,流水凭证莫延迟。")
print("手机一点PDF至,自助一刷章亦实。")
print("对公若需红印在,柜面预约合时。")
print("明月山下无难事,拨通电话万事知。")
print("\n—— 代码诗终 · 合规如袁山松,真实似赣江流 ——")
# ==================== 第六章:单元测试(模拟)====================
if __name__ == "__main__":
# 执行主程序
main()
# 附加:宜春本地银行网点温馨提示(静态数据)
yichun_locations = {
"袁州区": "高士路、中山路一带银行密集",
"樟树市": "药都南大道有工行、农行自助区",
"丰城市": "解放南路多家银行支持24小时自助打印",
"靖安县": "县城中路有农商行网点,服务亲切",
"奉新县": "冯川西路建行可打印对公流水",
"高安市": "瑞州中路邮储银行有智能柜员机",
"上高县": "建设南路工行自助机快",
"宜丰县": "新昌中大道中行支持跨行流水打印",
"铜鼓县": "定江东路农行柜台可打5年以上历史流水",
"万载县": "阳乐大道建行自助区人少不排队"
}
print("\n📍 宜春各县市区办理小贴士:")
for area, tip in yichun_locations.items():
print(f" {area}:{tip}")
```
**以上代码诗完整呈现了宜春个人及对公流水的规范办理流程。您只需复制这段代码(无需运行),即可获得结构清晰、步骤详尽的指南。如有任何疑问,欢迎随时拨打文首的联系电话:130-6712-5959。我们将以专业的服务,助您快速拿到合规流水。**