| | |
| | | return selectOne(CrmInvoiceDO::getNo, no); |
| | | } |
| | | |
| | | /** |
| | | * 清空发票录入人、录入时间(updateById 默认忽略 null 字段,清空需显式 update) |
| | | */ |
| | | default void clearEntryInfo(Long id) { |
| | | update(null, new com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper<CrmInvoiceDO>() |
| | | .eq(CrmInvoiceDO::getId, id) |
| | | .set(CrmInvoiceDO::getEntryStatus, 0) |
| | | .set(CrmInvoiceDO::getEntryUserId, null) |
| | | .set(CrmInvoiceDO::getEntryTime, null)); |
| | | } |
| | | |
| | | /** |
| | | * 按发票号码查询未被删除的开票(发票号码允许同一张发票多次开票时,返回第一条) |
| | | */ |
| | | default CrmInvoiceDO selectByInvoiceNo(String invoiceNo) { |
| | | return selectOne(new LambdaQueryWrapperX<CrmInvoiceDO>() |
| | | .eq(CrmInvoiceDO::getInvoiceNo, invoiceNo) |
| | | .orderByAsc(CrmInvoiceDO::getId) |
| | | .last("LIMIT 1")); |
| | | } |
| | | |
| | | default PageResult<CrmInvoiceDO> selectPageByCustomerId(CrmInvoicePageReqVO reqVO) { |
| | | return selectPage(reqVO, new LambdaQueryWrapperX<CrmInvoiceDO>() |
| | | .eq(CrmInvoiceDO::getCustomerId, reqVO.getCustomerId()) // 必须传递 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 查询指定销售订单下、指定审批状态的开票 |
| | | */ |
| | | default List<CrmInvoiceDO> selectListBySaleOrderIdAndStatus(Long saleOrderId, Collection<Integer> auditStatuses) { |
| | | return selectList(new LambdaQueryWrapperX<CrmInvoiceDO>() |
| | | .eq(CrmInvoiceDO::getSaleOrderId, saleOrderId) |
| | | .in(CrmInvoiceDO::getAuditStatus, auditStatuses)); |
| | | } |
| | | |
| | | /** |
| | | * 查询指定销售出库单下、指定审批状态的开票 |
| | | */ |
| | | default List<CrmInvoiceDO> selectListBySaleOutIdAndStatus(Long saleOutId, Collection<Integer> auditStatuses) { |
| | | return selectList(new LambdaQueryWrapperX<CrmInvoiceDO>() |
| | | .eq(CrmInvoiceDO::getSaleOutId, saleOutId) |
| | | .in(CrmInvoiceDO::getAuditStatus, auditStatuses)); |
| | | } |
| | | |
| | | /** |
| | | * 查询合同下的全部开票(导入去重用) |
| | | */ |
| | | default List<CrmInvoiceDO> selectListByContractId(Long contractId) { |