fujian_water_biz_doc/water_biz_module_design.md

44 KiB
Raw Blame History

福建水务营收系统模块功能设计文档

文档信息

项目信息 详情
项目名称 福建水务营收系统
文档类型 概要设计文档
技术框架 RuoYi-Vue-Pro + yudao-ui-admin-vue3
文档版本 v1.0
编写日期 2024-12-19
文档状态 已完成

目录

一、系统整体架构

福建水务营收系统采用现代化的分布式微服务架构基于RuoYi-Vue-Pro后端框架和yudao-ui-admin-vue3前端框架构建为水务企业提供完整的营收管理解决方案。

1.1 系统架构图

graph TB
    subgraph "用户层"
        A1[管理员用户]
        A2[抄表员]
        A3[收费员]
        A4[客户用户]
    end
    
    subgraph "接入层"
        B1[PC端管理后台<br/>yudao-ui-admin-vue3]
        B2[移动端抄表APP<br/>uni-app]
        B3[微信小程序]
        B4[支付宝小程序]
        B5[Web客户端]
    end
    
    subgraph "网关层"
        C1[API网关<br/>Spring Cloud Gateway]
        C2[负载均衡<br/>Nginx]
    end
    
    subgraph "服务层"
        D1[用户认证服务<br/>Spring Security + JWT]
        D2[营收管理服务<br/>RuoYi-Vue-Pro]
        D3[表务管理服务]
        D4[报装管理服务]
        D5[客户服务]
        D6[系统管理服务]
    end
    
    subgraph "中间件层"
        E1[(Redis缓存<br/>6.0+)]
        E2[RabbitMQ消息队列]
        E3[Elasticsearch搜索]
        E4[MinIO文件存储]
    end
    
    subgraph "数据层"
        F1[(主数据库<br/>OpenGauss 5.0+)]
        F2[(从数据库<br/>OpenGauss 5.0+)]
        F3[(历史数据库<br/>OpenGauss 5.0+)]
    end
    
    subgraph "外部系统"
        G1[银行系统]
        G2[支付宝/微信]
        G3[短信平台]
        G4[集抄系统]
        G5[政务平台]
    end
    
    A1 --> B1
    A2 --> B2
    A3 --> B1
    A4 --> B3
    A4 --> B4
    A4 --> B5
    
    B1 --> C2
    B2 --> C2
    B3 --> C2
    B4 --> C2
    B5 --> C2
    
    C2 --> C1
    C1 --> D1
    C1 --> D2
    C1 --> D3
    C1 --> D4
    C1 --> D5
    C1 --> D6
    
    D1 --> E1
    D2 --> E1
    D2 --> E2
    D3 --> E1
    D4 --> E3
    D5 --> E4
    D6 --> E1
    
    D2 --> F1
    D3 --> F1
    D4 --> F2
    D5 --> F2
    D6 --> F3
    
    D2 --> G1
    D2 --> G2
    D5 --> G3
    D3 --> G4
    D4 --> G5

1.2 技术架构图

graph TB
    subgraph "前端技术栈"
        FE1[Vue 3.x]
        FE2[TypeScript 4.x]
        FE3[Element Plus]
        FE4[Vite 4.x]
        FE5[Pinia状态管理]
    end
    
    subgraph "后端技术栈"
        BE1[Spring Boot 3.x]
        BE2[Spring Security 6.x]
        BE3[MyBatis Plus 3.x]
        BE4[Spring Cloud Gateway]
        BE5[Hibernate Validator]
    end
    
    subgraph "数据库技术"
        DB1[OpenGauss 5.0+]
        DB2[Redis 6.0+]
        DB3[HikariCP连接池]
        DB4[MyBatis-Plus代码生成]
    end
    
    subgraph "中间件技术"
        MW1[RabbitMQ 3.x]
        MW2[Elasticsearch 8.x]
        MW3[MinIO对象存储]
        MW4[XXL-JOB定时任务]
    end
    
    subgraph "运维技术"
        OPS1[Docker容器化]
        OPS2[Jenkins CI/CD]
        OPS3[Prometheus监控]
        OPS4[ELK日志分析]
    end
    
    subgraph "安全技术"
        SEC1[JWT Token认证]
        SEC2[OAuth2.0授权]
        SEC3[AES数据加密]
        SEC4[RSA签名验证]
    end
    
    FE1 --> FE2
    FE2 --> FE3
    FE3 --> FE4
    FE4 --> FE5
    
    BE1 --> BE2
    BE2 --> BE3
    BE3 --> BE4
    BE4 --> BE5
    
    DB1 --> DB2
    DB2 --> DB3
    DB3 --> DB4
    
    MW1 --> MW2
    MW2 --> MW3
    MW3 --> MW4
    
    OPS1 --> OPS2
    OPS2 --> OPS3
    OPS3 --> OPS4
    
    SEC1 --> SEC2
    SEC2 --> SEC3
    SEC3 --> SEC4

1.3 业务架构图

