| | |
| | | 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.TmsDispatchOrder; |
| | | import com.ruoyi.tms.domain.TmsFinanceDetail; |
| | | import com.ruoyi.tms.domain.TmsQuoteDetail; |
| | | import com.ruoyi.tms.mapper.TmsDispatchOrderMapper; |
| | | 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; |
| | |
| | | @Resource |
| | | private TmsFinanceMapper tmsFinanceMapper; |
| | | |
| | | @Resource |
| | | private TmsFinanceDetailMapper tmsFinanceDetailMapper; |
| | | @Resource |
| | | private TmsQuoteDetailMapper tmsQuoteDetailMapper; |
| | | |
| | | @Resource |
| | | private TmsDispatchOrderMapper tmsDispatchOrderMapper; |
| | | |
| | | /** |
| | | * 查询费用主表 |
| | |
| | | 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); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 修改费用主表 |
| | | * |
| | |
| | | { |
| | | return tmsFinanceMapper.deleteTmsFinanceById(id); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int cancelFinance(Integer id) { |
| | | // 1、作废,头 |
| | | TmsFinance tmsFinance = selectTmsFinanceById(id); |
| | | tmsFinance.setStatus(2); |
| | | updateTmsFinance(tmsFinance); |
| | | // 3、将原来的调度单变回为未结算 |
| | | LambdaUpdateWrapper<TmsDispatchOrder> eq = new LambdaUpdateWrapper<TmsDispatchOrder>() |
| | | .eq(TmsDispatchOrder::getId, tmsFinance.getDispatchId()); |
| | | if (tmsFinance.getType() == 0){ |
| | | eq.set(TmsDispatchOrder::getAccountsReceivableStatus, 0) |
| | | .set(TmsDispatchOrder::getCollectionPlanId, null); |
| | | }else if (tmsFinance.getType() == 1){ |
| | | eq.set(TmsDispatchOrder::getAccountsPayableStatus, 0) |
| | | .set(TmsDispatchOrder::getPaymentPlanId, null) |
| | | ; |
| | | } |
| | | |
| | | return tmsDispatchOrderMapper.update(eq); |
| | | } |
| | | |
| | | @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); |
| | | } |
| | | } |