Forráskód Böngészése

Merge branch 'feature-meetinglimit-210720' of googol/YY_BE_2 into master

屈桐 4 éve
szülő
commit
db3edda41a

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

@@ -18,19 +18,29 @@ package com.qunzhixinxi.hnqz.admin.service.impl;
 
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.qunzhixinxi.hnqz.admin.api.dto.UserDTO;
-import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
 import com.qunzhixinxi.hnqz.admin.api.vo.UserVO;
-import com.qunzhixinxi.hnqz.admin.entity.*;
+import com.qunzhixinxi.hnqz.admin.entity.WmDaHospital;
+import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
+import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageStatus;
+import com.qunzhixinxi.hnqz.admin.entity.WmTask;
+import com.qunzhixinxi.hnqz.admin.entity.WmTaskContent;
+import com.qunzhixinxi.hnqz.admin.entity.WmTaskType;
+import com.qunzhixinxi.hnqz.admin.entity.WmUserSign;
 import com.qunzhixinxi.hnqz.admin.mapper.WmDaHospitalMapper;
 import com.qunzhixinxi.hnqz.admin.mapper.WmTaskContentMapper;
 import com.qunzhixinxi.hnqz.admin.mapper.WmUserSignMapper;
-import com.qunzhixinxi.hnqz.admin.service.*;
+import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
+import com.qunzhixinxi.hnqz.admin.service.SysPublicParamService;
+import com.qunzhixinxi.hnqz.admin.service.SysUserService;
+import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
+import com.qunzhixinxi.hnqz.admin.service.WmScorePackageStatusService;
+import com.qunzhixinxi.hnqz.admin.service.WmTaskContentService;
+import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
+import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeService;
 import com.qunzhixinxi.hnqz.admin.util.HnqzUtils;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
@@ -42,11 +52,9 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
-import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
-import java.time.format.DateTimeFormatter;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -119,13 +127,12 @@ public class WmTaskContentServiceImpl extends ServiceImpl<WmTaskContentMapper, W
 		}
 
 		WmScorePackageStatus scorePackageStatus = statusList.get(0);
-		if ("1".equals(wmTaskContent.getTemp30()) || "19".equals(wmTaskContent.getTemp30())) {
-			/**
-			 * 会议每天两场
-			 */
+		if ("1".equals(wmTaskContent.getTemp30())) {
+			// 会议举办
+			// 限制每天两次
 			LambdaQueryWrapper<WmTask> wrappers = Wrappers.lambdaQuery();
 			wrappers.eq(WmTask::getTaskUserId, sysU.getUserId() + "");
-			wrappers.in(WmTask::getTaskTypeId, 1, 2, 3, 4, 19);
+			wrappers.in(WmTask::getTaskTypeId, 1, 2, 3, 4);
 			wrappers.le(WmTask::getLookintoDate, LocalDateTime.of(LocalDate.now(), LocalTime.MAX));
 			wrappers.ge(WmTask::getLookintoDate, LocalDateTime.of(LocalDate.now(), LocalTime.MIN));
 
@@ -146,6 +153,32 @@ public class WmTaskContentServiceImpl extends ServiceImpl<WmTaskContentMapper, W
 				return R.failed(1, "30天以前的任务无法提交");
 			}
 			wmTaskContent.setTemp30(wmTaskContent.getTemp3());
+		} else if ("19".equals(wmTaskContent.getTemp30())) {
+			// 一对一专访
+			// 限制每天两次
+			LambdaQueryWrapper<WmTask> interviewQuery = Wrappers.lambdaQuery();
+			interviewQuery.eq(WmTask::getTaskUserId, sysU.getUserId() + "");
+			interviewQuery.eq(WmTask::getTaskTypeId, 19);
+			interviewQuery.le(WmTask::getLookintoDate, LocalDateTime.of(LocalDate.now(), LocalTime.MAX));
+			interviewQuery.ge(WmTask::getLookintoDate, LocalDateTime.of(LocalDate.now(), LocalTime.MIN));
+
+			int interviewTotal = wmTaskService.count(interviewQuery);
+			if (interviewTotal >= 2) {
+				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())