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

结算单状态变更

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