From e334d8afd0a654aa845f720122b876807459b90d Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期二, 09 九月 2025 17:56:26 +0800
Subject: [PATCH] 设备调拨、借用、归还流程审批调整

---
 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ComponentPackageStrategy.java |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ComponentPackageStrategy.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ComponentPackageStrategy.java
new file mode 100644
index 0000000..841a758
--- /dev/null
+++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ComponentPackageStrategy.java
@@ -0,0 +1,37 @@
+package org.jeecg.modules.dnc.service.impl;
+
+import org.jeecg.modules.dnc.dto.TransferPackage;
+import org.jeecg.modules.dnc.entity.ComponentInfo;
+import org.jeecg.modules.dnc.entity.DocRelative;
+import org.jeecg.modules.dnc.mapper.ComponentInfoMapper;
+import org.jeecg.modules.dnc.mapper.DeviceTypeMapper;
+import org.jeecg.modules.dnc.mapper.DocRelativeMapper;
+import org.jeecg.modules.dnc.service.DataPackageStrategy;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class ComponentPackageStrategy implements DataPackageStrategy {
+    @Autowired
+    private ComponentInfoMapper componentInfoMapper;
+    @Autowired
+    private DeviceTypeMapper deviceTypeMapper;
+    @Autowired
+    private FullHierarchyTraceService traceService;
+    @Autowired
+    private DocRelativeMapper docRelativeMapper;
+
+    @Override
+    public TransferPackage packageData(String relativeId) {
+        DocRelative docRelative=docRelativeMapper.selectById(relativeId);
+        ComponentInfo componentInfo=componentInfoMapper.selectById(docRelative.getAttributionId());
+        if (componentInfo == null) {
+            throw new IllegalArgumentException("瀵瑰簲鐨勯儴浠朵笉瀛樺湪: " + docRelative.getAttributionId());
+        }
+        return TransferPackage.builder()
+                .dataType(TransferPackage.DataType.COMPONENT)
+                .docRelative(docRelative)
+                .traceChain(traceService.traceFromComponent(docRelative))
+                .build();
+    }
+}

--
Gitblit v1.9.3