若依框架在导航菜单上增加待办任务数

编程入门 行业动态 更新时间:2024-10-11 05:27:09

若依<a href=https://www.elefans.com/category/jswz/34/1770644.html style=框架在导航菜单上增加待办任务数"/>

若依框架在导航菜单上增加待办任务数

因为有大量查询和统计,所以不再前端页面上做,尽量1次请求完成。集成SysMenuService接口的实现类SysMenuServiceImpl,重写selectMenuTreeByUserId()函数,将衍生类标记为主要@Primary。

package com.ruoyi.web.service.impl;import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;import com.ruoyimon.core.domain.entity.SysMenu;
import com.ruoyimon.utils.SecurityUtils;
import com.ruoyimon.utils.StringUtils;
import com.ruoyi.ibs.contract.domain.IbsContract;
import com.ruoyi.ibs.contract.service.IIbsContractService;
import com.ruoyi.ibs.goods.domain.BizPurchasePlan;
import com.ruoyi.ibs.goods.service.IBizPurchasePlanService;
import com.ruoyi.ibs.meal.domain.BizMeal;
import com.ruoyi.ibs.meal.service.IBizMealService;
import com.ruoyi.ibs.meeting.domain.IbsMeeting;
import com.ruoyi.ibs.meeting.service.IIbsMeetingService;
import com.ruoyi.ibs.msg.domain.IbsMymsg;
import com.ruoyi.ibs.msg.service.IIbsMymsgService;
import com.ruoyi.ibs.news.domain.FicNewsInfo;
import com.ruoyi.ibs.news.service.IFicNewsInfoService;
import com.ruoyi.ibs.officialdoc.domain.IbsDocumentReceive;
import com.ruoyi.ibs.officialdoc.domain.IbsDocumentSend;
import com.ruoyi.ibs.officialdoc.service.IIbsDocumentReceiveService;
import com.ruoyi.ibs.officialdoc.service.IIbsDocumentSendService;
import com.ruoyi.ibs.repair.domain.BizRepairOrder;
import com.ruoyi.ibs.repair.service.IBizRepairOrderService;
import com.ruoyi.ibs.vehicle.domain.IbsVa;
import com.ruoyi.ibs.vehicle.service.IIbsVaService;
import com.ruoyi.system.mapper.SysMenuMapper;
import com.ruoyi.system.service.impl.SysMenuServiceImpl;/**
*@author    created by Jerry
*@date  2022年9月21日---下午2:28:29
*@problem
*@answer
*@action
*/@Service
@Primary
public class SysMenuServiceImplEx extends SysMenuServiceImpl{@Autowiredprivate SysMenuMapper menuMapper;@Autowiredprivate IIbsVaService ibsVaService;@Autowiredprivate IIbsContractService ibsContractService;@Autowiredprivate IIbsMeetingService ibsMeetingService;@Autowiredprivate IIbsDocumentSendService ibsDocumentSendService;@Autowiredprivate IIbsDocumentReceiveService ibsDocumentReceiveService;@Autowiredprivate IIbsMymsgService ibsMymsgService;@Autowiredprivate IFicNewsInfoService ficNewsInfoService;@Autowiredprivate IBizMealService bizMealService;@Autowiredprivate IBizPurchasePlanService bizPurchasePlanService;@Autowiredprivate IBizRepairOrderService bizRepairOrderService;@Overridepublic List<SysMenu> selectMenuTreeByUserId(Long userId) {List<SysMenu> menus = null;if (SecurityUtils.isAdmin(userId)){menus = menuMapper.selectMenuTreeAll();}else{menus = menuMapper.selectMenuTreeByUserId(userId);}selectTodoTask(userId,menus);return getChildPerms(menus, 0);}private void selectTodoTask(Long userId, List<SysMenu> menus){List<String> perms = menuMapper.selectMenuPermsByUserId(userId);Set<String> permsSet = new HashSet<>();for (String perm : perms){if (StringUtils.isNotEmpty(perm)){permsSet.addAll(Arrays.asList(perm.trim().split(",")));}}for (Iterator iterator = menus.iterator(); iterator.hasNext();) {SysMenu sysMenu = (SysMenu) iterator.next();switch (sysMenu.getMenuName()) {case "车辆申请":/** 所有非草稿、未完结的申请单 */Boolean isme = true;IbsVa ibsVa = new IbsVa();for (Iterator iterator2 = permsSet.iterator(); iterator2.hasNext();) {String string = (String) iterator2.next();if(string.equals("vehicle:va:approve1")) {// 本部门的ibsVa.setVaAdid(SecurityUtils.getLoginUser().getUser().getDeptId().toString());}if(string.equals("vehicle:va:approve1") ||string.equals("vehicle:va:approve2") ||string.equals("vehicle:va:approve3") ||string.equals("vehicle:va:config") ) {isme = false;}}if(isme){// 查本人的ibsVa.setVaAuid(SecurityUtils.getLoginUser().getUser().getUserId().toString());}List<IbsVa> vaList = ibsVaService.selectIbsVaList(ibsVa);if(vaList.size() != 0){sysMenu.setMenuName(sysMenu.getMenuName() + "--" + vaList.size());}break;case "部门负责人审核":/** 待部门负责人审核 */BizRepairOrder bizRepairOrder1 = new BizRepairOrder();bizRepairOrder1.setRepairOrder("0");List<BizRepairOrder> zoList1 = bizRepairOrderService.selectBizRepairOrderListWL(bizRepairOrder1);if(zoList1.size() != 0) {sysMenu.setMenuName(sysMenu.getMenuName() + "--" + zoList1.size());}break;case "维修部门负责人审核":/** 待维修部门负责人审核 */BizRepairOrder bizRepairOrder2 = new BizRepairOrder();bizRepairOrder2.setRepairOrder("2");List<BizRepairOrder> zoList2 = bizRepairOrderService.selectBizRepairOrderListWL(bizRepairOrder2);if(zoList2.size() != 0) {sysMenu.setMenuName(sysMenu.getMenuName() + "--" + zoList2.size());}break;case "院长审核":/** 待院长审核 */BizRepairOrder bizRepairOrder3 = new BizRepairOrder();bizRepairOrder3.setRepairOrder("4");List<BizRepairOrder> zoList3 = bizRepairOrderService.selectBizRepairOrderListWL(bizRepairOrder3);if(zoList3.size() != 0) {sysMenu.setMenuName(sysMenu.getMenuName() + "--" + zoList3.size());}break;case "设备维修部管理":/** 待设备维修部提交验收 */BizRepairOrder bizRepairOrder4 = new BizRepairOrder();bizRepairOrder4.setRepairOrder("10");List<BizRepairOrder> zoList4 = bizRepairOrderService.selectBizRepairOrderListWL(bizRepairOrder4);if(zoList4.size() != 0) {sysMenu.setMenuName(sysMenu.getMenuName() + "--" + zoList4.size());}break;case "申报部门验收":/** 待申报部门验收 */BizRepairOrder bizRepairOrder5 = new BizRepairOrder();bizRepairOrder5.setRepairOrder("50");List<BizRepairOrder> zoList5 = bizRepairOrderService.selectBizRepairOrderListWL(bizRepairOrder5);if(zoList5.size() != 0) {sysMenu.setMenuName(sysMenu.getMenuName() + "--" + zoList5.size());}break;case "综合保障部验收":/** 待综合保障部验收 */BizRepairOrder bizRepairOrder6 = new BizRepairOrder();bizRepairOrder6.setRepairOrder("20");List<BizRepairOrder> zoList6 = bizRepairOrderService.selectBizRepairOrderListWL(bizRepairOrder6);if(zoList6.size() != 0) {sysMenu.setMenuName(sysMenu.getMenuName() + "--" + zoList6.size());}break;case "部门审批":/** 所有本部门待部门审批的采购计划 */BizPurchasePlan bizPurchasePlan = new BizPurchasePlan();bizPurchasePlan.setPurchaseStatue("20");Long deptId = SecurityUtils.getLoginUser().getUser().getDeptId();bizPurchasePlan.setPurBlext1(Long.toString(deptId));List<BizPurchasePlan> bppList = bizPurchasePlanService.selectBizPurchasePlanListWL(bizPurchasePlan);if(bppList.size() != 0) {sysMenu.setMenuName(sysMenu.getMenuName() + "--" + bppList.size());}break;case "院长审批":/** 所有待院长审批的采购计划 */BizPurchasePlan bizPurchasePlan1 = new BizPurchasePlan();bizPurchasePlan1.setPurchaseStatue("30");List<BizPurchasePlan> bppList1 = bizPurchasePlanService.selectBizPurchasePlanListWL(bizPurchasePlan1);if(bppList1.size() != 0) {sysMenu.setMenuName(sysMenu.getMenuName() + "--" + bppList1.size());}break;case "合同审批":/** 所有未归档的合同 */IbsContract ibsContract = new IbsContract();List<IbsContract> contractList = ibsContractService.selectIbsContractList(ibsContract);if(contractList.size() != 0) {sysMenu.setMenuName(sysMenu.getMenuName() + "--" + contractList.size());}break;case "分管领导审核":/** 所有待分管领导审核 */BizMeal bizMeal = new BizMeal();bizMeal.setAuditState("1");List<BizMeal> mealList = bizMealService.selectBizMealListAudit(bizMeal);if(mealList.size() != 0) {sysMenu.setMenuName(sysMenu.getMenuName() + "--" + mealList.size());}break;case "党政工作部审核":/** 所有待党政工作部审核 */BizMeal bizMeal1 = new BizMeal();bizMeal1.setAuditState("4");List<BizMeal> mealList1 = bizMealService.selectBizMealListAudit(bizMeal1);if(mealList1.size() != 0) {sysMenu.setMenuName(sysMenu.getMenuName() + "--" + mealList1.size());}break;case "会议申请":/** 所有待审批的会议申请 */Boolean isme0 = true;IbsMeeting ibsMeeting = new IbsMeeting();for (Iterator iterator2 = permsSet.iterator(); iterator2.hasNext();) {String string = (String) iterator2.next();if(string.equals("meeting:meeting:approve1")) {// 本部门的ibsMeeting.setmDid(SecurityUtils.getLoginUser().getUser().getDeptId().toString());}if(string.equals("meeting:meeting:approve4")) {// 院务会议ibsMeeting.setmType("院务会议");}if(string.equals("meeting:meeting:approve5")) {// 党委会议ibsMeeting.setmType("党委会议");}if(string.equals("meeting:meeting:approve1") ||string.equals("meeting:meeting:approve2") ||string.equals("meeting:meeting:approve3") ||string.equals("meeting:meeting:approve4") ||string.equals("meeting:meeting:approve5")){isme0 = false;}}if(isme0){// 查本人的ibsMeeting.setmUid(SecurityUtils.getLoginUser().getUser().getUserId().toString());}List<IbsMeeting> meetingList = ibsMeetingService.selectIbsMeetingList(ibsMeeting);if(meetingList.size() != 0) {sysMenu.setMenuName(sysMenu.getMenuName() + "--" + meetingList.size());}break;case "发文管理":/** 所有未完结的发文 */IbsDocumentSend ibsDocumentSend = new IbsDocumentSend();List<IbsDocumentSend> dsList = ibsDocumentSendService.selectIbsDocumentSendList(ibsDocumentSend);if(dsList.size() != 0) {sysMenu.setMenuName(sysMenu.getMenuName() + "--" + dsList.size());}break;case "文件阅办":/** 所有未完结的阅办 */IbsDocumentReceive ibsDocumentReceive = new IbsDocumentReceive();List<IbsDocumentReceive> drList = ibsDocumentReceiveService.selectIbsDocumentReceiveList(ibsDocumentReceive);if(drList.size() != 0) {sysMenu.setMenuName(sysMenu.getMenuName() + "--" + drList.size());}break;case "通知信息":/** 所有待审批通知数 */FicNewsInfo ficNewsInfo = new FicNewsInfo();ficNewsInfo.setAuditStatus(0);List<FicNewsInfo> newsList = ficNewsInfoService.selectFicNewsInfoList(ficNewsInfo);if(newsList.size() != 0){sysMenu.setMenuName(sysMenu.getMenuName() + "--" + newsList.size());}break;case "我的消息":/** 本用户所有未读消息数 */IbsMymsg ibsMymsg = new IbsMymsg();ibsMymsg.setMymsgStatus("N");ibsMymsg.setUserId(userId);List<IbsMymsg> myMsgList = ibsMymsgService.selectIbsMymsgList(ibsMymsg);if(myMsgList.size() != 0) {sysMenu.setMenuName(sysMenu.getMenuName() + "--" + myMsgList.size());}break;}}}}

 

更多推荐

若依框架在导航菜单上增加待办任务数

本文发布于:2024-03-09 05:42:24,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1724025.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:框架   菜单

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!