| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239 |
- package cn.com.lzt.homepage.controller;
- import java.util.*;
- import javax.servlet.http.HttpServletRequest;
- import org.jeecgframework.core.util.JeecgDataAutorUtils;
- import org.jeecgframework.core.util.ResourceUtil;
- import org.jeecgframework.web.system.pojo.base.TSUser;
- import org.jeecgframework.web.system.service.SystemService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.servlet.ModelAndView;
- import cn.com.lzt.arrangeduty.dto.ProjectDepartDto;
- import cn.com.lzt.attendance.dao.AttendanceStatsMinidaoDao;
- import cn.com.lzt.common.entity.UserRoleDto;
- import cn.com.lzt.common.util.Constants;
- import cn.com.lzt.dialogDeal.service.DialogDealServiceI;
- import cn.com.lzt.homepage.dto.DashboardDto;
- import cn.com.lzt.homepage.service.HomepageServiceI;
- /**
- * @author onlineGenerator
- * @version V1.0
- * @Title: Controller
- * @Description: 首页跳转
- * @date 2017-10-24 16:38:50
- */
- @Controller
- @RequestMapping("/homepageController")
- public class HomePageController {
- @Autowired
- DialogDealServiceI dialogDealServiceI;
- @Autowired
- private HomepageServiceI homepageServiceI;
- @Autowired
- private SystemService systemService;
- /**
- * 首页页面
- *
- * @return
- */
- @RequestMapping(params = "homepage")
- public ModelAndView statisticTabs(HttpServletRequest request) {
- return new ModelAndView("cn/com/lzt/homepage/homepage");
- }
- @RequestMapping(params = "workflowboard")
- public ModelAndView workflowboard(HttpServletRequest request) {
- ModelAndView mav = new ModelAndView();
- mav.setViewName("cn/com/lzt/homepage/workflowboard");
- TSUser user = ResourceUtil.getSessionUser();
- if (user == null) {
- return null;
- }
- String funHRSql = "select f.functionname fname,f.functionurl furl ,f.function_icon_style ficon , pf.functionname pfname ,f.remark remark from t_s_function f \n" +
- "left join t_s_function pf on pf.id = f.parentfunctionid \n" +
- "where f.id in(\n" +
- "select functionid from t_s_role_function where roleid in (\n" +
- "select roleid from t_s_role_user where userid = ?) )and pf.functionname = '功能权限-人事签报'\n" +
- "order by f.functionorder*1";
- String funFISql = "select f.functionname fname,f.functionurl furl ,f.function_icon_style ficon , pf.functionname pfname ,f.remark remark from t_s_function f \n" +
- "left join t_s_function pf on pf.id = f.parentfunctionid \n" +
- "where f.id in(\n" +
- "select functionid from t_s_role_function where roleid in (\n" +
- "select roleid from t_s_role_user where userid = ?) )and pf.functionname = '功能权限-财务签报'\n" +
- "order by f.functionorder*1";
- String funOtherSql = "select f.functionname fname,f.functionurl furl ,f.function_icon_style ficon , pf.functionname pfname,f.remark remark from t_s_function f \n" +
- "left join t_s_function pf on pf.id = f.parentfunctionid \n" +
- "where f.id in(\n" +
- "select functionid from t_s_role_function where roleid in (\n" +
- "select roleid from t_s_role_user where userid = ?) )and pf.functionname = '功能权限-其他签报'\n" +
- "order by f.functionorder*1";
- String funSCMSql = "select f.functionname fname,f.functionurl furl ,f.function_icon_style ficon , pf.functionname pfname,f.remark remark from t_s_function f \n" +
- "left join t_s_function pf on pf.id = f.parentfunctionid \n" +
- "where f.id in(\n" +
- "select functionid from t_s_role_function where roleid in (\n" +
- "select roleid from t_s_role_user where userid = ?) )and pf.functionname = '功能权限-物料签报'\n" +
- "order by f.functionorder*1";
- //办公类签报(add-刘梦祥-2021年11月2日15:24:45)
- String funWORKSql = "select f.functionname fname,f.functionurl furl ,f.function_icon_style ficon , pf.functionname pfname,f.remark remark from t_s_function f \n" +
- "left join t_s_function pf on pf.id = f.parentfunctionid \n" +
- "where f.id in(\n" +
- "select functionid from t_s_role_function where roleid in (\n" +
- "select roleid from t_s_role_user where userid = ?) )and pf.functionname = '功能权限-办公类签报'\n" +
- "order by f.functionorder*1";
- String[] bg = {"bg-info", "bg-primary", "bg-success", "bg-warning"};
- Map<String, Integer> badgeNumberMap = new HashMap<>();
- // 得到登录人所有的待处理个数
- getBadgeAllNumberByUser(badgeNumberMap, user);
- List<Map<String, Object>> funHRList = homepageServiceI.findForJdbc(funHRSql, user.getId());
- funAllList(funHRList,badgeNumberMap,bg);
- List<Map<String, Object>> funFIList = homepageServiceI.findForJdbc(funFISql, user.getId());
- funAllList(funFIList,badgeNumberMap,bg);
- List<Map<String, Object>> funOTHERList = homepageServiceI.findForJdbc(funOtherSql, user.getId());
- funAllList(funOTHERList,badgeNumberMap,bg);
- List<Map<String, Object>> funSCMList = homepageServiceI.findForJdbc(funSCMSql, user.getId());
- funAllList(funSCMList,badgeNumberMap,bg);
- //办公类签报(add-刘梦祥-2021年11月2日15:24:45)
- List<Map<String, Object>> funWORKList = homepageServiceI.findForJdbc(funWORKSql, user.getId());
- funAllList(funWORKList,badgeNumberMap,bg);
- request.setAttribute("funHRList", funHRList);
- request.setAttribute("funFIList", funFIList);
- request.setAttribute("funSCMList", funSCMList);
- //办公类签报(add-刘梦祥-2021年11月2日15:24:45)
- request.setAttribute("funWORKList", funWORKList);
- request.setAttribute("funOTHERList", funOTHERList);
- return mav;
- }
- @RequestMapping(params = "getAllbadgeNumberMap")
- @ResponseBody
- public Map<String, Integer> getAllbadgeNumberMap(){
- TSUser user = ResourceUtil.getSessionUser();
- Map<String, Integer> badgeNumberMap = new HashMap<>();
- getBadgeAllNumberByUser(badgeNumberMap, user);
- return badgeNumberMap;
- }
- public void funAllList(List<Map<String, Object>> funList,Map<String, Integer> badgeNumberMap,String[] bg){
- for (int i = 0; i < funList.size(); i++) {
- if (badgeNumberMap.containsKey(String.valueOf(funList.get(i).get("fname")))) {
- funList.get(i).put("badgeNumber", badgeNumberMap.get(String.valueOf(funList.get(i).get("fname"))));
- }
- funList.get(i).put("fbg", bg[i % 4]);
- }
- }
- /**
- * 得到登录人所有的待处理个数
- *
- * @param badgeNumberMap
- * @param user
- * @author 刘梦祥
- * @Date 2022年1月10日13:27:02
- */
- public void getBadgeAllNumberByUser(Map<String, Integer> badgeNumberMap, TSUser user) {
- // add-刘梦祥-2022年1月10日11:36:50-(查询所有的待处理条数)
- String sqlStr = "SELECT\n" +
- "\ttype,\n" +
- "\tCOUNT(id) sumNumber\n" +
- "FROM\n" +
- "\tt_b_request\n";
- // 首先根据小程序登录用户的userid得到科室和职位
- String sql = "SELECT\n" +
- "\ttsbu.id loginUserId,\n" +
- "\ttsuo.org_id orgId,\n" +
- "\ttbup.in_postid inPostId\n" +
- "FROM\n" +
- "\tt_s_base_user tsbu\n" +
- "LEFT JOIN t_s_user_org tsuo ON tsuo.user_id = tsbu.id\n" +
- "LEFT JOIN t_bus_user_personnel tbup ON tbup.userid = tsuo.user_id\n" +
- "WHERE\n" +
- "\ttsbu.id = ?;";
- Map<String, Object> uopData = systemService.findOneForJdbc(sql, user.getId());
- if (uopData != null) {
- sqlStr += " where `status` = \"待审批\"\n" +
- "AND current_ruler_id IN (\n" +
- "\t'{\"userId\":\"" + user.getId() + "\"}',\n" +
- "\t'{\"departId\":\"" + uopData.get("orgId") + "\",\"inPostid\":\"" + uopData.get("inPostId") + "\"}'\n" +
- ") ";
- }
- sqlStr += " GROUP BY type\n";
- // 执行sql得到总条数
- List<Map<String, Object>> totalData = systemService.findForJdbc(sqlStr);
- for (Map<String, Object> totalDataItem : totalData) {
- if (totalDataItem.containsKey("type") && totalDataItem.containsKey("sumNumber")) {
- String OAType = "";
- switch (String.valueOf(totalDataItem.get("type"))) {
- case "加班签报审批":
- OAType = "加班申请";
- break;
- case "加班审核流程":
- OAType = "加班审核";
- break;
- case "休假签报":
- OAType = "休假申请";
- break;
- case "物料申购(维修类)":
- case "物料申购(非维修类)":
- OAType = "物料申购";
- break;
- case "物料申购(办公室)":
- OAType = "物料申购(办公室)";
- break;
- case "事前申请签报审批":
- OAType = "事前申请";
- break;
- case "通知发布签报":
- OAType = "通知公告";
- break;
- case "公务活动申请签报":
- OAType = "公务活动申请";
- break;
- case "用印申请签报审批":
- OAType = "用印申请";
- break;
- case "督查奖惩申请":
- OAType = "督查奖惩申请";
- break;
- default:
- OAType = String.valueOf(totalDataItem.get("type"));
- break;
- }
- if (badgeNumberMap.containsKey(OAType)) {
- badgeNumberMap.put(OAType, badgeNumberMap.get(OAType) + Integer.parseInt(String.valueOf(totalDataItem.get("sumNumber"))));
- } else {
- badgeNumberMap.put(OAType, Integer.parseInt(String.valueOf(totalDataItem.get("sumNumber"))));
- }
- }
- }
- }
- /**
- * 更新用戶看板配置
- *
- * @param request
- * @param ids
- * @param sortNums
- * @param requiredFlags
- * @param checkedStatus
- * @return
- */
- @RequestMapping(params = "updateBoards")
- @ResponseBody
- public Map<String, Object> updateBoards(HttpServletRequest request, String ids, String sortNums, String requiredFlags, String checkedStatus) {
- TSUser user = (TSUser) request.getSession().getAttribute(ResourceUtil.LOCAL_CLINET_USER);
- Map<String, Object> results = homepageServiceI.updateUserBoards(ids.split(","), sortNums.split(","), checkedStatus.split(","), requiredFlags.split(","), user);
- return results;
- }
- }
|