haungfuli 3 년 전
부모
커밋
e35c6bd2e3

+ 22 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/OrderInfo.java

@@ -483,6 +483,17 @@ public class OrderInfo extends BaseModel<OrderInfo> {
     @TableField(exist = false)
     private Double loadingAdvancePayment;
 
+    /**
+     * 预付运费
+     */
+    @TableField(exist = false)
+    private Double prepaidFreight;
+    /**
+     * 运费尾款
+     */
+    @TableField(exist = false)
+    private Double freightBalance;
+
     /**
      * 调用类型:1货主 2 司机
      */
@@ -500,6 +511,17 @@ public class OrderInfo extends BaseModel<OrderInfo> {
     @TableField(exist = false)
     private String evaluateFlag;
 
+    /**
+     * 司机垫付比列
+     */
+    @TableField(exist = false)
+    private Double driverAdvancePayment;
+    /**
+     * 货主垫付比列
+     */
+    @TableField(exist = false)
+    private Double ownerAdvancePayment;
+
     @Override
     protected Serializable pkVal() {
         return this.id;

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

@@ -12,7 +12,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.RequestBody;
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;

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

@@ -106,7 +106,6 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
     private OSSClient ossClient;
 
 
-
     /**
      * 司机订单列表
      *
@@ -136,7 +135,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                 }
                 //承运信息
                 HyCarrierInfo hyCarrierInfo = carrierInfoService.selectOne(new EntityWrapper<HyCarrierInfo>().eq(FreightInfo.QueryFiles.ORDER_ID, dataList.get(i).getId())
-                .eq("delete_flag","0"));
+                        .eq("delete_flag", "0"));
                 if (hyCarrierInfo != null) {
                     dataList.get(i).setHyCarrierInfo(hyCarrierInfo);
                 }
@@ -359,6 +358,18 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
         if (commonUser1 != null) {
             orderInfo.setDriverPortrait(commonUser1.getAvatarUrl());
         }
+        //查询司机
+        HyDriverInfo hyDriverInfo = driverInfoService.selectOne(new EntityWrapper<HyDriverInfo>().eq("common_id", orderInfo.getCommonId())
+                .eq("delete_flag", "0"));
+        if (hyDriverInfo != null) {
+            orderInfo.setDriverAdvancePayment(hyDriverInfo.getAdvancePayment());
+        }
+        //查询货主
+        HyCargoOwnerInfo hyCargoOwnerInfo = cargoOwnerInfoService.selectOne(new EntityWrapper<HyCargoOwnerInfo>().eq("common_id", orderInfo.getCargoCommonId())
+                .eq("delete_flag", "0"));
+        if (hyCargoOwnerInfo != null) {
+            orderInfo.setOwnerAdvancePayment(hyCargoOwnerInfo.getAdvancePayment());
+        }
         return orderInfo;
     }
 
@@ -461,10 +472,10 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
             orderInfo1.setCargoOwnerStatus(StatusEnum.OWNER_ORDER_FINISH.getName());
             this.updateById(orderInfo1);
         }
-        if("1".equals(orderInfo1.getFreightAdvance())){
+        if ("1".equals(orderInfo1.getFreightAdvance())) {
             //查询费用表
-            FreightInfo freightInfo = freightInfoService.selectOne(new EntityWrapper<FreightInfo>().eq("order_id",orderInfo1.getId())
-                    .eq("delete_flag","0"));
+            FreightInfo freightInfo = freightInfoService.selectOne(new EntityWrapper<FreightInfo>().eq("order_id", orderInfo1.getId())
+                    .eq("delete_flag", "0"));
             //司机承运次数+1,计算累计支付运费
             HyDriverInfo hyDriverInfo = driverInfoService.selectOne(new EntityWrapper<HyDriverInfo>()
                     .eq("common_id", orderInfo1.getCommonId()).eq("delete_flag", "0"));
@@ -472,7 +483,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                 Long count = hyDriverInfo.getShipmentsNumber() + 1;
                 hyDriverInfo.setShipmentsNumber(count);
                 Double d = hyDriverInfo.getAccumulatedFreight();
-                hyDriverInfo.setAccumulatedFreight(d+freightInfo.getActualFreight()-freightInfo.getDriverServiceCharge());
+                hyDriverInfo.setAccumulatedFreight(d + freightInfo.getActualFreight() - freightInfo.getDriverServiceCharge());
                 driverInfoService.updateById(hyDriverInfo);
             }
             //货主发运次数+1,计算累计支付运费
@@ -482,7 +493,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                 Long count = hyCargoOwnerInfo.getShipmentsNumber() + 1;
                 hyCargoOwnerInfo.setShipmentsNumber(count);
                 Double d = hyCargoOwnerInfo.getAccumulatedFreight();
-                hyCargoOwnerInfo.setAccumulatedFreight(d+freightInfo.getActualFreight()+freightInfo.getOwnerServiceCharge());
+                hyCargoOwnerInfo.setAccumulatedFreight(d + freightInfo.getActualFreight() + freightInfo.getOwnerServiceCharge());
                 cargoOwnerInfoService.updateById(hyCargoOwnerInfo);
             }
         }
@@ -610,7 +621,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                         freightInfo.setPrepaidFreight(orderInfo1.getAdvanceCharge());
                         freightInfo.setPrepaidFreightDate(df.parse(Time));
                         freightInfo.setNopayableFreight(freightInfo.getPayableFreight() - freightInfo.getPayabledFreight());
-                        freightInfo.setReceivableFreight(orderInfo1.getAdvanceCharge()+freightInfo.getOwnerServiceCharge());
+                        freightInfo.setReceivableFreight(orderInfo1.getAdvanceCharge() + freightInfo.getOwnerServiceCharge());
                         freightInfo.setReceivabledFreight(orderInfo1.getAdvanceCharge());
                         if (orderInfo1.getCompId() != null && !orderInfo1.getCompId().isEmpty()) {
                             //货主是公司
@@ -674,13 +685,13 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
             //卸车
             else {
                 if ("1".equals(orderInfo.getExamineFlag())) {
-                    if("1".equals(orderInfo1.getFreightAdvance())){
+                    if ("1".equals(orderInfo1.getFreightAdvance())) {
                         //确认卸车更改订单状态
                         orderInfo1.setOrderStatus(StatusEnum.DRIVER_ORDER_FINISH.getName());
                         orderInfo1.setOrderStatusKey(StatusEnum.DRIVER_ORDER_FINISH.getFlag());
                         orderInfo1.setCargoOwnerStatus(StatusEnum.OWNER_REPAID.getName());
                         orderInfo1.setCargoOwnerStatusKey(StatusEnum.OWNER_REPAID.getFlag());
-                    }else {
+                    } else {
                         orderInfo1.setOrderStatus(StatusEnum.DRIVER_ORDER_FINISH.getName());
                         orderInfo1.setOrderStatusKey(StatusEnum.DRIVER_ORDER_FINISH.getFlag());
                         orderInfo1.setCargoOwnerStatus(StatusEnum.OWNER_ORDER_FINISH.getName());
@@ -697,7 +708,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                         freightInfo.setFreightBalance(freightInfo.getPayableFreight());
                         freightInfo.setFreightBalanceDate(df.parse(Time));
                         Double d = freightInfo.getReceivableFreight();
-                        freightInfo.setReceivableFreight(d+freightInfo.getActualFreight()-freightInfo.getPrepaidFreight());
+                        freightInfo.setReceivableFreight(d + freightInfo.getActualFreight() - freightInfo.getPrepaidFreight());
                         freightInfo.setReceivabledFreight(freightInfo.getReceivableFreight());
                         freightInfo.setTotalCollection(freightInfo.getPayableFreight());
                         if (orderInfo1.getCompId() != null && !orderInfo1.getCompId().isEmpty()) {
@@ -750,7 +761,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                             Long count = hyDriverInfo.getShipmentsNumber() + 1;
                             hyDriverInfo.setShipmentsNumber(count);
                             Double d2 = hyDriverInfo.getAccumulatedFreight();
-                            hyDriverInfo.setAccumulatedFreight(d2+freightInfo.getActualFreight()-freightInfo.getDriverServiceCharge());
+                            hyDriverInfo.setAccumulatedFreight(d2 + freightInfo.getActualFreight() - freightInfo.getDriverServiceCharge());
                             driverInfoService.updateById(hyDriverInfo);
                         }
                         //货主发运次数+1,计算累计支付运费
@@ -760,7 +771,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                             Long count = hyCargoOwnerInfo.getShipmentsNumber() + 1;
                             hyCargoOwnerInfo.setShipmentsNumber(count);
                             Double d3 = hyCargoOwnerInfo.getAccumulatedFreight();
-                            hyCargoOwnerInfo.setAccumulatedFreight(d3+freightInfo.getActualFreight()+freightInfo.getOwnerServiceCharge());
+                            hyCargoOwnerInfo.setAccumulatedFreight(d3 + freightInfo.getActualFreight() + freightInfo.getOwnerServiceCharge());
                             cargoOwnerInfoService.updateById(hyCargoOwnerInfo);
                         }
                     }
@@ -781,7 +792,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                     if ("0".equals(orderInfo1.getFreightAdvance())) {
                         //查询费用信息
                         FreightInfo freightInfo = freightInfoService.selectOne(new EntityWrapper<FreightInfo>()
-                                .eq("order_id",orderInfo1.getId()).eq("delete_flag","0"));
+                                .eq("order_id", orderInfo1.getId()).eq("delete_flag", "0"));
                         //尾款
                         Double weikuan = freightInfo.getActualFreight() - freightInfo.getPrepaidFreight();
                         //尾款+服务费
@@ -792,8 +803,8 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                             //将货主冻结金额解冻
                             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);
                         } else {
                             //货主是个人
@@ -802,8 +813,8 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                             //将货主冻结金额解冻
                             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);
                         }
                     }
@@ -841,17 +852,17 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                     .eq("delete_flag", "0"));
             //查询车辆核定载重量
             if ("挂车".equals(hyDriverCarInfo.getCarCategory())) {
-                if (Double.valueOf(orderInfo.getWeight()) > (hyDriverCarInfo.getGuaCarApprovedWeight()/1000)) {
+                if (Double.valueOf(orderInfo.getWeight()) > (hyDriverCarInfo.getGuaCarApprovedWeight() / 1000)) {
                     throw new YException(YExceptionEnum.LOADING_NETWEIGHT_OVERLOAD);
                 }
             } else {
-                if (Double.valueOf(orderInfo.getWeight()) > (hyDriverCarInfo.getCarApprovedWeight()/1000)) {
+                if (Double.valueOf(orderInfo.getWeight()) > (hyDriverCarInfo.getCarApprovedWeight() / 1000)) {
                     throw new YException(YExceptionEnum.LOADING_NETWEIGHT_OVERLOAD);
                 }
             }
             //订单信息
             OrderInfo orderInfo1 = this.selectById(orderInfo.getId());
-            if ("2".equals(orderInfo.getSubmitFlag())){
+            if ("2".equals(orderInfo.getSubmitFlag())) {
                 orderInfo1.setDriverContract("1");
             }
             orderInfo1.setDriverAutograph(orderInfo.getDriverAutograph());
@@ -864,22 +875,21 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
             orderInfo1.setPayeeName(orderInfo.getPayeeName());
             orderInfo1.setFreight(Double.valueOf(orderInfo.getFreightCars()));
             orderInfo1.setBillingMethod("1");
-            //查询司机信息
-            HyDriverInfo hyDriverInfo = driverInfoService.selectOne(new EntityWrapper<HyDriverInfo>().eq("common_id", orderInfo1.getCommonId())
-                    .eq("delete_flag", "0"));
-            //查询货主信息
-            HyCargoOwnerInfo hyCargoOwnerInfo = cargoOwnerInfoService.selectOne(new EntityWrapper<HyCargoOwnerInfo>()
-                    .eq("common_id",orderInfo1.getCargoCommonId()).eq("delete_flag", "0"));
-            if ("1".equals(orderInfo1.getFreightAdvance())) {
-                //判断货主与司机垫付比例大小
-                if(hyDriverInfo.getAdvancePayment() <= hyCargoOwnerInfo.getAdvancePayment()){
-                    orderInfo1.setAdvanceCharge(orderInfo1.getFreight() * hyDriverInfo.getAdvancePayment());
-                }else {
-                    orderInfo1.setAdvanceCharge(orderInfo1.getFreight() * hyCargoOwnerInfo.getAdvancePayment());
-                }
-            } else {
-                orderInfo1.setAdvanceCharge(orderInfo.getLoadingAdvancePayment());
-            }
+            orderInfo1.setAdvanceCharge(orderInfo.getLoadingAdvancePayment());
+//            //查询司机信息
+//            HyDriverInfo hyDriverInfo = driverInfoService.selectOne(new EntityWrapper<HyDriverInfo>().eq("common_id", orderInfo1.getCommonId())
+//                    .eq("delete_flag", "0"));
+//            //查询货主信息
+//            HyCargoOwnerInfo hyCargoOwnerInfo = cargoOwnerInfoService.selectOne(new EntityWrapper<HyCargoOwnerInfo>()
+//                    .eq("common_id",orderInfo1.getCargoCommonId()).eq("delete_flag", "0"));
+//            if ("1".equals(orderInfo1.getFreightAdvance())) {
+//                //判断货主与司机垫付比例大小
+//                if(hyDriverInfo.getAdvancePayment() <= hyCargoOwnerInfo.getAdvancePayment()){
+//                    orderInfo1.setAdvanceCharge(orderInfo1.getFreight() * hyDriverInfo.getAdvancePayment());
+//                }else {
+//                    orderInfo1.setAdvanceCharge(orderInfo1.getFreight() * hyCargoOwnerInfo.getAdvancePayment());
+//                }
+//            }
             boolean one = this.updateById(orderInfo1);
             //承运信息
             HyCarrierInfo hyCarrierInfo = carrierInfoService.selectOne(new EntityWrapper<HyCarrierInfo>()
@@ -894,9 +904,9 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
             CommonUser commonUser = commonUserService.selectById(orderInfo1.getCommonId());
             commonUser.setSignImg(orderInfo.getDriverAutograph());
             boolean three = commonUserService.updateById(commonUser);
-            if (one && two && three){
+            if (one && two && three) {
                 return pdfUrl;
-            }else {
+            } else {
                 return "NG";
             }
         }
@@ -1037,6 +1047,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
 
     /**
      * 后台管理订单导出
+     *
      * @param orderInfo
      * @param response
      * @throws Exception
@@ -1409,10 +1420,10 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                 cell.setCellValue(editString(orderInfo1.getFreightAdvance()));
                 cell.setCellStyle(styleDetail);
                 cell = rowx.createCell(3);
-                cell.setCellValue(editString(orderInfo1.getCargoOwner() + "(" + orderInfo1.getCargoOwnerPhone() +")"));
+                cell.setCellValue(editString(orderInfo1.getCargoOwner() + "(" + orderInfo1.getCargoOwnerPhone() + ")"));
                 cell.setCellStyle(styleDetail);
                 cell = rowx.createCell(4);
-                cell.setCellValue(editString(orderInfo1.getDriverName() + "(" + orderInfo1.getDriverPhone() +")"));
+                cell.setCellValue(editString(orderInfo1.getDriverName() + "(" + orderInfo1.getDriverPhone() + ")"));
                 cell.setCellStyle(styleDetail);
                 cell = rowx.createCell(5);
                 cell.setCellValue(editDouble(orderInfo1.getFreight()));
@@ -1503,7 +1514,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
         ossClient.putObject(putObjectRequest);
         return baseUrl + "pcfiles/" + name + ".xlsx";
     }
-    
+
 
     /**
      * 判断浮点数

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

@@ -79,11 +79,15 @@
         o.update_date as updateDate,
         c.id as carrierId,
         c.car_no as carNumber,
-        cu.avatar_url as cargoOwnerPortrait
+        cu.avatar_url as cargoOwnerPortrait,
+        d.advance_payment as driverAdvancePayment,
+        co.advance_payment as ownerAdvancePayment
         FROM hy_order_info o
         LEFT JOIN common_user cu on o.cargo_common_id = cu.id and cu.delete_flag = 0
         LEFT JOIN hy_carrier_info c on c.order_id = o.id and c.delete_flag = 0
         LEFT JOIN hy_freight_info f on f.order_id = o.id and f.delete_flag = 0
+        LEFT JOIN hy_driver_info d on d.common_id = o.common_id and d.delete_flag = 0
+        LEFT JOIN hy_cargo_owner_info co on co.common_id = o.cargo_common_id and co.delete_flag = 0
         WHERE o.delete_flag = '0'
         AND o.common_id = #{commonId}
         <if test="searchKeyWord != null and searchKeyWord != ''">
@@ -346,6 +350,8 @@
         o.driver_phone as driverPhone,
         o.freight,
         f.actual_freight as actualFreight,
+        f.prepaid_freight as prepaidFreight,
+        f.freight_balance as freightBalance,
         o.advance_charge as advanceCharge,
         f.driver_service_charge as driverServiceCharge,
         f.payable_freight as payable,