From 3eca8e4741b06c6049fedccd5c0dea4e01b7aa5c Mon Sep 17 00:00:00 2001 From: jiaosong <jiaosong6760@dingtalk.com> Date: 星期一, 14 八月 2023 15:19:41 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordExtServiceImpl.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 51 insertions(+), 0 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 0cdce35..e121285 100644 --- a/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordExtServiceImpl.java +++ b/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordExtServiceImpl.java @@ -141,6 +141,42 @@ } return PageData.from(new PageInfo<>(result)); } + @Override + public PageData<SalaryStatisticsListVO> salaryStatistic(PageWrap<QuerySalaryStatisticDTO> 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(); + 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); + } + } + return PageData.from(new PageInfo<>(result)); + } private void initProUser(LoginUserInfo user, WorkorderRecordExtListVO data, List<DepartmentExtListVO> allDepartList) { if(data.getCreateUser() ==null){ @@ -157,6 +193,21 @@ data.setProcedureName(comp.getName()+"-"+dName); } } + private void initProUser(LoginUserInfo user, SalaryStatisticsListVO data, List<DepartmentExtListVO> allDepartList) { + if(data.getUserId() ==null){ + return; + } + CompanyUser query=new CompanyUser(); + query.setUserId(data.getUserId()); + query.setRootDepartId(user.getRootDepartment().getId()); + query.setDeleted(Constants.ZERO); + CompanyUser comp= companyUserExtMapper.selectOne(new QueryWrapper<>(query).last(" limit 1")); + if(comp!=null){ + DepartmentExtListVO d = departmentExtService.getModelById(user.getCompany().getId(),comp.getDepartmentId(),allDepartList); + String dName =d==null?"":StringUtils.defaultString(d.getName(),""); + data.setUserName(comp.getName()+"-"+dName); + } + } @Override public List<WorkorderRecordExtListVO> findAll(QueryWorkorderRecordExtDTO pageWrap) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); -- Gitblit v1.9.3