haungfuli 3 yıl önce
ebeveyn
işleme
4b9a23be3b
38 değiştirilmiş dosya ile 1076 ekleme ve 279 silme
  1. BIN
      templates/Contract1.pdf
  2. 2 0
      winsea-haixin-platform-backend/src/main/resources/application.yml
  3. 1 1
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/GeneratorCodeByTables.java
  4. 9 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/CargoOwnerInfoController.java
  5. 9 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/DriverInfoController.java
  6. 29 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/FreightInfoController.java
  7. 47 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/HyOrderTravelPathController.java
  8. 2 1
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/OrderInfoController.java
  9. 16 33
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/FreightInfo.java
  10. 6 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/HyCargoOwnerPayeeInfo.java
  11. 1 1
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/HyCarrierInfo.java
  12. 5 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/HyDriverPayeeInfo.java
  13. 55 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/HyOrderTravelPath.java
  14. 57 27
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/OrderInfo.java
  15. 4 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/PublishTaskInfo.java
  16. 14 16
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/RepaymentInfo.java
  17. 2 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/exception/YExceptionEnum.java
  18. 16 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/HyOrderTravelPathMapper.java
  19. 8 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/OrderInfoMapper.java
  20. 8 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/ICargoOwnerInfoService.java
  21. 7 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IDriverInfoService.java
  22. 15 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IFreightInfoService.java
  23. 31 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IHyOrderTravelPathService.java
  24. 10 1
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IOrderInfoService.java
  25. 12 1
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/CargoOwnerInfoServiceImpl.java
  26. 131 36
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/CarrierInfoServiceImpl.java
  27. 20 15
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/DriverInfoServiceImpl.java
  28. 11 4
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/DriverPayeeInfoServiceImpl.java
  29. 6 5
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/FleetInfoServiceImpl.java
  30. 158 3
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/FreightInfoServiceImpl.java
  31. 10 4
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/HyCargoOwnerPayeeInfoServiceImpl.java
  32. 51 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/HyOrderTravelPathServiceImpl.java
  33. 231 72
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/OrderInfoServiceImpl.java
  34. 11 13
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/PublishTaskInfoServiceImpl.java
  35. 2 2
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/util/CheckTxtUtil.java
  36. 31 31
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/util/PdfUtil.java
  37. 5 0
      winsea-haixin-plugin-wangluohuoyun/src/main/resources/mapper/HyOrderTravelPathMapper.xml
  38. 43 13
      winsea-haixin-plugin-wangluohuoyun/src/main/resources/mapper/OrderInfoMapper.xml

BIN
templates/Contract1.pdf


+ 2 - 0
winsea-haixin-platform-backend/src/main/resources/application.yml

@@ -82,6 +82,8 @@ auth:
     - /driverPayeeInfo/**/*
     - /hyDriverCapitalInfo/*
     - /hyDriverCapitalInfo/**/*
+    - /hyOrderTravelPath/*
+    - /hyOrderTravelPath/**/*
     - /publishTaskInfo/*
     - /publishTaskInfo/**/*
     - /cargoOwnerInfo/*

+ 1 - 1
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/GeneratorCodeByTables.java

@@ -53,7 +53,7 @@ public class GeneratorCodeByTables {
     }
 
     public static void main(String[] args) throws IOException {
-        generateByTables("Gdc", "com.yh.saas.plugin.yiliangyiyun","hy_public_consultation");
+        generateByTables("Gdc", "com.yh.saas.plugin.yiliangyiyun","hy_order_travel_path");
     }
 
     /**

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

@@ -3,6 +3,7 @@ package com.yh.saas.plugin.yiliangyiyun.controller;
 
 import com.baomidou.mybatisplus.plugins.Page;
 import com.yh.saas.plugin.yiliangyiyun.entity.HyCargoOwnerInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.HyDriverInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.view.DistinguishView;
 import com.yh.saas.plugin.yiliangyiyun.service.ICargoOwnerInfoService;
 import com.yh.saas.plugin.yiliangyiyun.util.EntityAnalyse;
@@ -71,6 +72,14 @@ public class CargoOwnerInfoController {
         return cargoOwnerInfoService.editCargoOwner(hyCargoOwnerInfo);
     }
 
+    /**
+     * 编辑垫付比例
+     */
+    @PostMapping("/api/editProportion")
+    public String editProportion(@RequestBody HyCargoOwnerInfo hyCargoOwnerInfo) {
+        return cargoOwnerInfoService.editProportion(hyCargoOwnerInfo);
+    }
+
     /**
      * 审核
      * @param

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

@@ -61,6 +61,15 @@ public class DriverInfoController {
         return driverInfoService.editInfo(hyDriverInfo);
     }
 
+    /**
+     * 编辑垫付比例
+     */
+    @PostMapping("/api/editProportion")
+    public String editProportion(@RequestBody HyDriverInfo hyDriverInfo) {
+        return driverInfoService.editProportion(hyDriverInfo);
+    }
+
+
     /**
      * 审核
      * @param

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

@@ -1,10 +1,17 @@
 package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
+import com.yh.saas.plugin.yiliangyiyun.entity.FreightInfo;
+import com.yh.saas.plugin.yiliangyiyun.service.IFreightInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import java.text.ParseException;
+
 /**
  * <p>
  * 运费信息 前端控制器
@@ -17,5 +24,27 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/freightInfo")
 public class FreightInfoController {
 
+    @Autowired
+    private IFreightInfoService freightInfoService;
+
+    /**
+     * 预付
+     * @param freightInfo
+     * @return
+     */
+    @PostMapping("/api/advance")
+    public String advance (@RequestBody FreightInfo freightInfo) throws ParseException {
+        return freightInfoService.advance(freightInfo);
+    }
+
+    /**
+     * 尾款
+     * @param freightInfo
+     * @return
+     */
+    @PostMapping("/api/balance")
+    public String balance (@RequestBody  FreightInfo freightInfo) throws ParseException{
+        return freightInfoService.balance(freightInfo);
+    }
 }
 

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

@@ -0,0 +1,47 @@
+package com.yh.saas.plugin.yiliangyiyun.controller;
+
+
+import com.yh.saas.plugin.yiliangyiyun.entity.HyOrderTravelPath;
+import com.yh.saas.plugin.yiliangyiyun.entity.OrderInfo;
+import com.yh.saas.plugin.yiliangyiyun.service.IHyOrderTravelPathService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 记录订单行程轨迹信息 前端控制器
+ * </p>
+ *
+ * @author Gdc
+ * @since 2022-06-28
+ */
+@RestController
+@RequestMapping("/hyOrderTravelPath")
+public class HyOrderTravelPathController {
+
+    @Autowired
+    private IHyOrderTravelPathService hyOrderTravelPathService;
+
+    /**
+     * 添加
+     * @param hyOrderTravelPath
+     * @return
+     */
+    @PostMapping("/api/addInfo")
+    public String addInfo(@RequestBody HyOrderTravelPath hyOrderTravelPath){
+        return hyOrderTravelPathService.addInfo(hyOrderTravelPath);
+    }
+
+    /**
+     * 查看
+     * @param hyOrderTravelPath
+     * @return
+     */
+    @GetMapping("/getInfo")
+    public HyOrderTravelPath getInfo(HyOrderTravelPath hyOrderTravelPath){
+        return hyOrderTravelPathService.getInfo(hyOrderTravelPath);
+    }
+}
+

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

@@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.*;
 
 import java.io.IOException;
 import java.net.URISyntaxException;
