Jelajahi Sumber

添加费控列表 客户数据赋值

yzc 1 tahun lalu
induk
melakukan
c3d31f89ba

+ 5 - 0
hx-account/src/main/java/com/fjhx/account/entity/calculate/vo/CalculateItemVo.java

@@ -14,4 +14,9 @@ import lombok.Setter;
 @Setter
 public class CalculateItemVo extends CalculateItem {
 
+    /**
+     * 客户名称
+     */
+    private String customerName;
+
 }

+ 3 - 0
hx-account/src/main/java/com/fjhx/account/entity/cost/po/CostControl.java

@@ -153,4 +153,7 @@ public class CostControl extends BasePo {
      */
     private String paymentAccountNumber;
 
+    @Label("关联合同信息")
+    private Long contractId;
+
 }

+ 2 - 2
hx-account/src/main/java/com/fjhx/account/entity/cost/vo/CostControlDetailVo.java

@@ -1,6 +1,6 @@
 package com.fjhx.account.entity.cost.vo;
 
-import com.fjhx.account.entity.calculate.po.CalculateItem;
+import com.fjhx.account.entity.calculate.vo.CalculateItemVo;
 import com.fjhx.account.entity.cost.po.CostControlDetail;
 import com.fjhx.common.controller.Label;
 import com.fjhx.file.entity.ObsFile;
@@ -79,5 +79,5 @@ public class CostControlDetailVo extends CostControlDetail {
     /**
      * 核算项目列表
      */
-    private List<CalculateItem> calculateItemList;
+    private List<CalculateItemVo> calculateItemList;
 }

+ 7 - 0
hx-account/src/main/java/com/fjhx/account/mapper/calculate/CalculateItemMapper.java

@@ -2,6 +2,11 @@ package com.fjhx.account.mapper.calculate;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fjhx.account.entity.calculate.po.CalculateItem;
+import com.fjhx.account.entity.calculate.vo.CalculateItemVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 
 /**
@@ -14,4 +19,6 @@ import com.fjhx.account.entity.calculate.po.CalculateItem;
  */
 public interface CalculateItemMapper extends BaseMapper<CalculateItem> {
 
+    List<CalculateItemVo> getList(@Param("ew") IWrapper<Object> wrapper);
+
 }

+ 7 - 0
hx-account/src/main/java/com/fjhx/account/service/calculate/CalculateItemService.java

@@ -1,7 +1,12 @@
 package com.fjhx.account.service.calculate;
 
 import com.fjhx.account.entity.calculate.po.CalculateItem;
+import com.fjhx.account.entity.calculate.vo.CalculateItemVo;
 import com.ruoyi.common.core.service.BaseService;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 
 /**
@@ -14,4 +19,6 @@ import com.ruoyi.common.core.service.BaseService;
  */
 public interface CalculateItemService extends BaseService<CalculateItem> {
 
+    List<CalculateItemVo> getList(@Param("ew") IWrapper<Object> wrapper);
+
 }

+ 8 - 0
hx-account/src/main/java/com/fjhx/account/service/calculate/impl/CalculateItemServiceImpl.java

@@ -2,10 +2,14 @@ package com.fjhx.account.service.calculate.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.account.entity.calculate.po.CalculateItem;
+import com.fjhx.account.entity.calculate.vo.CalculateItemVo;
 import com.fjhx.account.mapper.calculate.CalculateItemMapper;
 import com.fjhx.account.service.calculate.CalculateItemService;