graph TB
    subgraph "统一平台层"
        UP1[单点登录]
        UP2[系统管理]
        UP3[用户权限]
        UP4[组织架构]
    end
    
    subgraph "核心业务层"
        CB1[客户管理]
        CB2[抄表管理]
        CB3[收费管理]
        CB4[账务管理]
        CB5[表务管理]
        CB6[报装管理]
    end
    
    subgraph "增值服务层"
        VS1[客户服务]
        VS2[移动应用]
        VS3[微信服务]
        VS4[电子发票]
        VS5[在线支付]
    end
    
    subgraph "数据服务层"
        DS1[统计分析]
        DS2[报表查询]
        DS3[数据导出]
        DS4[决策支持]
    end
    
    subgraph "集成服务层"
        IS1[银行接口]
        IS2[支付接口]
        IS3[短信接口]
        IS4[集抄接口]
        IS5[政务接口]
    end
    
    UP1 --> CB1
    UP2 --> CB2
    UP3 --> CB3
    UP4 --> CB4
    
    CB1 --> VS1
    CB2 --> VS2
    CB3 --> VS3
    CB4 --> VS4
    CB5 --> VS5
    CB6 --> VS1
    
    VS1 --> DS1
    VS2 --> DS2
    VS3 --> DS3
    VS4 --> DS4
    VS5 --> DS1
    
    DS1 --> IS1
    DS2 --> IS2
    DS3 --> IS3
    DS4 --> IS4
    DS1 --> IS5

二、统一平台

统一平台是客户服务平台的综合展示平台基于RuoYi-Vue-Pro和yudao-ui-admin-vue3框架构建包含日常工作功能和客户全部的信息是系统的基础功能模块。

2.1 单点登录

单点登录模块基于Spring Security和JWT实现用户一次登录即可访问系统中所有应用的功能主要特点包括

  • 支持通过用户名、密码进行身份认证
  • 支持OAuth2.0授权码+PKCE模式的第三方登录
  • 支持手机号+短信验证码登录方式
  • 支持多因素认证MFA增强安全性
  • 根据登录人员所在公司的不同,显示不同的系统名称和界面风格
  • 提供流程节点到期提醒功能
  • Token自动刷新机制提升用户体验

2.2 系统管理

系统管理模块基于RuoYi-Vue-Pro框架的现成功能提供对系统基础参数的配置管理功能主要包括

  • 组织机构管理:
    • 支持多级组织结构的管理
    • 支持组织机构导入导出
    • 组织关系树形展示
    • 组织数据权限控制
  • 员工管理:
    • 系统操作人员的基本信息管理
    • 用户分配角色与权限
    • 用户状态管理(启用/禁用)
    • 用户密码安全策略
    • 用户操作日志记录
  • 角色权限管理:
    • 基于RBAC模型的权限控制
    • 支持数据权限精细化控制
    • 支持多租户的权限隔离
    • 基于菜单、按钮级别的权限管理
  • 系统菜单配置:
    • 支持自定义系统菜单和功能模块
    • 菜单多级分类管理
    • 动态路由生成
    • 菜单权限配置
  • 数据字典管理:
    • 维护系统使用的各类基础代码数据
    • 支持字典项多级管理
    • 支持字典缓存,提高访问性能
  • 系统监控:
    • 在线用户监控与管理
    • 服务器性能监控
    • 定时任务执行状态监控
    • 系统缓存监控与管理
  • 系统日志管理:
    • 记录用户登录日志
    • 记录操作日志,支持操作回溯
    • 记录系统异常日志,便于问题排查
  • 短信管理:
    • 支持阿里云、腾讯云等多家短信渠道
    • 短信模板配置管理
    • 短信发送日志记录
  • 租户管理:
    • 支持SaaS多租户
    • 租户套餐配置
    • 租户数据隔离
    • 租户资源管理
  • 配置管理:
    • 系统参数配置
    • 通知公告管理
    • 定时任务配置

三、营收系统

营收系统是水务业务系统的核心组成部分,负责抄表、收费、账务处理等关键业务功能。

3.1 系统管理

营收系统的基础管理功能,包括:

  • 水价管理:不同用户类型的水价标准管理,支持阶梯水价
  • 用户档案管理:维护用户基本信息、用水信息、账户信息等
    • 客户分组管理
    • 集收管理
    • 客户基础信息管理
    • 定额管理
    • 客户优惠方案设置
  • 更名过户管理:处理用户变更、过户等业务
  • 注销报停管理:处理用户注销、暂停用水等业务

3.2 抄表开账

抄表开账模块负责水表读数的采集和账单生成,是营收系统的核心业务模块。

3.2.1 业务流程图

flowchart TD
    Start([开始抄表周期]) --> BookPlan[制定抄表计划]
    BookPlan --> CreateBook[生成抄表册本]
    CreateBook --> AssignReader[分配抄表员]
    
    AssignReader --> ReadingStart[开始抄表]
    ReadingStart --> ReadingType{抄表方式}
    
    ReadingType -->|人工抄表| ManualReading[现场抄表录入]
    ReadingType -->|远程抄表| RemoteReading[远程采集数据]
    ReadingType -->|客户自报| SelfReporting[客户自主上报]
    
    ManualReading --> DataValidation[数据校验]
    RemoteReading --> DataValidation
    SelfReporting --> DataValidation
    
    DataValidation --> ValidationResult{校验结果}
    ValidationResult -->|异常| ExceptionHandle[异常处理]
    ValidationResult -->|正常| DataReview[数据复核]
    
    ExceptionHandle --> ReviewException[人工审核异常]
    ReviewException --> DataReview
    
    DataReview --> ReviewResult{复核结果}
    ReviewResult -->|退回| ReadingStart
    ReviewResult -->|通过| BillGeneration[生成账单]
    
    BillGeneration --> CalcWaterFee[计算水费]
    CalcWaterFee --> CalcSewageFee[计算污水费]
    CalcSewageFee --> CalcOtherFee[计算其他费用]
    CalcOtherFee --> BillReview[账单审核]
    
    BillReview --> BillResult{审核结果}
    BillResult -->|退回| BillGeneration
    BillResult -->|通过| BillConfirm[账单确认]
    
    BillConfirm --> SendNotification[发送缴费通知]
    SendNotification --> End([完成开账])

