Ver código fonte

Merge branch 'feat-20230717-tasktypeconfig' into temp-pre

李学松 2 anos atrás
pai
commit
24b1e13d8c

+ 14 - 5
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTaskSubmissionRuleController.java

@@ -3,6 +3,7 @@ package com.qunzhixinxi.hnqz.admin.controller;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
@@ -105,17 +106,25 @@ public class WmTaskSubmissionRuleController {
 	/**
 	 * 更新启用的任务类型
 	 *
-	 * @param rule 任务类型
+	 * @param requestMap 请求参数
 	 * @return 结果
 	 */
 	@PostMapping("/update-task-type")
-	public R<Boolean> updateEnableTaskType(@RequestBody WmTaskSubmissionPercentRule.PercentRule rule) {
+	public R<Boolean> updateEnableTaskType(@RequestBody Map<String, Object> requestMap) {
+		List<String> taskTypeIds = (List<String>) requestMap.get("taskTypeIds");
+		Integer deptId = (Integer) requestMap.get("deptId");
+		if (ArrayUtil.isEmpty(taskTypeIds) || deptId == null) {
+			return R.failed("必填参数为空");
+		}
+
+		WmTaskSubmissionPercentRule.PercentRule rule = new WmTaskSubmissionPercentRule.PercentRule();
 		rule.setLimitPercent("");
 		rule.setStartScore(0);
-		Integer deptId = SecurityUtils.getUser().getDeptId();
+		rule.setTaskTypeIds(taskTypeIds.toArray(new String[0]));
+		Integer currentDeptId = SecurityUtils.getUser().getDeptId();
 
 		List<WmTaskSubmissionPercentRule> rules = taskSubmissionPercentRuleService.list(Wrappers.<WmTaskSubmissionPercentRule>lambdaQuery()
-				.eq(WmTaskSubmissionPercentRule::getDeptId, deptId)
+				.eq(WmTaskSubmissionPercentRule::getDeptId, currentDeptId)
 				.eq(WmTaskSubmissionPercentRule::getSubCategory, UpmsType.TaskSubCategory2.TASK_TYPE_CONFIG));
 		if (CollUtil.isEmpty(rules)) {
 			WmTaskSubmissionPercentRule percentRule = new WmTaskSubmissionPercentRule();
@@ -128,7 +137,7 @@ public class WmTaskSubmissionRuleController {
 			taskSubmissionPercentRuleService.update(Wrappers.<WmTaskSubmissionPercentRule>lambdaUpdate()
 					.eq(WmTaskSubmissionPercentRule::getDeptId, deptId)
 					.eq(WmTaskSubmissionPercentRule::getSubCategory, UpmsType.TaskSubCategory2.TASK_TYPE_CONFIG)
-					.set(WmTaskSubmissionPercentRule::getRule, rule));
+					.set(WmTaskSubmissionPercentRule::getRule, JSONUtil.toJsonStr(rule)));
 		}
 
 		return R.ok(Boolean.TRUE);

+ 10 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaAgentServiceImpl.java

@@ -118,6 +118,8 @@ public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent
 	 * sysDept.setTaxCode(wmDaAgent.getZjNumber());
 	*/
 	public boolean saveAgent(WmDaAgent wmDaAgent) {
+		Integer deptId = SecurityUtils.getUser().getDeptId();
+
 		wmDaAgent.setCreateTime(LocalDateTime.now());
 		boolean isSave = super.save(wmDaAgent);
 		List<SysDept> list = sysDeptMapper.selectByName(wmDaAgent.getGsmc());
@@ -136,6 +138,10 @@ public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent
 					wmDaAgent.setDeptId(String.valueOf(list.get(0).getDeptId()));
 					wmDaAgentMapper.updateById(wmDaAgent);
 				}
+
+				// 初始化企业限制信息
+				taskSubmissionRuleService.initDeptTaskSubmissionRule(Collections.singleton(Integer.valueOf(wmDaAgent.getDeptId())), deptId);
+
 				List<SysDeptRelation> newList = new ArrayList<>();
 				SysDeptRelation sysDeptRelation = new SysDeptRelation();
 				sysDeptRelation.setAncestor(SecurityUtils.getUser().getDeptId());
@@ -160,6 +166,10 @@ public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent
 					wmDaAgent.setDeptId(String.valueOf(list.get(0).getDeptId()));
 					wmDaAgentMapper.updateById(wmDaAgent);
 				}
+
+				// 初始化企业限制信息
+				taskSubmissionRuleService.initDeptTaskSubmissionRule(Collections.singleton(Integer.valueOf(wmDaAgent.getDeptId())), deptId);
+
 				List<SysDeptRelation> newList = new ArrayList<>();
 				SysDeptRelation sysDeptRelation = new SysDeptRelation();
 				sysDeptRelation.setAncestor(SecurityUtils.getUser().getDeptId());
@@ -172,8 +182,6 @@ public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent
 				return sysDeptRelationService.saveBatch(newList);
 			}
 
-			// 初始化企业限制信息
-			taskSubmissionRuleService.initDeptTaskSubmissionRule(Collections.singleton(Integer.valueOf(wmDaAgent.getDeptId())), SecurityUtils.getUser().getDeptId());
 		}
 		return false;
 	}

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

@@ -27,6 +27,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.google.common.collect.ImmutableList;
 import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
+import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionPercentRule;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionRule;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskTypeSubCategory;
 import com.qunzhixinxi.hnqz.admin.api.vo.UserVO;
@@ -541,6 +542,18 @@ public class WmTaskContentServiceImpl extends ServiceImpl<WmTaskContentMapper, W
 
 		List<WmScorePackageStatus> statusList = checkPackageStatus(sysU.getUserId(), tWmScorePackage.getId());
 
+		// 查询任务类型启用状态
+		List<WmTaskSubmissionPercentRule> rules = wmTaskSubmissionPercentRuleService.list(Wrappers.<WmTaskSubmissionPercentRule>lambdaQuery()
+				.eq(WmTaskSubmissionPercentRule::getDeptId, user.getDeptId())
+				.eq(WmTaskSubmissionPercentRule::getSubCategory, UpmsType.TaskSubCategory2.TASK_TYPE_CONFIG));
+		if (CollUtil.isEmpty(rules)) {
+			throw new RuntimeException("当前企业未开启该任务!");
+		}
+		String[] taskTypeIds = rules.get(0).getRule().getTaskTypeIds();
+		if (!ArrayUtil.contains(taskTypeIds, wmTaskContent.getTemp30())) {
+			throw new RuntimeException("当前企业未开启该任务!");
+		}
+
 		// 检验分值 3W
 		this.limitScore(sysU.getUserId(), sysU.getDeptId(), tWmScorePackage.getPackageType1());
 

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

@@ -89,10 +89,9 @@ public class WmTaskSubmissionRuleServiceImpl extends ServiceImpl<WmTaskSubmissio
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public Boolean initDeptTaskSubmissionRule(Collection<Integer> deptIds, Integer sourceDeptId) {
-		// 查询平台的配置
+		// 查询源数据企业的配置
 		List<WmTaskSubmissionRule> platformRules = this.list(Wrappers.<WmTaskSubmissionRule>lambdaQuery()
-				.eq(WmTaskSubmissionRule::getDeptId, sourceDeptId)
-				.eq(WmTaskSubmissionRule::getSubCategory, UpmsType.TaskSubCategory.SCORE_LIMIT));
+				.eq(WmTaskSubmissionRule::getDeptId, sourceDeptId));
 
 
 		if (CollUtil.isEmpty(platformRules)) {