+import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 
 /**
  * <p>
@@ -18,4 +22,8 @@ import org.springframework.stereotype.Service;
 @Service
 public class CalculateItemServiceImpl extends ServiceImpl<CalculateItemMapper, CalculateItem> implements CalculateItemService {
 
+    @Override
+    public List<CalculateItemVo> getList(IWrapper<Object> wrapper) {
+        return baseMapper.getList(wrapper);
+    }
 }

+ 27 - 8
hx-account/src/main/java/com/fjhx/account/service/cost/impl/CostControlServiceImpl.java

@@ -7,6 +7,7 @@ import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.account.entity.calculate.po.CalculateItem;
+import com.fjhx.account.entity.calculate.vo.CalculateItemVo;
 import com.fjhx.account.entity.cost.dto.CostControlDetailDto;
 import com.fjhx.account.entity.cost.dto.CostControlDto;
 import com.fjhx.account.entity.cost.dto.CostControlSelectDto;
@@ -22,6 +23,7 @@ import com.fjhx.account.service.payment.PaymentTypeService;
 import com.fjhx.common.controller.Label;
 import com.fjhx.common.enums.FlowStatusEnum1;
 import com.fjhx.common.service.logistics.LogisticsCompanyInfoService;
+import com.fjhx.customer.service.customer.CustomerService;
 import com.fjhx.file.utils.ObsFileUtil;
 import com.fjhx.flow.entity.flow.po.FlowExample;
 import com.fjhx.flow.enums.FlowStatusEnum;
@@ -68,6 +70,8 @@ public class CostControlServiceImpl extends ServiceImpl<CostControlMapper, CostC
     private StockJournalDetailsService stockJournalDetailsService;
     @Autowired
     private CalculateItemService calculateItemService;
+    @Autowired
+    private CustomerService customerService;
 
     @Override
     public Page<CostControlVo> getPage(CostControlSelectDto dto) {
@@ -105,21 +109,36 @@ public class CostControlServiceImpl extends ServiceImpl<CostControlMapper, CostC
         setInfo(Arrays.asList(result));
 
         //赋值明细列表
+        setDetailInfo(result);
+
+
+        return result;
+    }
+
+    private void setDetailInfo(CostControlVo result) {
+        //赋值明细列表
         List<CostControlDetailVo> costControlDetailVos = costControlDetailService.getList(IWrapper.getWrapper().eq(CostControlDetail::getCostControlId, result.getId()));
-        if (costControlDetailVos == null) {
-            costControlDetailVos = new ArrayList<>();
+        if (ObjectUtil.isEmpty(costControlDetailVos)) {
+            return;
         }
+        result.setCostControlDetailList(costControlDetailVos);
+
         //赋值核算项目
         List<Long> ccdIds = costControlDetailVos.stream().map(CostControlDetail::getId).collect(Collectors.toList());
-        Map<Long, List<CalculateItem>> ciMap = calculateItemService.mapKGroup(CalculateItem::getCostControlDetailId, q -> q.in(CalculateItem::getCostControlDetailId, ccdIds));
+        List<CalculateItemVo> ciList = calculateItemService.getList(IWrapper.getWrapper().in(CalculateItem::getCostControlDetailId, ccdIds));
+        if (ObjectUtil.isEmpty(ciList)) {
+            return;
+        }
+        //赋值客户信息
+        customerService.attributeAssign(ciList, CalculateItem::getBusinessId, (item, customer) -> {
+            item.setCustomerName(customer.getName());
+        });
+        Map<Long, List<CalculateItemVo>> ciMap = ciList.stream().collect(Collectors.groupingBy(CalculateItem::getCostControlDetailId));
+
+        //赋值核算项目
         for (CostControlDetailVo costControlDetailVo : costControlDetailVos) {
             costControlDetailVo.setCalculateItemList(ciMap.getOrDefault(costControlDetailVo.getId(), new ArrayList<>()));
         }
-
-        result.setCostControlDetailList(costControlDetailVos);
-
-
-        return result;
     }
 
     private void setInfo(List<CostControlVo> costControlVos) {

+ 4 - 0
hx-account/src/main/resources/mapper/calculate/CalculateItemMapper.xml

@@ -1,4 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fjhx.account.mapper.calculate.CalculateItemMapper">
+    <select id="getList" resultType="com.fjhx.account.entity.calculate.vo.CalculateItemVo">
+        SELECT *
+        FROM calculate_item ${ew.customSqlSegment}
+    </select>
 </mapper>