diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/exerciseCard/service/impl/ExerciseCardServiceImpl.java b/src/main/java/com/budwk/app/zhgh/dayofficework/exerciseCard/service/impl/ExerciseCardServiceImpl.java index 2fb27427..a29ccc09 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/exerciseCard/service/impl/ExerciseCardServiceImpl.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/exerciseCard/service/impl/ExerciseCardServiceImpl.java @@ -117,6 +117,7 @@ public class ExerciseCardServiceImpl extends BaseServiceImpl imple Record vwUser = vwUserMap.get(v.getLoginName()); if (vwUser != null) { exerciseCard.setUserId(vwUser.getString("id")); + exerciseCard.setUserId(vwUser.getString("userName")); exerciseCard.setBirthday(DateUtil.parse(vwUser.getString("birthday"), "yyyy-MM-dd")); exerciseCard.setUnionId(vwUser.getString("unionId")); exerciseCard.setUnitId(vwUser.getString("unitId")); @@ -127,7 +128,6 @@ public class ExerciseCardServiceImpl extends BaseServiceImpl imple // 设置其他基本信息 exerciseCard.setLoginName(v.getLoginName()); - exerciseCard.setUserName(v.getUsername()); exerciseCard.setApplyTime(new Date()); // 设置当前时间为申请时间 // 设置额度信息 diff --git a/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalUndertakeSuggestionController.java b/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalUndertakeSuggestionController.java new file mode 100644 index 00000000..4bfe8140 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalUndertakeSuggestionController.java @@ -0,0 +1,150 @@ +package com.budwk.app.zhgh.democratic.proposal.controller.transact; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.dev33.satoken.annotation.SaMode; +import cn.hutool.core.date.DateUtil; +import com.budwk.app.base.annotation.SLog; +import com.budwk.app.base.constant.RoleConstant; +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.result.Result; +import com.budwk.app.web.commons.auth.utils.AuthUtil; +import com.budwk.app.web.commons.auth.utils.SecurityUtil; +import com.budwk.app.zhgh.democratic.proposal.models.ProposalInfo; +import com.budwk.app.zhgh.democratic.proposal.models.ProposalUndertake; +import com.budwk.app.zhgh.democratic.proposal.models.ProposalUndertakeSuggestion; +import com.budwk.app.zhgh.democratic.proposal.param.ProposalSearchParam; +import com.budwk.app.zhgh.democratic.proposal.service.common.ProposalCommonService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.nutz.aop.interceptor.ioc.TransAop; +import org.nutz.dao.Cnd; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.dao.util.cri.Static; +import org.nutz.ioc.aop.Aop; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; +import org.nutz.mvc.annotation.Param; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + * @ClassName ProposalUndertakeSuggestionController + * @Author JyuHsin + * @Date 2025/10/16 16:34 + * @Version 1.0 + * @Description TODO + */ +@IocBean +@At("/platform/proposal/suggestion") +@Slf4j +@Ok("json:full") +@Api(tags = "提案-办理-承办单位提出意见") +public class ProposalUndertakeSuggestionController { + + @Inject + private ProposalCommonService proposalCommonService; + + @At("") + @Ok("beetl:/platform/zhgh/democratic/proposal/transact/suggestion/index.html") + @SaCheckPermission("proposal.suggestion") + public void index() { + } + + @At("/h5") + @Ok("beetl:/platform/zhghh5/democratic/proposal/transact/suggestion/index.html") + @SaCheckPermission("h5.proposal.suggestion") + public void h5Index() { + } + + @At + @SaCheckPermission(value = {"proposal.suggestion", "h5.proposal.suggestion"}, mode = SaMode.OR) + @ApiOperation("分页列表") + public Result pageData(@Valid ProposalSearchParam pageForm, boolean approval) { + Sql sql = Sqls.create(""" + SELECT + info.*, + type.name AS typeName, + tcs.fullName AS sessionName, + tcd.`name` AS delegationName, + ins.state instanceState, + IFNULL(GROUP_CONCAT(DISTINCT nt.displayName), '结束') curTaskName, + (select count(1) from proposal_undertake_suggestion where proposalId = info.id $unitId) as count + FROM + wf_process_task t + LEFT JOIN wf_process_instance ins ON ins.id = t.processInstanceId + LEFT JOIN wf_process_task nt ON nt.processInstanceId = ins.id AND nt.taskState = 10 + LEFT JOIN proposal_info info ON info.id = ins.businessNo + LEFT JOIN proposal_type type on type.id = info.typeId + LEFT JOIN teacher_congress_session tcs on tcs.id = info.sessionId + LEFT JOIN teacher_congress_delegation tcd on tcd.id = info.delegationId + $condition + """); + Cnd cnd = Cnd.NEW(); + cnd.and("t.taskState", "=", 10); + cnd.and("t.taskName", "=", "committee"); + + if (!AuthUtil.hasRole(RoleConstant.SYSADMIN.name())) { + // 查询当前登录用户负责的承办单位 + ProposalUndertake undertake = proposalCommonService.getSelfManageUndertake(); + cnd.and(new Static("JSON_CONTAINS(suggestUnits, JSON_QUOTE('" + undertake.getName() + "'))")); + sql.setVar("unitId", " and unitId = '%s'".formatted(undertake.getId())); + } + + ProposalSearchParam.buildSearch(cnd, pageForm); + cnd.groupBy("t.id"); + + cnd.having(Cnd.where("count", approval ? ">" : "=", 0)); + cnd.desc("t.createdAt"); + sql.setCondition(cnd); + Pagination pagination = proposalCommonService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); + return Result.success(pagination); + } + + @At + @ApiOperation("承办单位提出意见") + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission(value = {"proposal.suggestion", "h5.proposal.suggestion"}, mode = SaMode.OR) + @SLog(tag = "提案系统-承办单位意见", msg = "提出意见") + public Result suggest(ProposalUndertakeSuggestion suggestion) { + suggestion.setUserId(SecurityUtil.getUserId()); + suggestion.setUserName(SecurityUtil.getUserUsername()); + suggestion.setTime(DateUtil.now()); + + ProposalUndertake undertake = proposalCommonService.getSelfManageUndertake(); + + suggestion.setUnitId(Objects.requireNonNullElse(undertake.getId(), "")); + suggestion.setUnitName(Objects.requireNonNullElse(undertake.getName(), "")); + proposalCommonService.dao().insert(suggestion); + return Result.success(); + } + + @At + @ApiOperation("承办单位提出意见") + @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission(value = {"proposal.suggestion", "h5.proposal.suggestion"}, mode = SaMode.OR) + @SLog(tag = "提案系统-承办单位意见", msg = "删除意见") + public Result delete(String id) { + proposalCommonService.dao().delete(ProposalUndertakeSuggestion.class, id); + return Result.success(); + } + + @At + @ApiOperation("查询意见") + @SaCheckPermission(value = {"proposal.suggestion", "h5.proposal.suggestion"}, mode = SaMode.OR) + public Result selectSuggestion(String proposalId) { + Cnd cnd = Cnd.NEW(); + cnd.and(ProposalUndertakeSuggestion::getProposalId, "=", proposalId); + if (!AuthUtil.hasRole(RoleConstant.SYSADMIN.name())) { + cnd.and(ProposalUndertakeSuggestion::getUnitId, "=", proposalCommonService.getSelfManageUndertake().getId()); + } + cnd.desc(ProposalUndertakeSuggestion::getTime); + List list = proposalCommonService.dao().query(ProposalUndertakeSuggestion.class, cnd); + return Result.success(list); + } +} diff --git a/src/main/java/com/budwk/app/zhgh/democratic/proposal/models/ProposalUndertakeSuggestion.java b/src/main/java/com/budwk/app/zhgh/democratic/proposal/models/ProposalUndertakeSuggestion.java new file mode 100644 index 00000000..3b082722 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/democratic/proposal/models/ProposalUndertakeSuggestion.java @@ -0,0 +1,68 @@ +package com.budwk.app.zhgh.democratic.proposal.models; + +import com.budwk.app.base.model.BaseModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.nutz.dao.entity.annotation.*; +import org.nutz.dao.interceptor.annotation.PrevInsert; + +/** + * @ClassName ProposalUndertakeSugges + * @Author JyuHsin + * @Date 2025/10/16 16:29 + * @Version 1.0 + * @Description TODO + */ +@Table("proposal_undertake_suggestion") +@Data +@EqualsAndHashCode(callSuper = true) +@TableMeta("{'mysql-charset':'utf8mb4'}") +@Comment("提案承办单位意见") +public class ProposalUndertakeSuggestion extends BaseModel { + + @Name + @Comment("ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + @PrevInsert(uu32 = true) + private String id; + + @Column + @Comment("提案id") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String proposalId; + + @Column + @Comment("用户id") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String userId; + + @Column + @Comment("用户姓名") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String userName; + + @Column + @Comment("单位id") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String unitId; + + @Column + @Comment("单位名称") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String unitName; + + @Column + @Comment("提出时间") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String time; + + @Column + @Comment("提出意见") + @ColDefine(type = ColType.VARCHAR, width = 500) + private String opinion; + + @Column + @Comment("结果") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String result; +} diff --git a/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/common/ProposalCommonService.java b/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/common/ProposalCommonService.java index fd169eb8..eb8ad319 100644 --- a/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/common/ProposalCommonService.java +++ b/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/common/ProposalCommonService.java @@ -2,6 +2,7 @@ package com.budwk.app.zhgh.democratic.proposal.service.common; import com.budwk.app.base.service.BaseService; import com.budwk.app.zhgh.democratic.proposal.models.ProposalInfo; +import com.budwk.app.zhgh.democratic.proposal.models.ProposalUndertake; import org.nutz.lang.util.NutMap; import javax.servlet.http.HttpServletResponse; @@ -80,6 +81,13 @@ public interface ProposalCommonService extends BaseService { List getSelfManageDelegationIds(); + /** + * 获取自管承办单位 + * + * @return + */ + ProposalUndertake getSelfManageUndertake(); + /** * 根据提案id查询并案的提案 * diff --git a/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/common/ProposalCommonServiceImpl.java b/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/common/ProposalCommonServiceImpl.java index 6761c507..586fab31 100644 --- a/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/common/ProposalCommonServiceImpl.java +++ b/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/common/ProposalCommonServiceImpl.java @@ -28,6 +28,7 @@ import com.budwk.app.web.commons.base.Globals; import com.budwk.app.zhgh.democratic.proposal.models.ProposalConsolidation; import com.budwk.app.zhgh.democratic.proposal.models.ProposalInfo; import com.budwk.app.zhgh.democratic.proposal.models.ProposalMerge; +import com.budwk.app.zhgh.democratic.proposal.models.ProposalUndertake; import com.budwk.app.zhgh.democratic.teachercongress.prepare.models.Teacher_congress_session; import com.deepoove.poi.XWPFTemplate; import com.deepoove.poi.config.Configure; @@ -44,6 +45,7 @@ import org.nutz.dao.util.cri.Static; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.json.Json; +import org.nutz.lang.Lang; import org.nutz.lang.util.NutMap; import javax.servlet.http.HttpServletResponse; @@ -434,7 +436,18 @@ public class ProposalCommonServiceImpl extends BaseServiceImpl imp return delegationIds; } - @Override + @Override + public ProposalUndertake getSelfManageUndertake() { + Sys_role role = sysRoleService.getByCode(RoleConstant.PROPOSAL_UNIT_LEADER.name()); + Sys_user_role userRole = dao().fetch(Sys_user_role.class, Cnd.where(Sys_user_role::getRoleId, "=", role.getId()) + .and(Sys_user_role::getUserId, "=", SecurityUtil.getUserId())); + if(Lang.isEmpty(userRole)) { + throw new RuntimeException("当前登录用户不是" + role.getName()); + } + return dao().fetch(ProposalUndertake.class, Cnd.where(ProposalUndertake::getId, "=", userRole.getUnderTakeId())); + } + + @Override public List getConsolidation(String id) { ProposalConsolidation consolidation = dao().fetch(ProposalConsolidation.class, Cnd.where(new Static("JSON_CONTAINS(consolidationIds,'\"" + id + "\"')"))); if (ObjectUtil.isNotEmpty(consolidation)) { 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 54b0b67b..90899d98 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 @@ -2,6 +2,7 @@ package com.budwk.app.zhgh.staffmanage.member.controller.apply; import cn.dev33.satoken.annotation.SaCheckPermission; import cn.hutool.core.lang.Dict; +import cn.hutool.core.util.StrUtil; import com.budwk.app.base.annotation.SLog; import com.budwk.app.base.constant.RoleConstant; import com.budwk.app.base.page.Pagination; @@ -72,6 +73,9 @@ public class MemberApplyController { @SaCheckPermission("member.apply.submit") @SLog(tag = "会员入会申请", msg = "保存申请,申请人: ${args[0].username}") public Result save(@Param("data") MemberApplyRecord memberApplyRecord) { + if (StrUtil.isBlank(memberApplyRecord.getId())) { + memberCommonService.validateApplyOrChangeIsDoing(null, "apply"); + } dao.insertOrUpdate(memberApplyRecord); return Result.success(); } @@ -83,6 +87,9 @@ public class MemberApplyController { @SaCheckPermission("member.apply.submit") @SLog(tag = "会员入会申请", msg = "提交申请,申请人: ${args[0].username}") public Result submit(@Param("data") MemberApplyRecord memberApplyRecord){ + if (StrUtil.isBlank(memberApplyRecord.getId())) { + memberCommonService.validateApplyOrChangeIsDoing(null, "apply"); + } // 开启流程实例 Dict args = Dict.create(); // 设置流程变量 @@ -119,6 +126,9 @@ public class MemberApplyController { @SaCheckPermission("member.apply.submit") @SLog(tag = "会员入会申请", msg = "重新提交申请,申请人: ${args[0].username}") public Result submitAgain(@Param("data") MemberApplyRecord memberApplyRecord, @Param("taskId") Long taskId) { + if (StrUtil.isBlank(memberApplyRecord.getId())) { + memberCommonService.validateApplyOrChangeIsDoing(null, "apply"); + } Dict dict = Dict.create(); // 设置流程变量 if ("HMC".equals(Globals.SchoolCode)) { diff --git a/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/change/MemberChangeApplyController.java b/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/change/MemberChangeApplyController.java index 038e4c84..e813fca0 100644 --- a/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/change/MemberChangeApplyController.java +++ b/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/change/MemberChangeApplyController.java @@ -75,6 +75,9 @@ public class MemberChangeApplyController { @SaCheckPermission("member.apply.submit") @SLog(tag = "会员变更申请", msg = "保存申请,申请人: ${args[0].username}") public Result save(@Param("data") MemberChangeRecord memberChangeRecord) { + if (StrUtil.isBlank(memberChangeRecord.getId())) { + memberCommonService.validateApplyOrChangeIsDoing(null, "change"); + } // 校验是否有变更 memberCommonService.validateChangeAndSetBasicData(memberChangeRecord); dao.insertOrUpdate(memberChangeRecord); @@ -88,6 +91,9 @@ public class MemberChangeApplyController { @SaCheckPermission("member.apply.submit") @SLog(tag = "会员变更申请", msg = "提交申请,申请人: ${args[0].username}") public Result submit(@Param("data") MemberChangeRecord memberChangeRecord){ + if (StrUtil.isBlank(memberChangeRecord.getId())) { + memberCommonService.validateApplyOrChangeIsDoing(null, "change"); + } // 校验是否有变更 memberCommonService.validateChangeAndSetBasicData(memberChangeRecord); dao.insertOrUpdate(memberChangeRecord); @@ -118,6 +124,9 @@ public class MemberChangeApplyController { @SaCheckPermission("member.apply.submit") @SLog(tag = "会员变更申请", msg = "重新提交申请,申请人: ${args[0].username}") public Result submitAgain(@Param("data") MemberChangeRecord memberChangeRecord, @Param("taskId") Long taskId) { + if (StrUtil.isBlank(memberChangeRecord.getId())) { + memberCommonService.validateApplyOrChangeIsDoing(null, "change"); + } // 校验是否有变更 memberCommonService.validateChangeAndSetBasicData(memberChangeRecord); dao.insertOrUpdate(memberChangeRecord); diff --git a/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/change/MemberChangeManageController.java b/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/change/MemberChangeManageController.java index 365f1634..9a7cc1e6 100644 --- a/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/change/MemberChangeManageController.java +++ b/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/change/MemberChangeManageController.java @@ -5,6 +5,7 @@ import cn.dev33.satoken.annotation.SaMode; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.Dict; +import cn.hutool.core.util.StrUtil; import com.budwk.app.base.annotation.RepeatSubmit; import com.budwk.app.base.annotation.SLog; import com.budwk.app.base.constant.BpmProcessConstant; @@ -100,6 +101,11 @@ public class MemberChangeManageController { if (Lang.isEmpty(record)) { return Result.error("未获取到异动数据"); } + + if (StrUtil.isBlank(record.getId())) { + memberCommonService.validateApplyOrChangeIsDoing(record.getUserId(), "change"); + } + boolean schoolRoleBool = AuthUtil.hasRoleOr(RoleConstant.SCHOOL_UNION_CHAIRMAN.name(), RoleConstant.SCHOOL_UNION_MEMBER_ADMIN.name(), RoleConstant.SYSADMIN.name()); boolean branchRoleBool = AuthUtil.hasRoleOr(RoleConstant.BRANCH_UNION_CHAIRMAN.name(), RoleConstant.BRANCH_UNION_OPERATOR.name()); boolean groupRoleBool = AuthUtil.hasRole(RoleConstant.BRANCH_UNION_GROUP_LEADER.name()); diff --git a/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/change/MemberChangeMineController.java b/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/change/MemberChangeMineController.java index 18719775..8dbe211e 100644 --- a/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/change/MemberChangeMineController.java +++ b/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/change/MemberChangeMineController.java @@ -1,6 +1,7 @@ package com.budwk.app.zhgh.staffmanage.member.controller.change; import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.dev33.satoken.annotation.SaMode; import cn.hutool.core.util.StrUtil; import com.budwk.app.base.annotation.SLog; import com.budwk.app.base.constant.RoleConstant; @@ -147,7 +148,7 @@ public class MemberChangeMineController { @At @ApiOperation("根据id查询变更记录") - @SaCheckPermission("member.change.mine") + @SaCheckPermission(value = {"member.change.mine", "member.change.unionGroup.audit"}, mode = SaMode.OR) public Result findMemberChangeRecord(String id){ MemberChangeRecord record = dao.fetch(MemberChangeRecord.class, id); NutMap nutMap = Lang.obj2nutmap(record); diff --git a/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/MemberCommonService.java b/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/MemberCommonService.java index 167dcbe3..4b2879df 100644 --- a/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/MemberCommonService.java +++ b/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/MemberCommonService.java @@ -107,4 +107,12 @@ public interface MemberCommonService extends BaseService { * @param record */ void validateChangeAndSetBasicData(MemberChangeRecord record, MemberChangeOrigin origin); + + + /** + * 校验申请和变更是否正在进行中 + * @param userId 用户id + * @param type 类型: apply or change + */ + void validateApplyOrChangeIsDoing(String userId, String type); } diff --git a/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/impl/MemberManageServiceImpl.java b/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/impl/MemberManageServiceImpl.java index 012a8231..57d22fca 100644 --- a/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/impl/MemberManageServiceImpl.java +++ b/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/impl/MemberManageServiceImpl.java @@ -10,6 +10,9 @@ import com.budwk.app.base.constant.RoleConstant; import com.budwk.app.base.exception.BaseException; import com.budwk.app.base.page.Pagination; import com.budwk.app.base.service.impl.BaseServiceImpl; +import com.budwk.app.flow.engine.FlowEngine; +import com.budwk.app.flow.entity.ProcessInstance; +import com.budwk.app.flow.enums.ProcessTaskStateEnum; import com.budwk.app.sys.models.*; import com.budwk.app.sys.services.SysDictService; import com.budwk.app.sys.services.SysRoleService; @@ -508,6 +511,38 @@ public class MemberManageServiceImpl extends BaseServiceImpl implement record.setApplyDateTime(DateUtil.date()); } + + /** + * 验证申请或变更是否正在进行 + * @param userId 用户id + * @param type 类型: apply or change + */ + @Override + public void validateApplyOrChangeIsDoing(String userId, String type) { + String businessNo = ""; + + Cnd cnd = Cnd.NEW(); + cnd.and("userId", "=", StrUtil.isNotBlank(userId) ? userId : SecurityUtil.getUserId()); + cnd.desc("applyDateTime"); + if ("apply".equals(type)) { + // 申请 + MemberApplyRecord apply = dao().fetch(MemberApplyRecord.class, cnd); + businessNo = apply.getId(); + } else { + // 变更 + MemberChangeRecord change = dao().fetch(MemberChangeRecord.class, cnd); + businessNo = change.getId(); + } + + int count = dao().count(ProcessInstance.class, Cnd.where("businessNo", "=", businessNo) + .and(ProcessInstance::getState, "=", ProcessTaskStateEnum.DOING.getCode())); + if (count > 0) { + throw new BaseException("您有%s流程还在进行中,请等待流程结束后再次操作".formatted("apply".equals(type) ? "申请" : "变更")); + } + + } + + private String booleanVerification(Object value) { // 检查是否为null或空字符串 if (ObjectUtil.isAllEmpty(value, "")) { diff --git a/src/main/resources/views/platform/sys/msg/summary/index.html b/src/main/resources/views/platform/sys/msg/summary/index.html index 921d6bb4..ce3be6c4 100644 --- a/src/main/resources/views/platform/sys/msg/summary/index.html +++ b/src/main/resources/views/platform/sys/msg/summary/index.html @@ -7,19 +7,19 @@ layout("/layouts/platform.html"){ - + - + - + @@ -28,20 +28,20 @@ layout("/layouts/platform.html"){ - - + + - + - + diff --git a/src/main/resources/views/platform/sys/union/index.html b/src/main/resources/views/platform/sys/union/index.html index accf5fc4..61029c38 100644 --- a/src/main/resources/views/platform/sys/union/index.html +++ b/src/main/resources/views/platform/sys/union/index.html @@ -20,7 +20,15 @@ layout("/layouts/platform.html"){ @node-click="treeNodeClick" :filter-node-method="filterNode" highlight-current - > + > + + diff --git a/src/main/resources/views/platform/sys/unit/index.html b/src/main/resources/views/platform/sys/unit/index.html index 22ac05fc..172ae8fd 100644 --- a/src/main/resources/views/platform/sys/unit/index.html +++ b/src/main/resources/views/platform/sys/unit/index.html @@ -21,7 +21,15 @@ layout("/layouts/platform.html"){ @node-click="treeNodeClick" :filter-node-method="filterNode" highlight-current - > + > + + diff --git a/src/main/resources/views/platform/zhgh/activity/basic/settings/index.html b/src/main/resources/views/platform/zhgh/activity/basic/settings/index.html index 2edf817c..33840388 100644 --- a/src/main/resources/views/platform/zhgh/activity/basic/settings/index.html +++ b/src/main/resources/views/platform/zhgh/activity/basic/settings/index.html @@ -20,7 +20,15 @@ layout("/layouts/platform.html"){ highlight-current node-key="id" ref="treeRef" - > + > + + diff --git a/src/main/resources/views/platform/zhgh/activity/basic/union/index.html b/src/main/resources/views/platform/zhgh/activity/basic/union/index.html index b66c726f..d55312cc 100644 --- a/src/main/resources/views/platform/zhgh/activity/basic/union/index.html +++ b/src/main/resources/views/platform/zhgh/activity/basic/union/index.html @@ -18,7 +18,15 @@ layout("/layouts/platform.html"){ default-expand-all highlight-current ref="treeRef" - > + > + + diff --git a/src/main/resources/views/platform/zhgh/activity/basic/unit/index.html b/src/main/resources/views/platform/zhgh/activity/basic/unit/index.html index 14737eb7..d472f6d2 100644 --- a/src/main/resources/views/platform/zhgh/activity/basic/unit/index.html +++ b/src/main/resources/views/platform/zhgh/activity/basic/unit/index.html @@ -19,7 +19,15 @@ layout("/layouts/platform.html"){ highlight-current node-key="id" ref="treeRef" - > + > + + diff --git a/src/main/resources/views/platform/zhgh/activity/culture/common/userStatistics.js b/src/main/resources/views/platform/zhgh/activity/culture/common/userStatistics.js index d709d6f4..b0a1755d 100644 --- a/src/main/resources/views/platform/zhgh/activity/culture/common/userStatistics.js +++ b/src/main/resources/views/platform/zhgh/activity/culture/common/userStatistics.js @@ -44,7 +44,7 @@ const ACTIVITY_CULTURE_USER_STATISTICS = { {{ registerCourse.courseName + '报名人员' }}
- - + + - + - + diff --git a/src/main/resources/views/platform/zhgh/activity/trainSignUp/userAdjust/userInfo.js b/src/main/resources/views/platform/zhgh/activity/trainSignUp/userAdjust/userInfo.js index 4c19d8ce..6d75bcd0 100644 --- a/src/main/resources/views/platform/zhgh/activity/trainSignUp/userAdjust/userInfo.js +++ b/src/main/resources/views/platform/zhgh/activity/trainSignUp/userAdjust/userInfo.js @@ -4,15 +4,15 @@ const userInfo = {
{{ registerCourse.courseName + '报名人员' }}
- - + + - + - + diff --git a/src/main/resources/views/platform/zhgh/activity/workscollection/read/index.html b/src/main/resources/views/platform/zhgh/activity/workscollection/read/index.html index b557a08b..6a464656 100644 --- a/src/main/resources/views/platform/zhgh/activity/workscollection/read/index.html +++ b/src/main/resources/views/platform/zhgh/activity/workscollection/read/index.html @@ -30,8 +30,8 @@ layout("/layouts/platform.html"){ - - + + diff --git a/src/main/resources/views/platform/zhgh/club/infoManage/manage/clubInfoManage.js b/src/main/resources/views/platform/zhgh/club/infoManage/manage/clubInfoManage.js index ce74af45..733ed217 100644 --- a/src/main/resources/views/platform/zhgh/club/infoManage/manage/clubInfoManage.js +++ b/src/main/resources/views/platform/zhgh/club/infoManage/manage/clubInfoManage.js @@ -3,13 +3,13 @@ const CLUB_INFO_MANAGE_TEMPLATE = {
- - + + - + - + diff --git a/src/main/resources/views/platform/zhgh/club/infoManage/manage/index.html b/src/main/resources/views/platform/zhgh/club/infoManage/manage/index.html index d8968617..5c69ce2c 100644 --- a/src/main/resources/views/platform/zhgh/club/infoManage/manage/index.html +++ b/src/main/resources/views/platform/zhgh/club/infoManage/manage/index.html @@ -20,7 +20,15 @@ layout("/layouts/platform.html"){ @node-click="treeNodeClick" :filter-node-method="filterNode" highlight-current - > + > + +
diff --git a/src/main/resources/views/platform/zhgh/dayofficework/cadreTraining/collect/index.html b/src/main/resources/views/platform/zhgh/dayofficework/cadreTraining/collect/index.html index 06f69831..b9db3f04 100644 --- a/src/main/resources/views/platform/zhgh/dayofficework/cadreTraining/collect/index.html +++ b/src/main/resources/views/platform/zhgh/dayofficework/cadreTraining/collect/index.html @@ -26,7 +26,7 @@ layout("/layouts/platform.html"){
- + diff --git a/src/main/resources/views/platform/zhgh/dayofficework/cadreTraining/schoolAudit/index.html b/src/main/resources/views/platform/zhgh/dayofficework/cadreTraining/schoolAudit/index.html index c29d2733..2c1080fd 100644 --- a/src/main/resources/views/platform/zhgh/dayofficework/cadreTraining/schoolAudit/index.html +++ b/src/main/resources/views/platform/zhgh/dayofficework/cadreTraining/schoolAudit/index.html @@ -25,7 +25,7 @@ layout("/layouts/platform.html"){ - + diff --git a/src/main/resources/views/platform/zhgh/dayofficework/clothing/apply/index.html b/src/main/resources/views/platform/zhgh/dayofficework/clothing/apply/index.html index d05050fe..f9669f3f 100644 --- a/src/main/resources/views/platform/zhgh/dayofficework/clothing/apply/index.html +++ b/src/main/resources/views/platform/zhgh/dayofficework/clothing/apply/index.html @@ -11,7 +11,7 @@ layout("/layouts/platform.html"){