|
@@ -2353,6 +2353,66 @@ public class TFeeServiceImpl implements ITFeeService {
|
|
return detailExcelList;
|
|
return detailExcelList;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public AjaxResult financialLedgerDetailsTotal(FeeDTO feeDTO) {
|
|
|
|
+ feeDTO.setFToCorpid(feeDTO.getFCorpId());
|
|
|
|
+ feeDTO.setFCorpId(null);
|
|
|
|
+ List<FeeVO> feeVOList = tFeeMapper.selectFinancialLedgerDetails(feeDTO);
|
|
|
|
+
|
|
|
|
+ feeDTO.setFDc("D");
|
|
|
|
+ List<FeeVO> feeVOListD = tFeeMapper.selectFinancialLedgerDetails(feeDTO);
|
|
|
|
+
|
|
|
|
+ feeDTO.setFDc("C");
|
|
|
|
+ List<FeeVO> feeVOListC = tFeeMapper.selectFinancialLedgerDetails(feeDTO);
|
|
|
|
+
|
|
|
|
+ if (CollectionUtils.isNotEmpty(feeVOList)) {
|
|
|
|
+ List<FeeVO> voList = new ArrayList<>();
|
|
|
|
+ Map<Long, List<FeeVO>> map = feeVOList.stream().collect(Collectors.groupingBy(FeeVO::getFSrcpid));
|
|
|
|
+ map.forEach((key, value) -> {
|
|
|
|
+
|
|
|
|
+ FeeVO feeVOD = feeVOListD.stream().filter(e -> e.getFSrcpid().equals(key)).findFirst().orElse(null);
|
|
|
|
+
|
|
|
|
+ FeeVO feeVOC = feeVOListC.stream().filter(e -> e.getFSrcpid().equals(key)).findFirst().orElse(null);
|
|
|
|
+
|
|
|
|
+ FeeVO vo = new FeeVO();
|
|
|
|
+ FeeVO feeVO = value.stream().findFirst().orElseThrow(() ->
|
|
|
|
+ new WarehouseException("获取费用异常"));
|
|
|
|
+ BeanUtils.copyProperties(feeVO, vo);
|
|
|
|
+ BigDecimal D = new BigDecimal("0.00");
|
|
|
|
+ BigDecimal C = new BigDecimal("0.00");
|
|
|
|
+ if (ObjectUtils.isNotNull(feeVOD)){
|
|
|
|
+ if(ObjectUtils.isNotNull(feeVOD.getFAmount())){
|
|
|
|
+ D = feeVOD.getFAmount();
|
|
|
|
+ vo.setReceivableAmount(feeVOD.getFAmount());
|
|
|
|
+ }else{
|
|
|
|
+ vo.setReceivableAmount(D);
|
|
|
|
+ }
|
|
|
|
+ vo.setReceivableFQty(feeVOD.getFQty());
|
|
|
|
+ vo.setReceivablePrice(feeVOD.getPrice());
|
|
|
|
+ WarehouseTypeEnum storageType = WarehouseTypeEnum.fromTypeAndBusinessType(feeVOD.getfBilltype(), "storageType");
|
|
|
|
+ vo.setfBilltype(storageType.getName());
|
|
|
|
+ vo.setFBillingDays(feeVOD.getFBillingDays());
|
|
|
|
+ }
|
|
|
|
+ if (ObjectUtils.isNotNull(feeVOC)){
|
|
|
|
+ if(ObjectUtils.isNotNull(feeVOC.getFAmount())){
|
|
|
|
+ C = feeVOC.getFAmount();
|
|
|
|
+ vo.setCopeWithAmount(feeVOC.getFAmount());
|
|
|
|
+ }else{
|
|
|
|
+ vo.setCopeWithAmount(C);
|
|
|
|
+ }
|
|
|
|
+ WarehouseTypeEnum storageType = WarehouseTypeEnum.fromTypeAndBusinessType(feeVOC.getfBilltype(), "storageType");
|
|
|
|
+ vo.setFBilltypeC(storageType.getName());
|
|
|
|
+ vo.setCopeWithFQty(feeVOC.getFQty());
|
|
|
|
+ vo.setCopeWithPrice(feeVOC.getPrice());
|
|
|
|
+ }
|
|
|
|
+ vo.setNnfinished(D.subtract(C));
|
|
|
|
+ voList.add(vo);
|
|
|
|
+ });
|
|
|
|
+ return AjaxResult.success(voList);
|
|
|
|
+ }
|
|
|
|
+ return AjaxResult.success(feeVOList);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public List<ReceivableExcel> receivable(TWareHouseFees tWareHouseFees) {
|
|
public List<ReceivableExcel> receivable(TWareHouseFees tWareHouseFees) {
|