From b255b9667ebcfb6e19e291a7e4e85c11eef33b3b Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Sun, 11 Jun 2023 13:34:53 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.6.0=E3=80=91=E3=80=90sys=E3=80=91?= =?UTF-8?q?=E3=80=90org=E3=80=91=E6=9B=B4=E6=96=B0=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E6=9C=BA=E6=9E=84crud=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel-s-sys/sys-business-hr/pom.xml | 7 ++ .../org/controller/CommonOrgController.java | 2 +- .../controller/HrOrganizationController.java | 89 +++++++++++++++++++ .../pojo/request/HrOrganizationRequest.java | 43 +++------ 4 files changed, 110 insertions(+), 31 deletions(-) create mode 100644 kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/controller/HrOrganizationController.java diff --git a/kernel-s-sys/sys-business-hr/pom.xml b/kernel-s-sys/sys-business-hr/pom.xml index 5d8973be5..92e2ed27b 100644 --- a/kernel-s-sys/sys-business-hr/pom.xml +++ b/kernel-s-sys/sys-business-hr/pom.xml @@ -46,6 +46,13 @@ spring-boot-starter-web + + + cn.stylefeng.roses + validator-api-table-unique + ${roses.version} + + diff --git a/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/controller/CommonOrgController.java b/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/controller/CommonOrgController.java index 308719d1b..6c3612e22 100644 --- a/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/controller/CommonOrgController.java +++ b/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/controller/CommonOrgController.java @@ -33,7 +33,7 @@ public class CommonOrgController { * @author fengshuonan * @since 2023/6/11 10:31 */ - @GetResource(name = "分页查询", path = "/common/org/tree") + @GetResource(name = "通用获取组织机构树", path = "/common/org/tree") public ResponseData> commonOrgTree(HrOrganizationRequest hrOrganizationRequest) { return new SuccessResponseData<>(hrOrganizationService.commonOrgTree(hrOrganizationRequest)); } diff --git a/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/controller/HrOrganizationController.java b/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/controller/HrOrganizationController.java new file mode 100644 index 000000000..addd5fe76 --- /dev/null +++ b/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/controller/HrOrganizationController.java @@ -0,0 +1,89 @@ +package cn.stylefeng.roses.kernel.sys.modular.org.controller; + +import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; +import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData; +import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData; +import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource; +import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource; +import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource; +import cn.stylefeng.roses.kernel.sys.modular.org.entity.HrOrganization; +import cn.stylefeng.roses.kernel.sys.modular.org.pojo.request.HrOrganizationRequest; +import cn.stylefeng.roses.kernel.sys.modular.org.service.HrOrganizationService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * 组织机构信息控制器 + * + * @author fengshuonan + * @date 2023/06/10 21:23 + */ +@RestController +@ApiResource(name = "组织机构信息") +public class HrOrganizationController { + + @Resource + private HrOrganizationService hrOrganizationService; + + /** + * 添加组织机构 + * + * @author fengshuonan + * @date 2023/06/10 21:23 + */ + @PostResource(name = "添加组织机构", path = "/hrOrganization/add") + public ResponseData add(@RequestBody @Validated(HrOrganizationRequest.add.class) HrOrganizationRequest hrOrganizationRequest) { + hrOrganizationService.add(hrOrganizationRequest); + return new SuccessResponseData<>(); + } + + /** + * 删除组织机构 + * + * @author fengshuonan + * @date 2023/06/10 21:23 + */ + @PostResource(name = "删除组织机构", path = "/hrOrganization/delete") + public ResponseData delete(@RequestBody @Validated(HrOrganizationRequest.delete.class) HrOrganizationRequest hrOrganizationRequest) { + hrOrganizationService.del(hrOrganizationRequest); + return new SuccessResponseData<>(); + } + + /** + * 编辑组织机构 + * + * @author fengshuonan + * @date 2023/06/10 21:23 + */ + @PostResource(name = "编辑组织机构", path = "/hrOrganization/edit") + public ResponseData edit(@RequestBody @Validated(HrOrganizationRequest.edit.class) HrOrganizationRequest hrOrganizationRequest) { + hrOrganizationService.edit(hrOrganizationRequest); + return new SuccessResponseData<>(); + } + + /** + * 查看组织机构详情 + * + * @author fengshuonan + * @date 2023/06/10 21:23 + */ + @GetResource(name = "查看组织机构详情", path = "/hrOrganization/detail") + public ResponseData detail(@Validated(HrOrganizationRequest.detail.class) HrOrganizationRequest hrOrganizationRequest) { + return new SuccessResponseData<>(hrOrganizationService.detail(hrOrganizationRequest)); + } + + /** + * 获取列表(带分页) + * + * @author fengshuonan + * @date 2023/06/10 21:23 + */ + @GetResource(name = "分页查询-组织机构", path = "/hrOrganization/page") + public ResponseData> page(HrOrganizationRequest hrOrganizationRequest) { + return new SuccessResponseData<>(hrOrganizationService.findPage(hrOrganizationRequest)); + } + +} diff --git a/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/pojo/request/HrOrganizationRequest.java b/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/pojo/request/HrOrganizationRequest.java index 495dfa20c..2052d8a76 100644 --- a/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/pojo/request/HrOrganizationRequest.java +++ b/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/pojo/request/HrOrganizationRequest.java @@ -2,6 +2,7 @@ package cn.stylefeng.roses.kernel.sys.modular.org.pojo.request; import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; +import cn.stylefeng.roses.kernel.validator.api.validators.unique.TableUniqueValue; import lombok.Data; import lombok.EqualsAndHashCode; @@ -22,21 +23,20 @@ public class HrOrganizationRequest extends BaseRequest { /** * 主键 */ - @NotNull(message = "主键不能为空", groups = {edit.class, delete.class}) + @NotNull(message = "主键不能为空", groups = {edit.class, delete.class, detail.class}) @ChineseDescription("主键") private Long orgId; /** * 父id,一级节点父id是0 */ - @NotNull(message = "父id,一级节点父id是0不能为空", groups = {add.class, edit.class}) - @ChineseDescription("父id,一级节点父id是0") + @NotNull(message = "父id,一级节点父id是-1不能为空", groups = {add.class, edit.class}) + @ChineseDescription("父id,一级节点父id是-1") private Long orgParentId; /** * 父ids */ - @NotBlank(message = "父ids不能为空", groups = {add.class, edit.class}) @ChineseDescription("父ids") private String orgPids; @@ -58,6 +58,13 @@ public class HrOrganizationRequest extends BaseRequest { */ @NotBlank(message = "组织编码不能为空", groups = {add.class, edit.class}) @ChineseDescription("组织编码") + @TableUniqueValue( + message = "组织编码存在重复", + groups = {add.class, edit.class}, + tableName = "hr_organization", + columnName = "org_code", + idFieldName = "org_id", + excludeLogicDeleteItems = true) private String orgCode; /** @@ -70,14 +77,15 @@ public class HrOrganizationRequest extends BaseRequest { /** * 状态:1-启用,2-禁用 */ - @NotNull(message = "状态:1-启用,2-禁用不能为空", groups = {add.class, edit.class}) @ChineseDescription("状态:1-启用,2-禁用") + @NotNull(message = "状态不能为空", groups = {add.class, edit.class}) private Integer statusFlag; /** * 组织机构类型:1-公司,2-部门 */ @ChineseDescription("组织机构类型:1-公司,2-部门") + @NotNull(message = "组织机构类型不能为空", groups = {add.class, edit.class}) private Integer orgType; /** @@ -110,29 +118,4 @@ public class HrOrganizationRequest extends BaseRequest { @ChineseDescription("对接外部主数据的父级机构id") private String masterOrgParentId; - /** - * 拓展字段 - */ - @ChineseDescription("拓展字段") - private String expandField; - - /** - * 乐观锁 - */ - @ChineseDescription("乐观锁") - private Long versionFlag; - - /** - * 删除标记:Y-已删除,N-未删除 - */ - @NotBlank(message = "删除标记:Y-已删除,N-未删除不能为空", groups = {add.class, edit.class}) - @ChineseDescription("删除标记:Y-已删除,N-未删除") - private String delFlag; - - /** - * 租户号 - */ - @ChineseDescription("租户号") - private Long tenantId; - }