1.1.74 新增按合同查询累计回款比例最大的开票单累计回款金额接口。

dev
yinq 1 week ago
parent e57a16b0d6
commit 178035f20c

@ -142,6 +142,17 @@ public class ErpFinInvoiceInfoController extends BaseController {
return R.ok(list);
}
/**
*
*/
@SaCheckPermission("oa/erp:finInvoiceInfo:query")
@GetMapping("/getMaxReturnedMoneyByContractId/{contractId}")
public R<java.math.BigDecimal> getMaxReturnedMoneyByContractId(@NotNull(message = "contractId不能为空")
@PathVariable("contractId") Long contractId,
@RequestParam(required = false) Long excludeInvoiceId) {
return R.ok(erpFinInvoiceInfoService.getMaxReturnedMoneyByContractId(contractId, excludeInvoiceId));
}
/**
*

@ -8,6 +8,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.Collection;
import java.util.List;
@ -83,4 +84,13 @@ public interface IErpFinInvoiceInfoService {
* @return
*/
public Boolean updateInvoiceAttachByBo(ErpFinInvoiceInfoBo bo);
/**
*
*
* @param contractId ID
* @param excludeInvoiceId ID使
* @return 0
*/
BigDecimal getMaxReturnedMoneyByContractId(Long contractId, Long excludeInvoiceId);
}

@ -378,6 +378,32 @@ public class ErpFinInvoiceInfoServiceImpl extends AbstractWorkflowService<ErpFin
return erpContractPaymentMethodVoList;
}
/**
*
*/
@Override
public BigDecimal getMaxReturnedMoneyByContractId(Long contractId, Long excludeInvoiceId) {
if (contractId == null) {
return ZERO;
}
LambdaQueryWrapper<ErpFinInvoiceInfo> qw = Wrappers.lambdaQuery(ErpFinInvoiceInfo.class)
.eq(ErpFinInvoiceInfo::getContractId, contractId)
.eq(ErpFinInvoiceInfo::getDelFlag, DataConstants.DEL_FLAG_NORMAL)
.ne(ErpFinInvoiceInfo::getInvoiceStatus, OAStatusEnum.INVALID.getStatus())
.isNotNull(ErpFinInvoiceInfo::getReturnedRate)
.orderByDesc(ErpFinInvoiceInfo::getReturnedRate)
.orderByDesc(ErpFinInvoiceInfo::getInvoiceId)
.last("LIMIT 1");
if (excludeInvoiceId != null) {
qw.ne(ErpFinInvoiceInfo::getInvoiceId, excludeInvoiceId);
}
ErpFinInvoiceInfo invoiceInfo = baseMapper.selectOne(qw);
if (invoiceInfo == null || invoiceInfo.getReturnedMoney() == null) {
return ZERO;
}
return invoiceInfo.getReturnedMoney();
}
/**
*

Loading…
Cancel
Save