Kaynağa Gözat

奖金核销接口修改

QuYueTing 2 hafta önce
ebeveyn
işleme
99bcb681c2

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ContractBonusSummaryController.java

@@ -19,10 +19,10 @@ public class ContractBonusSummaryController {
 
     /**获取奖金概要数据*/
     @PostMapping("/getBonusSummary")
-    public HttpRespMsg getBonusSummary(@RequestParam(value = "ym")String ym, HttpServletRequest request){
+    public HttpRespMsg getBonusSummary(@RequestParam(value = "ym")String ym, Boolean isNegative, String bonusType,HttpServletRequest request){
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         try {
-            httpRespMsg = contractBonusSummaryService.getBonusSummary(ym,request);
+            httpRespMsg = contractBonusSummaryService.getBonusSummary(ym, isNegative, bonusType, request);
         } catch (Exception e) {
             e.printStackTrace();
             httpRespMsg.setError(MessageUtils.message("other.error"));

+ 6 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ContractBonusSummary.java

@@ -90,6 +90,12 @@ public class ContractBonusSummary extends Model<ContractBonusSummary> {
     @TableField("is_negative")
     private Boolean isNegative;
 
+    @TableField(exist = false)
+    private String jobNumber;
+
+    @TableField(exist = false)
+    private String userName;
+
 
     @Override
     protected Serializable pkVal() {

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ContractBonusSummaryMapper.java

@@ -10,5 +10,5 @@ import java.util.List;
 public interface ContractBonusSummaryMapper extends BaseMapper<ContractBonusSummary> {
     void batchInsertByImportData(@Param("toAddList") List<ContractBonusSummary> toAddSummaryList);
 
-    List<ContractBonusSummaryVO> getBonusSummary(@Param("ym") String ym, @Param("companyId") Integer companyId);
+    List<ContractBonusSummaryVO> getBonusSummary(@Param("ym") String ym, @Param("companyId") Integer companyId, Boolean isNegative, String bonusType);
 }

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ContractBonusSummaryService.java

@@ -7,7 +7,7 @@ import com.management.platform.util.HttpRespMsg;
 import javax.servlet.http.HttpServletRequest;
 
 public interface ContractBonusSummaryService extends IService<ContractBonusSummary> {
-    HttpRespMsg getBonusSummary(String ym, HttpServletRequest request);
+    HttpRespMsg getBonusSummary(String ym, Boolean isNegative, String bonusType, HttpServletRequest request);
 
     HttpRespMsg deleteBonusSummary(String ids, HttpServletRequest request);
 

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ContractBonusDetailServiceImpl.java

@@ -451,7 +451,7 @@ public class ContractBonusDetailServiceImpl extends ServiceImpl<ContractBonusDet
         if(null ==user){
             httpRespMsg.setError("登录凭证有误,请联系管理员");
         }
-        List<ProjectContractBonusExcelHead> contractProjectBonusList=contractBonusDetailMapper.getExportContractProjectBonusForSpecial(year,user.getCompanyId(),null, null);
+        List<ProjectContractBonusExcelHead> contractProjectBonusList=contractBonusDetailMapper.getExportContractProjectBonusForSpecial(year,user.getCompanyId(),isNegative, bonusType);
         httpRespMsg.setData(contractProjectBonusList);
         return httpRespMsg;
     }

+ 22 - 5
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ContractBonusSummaryServiceImpl.java

@@ -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;
     }

+ 6 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ContractBonusSummaryMapper.xml

@@ -41,6 +41,12 @@
             cbs.year = substr(#{ym},1,4)  and cbs.company_id = #{companyId}
           and substr(cbs.start_ym,6,7) &lt;= substr(#{ym},6,7)
           and substr(cbs.end_ym,6,7) &gt;= substr(#{ym},6,7)
+            <if test="isNegative != null">
+                and is_negative = #{isNegative}
+            </if>
+            <if test="bonusType != null">
+                and bonus_type = #{bonusType}
+            </if>
         order by cbs.user_id
     </select>
 </mapper>