|
@@ -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) {
|