| | |
| | | } |
| | | 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()); |
| | | PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | 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){ |
| | | //查询生产人员姓名 |
| | | // model.setUserName(initProUser(user,model.getUserId(),allDepartList)); |
| | | model.setUserInfo(initProUser(user,model.getUserId(),allDepartList)); |
| | | model.setJijianSalary(model.getJijianSalary().divide(new BigDecimal("100"),2,BigDecimal.ROUND_HALF_UP)); |
| | | model.setJishiSalary(model.getJishiSalary().divide(new BigDecimal("100"),2,BigDecimal.ROUND_HALF_UP)); |
| | | model.setTotalSalary(model.getTotalSalary().divide(new BigDecimal("100"),2,BigDecimal.ROUND_HALF_UP)); |
| | | } |
| | | } |
| | | 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)); |
| | | if(Constants.formatBigdecimal4Float(model.getNum()).compareTo(new BigDecimal(0))>0){ |
| | | model.setRate(Constants.formatBigdecimal4Float(model.getQualifiedNum()).divide(model.getNum(),4).multiply(new BigDecimal(100))); |
| | | } |
| | | } |
| | | } |
| | | return PageData.from(new PageInfo<>(result)); |
| | | } |
| | | |
| | | private void initProUser(LoginUserInfo user, WorkorderRecordExtListVO data, List<DepartmentExtListVO> allDepartList) { |
| | | if(data.getCreateUser() ==null){ |
| | |
| | | String dName =d==null?"":StringUtils.defaultString(d.getName(),""); |
| | | data.setProcedureName(comp.getName()+"-"+dName); |
| | | } |
| | | } |
| | | private UserBaseInfoVO initProUser(LoginUserInfo user, Integer userId, List<DepartmentExtListVO> allDepartList) { |
| | | if(userId ==null){ |
| | | return null; |
| | | } |
| | | |
| | | CompanyUser query=new CompanyUser(); |
| | | 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(),""); |
| | | 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) { |
| | |
| | | |
| | | |
| | | @Override |
| | | public void exportUserSalary(PageWrap<QueryUserSalaryListDTO> pageWrap, HttpServletResponse response) { |
| | | List<UserSalaryListVO> result=this.userSalaryPage(pageWrap).getRecords(); |
| | | for(UserSalaryListVO model : result) { |
| | | if(model.getUserInfo()!=null){ |
| | | model.setUserName(model.getUserInfo().getUserName()); |
| | | model.setDepartName(model.getUserInfo().getDepartName()); |
| | | } |
| | | } |
| | | ExcelExporter.build(UserSalaryListVO.class).export(result, "员工绩效明细"+System.currentTimeMillis(), response); |
| | | |
| | | } |
| | | @Override |
| | | public void exportSalaryStatistics(PageWrap<QuerySalaryStatisticDTO> pageWrap, HttpServletResponse response){ |
| | | List<SalaryStatisticsListVO> result=this.salaryStatistic(pageWrap).getRecords(); |
| | | for(SalaryStatisticsListVO model : result) { |
| | | if(model.getUserInfo()!=null){ |
| | | model.setUserName(model.getUserInfo().getUserName()); |
| | | model.setDepartName(model.getUserInfo().getDepartName()); |
| | | } |
| | | } |
| | | ExcelExporter.build(SalaryStatisticsListVO.class).export(result, "工资报表"+System.currentTimeMillis(), response); |
| | | |
| | | } |
| | | @Override |
| | | public void exportExcel(PageWrap<QueryWorkorderRecordExtDTO> pageWrap, HttpServletResponse response) { |
| | | List<WorkorderRecordExtListVO> result=this.findPage(pageWrap).getRecords(); |
| | | SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); |