提交 ee01913a authored 作者: liruixin's avatar liruixin

手动录入司机/平台违约单逻辑完善

上级 e33ebe31
......@@ -31,6 +31,10 @@ public class BreakContractSettlementDriver implements HasKey<Integer> {
@ApiModelProperty("违约方类型:1平台 2货主 3车主")
private Integer breakContractPartyType;
@TableField("break_no")
@ApiModelProperty("违约单号")
private String breakNo;
@TableField("settlement_no")
@ApiModelProperty("结算单编号")
private String settlementNo;
......
......@@ -3,15 +3,22 @@ package com.clx.performance.service.impl.breakcontract;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.breakcontract.BreakContractDriverRecordDao;
import com.clx.performance.dao.breakcontract.BreakContractSettlementDriverDao;
import com.clx.performance.dao.breakcontract.BreakContractSettlementDriverDetailDao;
import com.clx.performance.enums.BreakContractRecordEnum;
import com.clx.performance.enums.BreakContractSettlementDriverEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.breakcontract.BreakContractDriverRecord;
import com.clx.performance.model.breakcontract.BreakContractSettlementDriver;
import com.clx.performance.model.breakcontract.BreakContractSettlementDriverDetail;
import com.clx.performance.param.app.breakcontract.DriverPageBreakContractDriverRecordParam;
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractDriverRecordAddParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractDriverRecordParam;
import com.clx.performance.service.breakcontract.BreakContractDriverRecordService;
import com.clx.performance.service.impl.UniqueOrderNumService;
import com.clx.performance.struct.breakcontract.BreakContractSettlementDriverDetailStruct;
import com.clx.performance.struct.breakcontract.BreakContractSettlementDriverStruct;
import com.clx.performance.vo.app.breakcontract.DriverBreakContractDriverRecordVO;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractDriverRecordVO;
import com.msl.common.utils.LocalDateTimeUtils;
......@@ -20,6 +27,7 @@ import com.msl.user.utils.TokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.time.LocalDateTime;
......@@ -40,13 +48,22 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
private OrderChildDao orderChildDao;
@Autowired
private UniqueOrderNumService uniqueOrderNumService;
@Autowired
private BreakContractSettlementDriverDetailStruct breakContractSettlementDriverDetailStruct;
@Autowired
private BreakContractSettlementDriverStruct breakContractSettlementDriverStruct;
@Autowired
private BreakContractSettlementDriverDao breakContractSettlementDriverDao;
@Autowired
private BreakContractSettlementDriverDetailDao breakContractSettlementDriverDetailDao;
@Override
@Transactional(rollbackFor = Exception.class)
public void saveRecord(BreakContractDriverRecordAddParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
String breakNo = childNoGenerate();
String breakNo = "WYD"+childNoGenerate();
OrderChild orderChild = orderChildDao.getByChildNo(param.getChildNo()).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
LocalDateTime time = LocalDateTime.now();
......@@ -78,7 +95,20 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
record.setCreateName(loginUserInfo.getUserName());
record.setCreateTime(time);
//车主违约计费明细
BreakContractSettlementDriverDetail breakDriverDetail = breakContractSettlementDriverDetailStruct.convert(record);
String settlementNo = "WYJSD"+childNoGenerate();
breakDriverDetail.setSettlementNo(settlementNo);
//车主违约结算单
BreakContractSettlementDriver breakDriver = breakContractSettlementDriverStruct.convert(breakDriverDetail);
breakDriver.setSettleStatus(BreakContractSettlementDriverEnum.SettleStatus.NO.getCode());
breakDriver.setSettlePlatform(BreakContractSettlementDriverEnum.SettlePlatform.MSL.getCode());
record.setSettlementNo(settlementNo);
breakContractDriverRecordDao.saveEntity(record);
breakContractSettlementDriverDao.saveEntity(breakDriver);
breakContractSettlementDriverDetailDao.saveEntity(breakDriverDetail);
}
@Override
......
package com.clx.performance.struct.breakcontract;
import com.clx.performance.enums.BreakContractSettlementDriverEnum;
import com.clx.performance.model.breakcontract.BreakContractDriverRecord;
import com.clx.performance.model.breakcontract.BreakContractSettlementDriverDetail;
import com.clx.performance.vo.pc.breakcontract.carrier.PageCarrierBreakContractSettlementDriverDetailVO;
import com.msl.common.utils.DateStructUtil;
......@@ -23,4 +24,6 @@ public interface BreakContractSettlementDriverDetailStruct {
@IterableMapping(qualifiedByName = "toBaseVo")
List<PageCarrierBreakContractSettlementDriverDetailVO> covertToCarrierList(List<BreakContractSettlementDriverDetail> list);
BreakContractSettlementDriverDetail convert(BreakContractDriverRecord detail);
}
......@@ -2,6 +2,7 @@ package com.clx.performance.struct.breakcontract;
import com.clx.performance.enums.BreakContractSettlementDriverEnum;
import com.clx.performance.model.breakcontract.BreakContractSettlementDriver;
import com.clx.performance.model.breakcontract.BreakContractSettlementDriverDetail;
import com.clx.performance.vo.pc.breakcontract.carrier.PageCarrierBreakContractSettlementDriverVO;
import com.msl.common.utils.DateStructUtil;
import com.msl.common.utils.DateUtils;
......@@ -25,4 +26,6 @@ public interface BreakContractSettlementDriverStruct {
@IterableMapping(qualifiedByName = "toBaseVo")
List<PageCarrierBreakContractSettlementDriverVO> covertToCarrierList(List<BreakContractSettlementDriver> list);
BreakContractSettlementDriver convert(BreakContractSettlementDriverDetail detail);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论