Browse Source

feat: 结算报告审批-任务复审2

李学松 2 years ago
parent
commit
3505d324c3

+ 19 - 4
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmReportController.java

@@ -19,14 +19,17 @@ package com.qunzhixinxi.hnqz.admin.controller;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
 import com.alibaba.csp.sentinel.util.StringUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qunzhixinxi.hnqz.admin.api.constant.CacheConstants;
 import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
 import com.qunzhixinxi.hnqz.admin.entity.WmTask;
 import com.qunzhixinxi.hnqz.admin.entity.vo.WmTaskVO;
+import com.qunzhixinxi.hnqz.admin.enums.TaskStatusEnum;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeService;
@@ -36,6 +39,7 @@ import com.qunzhixinxi.hnqz.admin.entity.WmReport;
 import com.qunzhixinxi.hnqz.admin.service.WmReportService;
 import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.security.access.prepost.PreAuthorize;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -46,6 +50,7 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 
@@ -65,6 +70,7 @@ public class WmReportController {
 	private final WmScorePackageService wmScorePackageService;
 	private final WmTaskService wmTaskService;
 	private final WmTaskTypeService wmTaskTypeService;
+	private final RedisTemplate redisTemplate;
 	/**
 	 * 分页查询
 	 * @param page 分页对象
@@ -245,10 +251,10 @@ public class WmReportController {
 	/**
 	 * 结算报告审批-任务复审
 	 *
-	 * @param reportId        报告id
-	 * @param taskId          任务id
-	 * @param approvalOpinion 审核状态(1-通过,2-不通过)
-	 * @param approvalInfo    审批说明
+	 * @param1 reportId        报告id
+	 * @param1 taskId          任务id
+	 * @param1 approvalOpinion 审核状态(1-通过,2-不通过)
+	 * @param1 approvalInfo    审批说明
 	 * @return 复审结果
 	 */
 	@SysLog("结算报告审批-任务复审")
@@ -262,6 +268,15 @@ public class WmReportController {
 		if (!StrUtil.isAllNotBlank(reportId, taskId, approvalOpinion, approvalInfo)) {
 			return R.failed("必填参数为空");
 		}
+		if (!CollUtil.toList("1", "2").contains(approvalOpinion)) {
+			return R.failed("approvalOpinion不正确");
+		}
+
+		String cacheKey = CacheConstants.TASK_REVIEW_KEY + taskId;
+		Boolean absent = redisTemplate.opsForValue().setIfAbsent(cacheKey, JSONUtil.toJsonStr(requestMap), 3, TimeUnit.SECONDS);
+		if (Boolean.FALSE.equals(absent)) {
+			return R.failed("正在处理");
+		}
 
 		return R.ok(wmReportService.reviewTask(reportId, taskId, approvalOpinion, approvalInfo));
 	}

+ 4 - 4
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmReportServiceImpl.java

@@ -444,8 +444,8 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 					taskScorePackageId, taskScorePackage.getUpdateTime(), taskScorePackage.getUpdateUser(), scorePackageStatus, taskAddFlagStr, now, operatorId);
 			boolean updateScorePackage = wmScorePackageService.update(Wrappers.<WmScorePackage>lambdaUpdate()
 					.eq(WmScorePackage::getId, taskScorePackageId)
-					.eq(reportScorePackage.getUpdateTime() != null, WmScorePackage::getUpdateTime, reportScorePackage.getUpdateTime())
-					.eq(reportScorePackage.getUpdateUser() != null, WmScorePackage::getUpdateUser, reportScorePackage.getUpdateUser())
+					.eq(taskScorePackage.getUpdateTime() != null, WmScorePackage::getUpdateTime, taskScorePackage.getUpdateTime())
+					.eq(taskScorePackage.getUpdateUser() != null, WmScorePackage::getUpdateUser, taskScorePackage.getUpdateUser())
 					.set(WmScorePackage::getScorePackageStatus, scorePackageStatus)
 					.set(WmScorePackage::getTaskAddFlag, taskAddFlagStr)
 					.set(WmScorePackage::getUpdateTime, now)
@@ -470,8 +470,8 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 					taskScorePackageId, taskScorePackage.getUpdateTime(), taskScorePackage.getUpdateUser(), scorePackageStatus, taskAddFlagStr, now, operatorId);
 			boolean updateScorePackage = wmScorePackageService.update(Wrappers.<WmScorePackage>lambdaUpdate()
 					.eq(WmScorePackage::getId, taskScorePackageId)
-					.eq(reportScorePackage.getUpdateTime() != null, WmScorePackage::getUpdateTime, reportScorePackage.getUpdateTime())
-					.eq(reportScorePackage.getUpdateUser() != null, WmScorePackage::getUpdateUser, reportScorePackage.getUpdateUser())
+					.eq(taskScorePackage.getUpdateTime() != null, WmScorePackage::getUpdateTime, taskScorePackage.getUpdateTime())
+					.eq(taskScorePackage.getUpdateUser() != null, WmScorePackage::getUpdateUser, taskScorePackage.getUpdateUser())
 					.set(WmScorePackage::getScorePackageStatus, scorePackageStatus)
 					.set(WmScorePackage::getTaskAddFlag, taskAddFlagStr)
 					.set(WmScorePackage::getUpdateTime, now)