jiangping
2023-08-14 28dbf0501428eba7ff733c5d7687e11171319db0
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();