diff --git a/web-adapter/src/main/java/com/zcloud/basic/info/facade/ZcloudDepartmentFacadeImpl.java b/web-adapter/src/main/java/com/zcloud/basic/info/facade/ZcloudDepartmentFacadeImpl.java index f9c32b0d..1a03267a 100644 --- a/web-adapter/src/main/java/com/zcloud/basic/info/facade/ZcloudDepartmentFacadeImpl.java +++ b/web-adapter/src/main/java/com/zcloud/basic/info/facade/ZcloudDepartmentFacadeImpl.java @@ -100,4 +100,12 @@ public class ZcloudDepartmentFacadeImpl implements ZcloudDepartmentFacade { } return map; } + + @Override + public SingleResponse addHumanUserDept(ZcloudDepartmentAddCmd zcloudDepartmentAddCmd) { + DepartmentAddCmd addCmd = new DepartmentAddCmd(); + BeanUtils.copyProperties(zcloudDepartmentAddCmd, addCmd); + Long deptId = departmentService.addHumanUserDept(addCmd); + return SingleResponse.of(deptId); + } } diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/DepartmentAddExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/DepartmentAddExe.java index 563e150e..bf3b1a3d 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/DepartmentAddExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/DepartmentAddExe.java @@ -16,6 +16,7 @@ import com.zcloud.basic.info.dto.DepartmentAddCmd; import com.zcloud.basic.info.dto.DepartmentTreeQry; import com.zcloud.basic.info.dto.clientobject.DepartmentTreeInfoCO; import com.zcloud.basic.info.persistence.repository.DepartmentRepository; +import com.zcloud.gbscommon.utils.Tools; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; @@ -73,5 +74,27 @@ public class DepartmentAddExe { } return id; } + + @Transactional(rollbackFor = Exception.class) + public Long executeHumanUserDept(DepartmentAddCmd cmd) { + DepartmentE examTypeE = new DepartmentE(); + BeanUtils.copyProperties(cmd, examTypeE); + cmd.setDepartmentId(Tools.get32UUID()); + Long id = null; + try { + id = departmentGateway.add(examTypeE); + } catch (Exception e) { + throw new RuntimeException(e); + } + + if (id ==null) { + throw new BizException("保存失败"); + } + if(CollUtil.isNotEmpty(cmd.getDepartmentIdsList())&& CommonFlagEnum.YES.getCode().equals(cmd.getSuperviseFlag())){ + List departmentSuperviseEList =examTypeE.initAdd(cmd.getDepartmentIdsList(), id); + departmentSuperviseGateway.addbatch(departmentSuperviseEList); + } + return id; + } } diff --git a/web-app/src/main/java/com/zcloud/basic/info/service/DepartmentServiceImpl.java b/web-app/src/main/java/com/zcloud/basic/info/service/DepartmentServiceImpl.java index ebb6a3a0..14525691 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/service/DepartmentServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/basic/info/service/DepartmentServiceImpl.java @@ -101,5 +101,10 @@ public class DepartmentServiceImpl implements DepartmentServiceI { String name = Tools.getTreeFullName(list,"id", "parentId", "name", deptId); return name; } + + @Override + public Long addHumanUserDept(DepartmentAddCmd cmd) { + return departmentAddExe.executeHumanUserDept(cmd); + } } diff --git a/web-client/src/main/java/com/zcloud/basic/info/api/DepartmentServiceI.java b/web-client/src/main/java/com/zcloud/basic/info/api/DepartmentServiceI.java index a03e74ee..634bc77f 100644 --- a/web-client/src/main/java/com/zcloud/basic/info/api/DepartmentServiceI.java +++ b/web-client/src/main/java/com/zcloud/basic/info/api/DepartmentServiceI.java @@ -44,5 +44,7 @@ public interface DepartmentServiceI { Collection listAllTreeByCorpType(DepartmentTreeQry qry); + + Long addHumanUserDept(DepartmentAddCmd cmd); }