Explorar o código

【feat】【v3】
1.完善打卡结算规则

ChenYL hai 11 meses
pai
achega
0fb869a180
Modificáronse 1 ficheiros con 60 adicións e 0 borrados
  1. 60 0
      doc/技术文档.md

+ 60 - 0
doc/技术文档.md

@@ -149,6 +149,66 @@ ui设计工具:即时设计
 
 
 
+##### 重复类型变更的影响
+
+**重复频率由多到小**: 每天 ≥ 自定义(整周) > 法定 工作日 > 自定义(单独设置几天) > 法定 节假日(含周末)
+
+**对本周/本月的总打卡次数影响:**
+
+* 如果不更换:只有1个总打卡次数
+
+* 如果更换:总打卡次数=重复类型A范围的总次数+重复类型B范围的总次数+重复类型C范围的总次数.....
+
+**对全勤结算的影响:**
+
+* 全勤周期类型:每周、每月
+
+* 影响原因:总打卡数和完成打卡数发生变化
+
+* 影响范围
+  * 对全勤周期类型是每周的影响
+    * 如果是在每周第一天进行更换:**不会影响**本周的总打卡数和完成打卡数
+    * 如果是在每周的中途更换:**会影响**本周总打卡数和完成打卡数
+
+  * 对全勤周期类型是每月的影响
+    * 如果是在每月第一天进行更换:**不会影响**本月的总打卡数和完成打卡数
+    * 如果是在每月的中途更换:**会影响**本月总打卡数和完成打卡数
+
+* 影响分析
+
+  * 重复次数由小变大:旧次数(总打卡数、完成打卡数)存在小于新次数(总打卡数、完成打卡数)的可能,因此可能没有足够的时间/错过了时机去完成整个周期的打卡目标,原有的次数不能匹配新的容错率,最终影响结算奖励
+  * 重复次数由大变小:总打卡数降低,旧的完成打卡数大于等于新的完成打卡数,能匹配新的容错率,相当于提前完成了目标,因此是没有影响的
+
+  注:下表✅即是自设的打卡时间
+
+  | 时间范围 | 自定义次数 | 容错次数数 | 周一 | 周二 | 周三 | 周四 | 周五 | 周六 | 周日            | 总可打卡次数 | 完成打卡次数 | 结果           |
+  | -------- | ---------- | ---------- | ---- | ---- | ---- | ---- | ---- | ---- | --------------- | ------------ | ------------ | -------------- |
+  | 7        | 3          | 1          |      |      | ✅    | ✅    | ✅    |      | 周日增加到到5次 | 3            | 3            | 满足全勤条件   |
+  | 7        | 5          | 1          | ✅    | ✅    | ✅    | ✅    | ✅    |      |                 | 3            | 3            | 不满足全勤条件 |
+
+* 结论:更换重复类型影响全勤判断,但是无需在代码上特意考虑,是正常的
+
+
+
+##### 全勤周期更换的影响
+
+**全勤周期类型:**每周、每月
+
+**影响分析:**全勤周期变换会影响全勤的判断时机,即影响奖励次数(周奖励次数多于月)
+
+* 每周变每月:奖励次数减少
+* 每月变每周:奖励次数增加
+
+**场景:**
+
+* **只变更全勤周期:**没有影响,仅仅是判断全勤的时机发生了变化
+* **只变更重复周期**:影响见上文**“重复类型变换的影响”**
+* **同时变更全勤周期和重复周期:**影响是由重复周期变换导致的,因此参考上文**“重复类型变换的影响”**
+
+**结论:**虽然会影响奖励次数,但是是正常的,已奖励的是正常发放的,继续按照新的周期继续进行判断即可,无需在代码上特意考虑
+
+
+
 #### 积分账户
 
 * 基本户:用于结算积分转入,或者兑换奖励