|
@@ -588,7 +588,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public String confirmFreight(OrderInfo orderInfo) {
|
|
|
+ public String confirmFreight(OrderInfo orderInfo) throws ParseException {
|
|
|
//查询订单
|
|
|
OrderInfo orderInfo1 = this.selectById(orderInfo.getId());
|
|
|
if (orderInfo1 != null) {
|
|
@@ -680,6 +680,150 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|
|
orderInfo1.setOrderStatus(StatusEnum.PLATFORM_CONFIRMED_UNLOAD.getName());
|
|
|
orderInfo1.setCargoOwnerStatusKey(StatusEnum.PLATFORM_CONFIRMED_UNLOAD.getFlag());
|
|
|
orderInfo1.setCargoOwnerStatus(StatusEnum.PLATFORM_CONFIRMED_UNLOAD.getName());
|
|
|
+
|
|
|
+ //查询货主是否为公司
|
|
|
+ if (orderInfo1.getCompId() != null && !orderInfo1.getCompId().isEmpty()) {
|
|
|
+ //查询该公司是否自动跳过平台审核
|
|
|
+ HyCompanyInfo hyCompanyInfo1 = companyInfoService.selectById(orderInfo1.getCompId());
|
|
|
+ if ("1".equals(hyCompanyInfo1.getSkipAudit())) {
|
|
|
+ //确认卸车,判断是否是垫付订单
|
|
|
+ if ("1".equals(orderInfo1.getFreightAdvance())) {
|
|
|
+ //确认卸车更改订单状态
|
|
|
+ orderInfo1.setOrderStatus(StatusEnum.DRIVER_ORDER_SETTLEMENT.getName());
|
|
|
+ orderInfo1.setOrderStatusKey(StatusEnum.DRIVER_ORDER_SETTLEMENT.getFlag());
|
|
|
+ orderInfo1.setCargoOwnerStatus(StatusEnum.OWNER_REPAID.getName());
|
|
|
+ orderInfo1.setCargoOwnerStatusKey(StatusEnum.OWNER_REPAID.getFlag());
|
|
|
+ } else {
|
|
|
+ orderInfo1.setOrderStatus(StatusEnum.DRIVER_ORDER_SETTLEMENT.getName());
|
|
|
+ orderInfo1.setOrderStatusKey(StatusEnum.DRIVER_ORDER_SETTLEMENT.getFlag());
|
|
|
+ orderInfo1.setCargoOwnerStatus(StatusEnum.OWNER_ORDER_FINISH.getName());
|
|
|
+ orderInfo1.setCargoOwnerStatusKey(StatusEnum.OWNER_ORDER_FINISH.getFlag());
|
|
|
+ }
|
|
|
+ //查询费用信息
|
|
|
+ FreightInfo freightInfo = freightInfoService.selectOne(new EntityWrapper<FreightInfo>()
|
|
|
+ .eq("order_id", orderInfo1.getId()).eq("delete_flag", "0"));
|
|
|
+ //非垫付订单
|
|
|
+ if ("0".equals(orderInfo1.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(orderInfo1.getId());
|
|
|
+ hyFreezingMoneyInfo.setType("扣除");
|
|
|
+ hyFreezingMoneyInfo.setAmountMoney(freightInfo.getOwnerFreightBalance() + freightInfo.getOwnerServiceCharge());
|
|
|
+
|
|
|
+ if (orderInfo1.getCompId() != null && !orderInfo1.getCompId().isEmpty()) {
|
|
|
+ //货主是公司
|
|
|
+ HyCompanyInfo hyCompanyInfo = companyInfoService.selectById(orderInfo1.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(orderInfo1.getId());
|
|
|
+ hyCargoOwnerCapitalInfo.setOrderNo(orderInfo1.getOrderNo());
|
|
|
+ hyCargoOwnerCapitalInfoService.insert(hyCargoOwnerCapitalInfo);
|
|
|
+ } else {
|
|
|
+ //货主是个人
|
|
|
+ HyCargoOwnerInfo hyCargoOwnerInfo = cargoOwnerInfoService.selectOne(new EntityWrapper<HyCargoOwnerInfo>()
|
|
|
+ .eq("common_id", orderInfo1.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(orderInfo1.getId());
|
|
|
+ hyCargoOwnerCapitalInfo.setOrderNo(orderInfo1.getOrderNo());
|
|
|
+ hyCargoOwnerCapitalInfoService.insert(hyCargoOwnerCapitalInfo);
|
|
|
+ }
|
|
|
+ hyFreezingMoneyInfoService.insert(hyFreezingMoneyInfo);
|
|
|
+ //查询货主
|
|
|
+ HyCargoOwnerInfo hyCargoOwnerInfo = cargoOwnerInfoService.selectOne(new EntityWrapper<HyCargoOwnerInfo>()
|
|
|
+ .eq("common_id", orderInfo1.getCargoCommonId()).eq("delete_flag", "0"));
|
|
|
+ //货主是公司
|
|
|
+ if (orderInfo1.getCompId() != null && !orderInfo1.getCompId().isEmpty()) {
|
|
|
+ //计算公司累计支付运费
|
|
|
+ HyCompanyInfo hyCompanyInfo = companyInfoService.selectById(orderInfo1.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(orderInfo1.getCommonId());
|
|
|
+ hyFreightSettlementInfo.setOrderId(orderInfo1.getId());
|
|
|
+ hyFreightSettlementInfo.setOrderNo(orderInfo1.getOrderNo());
|
|
|
+ hyFreightSettlementInfo.setDocumentNo(orderInfo1.getOrderNo().replace("CY", "ZJLS"));
|
|
|
+ hyFreightSettlementInfo.setFreightAdvance(orderInfo1.getFreightAdvance());
|
|
|
+ hyFreightSettlementInfo.setDriverName(orderInfo1.getDriverName());
|
|
|
+ hyFreightSettlementInfo.setPayeeName(orderInfo1.getPayeeName());
|
|
|
+ hyFreightSettlementInfo.setPayeeIdCard(orderInfo1.getPayeeIdCard());
|
|
|
+ if (orderInfo1.getCarCaptainCommonId() != null && !orderInfo1.getCarCaptainCommonId().isEmpty()) {
|
|
|
+ hyFreightSettlementInfo.setCarCaptainCommonId(orderInfo1.getCarCaptainCommonId());
|
|
|
+ }
|
|
|
+ hyFreightSettlementInfo.setBankCard(orderInfo1.getBankCard());
|
|
|
+ hyFreightSettlementInfo.setBankDeposit(orderInfo1.getBankDeposit());
|
|
|
+ hyFreightSettlementInfo.setBankDepositBranch(orderInfo1.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 {
|