diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/service/OutlayManageUnionAllocateService.java b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/service/OutlayManageUnionAllocateService.java new file mode 100644 index 00000000..e9daa959 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/service/OutlayManageUnionAllocateService.java @@ -0,0 +1,47 @@ +package com.budwk.app.zhgh.dayofficework.outlay.outlayManage.service; + +import com.budwk.app.base.result.Result; +import com.budwk.app.base.service.BaseService; +import com.budwk.app.zhgh.dayofficework.outlay.outlayManage.union.model.OutLayAllocateUnion; + +import java.math.BigDecimal; + +/** + * 分工会季度额度分配服务。 + * + *

该服务统一处理季度额度的分配、批量分配和重置回滚, + * 保证季度记录与年度预算表金额始终同步。

+ * + * @author zhf + */ +public interface OutlayManageUnionAllocateService extends BaseService { + + /** + * 修改单个分工会的季度分配金额。 + * + * @param id outlay_allocate_union 表主键,用于定位当前编辑的季度分配记录 + * @param allocateMoney 本次要设置的季度分配金额,传入的是最终金额,不是增量金额 + * @return Result 成功时返回 success;失败时返回错误信息,前端据此提示用户 + */ + Result doEdit(String id, BigDecimal allocateMoney); + + /** + * 批量设置某一季度所有分工会的分配金额。 + * + * @param allocateMoney 本次批量设置的季度分配金额,所有命中的分工会都会写入该金额 + * @param quarterly 要操作的季度,例如 1/2/3/4 + * @param year 要操作的年份,用于筛选对应季度的有效分配记录 + * @return Result 成功时返回 success;失败时返回错误信息 + */ + Result doBatchAllocate(BigDecimal allocateMoney, Integer quarterly, Integer year); + + /** + * 重置当前季度的分配记录。 + * + *

重置时会先回滚 outlay_manage_union.totalQuota, + * 再将当前季度的 outlay_allocate_union 记录标记删除。

+ * + * @return Result 成功时返回 success;失败时返回错误信息 + */ + Result deleteAllocateRecord(); +}