|
@@ -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())
|