|
|
@@ -788,15 +788,19 @@ public class AttendanceDetail extends AbstractDomain<String, AttendanceDetailPo>
|
|
|
String peiZhiMingChen = records.getPaiBanMingChen();
|
|
|
String currentBanCiMing = records.getBanCiMing();
|
|
|
String newBanCiMing = po.getBanCiMing();
|
|
|
+ String paiBanMingChen = po.getPaiBanMingChen();
|
|
|
+ String finalMingChen = peiZhiMingChen;
|
|
|
|
|
|
- // 确定最终使用的排班类型
|
|
|
+ // 确定最终使用的排班类型和排班名称
|
|
|
String finalBanCiMing = BeanUtils.isNotEmpty(newBanCiMing) ? newBanCiMing : currentBanCiMing;
|
|
|
boolean isBanCiMingModified = BeanUtils.isNotEmpty(newBanCiMing) && !newBanCiMing.equals(currentBanCiMing);
|
|
|
-
|
|
|
+ if(isBanCiMingModified){
|
|
|
+ finalMingChen = paiBanMingChen;
|
|
|
+ }
|
|
|
// 查询考勤配置 (基于最终的班次类型)
|
|
|
Map<String, String> configWhere = new HashMap<>();
|
|
|
configWhere.put("pai_ban_bu_men_", buMen);// 对应打卡记录的 bu_men_
|
|
|
- configWhere.put("pei_zhi_ming_chen", peiZhiMingChen); //对应打卡记录的 pai_ban_ming_chen
|
|
|
+ configWhere.put("pei_zhi_ming_chen", finalMingChen); //对应打卡记录的 pai_ban_ming_chen 或者上送的修改后新的配置名称
|
|
|
configWhere.put("pai_ban_lei_xing_", finalBanCiMing); //对应打卡记录的 ban_ci_ming_
|
|
|
configWhere.put("sheng_xiao_biao_z", "Y");
|
|
|
|
|
|
@@ -804,7 +808,7 @@ public class AttendanceDetail extends AbstractDomain<String, AttendanceDetailPo>
|
|
|
if (BeanUtils.isEmpty(configList)) {
|
|
|
// 明确提示是传入的新排班类型无效,还是原记录配置失效
|
|
|
if (isBanCiMingModified) {
|
|
|
- throw new Exception("排班类型[" + newBanCiMing + "]未找到生效的考勤配置,请检查是否已生效");
|
|
|
+ throw new Exception("新排班类型[" + newBanCiMing + "]未找到生效的考勤配置,请检查是否已生效");
|
|
|
} else {
|
|
|
throw new Exception("未找到生效的考勤配置,请检查部门[" + buMen + "]、配置名称[" + peiZhiMingChen + "]、排班类型[" + finalBanCiMing + "]是否存在");
|
|
|
}
|