فهرست منبع

fix: 修复任务类型错误

shc 7 ماه پیش
والد
کامیت
f454257e3b
1فایلهای تغییر یافته به همراه81 افزوده شده و 3 حذف شده
  1. 81 3
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/InitController.java

+ 81 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/InitController.java

@@ -1,18 +1,24 @@
 package com.qunzhixinxi.hnqz.admin.controller;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollectionUtil;
 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.qunzhixinxi.hnqz.admin.api.constant.enums.DelEnum;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysAreaEntity;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDeptRelation;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysLog;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysUserArea;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmDaAgent;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmDaDrugEnt;
 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.event.PackageContractEvent;
 import com.qunzhixinxi.hnqz.admin.mapper.SysDeptMapper;
@@ -21,9 +27,12 @@ import com.qunzhixinxi.hnqz.admin.mapper.WmDaAgentMapper;
 import com.qunzhixinxi.hnqz.admin.mapper.WmDaDrugEntMapper;
 import com.qunzhixinxi.hnqz.admin.mapper.WmTaskTypeMapper;
 import com.qunzhixinxi.hnqz.admin.service.SysAreaEntityService;
+import com.qunzhixinxi.hnqz.admin.service.SysLogService;
 import com.qunzhixinxi.hnqz.admin.service.SysUserAreaService;
 import com.qunzhixinxi.hnqz.admin.service.SysUserService;
 import com.qunzhixinxi.hnqz.admin.service.WmPackageTaskTypeQtyService;
+import com.qunzhixinxi.hnqz.admin.service.WmTaskContentService;
+import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.security.annotation.Inner;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
@@ -45,9 +54,11 @@ import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.util.ArrayList;
 import java.util.Comparator;
+import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 import static org.bouncycastle.asn1.x500.style.RFC4519Style.o;
@@ -65,6 +76,9 @@ import static org.bouncycastle.asn1.x500.style.RFC4519Style.o;
 @RequestMapping(value = "/init", produces = MediaType.APPLICATION_JSON_VALUE)
 public class InitController {
 
+    private final WmTaskContentService taskContentService;
+    private final WmTaskService taskService;
+    private final SysLogService logService;
     private final WmTaskTypeMapper wmTaskTypeMapper;
     private final SysDeptMapper sysDeptMapper;
     private final WmDaDrugEntMapper wmDaDrugEntMapper;
@@ -415,13 +429,13 @@ public class InitController {
 
     @Inner(value = false)
     @PostMapping(value = "/cnbg/pkg/contract/create")
-    public R<Boolean> sendPkgContractEvent(@RequestBody Map<String, Object> params){
+    public R<Boolean> sendPkgContractEvent(@RequestBody Map<String, Object> params) {
         Integer pkgId = (Integer) params.get("pkgId");
 
         List<WmPackageTaskTypeQty> list = packageTaskTypeQtyService.list(Wrappers.<WmPackageTaskTypeQty>lambdaQuery().eq(WmPackageTaskTypeQty::getPackageId, pkgId).orderByDesc(WmPackageTaskTypeQty::getCreateTime));
 
         if (CollectionUtil.isEmpty(list)) {
-            return R.failed(Boolean.FALSE,"不存在任务数量明细");
+            return R.failed(Boolean.FALSE, "不存在任务数量明细");
         }
 
         Map<LocalDateTime, List<WmPackageTaskTypeQty>> collect = list.stream().collect(Collectors.groupingBy(WmPackageTaskTypeQty::getCreateTime));
@@ -435,7 +449,71 @@ public class InitController {
 
         applicationEventPublisher.publishEvent(event);
 
-        return R.ok(Boolean.TRUE,"合同生成事件已发送");
+        return R.ok(Boolean.TRUE, "合同生成事件已发送");
+    }
+
+    @Inner(value = false)
+    @GetMapping(value = "/cnbg/task/content/update")
+    public R<Boolean> init1() {
+
+        List<SysLog> logs = logService.list(Wrappers.<SysLog>lambdaQuery()
+                .ge(SysLog::getCreateTime, LocalDateTime.of(2024, 11, 10, 0, 0, 0))
+                .eq(SysLog::getTitle, "新增任务内容表"));
+
+
+        if (CollUtil.isEmpty(logs)) {
+            return R.ok(Boolean.TRUE, "不存在日志");
+        }
+
+        List<String> collect = logs.stream().map(SysLog::getParams).filter(StrUtil::isNotBlank).collect(Collectors.toList());
+
+
+        if (CollUtil.isEmpty(collect)) {
+
+            return R.ok(Boolean.TRUE, "日志参数不存在");
+        }
+
+        Set<String> ttIds = Set.of("2", "3", "4");
+        Map<String, WmTaskContent> tempContent = collect.stream()
+                // json 2 bean
+                .map(p -> JSONUtil.toBean(p, WmTaskContent.class))
+                //  获取修复的类型
+                .filter(tc -> ttIds.contains(tc.getTemp30()))
+                // temp10分组
+                .collect(Collectors.toMap(WmTaskContent::getTemp10, Function.identity(), (v1, v2) -> v2));
+
+
+        // List<String> tcIds = taskService.list(Wrappers.<WmTask>lambdaQuery().ge(WmTask::getCreateTime, LocalDateTime.of(2024, 11, 10, 0, 0, 0)))
+        //         .stream().map(WmTask::getTaskContentId).sorted().collect(Collectors.toList());
+
+        List<WmTaskContent> taskContents = taskContentService.list(Wrappers.<WmTaskContent>lambdaQuery()
+                // .in(WmTaskContent::getId, tcIds)
+                .in(WmTaskContent::getTemp30, ttIds));
+
+
+        List<WmTaskContent> updateed = new LinkedList<>();
+
+        for (WmTaskContent taskContent : taskContents) {
+
+            String temp10 = taskContent.getTemp10();
+
+            WmTaskContent params = tempContent.get(temp10);
+
+            if (params == null) {
+                continue;
+            }
+            String temp17 = params.getTemp17();
+
+            WmTaskContent newOne = new WmTaskContent();
+            newOne.setId(taskContent.getId());
+            newOne.setTemp27(temp17);
+            updateed.add(newOne);
+
+        }
+
+        taskContentService.updateBatchById(updateed);
+
+        return R.ok(Boolean.TRUE, updateed.size() + "");
     }