| | |
| | | import cn.iocoder.yudao.module.erp.dal.redis.no.ErpNoRedisDAO; |
| | | import cn.iocoder.yudao.module.erp.enums.ErpAuditStatus; |
| | | import cn.iocoder.yudao.module.erp.service.purchase.ErpSupplierService; |
| | | 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 createFinancePayment(ErpFinancePaymentSaveReqVO createReqVO) { |
| | |
| | | // 2.2 插入付款单项 |
| | | paymentItems.forEach(o -> o.setPaymentId(payment.getId())); |
| | | financePaymentItemMapper.insertBatch(paymentItems); |
| | | |
| | | // 2.3 绑定附件 |
| | | storageAttachmentApi.bindAttachments("file", "erp_finance_payment", |
| | | payment.getId(), createReqVO.getBlobIds()); |
| | | |
| | | // 3. 更新采购入库、退货的付款金额情况 |
| | | updatePurchasePrice(paymentItems); |
| | |
| | | financePaymentMapper.updateById(updateObj); |
| | | // 2.2 更新付款单项 |
| | | updateFinancePaymentItemList(updateReqVO.getId(), paymentItems); |
| | | // 2.3 更新附件 |
| | | if (updateReqVO.getBlobIds() != null) { |
| | | storageAttachmentApi.deleteAttachmentsByRecord("erp_finance_payment", updateReqVO.getId()); |
| | | storageAttachmentApi.bindAttachments("file", "erp_finance_payment", |
| | | updateReqVO.getId(), updateReqVO.getBlobIds()); |
| | | } |
| | | } |
| | | |
| | | private void calculateTotalPrice(ErpFinancePaymentDO payment, List<ErpFinancePaymentItemDO> paymentItems) { |
| | |
| | | |
| | | // 2. 遍历删除,并记录操作日志 |
| | | payments.forEach(payment -> { |
| | | // 2.1 删除付款单 |
| | | // 2.1 删除附件 |
| | | storageAttachmentApi.deleteAttachmentsByRecord("erp_finance_payment", payment.getId()); |
| | | // 2.2 删除付款单 |
| | | financePaymentMapper.deleteById(payment.getId()); |
| | | // 2.2 删除付款单项 |
| | | // 2.3 删除付款单项 |
| | | List<ErpFinancePaymentItemDO> paymentItems = financePaymentItemMapper.selectListByPaymentId(payment.getId()); |
| | | financePaymentItemMapper.deleteByIds(convertSet(paymentItems, ErpFinancePaymentItemDO::getId)); |
| | | |