zss
8 天以前 f85d6c2edfb1a003c299c16b3a7509dbef9c9b2a
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -10,6 +10,8 @@
import com.ruoyi.account.pojo.AccountIncome;
import com.ruoyi.account.service.AccountExpenseService;
import com.ruoyi.account.service.AccountIncomeService;
import com.ruoyi.approve.service.IApproveProcessService;
import com.ruoyi.approve.vo.ApproveProcessVO;
import com.ruoyi.basic.mapper.ProductMapper;
import com.ruoyi.basic.mapper.ProductModelMapper;
import com.ruoyi.basic.mapper.SupplierManageMapper;
@@ -74,6 +76,7 @@
public class PurchaseLedgerServiceImpl extends ServiceImpl<PurchaseLedgerMapper, PurchaseLedger> implements IPurchaseLedgerService {
    private final AccountExpenseService accountExpenseService;
    private final PurchaseLedgerMapper purchaseLedgerMapper;
    private final IApproveProcessService approveProcessService;
    private final SalesLedgerMapper salesLedgerMapper;
    private final SalesLedgerProductMapper salesLedgerProductMapper;
@@ -153,18 +156,20 @@
        } else {
            purchaseLedgerMapper.updateById(purchaseLedger);
            PurchaseLedger purchaseLedgerDB = purchaseLedgerMapper.selectById(purchaseLedger.getId());
            AccountExpense accountExpenseDB = accountExpenseService.getByInvoiceNumber(purchaseLedger.getPurchaseContractNumber());
            if (ObjectUtils.isEmpty(accountExpenseDB)) {
                throw new BaseException("支出管理无该采购合同的支出记录");
            List<AccountExpense> accountExpenseDBs = accountExpenseService.getByInvoiceNumberList(purchaseLedger.getPurchaseContractNumber());
            if (!CollectionUtils.isEmpty(accountExpenseDBs)) {
                accountExpenseDBs.forEach(accountExpenseDB ->{
                    accountExpenseDB.setExpenseDate(purchaseLedgerDB.getEntryDate());
                    accountExpenseDB.setExpenseType("0");
                    accountExpenseDB.setSupplierName(purchaseLedgerDB.getSupplierName());
                    accountExpenseDB.setExpenseMoney(purchaseLedgerDB.getContractAmount());
                    accountExpenseDB.setExpenseDescribed("采购合同:" + purchaseLedgerDB.getPurchaseContractNumber());
                    accountExpenseDB.setExpenseMethod("0");
                    accountExpenseDB.setInvoiceNumber(purchaseLedgerDB.getPurchaseContractNumber());
                    accountExpenseService.updateById(accountExpenseDB);
                });
            }
            accountExpenseDB.setExpenseDate(purchaseLedgerDB.getEntryDate());
            accountExpenseDB.setExpenseType("0");
            accountExpenseDB.setSupplierName(purchaseLedgerDB.getSupplierName());
            accountExpenseDB.setExpenseMoney(purchaseLedgerDB.getContractAmount());
            accountExpenseDB.setExpenseDescribed("采购合同:" + purchaseLedgerDB.getPurchaseContractNumber());
            accountExpenseDB.setExpenseMethod("0");
            accountExpenseDB.setInvoiceNumber(purchaseLedgerDB.getPurchaseContractNumber());
            accountExpenseService.updateById(accountExpenseDB);
        }
        // 4. 处理子表数据
@@ -178,6 +183,22 @@
            migrateTempFilesToFormal(purchaseLedger.getId(), purchaseLedgerDto.getTempFileIds());
        }
        //6.采购需要审批
        //新增审批数据approve_process
        ApproveProcessVO approveProcessVO = new ApproveProcessVO();
        approveProcessVO.setApproveDeptId(purchaseLedger.getTenantId());
        approveProcessVO.setApproveReason(purchaseLedger.getPurchaseContractNumber());//审批理由是采购合同号用这个来关联
        DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        approveProcessVO.setApproveTime(LocalDate.now().format(dateFormat));
        approveProcessVO.setApproveType(5);//5是采购申请
        approveProcessVO.setApproveUser(purchaseLedger.getRecorderId());//录入人=申请人
        approveProcessVO.setApproveUserIds(purchaseLedgerDto.getApproveUserIds());//审批人
        try {
            approveProcessService.addApprove(approveProcessVO);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return 1;
    }