瀏覽代碼

feat: 新增培训三个任务类型-校验

lixuesong 3 年之前
父節點
當前提交
832578a9ec

+ 25 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskContentServiceImpl.java

@@ -179,6 +179,31 @@ public class WmTaskContentServiceImpl extends ServiceImpl<WmTaskContentMapper, W
 				return R.failed(1, "30天以前的任务无法提交");
 			}
 			wmTaskContent.setTemp30(wmTaskContent.getTemp3());
+		} else if ("34".equals(wmTaskContent.getTemp30())) {
+			// 培训(医院患者教育培训 、药店药师培训 、商业公司培训)
+			// 限制每天两次
+			LocalDate currentLookintoDate =
+					LocalDate.parse(wmTaskContent.getTemp4(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));
+			LocalDateTime start = LocalDateTime.of(currentLookintoDate,LocalTime.MIN);
+			LocalDateTime end = LocalDateTime.of(currentLookintoDate,LocalTime.MAX);
+			long meetingTaskCount = wmTaskService.countMeetingTask(CollectionUtil.toList("19"),
+					String.valueOf(sysU.getUserId()), start, end);
+			log.info("培训次数:{}", meetingTaskCount);
+			if (meetingTaskCount >= 2L) {
+				return R.failed(1, "每天最多举办两场培训");
+			}
+
+			String date = wmTaskContent.getTemp4();
+			Date date1 = DateUtil.parse(date);
+			Date date2 = new Date();
+			if (date1.after(date2)) {
+				return R.failed(1, "培训时间不能选择之后的时间");
+			}
+			long betweenDay = DateUtil.between(date1, date2, DateUnit.DAY);
+			if (betweenDay >= 30L) {
+				return R.failed(1, "30天以前的任务无法提交");
+			}
+			wmTaskContent.setTemp30(wmTaskContent.getTemp3());
 		}
 
 		if ("21".equals(wmTaskContent.getTemp30()) || "12".equals(wmTaskContent.getTemp30())