Skip to content

出差与报销 ​

这篇解决什么 ​

出差申请和差旅报销是两张单、两条流程 key。读完能对上 oa_business_trip 和 oa_travel_reimburse,不要在出差 info 里直接改金额冒充报销。

先开模块,见 OA 功能设计。两张都是业务表单,日期是 LocalDate。

示意图:出差带行程行。报销用 tripId 挂出差,费用另表。

从哪改 ​

名称说明仓库路径
出差/oa/business-trip,key oa_business_tripruoyi-office/yudao-module-oa/.../BusinessTripController.java
报销/oa/travel-reimburse,key oa_travel_reimburseTravelReimburseController.java
表单头 + 行程 / 费用oa_business_trip、oa_business_trip_item、oa_travel_reimburse、oa_travel_reimburse_item
前端tripapply / tripreimburse 的 list/inforuoyi-office-vben/apps/web-antd/src/views/oa/trip/
移动两套创建页bpm-menu-config.ts

OaBillTypeEnum:出差 109 / 报销 110。模型自定义路径分别对 tripapply/list|info 和 tripreimburse/list|info。

startDate / endDate 是纯日期,前端 YYYY-MM-DD。行程行有出发 / 到达城市和 transportType。报销行有 expenseType、amount、发票号。

报销 info 选出差时写 tripId、tripBillCode。列表筛 reimburseStatus 只是出差单上的标记,不是第三条流程 key。

移动权限都是 :create。附件按类型码 109 / 110 挂公共附件表。

字段 ​

名称说明仓库路径
tripReason / totalDays事由与天数BusinessTripDO / TravelReimburseDO
estimatedCost出差预估,不是实报BusinessTripDO
tripId报销回挂出差TravelReimburseDO
totalAmount / payStatus报销合计与支付同上

预估不是实报

改 estimatedCost 不会生成报销单。实报走 /oa/travel-reimburse,金额在费用明细求和。

先有通过的出差再报

报销页用 trip-select-modal 选已有出差。不要手工填一个不存在的 tripId。

java
@RequestMapping("/oa/business-trip")
public class BusinessTripController { }

@TableName("oa_travel_reimburse")
public class TravelReimburseDO extends BaseDO { }

配置与操作 ​

出差走 OA → 出差管理 → 出差申请 的 list / info。行程行填城市和交通方式。预估费用不会生成报销单。

报销走差旅报销 list / info,用 trip-select-modal 选已通过的出差。金额在费用明细求和。日期都是 YYYY-MM-DD。

出差申请列表

本系统截图:OA → 出差管理 → 出差申请。

出差单详情

本系统截图:出差申请 info。报销另开 oa_travel_reimburse。

相关篇 ​

联系我们

获取报价、演示和二开方案

微信咨询二维码

微信咨询

17156169080

添加时备注「RuoYi Office」

在线体验商业版