提交 763fe541 authored 作者: jiangwenye's avatar jiangwenye

结算单状态变更

上级 42de352d
......@@ -99,7 +99,7 @@ public class CarrierSettlementOwnerController {
return Result.ok();
}
@ApiOperation(value = "货主结算单付款确认",notes = "<br>By:姜文业")
@ApiOperation(value = "货主结算单付款提交",notes = "<br>By:姜文业")
@PostMapping("/savePayee")
public Result savePayee(@RequestBody @Validated SavePayeeParam param) {
settlementOwnerService.savePayee(param);
......@@ -114,5 +114,19 @@ public class CarrierSettlementOwnerController {
}
@ApiOperation(value = "货主结算单付款确认",notes = "<br>By:姜文业")
@PostMapping("/payeeConfirm")
public Result payeeConfirm(@RequestBody @Validated SavePayeeParam param) {
settlementOwnerService.savePayee(param);
return Result.ok();
}
@ApiOperation(value = "货主结算单付款确认",notes = "<br>By:姜文业")
@GetMapping("/payeeConfirm")
@UnitCovert(param = false)
public Result payeeConfirm(@NotNull(message = "结算单号不能为空") String settlementNo) {
settlementOwnerService.payeeConfirm(settlementNo);
return Result.ok();
}
}
......@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.enums.settle.SettlementOwnerEnum;
import com.clx.performance.mapper.settle.SettlementOwnerDetailMapper;
import com.clx.performance.model.settle.SettlementOwner;
import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam;
import com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam;
......@@ -13,6 +15,7 @@ import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Objects;
/**
......@@ -49,6 +52,11 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
)
.map(super::getOne);
}
@Override
public List<SettlementOwnerDetail> getBySettlementNo(String settlementNo) {
return list(lQrWrapper().eq(SettlementOwnerDetail::getSettlementNo, settlementNo));
}
@Override
public IPage<SettlementOwnerDetail> pageSettlementOwnerDetail(
......
......@@ -8,6 +8,8 @@ import com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam;
import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao;
import java.util.List;
/**
* @Author: aiqinguo
......@@ -21,6 +23,7 @@ public interface SettlementOwnerDetailDao extends BaseDao<SettlementOwnerDetailM
boolean updateSettlementNo(SettlementOwnerDetail item);
Optional<SettlementOwnerDetail> getByChildNo(String childNo);
List<SettlementOwnerDetail> getBySettlementNo(String settlementNo);
IPage<SettlementOwnerDetail> pageOwnerSettlementOrderDetailList(PageOwnerSettlementOwnerDetailParam param);
......
package com.clx.performance.service.impl.settle;
import com.clx.order.enums.ResultEnum;
import com.clx.performance.dao.settle.SettlementDriverDao;
import com.clx.performance.dao.settle.SettlementDriverDetailDao;
import com.clx.performance.dao.settle.SettlementOwnerDao;
......@@ -13,16 +14,23 @@ import com.clx.performance.model.settle.SettlementOwner;
import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.service.impl.UniqueOrderNumService;
import com.clx.performance.service.settle.SettlementMqHandlerService;
import com.clx.performance.service.settle.SettlementService;
import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.performance.vo.mq.SettlementDetailAddMqParam;
import com.clx.performance.vo.mq.SettlementDetailInvoiceTypeSyncMqParam;
import com.clx.user.vo.feign.OwnerInfoFeignVO;
import com.msl.common.exception.ServiceSystemException;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Objects;
@Slf4j
......@@ -44,6 +52,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
@Autowired
private UniqueOrderNumService uniqueOrderNumService;
@Autowired
private SettlementService settlementService;
@Override
......@@ -78,7 +89,6 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementDriverSave(settlementDriverDetail);
// 更新结算单
settlementOwnerDetail.setSettlementNo(settlementOwner.getSettlementNo());
settlementDriverDetail.setSettlementNo(settlementOwner.getSettlementNo());
......@@ -90,6 +100,12 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
@Transactional(rollbackFor = Exception.class)
public void settlementDetailAdd(SettlementDetailAddMqParam mq) {
//查询网络货运运单是否合规
SettlementOwnerDetail settlementOwnerDetail = settlementOwnerDetailDao.getEntityByKey(mq.getSettlementOwnerDetailId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
//SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao.getEntityByKey(mq.getSettlementDriverDetailId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
settlementService.updateSettlementDetailInvoiceType(settlementOwnerDetail.getChildNo(), SettlementOwnerEnum.InvoiceType.ORDINARY.getCode());
}
private void settlementDriverSave(SettlementDriverDetail settlementDriverDetail){
......@@ -102,6 +118,10 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
* 月结初始化
*/
private void settlementPeriodMonthInit(SettlementOwnerDetail settlementOwnerDetail, LocalDateTime settlementPeriodTime){
//获取所有detail
SettlementOwner settlementOwner = new SettlementOwner();
String settlementNo = settlementNoGenerate();
......@@ -132,14 +152,34 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
* 月结更新
*/
private void settlementPeriodMonthUpdate(SettlementOwner settlementOwner, SettlementOwnerDetail settlementOwnerDetail){
settlementOwner.setWeight(settlementOwnerDetail.getWeight());
settlementOwner.setFreight(settlementOwnerDetail.getFreight());
settlementOwner.setLossFreight(settlementOwnerDetail.getLossFreight());
settlementOwner.setSettlementFreight(settlementOwnerDetail.getSettlementFreight());
settlementOwner.setInvoiceFreight(settlementOwnerDetail.getInvoiceFreight());
settlementOwner.setPrepayFreight(settlementOwnerDetail.getPrepayFreight());
BigDecimal weight = settlementOwnerDetail.getWeight();
BigDecimal freight = settlementOwnerDetail.getFreight();
BigDecimal lossWeight = settlementOwnerDetail.getLossWeight();
BigDecimal lossFreight = settlementOwnerDetail.getLossFreight();
BigDecimal prepayFreight = settlementOwnerDetail.getPrepayFreight();
BigDecimal settlementFreight = settlementOwnerDetail.getSettlementFreight();
BigDecimal invoiceFreight = settlementOwnerDetail.getInvoiceFreight();
List<SettlementOwnerDetail> details = settlementOwnerDetailDao.getBySettlementNo(settlementOwner.getSettlementNo());
details.stream().forEach(item->{
weight.add(item.getWeight());
freight.add(item.getFreight());
lossWeight.add(item.getLossWeight());
lossFreight.add(item.getLossFreight());
prepayFreight.add(item.getPrepayFreight());
settlementFreight.add(item.getSettlementFreight());
invoiceFreight.add(item.getInvoiceFreight());
});
settlementOwner.setWeight(weight);
settlementOwner.setFreight(freight);
settlementOwner.setLossWeight(lossWeight);
settlementOwner.setLossFreight(lossFreight);
settlementOwner.setPrepayFreight(prepayFreight);
settlementOwner.setSettlementFreight(settlementFreight);
settlementOwner.setInvoiceFreight(invoiceFreight);
settlementOwnerDao.updateSettlementPeriodMonth(settlementOwner);
}
......@@ -178,14 +218,33 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
*/
private void settlementPeriodImmediateUpdate(SettlementOwner settlementOwner,SettlementOwnerDetail settlementOwnerDetail){
settlementOwner.setWeight(settlementOwnerDetail.getWeight());
settlementOwner.setFreight(settlementOwnerDetail.getFreight());
settlementOwner.setLossFreight(settlementOwnerDetail.getLossFreight());
settlementOwner.setSettlementFreight(settlementOwnerDetail.getSettlementFreight());
settlementOwner.setInvoiceFreight(settlementOwnerDetail.getInvoiceFreight());
settlementOwner.setPrepayFreight(settlementOwnerDetail.getPrepayFreight());
BigDecimal weight = settlementOwnerDetail.getWeight();
BigDecimal freight = settlementOwnerDetail.getFreight();
BigDecimal lossWeight = settlementOwnerDetail.getLossWeight();
BigDecimal lossFreight = settlementOwnerDetail.getLossFreight();
BigDecimal prepayFreight = settlementOwnerDetail.getPrepayFreight();
BigDecimal settlementFreight = settlementOwnerDetail.getSettlementFreight();
BigDecimal invoiceFreight = settlementOwnerDetail.getInvoiceFreight();
List<SettlementOwnerDetail> details = settlementOwnerDetailDao.getBySettlementNo(settlementOwner.getSettlementNo());
details.stream().forEach(item->{
weight.add(item.getWeight());
freight.add(item.getFreight());
lossWeight.add(item.getLossWeight());
lossFreight.add(item.getLossFreight());
prepayFreight.add(item.getPrepayFreight());
settlementFreight.add(item.getSettlementFreight());
invoiceFreight.add(item.getInvoiceFreight());
});
settlementOwner.setWeight(weight);
settlementOwner.setFreight(freight);
settlementOwner.setLossWeight(lossWeight);
settlementOwner.setLossFreight(lossFreight);
settlementOwner.setPrepayFreight(prepayFreight);
settlementOwner.setSettlementFreight(settlementFreight);
settlementOwner.setInvoiceFreight(invoiceFreight);
settlementOwnerDao.updateSettlementPeriodMonth(settlementOwner);
}
......
......@@ -318,7 +318,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
param.getPaymentAmount());
settlementOwnerDao.updateStatusBySettlementNo(param.getSettlementNo()
,SettlementOwnerEnum.Status.PLATFORM_TO_PAYMENT.getCode());
,SettlementOwnerEnum.Status.PLATFORM_CONFIRMED_OWNER_PAYMENT.getCode());
}
@Override
......@@ -326,5 +326,10 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
settlementOwnerDao.updateStatusByOrderNo( orderNo, settlementPeriodType, fromStatus, toStatus);
}
@Override
public void payeeConfirm(String settlementNo){
settlementOwnerDao.updateStatusBySettlementNo(settlementNo,SettlementOwnerEnum.Status.PLATFORM_TO_PAYMENT.getCode());
}
}
......@@ -48,5 +48,7 @@ public interface SettlementOwnerService {
void updateStatusByOrderNo(String orderNo, Integer settlementPeriodType, Integer fromStatus, Integer toStatus);
void payeeConfirm(String settlementNo);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论