浏览代码

feat: 任务类型百分比限制2

李学松 2 年之前
父节点
当前提交
7baa416e48

+ 1 - 0
db/v2.0/221222.sql

@@ -5,6 +5,7 @@ create table wm_task_sub_percent_rule
         primary key,
     dept_id     int(20)                            not null comment '企业id',
     sub_cate    varchar(32)                        not null comment '次级分类',
+    batch_id    varchar(32)                        null comment '批量保存编号',
     sub_rule    json                               null comment '规则',
     opt_flag    varchar(32)                        not null comment '操作标记',
     create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',

+ 6 - 1
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/WmTaskSubmissionPercentRule.java

@@ -46,12 +46,17 @@ public class WmTaskSubmissionPercentRule extends Model<WmTaskSubmissionPercentRu
 	@NotNull(message = "deptId不能为空")
 	private Integer deptId;
 
+	/**
+	 * 批量保存编号
+	 */
+	private String batchId;
+
 	/**
 	 * 二级分类
 	 */
 	@NotNull(message = "subCategory不能为空")
 	@TableField(value = "sub_cate")
-	private UpmsType.TaskSubCategory subCategory;
+	private UpmsType.TaskSubCategory2 subCategory;
 
 	/**
 	 * 任务规则

+ 51 - 23
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTaskSubmissionPercentRuleController.java

@@ -6,11 +6,15 @@ import com.qunzhixinxi.hnqz.admin.service.WmTaskSubmissionPercentRuleService;
 import com.qunzhixinxi.hnqz.common.core.constant.enums.CommonFlag;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import lombok.AllArgsConstructor;
+import org.apache.commons.lang3.RandomStringUtils;
 import org.springframework.http.MediaType;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 任务提交百分比规则
@@ -32,59 +36,83 @@ public class WmTaskSubmissionPercentRuleController {
 	 * @return
 	 */
 	@GetMapping
-	public R<List<WmTaskSubmissionPercentRule>> listDeptRules(@RequestParam(value = "deptId") Integer deptId) {
-		return R.ok(wmTaskSubmissionPercentRuleService.list(Wrappers.<WmTaskSubmissionPercentRule>lambdaQuery()
+	public R<Map<String, List<WmTaskSubmissionPercentRule>>> listDeptRules(@RequestParam(value = "deptId") Integer deptId) {
+
+		List<WmTaskSubmissionPercentRule> percentRules = wmTaskSubmissionPercentRuleService.list(Wrappers.<WmTaskSubmissionPercentRule>lambdaQuery()
 				.eq(WmTaskSubmissionPercentRule::getDeptId, deptId)
-				.eq(WmTaskSubmissionPercentRule::getOptFlag, CommonFlag.OptFlag.OK)));
+				.eq(WmTaskSubmissionPercentRule::getOptFlag, CommonFlag.OptFlag.OK));
+
+		Map<String, List<WmTaskSubmissionPercentRule>> collect = percentRules.stream().collect(Collectors.groupingBy(WmTaskSubmissionPercentRule::getBatchId));
+
+		return R.ok(collect);
 	}
 
 	/**
 	 * 保存
 	 *
-	 * @param rule
+	 * @param rules
 	 * @return
 	 */
 	@PostMapping
-	public R<Boolean> save(@Validated @RequestBody WmTaskSubmissionPercentRule rule) {
-		// 默认正常
-		rule.setOptFlag(CommonFlag.OptFlag.OK);
+	public R<Boolean> save(@Validated @RequestBody List<WmTaskSubmissionPercentRule> rules) {
+
+		String batchId = RandomStringUtils.randomAlphabetic(16);
+		rules.forEach(rule -> {
+			// 默认正常
+			rule.setOptFlag(CommonFlag.OptFlag.OK);
+			// 批量保存编号
+			rule.setBatchId(batchId);
+		});
 
-		return R.ok(wmTaskSubmissionPercentRuleService.save(rule));
+		return R.ok(wmTaskSubmissionPercentRuleService.saveBatch(rules));
 	}
 
 	/**
 	 * 更新
 	 *
-	 * @param rule
+	 * @param rules
 	 * @return
 	 */
 	@PutMapping
-	public R<Boolean> update(@RequestBody WmTaskSubmissionPercentRule rule) {
-		if (rule.getRuleId() == null) {
-			return R.failed("ruleId不能为空");
+	public R<Boolean> update(@RequestBody List<WmTaskSubmissionPercentRule> rules) {
+
+		List<WmTaskSubmissionPercentRule> updateRules = new ArrayList<>();
+		for (WmTaskSubmissionPercentRule rule : rules) {
+			if (rule.getRuleId() == null) {
+				return R.failed("ruleId不能为空");
+			}
+
+			WmTaskSubmissionPercentRule updateRule = new WmTaskSubmissionPercentRule();
+			updateRule.setRuleId(rule.getRuleId());
+			updateRule.setRule(rule.getRule());
+			updateRules.add(updateRule);
 		}
 
-		WmTaskSubmissionPercentRule updateRule = new WmTaskSubmissionPercentRule();
-		updateRule.setRuleId(rule.getRuleId());
-		updateRule.setRule(rule.getRule());
 
-		return R.ok(wmTaskSubmissionPercentRuleService.updateById(rule));
+		return R.ok(wmTaskSubmissionPercentRuleService.updateBatchById(updateRules));
 	}
 
 	/**
 	 * 删除规则(逻辑删除)
 	 *
-	 * @param ruleId
+	 * @param batchId
 	 * @return
 	 */
-	@DeleteMapping("/{ruleId}")
-	public R<Boolean> delete(@PathVariable("ruleId") Integer ruleId) {
+	@DeleteMapping("/{batchId}")
+	public R<Boolean> delete(@PathVariable("batchId") String batchId) {
+
+		List<WmTaskSubmissionPercentRule> rules = wmTaskSubmissionPercentRuleService.list(Wrappers.<WmTaskSubmissionPercentRule>lambdaQuery()
+				.eq(WmTaskSubmissionPercentRule::getBatchId, batchId));
 
-		WmTaskSubmissionPercentRule rule = new WmTaskSubmissionPercentRule();
-		rule.setRuleId(ruleId);
-		rule.setOptFlag(CommonFlag.OptFlag.DELETED);
+		List<WmTaskSubmissionPercentRule> updateRules = new ArrayList<>();
+		rules.forEach(percentRule -> {
+			WmTaskSubmissionPercentRule rule = new WmTaskSubmissionPercentRule();
+			rule.setRuleId(percentRule.getRuleId());
+			rule.setOptFlag(CommonFlag.OptFlag.DELETED);
+			updateRules.add(rule);
+		});
 
-		return R.ok(wmTaskSubmissionPercentRuleService.updateById(rule));
+		return R.ok(wmTaskSubmissionPercentRuleService.updateBatchById(updateRules));
 	}
 
 }