diff --git a/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/apply/MemberApplyController.java b/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/apply/MemberApplyController.java index 90899d9..37860ad 100644 --- a/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/apply/MemberApplyController.java +++ b/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/apply/MemberApplyController.java @@ -14,6 +14,7 @@ import com.budwk.app.flow.entity.ProcessTask; import com.budwk.app.flow.enums.ProcessSubmitTypeEnum; import com.budwk.app.flow.service.FlowCommonService; import com.budwk.app.sys.models.Sys_union_group; +import com.budwk.app.sys.models.Sys_user; import com.budwk.app.web.commons.auth.utils.AuthUtil; import com.budwk.app.sys.views.View_user; import com.budwk.app.web.commons.auth.utils.SecurityUtil; @@ -164,6 +165,55 @@ public class MemberApplyController { return Result.success(dao.fetch(MemberApplyRecord.class,id)); } + /** + * 查询申请记录 + * @param id + * @return + */ + @At + @ApiOperation("根据 userid 查询是否能申请入会") + @SaCheckPermission("member.apply.submit") + public Result findOne(String id) { + Sys_user user = dao.fetch(Sys_user.class, Cnd.where("id", "=", id)); + if (user == null) { + return Result.error("用户不存在"); + } + + Dict result = Dict.create(); + result.set("id", user.getId()); + result.set("username", user.getUsername()); + result.set("loginname", user.getLoginname()); + + boolean isAlreadyMember = false; + if (user.getMember() != null) { + isAlreadyMember = Boolean.TRUE.equals(user.getMember()); + } + + //1、已经是会员无法申请 + if (isAlreadyMember) { + result.set("canApply", false); + result.set("msg", "您已是工会会员,无需重复申请"); + return Result.success(result); + } + + long doingProcessCount = dao.count(ProcessInstance.class, + Cnd.where("businessNo", "in", + Sqls.create("SELECT id FROM member_apply_record WHERE userId = @userId") + .setParam("userId", id) + ).and("state", "=", 10) + ); + + //2、已经有申请中的,不能申请 + if (doingProcessCount > 0) { + result.set("canApply", false); + result.set("msg", "您有一份入会申请流程正在审批中,请勿重复提交"); + return Result.success(result); + } + + result.set("canApply", true); + return Result.success(result); + } + @At @SaCheckPermission("member.apply.submit") diff --git a/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/apply/MemberApplyMineController.java b/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/apply/MemberApplyMineController.java index a1c4d23..b809a7c 100644 --- a/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/apply/MemberApplyMineController.java +++ b/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/apply/MemberApplyMineController.java @@ -113,7 +113,7 @@ public class MemberApplyMineController { } else { cnd.orderBy("info." + pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy())); } - cnd.groupBy("t.id"); + cnd.groupBy("info.id"); sql.setCondition(cnd); Pagination pagination = memberCommonService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); return Result.success().addData(pagination); diff --git a/src/main/resources/views/platform/zhgh/staffmanage/member/apply/submit/index.html b/src/main/resources/views/platform/zhgh/staffmanage/member/apply/submit/index.html index bf8db84..6f24377 100644 --- a/src/main/resources/views/platform/zhgh/staffmanage/member/apply/submit/index.html +++ b/src/main/resources/views/platform/zhgh/staffmanage/member/apply/submit/index.html @@ -204,8 +204,12 @@ layout("/layouts/platform.html"){ - 保存 - 提交 + 保存 + 提交 提交 @@ -221,6 +225,8 @@ layout("/layouts/platform.html"){ id: GetQueryString("bizId"), taskId: GetQueryString("taskId"), units: [], + canApply: true, + applyDisableMsg: '', formData: { families: [] }, @@ -293,6 +299,23 @@ layout("/layouts/platform.html"){ } }, methods: { + checkApplyPermission() { + if (this.id || this.taskId) { + this.canApply = true; + this.applyDisableMsg = ''; + return; + } + this.$axios.post("/platform/member/apply/submit/findOne", { id: this.formData.userId }).then(res => { + if (res.code === 0 && res.data) { + this.canApply = res.data.canApply; + this.applyDisableMsg = res.data.msg || ''; + + if (!this.canApply) { + this.$message.warning(this.applyDisableMsg); + } + } + }); + }, onSave() { this.$confirm("您确定保存吗?", "提示", { confirmButtonText: "确定", @@ -425,6 +448,8 @@ layout("/layouts/platform.html"){ this.$set(this.formData, "email", email) this.$set(this.formData, "families", families ? families : []) this.$set(this.formData, "personalData", personalData) + + this.checkApplyPermission(); } }, }, diff --git a/src/main/resources/views/platform/zhghh5/staffmanage/member/apply/submit/index.html b/src/main/resources/views/platform/zhghh5/staffmanage/member/apply/submit/index.html index 0523342..10bb73c 100644 --- a/src/main/resources/views/platform/zhghh5/staffmanage/member/apply/submit/index.html +++ b/src/main/resources/views/platform/zhghh5/staffmanage/member/apply/submit/index.html @@ -243,9 +243,9 @@ layout("/layouts/platform_h5.html"){
- 保存 - 提交 - 提交 + 保存 + 提交 + 提交
@@ -258,6 +258,8 @@ layout("/layouts/platform_h5.html"){ return { id: GetQueryString("bizId"), taskId: GetQueryString("taskId"), + canApply: true, + applyDisableMsg: '', formData: { families: [], }, @@ -278,7 +280,23 @@ layout("/layouts/platform_h5.html"){ }, methods: { historyBack, + checkApplyPermission() { + if (this.id || this.taskId) { + this.canApply = true; + this.applyDisableMsg = ''; + return; + } + this.$axios.post("/platform/member/apply/submit/findOne", { id: this.formData.userId }).then(res => { + if (res.code === 0 && res.data) { + this.canApply = res.data.canApply; + this.applyDisableMsg = res.data.msg || ''; + if (!this.canApply) { + this.$message.warning(this.applyDisableMsg); + } + } + }); + }, onSave() { this.$dialog.confirm({ title: "提示", @@ -441,6 +459,8 @@ layout("/layouts/platform_h5.html"){ this.$set(this.formData, "families", families ? families : []) this.$set(this.formData, "personalData", personalData) + this.checkApplyPermission(); + // 处理校区信息 if (campus) { this.$set(this.formData, "campus", campus) // 保存校区代码值