| | |
| | | return selectPage(reqVO, new LambdaQueryWrapperX<CrmInvoiceDO>() |
| | | .eq(CrmInvoiceDO::getCustomerId, reqVO.getCustomerId()) // 必须传递 |
| | | .eqIfPresent(CrmInvoiceDO::getNo, reqVO.getNo()) |
| | | .likeIfPresent(CrmInvoiceDO::getInvoiceNo, reqVO.getInvoiceNo()) |
| | | .eqIfPresent(CrmInvoiceDO::getContractId, reqVO.getContractId()) |
| | | .orderByDesc(CrmInvoiceDO::getId)); |
| | | } |
| | |
| | | // 拼接自身的查询条件 |
| | | query.selectAll(CrmInvoiceDO.class) |
| | | .eqIfPresent(CrmInvoiceDO::getNo, pageReqVO.getNo()) |
| | | .likeIfPresent(CrmInvoiceDO::getInvoiceNo, pageReqVO.getInvoiceNo()) |
| | | .eqIfPresent(CrmInvoiceDO::getContractId, pageReqVO.getContractId()) |
| | | .eqIfPresent(CrmInvoiceDO::getAuditStatus, pageReqVO.getAuditStatus()) |
| | | .orderByDesc(CrmInvoiceDO::getId); |
| | |
| | | if (CollUtil.isEmpty(contractIds)) { |
| | | return Collections.emptyMap(); |
| | | } |
| | | // SQL sum 查询 |
| | | // SQL sum 查询(审批通过 + 审批中,与开票防超校验口径一致) |
| | | List<Map<String, Object>> result = selectMaps(new QueryWrapper<CrmInvoiceDO>() |
| | | .select("contract_id, SUM(price) AS total_price") |
| | | .eq("audit_status", CrmAuditStatusEnum.APPROVE.getStatus()) |
| | | .in("audit_status", CrmAuditStatusEnum.APPROVE.getStatus(), |
| | | CrmAuditStatusEnum.PROCESS.getStatus()) |
| | | .groupBy("contract_id") |
| | | .in("contract_id", contractIds)); |
| | | // 获得金额 |
| | |
| | | return selectCount(CrmInvoiceDO::getContractId, contractId); |
| | | } |
| | | |
| | | /** |
| | | * 查询合同下的全部开票(导入去重用) |
| | | */ |
| | | default List<CrmInvoiceDO> selectListByContractId(Long contractId) { |
| | | return selectList(new LambdaQueryWrapperX<CrmInvoiceDO>() |
| | | .eq(CrmInvoiceDO::getContractId, contractId) |
| | | .orderByAsc(CrmInvoiceDO::getId)); |
| | | } |
| | | |
| | | } |