wujianwei
2026-01-14 7733884bbd7717c4b017f5597b813bd66e1e22b4
tms/src/main/java/com/ruoyi/tms/service/impl/TmsFinanceServiceImpl.java
@@ -1,9 +1,17 @@
package com.ruoyi.tms.service.impl;
import java.util.List;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.ruoyi.common.utils.DateUtils;
import javax.annotation.Resource;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.tms.domain.TmsFinanceDetail;
import com.ruoyi.tms.domain.TmsQuoteDetail;
import com.ruoyi.tms.mapper.TmsFinanceDetailMapper;
import com.ruoyi.tms.mapper.TmsQuoteDetailMapper;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.stereotype.Service;
import org.springframework.scheduling.annotation.Async;
@@ -33,6 +41,11 @@
    protected final Logger logger = LoggerFactory.getLogger(getClass());
    @Resource
    private TmsFinanceMapper tmsFinanceMapper;
    @Resource
    private TmsFinanceDetailMapper tmsFinanceDetailMapper;
    @Resource
    private TmsQuoteDetailMapper tmsQuoteDetailMapper;
    /**
@@ -119,6 +132,39 @@
        return rows;
    }
    @Override
    public int insertTmsFinanceYFBatch(List<TmsFinance> tmsFinances) {
        // 添加主表
        int i = tmsFinanceMapper.insertTmsFinanceBatch(tmsFinances);
        List<TmsFinanceDetail> collect = tmsFinances.stream().map(item -> {
            Integer quoteId;
            if (item.getType() == 0) {
                quoteId = item.getCollectionPlanDetailId();
            } else {
                quoteId = item.getPaymentPlanDetailId();
            }
            TmsQuoteDetail tmsQuoteDetail = tmsQuoteDetailMapper.selectById(quoteId);
            TmsFinanceDetail tmsFinanceDetail = new TmsFinanceDetail();
            tmsFinanceDetail.setFinanceId(item.getId());
            tmsFinanceDetail.setFinanceType(item.getType());
            tmsFinanceDetail.setFeeType("99");
            tmsFinanceDetail.setInitialFeeAmount(tmsQuoteDetail.getFreightPrice());
            tmsFinanceDetail.setActualFeeAmount(tmsQuoteDetail.getFreightPrice());
            tmsFinanceDetail.setDispatchOrderId(item.getDispatchId());
            tmsFinanceDetail.setDataSource(0);
            tmsFinanceDetail.setCreateTime(DateUtils.getNowDate());
            tmsFinanceDetail.setCreateBy(SecurityUtils.getUsername());
            tmsFinanceDetail.setFeeCreateTime(DateUtils.getNowDate());
            tmsFinanceDetail.setCreateId(SecurityUtils.getUserId());
            tmsFinanceDetail.setStatus(0);
            return tmsFinanceDetail;
        }).collect(Collectors.toList());
        return tmsFinanceDetailMapper.insertTmsFinanceDetailBatch( collect);
    }
    /**
     * 修改费用主表
     *
@@ -179,4 +225,27 @@
    {
        return tmsFinanceMapper.deleteTmsFinanceById(id);
    }
    @Override
    public int cancelFinance(Integer id) {
        // 1、作废,头
        TmsFinance tmsFinance = selectTmsFinanceById(id);
        tmsFinance.setStatus(2);
        return updateTmsFinance(tmsFinance);
    }
    @Override
    public int confirmFinance(Integer id) {
        // 1、作废,头
        TmsFinance tmsFinance = selectTmsFinanceById(id);
        tmsFinance.setStatus(1);
        tmsFinance.setConfirmBy(SecurityUtils.getUsername());
        tmsFinance.setConfirmTime(DateUtils.getNowDate());
        return updateTmsFinance(tmsFinance);
    }
}