From f2343d4e86b4dfe53122a1bd62d7d2f263c3ed3d Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 14 八月 2023 15:51:23 +0800
Subject: [PATCH] 新增员工绩效分页查询接口

---
 server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordExtServiceImpl.java |   61 +++++++++++++++++++-----------
 1 files changed, 38 insertions(+), 23 deletions(-)

diff --git a/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordExtServiceImpl.java b/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordExtServiceImpl.java
index e121285..6b36bd8 100644
--- a/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordExtServiceImpl.java
+++ b/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordExtServiceImpl.java
@@ -149,30 +149,37 @@
         }
         //鍙兘鏌ョ湅褰撳墠鏍圭粍缁囩殑鏁版嵁
         pageWrap.getModel().setRootDepartId(user.getRootDepartment().getId());
-        pageWrap.getModel().setRootDepartId(user.getRootDepartment().getId());
         PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity());
-
-        //鏁版嵁鏉冮檺
-        List<Integer> dataPermission = user.getDepartPermissionList();
-        if(dataPermission!=null){
-//            pageWrap.getModel().setUserId(user.getId());
-//            pageWrap.getModel().setDepartIds(dataPermission);
-           /*if(dataPermission.size() == 0){
-                //鍙兘鐪嬭嚜宸辩殑(鐢熶骇浜哄憳淇℃伅锛�
-                //  pageWrap.getModel().setProUserId(user.getId());
-                //闇�姹傚彉鏇� 鏌ョ湅鏁版嵁鏉冮檺鑼冨洿鍐呯殑鏁版嵁锛堣蛋鍒涘缓浜烘垨鑰呯敓浜т汉鍛樹负鎴戞暟鎹潈闄愯寖鍥村唴锛夛紱
-                pageWrap.getModel().setCreateUser(user.getId());
-            }else{
-                //鍚﹀垯璧版暟鎹潈闄�
-                pageWrap.getModel().setDepartIds(dataPermission);
-            }*/
-        }
         List<SalaryStatisticsListVO> result = workorderRecordExtMapper.salaryStatistic(pageWrap.getModel());
         if(result!=null){
             List<DepartmentExtListVO> allDepartList = RedisUtil.getObject(redisTemplate,Constants.RedisKeys.COM_DEPART_LIST_KEY+user.getCompany().getId(),ArrayList.class);
             for(SalaryStatisticsListVO model : result){
                 //鏌ヨ鐢熶骇浜哄憳濮撳悕
-                initProUser(user,model,allDepartList);
+//                model.setUserName(initProUser(user,model.getUserId(),allDepartList));
+                    model.setUserInfo(initProUser(user,model.getUserId(),allDepartList));
+            }
+        }
+        return PageData.from(new PageInfo<>(result));
+    }
+    @Override
+    public  PageData<UserSalaryListVO> userSalaryPage(PageWrap<QueryUserSalaryListDTO> pageWrap) {
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        if(!Constants.equalsInteger(user.getType(),Constants.USERTYPE.COM)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝鎮ㄦ棤鏉冮檺杩涜璇ユ搷浣滐紒");
+        }
+        //鍙兘鏌ョ湅褰撳墠鏍圭粍缁囩殑鏁版嵁
+        pageWrap.getModel().setRootDepartId(user.getRootDepartment().getId());
+        pageWrap.getModel().setRootDepartId(user.getRootDepartment().getId());
+        PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity());
+
+        //鏁版嵁鏉冮檺
+        List<Integer> dataPermission = user.getDepartPermissionList();
+        List<UserSalaryListVO> result = workorderRecordExtMapper.userSalaryPage(pageWrap.getModel());
+        if(result!=null){
+            List<DepartmentExtListVO> allDepartList = RedisUtil.getObject(redisTemplate,Constants.RedisKeys.COM_DEPART_LIST_KEY+user.getCompany().getId(),ArrayList.class);
+            for(UserSalaryListVO model : result){
+                //鏌ヨ鐢熶骇浜哄憳濮撳悕
+                model.setUserInfo(initProUser(user,model.getUserId(),allDepartList));
             }
         }
         return PageData.from(new PageInfo<>(result));
@@ -193,20 +200,28 @@
             data.setProcedureName(comp.getName()+"-"+dName);
         }
     }
-    private void initProUser(LoginUserInfo user, SalaryStatisticsListVO data, List<DepartmentExtListVO> allDepartList) {
-        if(data.getUserId() ==null){
-            return;
+    private UserBaseInfoVO initProUser(LoginUserInfo user, Integer userId, List<DepartmentExtListVO> allDepartList) {
+        if(userId ==null){
+            return null;
         }
+
         CompanyUser query=new CompanyUser();
-        query.setUserId(data.getUserId());
+        query.setUserId(userId);
         query.setRootDepartId(user.getRootDepartment().getId());
         query.setDeleted(Constants.ZERO);
         CompanyUser comp= companyUserExtMapper.selectOne(new QueryWrapper<>(query).last(" limit 1"));
         if(comp!=null){
+            UserBaseInfoVO userinfo = new UserBaseInfoVO();
             DepartmentExtListVO d = departmentExtService.getModelById(user.getCompany().getId(),comp.getDepartmentId(),allDepartList);
             String dName =d==null?"":StringUtils.defaultString(d.getName(),"");
-            data.setUserName(comp.getName()+"-"+dName);
+            userinfo.setNameAndDepart (comp.getName()+"-"+dName);
+            userinfo.setDepartId(d.getId());
+            userinfo.setUserId(userId);
+            userinfo.setUserName(comp.getName());
+            userinfo.setDepartName(d.getName());
+            return  userinfo;
         }
+        return null;
     }
     @Override
     public List<WorkorderRecordExtListVO> findAll(QueryWorkorderRecordExtDTO pageWrap) {

--
Gitblit v1.9.3