From 08a9d2d66baa2b6776aab7bc1d76b514b334c114 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Tue, 27 May 2025 11:33:18 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E6=89=BE=E5=9B=9E=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/SysApprovalController.java | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 bd-business/bd-business-system/src/main/java/com/hzs/system/sys/controller/manage/SysApprovalController.java 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 new file mode 100644 index 00000000..ceecf8b7 --- /dev/null +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/controller/manage/SysApprovalController.java @@ -0,0 +1,123 @@ +package com.hzs.system.sys.controller.manage; + +import cn.hutool.core.collection.CollectionUtil; +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.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.system.sys.service.*; +import com.hzs.system.sys.vo.*; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * 签呈配置相关 + */ +@Slf4j +@RestController +@RequestMapping("/manage/approval") +public class SysApprovalController extends BaseController { + + @Autowired + private ISysApprovalService iSysApprovalService; + @Autowired + private ISysApprovalSendService iSysApprovalSendService; + @Autowired + private ISysUserService iSysUserService; + + /** + * 签呈内容 + * + * @param approvalBusinessList + * @return + */ + @GetMapping("/sign-data/{approvalBusinessList}") + public AjaxResult signData(@PathVariable("approvalBusinessList") List approvalBusinessList) { + // 查询当前操作用户 + SysUser sysUser = iSysUserService.selectUserById(SecurityUtils.getUserId()); + if (null == sysUser) { + return AjaxResult.error("用户不存在"); + } + + // 签呈推送列表 + Map> sendMap = new HashMap<>(); + + // 查询签呈内容 + List sysApprovalExtList = iSysApprovalService.lastApprovalAndItem(approvalBusinessList, SecurityUtils.getPkCountry()); + if (CollectionUtil.isNotEmpty(sysApprovalExtList)) { + // 签呈ID列表 + List approvalIdList = sysApprovalExtList.stream().map(SysApprovalExt::getPkId).collect(Collectors.toList()); + // 签呈推送列表 + sendMap = iSysApprovalSendService.queryApprovalSendMap(approvalIdList); + } + + Date nowDate = new Date(); + + // 返回结果列表 + List resultList = new ArrayList<>(); + + for (Integer approvalBusiness : approvalBusinessList) { + // 审批主体 + SysApprovalExt sysApproval = null; + // 审批明细 + List detailList = new ArrayList<>(); + // 抄送人列表 + List sendList = new ArrayList<>(); + + for (SysApprovalExt sysApprovalExt : sysApprovalExtList) { + if (approvalBusiness.equals(sysApprovalExt.getApprovalBusiness())) { + sysApproval = sysApprovalExt; + } + } + if (null != sysApproval) { + // 返回审批明细列表 + for (SysApprovalItemExt sysApprovalItemExt : sysApproval.getItemList()) { + detailList.add(ApprovalBusinessDetailVO.builder() + .approvalLevel(sysApprovalItemExt.getApprovalLevel()) + .pkApprover(sysApprovalItemExt.getPkUser()) + .approver(sysApprovalItemExt.getNickName()) + .approverDept(sysApprovalItemExt.getDeptName()) + .build()); + } + + // 返回审核抄送人列表 + List approvalSendList = sendMap.get(sysApproval.getPkId()); + if (CollectionUtil.isNotEmpty(approvalSendList)) { + for (SysApprovalSendExt sysApprovalSend : approvalSendList) { + sendList.add(ApprovalBusinessSendVO.builder() + .pkSend(sysApprovalSend.getPkUser()) + .send(sysApprovalSend.getNickName()) + .sendDept(sysApprovalSend.getDeptName()) + .build()); + } + } + } + + String approvalBusinessVal = null; + if (EApprovalBusiness.CUSTOM.getValue() == approvalBusiness) { + approvalBusinessVal = ""; + } + // 不存在审批配置,没有明细 + resultList.add(ApprovalBusinessVO.builder() + .deptName(sysUser.getDeptName()) + .userName(sysUser.getNickName()) + .approvalBusiness(approvalBusiness) + .approvalBusinessVal(approvalBusinessVal) + .creationTime(nowDate) + .detailList(detailList) + .sendList(sendList) + .build()); + } + + return AjaxResult.success(resultList); + } + +}