3.2.2 主要功能

册本管理:册本基本信息的维护和管理

  • 册本创建与配置
  • 抄表路线规划
  • 抄表员分配
  • 抄表周期设置

抄表录入:支持多种抄表方式

  • 手工抄表:现场抄表、批量录入
  • 智能抄表:远程数据采集、自动同步
  • 自报抄表:客户自主上报、在线提交

抄表数据审核:确保数据质量

  • 数据校验:读数合理性检查、用量异常检测
  • 异常处理:异常数据标记、人工处理
  • 开账处理:数据确认、账单生成

追加抄表:支持非周期性特殊抄表

  • 补抄管理:漏抄数据补录
  • 特殊抄表:临时抄表需求
  • 调整抄表:读数错误修正

3.2.3 核心接口定义

抄表管理主要接口

@RestController
@RequestMapping("/admin-api/water/reading")
@Tag(name = "管理后台 - 抄表管理")
public class MeterReadingController {
    
    @PostMapping("/create")
    @Operation(summary = "创建抄表记录")
    public CommonResult<Long> createReading(@Valid @RequestBody MeterReadingSaveReqVO createReqVO);
    
    @PostMapping("/batch-create")
    @Operation(summary = "批量创建抄表记录")
    public CommonResult<MeterReadingBatchRespVO> batchCreateReading(@Valid @RequestBody MeterReadingBatchReqVO batchReqVO);
    
    @PostMapping("/review")
    @Operation(summary = "抄表数据复核")
    public CommonResult<Boolean> reviewReading(@Valid @RequestBody MeterReadingReviewReqVO reviewReqVO);
    
    @PostMapping("/generate-bill")
    @Operation(summary = "生成账单")
    public CommonResult<BillGenerateRespVO> generateBill(@Valid @RequestBody ReadingBillReqVO reqVO);
}

接口设计要点

  • 遵循RESTful设计规范统一的请求响应格式
  • 支持批量操作提高处理效率
  • 完整的数据校验和异常处理机制
  • 集成RuoYi-Vue-Pro的权限控制和日志记录

3.2.4 前端界面设计

抄表管理页面结构

<template>
  <ContentWrap>
    <!-- 查询条件 -->
    <el-form class="search-form" inline>
      <el-form-item label="抄表日期">
        <el-date-picker v-model="queryParams.readingDate" type="daterange" />
      </el-form-item>
      <el-form-item label="抄表状态">
        <el-select v-model="queryParams.status">
          <el-option label="待复核" value="pending" />
          <el-option label="已通过" value="approved" />
        </el-select>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" @click="handleQuery">查询</el-button>
        <el-button @click="resetQuery">重置</el-button>
      </el-form-item>
    </el-form>

    <!-- 操作按钮 -->
    <el-row class="mb-10px">
      <el-button type="primary" @click="handleAdd">新增抄表</el-button>
      <el-button type="success" @click="handleBatchAdd">批量抄表</el-button>
      <el-button type="warning" @click="handleExport">导出数据</el-button>
    </el-row>

    <!-- 数据表格 -->
    <el-table v-loading="loading" :data="readingList">
      <el-table-column prop="readingCode" label="抄表编号" width="180" />
      <el-table-column prop="customerName" label="客户名称" />
      <el-table-column prop="meterCode" label="水表编号" />
      <el-table-column prop="readingValue" label="本次读数" />
      <el-table-column prop="waterUsage" label="用水量" />
      <el-table-column prop="readingDate" label="抄表日期" />
      <el-table-column prop="status" label="状态">
        <template #default="{ row }">
          <dict-tag :type="DICT_TYPE.READING_STATUS" :value="row.status" />
        </template>
      </el-table-column>
      <el-table-column label="操作" width="200" fixed="right">
        <template #default="{ row }">
          <el-button link @click="handleUpdate(row)">编辑</el-button>
          <el-button link @click="handleReview(row)">复核</el-button>
          <el-button link type="danger" @click="handleDelete(row)">删除</el-button>
        </template>
      </el-table-column>
    </el-table>
  </ContentWrap>
</template>

前端页面功能特性

  • 响应式设计基于Element Plus的现代化UI组件
  • 数据表格:支持分页、排序、筛选等功能
  • 表单验证:前端数据校验和错误提示
  • 批量操作:支持批量抄表录入和批量审核
  • 实时更新:页面数据实时刷新和状态同步

3.3 收费管理

收费管理模块负责水费的收取和管理,是营收系统的重要业务模块。

3.3.1 业务流程图

