diff --git a/src/main/java/io/v/nutz/oa/util/BillNoUtil.java b/src/main/java/io/v/nutz/oa/util/BillNoUtil.java index 852d06f..41118d5 100644 --- a/src/main/java/io/v/nutz/oa/util/BillNoUtil.java +++ b/src/main/java/io/v/nutz/oa/util/BillNoUtil.java @@ -13,7 +13,7 @@ public class BillNoUtil { str.append(DateUtil.format(DateUtil.date(), "HHmmss")); Random random = new Random(); // 生成一个10以内的随机数(包含0,但不包含10) - int randomNumber = random.nextInt(10); + int randomNumber = random.nextInt(10000); str.append("-" + randomNumber); return str.toString(); } diff --git a/src/main/java/io/v/nutz/proposal/controller/transact/CaseReadController.java b/src/main/java/io/v/nutz/proposal/controller/transact/CaseReadController.java index 2448329..144eb07 100644 --- a/src/main/java/io/v/nutz/proposal/controller/transact/CaseReadController.java +++ b/src/main/java/io/v/nutz/proposal/controller/transact/CaseReadController.java @@ -8,6 +8,7 @@ import io.v.nutz.base.utils.Roles; import io.v.nutz.dao.CndPlus; import io.v.nutz.modules.models.PageForm; import io.v.nutz.oa.enums.OaBusinessTypeEnum; +import io.v.nutz.oa.model.OaAuditInstance; import io.v.nutz.oa.service.IOaAuditInstanceService; import io.v.nutz.oa.service.impl.OaAuditInstanceServiceImpl; import io.v.nutz.proposal.constants.ProposalConstant; @@ -125,6 +126,7 @@ public class CaseReadController { } cnd.asc("info.stateCode"); + // proposalInfoService.sortAndSearch(cnd,page,search); Pagination pagination = (Pagination) proposalInfoService.initSql(sql, page, search, cnd); @@ -194,39 +196,56 @@ public class CaseReadController { membersOpinions.add(proposalAudit.getId()); proposalInfo.setMembersOpinions(membersOpinions); - // 搞下一个节点去 - ProposalProcessService processService = Mvcs.getIoc().get(ProposalProcessService.class); - int nextStateCode = processService.getSomeNodeNextStateCode(proposalInfo.getStateCode(), ProposalStateDirectionEnum.NEXT); - proposalInfo.setStateCode(nextStateCode); + proposalInfoService.updateIgnoreNull(proposalInfo); - // 发待办 - IOaAuditInstanceService auditInstanceService = Mvcs.getIoc().get(OaAuditInstanceServiceImpl.class); + try { + // 发待办 + IOaAuditInstanceService auditInstanceService = Mvcs.getIoc().get(OaAuditInstanceServiceImpl.class); + OaAuditInstance oaInstance = auditInstanceService.getByUser(OaBusinessTypeEnum.COMMITTEE_READ, ShiroUtil.getUserId()); + if (oaInstance != null) { - Sql userSql = Sqls.create("select su.* from sys_user su left join sys_user_role sur on su.id = sur.userid" + - " where sur.roleId in (@roleId)"); - userSql.params().set("roleId", Arrays.asList(Roles.WYH_ZR,Roles.tmanage)); - userSql.setCallback(Sqls.callback.maps()); - dao.execute(userSql); - List sysUsers = userSql.getList(NutMap.class); + auditInstanceService.agree(oaInstance.getId(), ShiroUtil.getUserId(), "审核通过"); + } - if(Lang.isNotEmpty(sysUsers)) { - List userIds = sysUsers.stream().map(item-> { return item.getString("id"); }).collect(Collectors.toList()); + // 审核人员超过三个发待办 + if (membersOpinions.size() >= 3) { + // 搞下一个节点去 + ProposalProcessService processService = Mvcs.getIoc().get(ProposalProcessService.class); + int nextStateCode = processService.getSomeNodeNextStateCode(proposalInfo.getStateCode(), ProposalStateDirectionEnum.NEXT); + proposalInfo.setStateCode(nextStateCode); + proposalInfoService.updateIgnoreNull(proposalInfo); - Sys_user createUser = dao.fetch(Sys_user.class, proposalInfo.getCreateUser()); - String title = "提案委审核-" + proposalInfo.getProposalName() + "(" + proposalInfo.getProposalCode() + "[" + createUser.getUsername() + "]" + ")"; - String subTitle = createUser.getUsername() + "邀请您提案审核"; + Sql userSql = Sqls.create("select su.* from sys_user su left join sys_user_role sur on su.id = sur.userid" + + " where sur.roleId in (@roleId)"); + userSql.params().set("roleId", Arrays.asList(Roles.WYH_ZR, Roles.tmanage)); + userSql.setCallback(Sqls.callback.maps()); + dao.execute(userSql); + List sysUsers = userSql.getList(NutMap.class); - auditInstanceService.createTask(OaBusinessTypeEnum.PROPOSAL_COMMITTEE_AUDIT, - proposalInfo.getId(), - title, - subTitle, - createUser.getId(), - userIds, - Globals.AppDomain + "/platform/proposal/transact/case/case?proposalId=" + proposalInfo.getId(), - Globals.AppDomain + "/platform/proposal/transact/case/case"); - } + if (Lang.isNotEmpty(sysUsers)) { + List userIds = sysUsers.stream().map(item -> { + return item.getString("id"); + }).collect(Collectors.toList()); + + Sys_user createUser = dao.fetch(Sys_user.class, proposalInfo.getCreateUser()); + String title = "提案委审核-" + proposalInfo.getProposalName() + "(" + proposalInfo.getProposalCode() + "[" + createUser.getUsername() + "]" + ")"; + String subTitle = createUser.getUsername() + "邀请您提案审核"; + + auditInstanceService.createTask(OaBusinessTypeEnum.PROPOSAL_COMMITTEE_AUDIT, + proposalInfo.getId(), + title, + subTitle, + createUser.getId(), + userIds, + Globals.AppDomain + "/platform/proposal/transact/case/case?proposalId=" + proposalInfo.getId(), + Globals.AppDomain + "/platform/proposal/transact/case/case"); + } + } + } catch (Exception e) { + e.printStackTrace(); + } return null; } diff --git a/src/main/java/io/v/nutz/proposal/services/impl/ProposalProposalPreAuditServiceImpl.java b/src/main/java/io/v/nutz/proposal/services/impl/ProposalProposalPreAuditServiceImpl.java index 576f9bb..24bf52c 100644 --- a/src/main/java/io/v/nutz/proposal/services/impl/ProposalProposalPreAuditServiceImpl.java +++ b/src/main/java/io/v/nutz/proposal/services/impl/ProposalProposalPreAuditServiceImpl.java @@ -2,6 +2,7 @@ package io.v.nutz.proposal.services.impl; import cn.hutool.core.util.StrUtil; import cn.wizzer.framework.page.Pagination; +import io.v.nutz.base.utils.Roles; import io.v.nutz.modules.models.PageForm; import io.v.nutz.oa.enums.OaBusinessTypeEnum; import io.v.nutz.oa.service.IOaAuditInstanceService; @@ -27,8 +28,10 @@ import org.nutz.ioc.aop.Aop; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.lang.Lang; +import org.nutz.lang.util.NutMap; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; @@ -118,18 +121,36 @@ public class ProposalProposalPreAuditServiceImpl extends ViServiceImpl implement chain.add("stateCode", newStateCode); dao().update(ProposalInfo.class, chain, Cnd.where("id", "=", proposalId)); - Sys_user createUser = dao().fetch(Sys_user.class, proposalInfo.getCreateUser()); - String title = "提案委成员审核-" + proposalInfo.getProposalName() + "(" + proposalInfo.getProposalCode() + "[" + createUser.getUsername() + "]" + ")"; - String subTitle = createUser.getUsername() + "邀请您提案审核"; - List userList = dao().query(Sys_user.class, Cnd.where("loginname", "=", "20010021")); - List userIds = userList.stream().map(Sys_user::getId).collect(Collectors.toList()); - auditInstanceService.createTask(OaBusinessTypeEnum.COMMITTEE_READ, - proposalInfo.getId(), - title, - subTitle, - createUser.getId(), - userIds, - Globals.AppDomain + "/platform/proposal/transact/caseRead?proposalId=" + proposalInfo.getId(), - Globals.AppDomain + "/platform/proposal/transact/caseRead"); + try { + Sys_user createUser = dao().fetch(Sys_user.class, proposalInfo.getCreateUser()); + String title = "提案委成员审核-" + proposalInfo.getProposalName() + "(" + proposalInfo.getProposalCode() + "[" + createUser.getUsername() + "]" + ")"; + String subTitle = createUser.getUsername() + "邀请您提案审核"; + // 查询角色是提案委委员的用户 + Sql userSql = Sqls.create("select su.* from sys_user su left join sys_user_role sur on su.id = sur.userid" + + " where sur.roleId in (@roleId)"); + userSql.params().set("roleId", Arrays.asList(Roles.JDH_TA_WXY_WY_ROLE_ID)); + userSql.setCallback(Sqls.callback.maps()); + dao().execute(userSql); + List sysUsers = userSql.getList(NutMap.class); + if (sysUsers == null || sysUsers.size() <= 0) { + return; + } + List userIds = sysUsers.stream().map(item -> { + return item.getString("id"); + }).collect(Collectors.toList()); + for (String userId : userIds) { + auditInstanceService.createTask(OaBusinessTypeEnum.COMMITTEE_READ, + proposalInfo.getId(), + title, + subTitle, + createUser.getId(), + List.of(userId), + Globals.AppDomain + "/platform/proposal/transact/caseRead?proposalId=" + proposalInfo.getId(), + Globals.AppDomain + "/platform/proposal/transact/caseRead"); + } + + } catch (Exception e) { + e.printStackTrace(); + } } } diff --git a/src/main/resources/views/mobile/club/clubAudit.html b/src/main/resources/views/mobile/club/clubAudit.html index 70628b5..6b13f25 100644 --- a/src/main/resources/views/mobile/club/clubAudit.html +++ b/src/main/resources/views/mobile/club/clubAudit.html @@ -145,7 +145,7 @@ layout("/mobile/platform.html"){ --> -
+ diff --git a/src/main/resources/views/mobile/club/inClub.html b/src/main/resources/views/mobile/club/inClub.html index 458116d..de7d607 100644 --- a/src/main/resources/views/mobile/club/inClub.html +++ b/src/main/resources/views/mobile/club/inClub.html @@ -116,7 +116,7 @@ layout("/mobile/platform.html"){
- + 入会状态: diff --git a/src/main/resources/views/platform/proposal/transact/executorRead.html b/src/main/resources/views/platform/proposal/transact/executorRead.html index 2e7d4e9..b04de43 100644 --- a/src/main/resources/views/platform/proposal/transact/executorRead.html +++ b/src/main/resources/views/platform/proposal/transact/executorRead.html @@ -63,7 +63,7 @@ layout("/layouts/platform.html"){ 查看 审核 diff --git a/src/main/resources/views/platform/proposal/transact/executorReadConfirm.html b/src/main/resources/views/platform/proposal/transact/executorReadConfirm.html index 765ea95..d3a7997 100644 --- a/src/main/resources/views/platform/proposal/transact/executorReadConfirm.html +++ b/src/main/resources/views/platform/proposal/transact/executorReadConfirm.html @@ -62,7 +62,7 @@ layout("/layouts/platform.html"){ 查看 审核 diff --git a/src/main/resources/views/platform/proposal/transact/principalRead.html b/src/main/resources/views/platform/proposal/transact/principalRead.html index 48a0190..de38564 100644 --- a/src/main/resources/views/platform/proposal/transact/principalRead.html +++ b/src/main/resources/views/platform/proposal/transact/principalRead.html @@ -68,12 +68,12 @@ layout("/layouts/platform.html"){ 查看 审阅 审阅