diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/controller/manage/SysApprovalController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/controller/manage/SysApprovalController.java index ceecf8b7..2f2c078b 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/controller/manage/SysApprovalController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/controller/manage/SysApprovalController.java @@ -1,14 +1,17 @@ package com.hzs.system.sys.controller.manage; import cn.hutool.core.collection.CollectionUtil; +import com.hzs.common.core.constant.msg.DocumentMsgConstants; import com.hzs.common.core.enums.*; import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.domain.AjaxResult; +import com.hzs.common.domain.system.sys.SysApproval; import com.hzs.common.domain.system.sys.SysUser; import com.hzs.common.domain.system.sys.ext.SysApprovalExt; import com.hzs.common.domain.system.sys.ext.SysApprovalItemExt; import com.hzs.common.domain.system.sys.ext.SysApprovalSendExt; import com.hzs.common.security.utils.SecurityUtils; +import com.hzs.common.util.TransactionUtils; import com.hzs.system.sys.service.*; import com.hzs.system.sys.vo.*; import lombok.extern.slf4j.Slf4j; @@ -120,4 +123,36 @@ public class SysApprovalController extends BaseController { return AjaxResult.success(resultList); } + + /** + * 是否存在签呈 + * + * @param approvalBusinessList + * @return + */ + @GetMapping("/has-sign/{approvalBusinessList}") + public AjaxResult hasSign(@PathVariable("approvalBusinessList") List approvalBusinessList) { + // 查询是否存在签呈 + List sysApprovalList = iSysApprovalService.lastApproval(approvalBusinessList, SecurityUtils.getPkCountry()); + if (CollectionUtil.isNotEmpty(sysApprovalList)) { + approval: + for (Integer approvalBusiness : approvalBusinessList) { + for (SysApproval sysApproval : sysApprovalList) { + if (sysApproval.getApprovalBusiness().equals(approvalBusiness)) { + // 存在则直接进行下次 + continue approval; + } + } + EApprovalBusiness eApprovalBusiness = EApprovalBusiness.getEnumByValue(approvalBusiness); + if (null != eApprovalBusiness) { + // %s 未配置签呈 + return AjaxResult.error(TransactionUtils.getContent(DocumentMsgConstants.SIGN_NOT_CONFIG, eApprovalBusiness.getLabel())); + } + // 签呈业务类型错误 + return AjaxResult.error(TransactionUtils.getContent(DocumentMsgConstants.SIGN_TYPE_ERROR)); + } + } + return AjaxResult.success(); + } + } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/mapper/SysApprovalMapper.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/mapper/SysApprovalMapper.java index 2003128f..e16500b5 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/mapper/SysApprovalMapper.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/mapper/SysApprovalMapper.java @@ -21,4 +21,13 @@ public interface SysApprovalMapper extends BaseMapper { */ List lastApprovalAndItem(@Param("approvalBusinessList") List approvalBusinessList, @Param("pkCountry") Integer pkCountry); + /** + * 根据审批业务类型相关最新的审批 + * + * @param approvalBusinessList 审批业务类型列表 + * @param pkCountry 国家ID + * @return + */ + List lastApproval(@Param("approvalBusinessList") List approvalBusinessList, @Param("pkCountry") Integer pkCountry); + } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/service/ISysApprovalService.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/service/ISysApprovalService.java index 5f7a1639..a0b59b59 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/service/ISysApprovalService.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/service/ISysApprovalService.java @@ -20,4 +20,13 @@ public interface ISysApprovalService extends IService { */ List lastApprovalAndItem(List approvalBusinessList, Integer pkCountry); + /** + * 根据审批业务类型相关最新的审批 + * + * @param approvalBusinessList 审批业务类型列表 + * @param pkCountry 国家ID + * @return + */ + List lastApproval(List approvalBusinessList, Integer pkCountry); + } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/service/impl/SysApprovalServiceImpl.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/service/impl/SysApprovalServiceImpl.java index 175e4f06..a939d96c 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/service/impl/SysApprovalServiceImpl.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/service/impl/SysApprovalServiceImpl.java @@ -20,4 +20,9 @@ public class SysApprovalServiceImpl extends ServiceImpl lastApproval(List approvalBusinessList, Integer pkCountry) { + return baseMapper.lastApproval(approvalBusinessList, pkCountry); + } + } diff --git a/bd-business/bd-business-system/src/main/resources/mapper/system/sys/SysApprovalMapper.xml b/bd-business/bd-business-system/src/main/resources/mapper/system/sys/SysApprovalMapper.xml index c8e7601f..128d9062 100644 --- a/bd-business/bd-business-system/src/main/resources/mapper/system/sys/SysApprovalMapper.xml +++ b/bd-business/bd-business-system/src/main/resources/mapper/system/sys/SysApprovalMapper.xml @@ -55,4 +55,22 @@ order by sa.APPROVAL_BUSINESS, sai.approval_level + + +