|
@@ -14,6 +14,10 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import java.text.ParseException;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.Date;
|
|
|
+
|
|
|
/**
|
|
|
* <p>
|
|
|
* 记录承运信息 服务实现类
|
|
@@ -36,6 +40,10 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
|
|
|
private ICompanyInfoService companyInfoService;
|
|
|
@Autowired
|
|
|
private ICargoOwnerInfoService cargoOwnerInfoService;
|
|
|
+ @Autowired
|
|
|
+ private IHyCargoOwnerCapitalInfoService hyCargoOwnerCapitalInfoService;
|
|
|
+ @Autowired
|
|
|
+ private IHyFreightSettlementInfoService hyFreightSettlementInfoService;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -153,7 +161,7 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public String cargoOwnerLoadingAdd(HyCarrierInfo hyCarrierInfo) {
|
|
|
+ public String cargoOwnerLoadingAdd(HyCarrierInfo hyCarrierInfo) throws ParseException {
|
|
|
//查询订单
|
|
|
OrderInfo orderInfo = orderInfoService.selectById(hyCarrierInfo.getOrderId());
|
|
|
if (orderInfo != null) {
|
|
@@ -165,48 +173,172 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
|
|
|
orderInfo.setCargoOwnerStatus(StatusEnum.PLATFORM_CONFIRMED_LOADING.getName());
|
|
|
orderInfo.setCargoOwnerStatusKey(StatusEnum.PLATFORM_CONFIRMED_LOADING.getFlag());
|
|
|
//查询订单是否垫付
|
|
|
- if("0".equals(orderInfo.getFreightAdvance())){
|
|
|
+ if ("0".equals(orderInfo.getFreightAdvance())) {
|
|
|
//生成货主冻结金额流向信息
|
|
|
HyFreezingMoneyInfo hyFreezingMoneyInfo = new HyFreezingMoneyInfo();
|
|
|
hyFreezingMoneyInfo.setId(IdGenerator.generateUUID());
|
|
|
hyFreezingMoneyInfo.setOrderId(orderInfo.getId());
|
|
|
hyFreezingMoneyInfo.setType("冻结");
|
|
|
hyFreezingMoneyInfo.setAmountMoney(orderInfo.getAdvanceCharge());
|
|
|
- if (orderInfo.getCompId() != null && !orderInfo.getCompId().isEmpty()){
|
|
|
- //货主是公司
|
|
|
+ if (orderInfo.getCompId() != null && !orderInfo.getCompId().isEmpty()) {
|
|
|
+ //货主是公司
|
|
|
HyCompanyInfo hyCompanyInfo = companyInfoService.selectById(orderInfo.getCompId());
|
|
|
- if (hyCompanyInfo.getAccountBalance() < orderInfo.getAdvanceCharge()){
|
|
|
+ if (hyCompanyInfo.getAccountBalance() < orderInfo.getAdvanceCharge()) {
|
|
|
//账户余额小于预付款
|
|
|
throw new YException(YExceptionEnum.INSUFFICIENT_ACCOUNT_BALANCES);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
//冻结公司账户余额
|
|
|
Double d = hyCompanyInfo.getAccountBalance();
|
|
|
Double d1 = hyCompanyInfo.getFrozenAmount();
|
|
|
- hyCompanyInfo.setAccountBalance(d-orderInfo.getAdvanceCharge());
|
|
|
- hyCompanyInfo.setFrozenAmount(d1+orderInfo.getAdvanceCharge());
|
|
|
+ hyCompanyInfo.setAccountBalance(d - orderInfo.getAdvanceCharge());
|
|
|
+ hyCompanyInfo.setFrozenAmount(d1 + orderInfo.getAdvanceCharge());
|
|
|
companyInfoService.updateById(hyCompanyInfo);
|
|
|
hyFreezingMoneyInfo.setCompanyId(hyCompanyInfo.getId());
|
|
|
}
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
//货主是个人
|
|
|
HyCargoOwnerInfo hyCargoOwnerInfo = cargoOwnerInfoService.selectOne(new EntityWrapper<HyCargoOwnerInfo>()
|
|
|
- .eq("common_id",orderInfo.getCargoCommonId()).eq("delete_flag","0"));
|
|
|
- if (hyCargoOwnerInfo.getAccountBalance() < orderInfo.getAdvanceCharge()){
|
|
|
+ .eq("common_id", orderInfo.getCargoCommonId()).eq("delete_flag", "0"));
|
|
|
+ if (hyCargoOwnerInfo.getAccountBalance() < orderInfo.getAdvanceCharge()) {
|
|
|
//账户余额小于预付款
|
|
|
throw new YException(YExceptionEnum.INSUFFICIENT_ACCOUNT_BALANCES);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
//冻结货主账户余额
|
|
|
Double d = hyCargoOwnerInfo.getAccountBalance();
|
|
|
Double d1 = hyCargoOwnerInfo.getFrozenAmount();
|
|
|
- hyCargoOwnerInfo.setAccountBalance(d-orderInfo.getAdvanceCharge());
|
|
|
- hyCargoOwnerInfo.setFrozenAmount(d1+orderInfo.getAdvanceCharge());
|
|
|
+ hyCargoOwnerInfo.setAccountBalance(d - orderInfo.getAdvanceCharge());
|
|
|
+ hyCargoOwnerInfo.setFrozenAmount(d1 + orderInfo.getAdvanceCharge());
|
|
|
cargoOwnerInfoService.updateById(hyCargoOwnerInfo);
|
|
|
hyFreezingMoneyInfo.setCommonId(hyCargoOwnerInfo.getCommonId());
|
|
|
}
|
|
|
}
|
|
|
hyFreezingMoneyInfoService.insert(hyFreezingMoneyInfo);
|
|
|
}
|
|
|
+ //查询货主是否为公司
|
|
|
+ if (orderInfo.getCompId() != null && !orderInfo.getCompId().isEmpty()) {
|
|
|
+ //查询该公司是否自动跳过平台审核
|
|
|
+ HyCompanyInfo hyCompanyInfo1 = companyInfoService.selectById(orderInfo.getCompId());
|
|
|
+ if ("1".equals(hyCompanyInfo1.getSkipAudit())) {
|
|
|
+ //平台确认装车更改订单状态
|
|
|
+ orderInfo.setOrderStatus(StatusEnum.DRIVER_ORDER_TRANSIT.getName());
|
|
|
+ orderInfo.setOrderStatusKey(StatusEnum.DRIVER_ORDER_TRANSIT.getFlag());
|
|
|
+ orderInfo.setCargoOwnerStatus(StatusEnum.DRIVER_ORDER_TRANSIT.getName());
|
|
|
+ orderInfo.setCargoOwnerStatusKey(StatusEnum.DRIVER_ORDER_TRANSIT.getFlag());
|
|
|
+ //生成费用信息
|
|
|
+ FreightInfo freightInfo = new FreightInfo();
|
|
|
+ freightInfo.setId(IdGenerator.generateUUID());
|
|
|
+ freightInfo.setOrderId(orderInfo.getId());
|
|
|
+ freightInfo.setDriverServiceCharge(0d);
|
|
|
+ freightInfo.setPayableFreight(orderInfo.getAdvanceCharge());
|
|
|
+ freightInfo.setPayabledFreight(0d);
|
|
|
+ freightInfo.setNopayableFreight(freightInfo.getPayableFreight());
|
|
|
+ //判断是否是垫付订单
|
|
|
+ if ("0".equals(orderInfo.getFreightAdvance())) {
|
|
|
+ //非垫付订单
|
|
|
+ freightInfo.setPrepaidFreight(orderInfo.getAdvanceCharge());
|
|
|
+// freightInfo.setReceivableFreight(orderInfo.getAdvanceCharge());
|
|
|
+// freightInfo.setReceivabledFreight(orderInfo.getAdvanceCharge());
|
|
|
+
|
|
|
+ //生成货主冻结金额流向信息
|
|
|
+ HyFreezingMoneyInfo hyFreezingMoneyInfo = new HyFreezingMoneyInfo();
|
|
|
+ hyFreezingMoneyInfo.setId(IdGenerator.generateUUID());
|
|
|
+ hyFreezingMoneyInfo.setOrderId(orderInfo.getId());
|
|
|
+ hyFreezingMoneyInfo.setType("扣除");
|
|
|
+ hyFreezingMoneyInfo.setAmountMoney(orderInfo.getAdvanceCharge());
|
|
|
+
|
|
|
+ if (orderInfo.getCompId() != null && !orderInfo.getCompId().isEmpty()) {
|
|
|
+ //货主是公司
|
|
|
+ HyCompanyInfo hyCompanyInfo = companyInfoService.selectById(orderInfo.getCompId());
|
|
|
+ //将货主冻结金额减去
|
|
|
+ Double d1 = hyCompanyInfo.getFrozenAmount();
|
|
|
+ hyCompanyInfo.setFrozenAmount(d1 - orderInfo.getAdvanceCharge());
|
|
|
+ companyInfoService.updateById(hyCompanyInfo);
|
|
|
+ hyFreezingMoneyInfo.setCompanyId(hyCompanyInfo.getId());
|
|
|
+ if (freightInfo.getReceivableFreight() != null && freightInfo.getReceivableFreight() != 0) {
|
|
|
+ //生成货主账单信息
|
|
|
+ HyCargoOwnerCapitalInfo hyCargoOwnerCapitalInfo = new HyCargoOwnerCapitalInfo();
|
|
|
+ hyCargoOwnerCapitalInfo.setId(IdGenerator.generateUUID());
|
|
|
+ hyCargoOwnerCapitalInfo.setCompanyId(hyCompanyInfo.getId());
|
|
|
+ hyCargoOwnerCapitalInfo.setTypes("支付预付款");
|
|
|
+ hyCargoOwnerCapitalInfo.setAmountMoney(freightInfo.getReceivableFreight());
|
|
|
+ hyCargoOwnerCapitalInfo.setOrderId(orderInfo.getId());
|
|
|
+ hyCargoOwnerCapitalInfo.setOrderNo(orderInfo.getOrderNo());
|
|
|
+ hyCargoOwnerCapitalInfoService.insert(hyCargoOwnerCapitalInfo);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //货主是个人
|
|
|
+ HyCargoOwnerInfo hyCargoOwnerInfo = cargoOwnerInfoService.selectOne(new EntityWrapper<HyCargoOwnerInfo>()
|
|
|
+ .eq("common_id", orderInfo.getCargoCommonId()).eq("delete_flag", "0"));
|
|
|
+ //将货主冻结金额减去
|
|
|
+ Double d1 = hyCargoOwnerInfo.getFrozenAmount();
|
|
|
+ hyCargoOwnerInfo.setFrozenAmount(d1 - orderInfo.getAdvanceCharge());
|
|
|
+ cargoOwnerInfoService.updateById(hyCargoOwnerInfo);
|
|
|
+ hyFreezingMoneyInfo.setCommonId(hyCargoOwnerInfo.getCommonId());
|
|
|
+ if (freightInfo.getReceivableFreight() != null && freightInfo.getReceivableFreight() != 0) {
|
|
|
+ //生成货主账单信息
|
|
|
+ HyCargoOwnerCapitalInfo hyCargoOwnerCapitalInfo = new HyCargoOwnerCapitalInfo();
|
|
|
+ hyCargoOwnerCapitalInfo.setId(IdGenerator.generateUUID());
|
|
|
+ hyCargoOwnerCapitalInfo.setCommonId(hyCargoOwnerInfo.getCommonId());
|
|
|
+ hyCargoOwnerCapitalInfo.setTypes("支付预付款");
|
|
|
+ hyCargoOwnerCapitalInfo.setAmountMoney(freightInfo.getReceivableFreight());
|
|
|
+ hyCargoOwnerCapitalInfo.setOrderId(orderInfo.getId());
|
|
|
+ hyCargoOwnerCapitalInfo.setOrderNo(orderInfo.getOrderNo());
|
|
|
+ hyCargoOwnerCapitalInfoService.insert(hyCargoOwnerCapitalInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ hyFreezingMoneyInfoService.insert(hyFreezingMoneyInfo);
|
|
|
+ //货主是公司
|
|
|
+ if (orderInfo.getCompId() != null && !orderInfo.getCompId().isEmpty()) {
|
|
|
+ //计算公司累计支付运费
|
|
|
+ HyCompanyInfo hyCompanyInfo = companyInfoService.selectById(orderInfo.getCompId());
|
|
|
+ if (hyCompanyInfo != null) {
|
|
|
+ Double d3 = hyCompanyInfo.getAccumulatedFreight();
|
|
|
+ hyCompanyInfo.setAccumulatedFreight(d3 + orderInfo.getAdvanceCharge());
|
|
|
+ companyInfoService.updateById(hyCompanyInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //货主是个人
|
|
|
+ else {
|
|
|
+ //查询货主
|
|
|
+ HyCargoOwnerInfo hyCargoOwnerInfo = cargoOwnerInfoService.selectOne(new EntityWrapper<HyCargoOwnerInfo>()
|
|
|
+ .eq("common_id", orderInfo.getCargoCommonId()).eq("delete_flag", "0"));
|
|
|
+ //计算货主累计支付运费
|
|
|
+ if (hyCargoOwnerInfo != null) {
|
|
|
+ Double d3 = hyCargoOwnerInfo.getAccumulatedFreight();
|
|
|
+ hyCargoOwnerInfo.setAccumulatedFreight(d3 + orderInfo.getAdvanceCharge());
|
|
|
+ cargoOwnerInfoService.updateById(hyCargoOwnerInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ freightInfoService.insert(freightInfo);
|
|
|
+ //如果应付款大于0,生成司机运费结算信息
|
|
|
+ if (freightInfo.getPayableFreight() != null && freightInfo.getPayableFreight() != 0) {
|
|
|
+ HyFreightSettlementInfo hyFreightSettlementInfo = new HyFreightSettlementInfo();
|
|
|
+ hyFreightSettlementInfo.setId(IdGenerator.generateUUID());
|
|
|
+ hyFreightSettlementInfo.setCommonId(orderInfo.getCommonId());
|
|
|
+ hyFreightSettlementInfo.setOrderId(orderInfo.getId());
|
|
|
+ hyFreightSettlementInfo.setOrderNo(orderInfo.getOrderNo());
|
|
|
+ hyFreightSettlementInfo.setDocumentNo(orderInfo.getOrderNo().replace("CY", "ZJLS"));
|
|
|
+ hyFreightSettlementInfo.setFreightAdvance(orderInfo.getFreightAdvance());
|
|
|
+ hyFreightSettlementInfo.setDriverName(orderInfo.getDriverName());
|
|
|
+ hyFreightSettlementInfo.setPayeeName(orderInfo.getPayeeName());
|
|
|
+ hyFreightSettlementInfo.setPayeeIdCard(orderInfo.getPayeeIdCard());
|
|
|
+ if (orderInfo.getCarCaptainCommonId() != null && !orderInfo.getCarCaptainCommonId().isEmpty()) {
|
|
|
+ hyFreightSettlementInfo.setCarCaptainCommonId(orderInfo.getCarCaptainCommonId());
|
|
|
+ }
|
|
|
+ hyFreightSettlementInfo.setBankCard(orderInfo.getBankCard());
|
|
|
+ hyFreightSettlementInfo.setBankDeposit(orderInfo.getBankDeposit());
|
|
|
+ hyFreightSettlementInfo.setBankDepositBranch(orderInfo.getBankDepositBranch());
|
|
|
+ hyFreightSettlementInfo.setPaymentType("预付款");
|
|
|
+ hyFreightSettlementInfo.setAmountMoney(freightInfo.getPayableFreight());
|
|
|
+ hyFreightSettlementInfo.setStatusKey(StatusEnum.NO_PAYMENT.getFlag());
|
|
|
+ hyFreightSettlementInfo.setStatus(StatusEnum.NO_PAYMENT.getName());
|
|
|
+// hyFreightSettlementInfo.setEscalationStatusKey(StatusEnum.NO_REPORTED.getFlag());
|
|
|
+// hyFreightSettlementInfo.setEscalationStatus(StatusEnum.NO_REPORTED.getName());
|
|
|
+ hyFreightSettlementInfoService.insert(hyFreightSettlementInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
} else {
|
|
|
//驳回装车更改订单状态
|
|
|
orderInfo.setOrderStatus(StatusEnum.OWNER_REJECT_LOADING.getName());
|
|
@@ -238,14 +370,14 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
|
|
|
}
|
|
|
//查询订单是否垫付
|
|
|
//非垫付订单
|
|
|
- if("0".equals(orderInfo.getFreightAdvance())){
|
|
|
- if (freightInfo1.getPrepaidFreight() > hyCarrierInfo.getTotalFreight()){
|
|
|
+ if ("0".equals(orderInfo.getFreightAdvance())) {
|
|
|
+ if (freightInfo1.getPrepaidFreight() > hyCarrierInfo.getTotalFreight()) {
|
|
|
//预付运费大于实际运费
|
|
|
throw new YException(YExceptionEnum.TOTAL_BIG_PREPAID);
|
|
|
}
|
|
|
//查询费用信息
|
|
|
FreightInfo freightInfo = freightInfoService.selectOne(new EntityWrapper<FreightInfo>()
|
|
|
- .eq("order_id",orderInfo.getId()).eq("delete_flag","0"));
|
|
|
+ .eq("order_id", orderInfo.getId()).eq("delete_flag", "0"));
|
|
|
//尾款
|
|
|
Double weikuan = freightInfo.getActualFreight() - freightInfo.getPrepaidFreight();
|
|
|
//尾款+服务费
|
|
@@ -258,41 +390,183 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
|
|
|
hyFreezingMoneyInfo.setType("冻结");
|
|
|
hyFreezingMoneyInfo.setAmountMoney(zong);
|
|
|
|
|
|
- if (orderInfo.getCompId() != null && !orderInfo.getCompId().isEmpty()){
|
|
|
+ if (orderInfo.getCompId() != null && !orderInfo.getCompId().isEmpty()) {
|
|
|
//货主是公司
|
|
|
HyCompanyInfo hyCompanyInfo = companyInfoService.selectById(orderInfo.getCompId());
|
|
|
- if (hyCompanyInfo.getAccountBalance() < zong){
|
|
|
+ if (hyCompanyInfo.getAccountBalance() < zong) {
|
|
|
//账户余额小于尾款+服务费
|
|
|
throw new YException(YExceptionEnum.INSUFFICIENT_ACCOUNT_BALANCES);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
//冻结公司账户余额
|
|
|
Double d = hyCompanyInfo.getAccountBalance();
|
|
|
Double d1 = hyCompanyInfo.getFrozenAmount();
|
|
|
- hyCompanyInfo.setAccountBalance(d-zong);
|
|
|
- hyCompanyInfo.setFrozenAmount(d1+zong);
|
|
|
+ hyCompanyInfo.setAccountBalance(d - zong);
|
|
|
+ hyCompanyInfo.setFrozenAmount(d1 + zong);
|
|
|
companyInfoService.updateById(hyCompanyInfo);
|
|
|
hyFreezingMoneyInfo.setCompanyId(hyCompanyInfo.getId());
|
|
|
}
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
//货主是个人
|
|
|
HyCargoOwnerInfo hyCargoOwnerInfo = cargoOwnerInfoService.selectOne(new EntityWrapper<HyCargoOwnerInfo>()
|
|
|
- .eq("common_id",orderInfo.getCargoCommonId()).eq("delete_flag","0"));
|
|
|
- if (hyCargoOwnerInfo.getAccountBalance() < zong){
|
|
|
+ .eq("common_id", orderInfo.getCargoCommonId()).eq("delete_flag", "0"));
|
|
|
+ if (hyCargoOwnerInfo.getAccountBalance() < zong) {
|
|
|
//账户余额小于尾款+服务费
|
|
|
throw new YException(YExceptionEnum.INSUFFICIENT_ACCOUNT_BALANCES);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
//冻结货主账户余额
|
|
|
Double d = hyCargoOwnerInfo.getAccountBalance();
|
|
|
Double d1 = hyCargoOwnerInfo.getFrozenAmount();
|
|
|
- hyCargoOwnerInfo.setAccountBalance(d-zong);
|
|
|
- hyCargoOwnerInfo.setFrozenAmount(d1+zong);
|
|
|
+ hyCargoOwnerInfo.setAccountBalance(d - zong);
|
|
|
+ hyCargoOwnerInfo.setFrozenAmount(d1 + zong);
|
|
|
cargoOwnerInfoService.updateById(hyCargoOwnerInfo);
|
|
|
hyFreezingMoneyInfo.setCommonId(hyCargoOwnerInfo.getCommonId());
|
|
|
}
|
|
|
}
|
|
|
hyFreezingMoneyInfoService.insert(hyFreezingMoneyInfo);
|
|
|
}
|
|
|
+ //查询货主是否为公司
|
|
|
+ if (orderInfo.getCompId() != null && !orderInfo.getCompId().isEmpty()) {
|
|
|
+ //查询该公司是否自动跳过平台审核
|
|
|
+ HyCompanyInfo hyCompanyInfo1 = companyInfoService.selectById(orderInfo.getCompId());
|
|
|
+ if ("1".equals(hyCompanyInfo1.getSkipAudit())) {
|
|
|
+ //确认卸车,判断是否是垫付订单
|
|
|
+ if ("1".equals(orderInfo.getFreightAdvance())) {
|
|
|
+ //确认卸车更改订单状态
|
|
|
+ orderInfo.setOrderStatus(StatusEnum.DRIVER_ORDER_SETTLEMENT.getName());
|
|
|
+ orderInfo.setOrderStatusKey(StatusEnum.DRIVER_ORDER_SETTLEMENT.getFlag());
|
|
|
+ orderInfo.setCargoOwnerStatus(StatusEnum.OWNER_REPAID.getName());
|
|
|
+ orderInfo.setCargoOwnerStatusKey(StatusEnum.OWNER_REPAID.getFlag());
|
|
|
+ } else {
|
|
|
+ orderInfo.setOrderStatus(StatusEnum.DRIVER_ORDER_SETTLEMENT.getName());
|
|
|
+ orderInfo.setOrderStatusKey(StatusEnum.DRIVER_ORDER_SETTLEMENT.getFlag());
|
|
|
+ orderInfo.setCargoOwnerStatus(StatusEnum.OWNER_ORDER_FINISH.getName());
|
|
|
+ orderInfo.setCargoOwnerStatusKey(StatusEnum.OWNER_ORDER_FINISH.getFlag());
|
|
|
+ }
|
|
|
+ //查询费用信息
|
|
|
+ FreightInfo freightInfo = freightInfoService.selectOne(new EntityWrapper<FreightInfo>()
|
|
|
+ .eq("order_id", orderInfo.getId()).eq("delete_flag", "0"));
|
|
|
+ //非垫付订单
|
|
|
+ if ("0".equals(orderInfo.getFreightAdvance())) {
|
|
|
+ freightInfo.setPayableFreight(freightInfo.getActualFreight());
|
|
|
+ freightInfo.setNopayableFreight(freightInfo.getPayableFreight() - freightInfo.getPayabledFreight());
|
|
|
+ freightInfo.setOwnerFreightBalance(freightInfo.getActualFreight() - freightInfo.getPrepaidFreight());
|
|
|
+ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ String Time = df.format(new Date());
|
|
|
+ freightInfo.setOwnerFreightBalanceDate(df.parse(Time));
|
|
|
+// Double d = freightInfo.getReceivableFreight();
|
|
|
+// freightInfo.setReceivableFreight(d + freightInfo.getOwnerFreightBalance() + freightInfo.getOwnerServiceCharge());
|
|
|
+// freightInfo.setReceivabledFreight(freightInfo.getReceivableFreight());
|
|
|
+ freightInfo.setTotalCollection(freightInfo.getActualFreight() - freightInfo.getDriverServiceCharge());
|
|
|
+ freightInfo.setTotalPayment(freightInfo.getActualFreight() + freightInfo.getOwnerServiceCharge());
|
|
|
+
|
|
|
+ //生成货主冻结金额流向信息
|
|
|
+ HyFreezingMoneyInfo hyFreezingMoneyInfo = new HyFreezingMoneyInfo();
|
|
|
+ hyFreezingMoneyInfo.setId(IdGenerator.generateUUID());
|
|
|
+ hyFreezingMoneyInfo.setOrderId(orderInfo.getId());
|
|
|
+ hyFreezingMoneyInfo.setType("扣除");
|
|
|
+ hyFreezingMoneyInfo.setAmountMoney(freightInfo.getOwnerFreightBalance() + freightInfo.getOwnerServiceCharge());
|
|
|
+
|
|
|
+ if (orderInfo.getCompId() != null && !orderInfo.getCompId().isEmpty()) {
|
|
|
+ //货主是公司
|
|
|
+ HyCompanyInfo hyCompanyInfo = companyInfoService.selectById(orderInfo.getCompId());
|
|
|
+ //将货主冻结金额减去
|
|
|
+ Double d1 = hyCompanyInfo.getFrozenAmount();
|
|
|
+ hyCompanyInfo.setFrozenAmount(d1 - freightInfo.getOwnerFreightBalance() - freightInfo.getOwnerServiceCharge());
|
|
|
+ companyInfoService.updateById(hyCompanyInfo);
|
|
|
+ hyFreezingMoneyInfo.setCompanyId(hyCompanyInfo.getId());
|
|
|
+ //生成货主账单信息
|
|
|
+ HyCargoOwnerCapitalInfo hyCargoOwnerCapitalInfo = new HyCargoOwnerCapitalInfo();
|
|
|
+ hyCargoOwnerCapitalInfo.setId(IdGenerator.generateUUID());
|
|
|
+ hyCargoOwnerCapitalInfo.setCompanyId(hyCompanyInfo.getId());
|
|
|
+ hyCargoOwnerCapitalInfo.setTypes("支付尾款");
|
|
|
+ hyCargoOwnerCapitalInfo.setAmountMoney(freightInfo.getOwnerFreightBalance() + freightInfo.getOwnerServiceCharge());
|
|
|
+ hyCargoOwnerCapitalInfo.setOrderId(orderInfo.getId());
|
|
|
+ hyCargoOwnerCapitalInfo.setOrderNo(orderInfo.getOrderNo());
|
|
|
+ hyCargoOwnerCapitalInfoService.insert(hyCargoOwnerCapitalInfo);
|
|
|
+ } else {
|
|
|
+ //货主是个人
|
|
|
+ HyCargoOwnerInfo hyCargoOwnerInfo = cargoOwnerInfoService.selectOne(new EntityWrapper<HyCargoOwnerInfo>()
|
|
|
+ .eq("common_id", orderInfo.getCargoCommonId()).eq("delete_flag", "0"));
|
|
|
+ //将货主冻结金额减去
|
|
|
+ Double d1 = hyCargoOwnerInfo.getFrozenAmount();
|
|
|
+ hyCargoOwnerInfo.setFrozenAmount(d1 - freightInfo.getOwnerFreightBalance() - freightInfo.getOwnerServiceCharge());
|
|
|
+ cargoOwnerInfoService.updateById(hyCargoOwnerInfo);
|
|
|
+ hyFreezingMoneyInfo.setCommonId(hyCargoOwnerInfo.getCommonId());
|
|
|
+ //生成货主账单信息
|
|
|
+ HyCargoOwnerCapitalInfo hyCargoOwnerCapitalInfo = new HyCargoOwnerCapitalInfo();
|
|
|
+ hyCargoOwnerCapitalInfo.setId(IdGenerator.generateUUID());
|
|
|
+ hyCargoOwnerCapitalInfo.setCommonId(hyCargoOwnerInfo.getCommonId());
|
|
|
+ hyCargoOwnerCapitalInfo.setTypes("支付尾款");
|
|
|
+ hyCargoOwnerCapitalInfo.setAmountMoney(freightInfo.getOwnerFreightBalance() + freightInfo.getOwnerServiceCharge());
|
|
|
+ hyCargoOwnerCapitalInfo.setOrderId(orderInfo.getId());
|
|
|
+ hyCargoOwnerCapitalInfo.setOrderNo(orderInfo.getOrderNo());
|
|
|
+ hyCargoOwnerCapitalInfoService.insert(hyCargoOwnerCapitalInfo);
|
|
|
+ }
|
|
|
+ hyFreezingMoneyInfoService.insert(hyFreezingMoneyInfo);
|
|
|
+ //查询货主
|
|
|
+ HyCargoOwnerInfo hyCargoOwnerInfo = cargoOwnerInfoService.selectOne(new EntityWrapper<HyCargoOwnerInfo>()
|
|
|
+ .eq("common_id", orderInfo.getCargoCommonId()).eq("delete_flag", "0"));
|
|
|
+ //货主是公司
|
|
|
+ if (orderInfo.getCompId() != null && !orderInfo.getCompId().isEmpty()) {
|
|
|
+ //计算公司累计支付运费
|
|
|
+ HyCompanyInfo hyCompanyInfo = companyInfoService.selectById(orderInfo.getCompId());
|
|
|
+ if (hyCompanyInfo != null) {
|
|
|
+ Double d3 = hyCompanyInfo.getAccumulatedFreight();
|
|
|
+ hyCompanyInfo.setAccumulatedFreight(d3 + freightInfo.getOwnerFreightBalance() + freightInfo.getOwnerServiceCharge());
|
|
|
+ companyInfoService.updateById(hyCompanyInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //货主是个人
|
|
|
+ else {
|
|
|
+ //计算货主累计支付运费
|
|
|
+ if (hyCargoOwnerInfo != null) {
|
|
|
+ Double d3 = hyCargoOwnerInfo.getAccumulatedFreight();
|
|
|
+ hyCargoOwnerInfo.setAccumulatedFreight(d3 + freightInfo.getOwnerFreightBalance() + freightInfo.getOwnerServiceCharge());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //货主发运次数+1
|
|
|
+ if (hyCargoOwnerInfo != null) {
|
|
|
+ Long count = hyCargoOwnerInfo.getShipmentsNumber() + 1;
|
|
|
+ hyCargoOwnerInfo.setShipmentsNumber(count);
|
|
|
+ cargoOwnerInfoService.updateById(hyCargoOwnerInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //垫付订单
|
|
|
+ else {
|
|
|
+ freightInfo.setPayableFreight(freightInfo.getActualFreight() - freightInfo.getDriverServiceCharge());
|
|
|
+ freightInfo.setNopayableFreight(freightInfo.getPayableFreight() - freightInfo.getPayabledFreight());
|
|
|
+ freightInfo.setTotalCollection(freightInfo.getPayableFreight());
|
|
|
+ }
|
|
|
+ freightInfoService.updateById(freightInfo);
|
|
|
+ //生成司机运费结算信息
|
|
|
+ HyFreightSettlementInfo hyFreightSettlementInfo = new HyFreightSettlementInfo();
|
|
|
+ hyFreightSettlementInfo.setId(IdGenerator.generateUUID());
|
|
|
+ hyFreightSettlementInfo.setCommonId(orderInfo.getCommonId());
|
|
|
+ hyFreightSettlementInfo.setOrderId(orderInfo.getId());
|
|
|
+ hyFreightSettlementInfo.setOrderNo(orderInfo.getOrderNo());
|
|
|
+ hyFreightSettlementInfo.setDocumentNo(orderInfo.getOrderNo().replace("CY", "ZJLS"));
|
|
|
+ hyFreightSettlementInfo.setFreightAdvance(orderInfo.getFreightAdvance());
|
|
|
+ hyFreightSettlementInfo.setDriverName(orderInfo.getDriverName());
|
|
|
+ hyFreightSettlementInfo.setPayeeName(orderInfo.getPayeeName());
|
|
|
+ hyFreightSettlementInfo.setPayeeIdCard(orderInfo.getPayeeIdCard());
|
|
|
+ if (orderInfo.getCarCaptainCommonId() != null && !orderInfo.getCarCaptainCommonId().isEmpty()) {
|
|
|
+ hyFreightSettlementInfo.setCarCaptainCommonId(orderInfo.getCarCaptainCommonId());
|
|
|
+ }
|
|
|
+ hyFreightSettlementInfo.setBankCard(orderInfo.getBankCard());
|
|
|
+ hyFreightSettlementInfo.setBankDeposit(orderInfo.getBankDeposit());
|
|
|
+ hyFreightSettlementInfo.setBankDepositBranch(orderInfo.getBankDepositBranch());
|
|
|
+ hyFreightSettlementInfo.setPaymentType("尾款");
|
|
|
+ if (freightInfo.getPrepaidFreight() == null) {
|
|
|
+ throw new YException(YExceptionEnum.PAY_ADVANCE_PAYMENT);
|
|
|
+ }
|
|
|
+ hyFreightSettlementInfo.setAmountMoney(freightInfo.getActualFreight() - freightInfo.getPrepaidFreight() - freightInfo.getDriverServiceCharge());
|
|
|
+ hyFreightSettlementInfo.setStatusKey(StatusEnum.NO_PAYMENT.getFlag());
|
|
|
+ hyFreightSettlementInfo.setStatus(StatusEnum.NO_PAYMENT.getName());
|
|
|
+// hyFreightSettlementInfo.setEscalationStatusKey(StatusEnum.NO_REPORTED.getFlag());
|
|
|
+// hyFreightSettlementInfo.setEscalationStatus(StatusEnum.NO_REPORTED.getName());
|
|
|
+ hyFreightSettlementInfoService.insert(hyFreightSettlementInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
} else {
|
|
|
//驳回卸车更改订单状态
|
|
|
orderInfo.setOrderStatus(StatusEnum.OWNER_REJECT_UNLOAD.getName());
|