zxz 3 年之前
父节点
当前提交
117a7e0f71
共有 21 个文件被更改,包括 749 次插入47 次删除
  1. 5 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/constant/StatusEnum.java
  2. 17 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/FillingDetailInfoController.java
  3. 37 4
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/FuelFillingInfoController.java
  4. 46 4
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/ShortFillingInfoController.java
  5. 26 4
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/TrackDetailInfoController.java
  6. 18 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/FillingDetailInfo.java
  7. 28 5
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/FuelFillingInfo.java
  8. 17 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/ShortFillingInfo.java
  9. 2 23
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/TrackDetailInfo.java
  10. 17 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/FuelFillingInfoMapper.java
  11. 18 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/ShortFillingInfoMapper.java
  12. 7 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IFillingDetailInfoService.java
  13. 19 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IFuelFillingInfoService.java
  14. 25 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IShortFillingInfoService.java
  15. 13 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/ITrackDetailInfoService.java
  16. 41 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/FillingDetailInfoServiceImpl.java
  17. 94 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/FuelFillingInfoServiceImpl.java
  18. 134 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/ShortFillingInfoServiceImpl.java
  19. 39 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/TrackDetailInfoServiceImpl.java
  20. 78 1
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/FuelFillingInfoMapper.xml
  21. 68 1
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ShortFillingInfoMapper.xml

+ 5 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/constant/StatusEnum.java