+import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -126,7 +127,7 @@ public class OrderInfoController {
      * @return
      */
     @PostMapping("/api/examine")
-    public String examine(@RequestBody OrderInfo orderInfo){
+    public String examine(@RequestBody OrderInfo orderInfo)throws ParseException {
         return orderInfoService.examine(orderInfo);
     }
 

+ 16 - 33
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/FreightInfo.java

@@ -34,10 +34,6 @@ public class FreightInfo extends BaseModel<FreightInfo> {
      */
     @TableId(type = IdType.UUID)
     private String id;
-    /**
-     * 公司id
-     */
-    private String compId;
     /**
      * 订单id
      */
@@ -63,55 +59,42 @@ public class FreightInfo extends BaseModel<FreightInfo> {
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date freightBalanceDate;
     /**
-     * 运费(非垫付订单)
-     */
-    private Double freight;
-    /**
-     * 运费支付时间(非垫付订单)
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date freightDate;
-    /**
-     * 明细
+     * 实际运费
      */
-    private String detailed;
-    /**
-     * 扣款
-     */
-    private Double deduction;
+    private Double actualFreight;
     /**
      * 司机服务费
      */
     private Double driverServiceCharge;
     /**
-     * 货主服务费
+     * 应付
      */
-    private Double ownerServiceCharge;
+    private Double payableFreight;
     /**
-     * 合计付款
+     * 已付
      */
-    private Double totalRepayable;
+    private Double payabledFreight;
     /**
-     * 应还运费
+     * 未付
      */
-    private Double freightPayable;
+    private Double nopayableFreight;
     /**
-     * 合计收款
+     * 司机合计收款
      */
     private Double totalCollection;
     /**
-     * 超期
+     * 货主服务
      */
-    private Double overdueFee;
+    private Double ownerServiceCharge;
     /**
-     * 超期利率
+     * 应收
      */
-    private Double interestRate;
+    private Double receivableFreight;
     /**
-     * 平台确认还款金额
+     * 已收
      */
-    private Double repaymentConfirm;
+    private Double receivabledFreight;
+
 
     @Override
     protected Serializable pkVal() {

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

@@ -3,6 +3,7 @@ package com.yh.saas.plugin.yiliangyiyun.entity;
 import java.io.Serializable;
 
 
+import com.baomidou.mybatisplus.annotations.TableField;
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.enums.IdType;
@@ -60,6 +61,11 @@ public class HyCargoOwnerPayeeInfo extends BaseModel<HyCargoOwnerPayeeInfo> {
      * 默认收款账户标识(1是)
      */
     private String defaultFlag;
+    /**
+     * 设置默认(1是2取消)
+     */
+    @TableField(exist = false)
+    private String flag;
 
 
     @Override

+ 1 - 1
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/HyCarrierInfo.java

@@ -106,7 +106,7 @@ public class HyCarrierInfo extends BaseModel<HyCarrierInfo> {
      */
     private String unloadingAreaLatitude;
     /**
-     * 合计应付运费(元)
+     * 合计运费(元)
      */
     private Double totalFreight;
     /**

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

@@ -66,6 +66,11 @@ public class HyDriverPayeeInfo extends BaseModel<HyDriverPayeeInfo> {
      */
     @TableField(exist = false)
     private String commonId;
+    /**
+     * 设置默认(1是2取消)
+     */
+    @TableField(exist = false)
+    private String flag;
 
 
 

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

@@ -0,0 +1,55 @@
+package com.yh.saas.plugin.yiliangyiyun.entity;
+
+
+
+import java.io.Serializable;
+import java.util.List;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+
+
+import com.baomidou.mybatisplus.enums.IdType;
+import com.yh.saas.common.support.entity.BaseModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 记录订单行程轨迹信息
+ * </p>
+ *
+ * @author Gdc
+ * @since 2022-06-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class HyOrderTravelPath extends BaseModel<HyOrderTravelPath> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(type = IdType.UUID)
+    private String id;
+    /**
+     * 订单id
+     */
+    private String orderId;
+    /**
+     * 经纬度
+     */
+    private String longitudeLatitude;
+
+    @TableField(exist = false)
+    private List<HyOrderTravelPath> hyOrderTravelPaths;
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

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

@@ -245,10 +245,61 @@ public class OrderInfo extends BaseModel<OrderInfo> {
     private String searchKeyWord;
 
     /**
-     * 查询类型
+     * 查询类型(1待审核2待付款3待还款4待开票5已完结)
      */
     @TableField(exist = false)
     private String searchType;
+    /**
+     * 费用id
+     */
+    @TableField(exist = false)
+    private String freightId;
+    /**
+     * 实际运费
+     */
+    @TableField(exist = false)
+    private Double actualFreight;
+    /**
+     * 司机服务费
+     */
+    @TableField(exist = false)
+    private Double driverServiceCharge;
+    /**
+     * 应付
+     */
+    @TableField(exist = false)
+    private Double payable;
+    /**
+     * 已付
+     */
+    @TableField(exist = false)
+    private Double payabled;
+    /**
+     * 未付
+     */
+    @TableField(exist = false)
+    private Double nopayable;
+    /**
+     * 货主服务费
+     */
+    @TableField(exist = false)
+    private Double ownerServiceCharge;
+    /**
+     * 超期费
+     */
+    @TableField(exist = false)
+    private Double overdueFee;
+    /**
+     * 应收
+     */
+    @TableField(exist = false)
+    private Double receivable;
+    /**
+     * 已收
+     */
+    @TableField(exist = false)
+    private Double receivabled;
+
 
     /**
      * 运费信息表
@@ -302,32 +353,6 @@ public class OrderInfo extends BaseModel<OrderInfo> {
     @TableField(exist = false)
     private String carrierId;
 
-    /**
-     * 预付运费
-     */
-    @TableField(exist = false)
-    private Double prepaidFreight;
-    /**
-     * 运费尾款
-     */
-    @TableField(exist = false)
-    private Double freightBalance;
-    /**
-     * 超期费
-     */
-    @TableField(exist = false)
-    private Double overdueFee;
-    /**
-     * 超期利率
-     */
-    @TableField(exist = false)
-    private Double interestRate;
-    /**
-     * 已还
-     */
-    @TableField(exist = false)
-    private Double alreadyRepaid;
-
     /**
      * flag(1通过2驳回)
      */
@@ -450,6 +475,11 @@ public class OrderInfo extends BaseModel<OrderInfo> {
      */
     @TableField(exist = false)
     private String typeFlag;
+    /**
+     * 签合同类型:1预览 2提交
+     */
+    @TableField(exist = false)
+    private String submitFlag;
 
     /**
      * 评价标识(1司机2货主)

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

@@ -36,6 +36,10 @@ public class PublishTaskInfo extends BaseModel<PublishTaskInfo> {
      * 用户id
      */
     private String commonId;
+    /**
+     * 公司id
+     */
+    private String compId;
     /**
      * 任务编号
      */

+ 14 - 16
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/RepaymentInfo.java

@@ -34,10 +34,6 @@ public class RepaymentInfo extends BaseModel<RepaymentInfo> {
      */
     @TableId(type = IdType.UUID)
     private String id;
-    /**
-     * 公司id
-     */
-    private String compId;
     /**
      * 订单id
      */
@@ -47,31 +43,33 @@ public class RepaymentInfo extends BaseModel<RepaymentInfo> {
      */
     private String freightId;
     /**
-     * 还款金额
+     * 运费
      */
-    private Double repayment;
+    private Double freight;
     /**
-     * 还款时间
+     * 超期费
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date repaymentDate;
+    private Double overdueFee;
     /**
-     * 还款尾号
+     * 超期利率
      */
-    private String lastNumber;
+    private Double interestRate;
     /**
-     * 合计应还
+     * 服务费
      */
-    private Double totalRepayable;
+    private Double  serviceCharge;
     /**
-     * 还款账户银行
+     * 合计应
      */
-    private String repaymentBank;
+    private Double totalRepayable;
     /**
      * 已还
      */
     private Double alreadyRepaid;
+    /**
+     * 未还
+     */
+    private Double notRepaid;
 
 
 

+ 2 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/exception/YExceptionEnum.java

@@ -35,6 +35,8 @@ public enum YExceptionEnum {
 	QUALITY_NO_ERROR("ERROR", "业务编号已存在,不可重复!"),
 	INSUFFICIENT_ACCOUNT_BALANCE("ERROR15", "账户余额不足!"),
 	OWNER_ALREADY_EXISTS("ERROR16", "货主身份已存在,不可添加!"),
+	INSUFFICIENT_ACCOUNT_BALANCES("ERROR17", "您的账户余额不足,请充值!"),
+	CONDUCTED_ORDER("ERROR18", "您有正在进行的订单,不可抢单!"),
 	;
 	@Getter
 	private String value;

+ 16 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/HyOrderTravelPathMapper.java

@@ -0,0 +1,16 @@
+package com.yh.saas.plugin.yiliangyiyun.mapper;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.HyOrderTravelPath;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 记录订单行程轨迹信息 Mapper 接口
+ * </p>
+ *
+ * @author Gdc
+ * @since 2022-06-28
+ */
+public interface HyOrderTravelPathMapper extends BaseMapper<HyOrderTravelPath> {
+
+}

+ 8 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/OrderInfoMapper.java

@@ -71,4 +71,12 @@ public interface OrderInfoMapper extends BaseMapper<OrderInfo> {
      * @return
      */
     List<OrderInfo> getListhByCondition(Map<String, Object> pageView);
+
+    /**
+     * 获取一个月内司机订单
+     *
+     * @param pageView
+     * @return
+     */
+    List<OrderInfo> getData(Map<String, Object> pageView);
 }

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

@@ -3,6 +3,7 @@ package com.yh.saas.plugin.yiliangyiyun.service;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.yh.saas.plugin.yiliangyiyun.entity.HyCargoOwnerInfo;
 import com.baomidou.mybatisplus.service.IService;
+import com.yh.saas.plugin.yiliangyiyun.entity.HyDriverInfo;
 
 
 /**
@@ -44,6 +45,13 @@ public interface ICargoOwnerInfoService extends IService<HyCargoOwnerInfo> {
      */
     String editCargoOwner(HyCargoOwnerInfo hyCargoOwnerInfo);
 
+    /**
+     * 编辑垫付比例
+     * @param hyDriverInfo
+     * @return
+     */
+    String editProportion(HyCargoOwnerInfo hyCargoOwnerInfo);
+
     /**
      * 货主后台管理
      * @param hyCargoOwnerInfo

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

@@ -42,6 +42,13 @@ public interface IDriverInfoService extends IService<HyDriverInfo> {
      */
     String editInfo(HyDriverInfo hyDriverInfo);
 
+    /**
+     * 编辑垫付比例
+     * @param hyDriverInfo
+     * @return
+     */
+    String editProportion(HyDriverInfo hyDriverInfo);
+
     /**
      * 司机后台管理页面
      * @param  driverViewInfo

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

@@ -3,6 +3,8 @@ package com.yh.saas.plugin.yiliangyiyun.service;
 import com.yh.saas.plugin.yiliangyiyun.entity.FreightInfo;
 import com.baomidou.mybatisplus.service.IService;
 
+import java.text.ParseException;
+
 /**
  * <p>
  * 运费信息 服务类
@@ -13,4 +15,17 @@ import com.baomidou.mybatisplus.service.IService;
  */
 public interface IFreightInfoService extends IService<FreightInfo> {
 
+    /**
+     * 预付
+     * @param freightInfo
+     * @return
+     */
+    String advance (FreightInfo freightInfo) throws ParseException;
+
+    /**
+     * 尾款
+     * @param freightInfo
+     * @return
+     */
+    String balance (FreightInfo freightInfo) throws ParseException;
 }

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

@@ -0,0 +1,31 @@
+package com.yh.saas.plugin.yiliangyiyun.service;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.HyOrderTravelPath;
+import com.baomidou.mybatisplus.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 记录订单行程轨迹信息 服务类
+ * </p>
+ *
+ * @author Gdc
+ * @since 2022-06-28
+ */
+public interface IHyOrderTravelPathService extends IService<HyOrderTravelPath> {
+
+    /**
+     * 添加
+     * @param hyOrderTravelPath
+     * @return
+     */
+    String addInfo(HyOrderTravelPath hyOrderTravelPath);
+
+    /**
+     * 查看
+     * @param hyOrderTravelPath
+     * @return
+     */
+    HyOrderTravelPath getInfo(HyOrderTravelPath hyOrderTravelPath);
+}

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

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.service.IService;
 
 import java.io.IOException;
 import java.net.URISyntaxException;
+import java.text.ParseException;
 import java.util.List;
 
 /**
@@ -43,6 +44,14 @@ public interface IOrderInfoService extends IService<OrderInfo> {
      */
     List<OrderInfo> selectOrderInfoList();
 
+    /**
+     * 获取一个月内司机的订单
+     *
+     * @param
+     * @return
+     */
+    List<OrderInfo> getData(String commonId);
+
     /**
      * 订单详情
      *
@@ -84,7 +93,7 @@ public interface IOrderInfoService extends IService<OrderInfo> {
      * @param orderInfo
      * @return
      */
-    String examine(OrderInfo orderInfo);
+    String examine(OrderInfo orderInfo) throws ParseException;
 
     /**
      * 订单货主/司机详情,好评率

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

@@ -165,7 +165,16 @@ public class CargoOwnerInfoServiceImpl extends ServiceImpl<CargoOwnerInfoMapper,
         return "OK";
     }
 
-
+    /**
+     * 编辑垫付比例
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public String editProportion(HyCargoOwnerInfo hyCargoOwnerInfo) {
+        //信息编辑
+        this.updateById(hyCargoOwnerInfo);
+        return "OK";
+    }
 
     /**
      * 审核/ 禁用
@@ -260,4 +269,6 @@ public class CargoOwnerInfoServiceImpl extends ServiceImpl<CargoOwnerInfoMapper,
         return hyCargoOwnerInfo;
     }
 
+
+
 }

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

@@ -3,14 +3,12 @@ package com.yh.saas.plugin.yiliangyiyun.service.impl;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.google.gson.internal.$Gson$Preconditions;
 import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
-import com.yh.saas.plugin.yiliangyiyun.entity.HyCarrierInfo;
-import com.yh.saas.plugin.yiliangyiyun.entity.NewsInfo;
-import com.yh.saas.plugin.yiliangyiyun.entity.OrderInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.*;
+import com.yh.saas.plugin.yiliangyiyun.exception.YException;
+import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
 import com.yh.saas.plugin.yiliangyiyun.mapper.CarrierInfoMapper;
-import com.yh.saas.plugin.yiliangyiyun.service.ICarrierInfoService;
+import com.yh.saas.plugin.yiliangyiyun.service.*;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
-import com.yh.saas.plugin.yiliangyiyun.service.INewsInfoService;
-import com.yh.saas.plugin.yiliangyiyun.service.IOrderInfoService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -31,15 +29,24 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
     private ICarrierInfoService carrierInfoService;
     @Autowired
     private INewsInfoService newsInfoService;
+    @Autowired
+    private IFreightInfoService freightInfoService;
+    @Autowired
+    private IPublishTaskInfoService publishTaskInfoService;
+    @Autowired
+    private ICompanyInfoService companyInfoService;
+    @Autowired
+    private ICargoOwnerInfoService cargoOwnerInfoService;
+
 
     /**
      * 查看装车信息
      */
     @Override
     public HyCarrierInfo getHyCarrierInfo(HyCarrierInfo hyCarrierInfo) {
-        HyCarrierInfo hyCarrierInfo1 = this.selectOne(new EntityWrapper<HyCarrierInfo>().eq("order_id",hyCarrierInfo.getOrderId())
-                .eq("delete_flag","0"));
-        if (hyCarrierInfo1 != null){
+        HyCarrierInfo hyCarrierInfo1 = this.selectOne(new EntityWrapper<HyCarrierInfo>().eq("order_id", hyCarrierInfo.getOrderId())
+                .eq("delete_flag", "0"));
+        if (hyCarrierInfo1 != null) {
             return hyCarrierInfo1;
         }
         return null;
@@ -60,24 +67,25 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
             if ("1".equals(hyCarrierInfo.getStatusFlag())) {
                 hyCarrierInfo.setStatus(StatusEnum.TEMPORARILY_STORED.getName());
                 hyCarrierInfo.setStatusFlag(StatusEnum.TEMPORARILY_STORED.getFlag());
-            }
-            else {
+            } else {
                 hyCarrierInfo.setStatus(StatusEnum.SUBMITTED.getName());
                 hyCarrierInfo.setStatusFlag(StatusEnum.SUBMITTED.getFlag());
                 //司机确认装车后,订单状态改为待货主确认装车
                 OrderInfo orderInfo = orderInfoService.selectOne(new EntityWrapper<OrderInfo>()
-                    .eq("id", hyCarrierInfo1.getOrderId())
-                    .eq("delete_flag","0"));
-                orderInfo.setOrderStatus(StatusEnum.OWNER_CONFIRMED_LOADING.getName());
-                orderInfo.setOrderStatusKey(StatusEnum.OWNER_CONFIRMED_LOADING.getFlag());
-                orderInfo.setCargoOwnerStatus(StatusEnum.CONFIRMED_LOADING.getName());
-                orderInfo.setCargoOwnerStatusKey(StatusEnum.CONFIRMED_LOADING.getFlag());
-                orderInfoService.updateById(orderInfo);
+                        .eq("id", hyCarrierInfo1.getOrderId())
+                        .eq("delete_flag", "0"));
+                if (orderInfo != null) {
+                    orderInfo.setOrderStatus(StatusEnum.OWNER_CONFIRMED_LOADING.getName());
+                    orderInfo.setOrderStatusKey(StatusEnum.OWNER_CONFIRMED_LOADING.getFlag());
+                    orderInfo.setCargoOwnerStatus(StatusEnum.CONFIRMED_LOADING.getName());
+                    orderInfo.setCargoOwnerStatusKey(StatusEnum.CONFIRMED_LOADING.getFlag());
+                    orderInfoService.updateById(orderInfo);
+                }
                 // 向货主发送信息
                 NewsInfo newsInfo = new NewsInfo();
                 newsInfo.setCrtCommonId(orderInfo.getCommonId());
                 newsInfo.setReCommonId(orderInfo.getCargoCommonId());
-                newsInfo.setNewsContent("司机 "+orderInfo.getDriverName()+"已确认装车,订单编号"+orderInfo.getOrderNo()+"。");
+                newsInfo.setNewsContent("司机 " + orderInfo.getDriverName() + "已确认装车,订单编号" + orderInfo.getOrderNo() + "。");
                 newsInfo.setNumber(orderInfo.getOrderNo());
                 newsInfo.setBussId(orderInfo.getId());
                 newsInfo.setNewsTypeKey("2");
@@ -99,29 +107,37 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
     public String unLoadingAdd(HyCarrierInfo hyCarrierInfo) {
         //根据id查询承运信息
         HyCarrierInfo hyCarrierInfo1 = this.selectById(hyCarrierInfo.getId());
-        if(hyCarrierInfo != null){
+        if (hyCarrierInfo != null) {
             //判断暂存提交(前端传参1暂存3提交)
             if ("1".equals(hyCarrierInfo.getStatusFlag())) {
                 this.updateById(hyCarrierInfo);
-            }
-            else {
+            } else {
                 hyCarrierInfo.setStatus(StatusEnum.SUBMITTED.getName());
                 hyCarrierInfo.setStatusFlag(StatusEnum.SUBMITTED.getFlag());
                 this.updateById(hyCarrierInfo);
                 //司机确认卸车后,订单状态改为待货主确认卸车
                 OrderInfo orderInfo = orderInfoService.selectOne(new EntityWrapper<OrderInfo>()
                         .eq("id", hyCarrierInfo1.getOrderId())
-                        .eq("delete_flag","0"));
-                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);
+                        .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);
+                }
+                //修改费用表实际运费
+                FreightInfo freightInfo = freightInfoService.selectOne(new EntityWrapper<FreightInfo>().eq("order_id", hyCarrierInfo1.getOrderId())
+                        .eq("delete_flag", "0"));
+                if (freightInfo != null) {
+                    freightInfo.setActualFreight(hyCarrierInfo.getTotalFreight());
+                    freightInfoService.updateById(freightInfo);
+                }
                 // 向货主发送信息
                 NewsInfo newsInfo = new NewsInfo();
                 newsInfo.setCrtCommonId(orderInfo.getCommonId());
                 newsInfo.setReCommonId(orderInfo.getCargoCommonId());
-                newsInfo.setNewsContent("司机 "+orderInfo.getDriverName()+"已确认卸车,订单编号"+orderInfo.getOrderNo()+"。");
+                newsInfo.setNewsContent("司机 " + orderInfo.getDriverName() + "已确认卸车,订单编号" + orderInfo.getOrderNo() + "。");
                 newsInfo.setNumber(orderInfo.getOrderNo());
                 newsInfo.setBussId(orderInfo.getId());
                 newsInfo.setNewsTypeKey("2");
@@ -131,6 +147,7 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
         }
         return "OK";
     }
+
     /**
      * 货主端确认装卸车
      *
@@ -141,27 +158,105 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
     public String cargoOwnerLoadingAdd(HyCarrierInfo hyCarrierInfo) {
         //查询订单
         OrderInfo orderInfo = orderInfoService.selectById(hyCarrierInfo.getId());
-        if (orderInfo != null){
-            if ("1".equals(hyCarrierInfo.getLoadingFlag())){
-                if ("1".equals(hyCarrierInfo.getFlag())){
+        if (orderInfo != null) {
+            if ("1".equals(hyCarrierInfo.getLoadingFlag())) {
+                if ("1".equals(hyCarrierInfo.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());
-                }else {
+                    //查询订单是否垫付
+                    if("0".equals(orderInfo.getFreightAdvance())){
+                        if (orderInfo.getCompId() != null && !orderInfo.getCompId().isEmpty()){
+                           //货主是公司
+                            HyCompanyInfo hyCompanyInfo = companyInfoService.selectById(orderInfo.getCompId());
+                            if (hyCompanyInfo.getAccountBalance() < orderInfo.getAdvanceCharge()){
+                                //账户余额小于预付款
+                                throw new YException(YExceptionEnum.INSUFFICIENT_ACCOUNT_BALANCES);
+                            }else {
+                                //冻结公司账户余额
+                                Double d = hyCompanyInfo.getAccountBalance();
+                                Double d1 = hyCompanyInfo.getFrozenAmount();
+                                hyCompanyInfo.setAccountBalance(d-orderInfo.getAdvanceCharge());
+                                hyCompanyInfo.setFrozenAmount(d1+orderInfo.getAdvanceCharge());
+                                companyInfoService.updateById(hyCompanyInfo);
+                            }
+                        }
+                        else {
+                            //货主是个人
+                            HyCargoOwnerInfo hyCargoOwnerInfo = cargoOwnerInfoService.selectOne(new EntityWrapper<HyCargoOwnerInfo>()
+                                .eq("common_id",orderInfo.getCargoCommonId()).eq("delete_flag","0"));
+                            if (hyCargoOwnerInfo.getAccountBalance() < orderInfo.getAdvanceCharge()){
+                                //账户余额小于预付款
+                                throw new YException(YExceptionEnum.INSUFFICIENT_ACCOUNT_BALANCES);
+                            }else {
+                                //冻结公司账户余额
+                                Double d = hyCargoOwnerInfo.getAccountBalance();
+                                Double d1 = hyCargoOwnerInfo.getFrozenAmount();
+                                hyCargoOwnerInfo.setAccountBalance(d-orderInfo.getAdvanceCharge());
+                                hyCargoOwnerInfo.setFrozenAmount(d1+orderInfo.getAdvanceCharge());
+                                cargoOwnerInfoService.updateById(hyCargoOwnerInfo);
+                            }
+                        }
+                    }
+                } else {
                     //驳回装车更改订单状态
                     orderInfo.setOrderStatus(StatusEnum.OWNER_REJECT_LOADING.getName());
                     orderInfo.setOrderStatusKey(StatusEnum.OWNER_REJECT_LOADING.getFlag());
                     orderInfo.setCargoOwnerStatus(StatusEnum.REJECT_LOADING.getName());
                     orderInfo.setCargoOwnerStatusKey(StatusEnum.REJECT_LOADING.getFlag());
                 }
-            }else {
-                if ("1".equals(hyCarrierInfo.getFlag())){
+            } else {
+                if ("1".equals(hyCarrierInfo.getFlag())) {
+                    //确认卸车
                     orderInfo.setOrderStatus(StatusEnum.PLATFORM_CONFIRMED_UNLOAD.getName());
                     orderInfo.setOrderStatusKey(StatusEnum.PLATFORM_CONFIRMED_UNLOAD.getFlag());
                     orderInfo.setCargoOwnerStatus(StatusEnum.PLATFORM_CONFIRMED_UNLOAD.getName());
                     orderInfo.setCargoOwnerStatusKey(StatusEnum.PLATFORM_CONFIRMED_UNLOAD.getFlag());
-                }else {
+                    //查询订单是否垫付
+                    //非垫付订单
+                    if("0".equals(orderInfo.getFreightAdvance())){
+                        //查询费用信息
+                        FreightInfo freightInfo = freightInfoService.selectOne(new EntityWrapper<FreightInfo>()
+                        .eq("order_id",orderInfo.getId()).eq("delete_flag","0"));
+                        //尾款
+                        Double weikuan = freightInfo.getActualFreight() - freightInfo.getPrepaidFreight();
+                        //尾款+服务费
+                        Double zong = weikuan + freightInfo.getOwnerServiceCharge();
+                        if (orderInfo.getCompId() != null && !orderInfo.getCompId().isEmpty()){
+                            //货主是公司
+                            HyCompanyInfo hyCompanyInfo = companyInfoService.selectById(orderInfo.getCompId());
+                            if (hyCompanyInfo.getAccountBalance() < zong){
+                                //账户余额小于尾款+服务费
+                                throw new YException(YExceptionEnum.INSUFFICIENT_ACCOUNT_BALANCES);
+                            }else {
+                                //冻结公司账户余额
+                                Double d = hyCompanyInfo.getAccountBalance();
+                                Double d1 = hyCompanyInfo.getFrozenAmount();
+                                hyCompanyInfo.setAccountBalance(d-zong);
+                                hyCompanyInfo.setFrozenAmount(d1+zong);
+                                companyInfoService.updateById(hyCompanyInfo);
+                            }
+                        }
+                        else {
+                            //货主是个人
+                            HyCargoOwnerInfo hyCargoOwnerInfo = cargoOwnerInfoService.selectOne(new EntityWrapper<HyCargoOwnerInfo>()
+                                    .eq("common_id",orderInfo.getCargoCommonId()).eq("delete_flag","0"));
+                            if (hyCargoOwnerInfo.getAccountBalance() < zong){
+                                //账户余额小于预付款
+                                throw new YException(YExceptionEnum.INSUFFICIENT_ACCOUNT_BALANCES);
+                            }else {
+                                //冻结公司账户余额
+                                Double d = hyCargoOwnerInfo.getAccountBalance();
+                                Double d1 = hyCargoOwnerInfo.getFrozenAmount();
+                                hyCargoOwnerInfo.setAccountBalance(d-zong);
+                                hyCargoOwnerInfo.setFrozenAmount(d1+zong);
+                                cargoOwnerInfoService.updateById(hyCargoOwnerInfo);
+                            }
+                        }
+                    }
+                } else {
                     //驳回卸车更改订单状态
                     orderInfo.setOrderStatus(StatusEnum.OWNER_REJECT_UNLOAD.getName());
                     orderInfo.setOrderStatusKey(StatusEnum.OWNER_REJECT_UNLOAD.getFlag());

+ 20 - 15
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/DriverInfoServiceImpl.java

@@ -63,6 +63,16 @@ public class DriverInfoServiceImpl extends ServiceImpl<DriverInfoMapper, HyDrive
         // 查询司机总数
         Integer dataCount = baseMapper.getCountByCondition(pageView);
         List<HyDriverInfo> dataList = baseMapper.getListByCondition(pageView);
+        if (!CollectionUtils.isEmpty(dataList)){
+            dataList.forEach(driverViewInfo1 -> {
+                driverViewInfo1.setHyDriverCarInfoList(driverCarInfoService.selectList(new EntityWrapper<HyDriverCarInfo>()
+                        .eq(HyDriverCarInfo.QueryFiles.DRIVER_ID,driverViewInfo1.getId())
+                        .eq(HyDriverCarInfo.QueryFiles.DELETE_FLAG,NumberConstant.CONSTANT0)));
+                driverViewInfo1.setHyDriverPayeeInfoList(driverPayeeInfoService.selectList(new EntityWrapper<HyDriverPayeeInfo>()
+                        .eq(HyDriverPayeeInfo.QueryFiles.DRIVER_ID,driverViewInfo1.getId())
+                        .eq(HyDriverPayeeInfo.QueryFiles.DELETE_FLAG,NumberConstant.CONSTANT0)));
+            });
+        }
         Page<HyDriverInfo> page = new Page<>();
         page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
         page.setTotal(dataCount == null ? 0 : dataCount);
@@ -145,19 +155,6 @@ public class DriverInfoServiceImpl extends ServiceImpl<DriverInfoMapper, HyDrive
         hyDriverInfo.setAuthenticationStatus(StatusEnum.IDENTITY_REVIEWED.getName());
         //主表信息编辑
         this.updateById(hyDriverInfo);
-        //货车信息编辑
-        List<HyDriverCarInfo> hyDriverCarInfoList = hyDriverInfo.getHyDriverCarInfoList();
-        if (!CollectionUtils.isEmpty(hyDriverCarInfoList)) {
-            for (HyDriverCarInfo hyDriverCarInfo : hyDriverCarInfoList) {
-                if (StringUtils.isEmpty(hyDriverCarInfo.getId())) {
-                    hyDriverCarInfo.setId(IdGenerator.generateUUID());
-                    hyDriverCarInfo.setDriverId(hyDriverInfo.getId());
-                    driverCarInfoService.insert(hyDriverCarInfo);
-                } else {
-                    driverCarInfoService.updateById(hyDriverCarInfo);
-                }
-            }
-        }
         //收款人账户信息编辑
         List<HyDriverPayeeInfo> hyDriverPayeeInfoList = hyDriverInfo.getHyDriverPayeeInfoList();
         if (!CollectionUtils.isEmpty(hyDriverPayeeInfoList)) {
@@ -174,8 +171,16 @@ public class DriverInfoServiceImpl extends ServiceImpl<DriverInfoMapper, HyDrive
         return "OK";
     }
 
-
-
+    /**
+     * 编辑垫付比例
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public String editProportion(HyDriverInfo hyDriverInfo) {
+        //信息编辑
+        this.updateById(hyDriverInfo);
+        return "OK";
+    }
 
     /**
      * 审核/ 禁用

+ 11 - 4
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/DriverPayeeInfoServiceImpl.java

@@ -104,15 +104,22 @@ public class DriverPayeeInfoServiceImpl extends ServiceImpl<DriverPayeeInfoMappe
                 .eq(HyDriverPayeeInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0));
         if(!CollectionUtils.isEmpty(hyDriverPayeeInfoList)){
             for (HyDriverPayeeInfo hyDriverPayeeInfo1 : hyDriverPayeeInfoList){
-                if(hyDriverPayeeInfo1.getId().equals(hyDriverPayeeInfo.getId())){
-                    //设置默认
-                    hyDriverPayeeInfo1.setDefaultFlag("1");
-                    this.updateById(hyDriverPayeeInfo1);
+                if ("1".equals(hyDriverPayeeInfo.getFlag())) {
+                    if(hyDriverPayeeInfo1.getId().equals(hyDriverPayeeInfo.getId())){
+                        //设置默认
+                        hyDriverPayeeInfo1.setDefaultFlag("1");
+                        this.updateById(hyDriverPayeeInfo1);
+                    }else {
+                        //取消默认
+                        hyDriverPayeeInfo1.setDefaultFlag("0");
+                        this.updateById(hyDriverPayeeInfo1);
+                    }
                 }else {
                     //取消默认
                     hyDriverPayeeInfo1.setDefaultFlag("0");
                     this.updateById(hyDriverPayeeInfo1);
                 }
+
             }
         }
         return "ok";

+ 6 - 5
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/FleetInfoServiceImpl.java

@@ -13,6 +13,7 @@ import com.yh.saas.plugin.yiliangyiyun.mapper.FleetInfoMapper;
 import com.yh.saas.plugin.yiliangyiyun.service.IFleetInfoService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.yh.saas.plugin.yiliangyiyun.service.IFleetMemberInfoService;
+import com.yh.saas.plugin.yiliangyiyun.util.CheckTxtUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -103,11 +104,11 @@ public class FleetInfoServiceImpl extends ServiceImpl<FleetInfoMapper, FleetInfo
     public String editFleetInfo(FleetInfo fleetInfo) {
         //1发公告
         if ("1".equals(fleetInfo.getFlag())) {
-//            boolean one = CheckTxtUtil.contains(fleetInfo.getNotice());
-//            if (one){
-//                //公告内容不符合要求
-//                throw new YException(YExceptionEnum.NOTICE_NON_CONFORMANCE);
-//            }
+            boolean one =  CheckTxtUtil.checkTxt(fleetInfo.getNotice()).size() > 0;
+            if (one){
+                //公告内容不符合要求
+                throw new YException(YExceptionEnum.NOTICE_NON_CONFORMANCE);
+            }
             //查询本车队除了队长的所有成员
             List<FleetMemberInfo> fleetMemberInfoList = fleetMemberInfoService.selectList(new EntityWrapper<FleetMemberInfo>()
                     .eq("fleet_id", fleetInfo.getId()).ne("captain_flag", "1").eq("status_key", "5")

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

@@ -1,14 +1,28 @@
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
-import com.yh.saas.plugin.yiliangyiyun.entity.FreightInfo;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.yh.saas.common.support.util.IdGenerator;
+import com.yh.saas.plugin.yiliangyiyun.entity.*;
+import com.yh.saas.plugin.yiliangyiyun.exception.YException;
+import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
 import com.yh.saas.plugin.yiliangyiyun.mapper.FreightInfoMapper;
-import com.yh.saas.plugin.yiliangyiyun.service.IFreightInfoService;
+import com.yh.saas.plugin.yiliangyiyun.service.*;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+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;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
 
 /**
  * <p>
- * 运费信息 服务实现类
+ * 费信息 服务实现类
  * </p>
  *
  * @author Gdc
@@ -17,4 +31,145 @@ import org.springframework.stereotype.Service;
 @Service
 public class FreightInfoServiceImpl extends ServiceImpl<FreightInfoMapper, FreightInfo> implements IFreightInfoService {
 
+    @Autowired
+    private IHyDriverCapitalInfoService hyDriverCapitalInfoService;
+    @Autowired
+    private IOrderInfoService orderInfoService;
+    @Autowired
+    private IRepaymentInfoService repaymentInfoService;
+    @Autowired
+    private ICompanyInfoService companyInfoService;
+    @Autowired
+    private ICargoOwnerInfoService cargoOwnerInfoService;
+
+    /**
+     * 预付
+     *
+     * @param freightInfo
+     * @return
+     */
+    @Override
+    public String advance(FreightInfo freightInfo) throws ParseException {
+        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String Time = df.format(new Date());
+        FreightInfo freightInfo1 = this.selectById(freightInfo.getId());
+        freightInfo1.setPrepaidFreight(freightInfo.getPrepaidFreight());
+        freightInfo1.setPrepaidFreightDate(df.parse(Time));
+        freightInfo1.setPayabledFreight(freightInfo.getPrepaidFreight());
+        freightInfo1.setNopayableFreight(freightInfo1.getPayableFreight() - freightInfo.getPrepaidFreight());
+        freightInfo1.setReceivableFreight(freightInfo1.getOwnerServiceCharge() + freightInfo.getPrepaidFreight());
+        boolean one = this.updateById(freightInfo1);
+        //查询订单
+        OrderInfo orderInfo1 = orderInfoService.selectById(freightInfo1.getOrderId());
+        //生成司机账单
+        HyDriverCapitalInfo hyDriverCapitalInfo = new HyDriverCapitalInfo();
+        hyDriverCapitalInfo.setId(IdGenerator.generateUUID());
+        hyDriverCapitalInfo.setCommonId(orderInfo1.getCommonId());
+        hyDriverCapitalInfo.setTypes("预付款");
+        hyDriverCapitalInfo.setAmountMoney(freightInfo.getPrepaidFreight());
+        hyDriverCapitalInfo.setOrderId(orderInfo1.getId());
+        hyDriverCapitalInfo.setOrderNo(orderInfo1.getOrderNo());
+        boolean two = hyDriverCapitalInfoService.insert(hyDriverCapitalInfo);
+        if (one && two) {
+            return "ok";
+        } else {
+            return "ng";
+        }
+    }
+
+    /**
+     * 尾款
+     *
+     * @param freightInfo
+     * @return
+     */
+    @Override
+    public String balance(FreightInfo freightInfo) throws ParseException {
+        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String Time = df.format(new Date());
+        FreightInfo freightInfo1 = this.selectById(freightInfo.getId());
+        freightInfo1.setFreightBalance(freightInfo.getFreightBalance());
+        freightInfo1.setFreightBalanceDate(df.parse(Time));
+        Double d = freightInfo1.getPayabledFreight();
+        freightInfo1.setPayabledFreight(d + freightInfo.getFreightBalance());
+        freightInfo1.setNopayableFreight(freightInfo1.getPayableFreight() - freightInfo1.getPayabledFreight());
+        Double d1 = freightInfo1.getReceivableFreight();
+        freightInfo1.setReceivableFreight(d1 + freightInfo.getFreightBalance());
+        boolean one = this.updateById(freightInfo1);
+        //查询订单
+        OrderInfo orderInfo1 = orderInfoService.selectById(freightInfo1.getOrderId());
+        //生成司机账单
+        HyDriverCapitalInfo hyDriverCapitalInfo = new HyDriverCapitalInfo();
+        hyDriverCapitalInfo.setId(IdGenerator.generateUUID());
+        hyDriverCapitalInfo.setCommonId(orderInfo1.getCommonId());
+        hyDriverCapitalInfo.setTypes("尾款");
+        hyDriverCapitalInfo.setAmountMoney(freightInfo.getFreightBalance());
+        hyDriverCapitalInfo.setOrderId(orderInfo1.getId());
+        hyDriverCapitalInfo.setOrderNo(orderInfo1.getOrderNo());
+        boolean two = hyDriverCapitalInfoService.insert(hyDriverCapitalInfo);
+        //生成还款信息
+        RepaymentInfo repaymentInfo = new RepaymentInfo();
+        repaymentInfo.setId(IdGenerator.generateUUID());
+        repaymentInfo.setOrderId(orderInfo1.getId());
+        repaymentInfo.setFreightId(freightInfo.getId());
+        repaymentInfo.setFreight(freightInfo1.getPrepaidFreight() + freightInfo1.getFreightBalance());
+        repaymentInfo.setOverdueFee(0d);
+        repaymentInfo.setInterestRate(0.03);
+        repaymentInfo.setServiceCharge(freightInfo1.getOwnerServiceCharge());
+        repaymentInfo.setTotalRepayable(freightInfo1.getReceivableFreight());
+        repaymentInfo.setAlreadyRepaid(0d);
+        repaymentInfo.setNotRepaid(freightInfo1.getReceivableFreight());
+        boolean three = repaymentInfoService.insert(repaymentInfo);
+        //冻结货主可用余额
+        if (orderInfo1.getCompId() != null && !orderInfo1.getCompId().isEmpty()) {
+            //货主是公司
+            HyCompanyInfo hyCompanyInfo = companyInfoService.selectById(orderInfo1.getCompId());
+            if (hyCompanyInfo.getAccountBalance() < freightInfo1.getReceivableFreight()) {
+                //账户余额小于应收
+                throw new YException(YExceptionEnum.INSUFFICIENT_ACCOUNT_BALANCES);
+            } else {
+                //冻结公司账户余额
+                Double d2 = hyCompanyInfo.getAccountBalance();
+                Double d3 = hyCompanyInfo.getFrozenAmount();
+                hyCompanyInfo.setAccountBalance(d2 - freightInfo1.getReceivableFreight());
+                hyCompanyInfo.setFrozenAmount(d3 + freightInfo1.getReceivableFreight());
+                companyInfoService.updateById(hyCompanyInfo);
+            }
+        } else {
+            //货主是个人
+            HyCargoOwnerInfo hyCargoOwnerInfo = cargoOwnerInfoService.selectOne(new EntityWrapper<HyCargoOwnerInfo>()
+                    .eq("common_id", orderInfo1.getCargoCommonId()).eq("delete_flag", "0"));
+            if (hyCargoOwnerInfo.getAccountBalance() < freightInfo1.getReceivableFreight()) {
+                //账户余额小于应收
+                throw new YException(YExceptionEnum.INSUFFICIENT_ACCOUNT_BALANCES);
+            } else {
+                //冻结公司账户余额
+                Double d2 = hyCargoOwnerInfo.getAccountBalance();
+                Double d3 = hyCargoOwnerInfo.getFrozenAmount();
+                hyCargoOwnerInfo.setAccountBalance(d2 - freightInfo1.getReceivableFreight());
+                hyCargoOwnerInfo.setFrozenAmount(d3 + freightInfo1.getReceivableFreight());
+                cargoOwnerInfoService.updateById(hyCargoOwnerInfo);
+            }
+        }
+        if (one && two && three) {
+            return "ok";
+        } else {
+            return "ng";
+        }
+    }
+
+    /**
+     * 每秒执行一次
+     */
+    @Transactional
+    @Scheduled(cron = "* * * * * ?")
+    public void rushTime() {
+        //获取当前日期的前一天
+        Calendar calendar1 = Calendar.getInstance();
+        calendar1.add(Calendar.DATE, -1);
+        Date date = calendar1.getTime();
+
+        //查询费用信息
+        List<FreightInfo> freightInfoList = this.selectList(new EntityWrapper<FreightInfo>().eq("delete_flag","0"));
+    }
 }

+ 10 - 4
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/HyCargoOwnerPayeeInfoServiceImpl.java

@@ -96,10 +96,16 @@ public class HyCargoOwnerPayeeInfoServiceImpl extends ServiceImpl<HyCargoOwnerPa
                 .eq(HyCargoOwnerPayeeInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0));
         if(!CollectionUtils.isEmpty(hyCargoOwnerPayeeInfoList)){
             for (HyCargoOwnerPayeeInfo hyCargoOwnerPayeeInfo1 : hyCargoOwnerPayeeInfoList){
-                if(hyCargoOwnerPayeeInfo1.getId().equals(hyCargoOwnerPayeeInfo.getId())){
-                    //设置默认
-                    hyCargoOwnerPayeeInfo1.setDefaultFlag("1");
-                    this.updateById(hyCargoOwnerPayeeInfo1);
+                if ("1".equals(hyCargoOwnerPayeeInfo.getFlag())) {
+                    if (hyCargoOwnerPayeeInfo1.getId().equals(hyCargoOwnerPayeeInfo.getId())) {
+                        //设置默认
+                        hyCargoOwnerPayeeInfo1.setDefaultFlag("1");
+                        this.updateById(hyCargoOwnerPayeeInfo1);
+                    } else {
+                        //取消默认
+                        hyCargoOwnerPayeeInfo1.setDefaultFlag("0");
+                        this.updateById(hyCargoOwnerPayeeInfo1);
+                    }
                 }else {
                     //取消默认
                     hyCargoOwnerPayeeInfo1.setDefaultFlag("0");

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

@@ -0,0 +1,51 @@
+package com.yh.saas.plugin.yiliangyiyun.service.impl;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.yh.saas.common.support.util.IdGenerator;
+import com.yh.saas.plugin.yiliangyiyun.entity.HyOrderTravelPath;
+import com.yh.saas.plugin.yiliangyiyun.mapper.HyOrderTravelPathMapper;
+import com.yh.saas.plugin.yiliangyiyun.service.IHyOrderTravelPathService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 记录订单行程轨迹信息 服务实现类
+ * </p>
+ *
+ * @author Gdc
+ * @since 2022-06-28
+ */
+@Service
+public class HyOrderTravelPathServiceImpl extends ServiceImpl<HyOrderTravelPathMapper, HyOrderTravelPath> implements IHyOrderTravelPathService {
+
+    /**
+     * 添加
+     * @param hyOrderTravelPath
+     * @return
+     */
+    @Override
+    public String addInfo(HyOrderTravelPath hyOrderTravelPath){
+        hyOrderTravelPath.setId(IdGenerator.generateUUID());
+        hyOrderTravelPath.setOrderId(hyOrderTravelPath.getOrderId());
+        hyOrderTravelPath.setLongitudeLatitude(hyOrderTravelPath.getLongitudeLatitude());
+        this.insert(hyOrderTravelPath);
+        return "ok";
+    }
+
+    /**
+     * 查看
+     * @param hyOrderTravelPath
+     * @return
+     */
+    @Override
+    public HyOrderTravelPath getInfo(HyOrderTravelPath hyOrderTravelPath){
+        HyOrderTravelPath hyOrderTravelPath1 = this.selectOne(new EntityWrapper<HyOrderTravelPath>()
+        .eq("order_id",hyOrderTravelPath.getOrderId()).eq("delete_flag","0"));
+        return hyOrderTravelPath1;
+    }
+}

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

@@ -15,6 +15,7 @@ import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.yh.saas.plugin.yiliangyiyun.util.PdfUtil;
 import org.activiti.engine.impl.util.CollectionUtil;
 import org.apache.commons.collections.CollectionUtils;
+
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStream;
@@ -35,8 +36,10 @@ import org.apache.http.util.EntityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+
 import java.net.URISyntaxException;
 import java.text.DecimalFormat;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -71,6 +74,12 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
     private PdfUtil pdfUtil;
     @Autowired
     private ICargoOwnerInfoService cargoOwnerInfoService;
+    @Autowired
+    private ICompanyInfoService companyInfoService;
+    @Autowired
+    private IHyCargoOwnerCapitalInfoService hyCargoOwnerCapitalInfoService;
+    @Autowired
+    private IHyDriverCapitalInfoService hyDriverCapitalInfoService;
 
     /**
      * 司机订单列表
@@ -94,7 +103,6 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
         List<OrderInfo> dataList = baseMapper.getListByCondition(pageView);
         if (CollectionUtil.isNotEmpty(dataList)) {
             for (int i = 0; i < dataList.size(); i++) {
-
                 //运费信息
                 FreightInfo freightInfo = freightInfoService.selectOne(new EntityWrapper<FreightInfo>().eq(FreightInfo.QueryFiles.ORDER_ID, dataList.get(i).getId()));
                 if (freightInfo != null) {
@@ -140,8 +148,8 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                 }
                 //查询车辆信息
                 List<HyDriverCarInfo> hyDriverCarInfoList = driverCarInfoService.selectList(new EntityWrapper<HyDriverCarInfo>()
-                        .eq("driver_id",dataList.get(i).getDriverId()).eq("status_key","5").eq("delete_flag","0"));
-                if (CollectionUtils.isNotEmpty(hyDriverCarInfoList)){
+                        .eq("driver_id", dataList.get(i).getDriverId()).eq("status_key", "5").eq("delete_flag", "0"));
+                if (CollectionUtils.isNotEmpty(hyDriverCarInfoList)) {
                     dataList.get(i).setHyDriverCarInfos(hyDriverCarInfoList);
                 }
                 //运费信息
@@ -176,14 +184,29 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
         return dataList;
     }
 
+    /**
+     * 获取一个月内司机的订单
+     *
+     * @param
+     * @return
+     */
+    @Override
+    public List<OrderInfo> getData(String commonId) {
+        Map<String, Object> pageView = new HashMap<>(3);
+        pageView.put("commonId", commonId);
+        List<OrderInfo> dataList = baseMapper.getData(pageView);
+        return dataList;
+    }
+
 
     /**
      * 订单货主/司机详情,好评率
+     *
      * @param
      * @return
      */
     @Override
-    public OrderInfo selectHaoPing(String commonId,String evaluateFlag) {
+    public OrderInfo selectHaoPing(String commonId, String evaluateFlag) {
         OrderInfo orderInfo = new OrderInfo();
         //好评率
         String hao = "";
@@ -191,15 +214,15 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
         Double zong = 0.0;
         //查询评价数
         Integer evaluateInfoCount3 = evaluateInfoService.selectCount(new EntityWrapper<EvaluateInfo>()
-                .eq("evaluatored_id", commonId).eq("delete_flag","0"));
+                .eq("evaluatored_id", commonId).eq("delete_flag", "0"));
         //查询评价集合
         List<EvaluateInfo> evaluateInfos = evaluateInfoService.selectList(new EntityWrapper<EvaluateInfo>()
                 .eq("evaluatored_id", commonId));
         //司机
-        if ("1".equals(evaluateFlag)){
+        if ("1".equals(evaluateFlag)) {
             //查询司机发运次数
             Integer count = this.selectCount(new EntityWrapper<OrderInfo>()
-                    .eq("common_id", commonId).eq("order_status_key","23").eq("delete_flag","0"));
+                    .eq("common_id", commonId).eq("order_status_key", "23").eq("delete_flag", "0"));
             orderInfo.setCountFa(String.valueOf(count));
             //查询好评数
             Integer evaluateInfoCount = evaluateInfoService.selectCount(new EntityWrapper<EvaluateInfo>()
@@ -221,17 +244,17 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                 Long fen = 0L;
                 for (int i = 0; i < evaluateInfos.size(); i++) {
                     fen = fen + evaluateInfos.get(i).getDriverCredit() + evaluateInfos.get(i).getTranEfficiency() +
-                    evaluateInfos.get(i).getTranSafety() + evaluateInfos.get(i).getServiceQuality() +
-                    evaluateInfos.get(i).getSatisfaction();
+                            evaluateInfos.get(i).getTranSafety() + evaluateInfos.get(i).getServiceQuality() +
+                            evaluateInfos.get(i).getSatisfaction();
                 }
                 if (fen != 0) {
                     zong = Double.valueOf(fen * 5) / (evaluateInfos.size() * 25);
                 }
             }
-        }else {
+        } else {
             //查询货主发运次数
             Integer count = this.selectCount(new EntityWrapper<OrderInfo>()
-                    .eq("cargo_common_id", commonId).eq("cargo_owner_status_key","23").eq("delete_flag","0"));
+                    .eq("cargo_common_id", commonId).eq("cargo_owner_status_key", "23").eq("delete_flag", "0"));
             orderInfo.setCountFa(String.valueOf(count));
             //查询好评数
             Integer evaluateInfoCount = evaluateInfoService.selectCount(new EntityWrapper<EvaluateInfo>()
@@ -406,20 +429,27 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
             orderInfo1.setCargoOwnerStatus(StatusEnum.OWNER_ORDER_FINISH.getName());
             this.updateById(orderInfo1);
         }
-        //司机承运次数+1
+        //查询费用表
+        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"));
-        if (hyDriverInfo != null){
+                .eq("common_id", orderInfo1.getCommonId()).eq("delete_flag", "0"));
+        if (hyDriverInfo != null) {
             Long count = hyDriverInfo.getShipmentsNumber() + 1;
             hyDriverInfo.setShipmentsNumber(count);
+            Double d = hyDriverInfo.getAccumulatedFreight();
+            hyDriverInfo.setAccumulatedFreight(d+freightInfo.getActualFreight()-freightInfo.getDriverServiceCharge());
             driverInfoService.updateById(hyDriverInfo);
         }
-        //货主发运次数+1
+        //货主发运次数+1,计算累计支付运费
         HyCargoOwnerInfo hyCargoOwnerInfo = cargoOwnerInfoService.selectOne(new EntityWrapper<HyCargoOwnerInfo>()
-                .eq("common_id",orderInfo1.getCargoCommonId()).eq("delete_flag","0"));
-        if (hyCargoOwnerInfo != null){
+                .eq("common_id", orderInfo1.getCargoCommonId()).eq("delete_flag", "0"));
+        if (hyCargoOwnerInfo != null) {
             Long count = hyCargoOwnerInfo.getShipmentsNumber() + 1;
             hyCargoOwnerInfo.setShipmentsNumber(count);
+            Double d = hyCargoOwnerInfo.getAccumulatedFreight();
+            hyCargoOwnerInfo.setAccumulatedFreight(d+freightInfo.getActualFreight()+freightInfo.getOwnerServiceCharge());
             cargoOwnerInfoService.updateById(hyCargoOwnerInfo);
         }
         return "ok";
@@ -479,7 +509,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
 
 
     /**
-     * 订单管理订单审核列表
+     * 订单管理后台审核列表
      *
      * @param
      * @return
@@ -499,23 +529,6 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
         // 查询订单总数
         Integer dataCount = baseMapper.getCounthByCondition(pageView);
         List<OrderInfo> dataList = baseMapper.getListhByCondition(pageView);
-        if (CollectionUtils.isNotEmpty(dataList)) {
-            for (OrderInfo orderInfo1 : dataList) {
-                //还款信息列表
-                List<RepaymentInfo> repaymentInfos = repaymentInfoService.selectList(new EntityWrapper<RepaymentInfo>()
-                        .eq("order_id", orderInfo1.getId())
-                        .eq("delete_flag", "0"));
-                for (RepaymentInfo repaymentInfo : repaymentInfos) {
-                    //定义已还金额
-                    Double repaid = 0d;
-                    if (repaymentInfo.getRepayment() != null) {
-                        repaid = repaid + repaymentInfo.getRepayment();
-                        orderInfo1.setAlreadyRepaid(repaid);
-                    }
-                }
-                orderInfo1.setRepaymentInfoList(repaymentInfos);
-            }
-        }
         Page<OrderInfo> page = new Page<>();
         page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
         page.setTotal(dataCount == null ? 0 : dataCount);
@@ -525,13 +538,15 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
     }
 
     /**
-     * 审核
+     * 审核(平台确认装卸车)
      *
      * @param orderInfo
      * @return
      */
     @Override
-    public String examine(OrderInfo orderInfo) {
+    public String examine(OrderInfo orderInfo) throws ParseException {
+        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String Time = df.format(new Date());
         //查询订单
         OrderInfo orderInfo1 = this.selectById(orderInfo.getId());
         if (orderInfo1 != null) {
@@ -547,6 +562,70 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                     FreightInfo freightInfo = new FreightInfo();
                     freightInfo.setId(IdGenerator.generateUUID());
                     freightInfo.setOrderId(orderInfo1.getId());
+                    freightInfo.setDriverServiceCharge(150d);
+                    freightInfo.setOwnerServiceCharge(150d);
+                    freightInfo.setPayableFreight(orderInfo1.getAdvanceCharge());
+                    //判断是否是垫付订单
+                    if ("1".equals(orderInfo1.getFreightAdvance())) {
+                        //垫付的订单
+                        freightInfo.setPayabledFreight(0d);
+                        freightInfo.setNopayableFreight(freightInfo.getPayableFreight() - freightInfo.getPayabledFreight());
+                    } else {
+                        //非垫付订单
+                        freightInfo.setPayabledFreight(orderInfo1.getAdvanceCharge());
+                        freightInfo.setPrepaidFreight(orderInfo1.getAdvanceCharge());
+                        freightInfo.setPrepaidFreightDate(df.parse(Time));
+                        freightInfo.setNopayableFreight(freightInfo.getPayableFreight() - freightInfo.getPayabledFreight());
+                        if (orderInfo1.getCompId() != null && !orderInfo1.getCompId().isEmpty()) {
+                            //货主是公司
+                            HyCompanyInfo hyCompanyInfo = companyInfoService.selectById(orderInfo1.getCompId());
+                            //将货主冻结金额减去
+                            Double d1 = hyCompanyInfo.getFrozenAmount();
+                            hyCompanyInfo.setFrozenAmount(d1 - orderInfo1.getAdvanceCharge());
+                            companyInfoService.updateById(hyCompanyInfo);
+                            if (freightInfo.getPrepaidFreight() != 0) {
+                                //生成货主账单信息
+                                HyCargoOwnerCapitalInfo hyCargoOwnerCapitalInfo = new HyCargoOwnerCapitalInfo();
+                                hyCargoOwnerCapitalInfo.setId(IdGenerator.generateUUID());
+                                hyCargoOwnerCapitalInfo.setCompanyId(hyCompanyInfo.getId());
+                                hyCargoOwnerCapitalInfo.setTypes("支付预付款");
+                                hyCargoOwnerCapitalInfo.setAmountMoney(freightInfo.getPrepaidFreight());
+                                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 - orderInfo1.getAdvanceCharge());
+                            cargoOwnerInfoService.updateById(hyCargoOwnerInfo);
+                            if (freightInfo.getPrepaidFreight() != 0) {
+                                //生成货主账单信息
+                                HyCargoOwnerCapitalInfo hyCargoOwnerCapitalInfo = new HyCargoOwnerCapitalInfo();
+                                hyCargoOwnerCapitalInfo.setId(IdGenerator.generateUUID());
+                                hyCargoOwnerCapitalInfo.setCommonId(hyCargoOwnerInfo.getCommonId());
+                                hyCargoOwnerCapitalInfo.setTypes("支付预付款");
+                                hyCargoOwnerCapitalInfo.setAmountMoney(freightInfo.getPrepaidFreight());
+                                hyCargoOwnerCapitalInfo.setOrderId(orderInfo1.getId());
+                                hyCargoOwnerCapitalInfo.setOrderNo(orderInfo1.getOrderNo());
+                                hyCargoOwnerCapitalInfoService.insert(hyCargoOwnerCapitalInfo);
+                            }
+                        }
+                        //生成司机账单
+                        if (freightInfo.getPrepaidFreight() != 0) {
+                            HyDriverCapitalInfo hyDriverCapitalInfo = new HyDriverCapitalInfo();
+                            hyDriverCapitalInfo.setId(IdGenerator.generateUUID());
+                            hyDriverCapitalInfo.setCommonId(orderInfo1.getCommonId());
+                            hyDriverCapitalInfo.setTypes("预付款");
+                            hyDriverCapitalInfo.setAmountMoney(freightInfo.getPrepaidFreight());
+                            hyDriverCapitalInfo.setOrderId(orderInfo1.getId());
+                            hyDriverCapitalInfo.setOrderNo(orderInfo1.getOrderNo());
+                            hyDriverCapitalInfoService.insert(hyDriverCapitalInfo);
+                        }
+                    }
                     freightInfoService.insert(freightInfo);
                 } else {
                     //驳回装车更改订单状态
@@ -559,11 +638,80 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
             //卸车
             else {
                 if ("1".equals(orderInfo.getExamineFlag())) {
-                    //确认卸车更改订单状态
-                    orderInfo1.setOrderStatus(StatusEnum.DRIVER_ORDER_SETTLEMENT.getName());
-                    orderInfo1.setOrderStatusKey(StatusEnum.DRIVER_ORDER_SETTLEMENT.getFlag());
-                    orderInfo1.setCargoOwnerStatus(StatusEnum.OWNER_ORDER_SETTLEMENTED.getName());
-                    orderInfo1.setCargoOwnerStatusKey(StatusEnum.OWNER_ORDER_SETTLEMENTED.getFlag());
+                    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 {
+                        orderInfo1.setOrderStatus(StatusEnum.DRIVER_ORDER_FINISH.getName());
+                        orderInfo1.setOrderStatusKey(StatusEnum.DRIVER_ORDER_FINISH.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", orderInfo.getId()).eq("delete_flag", "0"));
+                    //非垫付订单
+                    if ("0".equals(orderInfo1.getFreightAdvance())) {
+                        freightInfo.setPayableFreight(freightInfo.getActualFreight() - freightInfo.getDriverServiceCharge());
+                        freightInfo.setPayabledFreight(freightInfo.getPayableFreight());
+                        freightInfo.setNopayableFreight(freightInfo.getPayableFreight() - freightInfo.getPayabledFreight());
+                        freightInfo.setFreightBalance(freightInfo.getPayableFreight() - freightInfo.getPrepaidFreight());
+                        freightInfo.setFreightBalanceDate(df.parse(Time));
+                        freightInfo.setTotalCollection(freightInfo.getPayableFreight());
+                        if (orderInfo1.getCompId() != null && !orderInfo1.getCompId().isEmpty()) {
+                            //货主是公司
+                            HyCompanyInfo hyCompanyInfo = companyInfoService.selectById(orderInfo1.getCompId());
+                            //将货主冻结金额减去
+                            Double d1 = hyCompanyInfo.getFrozenAmount();
+                            hyCompanyInfo.setFrozenAmount(d1 - freightInfo.getFreightBalance() - freightInfo.getDriverServiceCharge() - freightInfo.getOwnerServiceCharge());
+                            companyInfoService.updateById(hyCompanyInfo);
+                            //生成货主账单信息
+                            HyCargoOwnerCapitalInfo hyCargoOwnerCapitalInfo = new HyCargoOwnerCapitalInfo();
+                            hyCargoOwnerCapitalInfo.setId(IdGenerator.generateUUID());
+                            hyCargoOwnerCapitalInfo.setCompanyId(hyCompanyInfo.getId());
+                            hyCargoOwnerCapitalInfo.setTypes("支付尾款");
+                            hyCargoOwnerCapitalInfo.setAmountMoney(freightInfo.getFreightBalance() + freightInfo.getDriverServiceCharge() + 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.getFreightBalance() - freightInfo.getDriverServiceCharge() - freightInfo.getOwnerServiceCharge());
+                            cargoOwnerInfoService.updateById(hyCargoOwnerInfo);
+                            //生成货主账单信息
+                            HyCargoOwnerCapitalInfo hyCargoOwnerCapitalInfo = new HyCargoOwnerCapitalInfo();
+                            hyCargoOwnerCapitalInfo.setId(IdGenerator.generateUUID());
+                            hyCargoOwnerCapitalInfo.setCommonId(hyCargoOwnerInfo.getCommonId());
+                            hyCargoOwnerCapitalInfo.setTypes("支付尾款");
+                            hyCargoOwnerCapitalInfo.setAmountMoney(freightInfo.getFreightBalance() + freightInfo.getDriverServiceCharge() + freightInfo.getOwnerServiceCharge());
+                            hyCargoOwnerCapitalInfo.setOrderId(orderInfo1.getId());
+                            hyCargoOwnerCapitalInfo.setOrderNo(orderInfo1.getOrderNo());
+                            hyCargoOwnerCapitalInfoService.insert(hyCargoOwnerCapitalInfo);
+                        }
+                        //生成司机订单
+                        HyDriverCapitalInfo hyDriverCapitalInfo = new HyDriverCapitalInfo();
+                        hyDriverCapitalInfo.setId(IdGenerator.generateUUID());
+                        hyDriverCapitalInfo.setCommonId(orderInfo1.getCommonId());
+                        hyDriverCapitalInfo.setTypes("尾款");
+                        hyDriverCapitalInfo.setAmountMoney(freightInfo.getFreightBalance());
+                        hyDriverCapitalInfo.setOrderId(orderInfo1.getId());
+                        hyDriverCapitalInfo.setOrderNo(orderInfo1.getOrderNo());
+                        hyDriverCapitalInfoService.insert(hyDriverCapitalInfo);
+                    }
+                    //垫付订单
+                    else {
+                        freightInfo.setPayableFreight(freightInfo.getActualFreight() - freightInfo.getDriverServiceCharge());
+                        freightInfo.setNopayableFreight(freightInfo.getPayableFreight() - freightInfo.getPayabledFreight());
+                        freightInfo.setTotalCollection(freightInfo.getPayableFreight());
+                    }
+                    freightInfoService.updateById(freightInfo);
                 } else {
                     //驳回卸车更改订单状态
                     orderInfo1.setOrderStatus(StatusEnum.PLATFORM_REJECT_UNLOAD.getName());
@@ -580,6 +728,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
 
     /**
      * 签合同
+     *
      * @param orderInfo
      * @return
      */
@@ -587,48 +736,64 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
     @Transactional(rollbackFor = Exception.class)
     public String setPdf(OrderInfo orderInfo) throws DocumentException, IOException, URISyntaxException {
         //货主签合同
-        if(orderInfo.getTypeFlag().equals("1")){
+        if (orderInfo.getTypeFlag().equals("1")) {
             OrderInfo orderInfo1 = this.selectById(orderInfo.getId());
             orderInfo1.setCargoOwnerContract("1");
             orderInfo1.setCargoOwnerAutograph(orderInfo.getCargoOwnerAutograph());
-//            String pdfUrl = pdfUtil.tranContract(orderInfo1);
-            orderInfo1.setOwnerContractUrl(orderInfo1.getDriverContractUrl());
+            String pdfUrl = pdfUtil.transactionContract(orderInfo1);
+            orderInfo1.setOwnerContractUrl(pdfUrl);
             this.updateById(orderInfo1);
-            return orderInfo1.getDriverContractUrl();
+            return pdfUrl;
         }
         //司机签合同
-        else{
+        else {
             //查询车辆信息
-            HyDriverCarInfo hyDriverCarInfo = driverCarInfoService.selectOne(new EntityWrapper<HyDriverCarInfo>().eq("car_number",orderInfo.getCarNumber())
-                .eq("delete_flag","0"));
-            //订单信息
-            OrderInfo orderInfo1 = this.selectById(orderInfo.getId());
-            orderInfo1.setDriverContract("1");
-            orderInfo1.setDriverAutograph(orderInfo.getDriverAutograph());
-            orderInfo1.setContractNo(orderInfo1.getOrderNo().replace("CY","HT"));
-            String pdfUrl = pdfUtil.tranContract(orderInfo);
-            orderInfo1.setDriverContractUrl(pdfUrl);
-            if("0".equals(orderInfo1.getFreightAdvance())){
-                orderInfo1.setAdvanceCharge(orderInfo.getLoadingAdvancePayment());
-            }
+            HyDriverCarInfo hyDriverCarInfo = driverCarInfoService.selectOne(new EntityWrapper<HyDriverCarInfo>().eq("car_number", orderInfo.getCarNumber())
+                    .eq("delete_flag", "0"));
             //查询车辆核定载重量
-            if ("挂车".equals(hyDriverCarInfo.getCarCategory())){
-                if (Double.valueOf(orderInfo.getWeight()) > hyDriverCarInfo.getGuaCarApprovedWeight()){
+            if ("挂车".equals(hyDriverCarInfo.getCarCategory())) {
+                if (Double.valueOf(orderInfo.getWeight()) > hyDriverCarInfo.getGuaCarApprovedWeight()) {
                     throw new YException(YExceptionEnum.LOADING_NETWEIGHT_OVERLOAD);
                 }
-            }else {
-                if (Double.valueOf(orderInfo.getWeight()) > hyDriverCarInfo.getCarApprovedWeight()){
+            } else {
+                if (Double.valueOf(orderInfo.getWeight()) > hyDriverCarInfo.getCarApprovedWeight()) {
                     throw new YException(YExceptionEnum.LOADING_NETWEIGHT_OVERLOAD);
                 }
             }
+            //订单信息
+            OrderInfo orderInfo1 = this.selectById(orderInfo.getId());
+            if ("2".equals(orderInfo.getSubmitFlag())){
+                orderInfo1.setDriverContract("1");
+            }
+            orderInfo1.setDriverAutograph(orderInfo.getDriverAutograph());
+            orderInfo1.setContractNo(orderInfo1.getOrderNo().replace("CY", "HT"));
+            String pdfUrl = pdfUtil.tranContract(orderInfo);
+            orderInfo1.setDriverContractUrl(pdfUrl);
             orderInfo1.setBankCard(orderInfo.getBankCard());
             orderInfo1.setBankDeposit(orderInfo.getBankDeposit());
             orderInfo1.setBankDepositBranch(orderInfo.getBankDepositBranch());
             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());
+            }
             this.updateById(orderInfo1);
             //承运信息
-            HyCarrierInfo hyCarrierInfo =  carrierInfoService.selectOne(new EntityWrapper<HyCarrierInfo>()
+            HyCarrierInfo hyCarrierInfo = carrierInfoService.selectOne(new EntityWrapper<HyCarrierInfo>()
                     .eq("order_id", orderInfo.getId()));
             hyCarrierInfo.setCarNo(orderInfo.getCarNumber());
             hyCarrierInfo.setContractNo(orderInfo1.getContractNo());
@@ -636,12 +801,6 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
             hyCarrierInfo.setLoadingDate(orderInfo.getStartDates());
             hyCarrierInfo.setLoadingWeight(Double.valueOf(orderInfo.getWeight()));
             carrierInfoService.updateById(hyCarrierInfo);
-            //费用信息
-//            FreightInfo freightInfo = freightInfoService.selectOne(new EntityWrapper<FreightInfo>()
-//                    .eq(FreightInfo.QueryFiles.ORDER_ID, orderInfo.getId()));
-//            freightInfo.setFreight(Double.valueOf(orderInfo.getFreightCars()));
-//            freightInfoService.updateById(freightInfo);
-
             return pdfUrl;
         }
 
@@ -751,9 +910,9 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
 
     //根据url获取返回的结果
     //geturl为外部接口地址
-    public String getURL() throws IOException{
+    public String getURL() throws IOException {
         String signContent = "user=b17064eb-5f2b-47d9-85dd-e3e6008b45b3&pwd=5q4521bs7tthW29TdX9j19P256v39Q&srt=ff53c668-af61-49a5-aab0-90706d5158ae&cid=4240905c-714f-4692-a7af-f8f80fbf85ae";
-        URL url = new URL("https://openapi-test.sinoiov.cn/save/apis/login?"+signContent);
+        URL url = new URL("https://openapi-test.sinoiov.cn/save/apis/login?" + signContent);
         StringBuffer buffer = new StringBuffer();
         //http协议传输
         HttpURLConnection httpUrlConn = (HttpURLConnection) url.openConnection();

+ 11 - 13
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/PublishTaskInfoServiceImpl.java

@@ -1105,12 +1105,15 @@ public class PublishTaskInfoServiceImpl extends ServiceImpl<PublishTaskInfoMappe
         if (!"5".equals(publishTaskInfo1.getStatusKey())){
             throw new YException(YExceptionEnum.TASK_OVERDUE);
         }
+        //判断司机是否有正在进行的订单
+        List<OrderInfo> orderInfos = orderInfoService.getData(publishTaskInfo.getDriverCommonId());
+        if (!CollectionUtils.isEmpty(orderInfos)){
+            throw new YException(YExceptionEnum.CONDUCTED_ORDER);
+        }
         //新增订单信息
         OrderInfo orderInfo = new OrderInfo();
         orderInfo.setId(IdGenerator.generateUUID());
         orderInfo.setTaskId(publishTaskInfo.getId());
-        orderInfo.setCommonId(publishTaskInfo.getDriverCommonId());
-        orderInfo.setBillingMethod(publishTaskInfo.getBillingMethod());
         //判断司机是否认证
         HyDriverInfo hyDriverInfo = driverInfoService.selectOne(new EntityWrapper<HyDriverInfo>().eq("common_id", publishTaskInfo.getDriverCommonId())
                 .eq("delete_flag", "0"));
@@ -1121,7 +1124,6 @@ public class PublishTaskInfoServiceImpl extends ServiceImpl<PublishTaskInfoMappe
         if (StringUtils.isEmpty(hyDriverInfo.getOverdueFlag())) {
             throw new YException(YExceptionEnum.CERTIFICATE_EXPIRED);
         }
-        orderInfo.setCargoCommonId(publishTaskInfo.getCommonId());
         //查询货主身份是否删除
         HyCargoOwnerInfo hyCargoOwnerInfo = cargoOwnerInfoService.selectOne(new EntityWrapper<HyCargoOwnerInfo>().eq("common_id",publishTaskInfo.getCommonId())
                 .eq("delete_flag", "0"));
@@ -1160,6 +1162,10 @@ public class PublishTaskInfoServiceImpl extends ServiceImpl<PublishTaskInfoMappe
             String orderNumber = "CY" + date + "000001";
             orderInfo.setOrderNo(orderNumber);
         }
+        orderInfo.setCommonId(publishTaskInfo.getDriverCommonId());
+        orderInfo.setCompId(publishTaskInfo.getCompId());
+        orderInfo.setBillingMethod(publishTaskInfo.getBillingMethod());
+        orderInfo.setCargoCommonId(publishTaskInfo.getCommonId());
         orderInfo.setCargoOwner(publishTaskInfo.getCargoOwnerName());
         orderInfo.setCompName(publishTaskInfo.getCargoOwner());
         orderInfo.setDriverName(publishTaskInfo.getDriverName());
@@ -1177,11 +1183,8 @@ public class PublishTaskInfoServiceImpl extends ServiceImpl<PublishTaskInfoMappe
         orderInfo.setDistance(publishTaskInfo.getDistance());
         orderInfo.setFreight(publishTaskInfo.getFreightPrice());
         orderInfo.setBillingMethod(publishTaskInfo.getBillingMethod());
-        orderInfo.setServiceCharge(50d);
+        orderInfo.setServiceCharge(150d);
         orderInfo.setFreightAdvance(publishTaskInfo.getFreightAdvance());
-        if ("1".equals(publishTaskInfo.getFreightAdvance())){
-            orderInfo.setAdvanceCharge(orderInfo.getFreight() * hyDriverInfo.getAdvancePayment());
-        }
         orderInfo.setOrderStatusKey(StatusEnum.OWNER_CONFIRMED.getFlag());
         orderInfo.setOrderStatus(StatusEnum.OWNER_CONFIRMED.getName());
         orderInfo.setCargoOwnerStatusKey(StatusEnum.OWNER_PENDING_STATEMENT.getFlag());
@@ -1213,12 +1216,7 @@ public class PublishTaskInfoServiceImpl extends ServiceImpl<PublishTaskInfoMappe
         hyCarrierInfo.setOrderId(orderInfo.getId());
         hyCarrierInfo.setOrderNo(orderInfo.getOrderNo());
         boolean two = carrierInfoService.insert(hyCarrierInfo);
-        //新增还款信息
-        RepaymentInfo repaymentInfo = new RepaymentInfo();
-        repaymentInfo.setId(IdGenerator.generateUUID());
-        repaymentInfo.setOrderId(orderInfo.getId());
-        boolean four = repaymentInfoService.insert(repaymentInfo);
-        if (one && two && four) {
+        if (one && two) {
             return "ok";
         } else {
             return "NG";

+ 2 - 2
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/util/CheckTxtUtil.java

@@ -156,7 +156,7 @@ public class CheckTxtUtil {
          *
          *
          */
-        public  List getSensitiveWord(String txt) {
+        public static List getSensitiveWord(String txt) {
             List sensitiveWordList = new ArrayList();
             for (int i = 0; i < txt.length(); i++) {
                 //判断是否包含敏感字符
@@ -175,7 +175,7 @@ public class CheckTxtUtil {
          * @param context
          * @return
          */
-        public  List checkTxt(String context) {
+        public static List checkTxt(String context) {
             initContext();
             //包含敏感词返回所有敏感词数据
             return getSensitiveWord(context);

+ 31 - 31
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/util/PdfUtil.java

@@ -302,15 +302,15 @@ public class PdfUtil  implements InitializingBean{
     }
 
     public  String transactionContract(OrderInfo orderInfo) throws IOException, DocumentException, URISyntaxException {//利用模板生成pdf
-//订单信息
+        //订单信息
         OrderInfo orderInfo1 = orderInfoService.selectById(orderInfo.getId());
         //查询司机信息
         HyDriverInfo hyDriverInfo = driverInfoService.selectOne(new EntityWrapper<HyDriverInfo>().eq("common_id",orderInfo1.getCommonId())
                 .eq("delete_flag","0"));
         HyDriverPayeeInfo hyDriverPayeeInfo = driverPayeeInfoService.selectOne(new EntityWrapper<HyDriverPayeeInfo>().eq("driver_id", hyDriverInfo.getId())
                 .eq("delete_flag","0"));
-        HyDriverCarInfo hyDriverCarInfo = driverCarInfoService.selectOne(new EntityWrapper<HyDriverCarInfo>().eq("driver_id", hyDriverInfo.getId())
-                .eq("car_number",orderInfo.getCarNumber()).eq("delete_flag","0"));
+//        HyDriverCarInfo hyDriverCarInfo = driverCarInfoService.selectOne(new EntityWrapper<HyDriverCarInfo>().eq("driver_id", hyDriverInfo.getId())
+//                .eq("car_number",orderInfo.getCarNumber()).eq("delete_flag","0"));
         //任务信息
         PublishTaskInfo publishTaskInfo = publishTaskInfoService.selectOne(new EntityWrapper<PublishTaskInfo>().eq("id",orderInfo1.getTaskId())
                 .eq("delete_flag","0"));
@@ -344,9 +344,9 @@ public class PdfUtil  implements InitializingBean{
         AcroFields form = stamper.getAcroFields();
         Iterator<String> it = form.getFields().keySet().iterator();
         Calendar start= Calendar.getInstance();
-        start.setTime(orderInfo.getStartDates());
+        start.setTime(orderInfo1.getCreateDate());
         Calendar end= Calendar.getInstance();
-        end.setTime(orderInfo.getEndDates());
+        end.setTime(orderInfo1.getCreateDate());
         Calendar now= Calendar.getInstance();
         now.setTime(new Date());
         float fontSize = 12f;
@@ -377,12 +377,12 @@ public class PdfUtil  implements InitializingBean{
                     form.setField(name, "91230230MA1BNL7Q93");break;
                 case "fill_4" :
                     form.setField(name, hyDriverInfo.getNumberCard());break;
-                case "fill_23" :
-                    form.setField(name, orderInfo.getCarNumber());break;
-                case "fill_24" :
-                    form.setField(name, orderInfo.getTrailerNumber());break;
-                case "fill_5" :
-                    form.setField(name, hyDriverCarInfo.getOwner());break;
+//                case "fill_23" :
+//                    form.setField(name, orderInfo.getCarNumber());break;
+//                case "fill_24" :
+//                    form.setField(name, orderInfo.getTrailerNumber());break;
+//                case "fill_5" :
+//                    form.setField(name, hyDriverCarInfo.getOwner());break;
                 case "fill_6" :
                     form.setField(name, start.get(Calendar.YEAR)+"");break;
                 case "fill_7" :
@@ -411,14 +411,14 @@ public class PdfUtil  implements InitializingBean{
                     form.setField(name, publishTaskInfo.getReceiverPhone());break;
                 case "fill_18" :
                     form.setField(name, orderInfo1.getDriverName());break;
-                case "fill_19" :
-                    form.setField(name, hyDriverCarInfo.getCarType());break;
+//                case "fill_19" :
+//                    form.setField(name, hyDriverCarInfo.getCarType());break;
                 case "fill_20" :
                     form.setField(name, orderInfo1.getDriverPhone());break;
-                case "fill_21" :
-                    form.setField(name, orderInfo.getContactPersonName());break;
-                case "fill_22" :
-                    form.setField(name, orderInfo.getContactPersonPhone());break;
+//                case "fill_21" :
+//                    form.setField(name, orderInfo.getContactPersonName());break;
+//                case "fill_22" :
+//                    form.setField(name, orderInfo.getContactPersonPhone());break;
                 case "fill_3_2" :
                     form.setField(name, publishTaskInfo.getSendPrivate()+publishTaskInfo.getSendCity()+publishTaskInfo.getSendArea()
                             +publishTaskInfo.getSendDetailedAddress());break;
@@ -427,14 +427,14 @@ public class PdfUtil  implements InitializingBean{
                             +publishTaskInfo.getUnloadDetailedAddress());break;
                 case "fill_5_2" :
                     form.setField(name, publishTaskInfo.getGoodsName());break;
-                case "fill_6_2" :
-                    form.setField(name, orderInfo.getFreightCars());break;
-                case "fill_7_2" :
-                    form.setField(name, publishTaskInfo.getTaskDescription());break;
-                case "Text1" :
-                    form.setField(name, orderInfo.getFreightCars());break;
-                case "Text2" :
-                    form.setField(name, String.valueOf(orderInfo.getAdvanceCharge()));break;
+//                case "fill_6_2" :
+//                    form.setField(name, orderInfo.getFreightCars());break;
+//                case "fill_7_2" :
+//                    form.setField(name, publishTaskInfo.getTaskDescription());break;
+//                case "Text1" :
+//                    form.setField(name, orderInfo.getFreightCars());break;
+//                case "Text2" :
+//                    form.setField(name, String.valueOf(orderInfo.getAdvanceCharge()));break;
                 case "fill_1_2" :
                     form.setField(name, hyDriverPayeeInfo.getBankCard());break;
                 case "fill_2_2" :
@@ -478,10 +478,10 @@ public class PdfUtil  implements InitializingBean{
                 case "Text14" :
                     form.setField(name, now.get(Calendar.DAY_OF_MONTH)+"");break;
                 case "Text15" :
-                    if(orderInfo.getDriverAutograph() == null || orderInfo.getDriverAutograph().isEmpty()){
+                    if(orderInfo.getCargoOwnerAutograph() == null || orderInfo.getCargoOwnerAutograph().isEmpty()){
                         break;
                     }
-                    Image image3 = Image.getInstance(new URL(orderInfo.getDriverAutograph()));
+                    Image image3 = Image.getInstance(new URL(orderInfo.getCargoOwnerAutograph()));
                     image3.scaleToFit(signRect.getWidth(), signRect.getHeight());
                     image3.setAbsolutePosition(x, y);
                     under.addImage(image3);
@@ -504,10 +504,10 @@ public class PdfUtil  implements InitializingBean{
                     form.setField(name, hyDriverInfo.getDriverSex());break;
                 case "fill_4_3" :
                     form.setField(name, hyDriverInfo.getNumberCard());break;
-                case "fill_5_3" :
-                    form.setField(name, hyDriverCarInfo.getCarType());break;
-                case "fill_6_3" :
-                    form.setField(name, hyDriverCarInfo.getCarNumber());break;
+//                case "fill_5_3" :
+//                    form.setField(name, hyDriverCarInfo.getCarType());break;
+//                case "fill_6_3" :
+//                    form.setField(name, hyDriverCarInfo.getCarNumber());break;
 
             }
             //

+ 5 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/resources/mapper/HyOrderTravelPathMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yh.saas.plugin.yiliangyiyun.mapper.HyOrderTravelPathMapper">
+
+</mapper>

+ 43 - 13
winsea-haixin-plugin-wangluohuoyun/src/main/resources/mapper/OrderInfoMapper.xml

@@ -44,6 +44,9 @@
                 AND order_status_key = '25'
                 OR (order_status_key = '27' AND common_id = #{commonId})
             </if>
+            <if test="searchType == 6">
+                AND order_status_key = '25'
+            </if>
         </if>
     </select>
     <!-- 获得司机订单列表 -->
@@ -73,8 +76,7 @@
         o.order_status_key as orderStatusKey,
         o.create_date as createDate,
         o.update_date as updateDate,
-        c.id as carrierId,
-        f.total_repayable as totalRepayable
+        c.id as carrierId
         FROM hy_order_info o
         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
@@ -116,6 +118,9 @@
                 AND o.order_status_key = '25'
                 OR (o.order_status_key = '27' AND o.common_id = #{commonId})
             </if>
+            <if test="searchType == 6">
+                AND order_status_key = '25'
+            </if>
         </if>
         ORDER BY o.create_date DESC
         <if test="currentPage != null and currentPage != ''">
@@ -176,6 +181,9 @@
                 AND cargo_owner_status_key = '31'
                 OR (cargo_owner_status_key = '33' AND cargo_common_id = #{cargoCommonId})
             </if>
+            <if test="searchType == 10">
+                AND cargo_owner_status_key = '31'
+            </if>
         </if>
     </select>
     <!-- 获得货主订单列表 -->
@@ -257,6 +265,9 @@
                 AND o.cargo_owner_status_key = '31'
                 OR (o.cargo_owner_status_key = '33' AND o.cargo_common_id = #{cargoCommonId})
             </if>
+            <if test="searchType == 10">
+                AND cargo_owner_status_key = '31'
+            </if>
         </if>
         ORDER BY o.create_date DESC
         <if test="currentPage != null and currentPage != ''">
@@ -303,10 +314,10 @@
                 OR o.order_status_key = '19'
             </if>
             <if test="searchType == 2">
-                AND
+                AND f.nopayable_freight > 0
             </if>
             <if test="searchType == 3">
-                AND (sum(r.repayment) &lt; f.freight_payable)
+                AND (f.receivabled_freight &lt; f.receivable_freight)
             </if>
             <if test="searchType == 4">
                 AND o.invoicing = '0'
@@ -321,18 +332,27 @@
             resultType="com.yh.saas.plugin.yiliangyiyun.entity.OrderInfo">
         SELECT
         o.id,
+        f.id as freightId,
         o.order_no as orderNo,
-        o.freight_advance as freightAdvance,
+        case when o.freight_advance = 1 then '垫付' else '非垫付' end as freightAdvance,
         o.cargo_owner as cargoOwner,
         o.driver_name as driverName,
         o.cargo_owner_phone as cargoOwnerPhone,
         o.driver_phone as driverPhone,
         o.freight,
-        f.prepaid_freight as prepaidFreight,
-        f.freight_balance as freightBalance,
-        f.overdue_fee as overdueFee,
-        f.interest_rate as interestRate,
-        o.invoicing,
+        f.actual_freight as actualFreight,
+        o.advance_charge as advanceCharge,
+        f.driver_service_charge as driverServiceCharge,
+        f.payable_freight as payable,
+        f.payabled_freight as payabled,
+        f.nopayable_freight as nopayable,
+        f.owner_service_charge as ownerServiceCharge,
+        r.overdue_fee as overdueFee,
+        f.receivable_freight as receivable,
+        f.receivabled_freight as receivabled,
+        case when o.invoicing = 1 then '已开' else '未开' end as invoicing,
+        o.driver_contract_url as driverContractUrl,
+        o.owner_contract_url as ownerContractUrl,
         o.order_status as orderStatus,
         o.order_status_key as orderStatusKey,
         o.cargo_owner_status as cargoOwnerStatus,
@@ -364,10 +384,10 @@
                 OR o.order_status_key = '19'
             </if>
             <if test="searchType == 2">
-                AND
+                AND f.nopayable_freight > 0
             </if>
             <if test="searchType == 3">
-                AND (sum(r.repayment) &lt; f.freight_payable)
+                AND (f.receivabled_freight &lt; f.receivable_freight)
             </if>
             <if test="searchType == 4">
                 AND o.invoicing = '0'
@@ -376,10 +396,20 @@
                 AND o.order_status_key = '25'
             </if>
         </if>
-        ORDER BY o.create_date DESC
+        ORDER BY o.order_status_key DESC, o.update_date DESC
         <if test="currentPage != null and currentPage != ''">
             LIMIT ${startRecord}, ${pageSize}
         </if>
     </select>
 
+
+    <select id="getData" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.OrderInfo">
+    select * from hy_order_info where delete_flag = '0'
+    AND common_id = #{commonId}
+    AND DATE_SUB(CURDATE(), INTERVAL 1 MONTH) &lt;= date(create_date)
+    AND order_status_key &lt; '15'
+    ORDER BY update_date DESC
+    </select>
+
 </mapper>