zhangyuewww 2 yıl önce
ebeveyn
işleme
4b57407844

+ 12 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/OrderInfoController.java

@@ -135,6 +135,18 @@ public class OrderInfoController {
         return orderInfoService.confirmFreight(orderInfo);
     }
 
+    /**
+     * 平台编辑实际运费
+     *
+     * @param orderInfo
+     * @return
+     */
+    @Log(title = "平台编辑实际运费")
+    @PostMapping("/api/editFreight")
+    public String editFreight(@RequestBody OrderInfo orderInfo) throws ParseException {
+        return orderInfoService.editFreight(orderInfo);
+    }
+
     /**
      * 完结
      *

+ 7 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IOrderInfoService.java

@@ -86,6 +86,13 @@ public interface IOrderInfoService extends IService<OrderInfo> {
      */
     String confirmFreight(OrderInfo orderInfo) throws ParseException;
 
+    /**
+     * 编辑实际运费
+     * @param orderInfo
+     * @return
+     */
+    String editFreight(OrderInfo orderInfo);
+
     /**
      * 完结
      *

+ 259 - 181
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/CarrierInfoServiceImpl.java

@@ -160,6 +160,81 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
                     orderInfo.setCargoOwnerStatus(StatusEnum.CONFIRMED_LOADING.getName());
                     orderInfo.setCargoOwnerStatusKey(StatusEnum.CONFIRMED_LOADING.getFlag());
                     orderInfoService.updateById(orderInfo);
+                    //查询货主是否为公司
+                    if (orderInfo.getCompId() != null && !orderInfo.getCompId().isEmpty()) {
+                        //查询该公司是否自动跳过平台审核
+                        HyCompanyInfo hyCompanyInfo = companyInfoService.selectById(orderInfo.getCompId());
+                        if ("1".equals(hyCompanyInfo.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());
+                                //生成货主冻结金额流向信息  预付款
+                                HyFreezingMoneyInfo hyFreezingMoneyInfo = new HyFreezingMoneyInfo();
+                                hyFreezingMoneyInfo.setId(IdGenerator.generateUUID());
+                                hyFreezingMoneyInfo.setOrderId(orderInfo.getId());
+                                hyFreezingMoneyInfo.setType("扣除");
+                                hyFreezingMoneyInfo.setAmountMoney(orderInfo.getAdvanceCharge());
+                                //将货主冻结金额减去
+                                Double d1 = hyCompanyInfo.getFrozenAmount();
+                                hyCompanyInfo.setFrozenAmount(d1 - orderInfo.getAdvanceCharge());
+                                companyInfoService.updateById(hyCompanyInfo);
+                                hyFreezingMoneyInfo.setCompanyId(hyCompanyInfo.getId());
+                                //生成货主账单信息
+                                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);
+                                hyFreezingMoneyInfoService.insert(hyFreezingMoneyInfo);
+                                //计算公司累计支付运费
+                                Double d3 = hyCompanyInfo.getAccumulatedFreight();
+                                hyCompanyInfo.setAccumulatedFreight(d3 + orderInfo.getAdvanceCharge());
+                                companyInfoService.updateById(hyCompanyInfo);
+                            }
+                            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());
+                                hyFreightSettlementInfoService.insert(hyFreightSettlementInfo);
+                            }
+                        }
+                    }
                 }
                 // 向货主发送信息
                 NewsInfo newsInfo = new NewsInfo();
@@ -274,40 +349,38 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
                 hyCarrierInfo.setStatusFlag(StatusEnum.SUBMITTED.getFlag());
                 this.updateById(hyCarrierInfo);
                 //司机确认卸车后,订单状态改为待货主确认卸车
-                OrderInfo orderInfo1=orderInfoService.selectById(hyCarrierInfo1.getOrderId());
-                if (orderInfo1!=null) {
-                    orderInfo1.setOrderStatus(StatusEnum.OWNER_CONFIRMED_UNLOAD.getName());
-                    orderInfo1.setOrderStatusKey(StatusEnum.OWNER_CONFIRMED_UNLOAD.getFlag());
-                    orderInfo1.setCargoOwnerStatus(StatusEnum.CONFIRMED_UNLOAD.getName());
-                    orderInfo1.setCargoOwnerStatusKey(StatusEnum.CONFIRMED_UNLOAD.getFlag());
+                OrderInfo orderInfo = orderInfoService.selectOne(new EntityWrapper<OrderInfo>()
+                        .eq("id", hyCarrierInfo1.getOrderId())
+                        .eq("delete_flag", "0"));
+                if (orderInfo != null) {
+                    orderInfo.setOrderStatus(StatusEnum.OWNER_CONFIRMED_UNLOAD.getName());
+                    orderInfo.setOrderStatusKey(StatusEnum.OWNER_CONFIRMED_UNLOAD.getFlag());
+                    orderInfo.setCargoOwnerStatus(StatusEnum.CONFIRMED_UNLOAD.getName());
+                    orderInfo.setCargoOwnerStatusKey(StatusEnum.CONFIRMED_UNLOAD.getFlag());
+                    orderInfoService.updateById(orderInfo);
                     //查询货主是否为公司
-                    if (orderInfo1.getCompId() != null && !orderInfo1.getCompId().isEmpty()) {
+                    if (orderInfo.getCompId() != null && !orderInfo.getCompId().isEmpty()) {
                         //查询该公司是否自动跳过平台审核
-                        HyCompanyInfo hyCompanyInfo1 = companyInfoService.selectById(orderInfo1.getCompId());
-                        if ("1".equals(hyCompanyInfo1.getSkipAudit())) {
+                        HyCompanyInfo hyCompanyInfo = companyInfoService.selectById(orderInfo.getCompId());
+                        if ("1".equals(hyCompanyInfo.getSkipAudit())) {
                             //确认卸车,判断是否是垫付订单
-                            if ("1".equals(orderInfo1.getFreightAdvance())) {
+                            if ("1".equals(orderInfo.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());
+                                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 {
-                                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());
+                                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());
                             }
-                            //运费金额=单价 元/吨x装卸净重取小
-                            orderInfo1.setTotalFreight((hyCarrierInfo.getUnloadingWeight()<hyCarrierInfo.getLoadingWeight()?hyCarrierInfo.getUnloadingWeight():hyCarrierInfo.getLoadingWeight())*orderInfo1.getFreight());
-                            //修改承运表合计应付运费
-                            hyCarrierInfo.setTotalFreight(orderInfo1.getTotalFreight());
-                             //查询费用信息
+                            //查询费用信息
                             FreightInfo freightInfo = freightInfoService.selectOne(new EntityWrapper<FreightInfo>()
-                                    .eq("order_id", orderInfo1.getId()).eq("delete_flag", "0"));
+                                    .eq("order_id", orderInfo.getId()).eq("delete_flag", "0"));
                             //非垫付订单
-                            if ("0".equals(orderInfo1.getFreightAdvance())) {
-                                freightInfo.setActualFreight(hyCarrierInfo1.getTotalFreight());
+                            if ("0".equals(orderInfo.getFreightAdvance())) {
                                 freightInfo.setPayableFreight(freightInfo.getActualFreight());
                                 freightInfo.setNopayableFreight(freightInfo.getPayableFreight() - freightInfo.getPayabledFreight());
                                 freightInfo.setOwnerFreightBalance(freightInfo.getActualFreight() - freightInfo.getPrepaidFreight());
@@ -316,35 +389,43 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
                                 freightInfo.setOwnerFreightBalanceDate(df.parse(Time));
                                 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.setOrderId(orderInfo.getId());
                                 hyFreezingMoneyInfo.setType("扣除");
                                 hyFreezingMoneyInfo.setAmountMoney(freightInfo.getOwnerFreightBalance() + freightInfo.getOwnerServiceCharge());
                                 //将货主冻结金额减去
-                                Double d1 = hyCompanyInfo1.getFrozenAmount();
-                                hyCompanyInfo1.setFrozenAmount(d1 - freightInfo.getOwnerFreightBalance() - freightInfo.getOwnerServiceCharge());
-                                companyInfoService.updateById(hyCompanyInfo1);
-                                hyFreezingMoneyInfo.setCompanyId(hyCompanyInfo1.getId());
+                                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(hyCompanyInfo1.getId());
+                                hyCargoOwnerCapitalInfo.setCompanyId(hyCompanyInfo.getId());
                                 hyCargoOwnerCapitalInfo.setTypes("支付尾款");
                                 hyCargoOwnerCapitalInfo.setAmountMoney(freightInfo.getOwnerFreightBalance() + freightInfo.getOwnerServiceCharge());
-                                hyCargoOwnerCapitalInfo.setOrderId(orderInfo1.getId());
-                                hyCargoOwnerCapitalInfo.setOrderNo(orderInfo1.getOrderNo());
+                                hyCargoOwnerCapitalInfo.setOrderId(orderInfo.getId());
+                                hyCargoOwnerCapitalInfo.setOrderNo(orderInfo.getOrderNo());
                                 hyCargoOwnerCapitalInfoService.insert(hyCargoOwnerCapitalInfo);
                                 hyFreezingMoneyInfoService.insert(hyFreezingMoneyInfo);
-                                //计算公司累计支付运费
-                                HyCompanyInfo hyCompanyInfo = companyInfoService.selectById(orderInfo1.getCompId());
-                                if (hyCompanyInfo != null) {
+                                //查询货主
+                                HyCargoOwnerInfo hyCargoOwnerInfo = cargoOwnerInfoService.selectOne(new EntityWrapper<HyCargoOwnerInfo>()
+                                        .eq("common_id", orderInfo.getCargoCommonId()).eq("delete_flag", "0"));
+                                //货主是公司
+                                if (orderInfo.getCompId() != null && !orderInfo.getCompId().isEmpty()) {
+                                    //计算公司累计支付运费
                                     Double d3 = hyCompanyInfo.getAccumulatedFreight();
                                     hyCompanyInfo.setAccumulatedFreight(d3 + freightInfo.getOwnerFreightBalance() + freightInfo.getOwnerServiceCharge());
                                     companyInfoService.updateById(hyCompanyInfo);
                                 }
+                                //货主发运次数+1
+                                if (hyCargoOwnerInfo != null) {
+                                    Long count = hyCargoOwnerInfo.getShipmentsNumber() + 1;
+                                    hyCargoOwnerInfo.setShipmentsNumber(count);
+                                    cargoOwnerInfoService.updateById(hyCargoOwnerInfo);
+                                }
                             }
                             //垫付订单
                             else {
@@ -356,20 +437,20 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
                             //生成司机运费结算信息
                             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.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(orderInfo1.getBankCard());
-                            hyFreightSettlementInfo.setBankDeposit(orderInfo1.getBankDeposit());
-                            hyFreightSettlementInfo.setBankDepositBranch(orderInfo1.getBankDepositBranch());
+                            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);
@@ -380,21 +461,21 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
                             hyFreightSettlementInfoService.insert(hyFreightSettlementInfo);
                         }
                     }
-                    // 向货主发送信息
-                    NewsInfo newsInfo = new NewsInfo();
-                    newsInfo.setCrtCommonId(orderInfo1.getCommonId());
-                    newsInfo.setReCommonId(orderInfo1.getCargoCommonId());
-                    newsInfo.setNewsTitle("司机已卸车");
-                    newsInfo.setNewsContent("司机 " + orderInfo1.getDriverName() + "已确认卸车,订单编号" + orderInfo1.getOrderNo() + "。");
-                    newsInfo.setNumber(orderInfo1.getOrderNo());
-                    newsInfo.setBussId(orderInfo1.getId());
-                    newsInfo.setNewsTypeKey("2");
-                    newsInfo.setNewsType("承运通知");
-                    newsInfoService.addNewsInfo(newsInfo);
-                    //个推
-                    geTuiUtils.initGeTui(newsInfo.getReCommonId());
-                    geTuiUtils.pushByCid(newsInfo.getNewsTitle(), newsInfo.getNewsContent(), newsInfo.getReCommonId());
                 }
+                // 向货主发送信息
+                NewsInfo newsInfo = new NewsInfo();
+                newsInfo.setCrtCommonId(orderInfo.getCommonId());
+                newsInfo.setReCommonId(orderInfo.getCargoCommonId());
+                newsInfo.setNewsTitle("司机已卸车");
+                newsInfo.setNewsContent("司机 " + orderInfo.getDriverName() + "已确认卸车,订单编号" + orderInfo.getOrderNo() + "。");
+                newsInfo.setNumber(orderInfo.getOrderNo());
+                newsInfo.setBussId(orderInfo.getId());
+                newsInfo.setNewsTypeKey("2");
+                newsInfo.setNewsType("承运通知");
+                newsInfoService.addNewsInfo(newsInfo);
+                //个推
+                geTuiUtils.initGeTui(newsInfo.getReCommonId());
+                geTuiUtils.pushByCid(newsInfo.getNewsTitle(),newsInfo.getNewsContent(),newsInfo.getReCommonId());
             }
         }
         return "OK";
@@ -414,11 +495,11 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
         if (orderInfo != null) {
             if ("1".equals(hyCarrierInfo.getLoadingFlag())) {
                 if ("1".equals(hyCarrierInfo.getFlag())) {
-//                    //确认装车
-//                    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());
+                    //确认装车
+                    orderInfo.setOrderStatus(StatusEnum.PLATFORM_CONFIRMED_LOADING.getName());
+                    orderInfo.setOrderStatusKey(StatusEnum.PLATFORM_CONFIRMED_LOADING.getFlag());
+                    orderInfo.setCargoOwnerStatus(StatusEnum.PLATFORM_CONFIRMED_LOADING.getName());
+                    orderInfo.setCargoOwnerStatusKey(StatusEnum.PLATFORM_CONFIRMED_LOADING.getFlag());
                     //查询订单是否垫付
                     if ("0".equals(orderInfo.getFreightAdvance())) {
                         //生成货主冻结金额流向信息
@@ -461,132 +542,129 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
                         }
                         hyFreezingMoneyInfoService.insert(hyFreezingMoneyInfo);
                     }
-                    String skipAudit="";
                     //查询货主是否为公司
                     if (orderInfo.getCompId() != null && !orderInfo.getCompId().isEmpty()) {
                         //查询该公司是否自动跳过平台审核
                         HyCompanyInfo hyCompanyInfo1 = companyInfoService.selectById(orderInfo.getCompId());
-                        skipAudit=hyCompanyInfo1.getSkipAudit();
-                    }
-                    //设置自动跳过平台审核的货主或者个人货主
-                    if ("1".equals(skipAudit)||orderInfo.getCompId() == null) {
-                        //平台确认装车更改订单状态
-                        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());
+                        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());
+                                //生成货主冻结金额流向信息
+                                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());
+                                    //将货主冻结金额减去
+                                    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);
                                 //货主是公司
-                                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);
+                                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"));
-                                //将货主冻结金额减去
-                                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);
+                                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);
+                                    }
                                 }
                             }
-                            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);
+                            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());
                                 }
-                            }
-                            //货主是个人
-                            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.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);
+                                hyFreightSettlementInfoService.insert(hyFreightSettlementInfo);
+                            }
                         }
                     }
                 } else {

+ 32 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/OrderInfoServiceImpl.java

@@ -899,6 +899,38 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
         return "ng";
     }
 
+    @Override
+    public String editFreight(OrderInfo orderInfo) {
+        OrderInfo orderInfo1=this.selectById(orderInfo.getId());
+        //查询费用信息
+        FreightInfo freightInfo = freightInfoService.selectOne(new EntityWrapper<FreightInfo>()
+                .eq("order_id", orderInfo1.getId()).eq("delete_flag", "0"));
+        //非垫付订单
+        if ("0".equals(orderInfo1.getFreightAdvance())) {
+            freightInfo.setActualFreight(orderInfo.getActualFreight());
+            freightInfo.setPayableFreight(freightInfo.getActualFreight());
+            freightInfo.setNopayableFreight(freightInfo.getPayableFreight() - freightInfo.getPayabledFreight());
+            freightInfo.setOwnerFreightBalance(freightInfo.getActualFreight() - freightInfo.getPrepaidFreight());
+            freightInfo.setTotalCollection(freightInfo.getActualFreight() - freightInfo.getDriverServiceCharge());
+            freightInfo.setTotalPayment(freightInfo.getActualFreight() + freightInfo.getOwnerServiceCharge());
+        }
+        //垫付订单
+        else {
+            freightInfo.setPayableFreight(freightInfo.getActualFreight() - freightInfo.getDriverServiceCharge());
+            freightInfo.setNopayableFreight(freightInfo.getPayableFreight() - freightInfo.getPayabledFreight());
+            freightInfo.setTotalCollection(freightInfo.getPayableFreight());
+        }
+        freightInfoService.updateById(freightInfo);
+        HyFreightSettlementInfo hyFreightSettlementInfo=hyFreightSettlementInfoService.selectOne(new EntityWrapper<HyFreightSettlementInfo>()
+        .eq("order_id",orderInfo1.getId()));
+        if (hyFreightSettlementInfo!=null){
+            hyFreightSettlementInfo.setAmountMoney(freightInfo.getActualFreight() - freightInfo.getPrepaidFreight() - freightInfo.getDriverServiceCharge());
+            hyFreightSettlementInfoService.updateById(hyFreightSettlementInfo);
+        }
+        this.updateById(orderInfo1);
+        return "ok";
+    }
+
     /**
      * 完结
      *