跳转到内容

点名设置

点名与课消那篇讲过,缺勤扣不扣课时、请假扣不扣课时,是由「点名设置」里的两个开关决定的;课时余额与预警那篇讲的预警阈值,同样是这张设置表里的一项。这篇讲的是这三个开关本身:字面叫什么、默认值是多少、改了之后对已经发生的点名和已经出现过的预警名单有没有影响。

设置区是三层:设置 → 机构 → 考勤设置/settings/attendance),需要 settings.manage 权限(标签「管理机构设置」)——同机构信息、校历那几项设置在同一组,不是单独的「点名」分组。机构没有开通「点名与课消」这块积木时,机构组下不会出现这一项;直接访问这个网址,看到的是「此功能未开通」,不是 404。

设置页是一张纯表单,三行,共用一个「保存」按钮——三项一次性保存(PUT 整体 upsert),不是改一项就立刻生效的那种开关,改完两个开关还没顾上填阈值时不会先悄悄写库一半。

缺勤是否扣课时(对应字段 absentDeducts):当前状态显示为「扣课时」或「不扣课时」,旁边一个按钮在两者之间切换,写着「改为不扣」或「改为扣」。默认值是扣课时true)。页面下面的提示语是:「默认扣课时:学生被记为缺勤仍视为占用了这节课的名额,会从余额里扣课时。」

请假是否扣课时(对应字段 leaveDeducts):界面结构跟上面一项完全一样,一个状态显示 + 一个切换按钮。默认值是不扣课时false)。提示语是:「默认不扣课时:请假通常提前请假说明,不视为占用课时。」

余额预警阈值(对应字段 balanceAlertThreshold):一个可以直接编辑的数字输入框,不是开关。默认值是 5。提示语是:「默认 5:学生剩余课时不高于这个数字(≤)时,经营报表会把该生标记为预警。」这个数字就是课时余额与预警那篇「预警名单」一节里、报表区块标题下方那句提示「预警阈值:当前余额 ≤ 5 课时」的来源——默认值一致,改了这里,报表那句提示的数字也跟着变。

这三项都是机构级的,不分校区;接口 /api/settings/attendance 本身不收任何校区参数。

改了之后对已有记录有没有影响

章节:改了之后对已有记录有没有影响

缺勤/请假的扣课时开关不追溯。 这两个开关只在「保存点名」的那一刻被读取一次,用来判定这一次点名该不该生成课消行。改了开关之后,已经点过名、已经生成好的课消行原样留着不动,不会因为开关翻转就被重新计算或者补扣、退扣;只有开关改动之后新点的名才会按新的开关执行。想让某一节课的历史记录跟着新规则重算,唯一的办法是回到点名工作台,对那节课重新点一次名——这一点点名与课消那篇「改点名会怎样」一节说过原理:改点名会同步改课消,但不会有任何东西自动帮你把历史记录批量重跑一遍。

余额预警阈值不追溯,但也没有「历史记录」可言。 阈值本身不存在需要追溯的历史数据——它只是报表在你这一次打开「余额与续费」区块时用来判定谁该进预警名单的一个当场读取的数字,改了阈值之后下一次打开报表立刻按新阈值判定,不会、也不需要重算或标记任何一条历史台账行;台账里的每一笔课消、报读、调整都不知道阈值这件事的存在,阈值只影响「名单里有没有这个人」,不影响任何一笔钱或课时的数字。

改了「请假不扣课时」,之前已经因为请假被扣掉的课时能退回来吗? 不能自动退。这个开关不追溯,历史课消行不会被这次改动动到。要退,得回到那节课的花名册面板,把这个学生的请假记录重新保存一次——这会触发「改点名会同步改课消」,把这条已经存在的课消行删掉;具体机制见点名与课消

改了预警阈值,正在看的这个报表页面会立刻变化吗? 不会立刻变——当前打开的这个报表页面用的还是加载那一刻的数据;要看到新阈值的效果,需要重新打开一次「余额与续费」这个区块(比如刷新报表页)。

这三项谁能改? 只有具备 settings.manage 权限(标签「管理机构设置」)的账号能打开这张设置页并保存;持 attendance.record 权限的普通老师账号进不了这个设置页,只能在点名工作台里按已经设好的规则点名。

改了缺勤/请假开关,会不会影响「余额与预警」报表里已经在名单上的学生?不会直接影响——这两个开关只改变以后点名时扣不扣课时,报表的预警名单看的是台账里已经存在的余额数字。除非因为开关改变而产生了新的课消(比如之后又点了一次名),否则历史余额不会因为这两个开关的翻转而发生变化。