package com.zteits.oa.report.web; import com.alibaba.fastjson.JSONObject; import com.xiaoleilu.hutool.util.CollectionUtil; import com.zteits.oa.api.base.bean.BizResult; import com.zteits.oa.api.base.bean.PageBean; import com.zteits.oa.api.base.constants.SessionEnum; import com.zteits.oa.api.dto.asraop.AsraOpDTO; import com.zteits.oa.api.dto.asraop.param.AsraOpQueryReq; import com.zteits.oa.api.dto.asraoprelations.AsraOpRelationsDTO; import com.zteits.oa.api.dto.asraoprelations.param.AsraOpRelationsQueryReq; import com.zteits.oa.api.service.report.query.AsraOpQueryService; import com.zteits.oa.api.service.report.query.AsraOpRelationsQueryService; import io.swagger.annotations.Api; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cglib.core.CollectionUtils; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import java.util.ArrayList; import java.util.List; @Api(value = "日报系统-员工管理", description = "日报系统-员工管理") @RestController @RequestMapping("/asraOp") public class AsraOpController { private static final Logger logger = LoggerFactory.getLogger(AsraOpController.class); @Autowired private AsraOpQueryService asraOpQueryService; @Autowired private AsraOpRelationsQueryService asraOpRelationsQueryService; @RequestMapping(value="/queryAsraOpPage",method = RequestMethod.POST) public BizResult> queryAsraOpPage(@RequestBody AsraOpQueryReq asraOpQueryReq, HttpServletRequest request){ logger.info("日报系统-员工管理-根据登录人分页查询员工信息入参:{}", JSONObject.toJSON(asraOpQueryReq)); /**1.根据当前登录人查询登录人下面管理的员工-缓存中获取*/ AsraOpDTO asraOpDTO = (AsraOpDTO)request.getSession().getAttribute(SessionEnum.USER_INFO.key()); // /**2.判断登录人是领导还是员工 ,2:员工,1:领导*/ // List opIdLists = new ArrayList<>(); // opIdLists.add(asraOpDTO.getId()); // if(asraOpDTO.getRoleId() == 1){ // /**如果是领导,获取领导下面的员工信息*/ // AsraOpRelationsQueryReq asraOpRelationsQueryReq = new AsraOpRelationsQueryReq(); // asraOpRelationsQueryReq.setParentId(asraOpDTO.getId()); // BizResult> listBizResult = asraOpRelationsQueryService.queryAsraOpRelations(asraOpRelationsQueryReq); // if(listBizResult.isSuccess() && CollectionUtil.isNotEmpty(listBizResult.getData())){ // for(AsraOpRelationsDTO asraOpRelationsDTO : listBizResult.getData()){ // opIdLists.add(asraOpRelationsDTO.getOpId()); // } // } // } // asraOpQueryReq.setOpIdLists(opIdLists); asraOpQueryReq.setId(asraOpDTO.getId()); BizResult> result = asraOpQueryService.queryAsraOpForPage(asraOpQueryReq); logger.info("日报系统-员工管理-根据登录人分页查询员工信息结果:{}", JSONObject.toJSON(result)); return result; } }