| | |
| | | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| | | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; |
| | | import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.contract.CrmContractRespVO; |
| | | import cn.iocoder.yudao.module.crm.controller.admin.invoice.vo.invoice.CrmInvoiceRespVO; |
| | | import cn.iocoder.yudao.module.crm.controller.admin.receivable.vo.receivable.CrmReceivablePageReqVO; |
| | | import cn.iocoder.yudao.module.crm.controller.admin.receivable.vo.receivable.CrmReceivableRespVO; |
| | | import cn.iocoder.yudao.module.crm.controller.admin.receivable.vo.receivable.CrmReceivableSaveReqVO; |
| | | import cn.iocoder.yudao.module.crm.dal.dataobject.contract.CrmContractDO; |
| | | import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerDO; |
| | | import cn.iocoder.yudao.module.crm.dal.dataobject.invoice.CrmInvoiceDO; |
| | | import cn.iocoder.yudao.module.crm.dal.dataobject.receivable.CrmReceivableDO; |
| | | import cn.iocoder.yudao.module.crm.service.contract.CrmContractService; |
| | | import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerService; |
| | | import cn.iocoder.yudao.module.crm.service.invoice.CrmInvoiceService; |
| | | import cn.iocoder.yudao.module.crm.service.receivable.CrmReceivableService; |
| | | import cn.iocoder.yudao.module.system.api.dept.DeptApi; |
| | | import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; |
| | |
| | | private CrmContractService contractService; |
| | | @Resource |
| | | private CrmCustomerService customerService; |
| | | @Resource |
| | | private CrmInvoiceService invoiceService; |
| | | |
| | | @Resource |
| | | private AdminUserApi adminUserApi; |
| | |
| | | // 1.3 获得合同列表 |
| | | Map<Long, CrmContractDO> contractMap = contractService.getContractMap( |
| | | convertSet(receivableList, CrmReceivableDO::getContractId)); |
| | | // 1.4 获得关联开票列表 |
| | | Map<Long, CrmInvoiceDO> invoiceMap = invoiceService.getInvoiceMap( |
| | | convertSet(receivableList, CrmReceivableDO::getInvoiceId)); |
| | | // 2. 拼接结果 |
| | | return BeanUtils.toBean(receivableList, CrmReceivableRespVO.class, (receivableVO) -> { |
| | | // 2.1 拼接客户名称 |
| | |
| | | // 2.3 拼接合同信息 |
| | | findAndThen(contractMap, receivableVO.getContractId(), contract -> |
| | | receivableVO.setContract(BeanUtils.toBean(contract, CrmContractRespVO.class))); |
| | | // 2.4 拼接关联开票信息 |
| | | findAndThen(invoiceMap, receivableVO.getInvoiceId(), invoice -> |
| | | receivableVO.setInvoice(BeanUtils.toBean(invoice, CrmInvoiceRespVO.class))); |
| | | }); |
| | | } |
| | | |