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