外包人员数量与项目编制增减

外包人员数量与项目编制增减 A data-flow diagram generated by Archify. 01 / 项目额度 02 / 申请初始化 03 / 审批与生效 04 / 编制增减 05 / 统计输出 项目编制 · projectQuota · 01 / 项目额度 项目编制 projectQuota 入场申请初始化 · 申请人数 N · 02 / 申请初始化 入场申请初始化 申请人数 N 离场申请初始化 · 申请人数 N · 02 / 申请初始化 离场申请初始化 申请人数 N 待审批占用 · pendingNum · 03 / 审批与生效 待审批占用 pendingNum 已入场人数 · usedNum · 04 / 编制增减 已入场人数 usedNum 离场释放编制 · 正数项目明细 · 04 / 编制增减 离场释放编制 正数项目明细 失败重试 · 仅 status = 0/2 · 03 / 审批与生效 失败重试 仅 status = 0/2 项目/计划统计 · 项目已入场人数 · 05 / 统计输出 项目/计划统计 项目已入场人数 可用编制 额度基线 写 request_num = -N pendingNum +N 审批通过并生效 usedNum +N 统计已入场人数 计划查询 离场生效 request_num = +N 释放后的统计 可用编制回升 Legend primary data data store data flow

入场:先占用,后生效

  • • 初始化入场申请写负数项目明细:request_num = -N;INIT 时计入 pendingNum
  • • 正式提交后,申请人数转入 usedNum;审批通过且到达入场日后,人员状态更新为已入场

离场:生效时再释放

  • • 离场初始化不写项目申请明细
  • • 离场实际生效后才新增 request_num = +N 的项目明细,以抵消原入场负数记录并释放编制

失败与重试

  • • 单人处理失败时,申请明细记录失败;整批为 FAIL
  • • 重试只处理 status = 0/2;离场重试不会重复写释放编制的项目明细