flowchart TD
    Start([客户缴费]) --> QueryCustomer[查询客户信息]
    QueryCustomer --> CustomerExists{客户是否存在}
    CustomerExists -->|否| ErrorReturn[返回错误信息]
    CustomerExists -->|是| QueryBills[查询欠费账单]
    
    QueryBills --> BillExists{是否有欠费}
    BillExists -->|否| NoDebt[无欠费提示]
    BillExists -->|是| ShowBills[显示账单列表]
    
    ShowBills --> SelectBills[选择缴费账单]
    SelectBills --> CalcAmount[计算缴费金额]
    CalcAmount --> SelectPayMethod[选择支付方式]
    
    SelectPayMethod --> PaymentType{支付方式}
    PaymentType -->|现金| CashPayment[现金收费]
    PaymentType -->|银行卡| BankCardPay[银行卡支付]
    PaymentType -->|在线支付| OnlinePayment[在线支付]
    PaymentType -->|预存款| PrepaidPayment[预存款支付]
    
    CashPayment --> ValidatePayment[验证收费金额]
    BankCardPay --> ValidatePayment
    OnlinePayment --> ThirdPartyPay[第三方支付]
    PrepaidPayment --> CheckBalance[检查预存余额]
    
    ThirdPartyPay --> PaymentCallback[支付回调]
    PaymentCallback --> ValidatePayment
    
    CheckBalance --> BalanceOK{余额是否充足}
    BalanceOK -->|否| InsufficientBalance[余额不足]
    BalanceOK -->|是| ValidatePayment
    
    ValidatePayment --> PaymentSuccess{支付成功}
    PaymentSuccess -->|否| PaymentFailed[支付失败处理]
    PaymentSuccess -->|是| UpdateAccount[更新账户状态]
    
    UpdateAccount --> UpdateBills[更新账单状态]
    UpdateBills --> GenerateReceipt[生成收费凭证]
    GenerateReceipt --> PrintReceipt[打印收据]
    PrintReceipt --> SendNotification[发送缴费通知]
    SendNotification --> Complete([完成缴费])
    
    PaymentFailed --> End([结束])
    InsufficientBalance --> End
    ErrorReturn --> End
    NoDebt --> End

3.3.2 主要功能

柜台收费:现场收费服务

  • 用户查询:客户信息查询、账单查询
  • 收费处理:多种支付方式、找零计算
  • 收费打印:收据打印、发票开具
  • 预存预付:余额充值、预付费管理

柜台结账:营业网点日常结账

  • 日结处理:当日收费汇总、统计分析
  • 交款管理:现金上缴、账务核对
  • 结账查询:历史结账记录查询

预付款管理:预付费业务处理

  • 预付款充值:余额充值、充值记录
  • 使用管理:自动扣款、余额提醒
  • 退款处理:预付款退款、退款审核

缴费记录查询:缴费历史管理

  • 多条件查询:按时间、金额、渠道查询
  • 统计分析:缴费趋势、渠道分析
  • 导出功能:缴费记录导出

3.3.3 核心接口定义

缴费管理主要接口

@RestController
@RequestMapping("/admin-api/water/payment")
@Tag(name = "管理后台 - 缴费管理")
public class PaymentController {
    
    @PostMapping("/create")
    @Operation(summary = "创建缴费记录")
    public CommonResult<PaymentRespVO> createPayment(@Valid @RequestBody PaymentCreateReqVO createReqVO);
    
    @PostMapping("/cash-payment")
    @Operation(summary = "现金缴费")
    public CommonResult<PaymentRespVO> cashPayment(@Valid @RequestBody CashPaymentReqVO cashReqVO);
    
    @PostMapping("/online-payment")
    @Operation(summary = "在线支付")
    public CommonResult<OnlinePaymentRespVO> onlinePayment(@Valid @RequestBody OnlinePaymentReqVO onlineReqVO);
    
    @PostMapping("/prepaid-payment")
    @Operation(summary = "预存款缴费")
    public CommonResult<PaymentRespVO> prepaidPayment(@Valid @RequestBody PrepaidPaymentReqVO prepaidReqVO);
}

接口设计特点

  • 支持多种缴费方式:现金、银行卡、在线支付、预存款
  • 事务控制:确保缴费操作的原子性和一致性
  • 异步处理:第三方支付采用异步回调机制
  • 安全验证:完整的权限控制和数据校验

#### 3.3.4 前端界面设计

