|
@@ -6,6 +6,7 @@ import com.alibaba.fastjson2.JSONObject;
|
|
|
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.cost.dto.CostControlDetailDto;
|
|
|
import com.fjhx.account.entity.cost.dto.CostControlDto;
|
|
|
import com.fjhx.account.entity.cost.dto.CostControlSelectDto;
|
|
@@ -14,6 +15,7 @@ import com.fjhx.account.entity.cost.po.CostControlDetail;
|
|
|
import com.fjhx.account.entity.cost.vo.CostControlDetailVo;
|
|
|
import com.fjhx.account.entity.cost.vo.CostControlVo;
|
|
|
import com.fjhx.account.mapper.cost.CostControlMapper;
|
|
|
+import com.fjhx.account.service.calculate.CalculateItemService;
|
|
|
import com.fjhx.account.service.cost.CostControlDetailService;
|
|
|
import com.fjhx.account.service.cost.CostControlService;
|
|
|
import com.fjhx.account.service.payment.PaymentTypeService;
|
|
@@ -64,6 +66,8 @@ public class CostControlServiceImpl extends ServiceImpl<CostControlMapper, CostC
|
|
|
private PaymentTypeService paymentTypeService;
|
|
|
@Autowired
|
|
|
private StockJournalDetailsService stockJournalDetailsService;
|
|
|
+ @Autowired
|
|
|
+ private CalculateItemService calculateItemService;
|
|
|
|
|
|
@Override
|
|
|
public Page<CostControlVo> getPage(CostControlSelectDto dto) {
|
|
@@ -102,8 +106,19 @@ public class CostControlServiceImpl extends ServiceImpl<CostControlMapper, CostC
|
|
|
|
|
|
//赋值明细列表
|
|
|
List<CostControlDetailVo> costControlDetailVos = costControlDetailService.getList(IWrapper.getWrapper().eq(CostControlDetail::getCostControlId, result.getId()));
|
|
|
+ if (costControlDetailVos == null) {
|
|
|
+ costControlDetailVos = new ArrayList<>();
|
|
|
+ }
|
|
|
+ //赋值核算项目
|
|
|
+ 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));
|
|
|
+ for (CostControlDetailVo costControlDetailVo : costControlDetailVos) {
|
|
|
+ costControlDetailVo.setCalculateItemList(ciMap.getOrDefault(costControlDetailVo.getId(), new ArrayList<>()));
|
|
|
+ }
|
|
|
+
|
|
|
result.setCostControlDetailList(costControlDetailVos);
|
|
|
|
|
|
+
|
|
|
return result;
|
|
|
}
|
|
|
|
|
@@ -162,6 +177,11 @@ public class CostControlServiceImpl extends ServiceImpl<CostControlMapper, CostC
|
|
|
//保存发票附件
|
|
|
ObsFileUtil.editFile(costControlDetailDto.getInvoiceFileList(), costControlDetailDto.getId(), 10);
|
|
|
|
|
|
+ //保存核算项目
|
|
|
+ List<CalculateItem> calculateItemList = costControlDetailDto.getCalculateItemList();
|
|
|
+ calculateItemList.forEach(item -> item.setCostControlDetailId(costControlDetailDto.getId()));
|
|
|
+ calculateItemService.editLinked(calculateItemList, CalculateItem::getCostControlDetailId, costControlDetailDto.getId());
|
|
|
+
|
|
|
//标记流水为结算中
|
|
|
String stockJournalDetailsIds = costControlDetailDto.getStockJournalDetailsIds();
|
|
|
if (ObjectUtil.isNotEmpty(stockJournalDetailsIds)) {
|