|
@@ -7,15 +7,18 @@ import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.fjhx.account.entity.account.po.AccountPayment;
|
|
import com.fjhx.account.entity.account.po.AccountPayment;
|
|
|
|
+import com.fjhx.account.entity.account.po.AccountSubjects;
|
|
import com.fjhx.account.entity.calculate.po.CalculateItem;
|
|
import com.fjhx.account.entity.calculate.po.CalculateItem;
|
|
import com.fjhx.account.entity.calculate.vo.CalculateItemVo;
|
|
import com.fjhx.account.entity.calculate.vo.CalculateItemVo;
|
|
import com.fjhx.account.service.account.AccountPaymentService;
|
|
import com.fjhx.account.service.account.AccountPaymentService;
|
|
|
|
+import com.fjhx.account.service.account.AccountSubjectsService;
|
|
import com.fjhx.account.service.calculate.CalculateItemService;
|
|
import com.fjhx.account.service.calculate.CalculateItemService;
|
|
import com.fjhx.account.service.payee.PayeeInfoService;
|
|
import com.fjhx.account.service.payee.PayeeInfoService;
|
|
import com.fjhx.account.service.payment.PaymentTypeService;
|
|
import com.fjhx.account.service.payment.PaymentTypeService;
|
|
import com.fjhx.common.controller.Label;
|
|
import com.fjhx.common.controller.Label;
|
|
import com.fjhx.common.enums.FlowStatusEnum1;
|
|
import com.fjhx.common.enums.FlowStatusEnum1;
|
|
import com.fjhx.common.service.logistics.LogisticsCompanyInfoService;
|
|
import com.fjhx.common.service.logistics.LogisticsCompanyInfoService;
|
|
|
|
+import com.fjhx.common.utils.Assert;
|
|
import com.fjhx.customer.service.customer.CustomerService;
|
|
import com.fjhx.customer.service.customer.CustomerService;
|
|
import com.fjhx.file.utils.ObsFileUtil;
|
|
import com.fjhx.file.utils.ObsFileUtil;
|
|
import com.fjhx.flow.entity.flow.po.FlowExample;
|
|
import com.fjhx.flow.entity.flow.po.FlowExample;
|
|
@@ -94,6 +97,8 @@ public class CostControlServiceImpl extends ServiceImpl<CostControlMapper, CostC
|
|
private ShopInfoService shopInfoService;
|
|
private ShopInfoService shopInfoService;
|
|
@Autowired
|
|
@Autowired
|
|
private PayeeInfoService payeeInfoService;
|
|
private PayeeInfoService payeeInfoService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private AccountSubjectsService accountSubjectsService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Page<CostControlVo> getPage(CostControlSelectDto dto) {
|
|
public Page<CostControlVo> getPage(CostControlSelectDto dto) {
|
|
@@ -128,6 +133,7 @@ public class CostControlServiceImpl extends ServiceImpl<CostControlMapper, CostC
|
|
@Override
|
|
@Override
|
|
public CostControlVo detail(Long id) {
|
|
public CostControlVo detail(Long id) {
|
|
CostControl costControl = this.getById(id);
|
|
CostControl costControl = this.getById(id);
|
|
|
|
+ Assert.notEmpty(costControl, "查询不到费控信息");
|
|
CostControlVo result = BeanUtil.toBean(costControl, CostControlVo.class);
|
|
CostControlVo result = BeanUtil.toBean(costControl, CostControlVo.class);
|
|
|
|
|
|
//赋值详情
|
|
//赋值详情
|
|
@@ -180,20 +186,37 @@ public class CostControlServiceImpl extends ServiceImpl<CostControlMapper, CostC
|
|
result.setCostControlDetailList(costControlDetailVos);
|
|
result.setCostControlDetailList(costControlDetailVos);
|
|
|
|
|
|
//赋值核算项目
|
|
//赋值核算项目
|
|
|
|
+ Map<Long, List<CalculateItemVo>> ciMap = new HashMap<>();
|
|
List<Long> ccdIds = costControlDetailVos.stream().map(CostControlDetail::getId).collect(Collectors.toList());
|
|
List<Long> ccdIds = costControlDetailVos.stream().map(CostControlDetail::getId).collect(Collectors.toList());
|
|
List<CalculateItemVo> ciList = calculateItemService.getList(IWrapper.getWrapper().in(CalculateItem::getCostControlDetailId, ccdIds));
|
|
List<CalculateItemVo> ciList = calculateItemService.getList(IWrapper.getWrapper().in(CalculateItem::getCostControlDetailId, ccdIds));
|
|
- if (ObjectUtil.isEmpty(ciList)) {
|
|
|
|
- return;
|
|
|
|
|
|
+ if (ObjectUtil.isNotEmpty(ciList)) {
|
|
|
|
+ //赋值客户信息
|
|
|
|
+ customerService.attributeAssign(ciList, CalculateItem::getBusinessId, (item, customer) -> {
|
|
|
|
+ item.setCustomerName(customer.getName());
|
|
|
|
+ });
|
|
|
|
+ ciMap = ciList.stream().collect(Collectors.groupingBy(CalculateItem::getCostControlDetailId));
|
|
}
|
|
}
|
|
- //赋值客户信息
|
|
|
|
- customerService.attributeAssign(ciList, CalculateItem::getBusinessId, (item, customer) -> {
|
|
|
|
- item.setCustomerName(customer.getName());
|
|
|
|
- });
|
|
|
|
- Map<Long, List<CalculateItemVo>> ciMap = ciList.stream().collect(Collectors.groupingBy(CalculateItem::getCostControlDetailId));
|
|
|
|
|
|
+ //赋值记账科目信息
|
|
|
|
+ Map<Long, AccountSubjects> accountSubjectsMap = accountSubjectsService.mapKEntity(AccountSubjects::getId, q -> q.orderByAsc(AccountSubjects::getId));
|
|
|
|
+
|
|
|
|
|
|
- //赋值核算项目
|
|
|
|
for (CostControlDetailVo costControlDetailVo : costControlDetailVos) {
|
|
for (CostControlDetailVo costControlDetailVo : costControlDetailVos) {
|
|
|
|
+ //赋值核算项目
|
|
costControlDetailVo.setCalculateItemList(ciMap.getOrDefault(costControlDetailVo.getId(), new ArrayList<>()));
|
|
costControlDetailVo.setCalculateItemList(ciMap.getOrDefault(costControlDetailVo.getId(), new ArrayList<>()));
|
|
|
|
+
|
|
|
|
+ //赋值记账科目树
|
|
|
|
+ int iCount = 0;
|
|
|
|
+ List<String> subjectsNameGroup = new ArrayList<>();
|
|
|
|
+ AccountSubjects accountSubjects = accountSubjectsMap.get(costControlDetailVo.getAccountSubjectsId());
|
|
|
|
+ if (ObjectUtil.isNotEmpty(accountSubjects)) {
|
|
|
|
+ costControlDetailVo.setAccountSubjectsName(accountSubjects.getSubjectsName());
|
|
|
|
+ }
|
|
|
|
+ while (accountSubjects != null && iCount < 50) {
|
|
|
|
+ iCount++;
|
|
|
|
+ subjectsNameGroup.add(0, accountSubjects.getSubjectsName());
|
|
|
|
+ accountSubjects = accountSubjectsMap.get(accountSubjects.getParentId());
|
|
|
|
+ }
|
|
|
|
+ costControlDetailVo.setAccountSubjectsNames(subjectsNameGroup.stream().collect(Collectors.joining(" / ")));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|