@@ -159,6 +159,11 @@ public enum StatusEnum {
     SUPP_SUCCESS("3", "补卡成功", "supp_success"),
     SUPP_FAIL("5", "补卡失败", "supp_fail"),
 
+    //行程状态
+    TRACK_START("1", "已开始", "track_start"),
+    TRACK_END("3", "已结束", "track_end"),
+    TRACK_REIMBURSEMENT("5", "已报销", "track_reimbursement"),
+
 
     ;
     @Getter

+ 17 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/FillingDetailInfoController.java

@@ -1,6 +1,11 @@
 package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
+import com.yh.saas.plugin.yiliangyiyun.entity.FillingDetailInfo;
+import com.yh.saas.plugin.yiliangyiyun.service.IFillingDetailInfoService;
+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;
@@ -16,6 +21,17 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RequestMapping("/fillingDetailInfo")
 public class FillingDetailInfoController {
-
+    @Autowired
+    private IFillingDetailInfoService fillingDetailInfoService;
+    /**
+     * 添加明细
+     *
+     * @param fillingDetailInfo
+     * @return
+     */
+    @PostMapping("/api/addFillingDetail")
+    public String addFillingDetail(@RequestBody FillingDetailInfo fillingDetailInfo) {
+        return fillingDetailInfoService.addFillingDetail(fillingDetailInfo);
+    }
 }
 

+ 37 - 4
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/FuelFillingInfoController.java

@@ -1,9 +1,11 @@
 package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.FuelFillingInfo;
+import com.yh.saas.plugin.yiliangyiyun.service.IFuelFillingInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * <p>
@@ -16,6 +18,37 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RequestMapping("/fuelFillingInfo")
 public class FuelFillingInfoController {
-
+    @Autowired
+    private IFuelFillingInfoService fuelFillingInfoService;
+    /**
+     * 添加长途加油信息
+     *
+     * @param fuelFillingInfo
+     * @return
+     */
+    @PostMapping("/api/addFilling")
+    public String addFilling(@RequestBody FuelFillingInfo fuelFillingInfo) {
+        return fuelFillingInfoService.addFilling(fuelFillingInfo);
+    }
+    /**
+     * 记录长途查询
+     *
+     * @param fuelFillingInfo
+     * @return
+     */
+    @GetMapping("/selectFilling")
+    public Page<FuelFillingInfo> selectFilling(FuelFillingInfo fuelFillingInfo) {
+        return fuelFillingInfoService.selectFilling(fuelFillingInfo);
+    }
+    /**
+     * 查看长途加油信息
+     *
+     * @param id
+     * @return
+     */
+    @GetMapping("/getFilling")
+    public FuelFillingInfo getFilling(@RequestParam String id) {
+        return fuelFillingInfoService.getFilling(id);
+    }
 }
 

+ 46 - 4
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/ShortFillingInfoController.java

@@ -1,9 +1,11 @@
 package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.ShortFillingInfo;
+import com.yh.saas.plugin.yiliangyiyun.service.IShortFillingInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * <p>
@@ -16,6 +18,46 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RequestMapping("/shortFillingInfo")
 public class ShortFillingInfoController {
-
+    @Autowired
+    private IShortFillingInfoService shortFillingInfoService;
+    /**
+     * 添加短途加油信息
+     *
+     * @param shortFillingInfo
+     * @return
+     */
+    @PostMapping("/api/addShortFilling")
+    public String addFilling(@RequestBody ShortFillingInfo shortFillingInfo) {
+        return shortFillingInfoService.addShortFilling(shortFillingInfo);
+    }
+    /**
+     * 短途记录查询
+     *
+     * @param shortFillingInfo
+     * @return
+     */
+    @GetMapping("/selectShortFilling")
+    public Page<ShortFillingInfo> selectShortFilling(ShortFillingInfo shortFillingInfo) {
+        return shortFillingInfoService.selectShortFilling(shortFillingInfo);
+    }
+    /**
+     * 查看短途加油信息
+     *
+     * @param id
+     * @return
+     */
+    @GetMapping("/getShortFilling")
+    public ShortFillingInfo getShortFilling(@RequestParam String id) {
+        return shortFillingInfoService.getShortFilling(id);
+    }
+    /**
+     * 短途请款
+     * @param shortFillingInfo
+     * @return
+     */
+    @PostMapping("/api/shortRequestFunds")
+    public String shortRequestFunds(@RequestBody ShortFillingInfo shortFillingInfo){
+        return shortFillingInfoService.shortRequestFunds(shortFillingInfo);
+    }
 }
 

+ 26 - 4
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/TrackDetailInfoController.java

@@ -1,9 +1,10 @@
 package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
+import com.yh.saas.plugin.yiliangyiyun.entity.TrackDetailInfo;
+import com.yh.saas.plugin.yiliangyiyun.service.ITrackDetailInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * <p>
@@ -16,6 +17,27 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RequestMapping("/trackDetailInfo")
 public class TrackDetailInfoController {
-
+    @Autowired
+    private ITrackDetailInfoService trackDetailInfoService;
+    /**
+     * 添加轨迹
+     *
+     * @param trackDetailInfo
+     * @return
+     */
+    @PostMapping("/api/addTrackDetail")
+    public String addTrackDetail(@RequestBody TrackDetailInfo trackDetailInfo) {
+        return trackDetailInfoService.addTrackDetail(trackDetailInfo);
+    }
+    /**
+     * 查看轨迹
+     *
+     * @param trackDetailInfo
+     * @return
+     */
+    @GetMapping("/getTrack")
+    public TrackDetailInfo getTrack(@RequestParam TrackDetailInfo trackDetailInfo) {
+        return trackDetailInfoService.getTrack(trackDetailInfo);
+    }
 }
 

+ 18 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/FillingDetailInfo.java

@@ -1,8 +1,10 @@
 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.annotations.TableName;
 import com.baomidou.mybatisplus.enums.IdType;
@@ -60,6 +62,22 @@ public class FillingDetailInfo extends BaseModel<FillingDetailInfo> {
      * 加油凭证
      */
     private String addressUrl;
+    /**
+     * 总金额
+     */
+    @TableField(exist = false)
+    private Double totalCost;
+    /**
+     * 总油耗(L)
+     */
+    @TableField(exist = false)
+    private Double tfc;
+
+    /**
+     * 报销明细list
+     */
+    @TableField(exist = false)
+    private List<FillingDetailInfo> fillingDetailInfoList;
 
 
     @Override

+ 28 - 5
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/FuelFillingInfo.java

@@ -2,8 +2,10 @@ package com.yh.saas.plugin.yiliangyiyun.entity;
 
 import java.util.Date;
 import java.io.Serializable;
+import java.util.List;
 
 
+import com.baomidou.mybatisplus.annotations.TableField;
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.enums.IdType;
@@ -68,7 +70,7 @@ public class FuelFillingInfo extends BaseModel<FuelFillingInfo> {
     /**
      * 司机姓名
      */
-    private String dirverName;
+    private String driverName;
     /**
      * 车牌号
      */
@@ -146,13 +148,13 @@ public class FuelFillingInfo extends BaseModel<FuelFillingInfo> {
      */
     private Double tfc;
     /**
-     * 状态
+     * 行程状态(1已开始3已结束5已报销)
      */
-    private String status;
+    private String travelStatus;
     /**
-     * 状态标识
+     * 行程状态标识
      */
-    private String statusFlag;
+    private String travelStatusFlag;
     /**
      * 审核状态
      */
@@ -162,6 +164,27 @@ public class FuelFillingInfo extends BaseModel<FuelFillingInfo> {
      */
     private String workflowId;
 
+    /**
+     * 开始结束标识(0开始轨迹1结束轨迹)
+     */
+    @TableField(exist = false)
+    private String trackFlag;
+    /**
+     * 查询类型
+     */
+    @TableField(exist = false)
+    private String searchType;
+    /**
+     * 加油明细列表
+     */
+    @TableField(exist = false)
+    private List<FillingDetailInfo> fillingDetailInfoList;
+    /**
+     * 加油信息列表
+     */
+    @TableField(exist = false)
+    private List<FuelFillingInfo> fillingFillingInfoList;
+
 
     @Override
     protected Serializable pkVal() {

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

@@ -2,8 +2,10 @@ package com.yh.saas.plugin.yiliangyiyun.entity;
 
 import java.util.Date;
 import java.io.Serializable;
+import java.util.List;
 
 
+import com.baomidou.mybatisplus.annotations.TableField;
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.enums.IdType;
@@ -129,7 +131,21 @@ public class ShortFillingInfo extends BaseModel<ShortFillingInfo> {
      * 工作流ID
      */
     private String workflowId;
-
+    /**
+     * 开始结束标识(0开始轨迹1结束轨迹)
+     */
+    @TableField(exist = false)
+    private String trackFlag;
+    /**
+     * 查询类型
+     */
+    @TableField(exist = false)
+    private String searchType;
+    /**
+     * 短途加油列表
+     */
+    @TableField(exist = false)
+    private List<ShortFillingInfo> shortFillingInfoList;
 
     @Override
     protected Serializable pkVal() {

+ 2 - 23
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/TrackDetailInfo.java

@@ -49,30 +49,9 @@ public class TrackDetailInfo extends BaseModel<TrackDetailInfo> {
      */
     private String carNo;
     /**
-     * 
+     * 经纬度
      */
-    private String province;
-    /**
-     * 市
-     */
-    private String city;
-    /**
-     * 区
-     */
-    private String area;
-    /**
-     * 详细地址
-     */
-    private String address;
-    /**
-     * 经度
-     */
-    private String longitude;
-    /**
-     * 纬度
-     */
-    private String latitude;
-
+    private String longitudeLatiude;
 
     @Override
     protected Serializable pkVal() {

+ 17 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/FuelFillingInfoMapper.java

@@ -3,6 +3,9 @@ package com.yh.saas.plugin.yiliangyiyun.mapper;
 import com.yh.saas.plugin.yiliangyiyun.entity.FuelFillingInfo;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 记录加油信息 Mapper 接口
@@ -12,5 +15,19 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
  * @since 2022-06-24
  */
 public interface FuelFillingInfoMapper extends BaseMapper<FuelFillingInfo> {
+    /**
+     * 根据条件查询总数
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getCountByCondition(Map<String, Object> pageView);
 
+    /**
+     * 根据条件查询记录
+     *
+     * @param pageView
+     * @return
+     */
+    List<FuelFillingInfo> getListByCondition(Map<String, Object> pageView);
 }

+ 18 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/ShortFillingInfoMapper.java

@@ -1,8 +1,12 @@
 package com.yh.saas.plugin.yiliangyiyun.mapper;
 
+import com.yh.saas.plugin.yiliangyiyun.entity.FuelFillingInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.ShortFillingInfo;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 记录短途加油信息 Mapper 接口
@@ -12,5 +16,19 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
  * @since 2022-07-07
  */
 public interface ShortFillingInfoMapper extends BaseMapper<ShortFillingInfo> {
+    /**
+     * 根据条件查询总数
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getCountByCondition(Map<String, Object> pageView);
 
+    /**
+     * 根据条件查询记录
+     *
+     * @param pageView
+     * @return
+     */
+    List<ShortFillingInfo> getListByCondition(Map<String, Object> pageView);
 }

+ 7 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IFillingDetailInfoService.java

@@ -2,6 +2,7 @@ package com.yh.saas.plugin.yiliangyiyun.service;
 
 import com.yh.saas.plugin.yiliangyiyun.entity.FillingDetailInfo;
 import com.baomidou.mybatisplus.service.IService;
+import com.yh.saas.plugin.yiliangyiyun.entity.FuelFillingInfo;
 
 /**
  * <p>
@@ -12,5 +13,10 @@ import com.baomidou.mybatisplus.service.IService;
  * @since 2022-06-24
  */
 public interface IFillingDetailInfoService extends IService<FillingDetailInfo> {
-
+    /**
+     * 添加加油明细
+     *
+     * @param fillingDetailInfo
+     */
+    String addFillingDetail(FillingDetailInfo fillingDetailInfo);
 }

+ 19 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IFuelFillingInfoService.java

@@ -1,5 +1,6 @@
 package com.yh.saas.plugin.yiliangyiyun.service;
 
+import com.baomidou.mybatisplus.plugins.Page;
 import com.yh.saas.plugin.yiliangyiyun.entity.FuelFillingInfo;
 import com.baomidou.mybatisplus.service.IService;
 
@@ -12,5 +13,22 @@ import com.baomidou.mybatisplus.service.IService;
  * @since 2022-06-24
  */
 public interface IFuelFillingInfoService extends IService<FuelFillingInfo> {
-
+    /**
+     * 添加长途轨迹
+     *
+     * @param fuelFillingInfo
+     */
+    String addFilling(FuelFillingInfo fuelFillingInfo);
+    /**
+     * 长途加油信息查询
+     *
+     * @param fuelFillingInfo
+     * @return
+     */
+    Page<FuelFillingInfo> selectFilling(FuelFillingInfo fuelFillingInfo);
+    /**
+     * 查看长途加油信息
+     * @param id
+     */
+    FuelFillingInfo getFilling(String id);
 }

+ 25 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IShortFillingInfoService.java

@@ -1,5 +1,7 @@
 package com.yh.saas.plugin.yiliangyiyun.service;
 
+import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.PurchaseReceiptReport;
 import com.yh.saas.plugin.yiliangyiyun.entity.ShortFillingInfo;
 import com.baomidou.mybatisplus.service.IService;
 
@@ -12,5 +14,27 @@ import com.baomidou.mybatisplus.service.IService;
  * @since 2022-07-07
  */
 public interface IShortFillingInfoService extends IService<ShortFillingInfo> {
-
+    /**
+     * 添加短途加油信息
+     *
+     * @param shortFillingInfo
+     */
+    String addShortFilling(ShortFillingInfo shortFillingInfo);
+    /**
+     * 短途加油信息查询
+     *
+     * @param shortFillingInfo
+     * @return
+     */
+    Page<ShortFillingInfo> selectShortFilling(ShortFillingInfo shortFillingInfo);
+    /**
+     * 查看短途加油信息
+     * @param id
+     */
+    ShortFillingInfo getShortFilling(String id);
+    /**
+     * 短途请款
+     * @param shortFillingInfo
+     */
+    String shortRequestFunds(ShortFillingInfo shortFillingInfo);
 }

+ 13 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/ITrackDetailInfoService.java

@@ -1,5 +1,7 @@
 package com.yh.saas.plugin.yiliangyiyun.service;
 
+import com.yh.saas.plugin.yiliangyiyun.entity.CollectionManagement;
+import com.yh.saas.plugin.yiliangyiyun.entity.FuelFillingInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.TrackDetailInfo;
 import com.baomidou.mybatisplus.service.IService;
 
@@ -12,5 +14,16 @@ import com.baomidou.mybatisplus.service.IService;
  * @since 2022-06-29
  */
 public interface ITrackDetailInfoService extends IService<TrackDetailInfo> {
+    /**
+     * 添加轨迹
+     *
+     * @param trackDetailInfo
+     */
+    String addTrackDetail(TrackDetailInfo trackDetailInfo);
+    /**
+     * 查看轨迹
+     * @param trackDetailInfo
+     */
+    TrackDetailInfo getTrack(TrackDetailInfo trackDetailInfo);
 
 }

+ 41 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/FillingDetailInfoServiceImpl.java

@@ -1,10 +1,20 @@
 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.FillingDetailInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.FuelFillingInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.TranProcessInfo;
 import com.yh.saas.plugin.yiliangyiyun.mapper.FillingDetailInfoMapper;
 import com.yh.saas.plugin.yiliangyiyun.service.IFillingDetailInfoService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.yh.saas.plugin.yiliangyiyun.service.IFuelFillingInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
 
 /**
  * <p>
@@ -17,4 +27,35 @@ import org.springframework.stereotype.Service;
 @Service
 public class FillingDetailInfoServiceImpl extends ServiceImpl<FillingDetailInfoMapper, FillingDetailInfo> implements IFillingDetailInfoService {
 
+    @Autowired
+    private IFuelFillingInfoService fuelFillingInfoService;
+    /**
+     * 添加明细
+     * @param fillingDetailInfo
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public String addFillingDetail(FillingDetailInfo fillingDetailInfo) {
+        List<FillingDetailInfo> fillingDetailInfoList = fillingDetailInfo.getFillingDetailInfoList();
+        if (!CollectionUtils.isEmpty(fillingDetailInfoList)) {
+            for (FillingDetailInfo fillingDetailInfo1 : fillingDetailInfoList) {
+                //新增主键id
+                fillingDetailInfo1.setId(IdGenerator.generateUUID());
+                //操作数据
+                this.insert(fillingDetailInfo1);
+            }
+        }
+        //查询加油信息
+        FuelFillingInfo fuelFillingInfo = fuelFillingInfoService.selectOne(new EntityWrapper<FuelFillingInfo>()
+                    .eq("id",fillingDetailInfo.getFillingDetailInfoList().get(0).getFillingId())
+                    .eq("delete_flag","0"));
+        if(fuelFillingInfo != null){
+            fuelFillingInfo.setTfc(fillingDetailInfo.getTfc());
+            fuelFillingInfo.setTotalCost(fillingDetailInfo.getTotalCost());
+            //更新主表数据
+            fuelFillingInfoService.updateById(fuelFillingInfo);
+        }
+        return "OK";
+    }
 }

+ 94 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/FuelFillingInfoServiceImpl.java

@@ -1,11 +1,25 @@
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.google.common.collect.Lists;
+import com.yh.saas.common.support.util.IdGenerator;
+import com.yh.saas.common.support.util.StringUtils;
+import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.entity.FuelFillingInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.LeaveInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.StockPurchaseReceiptReport;
+import com.yh.saas.plugin.yiliangyiyun.entity.TrackDetailInfo;
 import com.yh.saas.plugin.yiliangyiyun.mapper.FuelFillingInfoMapper;
 import com.yh.saas.plugin.yiliangyiyun.service.IFuelFillingInfoService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 记录加油信息 服务实现类
@@ -17,4 +31,84 @@ import org.springframework.stereotype.Service;
 @Service
 public class FuelFillingInfoServiceImpl extends ServiceImpl<FuelFillingInfoMapper, FuelFillingInfo> implements IFuelFillingInfoService {
 
+    @Autowired
+    private IFuelFillingInfoService fuelFillingInfoService;
+    /**
+     * 添加长途加油信息
+     * @param fuelFillingInfo
+     * @return
+     */
+    @Override
+    public String addFilling(FuelFillingInfo fuelFillingInfo) {
+        String id="";
+        //判断开始/结束轨迹(0开始1结束)
+        if("0".equals(fuelFillingInfo.getTrackFlag())){
+            //新增主键id
+            fuelFillingInfo.setId(IdGenerator.generateUUID());
+            //行程状态改为已开始
+            fuelFillingInfo.setTravelStatus(StatusEnum.TRACK_START.getName());
+            fuelFillingInfo.setTravelStatusFlag(StatusEnum.TRACK_START.getFlag());
+            this.insert(fuelFillingInfo);
+            id=fuelFillingInfo.getId();
+        }
+        else{
+            FuelFillingInfo fuelFillingInfo1 = fuelFillingInfoService.selectOne(new EntityWrapper<FuelFillingInfo>()
+                        .eq("comp_id",fuelFillingInfo.getCompId())
+                        .eq("common_id",fuelFillingInfo.getCommonId())
+                        .eq("car_no",fuelFillingInfo.getCarNo()));
+            if(fuelFillingInfo1 != null){
+                //行程状态改为已结束
+                fuelFillingInfo1.setTravelStatusFlag(StatusEnum.TRACK_END.getFlag());
+                fuelFillingInfo1.setTravelStatus(StatusEnum.TRACK_END.getName());
+                fuelFillingInfo1.setDestinationProvince(fuelFillingInfo.getDestinationProvince());
+                fuelFillingInfo1.setDestinationCity(fuelFillingInfo.getDestinationCity());
+                fuelFillingInfo1.setDestinationArea(fuelFillingInfo.getDestinationArea());
+                fuelFillingInfo1.setDestinationLongitude(fuelFillingInfo.getDestinationLongitude());
+                fuelFillingInfo1.setDestinationLatitude(fuelFillingInfo.getDestinationLatitude());
+                this.updateById(fuelFillingInfo1);
+                id=fuelFillingInfo1.getId();
+            }
+        }
+        return id;
+    }
+
+    /**
+     * 长途加油记录查询
+     * @param fuelFillingInfo
+     * @return
+     */
+    @Override
+    public Page<FuelFillingInfo> selectFilling(FuelFillingInfo fuelFillingInfo) {
+        Map<String, Object> pageView = new HashMap<>();
+        pageView.put("startRecord", (fuelFillingInfo.getCurrentPage() - 1)
+                * fuelFillingInfo.getPageSize());
+        //  公司ID
+        pageView.put("compId", fuelFillingInfo.getCompId());
+        pageView.put("commonId", fuelFillingInfo.getCommonId());
+        pageView.put("searchType",fuelFillingInfo.getSearchType());
+        pageView.put("pageSize", fuelFillingInfo.getPageSize());
+        pageView.put("currentPage", fuelFillingInfo.getCurrentPage());
+        // 查询总数
+        Integer dataCount = baseMapper.getCountByCondition(pageView);
+        List<FuelFillingInfo> dataList = baseMapper.getListByCondition(pageView);
+        Page<FuelFillingInfo> page = new Page<>();
+        page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+        page.setTotal(dataCount == null ? 0 : dataCount);
+        page.setCurrent(fuelFillingInfo.getCurrentPage());
+        page.setSize(fuelFillingInfo.getPageSize());
+        return page;
+    }
+
+    /**
+     * 查看长途加油信息
+     * @param id
+     * @return
+     */
+    @Override
+    public FuelFillingInfo getFilling(String id) {
+        //根据id查询加油信息
+        FuelFillingInfo fuelFillingInfo = this.selectById(id);
+        return fuelFillingInfo;
+    }
+
 }

+ 134 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/ShortFillingInfoServiceImpl.java

@@ -1,10 +1,24 @@
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.google.common.collect.Lists;
+import com.yh.saas.common.support.util.IdGenerator;
+import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
+import com.yh.saas.plugin.yiliangyiyun.entity.FuelFillingInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.ShortFillingInfo;
 import com.yh.saas.plugin.yiliangyiyun.mapper.ShortFillingInfoMapper;
+import com.yh.saas.plugin.yiliangyiyun.service.IFuelFillingInfoService;
 import com.yh.saas.plugin.yiliangyiyun.service.IShortFillingInfoService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -17,4 +31,124 @@ import org.springframework.stereotype.Service;
 @Service
 public class ShortFillingInfoServiceImpl extends ServiceImpl<ShortFillingInfoMapper, ShortFillingInfo> implements IShortFillingInfoService {
 
+    @Autowired
+    private IShortFillingInfoService shortFillingInfoService;
+    @Autowired
+    private IFuelFillingInfoService fuelFillingInfoService;
+
+    /**
+     * 添加短途加油信息
+     *
+     * @param shortFillingInfo
+     * @return
+     */
+    @Override
+    public String addShortFilling(ShortFillingInfo shortFillingInfo) {
+        String id = "";
+        //判断开始/结束轨迹(0开始1结束)
+        if ("0".equals(shortFillingInfo.getTrackFlag())) {
+            //新增主键id
+            shortFillingInfo.setId(IdGenerator.generateUUID());
+            //行程状态改为已开始
+            shortFillingInfo.setTravelStatus(StatusEnum.TRACK_START.getName());
+            shortFillingInfo.setTravelStatusFlag(StatusEnum.TRACK_START.getFlag());
+            this.insert(shortFillingInfo);
+            id = shortFillingInfo.getId();
+        } else {
+            ShortFillingInfo shortFillingInfo1 = shortFillingInfoService.selectOne(new EntityWrapper<ShortFillingInfo>()
+                    .eq("comp_id", shortFillingInfo.getCompId())
+                    .eq("common_id", shortFillingInfo.getCommonId())
+                    .eq("car_no", shortFillingInfo.getCarNo()));
+            if (shortFillingInfo1 != null) {
+                //行程状态改为已结束
+                shortFillingInfo1.setTravelStatusFlag(StatusEnum.TRACK_END.getFlag());
+                shortFillingInfo1.setTravelStatus(StatusEnum.TRACK_END.getName());
+                shortFillingInfo1.setDestinationProvince(shortFillingInfo.getDestinationProvince());
+                shortFillingInfo1.setDestinationCity(shortFillingInfo.getDestinationCity());
+                shortFillingInfo1.setDestinationArea(shortFillingInfo.getDestinationArea());
+                shortFillingInfo1.setReceiveWarehouse(shortFillingInfo.getReceiveWarehouse());
+                shortFillingInfo1.setDestinationLongitude(shortFillingInfo.getDestinationLongitude());
+                shortFillingInfo1.setDestinationLatitude(shortFillingInfo.getDestinationLatitude());
+                shortFillingInfo1.setMileage(shortFillingInfo.getMileage());
+                this.updateById(shortFillingInfo1);
+                id = shortFillingInfo1.getId();
+            }
+        }
+        return id;
+    }
+
+    /**
+     * 短途加油信息查询
+     *
+     * @param shortFillingInfo
+     * @return
+     */
+    @Override
+    public Page<ShortFillingInfo> selectShortFilling(ShortFillingInfo shortFillingInfo) {
+        Map<String, Object> pageView = new HashMap<>();
+        pageView.put("startRecord", (shortFillingInfo.getCurrentPage() - 1)
+                * shortFillingInfo.getPageSize());
+        //  公司ID
+        pageView.put("compId", shortFillingInfo.getCompId());
+        pageView.put("commonId", shortFillingInfo.getCommonId());
+        pageView.put("searchType", shortFillingInfo.getSearchType());
+        pageView.put("pageSize", shortFillingInfo.getPageSize());
+        pageView.put("currentPage", shortFillingInfo.getCurrentPage());
+        // 查询总数
+        Integer dataCount = baseMapper.getCountByCondition(pageView);
+        List<ShortFillingInfo> dataList = baseMapper.getListByCondition(pageView);
+        Page<ShortFillingInfo> page = new Page<>();
+        page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+        page.setTotal(dataCount == null ? 0 : dataCount);
+        page.setCurrent(shortFillingInfo.getCurrentPage());
+        page.setSize(shortFillingInfo.getPageSize());
+        return page;
+    }
+
+    /**
+     * 查看短途加油信息
+     *
+     * @param id
+     * @return
+     */
+    @Override
+    public ShortFillingInfo getShortFilling(String id) {
+        //根据id查询加油信息
+        ShortFillingInfo shortFillingInfo = this.selectById(id);
+        return shortFillingInfo;
+    }
+
+    /**
+     * 短途请款
+     *
+     * @param shortFillingInfo
+     * @return
+     */
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public String shortRequestFunds(ShortFillingInfo shortFillingInfo) {
+        List<ShortFillingInfo> shortFillingInfoList = shortFillingInfo.getShortFillingInfoList();
+        String id = IdGenerator.generateUUID();
+        if (!CollectionUtils.isEmpty(shortFillingInfoList)) {
+            for (ShortFillingInfo shortFillingInfo1 : shortFillingInfoList) {
+                shortFillingInfo1.setFillingId(id);
+                shortFillingInfo1.setWarehouseName(shortFillingInfo.getWarehouseName());
+                this.updateById(shortFillingInfo1);
+            }
+        }
+        FuelFillingInfo fuelFillingInfo = new FuelFillingInfo();
+        //新增主表id
+        fuelFillingInfo.setId(id);
+        //定义总里程
+        Double totalMileage = 0.0;
+        for (int i = 0; i < shortFillingInfoList.size(); i++) {
+            totalMileage = totalMileage + shortFillingInfoList.get(i).getMileage();
+            fuelFillingInfo.setTotalMileage(totalMileage);
+        }
+        fuelFillingInfo.setCompId(shortFillingInfoList.get(0).getCompId());
+        fuelFillingInfo.setStrokeType("3");
+        fuelFillingInfo.setWarehouseName(shortFillingInfo.getWarehouseName());
+        fuelFillingInfoService.insert(fuelFillingInfo);
+        return "OK";
+    }
 }

+ 39 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/TrackDetailInfoServiceImpl.java

@@ -1,9 +1,14 @@
 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.FuelFillingInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.TrackDetailInfo;
 import com.yh.saas.plugin.yiliangyiyun.mapper.TrackDetailInfoMapper;
+import com.yh.saas.plugin.yiliangyiyun.service.IFuelFillingInfoService;
 import com.yh.saas.plugin.yiliangyiyun.service.ITrackDetailInfoService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -17,4 +22,38 @@ import org.springframework.stereotype.Service;
 @Service
 public class TrackDetailInfoServiceImpl extends ServiceImpl<TrackDetailInfoMapper, TrackDetailInfo> implements ITrackDetailInfoService {
 
+    @Autowired
+    private IFuelFillingInfoService fuelFillingInfoService;
+    /**
+     * 添加轨迹
+     * @param trackDetailInfo
+     * @return
+     */
+    @Override
+    public String addTrackDetail(TrackDetailInfo trackDetailInfo) {
+        //新增主键id
+        trackDetailInfo.setId(IdGenerator.generateUUID());
+        //查询加油信息
+        FuelFillingInfo fuelFillingInfo = fuelFillingInfoService.selectOne(new EntityWrapper<FuelFillingInfo>()
+                    .eq("car_no",trackDetailInfo.getCarNo())
+                    .eq("delete_flag","0"));
+        if(fuelFillingInfo != null){
+            trackDetailInfo.setFillingId(fuelFillingInfo.getId());
+        }
+        this.insert(trackDetailInfo);
+        return "OK";
+    }
+
+    /**
+     * 查看轨迹
+     * @param trackDetailInfo
+     * @return
+     */
+    @Override
+    public TrackDetailInfo getTrack(TrackDetailInfo trackDetailInfo) {
+        TrackDetailInfo trackDetailInfo1 = this.selectOne(new EntityWrapper<TrackDetailInfo>()
+                    .eq("filling_id",trackDetailInfo.getFillingId())
+                    .eq("delete_flag","0"));
+        return trackDetailInfo1;
+    }
 }

+ 78 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/FuelFillingInfoMapper.xml

@@ -1,5 +1,82 @@
 <?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.FuelFillingInfoMapper">
-
+    <!-- 获得长途记录总数 -->
+    <select id="getCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        SELECT
+        COUNT(ff.id)
+        FROM fuel_filling_info ff
+        left join filling_detail_info fd on ff.id = fd.filling_id and fd.delete_flag = '0'
+        left join track_detail_info td on ff.id = td.filling_id and td.delete_flag = '0'
+        WHERE
+        ff.comp_id = #{compId}
+        and ff.common_id = #{commonId}
+        and ff.delete_flag = '0'
+        <if test="searchType != null and searchType != ''">
+            <!--未完成-->
+            <if test="searchType == 1">
+                AND ff.travel_status_flag = '1'
+            </if>
+            <!--已完成-->
+            <if test="searchType == 3">
+                AND (ff.travel_status_flag = '3' OR ff.travel_status_flag = '5')
+            </if>
+        </if>
+    </select>
+    <!-- 长途加油记录查询 -->
+    <select id="getListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.FuelFillingInfo">
+        SELECT
+        ff.id,
+        ff.comp_id as compId,
+        ff.common_id as commonId,
+        ff.driver_name as driverName,
+        ff.car_no as carNo,
+        ff.send_warehouse as sendWarehouse,
+        ff.receive_warehouse as receiveWarehouse,
+        ff.mileage,
+        ff.total_mileage as totalMileage,
+        ff.origin_province as originProvince,
+        ff.origin_city as originCity,
+        ff.approve_status as approveStatus,
+        ff.create_date as createDate,
+        ff.origin_area as originArea,
+        ff.origin_longitude as originLongitude,
+        ff.origin_latitude as originLatitude,
+        ff.destination_province as destinationProvince,
+        ff.destination_city as destinationCity,
+        ff.destination_area as destinationArea,
+        ff.destination_longitude as destinationLongitude,
+        ff.destination_latitude as destinationLatitude,
+        ff.total_cost as totalCost,
+        ff.tfc,
+        ff.travel_status as travelStatus,
+        ff.travel_status_flag as travelStatusFlag,
+        fd.oil_consumption as oilConsumption,
+        fd.current_oil_price as currentOilPrice,
+        fd.current_consumption as currentConsumption,
+        fd.address_url as addressUrl
+        FROM fuel_filling_info ff
+        left join filling_detail_info fd on ff.id = fd.filling_id and fd.delete_flag = '0'
+        left join track_detail_info td on ff.id = td.filling_id and td.delete_flag = '0'
+        WHERE
+        ff.comp_id = #{compId}
+        and ff.common_id = #{commonId}
+        and ff.delete_flag = '0'
+        <if test="searchType != null and searchType != ''">
+            <!--未完成-->
+            <if test="searchType == 1">
+                AND ff.travel_status_flag = '1'
+            </if>
+            <!--已完成-->
+            <if test="searchType == 3">
+                AND (ff.travel_status_flag = '3' OR ff.travel_status_flag = '5')
+            </if>
+        </if>
+        GROUP BY ff.id
+        ORDER BY ff.create_date DESC
+        <if test="currentPage != null and currentPage != ''">
+            LIMIT ${startRecord}, ${pageSize}
+        </if>
+    </select>
 </mapper>

+ 68 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ShortFillingInfoMapper.xml

@@ -1,5 +1,72 @@
 <?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.ShortFillingInfoMapper">
-
+    <!-- 获得短途记录总数 -->
+    <select id="getCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        SELECT
+        COUNT(id)
+        FROM short_filling_info
+        WHERE
+        comp_id = #{compId}
+        and common_id = #{commonId}
+        and delete_flag = '0'
+        <if test="searchType != null and searchType != ''">
+            <!--未完成-->
+            <if test="searchType == 1">
+                AND travel_status_flag = '1'
+            </if>
+            <!--已完成-->
+            <if test="searchType == 3">
+                AND (travel_status_flag = '3' OR travel_status_flag = '5')
+            </if>
+        </if>
+    </select>
+    <!-- 长途加油记录查询 -->
+    <select id="getListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.ShortFillingInfo">
+        SELECT
+        id,
+        comp_id as compId,
+        common_id as commonId,
+        car_no as carNo,
+        filling_id as fillingId,
+        send_warehouse as sendWarehouse,
+        receive_warehouse as receiveWarehouse,
+        mileage,
+        origin_province as originProvince,
+        origin_city as originCity,
+        approve_status as approveStatus,
+        create_date as createDate,
+        origin_area as originArea,
+        amount_requested as amountRequested,
+        origin_longitude as originLongitude,
+        origin_latitude as originLatitude,
+        destination_province as destinationProvince,
+        destination_city as destinationCity,
+        destination_area as destinationArea,
+        destination_longitude as destinationLongitude,
+        destination_latitude as destinationLatitude,
+        travel_status as travelStatus,
+        travel_status_flag as travelStatusFlag,
+        create_date as cerateDate
+        FROM short_filling_info
+        WHERE
+        comp_id = #{compId}
+        and common_id = #{commonId}
+        and delete_flag = '0'
+        <if test="searchType != null and searchType != ''">
+            <!--未完成-->
+            <if test="searchType == 1">
+                AND travel_status_flag = '1'
+            </if>
+            <!--已完成-->
+            <if test="searchType == 3">
+                AND (travel_status_flag = '3' OR travel_status_flag = '5')
+            </if>
+        </if>
+        ORDER BY create_date DESC
+        <if test="currentPage != null and currentPage != ''">
+            LIMIT ${startRecord}, ${pageSize}
+        </if>
+    </select>
 </mapper>