|
@@ -1,6 +1,7 @@
|
|
|
package com.management.platform.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.management.platform.entity.ContractBonusDetail;
|
|
|
import com.management.platform.entity.ContractBonusSummary;
|
|
@@ -24,6 +25,8 @@ import java.time.LocalDateTime;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
public class ContractBonusSummaryServiceImpl extends ServiceImpl<ContractBonusSummaryMapper, ContractBonusSummary> implements ContractBonusSummaryService{
|
|
@@ -37,14 +40,14 @@ public class ContractBonusSummaryServiceImpl extends ServiceImpl<ContractBonusSu
|
|
|
private UserMapper userMapper;
|
|
|
|
|
|
@Override
|
|
|
- public HttpRespMsg getBonusSummary(String ym, HttpServletRequest request) {
|
|
|
+ public HttpRespMsg getBonusSummary(String ym, Boolean isNegative, String bonusType, HttpServletRequest request) {
|
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
|
User user = userMapper.selectById(request.getHeader("TOKEN"));
|
|
|
if(null ==user){
|
|
|
httpRespMsg.setError("登录凭证有误,请联系管理员");
|
|
|
return httpRespMsg;
|
|
|
}
|
|
|
- List<ContractBonusSummaryVO> resList = contractBonusSummaryMapper.getBonusSummary(ym,user.getCompanyId());
|
|
|
+ List<ContractBonusSummaryVO> resList = contractBonusSummaryMapper.getBonusSummary(ym,user.getCompanyId(), isNegative, bonusType);
|
|
|
httpRespMsg.setData(resList);
|
|
|
return httpRespMsg;
|
|
|
}
|
|
@@ -138,9 +141,23 @@ public class ContractBonusSummaryServiceImpl extends ServiceImpl<ContractBonusSu
|
|
|
public HttpRespMsg getBonusSummaryByYear(String year, String bonusType, HttpServletRequest request) {
|
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
|
User user = userMapper.selectById(request.getHeader("TOKEN"));
|
|
|
- List<ContractBonusSummary> resList = contractBonusSummaryMapper.selectList(
|
|
|
- new LambdaQueryWrapper<ContractBonusSummary>().eq(ContractBonusSummary::getYear,year).eq(ContractBonusSummary::getBonusType,bonusType)
|
|
|
- .eq(ContractBonusSummary::getCompanyId,user.getCompanyId()).eq(ContractBonusSummary::getIsNegative,false));
|
|
|
+ LambdaQueryWrapper<ContractBonusSummary> queryWrapper = new LambdaQueryWrapper<ContractBonusSummary>().eq(ContractBonusSummary::getYear,year)
|
|
|
+ .eq(ContractBonusSummary::getCompanyId,user.getCompanyId()).eq(ContractBonusSummary::getIsNegative,false);
|
|
|
+
|
|
|
+ if (StringUtils.isNotBlank(bonusType)) {
|
|
|
+ queryWrapper.eq(ContractBonusSummary::getBonusType,bonusType);
|
|
|
+ }
|
|
|
+ List<ContractBonusSummary> resList = contractBonusSummaryMapper.selectList(queryWrapper);
|
|
|
+ //填充userName和jobNumber;
|
|
|
+ List<String> userIds = resList.stream().map(ContractBonusSummary::getUserId).collect(Collectors.toList());
|
|
|
+ if (userIds.size() > 0) {
|
|
|
+ List<User> users = userMapper.selectBatchIds(userIds);
|
|
|
+ Map<String, User> userMap = users.stream().collect(Collectors.toMap(User::getId, userItem -> userItem));
|
|
|
+ for (ContractBonusSummary contractBonusSummary : resList) {
|
|
|
+ contractBonusSummary.setUserName(userMap.get(contractBonusSummary.getUserId()).getName());
|
|
|
+ contractBonusSummary.setJobNumber(userMap.get(contractBonusSummary.getUserId()).getJobNumber());
|
|
|
+ }
|
|
|
+ }
|
|
|
httpRespMsg.setData(resList);
|
|
|
return httpRespMsg;
|
|
|
}
|