| | |
| | | import cn.iocoder.yudao.module.erp.dal.mysql.finance.ErpFinanceReceiptMapper; |
| | | import cn.iocoder.yudao.module.erp.dal.redis.no.ErpNoRedisDAO; |
| | | import cn.iocoder.yudao.module.erp.enums.ErpAuditStatus; |
| | | import cn.iocoder.yudao.module.system.api.storage.StorageAttachmentApi; |
| | | import cn.iocoder.yudao.module.system.api.user.AdminUserApi; |
| | | import jakarta.annotation.Resource; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | @Resource |
| | | private AdminUserApi adminUserApi; |
| | | |
| | | @Resource |
| | | private StorageAttachmentApi storageAttachmentApi; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Long createFinanceReceipt(ErpFinanceReceiptSaveReqVO createReqVO) { |
| | |
| | | // 2.2 插入收款单项 |
| | | receiptItems.forEach(o -> o.setReceiptId(receipt.getId())); |
| | | financeReceiptItemMapper.insertBatch(receiptItems); |
| | | |
| | | // 2.3 绑定附件 |
| | | storageAttachmentApi.bindAttachments("file", "erp_finance_receipt", |
| | | receipt.getId(), createReqVO.getBlobIds()); |
| | | |
| | | // 3. 更新销售出库、退货的收款金额情况 |
| | | updateSalePrice(receiptItems); |
| | |
| | | financeReceiptMapper.updateById(updateObj); |
| | | // 2.2 更新收款单项 |
| | | updateFinanceReceiptItemList(updateReqVO.getId(), receiptItems); |
| | | // 2.3 更新附件 |
| | | if (updateReqVO.getBlobIds() != null) { |
| | | storageAttachmentApi.deleteAttachmentsByRecord("erp_finance_receipt", updateReqVO.getId()); |
| | | storageAttachmentApi.bindAttachments("file", "erp_finance_receipt", |
| | | updateReqVO.getId(), updateReqVO.getBlobIds()); |
| | | } |
| | | } |
| | | |
| | | private void calculateTotalPrice(ErpFinanceReceiptDO receipt, List<ErpFinanceReceiptItemDO> receiptItems) { |
| | |
| | | |
| | | // 2. 遍历删除,并记录操作日志 |
| | | receipts.forEach(receipt -> { |
| | | // 2.1 删除收款单 |
| | | // 2.1 删除附件 |
| | | storageAttachmentApi.deleteAttachmentsByRecord("erp_finance_receipt", receipt.getId()); |
| | | // 2.2 删除收款单 |
| | | financeReceiptMapper.deleteById(receipt.getId()); |
| | | // 2.2 删除收款单项 |
| | | // 2.3 删除收款单项 |
| | | List<ErpFinanceReceiptItemDO> receiptItems = financeReceiptItemMapper.selectListByReceiptId(receipt.getId()); |
| | | financeReceiptItemMapper.deleteByIds(convertSet(receiptItems, ErpFinanceReceiptItemDO::getId)); |
| | | |