From 73df6ca1a534968d3458775a511692195811846d Mon Sep 17 00:00:00 2001
From: ranke <213539@qq.com>
Date: Wed, 7 Jan 2026 09:13:05 +0800
Subject: [PATCH] =?UTF-8?q?=E7=BB=84=E7=BB=87=E6=9E=B6=E6=9E=84=E7=89=A9?=
=?UTF-8?q?=E6=96=99=E7=AE=A1=E7=90=86=E5=A2=9E=E5=8A=A0=E5=85=8B=E9=9A=86?=
=?UTF-8?q?=E5=A4=8D=E5=88=B6=E5=8A=9F=E8=83=BD.=20http://172.16.46.63:315?=
=?UTF-8?q?60/index.php=3Fm=3Dtask&f=3Dview&taskID=3D684?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 12 +++++++++++
.../DepartmentMaterialController.java | 19 +++++++++++++++++
.../vo/DepartmentMaterialCloneReqVO.java | 21 +++++++++++++++++++
.../DepartmentMaterialService.java | 8 +++++++
.../DepartmentMaterialServiceImpl.java | 11 +++++++++-
5 files changed, 70 insertions(+), 1 deletion(-)
create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/vo/DepartmentMaterialCloneReqVO.java
diff --git a/pom.xml b/pom.xml
index a2e6ae70..8917ad68 100644
--- a/pom.xml
+++ b/pom.xml
@@ -63,6 +63,10 @@
maven-compiler-plugin
${maven-compiler-plugin.version}
+ ${java.version}
+ ${java.version}
+
+ ${java.version}
org.springframework.boot
@@ -229,6 +233,14 @@
1.0.0
+
+ klw-dev
+
+ dev
+
+ klw
+
+
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/DepartmentMaterialController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/DepartmentMaterialController.java
index 23b450d2..2fde036a 100644
--- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/DepartmentMaterialController.java
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/DepartmentMaterialController.java
@@ -1,5 +1,7 @@
package com.zt.plat.module.base.controller.admin.departmentmaterial;
+import com.zt.plat.framework.common.util.object.BeanUtils;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@@ -103,4 +105,21 @@ public class DepartmentMaterialController {
list);
}
+ @PostMapping("/clone")
+ @Operation(summary = "克隆组织架构物料")
+ @Parameter(name = "ids", description = "要克隆的数据ID", required = true)
+ @Parameter(name = "deptId", description = "目标组织架构ID", required = true)
+ @PreAuthorize("@ss.hasPermission('base:department-material:clone')")
+ @Transactional
+ public CommonResult getDepartmentMaterial(@RequestBody DepartmentMaterialCloneReqVO req) {
+ List list = departmentMaterialService.getDepartmentMaterialByIds(req.getIds());
+ for (DepartmentMaterialRespVO departmentMaterial : list) {
+ DepartmentMaterialSaveReqVO createReqVO = BeanUtils.toBean(departmentMaterial, DepartmentMaterialSaveReqVO.class);
+ createReqVO.setId( null);
+ createReqVO.setDeptId(req.getDeptId());
+ departmentMaterialService.createDepartmentMaterial(createReqVO);
+ }
+ return success(true);
+ }
+
}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/vo/DepartmentMaterialCloneReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/vo/DepartmentMaterialCloneReqVO.java
new file mode 100644
index 00000000..a70d433b
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/vo/DepartmentMaterialCloneReqVO.java
@@ -0,0 +1,21 @@
+package com.zt.plat.module.base.controller.admin.departmentmaterial.vo;
+
+import jakarta.validation.constraints.NotEmpty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 克隆组织架构物料 请求
+ * 2026/1/6 17:55
+ */
+@Data
+public class DepartmentMaterialCloneReqVO {
+
+ @NotEmpty(message = "批量克隆 ids 不能为空")
+ private List ids;
+
+ @NotEmpty(message = "目标组织架构ID不能为空")
+ private Long deptId;
+
+}
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/departmentmaterial/DepartmentMaterialService.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/departmentmaterial/DepartmentMaterialService.java
index 646348ce..b92936cc 100644
--- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/departmentmaterial/DepartmentMaterialService.java
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/departmentmaterial/DepartmentMaterialService.java
@@ -51,6 +51,14 @@ public interface DepartmentMaterialService {
*/
DepartmentMaterialRespVO getDepartmentMaterial(Long id);
+ /**
+ * 根据多个ID获得组织架构物料列表
+ *
+ * @param ids 编号 list
+ * @return 组织架构物料列表
+ */
+ List getDepartmentMaterialByIds(List ids);
+
/**
* 获得组织架构物料分页
*
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/departmentmaterial/DepartmentMaterialServiceImpl.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/departmentmaterial/DepartmentMaterialServiceImpl.java
index 4f60db95..058b5a21 100644
--- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/departmentmaterial/DepartmentMaterialServiceImpl.java
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/departmentmaterial/DepartmentMaterialServiceImpl.java
@@ -106,7 +106,16 @@ public class DepartmentMaterialServiceImpl implements DepartmentMaterialService
if (data == null) {
return null;
}
- return CollUtil.getFirst(decorateDepartmentMaterials(Collections.singletonList(data)));
+ return CollUtil.getFirst(decorateDepartmentMaterials(Collections.singletonList(data)));
+ }
+
+ @Override
+ public List getDepartmentMaterialByIds(List ids) {
+ List data = departmentMaterialMapper.selectByIds(ids);
+ if (org.apache.commons.collections4.CollectionUtils.isEmpty( data)) {
+ return null;
+ }
+ return decorateDepartmentMaterials(data);
}
@Override