ソースを参照

fix:区分打卡任务类型

shc 2 年 前
コミット
5db7621d38

+ 5 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/WmUserSign.java

@@ -101,4 +101,9 @@ public class WmUserSign extends Model<WmUserSign> {
 	@TableField(exist = false)
 	private WmUserSignDetail userSignDetail;
 
+	/**
+	 * 拜访任务类型id
+	 */
+	private String taskTypeId;
+
 }

+ 3 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmUserSignServiceImpl.java

@@ -122,6 +122,7 @@ public class WmUserSignServiceImpl extends ServiceImpl<WmUserSignMapper, WmUserS
 		} else {
 			return R.failed("拜访类型不存在");
 		}
+		wmUserSign.setTaskTypeId(taskTypeId);
 
 		int dailyLimit = 0;
 		int eachLimit = 0;
@@ -150,6 +151,7 @@ public class WmUserSignServiceImpl extends ServiceImpl<WmUserSignMapper, WmUserS
 		LocalDateTime now = LocalDateTime.now();
 		List<WmUserSign> signs = this.list(Wrappers.<WmUserSign>lambdaQuery()
 				.eq(WmUserSign::getSignUserid, wmUserSign.getSignUserid())
+				.eq(WmUserSign::getTaskTypeId, taskTypeId)
 				.between(WmUserSign::getSignDate, LocalDateTime.of(now.toLocalDate(), LocalTime.MIN), LocalDateTime.of(now.toLocalDate(), LocalTime.MAX)));
 
 		// 没有超过日打卡限制
@@ -157,7 +159,7 @@ public class WmUserSignServiceImpl extends ServiceImpl<WmUserSignMapper, WmUserS
 
 			Map<String, List<WmUserSign>> collect = signs.stream().collect(Collectors.groupingBy(WmUserSign::getSignEntId));
 			List<WmUserSign> wmUserSigns = collect.get(wmUserSign.getSignEntId());
-			if (CollUtil.isNotEmpty(wmUserSigns)){
+			if (CollUtil.isNotEmpty(wmUserSigns)) {
 				if (wmUserSigns.size() < eachLimit) {
 
 					// 一个用户,在同一打卡地点,4小时内只能打卡一次