|
@@ -7,6 +7,8 @@ import cn.hutool.core.date.LocalDateTimeUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.pig4cloud.plugin.excel.annotation.RequestExcel;
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.constant.UpmsState;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.constant.enums.DelEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysAreaEntity;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
|
|
@@ -20,6 +22,7 @@ import com.qunzhixinxi.hnqz.admin.api.entity.WmPackageTaskTypeQty;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTask;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskContent;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskType;
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.model.excel.WmTaskDupModel;
|
|
|
import com.qunzhixinxi.hnqz.admin.event.PackageContractEvent;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.SysDeptMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.SysDeptRelationMapper;
|
|
@@ -53,7 +56,9 @@ import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.LocalTime;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Collections;
|
|
|
import java.util.Comparator;
|
|
|
+import java.util.Iterator;
|
|
|
import java.util.LinkedList;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -523,4 +528,105 @@ public class InitController {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ @Inner(value = false)
|
|
|
+ @PostMapping(value = "/cnbg/del/dup/task")
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public R<Map<String, List<WmTaskContent>>> delDupTaskContent(@RequestExcel(ignoreEmptyRow = true) List<WmTaskDupModel> dup) {
|
|
|
+
|
|
|
+ List<String> tIds = new LinkedList<>();
|
|
|
+ List<String> tcIds = new LinkedList<>();
|
|
|
+
|
|
|
+
|
|
|
+ if (CollUtil.isEmpty(dup)) {
|
|
|
+ return R.ok(Collections.EMPTY_MAP, "重复数据集为空");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 排序去重 && 获取重复的任务记录
|
|
|
+ List<String> taskNumbers = dup.stream().map(WmTaskDupModel::getTaskNumber).distinct().sorted().collect(Collectors.toList());
|
|
|
+ List<WmTask> targetTasks = taskService.list(Wrappers.<WmTask>lambdaQuery().in(WmTask::getTaskNumber, taskNumbers));
|
|
|
+
|
|
|
+
|
|
|
+ // 获取重复任务的任务内容
|
|
|
+ List<String> taskContentIds = targetTasks.stream().map(WmTask::getTaskContentId).sorted().distinct().collect(Collectors.toList());
|
|
|
+ List<WmTaskContent> taskContents = taskContentService.listByIds(taskContentIds);
|
|
|
+ Map<Integer, WmTaskContent> tcId2EntityMap = taskContents.stream().collect(Collectors.toMap(WmTaskContent::getId, Function.identity()));
|
|
|
+
|
|
|
+
|
|
|
+ Map<String, List<WmTaskContent>> collect = taskContents.stream().collect(Collectors.groupingBy(this::getContentStr));
|
|
|
+
|
|
|
+
|
|
|
+ // Iterator<WmTask> iterator = targetTasks.iterator();
|
|
|
+ //
|
|
|
+ // while (iterator.hasNext()) {
|
|
|
+ //
|
|
|
+ // WmTask task = iterator.next();
|
|
|
+ //
|
|
|
+ // // 当前任务的信息
|
|
|
+ // String taskId = task.getId();
|
|
|
+ // String taskContentId = task.getTaskContentId();
|
|
|
+ // WmTaskContent taskContent = tcId2EntityMap.get(taskContentId);
|
|
|
+ // String cur = getContentStr(taskContent);
|
|
|
+ //
|
|
|
+ //
|
|
|
+ // for (WmTask task1 : targetTasks) {
|
|
|
+ // if (StrUtil.equals(taskId, task1.getId())) {
|
|
|
+ // continue;
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // WmTaskContent taskContent1 = tcId2EntityMap.get(task1.getTaskContentId());
|
|
|
+ // String compared = getContentStr(taskContent1);
|
|
|
+ //
|
|
|
+ // if (StrUtil.equals(cur, compared)){
|
|
|
+ // tIds.add(task1.getId());
|
|
|
+ // tcIds.add(task1.getTaskContentId());
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // iterator.remove();
|
|
|
+ // }
|
|
|
+
|
|
|
+
|
|
|
+ return R.ok(collect, Boolean.TRUE.toString());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private String getContentStr(WmTaskContent content) {
|
|
|
+
|
|
|
+ return content.getTemp1() +
|
|
|
+ content.getTemp2() +
|
|
|
+ content.getTemp3() +
|
|
|
+ content.getTemp4() +
|
|
|
+ content.getTemp5() +
|
|
|
+ content.getTemp6() +
|
|
|
+ content.getTemp7() +
|
|
|
+ content.getTemp8() +
|
|
|
+ content.getTemp9() +
|
|
|
+ content.getTemp10() +
|
|
|
+ content.getTemp11() +
|
|
|
+ content.getTemp12() +
|
|
|
+ content.getTemp13() +
|
|
|
+ content.getTemp14() +
|
|
|
+ content.getTemp15() +
|
|
|
+ content.getTemp16() +
|
|
|
+ content.getTemp17() +
|
|
|
+ content.getTemp18() +
|
|
|
+ content.getTemp19() +
|
|
|
+ content.getTemp20() +
|
|
|
+ content.getTemp21() +
|
|
|
+ content.getTemp22() +
|
|
|
+ content.getTemp23() +
|
|
|
+ content.getTemp24() +
|
|
|
+ content.getTemp25() +
|
|
|
+ content.getTemp26() +
|
|
|
+ content.getTemp27() +
|
|
|
+ content.getTemp28() +
|
|
|
+ content.getTemp29() +
|
|
|
+ content.getTemp30() +
|
|
|
+ content.getTemp31() +
|
|
|
+ content.getTemp32();
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|