zhangyuewww 2 lat temu
rodzic
commit
b5f180b54b

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

@@ -159,7 +159,6 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
                     orderInfo.setOrderStatusKey(StatusEnum.OWNER_CONFIRMED_LOADING.getFlag());
                     orderInfo.setCargoOwnerStatus(StatusEnum.CONFIRMED_LOADING.getName());
                     orderInfo.setCargoOwnerStatusKey(StatusEnum.CONFIRMED_LOADING.getFlag());
-                    orderInfoService.updateById(orderInfo);
                     //查询货主是否为公司
                     if (orderInfo.getCompId() != null && !orderInfo.getCompId().isEmpty()) {
                         //查询该公司是否自动跳过平台审核
@@ -193,15 +192,17 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
                                 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);
+                                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);
+                                }
                                 hyFreezingMoneyInfoService.insert(hyFreezingMoneyInfo);
                                 //计算公司累计支付运费
                                 Double d3 = hyCompanyInfo.getAccumulatedFreight();
@@ -235,6 +236,7 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
                             }
                         }
                     }
+                    orderInfoService.updateById(orderInfo);
                 }
                 // 向货主发送信息
                 NewsInfo newsInfo = new NewsInfo();
@@ -357,7 +359,6 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
                     orderInfo.setOrderStatusKey(StatusEnum.OWNER_CONFIRMED_UNLOAD.getFlag());
                     orderInfo.setCargoOwnerStatus(StatusEnum.CONFIRMED_UNLOAD.getName());
                     orderInfo.setCargoOwnerStatusKey(StatusEnum.CONFIRMED_UNLOAD.getFlag());
-                    orderInfoService.updateById(orderInfo);
                     //查询货主是否为公司
                     if (orderInfo.getCompId() != null && !orderInfo.getCompId().isEmpty()) {
                         //查询该公司是否自动跳过平台审核
@@ -381,6 +382,16 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
                                     .eq("order_id", orderInfo.getId()).eq("delete_flag", "0"));
                             //非垫付订单
                             if ("0".equals(orderInfo.getFreightAdvance())) {
+                                //默认取订单预计运费
+                                //按元/吨
+                                if ("0".equals(orderInfo.getBillingMethod())){
+                                    //运费金额=单价 元/吨 x装卸净重取小
+                                    freightInfo.setActualFreight(orderInfo.getFreight()*(hyCarrierInfo1.getLoadingWeight()<hyCarrierInfo.getUnloadingWeight()?hyCarrierInfo1.getLoadingWeight():hyCarrierInfo.getUnloadingWeight()));
+                                }
+                                //元/车 计费
+                                else{
+                                    freightInfo.setActualFreight(orderInfo.getFreight());
+                                }
                                 freightInfo.setPayableFreight(freightInfo.getActualFreight());
                                 freightInfo.setNopayableFreight(freightInfo.getPayableFreight() - freightInfo.getPayabledFreight());
                                 freightInfo.setOwnerFreightBalance(freightInfo.getActualFreight() - freightInfo.getPrepaidFreight());
@@ -388,6 +399,10 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
                                 String Time = df.format(new Date());
                                 freightInfo.setOwnerFreightBalanceDate(df.parse(Time));
                                 freightInfo.setTotalCollection(freightInfo.getActualFreight() - freightInfo.getDriverServiceCharge());
+                                //查询货主收费比例
+                                HyCargoOwnerInfo hyCargoOwnerInfo = cargoOwnerInfoService.selectOne(new EntityWrapper<HyCargoOwnerInfo>()
+                                        .eq("common_id", orderInfo.getCargoCommonId()).eq("delete_flag", "0"));
+                                freightInfo.setOwnerServiceCharge(hyCargoOwnerInfo.getChargeProportion() * freightInfo.getActualFreight());
                                 freightInfo.setTotalPayment(freightInfo.getActualFreight() + freightInfo.getOwnerServiceCharge());
                                 //生成货主冻结金额流向信息 尾款
                                 HyFreezingMoneyInfo hyFreezingMoneyInfo = new HyFreezingMoneyInfo();
@@ -410,16 +425,10 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
                                 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()) {
-                                    //计算公司累计支付运费
-                                    Double d3 = hyCompanyInfo.getAccumulatedFreight();
-                                    hyCompanyInfo.setAccumulatedFreight(d3 + freightInfo.getOwnerFreightBalance() + freightInfo.getOwnerServiceCharge());
-                                    companyInfoService.updateById(hyCompanyInfo);
-                                }
+                                //计算公司累计支付运费
+                                Double d3 = hyCompanyInfo.getAccumulatedFreight();
+                                hyCompanyInfo.setAccumulatedFreight(d3 + freightInfo.getOwnerFreightBalance() + freightInfo.getOwnerServiceCharge());
+                                companyInfoService.updateById(hyCompanyInfo);
                                 //货主发运次数+1
                                 if (hyCargoOwnerInfo != null) {
                                     Long count = hyCargoOwnerInfo.getShipmentsNumber() + 1;
@@ -461,6 +470,7 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
                             hyFreightSettlementInfoService.insert(hyFreightSettlementInfo);
                         }
                     }
+                    orderInfoService.updateById(orderInfo);
                 }
                 // 向货主发送信息
                 NewsInfo newsInfo = new NewsInfo();

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

@@ -2142,7 +2142,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                     orderInfo1.setPayeeIdCard(hyDriverInfo.getNumberCard());
                 }
                 orderInfo1.setFreight(Double.valueOf(orderInfo.getFreightCars()));
-                orderInfo1.setBillingMethod("1");
+//                orderInfo1.setBillingMethod("1");
                 orderInfo1.setAdvanceCharge(orderInfo.getAdvanceCharge());
                 orderInfo1.setCarNumber(orderInfo.getCarNumber());
                 orderInfo1.setTrailerNumber(orderInfo.getTrailerNumber());

+ 1 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/resources/mapper/OrderInfoMapper.xml

@@ -364,6 +364,7 @@
         o.driver_name as driverName,
         o.cargo_owner_phone as cargoOwnerPhone,
         o.driver_phone as driverPhone,
+        o.billing_method as billingMethod,
         o.freight,
         f.actual_freight as actualFreight,
         f.prepaid_freight as prepaidFreight,