From c6e4c4bb067264f20d44a75925d71f4cd733f4d5 Mon Sep 17 00:00:00 2001 From: wangyu <823267011@qq.com> Date: Tue, 2 Jun 2026 14:22:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=93=E6=88=BFbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SysOaWarehouseController.java | 2 + .../oa/domain/bo/SysOaWarehouseMasterBo.java | 5 ++ .../ruoyi/oa/im/ImCredentialsController.java | 46 +++++++++++++++++++ .../impl/SysOaWarehouseMasterServiceImpl.java | 6 ++- .../impl/SysOaWarehouseTaskServiceImpl.java | 2 + .../components/OutWarehouseDetailTable.vue | 34 ++++++++++++++ .../components/OutWarehouseMasterTable.vue | 41 +++++++++++++++++ .../views/oa/projectOutWarehouse/index.vue | 8 +++- 8 files changed, 141 insertions(+), 3 deletions(-) diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/SysOaWarehouseController.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/SysOaWarehouseController.java index adbe18e..8cc5e52 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/SysOaWarehouseController.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/SysOaWarehouseController.java @@ -183,6 +183,8 @@ public class SysOaWarehouseController extends BaseController { }); sysOaWarehouseMaster.setWarehouseList(list); sysOaWarehouseMaster.setMasterNum(UUID.randomUUID().toString()); + // 导入入口跳过"必须关联采购需求"校验,后续可在采购需求处手动关联 + sysOaWarehouseMaster.setSkipRequirementCheck(true); iSysOaWarehouseMasterService.insertByBo(sysOaWarehouseMaster); return R.ok(result.getAnalysis()); } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/SysOaWarehouseMasterBo.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/SysOaWarehouseMasterBo.java index 39e0059..4075b69 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/SysOaWarehouseMasterBo.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/SysOaWarehouseMasterBo.java @@ -83,6 +83,11 @@ public class SysOaWarehouseMasterBo extends BaseEntity { private Long requirementId; + /** + * 导入场景跳过"必须关联采购需求"校验(仅 import 入口传 true) + */ + private transient Boolean skipRequirementCheck; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date startTime; diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/im/ImCredentialsController.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/im/ImCredentialsController.java index 5d5d157..658643b 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/im/ImCredentialsController.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/im/ImCredentialsController.java @@ -9,11 +9,14 @@ import com.ruoyi.system.mapper.SysUserMapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -64,6 +67,49 @@ public class ImCredentialsController extends BaseController { return R.ok(data); } + /** + * 给指定 OA 用户在 OpenIM 注册账号(如未注册)。 + * 用于发消息前确保对方 imUserId 存在 —— 解决 OpenIM "RecordNotFoundError 1004"。 + *
支持单个或批量,幂等。 + */ + @PostMapping("/ensure") + public R