فهرست منبع

补助设置功能增加用户信息字典显示,修改功能逻辑完善

huzhe 1 سال پیش
والد
کامیت
5a64d0308b

+ 2 - 1
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/cardCenter/domain/vo/PtSubsidyitemVo.java

@@ -120,8 +120,9 @@ public class PtSubsidyitemVo implements Serializable {
     @ExcelProperty(value = "备注")
     private String remark;
 
-    @ExcelProperty(value = "创建人")
     private Long createBy;
+    @ExcelProperty(value = "创建人")
+    private String createByName;
 
     @ExcelProperty(value = "创建时间")
     private Date createTime;

+ 13 - 1
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/cardCenter/service/impl/PtSubsidyServiceImpl.java

@@ -118,7 +118,8 @@ public class PtSubsidyServiceImpl implements IPtSubsidyService {
         if(flag){
             List<PtSubsidyitemBo> subsidyitemBoList = bo.getSubsidyitemBoList();
             subsidyitemBoList.stream().forEach(subsidyitemBo ->{
-                if(subsidyitemBo.getMainId() == null){
+                setSubsidyInfo(subsidyitemBo, bo);
+                if(subsidyitemBo.getItemId() == null){
                     subsidyitemBo.setMainId(bo.getMainId());
                     subsidyitemService.insertByBo(subsidyitemBo);
                 }else {
@@ -129,6 +130,17 @@ public class PtSubsidyServiceImpl implements IPtSubsidyService {
         return flag;
     }
 
+    /**
+     * 设置补助明细中的补助信息
+     * @param item
+     * @param bo
+     */
+    private void setSubsidyInfo(PtSubsidyitemBo item, PtSubsidyBo bo){
+        item.setMainId(bo.getMainId());
+        item.setSubsidyType(bo.getSubsidyType());
+        item.setFillMoney(bo.getFillMoney());
+        item.setFillDate(bo.getFillDate());
+    }
     /**
      * 保存前的数据校验
      */

+ 30 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/cardCenter/service/impl/PtSubsidyitemServiceImpl.java

@@ -1,5 +1,12 @@
 package org.dromara.backstage.cardCenter.service.impl;
 
+import org.dromara.backstage.basics.domain.bo.PtAccountBo;
+import org.dromara.backstage.basics.domain.vo.PtAccountVo;
+import org.dromara.backstage.basics.mapper.PtAccountMapper;
+import org.dromara.backstage.basics.service.IPtAccountService;
+import org.dromara.backstage.payment.domain.PtUserAccount;
+import org.dromara.backstage.payment.domain.vo.PtUserAccountVo;
+import org.dromara.backstage.payment.mapper.PtUserAccountMapper;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -18,6 +25,11 @@ import org.dromara.backstage.cardCenter.service.IPtSubsidyitemService;
 import java.util.List;
 import java.util.Map;
 import java.util.Collection;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+import static java.util.stream.Collectors.toMap;
+import static java.util.stream.Collectors.toSet;
 
 /**
  * 补助明细Service业务层处理
@@ -30,6 +42,7 @@ import java.util.Collection;
 public class PtSubsidyitemServiceImpl implements IPtSubsidyitemService {
 
     private final PtSubsidyitemMapper baseMapper;
+    private final PtUserAccountMapper userAccountMapper;
 
 
     /**
@@ -54,9 +67,26 @@ public class PtSubsidyitemServiceImpl implements IPtSubsidyitemService {
     public TableDataInfo<PtSubsidyitemVo> queryPageList(PtSubsidyitemBo bo, PageQuery pageQuery) {
         LambdaQueryWrapper<PtSubsidyitem> lqw = buildQueryWrapper(bo);
         Page<PtSubsidyitemVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        addUserInfo(result.getRecords());
         return TableDataInfo.build(result);
     }
 
+    /**
+     * 补充人员信息
+     * @param subsidyitemVoList
+     */
+    private void addUserInfo(List<PtSubsidyitemVo> subsidyitemVoList){
+        Set<Long> userIds = subsidyitemVoList.stream().map(PtSubsidyitemVo::getCreateBy).collect(toSet());
+        if(userIds.size() > 0){
+            List<PtUserAccountVo> userAccountVos =
+                userAccountMapper.selectVoList(Wrappers.lambdaQuery(PtUserAccount.class).in(PtUserAccount::getUserId,
+                    userIds));
+            Map<Long, String> userMap = userAccountVos.stream().collect(toMap(PtUserAccountVo::getUserId,
+                PtUserAccountVo::getRealName));
+            subsidyitemVoList.forEach(e -> e.setCreateByName(userMap.get(e.getCreateBy())));
+        }
+    }
+
     /**
      * 查询符合条件的补助明细列表
      *