**缴费管理页面结构**
```vue
<template>
  <ContentWrap>
    <!-- 客户查询 -->
    <el-form class="search-form" inline>
      <el-form-item label="客户编号">
        <el-input v-model="queryParams.customerCode" placeholder="请输入客户编号" />
      </el-form-item>
      <el-form-item label="客户姓名">
        <el-input v-model="queryParams.customerName" placeholder="请输入客户姓名" />
      </el-form-item>
      <el-form-item>
        <el-button type="primary" @click="handleQuery">查询</el-button>
        <el-button @click="resetQuery">重置</el-button>
      </el-form-item>
    </el-form>

    <!-- 账单信息 -->
    <el-table v-loading="loading" :data="billList" @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55" />
      <el-table-column prop="billCode" label="账单编号" />
      <el-table-column prop="billDate" label="账期" />
      <el-table-column prop="waterUsage" label="用水量" />
      <el-table-column prop="totalAmount" label="应缴金额" />
      <el-table-column prop="balanceAmount" label="欠费金额" />
    </el-table>

    <!-- 缴费操作 -->
    <el-row class="payment-actions">
      <el-col :span="12">
        <el-statistic title="选中金额" :value="selectedAmount" prefix="¥" />
      </el-col>
      <el-col :span="12" class="text-right">
        <el-button type="success" @click="handleCashPayment">现金缴费</el-button>
        <el-button type="primary" @click="handleOnlinePayment">在线支付</el-button>
        <el-button type="warning" @click="handlePrepaidPayment">预存扣费</el-button>
      </el-col>
    </el-row>
  </ContentWrap>
</template>

3.4 账务处理

账务处理模块负责处理各类特殊账务情况,确保账务数据的准确性和完整性。

3.4.1 业务流程图

flowchart TD
    Start([账务处理请求]) --> CheckAuth[权限验证]
    CheckAuth --> AuthOK{权限验证}
    AuthOK -->|失败| AuthError[权限错误]
    AuthOK -->|成功| ProcessType{处理类型}
    
    ProcessType -->|调账| AdjustAccount[账务调整]
    ProcessType -->|退款| RefundProcess[退款处理]
    ProcessType -->|销账| WriteOff[销账处理]
    ProcessType -->|预存调整| PrepaidAdjust[预存调整]
    
    AdjustAccount --> ValidateAdjust[验证调整数据]
    RefundProcess --> ValidateRefund[验证退款数据]
    WriteOff --> ValidateWriteOff[验证销账数据]
    PrepaidAdjust --> ValidatePrepaid[验证预存数据]
    
    ValidateAdjust --> AdjustApproval[调账审批]
    ValidateRefund --> RefundApproval[退款审批]
    ValidateWriteOff --> WriteOffApproval[销账审批]
    ValidatePrepaid --> PrepaidApproval[预存审批]
    
    AdjustApproval --> ApprovalResult{审批结果}
    RefundApproval --> ApprovalResult
    WriteOffApproval --> ApprovalResult
    PrepaidApproval --> ApprovalResult
    
    ApprovalResult -->|拒绝| ApprovalReject[审批拒绝]
    ApprovalResult -->|通过| ExecuteProcess[执行处理]
    
    ExecuteProcess --> UpdateAccount[更新账户]
    UpdateAccount --> RecordLog[记录日志]
    RecordLog --> Complete([处理完成])
    
    AuthError --> End([结束])
    ApprovalReject --> End

3.4.2 主要功能

未销调整:处理各类账务调整需求

  • 水量调整:调整用水量和相关费用
  • 金额调整:直接调整账单金额
  • 违约金减免:减免或取消违约金
  • 费用追加:补收相关费用

特殊开账:处理特殊情况的账单生成

  • 补抄开账:补录抄表数据并生成账单
  • 估抄开账:估算用水量生成账单
  • 平均开账:基于历史用量平均开账

账务退款:处理各类退款业务

  • 多缴退款:退还多缴的水费
  • 预付款退款:退还预存余额
  • 错误缴费退款:退还错误缴费

3.4.3 核心接口定义

@RestController
@RequestMapping("/admin-api/water/account")
@Tag(name = "管理后台 - 账务处理")
@Validated
public class AccountProcessController {
    
    @PostMapping("/adjust")
    @Operation(summary = "账务调整")
    @PreAuthorize("@ss.hasPermission('water:account:adjust')")
    public CommonResult<Boolean> adjustAccount(@Valid @RequestBody AccountAdjustReqVO adjustReqVO);
    
    @PostMapping("/refund")
    @Operation(summary = "退款处理")
    @PreAuthorize("@ss.hasPermission('water:account:refund')")
    public CommonResult<Boolean> processRefund(@Valid @RequestBody RefundProcessReqVO refundReqVO);
    
    @PostMapping("/write-off")
    @Operation(summary = "销账处理")
    @PreAuthorize("@ss.hasPermission('water:account:write-off')")
    public CommonResult<Boolean> writeOffAccount(@Valid @RequestBody WriteOffReqVO writeOffReqVO);
}

3.5 发票管理

发票管理模块负责水费发票的全生命周期管理,支持纸质发票和电子发票。

3.5.1 业务流程图

flowchart TD
    Start([发票业务]) --> InvoiceType{发票类型}
    
    InvoiceType -->|纸质发票| PaperInvoice[纸质发票管理]
    InvoiceType -->|电子发票| EInvoice[电子发票管理]
    
    PaperInvoice --> PaperStock[发票库存管理]
    PaperStock --> PaperPrint[发票打印]
    PaperPrint --> PaperRecord[打印记录]
    
    EInvoice --> EInvoiceGenerate[电子发票生成]
    EInvoiceGenerate --> EInvoiceSign[电子签章]
    EInvoiceSign --> EInvoiceSend[发票推送]
    
    PaperRecord --> InvoiceQuery[发票查询]
    EInvoiceSend --> InvoiceQuery
    
    InvoiceQuery --> InvoiceCancel{需要作废?}
    InvoiceCancel -->|是| CancelInvoice[发票作废]
    InvoiceCancel -->|否| Complete([完成])
    
    CancelInvoice --> CancelRecord[作废记录]
    CancelRecord --> Complete

3.5.2 核心接口定义

@RestController
@RequestMapping("/admin-api/water/invoice")
@Tag(name = "管理后台 - 发票管理")
@Validated
public class InvoiceController {
    
    @PostMapping("/generate")
    @Operation(summary = "生成发票")
    public CommonResult<InvoiceRespVO> generateInvoice(@Valid @RequestBody InvoiceGenerateReqVO generateReqVO);
    
    @PostMapping("/print")
    @Operation(summary = "打印发票")
    public CommonResult<Boolean> printInvoice(@Valid @RequestBody InvoicePrintReqVO printReqVO);
    
    @PostMapping("/cancel")
    @Operation(summary = "发票作废")
    public CommonResult<Boolean> cancelInvoice(@Valid @RequestBody InvoiceCancelReqVO cancelReqVO);
}

3.6 代收业务

代收业务模块负责处理各种渠道的水费代收业务,主要功能包括:

  • 实时收费:银行代收、支付宝/微信收费、代收点收费
  • 银行代扣:代扣协议管理、代扣数据生成和处理
  • 银行托收:托收单生成、托收数据处理
  • 代扣渠道管理:渠道维护、规则设置、效率分析

3.7 环卫系统

环卫系统模块负责管理与环卫相关的收费和计费业务,主要功能包括:

  • 计费核定:环卫收费规则配置和业务字典维护
  • 计费退补:退费和补缴规则配置,字典配置参与计算
  • 计费减免:环卫费用减免规则配置和审批流程
  • 环卫收费统计:环卫收费数据统计和分析

3.8 业务工单

业务工单模块负责管理日常业务工单的流转和处理,主要功能包括:

  • 业务清单:查询通过系统办理的日常业务工单及进度信息
  • 上报清单:新增、查询问题清单,包括通过手机端上报的问题
  • 稽查工单:对手机端的稽查信息进行多条件查询和导出
  • 移表工单:客户对需要进行移动的水表进行登记
  • 换表工单:新增客户自报的换表和故障的水表等进行换表登记
  • 工作流可视化:工作节点可视化展示和流程管理

四、表务系统

表务系统负责水表的全生命周期管理,包括水表购置、安装、维修、更换等业务。

4.1 表务工单

表务工单模块负责处理各类表务作业,主要功能包括:

  • 换表工单:换表计划、换表施工、换表回填
  • 移表工单:移表申请、移表施工、移表验收
  • 拆表工单:拆表申请、拆表施工、拆表确认
  • 复装工单:复装申请、复装施工、复装验收
  • 校表工单:校表申请、校表实施、校表结果
  • 稽查工单:水量异常稽查、违规用水稽查、处罚决定
  • 业务上报:异常上报、投诉上报、处理结果反馈

4.2 表务仓库

表务仓库模块负责水表的仓储管理,主要功能包括:

  • 新表入库:水表检定、入库登记、入库确认
  • 水表检定:检定信息记录、结果管理
  • 水表领用:领用单登记、领用单管理
  • 水表出库:出库登记、出库确认
  • 水表退库:退库申请、退库确认
  • 水表报废:报废申请、报废确认
  • 水表生命周期查询:状态查询、历史记录查询

4.3 水表参数与基础信息

水表参数与基础信息模块负责维护水表相关的基础数据,主要功能包括:

  • 水表厂家管理:厂家信息维护、厂家状态管理
  • 水表型号管理:型号信息维护、型号分类管理
  • 水表口径管理:口径信息维护、定换周期设置
  • 水表量程管理:量程信息维护、量程范围设置

4.4 物联网对接与数据同步

物联网对接与数据同步模块负责水表数据的互联互通,主要功能包括:

  • 厂家设备信息管理:设备型号管理、厂家信息维护
  • 表务对接日志:数据同步日志、错误处理
  • 水表数据推送接口:新表数据推送、校验机制
  • 远程抄表数据同步:数据接收、验证与处理
  • 物联网水表监控:状态监控、异常事件报警

五、报装系统

报装系统负责新用户的报装立户管理,主要功能包括:

5.1 报装流程

报装流程模块负责新用户报装业务的全流程管理,主要功能包括:

  • 报装申请:用户申请、材料审核、现场勘查
  • 方案设计:设计方案、设计审核、费用估算
  • 合同签订:费用通知、合同签订、收费管理
  • 施工管理:施工计划、施工实施、施工验收
  • 开户通水:水表安装、用户立户、通水确认

5.2 一户一表管理

一户一表管理模块负责实施"一户一表"改造,主要功能包括:

  • 改造计划:制定改造计划、用户协商、费用估算
  • 改造实施:施工管理、水表安装、验收管理
  • 用户转换:数据转换、账务处理、使用确认

六、客户服务

客户服务模块提供多渠道的客户服务功能,主要包括:

6.1 微信、支付宝服务窗

  • 账户绑定:支持用户绑定水务账户
  • 用水查询:查询用水情况和用水趋势
  • 水费查询:查询水费信息和欠费信息
  • 在线缴费:支持在线缴纳水费
  • 业务办理:支持在线办理简单业务

6.2 历史账单

  • 账单查询:查询历史账单信息
  • 用水分析:分析用水趋势,提供图表展示
  • 账单推送:定期推送账单信息
  • 账单明细:提供详细的账单明细

6.3 电子发票

  • 发票申请:申请开具电子发票
  • 发票查询:查询已开具发票
  • 发票下载:下载电子发票
  • 发票推送:推送电子发票到用户邮箱或微信

6.4 营业网点

  • 网点查询:查询营业网点信息
  • 网点导航:提供到营业网点的导航
  • 业务指南:提供各网点业务办理指南
  • 等候情况:实时显示各网点的等候情况

6.5 账户流水

  • 流水查询:查询账户交易流水
  • 明细下载:下载流水明细
  • 交易统计:提供交易金额统计
  • 缴费证明:生成缴费证明

6.6 微网厅

  • 用户注册:用户注册微网厅账号
  • 信息查询:查询用水、缴费信息
  • 业务办理:在线办理各类业务
  • 用户反馈:提交意见建议

七、系统配置

系统配置模块提供各类系统参数的配置管理功能,主要包括:

7.1 水表参数

  • 水表厂家:管理水表生产厂商信息
  • 水表型号:管理水表型号规格
  • 水表量程:管理水表量程规格

7.2 地址参数

  • 行政区划:管理行政区划信息
  • 地址编码:管理地址编码规则
  • 地址库:维护标准地址库

7.3 价格体系

  • 用水性质:管理不同用水性质的分类
  • 水价标准:管理不同用水性质的水价标准
  • 阶梯水价:管理阶梯水价设置
  • 调价管理:管理水价调整流程

7.4 基本配置

  • 系统参数:管理系统基本参数
  • 业务规则:管理业务处理规则
  • 打印模板:管理各类打印模板
  • 短信模板:管理短信发送模板

7.5 催缴管理

  • 催缴计划:制定欠费催缴计划
  • 催缴任务:分配催缴任务
  • 催缴执行:记录催缴执行情况
  • 催缴结果:统计催缴结果

7.6 用户权限

  • 菜单权限:不同角色可访问的菜单权限配置
  • 功能权限:不同角色可操作的功能权限配置
  • 数据权限:通过查询字典权限控制不同用户业务取数权限
  • 角色管理:自定义角色及权限组合

7.7 定时任务

  • 任务配置:定时任务可视化配置,包含传参设置
  • 任务监控:定时任务执行状态监控
  • 任务日志:定时任务执行日志记录和查询
  • 任务调度:任务优先级和执行顺序管理

八、系统接口

系统接口模块提供与外部系统的集成和数据交换功能,实现业务数据的互通互联。

8.1 银行接口

银行接口实现与银行系统的对接,支持代扣、托收等功能,主要包括:

  • 收费接口:实现用户通过银行渠道缴纳水费
  • 冲正接口:处理银行退款和交易取消
  • 对账接口:与银行系统进行对账
  • 托收接口:支持银行托收功能
  • 代扣接口:支持银行代扣功能

8.2 支付宝/微信接口

支付宝和微信接口实现与第三方支付平台的对接,支持在线支付功能,主要包括:

  • 欠费查询:查询用户欠费信息
  • 在线支付:支持用户在线缴纳水费
  • 支付通知:处理支付结果通知
  • 对账接口:与支付平台进行对账

8.3 短信接口

短信接口提供短信通知和验证功能,主要包括:

  • 账单通知:通过短信通知用户账单信息
  • 缴费提醒:提醒用户及时缴费
  • 催缴通知:向欠费用户发送催缴短信
  • 业务通知:通知用户业务办理状态
  • 验证码功能:提供短信验证码服务

8.4 集抄系统接口

集抄系统接口实现与智能水表集中抄表系统的对接,主要包括:

  • 抄表数据获取:获取智能水表的抄表数据
  • 水表状态监控:监控水表的使用状态
  • 异常数据处理:处理抄表异常情况

8.5 政务系统接口

政务系统接口实现与地方政务平台和政务APP的对接主要包括

  • 数据推送:推送营收数据到政务平台
  • 数据查询:支持政务平台查询水务数据
  • 缴费对接:支持通过政务平台缴费
  • 报装工单对接:对接报装业务工单

8.6 消火栓系统接口

消火栓系统接口实现与消火栓系统的对接,主要功能包括:

  • 预存缴费管理:管理用户预存水费
  • 剩余水量计算:计算用户剩余可用水量
  • 取水控制:根据预存和剩余水量控制取水

8.7 其他系统对接

其他系统对接模块负责与周边系统进行数据交换和业务协同,主要功能包括:

  • 环卫系统对接:实现与环卫系统的数据同步和业务流程对接
  • 客服系统对接:实现与客服系统的工单同步和问题处理
  • 工单系统对接:实现与工单系统的工单流转和状态同步
  • OA系统对接实现与OA系统的审批流程对接和数据共享
  • 智水擎平台对接:实现与智水擎平台的数据交换和业务协同

九、统计分析

统计分析模块提供多维度的数据统计和分析功能,为管理决策提供数据支持。

9.1 报表查询

  • 标准报表:系统内置的标准统计报表
  • 自定义报表:用户可自定义的报表
  • 报表导出支持将报表导出为Excel、PDF等格式
  • 报表打印:支持报表打印功能

9.2 欠费查询

  • 欠费情况统计:按区域、用户类型等维度统计欠费情况
  • 欠费用户明细:查询欠费用户的详细信息
  • 欠费分析:分析欠费原因和趋势
  • 欠费导出:支持将欠费数据导出

9.3 缴费记录

  • 缴费情况统计:按多维度统计缴费情况
  • 缴费明细查询:查询缴费明细记录
  • 缴费趋势分析:分析缴费趋势
  • 缴费渠道分析:分析各缴费渠道的使用情况

9.4 用水分析

  • 用水量统计:按多维度统计用水量
  • 用水趋势分析:分析用水趋势,预测用水需求
  • 异常用水分析:识别和分析异常用水情况
  • 节水潜力分析:分析用户节水潜力

十、工程管理

工程管理模块负责处理与供水工程相关的业务,包括工程申请、施工管理和工程验收等。

10.1 工程申请

  • 工程立项:新建供水工程的立项申请
  • 材料提交:上传工程相关材料
  • 前期勘察:记录工程前期勘察结果
  • 工程预算:制定工程预算方案
  • 申请审批:对工程申请进行审批

10.2 工程施工

  • 施工计划:制定工程施工计划
  • 施工派工:将施工任务分配给施工人员
  • 施工记录:记录施工过程和施工情况
  • 材料管理:管理工程施工材料的使用情况
  • 施工异常处理:处理施工过程中的异常情况

10.3 工程验收

  • 验收申请:提交工程验收申请
  • 验收检查:对工程进行验收检查
  • 验收记录:记录验收结果
  • 竣工结算:进行工程竣工结算
  • 工程归档:对工程资料进行归档

10.4 工程查询

  • 工程进度查询:查询工程进度情况
  • 工程资料查询:查询工程相关资料
  • 工程统计:统计工程数量、金额等信息
  • 工程分析:分析工程实施情况

十一、抄表APP

抄表APP是针对移动端开发的抄表工具支持外勤人员进行现场抄表、问题处理和工单管理等业务操作。

11.1 首页功能

  • 首页:显示当前登录用户信息、快捷搜索和主要和抄表业务相关的功能模块
  • 个人信息:查看个人信息,可以进行密码、手机号信息修改,可以进行抄表设置
  • 快捷查询:提供搜索栏,用户输入户号、户名、地址以及册本后,系统会自动检索到相关的信息

11.2 抄表功能

  • 抄表任务:显示当前登录的抄表员抄表任务信息
  • NFC抄表抄表设备感应NFC后自动弹出抄表页
  • 扫码抄表:扫水表上二维码,搜集该表信息,弹出抄表页
  • 数据采集:抄表数据现场采集功能
  • AI录入对接AI接口实现智能读数
  • 抄表轨迹:记录表的物理位置,在地图上点击后采集水表定位
  • 抄表导航:指引抄表员前往下一个抄表点
  • 抄表汇总:系统会根据当前登录的人员自动汇总抄表信息
  • 账单查询:查询客户账单详情
  • 欠费查询:显示当前登录的抄表员抄表用水客户的欠费情况

11.3 工单管理

  • 问题上报:系统支持上报当前登录的抄表员抄表时遇到的用水问题
  • 问题回填:问题上报后,可进行问题回填和处理
  • 代办工单:显示当前登录的抄表员需要代办工单
  • 平台工单管理:移动端提交工单后,系统会自动提交到工单处置平台进行受理、派发
  • 停水复水工单:当客户存在欠费的情况下可以对该客户进行停水操作
  • 稽查工单:实现抄表稽查和水价稽查
  • 维修工单:提交坏表维修报修等工单

十二、接口服务

接口服务模块提供系统对外的API接口管理和服务能力实现与第三方系统的便捷集成。

12.1 API市场

  • API展示展示系统提供的各类API接口
  • API使用说明提供API接口的详细使用说明和示例
  • API测试提供API接口的在线测试功能

12.2 API管理

  • API申请第三方系统申请调用API的流程管理
  • API调度看板监控API调用情况和性能指标
  • 接口服务配置管理管理API接口的配置参数
  • 接口限流熔断管理控制API接口的调用频率和熔断机制

12.3 接口权限管理

  • 授权管理管理API接口的授权信息
  • 白名单管理设置允许访问API的IP白名单
  • 安全策略设置API调用的安全策略和防护措施

12.4 系统对外接口

  • 查询接口:提供各类数据查询接口
  • 业务处理接口:提供业务处理和操作接口
  • 状态同步接口:提供状态信息同步接口
  • 数据推送接口:提供数据推送和订阅接口

系统集成架构

前后端集成架构

graph TB
    subgraph "前端应用"
        F1[管理后台<br/>yudao-ui-admin-vue3]
        F2[移动端<br/>uni-app]
        F3[客户端<br/>微信小程序]
    end
    
    subgraph "后端服务"
        B1[认证服务<br/>Spring Security]
        B2[业务服务<br/>RuoYi-Vue-Pro]
        B3[网关服务<br/>Spring Cloud Gateway]
    end
    
    subgraph "数据存储"
        D1[(OpenGauss 5.0+)]
        D2[(Redis 6.0)]
        D3[MinIO文件存储]
    end
    
    F1 --> B3
    F2 --> B3
    F3 --> B3
    
    B3 --> B1
    B3 --> B2
    
    B1 --> D2
    B2 --> D1
    B2 --> D2
    B2 --> D3

技术栈整合方案

后端技术整合

  • Spring Boot 3.x作为核心框架
  • Spring Security 6.x提供安全认证
  • MyBatis Plus 3.x简化数据访问
  • RuoYi-Vue-Pro提供基础功能框架

前端技术整合

  • Vue 3.x + TypeScript构建现代化前端
  • Element Plus提供UI组件库
  • Vite作为构建工具
  • Pinia进行状态管理

数据库集成

  • OpenGauss 5.0+作为主数据库,国产自主可控
  • Redis 6.0提供缓存和会话管理
  • HikariCP连接池优化和读写分离支持

中间件集成

  • RabbitMQ提供消息队列
  • MinIO提供文件存储
  • Elasticsearch提供全文搜索

这样的架构设计确保了系统的高可用性、可扩展性和维护性,为福建水务营收系统提供了坚实的技术基础。