Browse Source

Merge remote-tracking branch 'origin/master'

lazhaoqian 4 years ago
parent
commit
720fdad722
24 changed files with 1920 additions and 227 deletions
  1. 22 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/fleet/orderPlan/ftmsorderbillscarsController.java
  2. 0 1
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/shipping/controller/TCntrController.java
  3. 2 2
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/reportManagement/TWarehousebillsitemsSummaryController.java
  4. 62 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/reportManagement/TWhgenlegController.java
  5. 8 4
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/warehouseBusiness/TWarehouseGoodsTransferController.java
  6. 12 8
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/warehouseBusiness/TWarehouseInStockController.java
  7. 12 8
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/warehouseBusiness/TWarehouseOutStockController.java
  8. 12 6
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/warehouseBusiness/TWarehouseStockTransferController.java
  9. 307 20
      ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
  10. 103 8
      ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/domain/Ftmsorderbillscars.java
  11. 3 0
      ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/domain/FtmsorderbillscarsExcel.java
  12. 417 0
      ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/domain/VehicleLedgerExcel.java
  13. 8 4
      ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/mapper/FtmsorderbillscarsMapper.java
  14. 8 0
      ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/service/IftmsorderbillscarsService.java
  15. 10 0
      ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/service/impl/FtmsorderbillscarsServiceImpl.java
  16. 320 149
      ruoyi-fleet/src/main/resources/mapper/orderPlan/ftmsorderbillscarsMapper.xml
  17. 219 0
      ruoyi-warehouse/src/main/java/com/ruoyi/reportManagement/domain/SingleAnalysisExcel.java
  18. 118 0
      ruoyi-warehouse/src/main/java/com/ruoyi/reportManagement/domain/SingleAnalysisFeesExcel.java
  19. 15 0
      ruoyi-warehouse/src/main/java/com/ruoyi/reportManagement/service/ITWhgenlegService.java
  20. 22 0
      ruoyi-warehouse/src/main/java/com/ruoyi/reportManagement/service/impl/TWhgenlegServiceImpl.java
  21. 16 0
      ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/mapper/TWarehouseBillsMapper.java
  22. 6 6
      ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/ITWarehouseBillsService.java
  23. 135 11
      ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java
  24. 83 0
      ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsMapper.xml

+ 22 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/fleet/orderPlan/ftmsorderbillscarsController.java

@@ -16,7 +16,9 @@ import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.orderPlan.domain.Ftmsorderbills;
 import com.ruoyi.orderPlan.domain.Ftmsorderbillscars;
 import com.ruoyi.orderPlan.domain.FtmsorderbillscarsExcel;
+import com.ruoyi.orderPlan.domain.VehicleLedgerExcel;
 import com.ruoyi.orderPlan.service.IftmsorderbillscarsService;
+import org.aspectj.weaver.loadtime.Aj;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
@@ -79,6 +81,26 @@ public class ftmsorderbillscarsController extends BaseController {
     }
 
     /**
+     * 查询陆运台账列表信息
+     */
+    @GetMapping("/queryLedgerList")
+    public TableDataInfo queryLedgerList(VehicleLedgerExcel vehicleLedgerExcel) {
+        startPage();
+        List<VehicleLedgerExcel> list = ftmsorderbillscarsService.queryLedgerList(vehicleLedgerExcel);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出陆运台账列表信息
+     */
+    @GetMapping("/ledgerListExport")
+    public AjaxResult ledgerListExport(VehicleLedgerExcel vehicleLedgerExcel) {
+        List<VehicleLedgerExcel> list = ftmsorderbillscarsService.queryLedgerList(vehicleLedgerExcel);
+        ExcelUtil<VehicleLedgerExcel> util = new ExcelUtil<VehicleLedgerExcel>(VehicleLedgerExcel.class);
+        return util.exportExcel(list, "陆运台账");
+    }
+
+    /**
      * 查询车辆可配载运单
      */
     @GetMapping(value = "/selectStowage")

+ 0 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/shipping/controller/TCntrController.java

@@ -40,7 +40,6 @@ public class TCntrController extends BaseController
     /**
      * 查询集装箱列表
      */
-    @PreAuthorize("@ss.hasPermi('shipping:cntr:list')")
     @GetMapping("/list")
     public TableDataInfo list(TCntr tCntr)
     {

+ 2 - 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/reportManagement/TWarehousebillsitemsSummaryController.java

@@ -20,7 +20,7 @@ import java.util.Map;
 
 /**
  * 出入库汇总Controller
- *
+ * 总账统计
  * @author ruoyi
  * @date 2020-12-23
  */
@@ -50,7 +50,7 @@ public class TWarehousebillsitemsSummaryController extends BaseController {
     public AjaxResult export(TWarehouseBills tWarehouseBills) {
         List<TWareHouseItemsExcel> list = itWarehouseBillsService.selectTWarehousebillsItemsList(tWarehouseBills);
         ExcelUtil<TWareHouseItemsExcel> util = new ExcelUtil<TWareHouseItemsExcel>(TWareHouseItemsExcel.class);
-        return util.exportExcel(list, "出入库统计");
+        return util.statisticsExportExcel(list, "总账统计");
     }
 
 

+ 62 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/reportManagement/TWhgenlegController.java

@@ -8,6 +8,8 @@ import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.reportManagement.domain.SingleAnalysisExcel;
+import com.ruoyi.reportManagement.domain.SingleAnalysisFeesExcel;
 import com.ruoyi.reportManagement.domain.TWhgenleg;
 import com.ruoyi.reportManagement.dto.TWarehousebill;
 import com.ruoyi.reportManagement.excel.Whgenleg;
@@ -17,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -70,6 +73,65 @@ public class TWhgenlegController extends BaseController {
     }
 
     /**
+     * 获取单票分析信息
+     */
+    @GetMapping(value = "/singleAnalysis")
+    public AjaxResult singleAnalysis(SingleAnalysisExcel singleAnalysisExcel) {
+        if (StringUtils.isNull(singleAnalysisExcel.getfCorpid()) || StringUtils.isEmpty(singleAnalysisExcel.getfMblno())) {
+            return AjaxResult.error("未找到查询条件");
+        }
+        List<SingleAnalysisFeesExcel> feesList = tWhgenlegService.selectSingleAnalysisFees(singleAnalysisExcel);
+        List<SingleAnalysisExcel> singleAnalysisExcels = tWhgenlegService.selectSingleAnalysis(singleAnalysisExcel);
+        Map<String, Object> map = new HashMap<>();
+        map.put("singleAnalysis", singleAnalysisExcels);
+        map.put("feeList", feesList);
+        String goodsName = "";
+        if (StringUtils.isNotEmpty(singleAnalysisExcels)) {
+            goodsName = singleAnalysisExcels.get(0).getGoodsName();
+        }
+        map.put("goodsName", goodsName);
+        return AjaxResult.success(map);
+    }
+
+    /**
+     * 导出单票分析信息
+     */
+    @GetMapping(value = "/exportSingleAnalysis")
+    public AjaxResult exportSingleAnalysis(SingleAnalysisExcel singleAnalysisExcel) {
+        if (StringUtils.isNull(singleAnalysisExcel.getfCorpid()) || StringUtils.isEmpty(singleAnalysisExcel.getfMblno())) {
+            return AjaxResult.error("未找到查询条件信息");
+        }
+        List<SingleAnalysisExcel> list = tWhgenlegService.selectSingleAnalysis(singleAnalysisExcel);
+        if (StringUtils.isEmpty(list)) {
+            return AjaxResult.error("数据为空");
+        }
+        Map<String, Object> map = new HashMap<>();
+        if (StringUtils.isNotEmpty(list)) {
+            map.put("mblno", list.get(0).getfMblno());
+            map.put("corpName", list.get(0).getCorpName());
+            map.put("goodsName", list.get(0).getGoodsName());
+        }
+        ExcelUtil<SingleAnalysisExcel> util = new ExcelUtil<SingleAnalysisExcel>(SingleAnalysisExcel.class);
+        return util.singleAnalysisExportExcel(list, map, "单票分析");
+    }
+
+    /**
+     * 导出单票分析费用信息
+     */
+    @GetMapping(value = "/exportSingleAnalysisFees")
+    public AjaxResult exportSingleAnalysisFees(SingleAnalysisExcel singleAnalysisExcel) {
+        if (StringUtils.isNull(singleAnalysisExcel.getfCorpid()) || StringUtils.isEmpty(singleAnalysisExcel.getfMblno())) {
+            return AjaxResult.error("未找到查询条件信息");
+        }
+        List<SingleAnalysisFeesExcel> list = tWhgenlegService.selectSingleAnalysisFees(singleAnalysisExcel);
+        if (StringUtils.isEmpty(list)) {
+            return AjaxResult.error("数据为空");
+        }
+        ExcelUtil<SingleAnalysisFeesExcel> util = new ExcelUtil<SingleAnalysisFeesExcel>(SingleAnalysisFeesExcel.class);
+        return util.singleAnalysisFeesExportExcel(list, "单票分析费用");
+    }
+
+    /**
      * 新增库存总账
      */
     @PreAuthorize("@ss.hasPermi('warehouseBusiness:whgenleg:add')")

+ 8 - 4
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/warehouseBusiness/TWarehouseGoodsTransferController.java

@@ -92,6 +92,7 @@ public class TWarehouseGoodsTransferController extends BaseController {
     @RepeatSubmit
     public AjaxResult add(@RequestParam("warehouseBills") String tWarehouseBills,
                           @RequestParam("tEnclosure") String tWhgenleg,
+                          @RequestParam("tCntr") String tCntr,
                           @RequestParam("warehousebillsfeesCr") String tWarehousebillsfeesCr,
                           @RequestParam("warehousebillsfeesDr") String tWarehousebillsfeesDr,
                           @RequestParam("warehousebillsitems") String tWarehousebillsitems,
@@ -114,7 +115,7 @@ public class TWarehouseGoodsTransferController extends BaseController {
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.insertTWarehousebills(tWarehouseBills, tWarehousebillsfeesCr,
-                tWarehousebillsfeesDr, tWarehousebillsitems, tWhgenleg, loginUser, billsType);
+                tWarehousebillsfeesDr, tWarehousebillsitems, tWhgenleg, loginUser, tCntr, billsType);
     }
 
     /**
@@ -126,6 +127,7 @@ public class TWarehouseGoodsTransferController extends BaseController {
     @RepeatSubmit
     public AjaxResult warehouseSubmission(@RequestParam("warehouseBills") String tWarehouseBills,
                                           @RequestParam("tEnclosure") String tEnclosure,
+                                          @RequestParam("tCntr") String tCntr,
                                           @RequestParam("warehousebillsfeesCr") String tWarehousebillsfeesCr,
                                           @RequestParam("warehousebillsfeesDr") String tWarehousebillsfeesDr,
                                           @RequestParam("warehousebillsitems") String tWarehousebillsitems) {
@@ -138,7 +140,7 @@ public class TWarehouseGoodsTransferController extends BaseController {
         }
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.warehouseSubmission(tWarehouseBills, tWarehousebillsfeesCr,
-                tWarehousebillsfeesDr, tWarehousebillsitems, tEnclosure, loginUser, billsType);
+                tWarehousebillsfeesDr, tWarehousebillsitems, tEnclosure, loginUser, tCntr, billsType);
     }
 
     /**
@@ -150,6 +152,7 @@ public class TWarehouseGoodsTransferController extends BaseController {
     @RepeatSubmit
     public AjaxResult addCredit(@RequestParam("warehouseBills") String warehouseBills,
                                 @RequestParam("tEnclosure") String tEnclosure,
+                                @RequestParam("tCntr") String tCntr,
                                 @RequestParam("warehousebillsfeesCr") String warehousebillsfeesCr,
                                 @RequestParam("warehousebillsfeesDr") String warehousebillsfeesDr,
                                 @RequestParam("warehousebillsitems") String warehousebillsitems) {
@@ -163,7 +166,7 @@ public class TWarehouseGoodsTransferController extends BaseController {
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.updateCredit(warehouseBills, warehousebillsitems, tEnclosure, warehousebillsfeesCr,
-                warehousebillsfeesDr, loginUser, billsType);
+                warehousebillsfeesDr, loginUser, tCntr, billsType);
     }
 
     /**
@@ -227,6 +230,7 @@ public class TWarehouseGoodsTransferController extends BaseController {
     @RepeatSubmit
     public AjaxResult deleteCredit(@RequestParam("warehouseBills") String warehouseBills,
                                    @RequestParam("tEnclosure") String tEnclosure,
+                                   @RequestParam("tCntr") String tCntr,
                                    @RequestParam("warehousebillsfeesCr") String warehousebillsfeesCr,
                                    @RequestParam("warehousebillsfeesDr") String warehousebillsfeesDr,
                                    @RequestParam("warehousebillsitems") String warehousebillsitems) {
@@ -234,7 +238,7 @@ public class TWarehouseGoodsTransferController extends BaseController {
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.revokeTWarehousebillsById1(warehouseBills, warehousebillsitems,
-                tEnclosure, warehousebillsfeesCr, warehousebillsfeesDr, loginUser, billsType);
+                tEnclosure, warehousebillsfeesCr, warehousebillsfeesDr, loginUser, tCntr, billsType);
     }
 
 }

+ 12 - 8
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/warehouseBusiness/TWarehouseInStockController.java

@@ -58,7 +58,6 @@ public class TWarehouseInStockController extends BaseController {
         return getDataTable(list);
     }
 
-
     /**
      * 导出入库详情主表列表
      */
@@ -92,6 +91,7 @@ public class TWarehouseInStockController extends BaseController {
     @RepeatSubmit
     public AjaxResult add(@RequestParam("tWarehouseBills") String tWarehouseBills,
                           @RequestParam("tEnclosure") String tEnclosure,
+                          @RequestParam("tCntr") String tCntr,
                           @RequestParam("tWarehousebillsfeesCr") String tWarehousebillsfeesCr,
                           @RequestParam("tWarehousebillsfeesDr") String tWarehousebillsfeesDr,
                           @RequestParam("tWarehousebillsitems") String tWarehousebillsitems,
@@ -110,7 +110,7 @@ public class TWarehouseInStockController extends BaseController {
         }
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.insertTWarehousebills(tWarehouseBills, tWarehousebillsfeesCr,
-                tWarehousebillsfeesDr, tWarehousebillsitems, tEnclosure, loginUser, billsType);
+                tWarehousebillsfeesDr, tWarehousebillsitems, tEnclosure, loginUser, tCntr, billsType);
     }
 
     /**
@@ -122,6 +122,7 @@ public class TWarehouseInStockController extends BaseController {
     @RepeatSubmit
     public AjaxResult warehouseSubmission(@RequestParam("tWarehouseBills") String tWarehouseBills,
                                           @RequestParam("tEnclosure") String tEnclosure,
+                                          @RequestParam("tCntr") String tCntr,
                                           @RequestParam("tWarehousebillsfeesCr") String tWarehousebillsfeesCr,
                                           @RequestParam("tWarehousebillsfeesDr") String tWarehousebillsfeesDr,
                                           @RequestParam("tWarehousebillsitems") String tWarehousebillsitems) {
@@ -134,7 +135,7 @@ public class TWarehouseInStockController extends BaseController {
         }
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.warehouseSubmission(tWarehouseBills, tWarehousebillsfeesCr,
-                tWarehousebillsfeesDr, tWarehousebillsitems, tEnclosure, loginUser, billsType);
+                tWarehousebillsfeesDr, tWarehousebillsitems, tEnclosure, loginUser, tCntr, billsType);
     }
 
     /**
@@ -196,6 +197,7 @@ public class TWarehouseInStockController extends BaseController {
     @PostMapping(value = "/updateCredit")
     public AjaxResult deleteCredit(@RequestParam("warehouseBills") String warehouseBills,
                                    @RequestParam("tEnclosure") String tEnclosure,
+                                   @RequestParam("tCntr") String tCntr,
                                    @RequestParam("warehousebillsfeesCr") String warehousebillsfeesCr,
                                    @RequestParam("warehousebillsfeesDr") String warehousebillsfeesDr,
                                    @RequestParam("warehousebillsitems") String warehousebillsitems) {
@@ -203,7 +205,7 @@ public class TWarehouseInStockController extends BaseController {
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.revokeTWarehousebillsById1(warehouseBills, warehousebillsitems,
-                tEnclosure, warehousebillsfeesCr, warehousebillsfeesDr, loginUser, billsType);
+                tEnclosure, warehousebillsfeesCr, warehousebillsfeesDr, loginUser, tCntr, billsType);
     }
 
     /**
@@ -217,6 +219,7 @@ public class TWarehouseInStockController extends BaseController {
     @RepeatSubmit
     public AjaxResult waitWarehousing(@RequestParam("warehouseBills") String warehouseBills,
                                       @RequestParam("tEnclosure") String tEnclosure,
+                                      @RequestParam("tCntr") String tCntr,
                                       @RequestParam("warehousebillsfeesCr") String warehousebillsfeesCr,
                                       @RequestParam("warehousebillsfeesDr") String warehousebillsfeesDr,
                                       @RequestParam("warehousebillsitems") String warehousebillsitems
@@ -225,7 +228,7 @@ public class TWarehouseInStockController extends BaseController {
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.waitWarehousing(warehouseBills, warehousebillsitems, tEnclosure,
-                warehousebillsfeesCr, warehousebillsfeesDr, loginUser, billsType, "RK");
+                warehousebillsfeesCr, warehousebillsfeesDr, loginUser, tCntr, billsType, "RK");
     }
 
 
@@ -240,6 +243,7 @@ public class TWarehouseInStockController extends BaseController {
     @RepeatSubmit
     public AjaxResult ischargeCargo(@RequestParam("warehouseBills") String tWarehouseBills,
                                     @RequestParam("tEnclosure") String tEnclosure,
+                                    @RequestParam("tCntr") String tCntr,
                                     @RequestParam("warehousebillsfeesCr") String tWarehousebillsfeesCr,
                                     @RequestParam("warehousebillsfeesDr") String tWarehousebillsfeesDr,
                                     @RequestParam("warehousebillsitems") String tWarehousebillsitems) {
@@ -247,7 +251,7 @@ public class TWarehouseInStockController extends BaseController {
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.waitWarehousing(tWarehouseBills, tWarehousebillsitems, tEnclosure,
-                tWarehousebillsfeesCr, tWarehousebillsfeesDr, loginUser, billsType, "1");
+                tWarehousebillsfeesCr, tWarehousebillsfeesDr, loginUser, tCntr, billsType, "1");
     }
 
 
@@ -261,6 +265,7 @@ public class TWarehouseInStockController extends BaseController {
     @RepeatSubmit
     public AjaxResult addCredit(@RequestParam("warehouseBills") String warehouseBills,
                                 @RequestParam("tEnclosure") String tEnclosure,
+                                @RequestParam("tCntr") String tCntr,
                                 @RequestParam("warehousebillsfeesCr") String warehousebillsfeesCr,
                                 @RequestParam("warehousebillsfeesDr") String warehousebillsfeesDr,
                                 @RequestParam("warehousebillsitems") String warehousebillsitems) {
@@ -274,10 +279,9 @@ public class TWarehouseInStockController extends BaseController {
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.addCredit(warehouseBills, warehousebillsitems, tEnclosure, warehousebillsfeesCr,
-                warehousebillsfeesDr, loginUser, billsType);
+                warehousebillsfeesDr, loginUser, tCntr, billsType);
     }
 
-
     /**
      *   明細流水号
      */

+ 12 - 8
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/warehouseBusiness/TWarehouseOutStockController.java

@@ -49,8 +49,6 @@ public class TWarehouseOutStockController extends BaseController {
         return getDataTable(list);
     }
 
-
-
     /**
      * 查询出库详情主表列表
      */
@@ -69,6 +67,7 @@ public class TWarehouseOutStockController extends BaseController {
     @RepeatSubmit
     public AjaxResult warehouseSubmission(@RequestParam("warehouseBills") String tWarehouseBills,
                                           @RequestParam("tEnclosure") String tEnclosure,
+                                          @RequestParam("tCntr") String tCntr,
                                           @RequestParam("warehousebillsfeesCr") String tWarehousebillsfeesCr,
                                           @RequestParam("warehousebillsfeesDr") String tWarehousebillsfeesDr,
                                           @RequestParam("warehousebillsitems") String tWarehousebillsitems) {
@@ -81,7 +80,7 @@ public class TWarehouseOutStockController extends BaseController {
         }
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.warehouseSubmission(tWarehouseBills, tWarehousebillsfeesCr,
-                tWarehousebillsfeesDr, tWarehousebillsitems, tEnclosure, loginUser, billsType);
+                tWarehousebillsfeesDr, tWarehousebillsitems, tEnclosure, loginUser, tCntr, billsType);
     }
 
     /**
@@ -117,6 +116,7 @@ public class TWarehouseOutStockController extends BaseController {
     @RepeatSubmit
     public AjaxResult add(@RequestParam("warehouseBills") String tWarehouseBills,
                           @RequestParam("tEnclosure") String tEnclosure,
+                          @RequestParam("tCntr") String tCntr,
                           @RequestParam("warehousebillsfeesCr") String tWarehousebillsfeesCr,
                           @RequestParam("warehousebillsfeesDr") String tWarehousebillsfeesDr,
                           @RequestParam("warehousebillsitems") String tWarehousebillsitems,
@@ -136,7 +136,7 @@ public class TWarehouseOutStockController extends BaseController {
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.insertTWarehousebills(tWarehouseBills, tWarehousebillsfeesCr,
-                tWarehousebillsfeesDr, tWarehousebillsitems, tEnclosure, loginUser, billsType);
+                tWarehousebillsfeesDr, tWarehousebillsitems, tEnclosure, loginUser, tCntr, billsType);
     }
 
 
@@ -217,6 +217,7 @@ public class TWarehouseOutStockController extends BaseController {
     @RepeatSubmit
     public AjaxResult deleteCredit(@RequestParam("warehouseBills") String warehouseBills,
                                    @RequestParam("tEnclosure") String tEnclosure,
+                                   @RequestParam("tCntr") String tCntr,
                                    @RequestParam("warehousebillsfeesCr") String warehousebillsfeesCr,
                                    @RequestParam("warehousebillsfeesDr") String warehousebillsfeesDr,
                                    @RequestParam("warehousebillsitems") String warehousebillsitems) {
@@ -224,7 +225,7 @@ public class TWarehouseOutStockController extends BaseController {
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.revokeTWarehousebillsById1(warehouseBills, warehousebillsitems,
-                tEnclosure, warehousebillsfeesCr, warehousebillsfeesDr, loginUser, billsType);
+                tEnclosure, warehousebillsfeesCr, warehousebillsfeesDr, loginUser, tCntr, billsType);
     }
 
     /**
@@ -238,6 +239,7 @@ public class TWarehouseOutStockController extends BaseController {
     @RepeatSubmit
     public AjaxResult waitWarehousing(@RequestParam("warehouseBills") String warehouseBills,
                                       @RequestParam("tEnclosure") String tEnclosure,
+                                      @RequestParam("tCntr") String tCntr,
                                       @RequestParam("warehousebillsfeesCr") String warehousebillsfeesCr,
                                       @RequestParam("warehousebillsfeesDr") String warehousebillsfeesDr,
                                       @RequestParam("warehousebillsitems") String warehousebillsitems) {
@@ -245,7 +247,7 @@ public class TWarehouseOutStockController extends BaseController {
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.waitWarehousing(warehouseBills, warehousebillsitems,
-                tEnclosure, warehousebillsfeesCr, warehousebillsfeesDr, loginUser, billsType , "CK");
+                tEnclosure, warehousebillsfeesCr, warehousebillsfeesDr, loginUser, tCntr, billsType , "CK");
     }
 
     /**
@@ -259,6 +261,7 @@ public class TWarehouseOutStockController extends BaseController {
     @RepeatSubmit
     public AjaxResult ischargeCargo(@RequestParam("warehouseBills") String warehouseBills,
                                     @RequestParam("tEnclosure") String tEnclosure,
+                                    @RequestParam("tCntr") String tCntr,
                                     @RequestParam("warehousebillsfeesCr") String warehousebillsfeesCr,
                                     @RequestParam("warehousebillsfeesDr") String warehousebillsfeesDr,
                                     @RequestParam("warehousebillsitems") String warehousebillsitems) {
@@ -266,7 +269,7 @@ public class TWarehouseOutStockController extends BaseController {
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.waitWarehousing(warehouseBills, warehousebillsitems,
-                tEnclosure, warehousebillsfeesCr, warehousebillsfeesDr, loginUser, billsType,"1");
+                tEnclosure, warehousebillsfeesCr, warehousebillsfeesDr, loginUser, tCntr, billsType,"1");
     }
 
 
@@ -280,6 +283,7 @@ public class TWarehouseOutStockController extends BaseController {
     @RepeatSubmit
     public AjaxResult addCredit(@RequestParam("warehouseBills") String warehouseBills,
                                 @RequestParam("tEnclosure") String tEnclosure,
+                                @RequestParam("tCntr") String tCntr,
                                 @RequestParam("warehousebillsfeesCr") String warehousebillsfeesCr,
                                 @RequestParam("warehousebillsfeesDr") String warehousebillsfeesDr,
                                 @RequestParam("warehousebillsitems") String warehousebillsitems) {
@@ -293,7 +297,7 @@ public class TWarehouseOutStockController extends BaseController {
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.updateCredit(warehouseBills, warehousebillsitems, tEnclosure,
-                warehousebillsfeesCr, warehousebillsfeesDr, loginUser, billsType);
+                warehousebillsfeesCr, warehousebillsfeesDr, loginUser, tCntr, billsType);
     }
 
     /**

+ 12 - 6
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/warehouseBusiness/TWarehouseStockTransferController.java

@@ -103,6 +103,7 @@ public class TWarehouseStockTransferController extends BaseController {
     @RepeatSubmit
     public AjaxResult add(@RequestParam("warehouseBills") String warehouseBills,
                           @RequestParam("tEnclosure") String tEnclosure,
+                          @RequestParam("tCntr") String tCntr,
                           @RequestParam("warehousebillsfeesCr") String warehousebillsfeesCr,
                           @RequestParam("warehousebillsfeesDr") String warehousebillsfeesDr,
                           @RequestParam("warehousebillsitems") String warehousebillsitems,
@@ -127,7 +128,7 @@ public class TWarehouseStockTransferController extends BaseController {
         }
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.insertTWarehousebills(warehouseBills, warehousebillsfeesCr,
-                warehousebillsfeesDr, warehousebillsitems, tEnclosure, loginUser, billsType);
+                warehousebillsfeesDr, warehousebillsitems, tEnclosure, loginUser, tCntr, billsType);
     }
 
     /**
@@ -141,6 +142,7 @@ public class TWarehouseStockTransferController extends BaseController {
     @RepeatSubmit
     public AjaxResult waitWarehousing(@RequestParam("warehouseBills") String warehouseBills,
                                       @RequestParam("tEnclosure") String tEnclosure,
+                                      @RequestParam("tCntr") String tCntr,
                                       @RequestParam("warehousebillsfeesCr") String warehousebillsfeesCr,
                                       @RequestParam("warehousebillsfeesDr") String warehousebillsfeesDr,
                                       @RequestParam("warehousebillsitems") String warehousebillsitems,
@@ -156,7 +158,7 @@ public class TWarehouseStockTransferController extends BaseController {
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.waitWarehousing(warehouseBills, warehousebillsitems, tEnclosure,
-                warehousebillsfeesCr, warehousebillsfeesDr, loginUser, billsType, billtystatus);
+                warehousebillsfeesCr, warehousebillsfeesDr, loginUser, tCntr, billsType, billtystatus);
     }
 
     /**
@@ -170,6 +172,7 @@ public class TWarehouseStockTransferController extends BaseController {
     @RepeatSubmit
     public AjaxResult ischargeCargo(@RequestParam("warehouseBills") String warehouseBills,
                                     @RequestParam("tEnclosure") String tEnclosure,
+                                    @RequestParam("tCntr") String tCntr,
                                     @RequestParam("warehousebillsfeesCr") String warehousebillsfeesCr,
                                     @RequestParam("warehousebillsfeesDr") String warehousebillsfeesDr,
                                     @RequestParam("warehousebillsitems") String warehousebillsitems) {
@@ -177,7 +180,7 @@ public class TWarehouseStockTransferController extends BaseController {
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.waitWarehousing(warehouseBills, warehousebillsitems,
-                tEnclosure, warehousebillsfeesCr, warehousebillsfeesDr, loginUser, billsType,"1");
+                tEnclosure, warehousebillsfeesCr, warehousebillsfeesDr, loginUser, tCntr, billsType,"1");
     }
 
     /**
@@ -189,6 +192,7 @@ public class TWarehouseStockTransferController extends BaseController {
     @RepeatSubmit
     public AjaxResult warehouseSubmission(@RequestParam("warehouseBills") String warehouseBills,
                                           @RequestParam("tEnclosure") String tEnclosure,
+                                          @RequestParam("tCntr") String tCntr,
                                           @RequestParam("warehousebillsfeesCr") String warehousebillsfeesCr,
                                           @RequestParam("warehousebillsfeesDr") String warehousebillsfeesDr,
                                           @RequestParam("warehousebillsitems") String warehousebillsitems,
@@ -207,7 +211,7 @@ public class TWarehouseStockTransferController extends BaseController {
         }
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.warehouseSubmission(warehouseBills, warehousebillsfeesCr,
-                warehousebillsfeesDr, warehousebillsitems, tEnclosure, loginUser, billsType);
+                warehousebillsfeesDr, warehousebillsitems, tEnclosure, loginUser, tCntr, billsType);
     }
 
     /**
@@ -283,6 +287,7 @@ public class TWarehouseStockTransferController extends BaseController {
     @PostMapping(value = "/updateCredit")
     public AjaxResult deleteCredit(@RequestParam("warehouseBills") String warehouseBills,
                                    @RequestParam("tEnclosure") String tEnclosure,
+                                   @RequestParam("tCntr") String tCntr,
                                    @RequestParam("warehousebillsfeesCr") String warehousebillsfeesCr,
                                    @RequestParam("warehousebillsfeesDr") String warehousebillsfeesDr,
                                    @RequestParam("warehousebillsitems") String warehousebillsitems,
@@ -296,7 +301,7 @@ public class TWarehouseStockTransferController extends BaseController {
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.revokeTWarehousebillsById1(warehouseBills, warehousebillsitems,
-                tEnclosure, warehousebillsfeesCr, warehousebillsfeesDr, loginUser, billsType);
+                tEnclosure, warehousebillsfeesCr, warehousebillsfeesDr, loginUser, tCntr, billsType);
     }
 
     /**
@@ -308,6 +313,7 @@ public class TWarehouseStockTransferController extends BaseController {
     @RepeatSubmit
     public AjaxResult addCredit(@RequestParam("warehouseBills") String warehouseBills,
                                 @RequestParam("tEnclosure") String tEnclosure,
+                                @RequestParam("tCntr") String tCntr,
                                 @RequestParam("warehousebillsfeesCr") String warehousebillsfeesCr,
                                 @RequestParam("warehousebillsfeesDr") String warehousebillsfeesDr,
                                 @RequestParam("warehousebillsitems") String warehousebillsitems,
@@ -327,7 +333,7 @@ public class TWarehouseStockTransferController extends BaseController {
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.updateCredit(warehouseBills, warehousebillsitems, tEnclosure, warehousebillsfeesCr,
-                warehousebillsfeesDr, loginUser, billsType);
+                warehousebillsfeesDr, loginUser, tCntr, billsType);
     }
 
     /**

+ 307 - 20
ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java

@@ -18,24 +18,11 @@ import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
 import java.util.stream.Collectors;
-import org.apache.poi.ss.usermodel.BorderStyle;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.CellStyle;
-import org.apache.poi.ss.usermodel.CellType;
-import org.apache.poi.ss.usermodel.DataValidation;
-import org.apache.poi.ss.usermodel.DataValidationConstraint;
-import org.apache.poi.ss.usermodel.DataValidationHelper;
-import org.apache.poi.ss.usermodel.DateUtil;
-import org.apache.poi.ss.usermodel.FillPatternType;
-import org.apache.poi.ss.usermodel.Font;
-import org.apache.poi.ss.usermodel.HorizontalAlignment;
-import org.apache.poi.ss.usermodel.IndexedColors;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.VerticalAlignment;
-import org.apache.poi.ss.usermodel.Workbook;
-import org.apache.poi.ss.usermodel.WorkbookFactory;
+
+import com.alibaba.fastjson.JSONArray;
+import org.apache.poi.ss.usermodel.*;
 import org.apache.poi.ss.util.CellRangeAddressList;
+import org.apache.poi.ss.util.CellReference;
 import org.apache.poi.xssf.streaming.SXSSFWorkbook;
 import org.apache.poi.xssf.usermodel.XSSFDataValidation;
 import org.slf4j.Logger;
@@ -409,6 +396,45 @@ public class ExcelUtil<T>
     }
 
     /**
+     * 总账统计导入到excel表单
+     *
+     * @param list 导出数据集合
+     * @param sheetName 工作表的名称
+     * @return 结果
+     */
+    public AjaxResult statisticsExportExcel(List<T> list, String sheetName)
+    {
+        this.init(list, sheetName, Type.EXPORT);
+        return statisticsExportExcel();
+    }
+
+    /**
+     * 单票分析导入到excel表单
+     *
+     * @param list 导出数据集合
+     * @param sheetName 工作表的名称
+     * @return 结果
+     */
+    public AjaxResult singleAnalysisExportExcel(List<T> list, Map<String, Object> map, String sheetName)
+    {
+        this.init(list, sheetName, Type.EXPORT);
+        return singleAnalysisExportExcel(map);
+    }
+
+    /**
+     * 单票分析费用导入到excel表单
+     *
+     * @param list 导出数据集合
+     * @param sheetName 工作表的名称
+     * @return 结果
+     */
+    public AjaxResult singleAnalysisFeesExportExcel(List<T> list, String sheetName)
+    {
+        this.init(list, sheetName, Type.EXPORT);
+        return singleAnalysisFeesExportExcel();
+    }
+
+    /**
      * 对list数据源将其里面的数据导入到excel表单
      * 
      * @param sheetName 工作表的名称
@@ -451,14 +477,271 @@ public class ExcelUtil<T>
                     addStatisticsRow();
                 }
             }
+            String filename = encodingFilename(sheetName);
+            out = new FileOutputStream(getAbsoluteFile(filename));
+            wb.write(out);
+            return AjaxResult.success(filename);
+        }
+        catch (Exception e)
+        {
+            log.error("导出Excel异常{}", e.getMessage());
+            throw new CustomException("导出Excel失败,请联系网站管理员!");
+        }
+        finally
+        {
+            if (wb != null)
+            {
+                try
+                {
+                    wb.close();
+                }
+                catch (IOException e1)
+                {
+                    e1.printStackTrace();
+                }
+            }
+            if (out != null)
+            {
+                try
+                {
+                    out.close();
+                }
+                catch (IOException e1)
+                {
+                    e1.printStackTrace();
+                }
+            }
+        }
+    }
+
+    /**
+     * 总账统计导入到excel表单
+     *
+     * @return 结果
+     */
+    public AjaxResult statisticsExportExcel()
+    {
+        OutputStream out = null;
+        try
+        {
+            // 取出一共有多少个sheet.
+            double sheetNo = Math.ceil(list.size() / sheetSize);
+            for (int index = 0; index <= sheetNo; index++)
+            {
+                createSheet(sheetNo, index);
+
+                // 产生一行
+                Row row = sheet.createRow(0);
+                int column = 0;
+                // 写入各个字段的列头名称
+                for (Object[] os : fields)
+                {
+                    Excel excel = (Excel) os[1];
+                    this.createCell(excel, row, column++);
+                }
+                if (Type.EXPORT.equals(type))
+                {
+                    fillExcelData(index, row);
+                    addStatisticsRow();
+                }
+            }
             Row row = sheet.createRow(list.size() + 1);
             row.createCell(1).setCellValue("全部累计");
             row.createCell(3).setCellValue("仓储费");
             row.createCell(4).setCellValue("出入库费用");
             row.createCell(5).setCellValue("合计人民币");
+            String filename = encodingFilename(sheetName);
+            out = new FileOutputStream(getAbsoluteFile(filename));
+            wb.write(out);
+            return AjaxResult.success(filename);
+        }
+        catch (Exception e)
+        {
+            log.error("导出Excel异常{}", e.getMessage());
+            throw new CustomException("导出Excel失败,请联系网站管理员!");
+        }
+        finally
+        {
+            if (wb != null)
+            {
+                try
+                {
+                    wb.close();
+                }
+                catch (IOException e1)
+                {
+                    e1.printStackTrace();
+                }
+            }
+            if (out != null)
+            {
+                try
+                {
+                    out.close();
+                }
+                catch (IOException e1)
+                {
+                    e1.printStackTrace();
+                }
+            }
+        }
+    }
 
+    /**
+     * 单票分析导入到excel表单
+     *
+     * @return 结果
+     */
+    public AjaxResult singleAnalysisExportExcel(Map<String, Object> map)
+    {
+        OutputStream out = null;
+        try
+        {
+            // 取出一共有多少个sheet.
+            double sheetNo = Math.ceil(list.size() / sheetSize);
+            for (int index = 0; index <= sheetNo; index++)
+            {
+                createSheet(sheetNo, index);
+                // 产生一行
+                Row row = sheet.createRow(0);
+                int column = 0;
+                // 写入各个字段的列头名称
+                for (Object[] os : fields)
+                {
+                    Excel excel = (Excel) os[1];
+                    this.createCell(excel, row, column++);
+                }
+                if (Type.EXPORT.equals(type))
+                {
+                    fillExcelData(index, row);
+                    addStatisticsRow();
+                }
+            }
+            Row row = sheet.createRow(list.size() + 1);
+            Cell cell;// 单元格
+            String colString;//长度转成ABC后的列
+            String sumString;//求和公式
+            Integer[] line = {3, 4, 6, 7, 8, 9};
+            cell = row.createCell(0);// 创建单元格
+            cell.setCellValue("合计:");
+            int totalRows = sheet.getPhysicalNumberOfRows();
+            for (Integer l : line) {
+                cell = row.createCell(l);// 创建单元格
+                cell.setCellStyle(styles.get("total"));// 设置单元格样式
+                colString = CellReference.convertNumToColString(l);  //长度转成ABC列
+                //求和公式 求i9至i12单元格的总和
+                if (l == 4 || l == 7) {
+                    sumString = "SUM(" + colString + "2:" + colString + (totalRows-1) + ") / 1000";
+                } else {
+                    sumString = "SUM(" + colString + "2:" + colString + (totalRows-1) + ")";
+                }
+                cell.setCellFormula(sumString);// 把公式塞入合计列
+            }
+            wb.setForceFormulaRecalculation(true);
+            String mblno  = "", corpName = "", goodsName = "";
+            if (map.containsKey("mblno")) {
+                mblno = map.get("mblno").toString();
+            }
+            if (map.containsKey("corpName")) {
+                corpName = map.get("corpName").toString();
+            }
+            if (map.containsKey("goodsName")) {
+                goodsName = map.get("goodsName").toString();
+            }
+            Row primaryRow = sheet.createRow(list.size() + 2);
+            primaryRow.createCell(1).setCellValue("货主:");
+            cell = primaryRow.createCell(2);// 创建单元格
+            cell.setCellValue(corpName);
+            primaryRow.createCell(3).setCellValue("提单号:");
+            cell = primaryRow.createCell(4);// 创建单元格
+            cell.setCellValue(mblno);
+            primaryRow.createCell(5).setCellValue("品名:");
+            cell = primaryRow.createCell(6);// 创建单元格
+            cell.setCellValue(goodsName);
+            String filename = encodingFilename(sheetName);
+            out = new FileOutputStream(getAbsoluteFile(filename));
+            wb.write(out);
+            return AjaxResult.success(filename);
+        }
+        catch (Exception e)
+        {
+            log.error("导出Excel异常{}", e.getMessage());
+            throw new CustomException("导出Excel失败,请联系网站管理员!");
+        }
+        finally
+        {
+            if (wb != null)
+            {
+                try
+                {
+                    wb.close();
+                }
+                catch (IOException e1)
+                {
+                    e1.printStackTrace();
+                }
+            }
+            if (out != null)
+            {
+                try
+                {
+                    out.close();
+                }
+                catch (IOException e1)
+                {
+                    e1.printStackTrace();
+                }
+            }
+        }
+    }
 
-
+    /**
+     * 单票分析费用导入到excel表单
+     *
+     * @return 结果
+     */
+    public AjaxResult singleAnalysisFeesExportExcel()
+    {
+        OutputStream out = null;
+        try
+        {
+            // 取出一共有多少个sheet.
+            double sheetNo = Math.ceil(list.size() / sheetSize);
+            for (int index = 0; index <= sheetNo; index++)
+            {
+                createSheet(sheetNo, index);
+                // 产生一行
+                Row row = sheet.createRow(0);
+                int column = 0;
+                // 写入各个字段的列头名称
+                for (Object[] os : fields)
+                {
+                    Excel excel = (Excel) os[1];
+                    this.createCell(excel, row, column++);
+                }
+                if (Type.EXPORT.equals(type))
+                {
+                    fillExcelData(index, row);
+                    addStatisticsRow();
+                }
+            }
+            Row row = sheet.createRow(list.size() + 1);
+            Cell cell;// 单元格
+            String colString;//长度转成ABC后的列
+            String sumString;//求和公式
+            Integer[] line = {3, 5};
+            cell = row.createCell(0);// 创建单元格
+            cell.setCellValue("合计:");
+            int totalRows = sheet.getPhysicalNumberOfRows();
+            for (Integer l : line) {
+                cell = row.createCell(l);// 创建单元格
+                cell.setCellStyle(styles.get("total"));// 设置单元格样式
+                colString = CellReference.convertNumToColString(l);  //长度转成ABC列
+                //求和公式 求i9至i12单元格的总和
+                sumString = "SUM(" + colString + "2:" + colString + (totalRows-1) + ")";
+                cell.setCellFormula(sumString);// 把公式塞入合计列
+            }
+            wb.setForceFormulaRecalculation(true);
             String filename = encodingFilename(sheetName);
             out = new FileOutputStream(getAbsoluteFile(filename));
             wb.write(out);
@@ -689,9 +972,13 @@ public class ExcelUtil<T>
                 {
                     cell.setCellValue(convertDictByExp(Convert.toStr(value), dictType, separator));
                 }
-                else if (value instanceof BigDecimal && -1 != attr.scale())
+                else if (value instanceof BigDecimal) {
+                    double doubleVal = ((BigDecimal) value).doubleValue();
+                    cell.setCellValue(doubleVal);
+                }
+                else if (value instanceof Integer && -1 != attr.sort())
                 {
-                    cell.setCellValue((((BigDecimal) value).setScale(attr.scale(), attr.roundingMode())).toString());
+                    cell.setCellValue((Integer) value);
                 }
                 else
                 {

+ 103 - 8
ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/domain/Ftmsorderbillscars.java

@@ -351,10 +351,10 @@ public class Ftmsorderbillscars extends BaseEntity {
     @Excel(name = "订单状态0新录入10车队安排20司机受理30提箱40装卸货50还卸柜60费用确认70回单")
     private Long orderStatus;
 
-    /** 对账日期 */
+    /** 付费对账日期 */
     @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "对账日期", width = 30, dateFormat = "yyyy-MM-dd")
-    private Date accchkDate;
+    @Excel(name = "付费对账日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date accchkDateCr;
 
     /** 出口业务其他费用 */
     @Excel(name = "出口业务其他费用")
@@ -425,6 +425,37 @@ public class Ftmsorderbillscars extends BaseEntity {
     @Excel(name = "配载运单号")
     private String mBillNo;
 
+    /** 付费发票金额 */
+    @Excel(name = "付费发票金额")
+    private BigDecimal invAmtCr;
+
+    /** 收费发票金额 */
+    @Excel(name = "收费发票金额")
+    private BigDecimal invAmtDr;
+
+    /** 付费发票日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "付费发票日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date invDateCr;
+
+    /** 收费发票日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "收费发票日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date invDateDr;
+
+    /** 付费对账金额 */
+    @Excel(name = "付费对账金额")
+    private BigDecimal accchkAmtCr;
+
+    /** 收费对账金额 */
+    @Excel(name = "收费对账金额")
+    private BigDecimal accchkAmtDr;
+
+    /** 收费对账日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "收费对账日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date accchkDateDr;
+
     /**
      *  查询日期区间
      */
@@ -1078,12 +1109,12 @@ public class Ftmsorderbillscars extends BaseEntity {
         this.orderStatus = orderStatus;
     }
 
-    public Date getAccchkDate() {
-        return accchkDate;
+    public Date getAccchkDateCr() {
+        return accchkDateCr;
     }
 
-    public void setAccchkDate(Date accchkDate) {
-        this.accchkDate = accchkDate;
+    public void setAccchkDateCr(Date accchkDateCr) {
+        this.accchkDateCr = accchkDateCr;
     }
 
     public BigDecimal getCostomAmt01() {
@@ -1222,6 +1253,62 @@ public class Ftmsorderbillscars extends BaseEntity {
         this.monthList = monthList;
     }
 
+    public BigDecimal getInvAmtCr() {
+        return invAmtCr;
+    }
+
+    public void setInvAmtCr(BigDecimal invAmtCr) {
+        this.invAmtCr = invAmtCr;
+    }
+
+    public BigDecimal getInvAmtDr() {
+        return invAmtDr;
+    }
+
+    public void setInvAmtDr(BigDecimal invAmtDr) {
+        this.invAmtDr = invAmtDr;
+    }
+
+    public Date getInvDateCr() {
+        return invDateCr;
+    }
+
+    public void setInvDateCr(Date invDateCr) {
+        this.invDateCr = invDateCr;
+    }
+
+    public Date getInvDateDr() {
+        return invDateDr;
+    }
+
+    public void setInvDateDr(Date invDateDr) {
+        this.invDateDr = invDateDr;
+    }
+
+    public BigDecimal getAccchkAmtCr() {
+        return accchkAmtCr;
+    }
+
+    public void setAccchkAmtCr(BigDecimal accchkAmtCr) {
+        this.accchkAmtCr = accchkAmtCr;
+    }
+
+    public BigDecimal getAccchkAmtDr() {
+        return accchkAmtDr;
+    }
+
+    public void setAccchkAmtDr(BigDecimal accchkAmtDr) {
+        this.accchkAmtDr = accchkAmtDr;
+    }
+
+    public Date getAccchkDateDr() {
+        return accchkDateDr;
+    }
+
+    public void setAccchkDateDr(Date accchkDateDr) {
+        this.accchkDateDr = accchkDateDr;
+    }
+
     @Override
     public String toString() {
         return "Ftmsorderbillscars{" +
@@ -1230,6 +1317,7 @@ public class Ftmsorderbillscars extends BaseEntity {
                 ", orgId=" + orgId +
                 ", orderNo='" + orderNo + '\'' +
                 ", cntrId=" + cntrId +
+                ", corpId=" + corpId +
                 ", cntrNo='" + cntrNo + '\'' +
                 ", carcorPid=" + carcorPid +
                 ", mblno='" + mblno + '\'' +
@@ -1305,7 +1393,7 @@ public class Ftmsorderbillscars extends BaseEntity {
                 ", accchkStaus='" + accchkStaus + '\'' +
                 ", billStatus=" + billStatus +
                 ", orderStatus=" + orderStatus +
-                ", accchkDate=" + accchkDate +
+                ", accchkDateCr=" + accchkDateCr +
                 ", costomAmt01=" + costomAmt01 +
                 ", stlAmtDr=" + stlAmtDr +
                 ", costomAmt02=" + costomAmt02 +
@@ -1322,6 +1410,13 @@ public class Ftmsorderbillscars extends BaseEntity {
                 ", remarks='" + remarks + '\'' +
                 ", billKind='" + billKind + '\'' +
                 ", mBillNo='" + mBillNo + '\'' +
+                ", invAmtCr=" + invAmtCr +
+                ", invAmtDr=" + invAmtDr +
+                ", invDateCr=" + invDateCr +
+                ", invDateDr=" + invDateDr +
+                ", accchkAmtCr=" + accchkAmtCr +
+                ", accchkAmtDr=" + accchkAmtDr +
+                ", accchkDateDr=" + accchkDateDr +
                 ", monthList=" + monthList +
                 '}';
     }

+ 3 - 0
ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/domain/FtmsorderbillscarsExcel.java

@@ -5,6 +5,9 @@ import com.ruoyi.common.annotation.Excel;
 import java.math.BigDecimal;
 import java.util.Date;
 
+/**
+ * 状态跟踪列表信息
+ */
 public class FtmsorderbillscarsExcel {
     private Long id;
 

+ 417 - 0
ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/domain/VehicleLedgerExcel.java

@@ -0,0 +1,417 @@
+package com.ruoyi.orderPlan.domain;
+
+import com.ruoyi.common.annotation.Excel;
+
+import java.math.BigDecimal;
+
+/**
+ * 车辆台账Excel
+ */
+public class VehicleLedgerExcel {
+
+    private Long id;
+
+    @Excel(name = "装卸日期")
+    private String mdLoadDate;
+
+    @Excel(name = "贸易方式")
+    private String billType;
+
+    @Excel(name = "运输方式")
+    private String transType;
+
+    @Excel(name = "托运人")
+    private String corpId;
+
+    @Excel(name = "船名")
+    private String ysl;
+
+    @Excel(name = "航次")
+    private String voy;
+
+    @Excel(name = "柜量")
+    private Long cntrQty;
+
+    @Excel(name = "柜型")
+    private String cntrId;
+
+    @Excel(name = "品名")
+    private String goodsId;
+
+    @Excel(name = "重量")
+    private BigDecimal cntrWeight;
+
+    @Excel(name = "起运港")
+    private String polId;
+
+    @Excel(name = "目的港")
+    private String podId;
+
+    @Excel(name = "提箱场站")
+    private String loadAddr;
+
+    @Excel(name = "装货地")
+    private String mdLoadAddr;
+
+    @Excel(name = "卸货地")
+    private String unLoadAddr;
+
+    @Excel(name = "车号")
+    private String carregNo;
+
+    @Excel(name = "司机")
+    private String driverName;
+
+    @Excel(name = "运单号")
+    private String orderNo;
+
+    @Excel(name = "司机电话")
+    private String driverTel;
+
+    @Excel(name = "状态")
+    private String orderName;
+
+    @Excel(name = "接单日期")
+    private String acceptDate;
+
+    @Excel(name = "提箱日期")
+    private String loadDate;
+
+    @Excel(name = "还柜日期")
+    private String unLoadDate;
+
+    @Excel(name = "应收结算金额")
+    private BigDecimal amtDr;
+
+    @Excel(name = "应付结算金额")
+    private BigDecimal amtCr;
+
+    @Excel(name = "已收结算金额")
+    private BigDecimal stlAmtDr;
+
+    @Excel(name = "已付结算金额")
+    private BigDecimal stlAmtCr;
+
+    @Excel(name = "业务利润")
+    private BigDecimal profitBill;
+
+    @Excel(name = "车利润")
+    private BigDecimal profitCar;
+
+    /**
+     *  检索条件:结算状态
+     */
+    private String stlStatus;
+
+    /**
+     *  检索条件:对账状态
+     */
+    private String accchkStatus;
+
+    /**
+     *  检索条件:开票状态
+     */
+    private String invStatus;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getMdLoadDate() {
+        return mdLoadDate;
+    }
+
+    public void setMdLoadDate(String mdLoadDate) {
+        this.mdLoadDate = mdLoadDate;
+    }
+
+    public String getBillType() {
+        return billType;
+    }
+
+    public void setBillType(String billType) {
+        this.billType = billType;
+    }
+
+    public String getTransType() {
+        return transType;
+    }
+
+    public void setTransType(String transType) {
+        this.transType = transType;
+    }
+
+    public String getCorpId() {
+        return corpId;
+    }
+
+    public void setCorpId(String corpId) {
+        this.corpId = corpId;
+    }
+
+    public String getYsl() {
+        return ysl;
+    }
+
+    public void setYsl(String ysl) {
+        this.ysl = ysl;
+    }
+
+    public String getVoy() {
+        return voy;
+    }
+
+    public void setVoy(String voy) {
+        this.voy = voy;
+    }
+
+    public Long getCntrQty() {
+        return cntrQty;
+    }
+
+    public void setCntrQty(Long cntrQty) {
+        this.cntrQty = cntrQty;
+    }
+
+    public String getCntrId() {
+        return cntrId;
+    }
+
+    public void setCntrId(String cntrId) {
+        this.cntrId = cntrId;
+    }
+
+    public String getGoodsId() {
+        return goodsId;
+    }
+
+    public void setGoodsId(String goodsId) {
+        this.goodsId = goodsId;
+    }
+
+    public BigDecimal getCntrWeight() {
+        return cntrWeight;
+    }
+
+    public void setCntrWeight(BigDecimal cntrWeight) {
+        this.cntrWeight = cntrWeight;
+    }
+
+    public String getPolId() {
+        return polId;
+    }
+
+    public void setPolId(String polId) {
+        this.polId = polId;
+    }
+
+    public String getPodId() {
+        return podId;
+    }
+
+    public void setPodId(String podId) {
+        this.podId = podId;
+    }
+
+    public String getLoadAddr() {
+        return loadAddr;
+    }
+
+    public void setLoadAddr(String loadAddr) {
+        this.loadAddr = loadAddr;
+    }
+
+    public String getMdLoadAddr() {
+        return mdLoadAddr;
+    }
+
+    public void setMdLoadAddr(String mdLoadAddr) {
+        this.mdLoadAddr = mdLoadAddr;
+    }
+
+    public String getUnLoadAddr() {
+        return unLoadAddr;
+    }
+
+    public void setUnLoadAddr(String unLoadAddr) {
+        this.unLoadAddr = unLoadAddr;
+    }
+
+    public String getCarregNo() {
+        return carregNo;
+    }
+
+    public void setCarregNo(String carregNo) {
+        this.carregNo = carregNo;
+    }
+
+    public String getDriverName() {
+        return driverName;
+    }
+
+    public void setDriverName(String driverName) {
+        this.driverName = driverName;
+    }
+
+    public String getOrderNo() {
+        return orderNo;
+    }
+
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo;
+    }
+
+    public String getDriverTel() {
+        return driverTel;
+    }
+
+    public void setDriverTel(String driverTel) {
+        this.driverTel = driverTel;
+    }
+
+    public String getOrderName() {
+        return orderName;
+    }
+
+    public void setOrderName(String orderName) {
+        this.orderName = orderName;
+    }
+
+    public String getAcceptDate() {
+        return acceptDate;
+    }
+
+    public void setAcceptDate(String acceptDate) {
+        this.acceptDate = acceptDate;
+    }
+
+    public String getLoadDate() {
+        return loadDate;
+    }
+
+    public void setLoadDate(String loadDate) {
+        this.loadDate = loadDate;
+    }
+
+    public String getUnLoadDate() {
+        return unLoadDate;
+    }
+
+    public void setUnLoadDate(String unLoadDate) {
+        this.unLoadDate = unLoadDate;
+    }
+
+    public BigDecimal getAmtDr() {
+        return amtDr;
+    }
+
+    public void setAmtDr(BigDecimal amtDr) {
+        this.amtDr = amtDr;
+    }
+
+    public BigDecimal getAmtCr() {
+        return amtCr;
+    }
+
+    public void setAmtCr(BigDecimal amtCr) {
+        this.amtCr = amtCr;
+    }
+
+    public BigDecimal getStlAmtDr() {
+        return stlAmtDr;
+    }
+
+    public void setStlAmtDr(BigDecimal stlAmtDr) {
+        this.stlAmtDr = stlAmtDr;
+    }
+
+    public BigDecimal getStlAmtCr() {
+        return stlAmtCr;
+    }
+
+    public void setStlAmtCr(BigDecimal stlAmtCr) {
+        this.stlAmtCr = stlAmtCr;
+    }
+
+    public BigDecimal getProfitBill() {
+        return profitBill;
+    }
+
+    public void setProfitBill(BigDecimal profitBill) {
+        this.profitBill = profitBill;
+    }
+
+    public BigDecimal getProfitCar() {
+        return profitCar;
+    }
+
+    public void setProfitCar(BigDecimal profitCar) {
+        this.profitCar = profitCar;
+    }
+
+    public String getStlStatus() {
+        return stlStatus;
+    }
+
+    public void setStlStatus(String stlStatus) {
+        this.stlStatus = stlStatus;
+    }
+
+    public String getAccchkStatus() {
+        return accchkStatus;
+    }
+
+    public void setAccchkStatus(String accchkStatus) {
+        this.accchkStatus = accchkStatus;
+    }
+
+    public String getInvStatus() {
+        return invStatus;
+    }
+
+    public void setInvStatus(String invStatus) {
+        this.invStatus = invStatus;
+    }
+
+    @Override
+    public String toString() {
+        return "VehicleLedgerExcel{" +
+                "mdLoadDate='" + mdLoadDate + '\'' +
+                ", billType='" + billType + '\'' +
+                ", transType='" + transType + '\'' +
+                ", corpId='" + corpId + '\'' +
+                ", ysl='" + ysl + '\'' +
+                ", voy='" + voy + '\'' +
+                ", cntrQty=" + cntrQty +
+                ", cntrId='" + cntrId + '\'' +
+                ", goodsId='" + goodsId + '\'' +
+                ", cntrWeight=" + cntrWeight +
+                ", polId='" + polId + '\'' +
+                ", podId='" + podId + '\'' +
+                ", loadAddr='" + loadAddr + '\'' +
+                ", mdLoadAddr='" + mdLoadAddr + '\'' +
+                ", unLoadAddr='" + unLoadAddr + '\'' +
+                ", carregNo='" + carregNo + '\'' +
+                ", driverName='" + driverName + '\'' +
+                ", orderNo='" + orderNo + '\'' +
+                ", driverTel='" + driverTel + '\'' +
+                ", orderName='" + orderName + '\'' +
+                ", acceptDate='" + acceptDate + '\'' +
+                ", loadDate='" + loadDate + '\'' +
+                ", unLoadDate='" + unLoadDate + '\'' +
+                ", amtDr=" + amtDr +
+                ", amtCr=" + amtCr +
+                ", stlAmtDr=" + stlAmtDr +
+                ", stlAmtCr=" + stlAmtCr +
+                ", profitBill=" + profitBill +
+                ", profitCar=" + profitCar +
+                ", stlStatus='" + stlStatus + '\'' +
+                ", accchkStatus='" + accchkStatus + '\'' +
+                ", invStatus='" + invStatus + '\'' +
+                '}';
+    }
+}

+ 8 - 4
ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/mapper/FtmsorderbillscarsMapper.java

@@ -1,10 +1,7 @@
 package com.ruoyi.orderPlan.mapper;
 
 import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.orderPlan.domain.Ftmsorderbills;
-import com.ruoyi.orderPlan.domain.Ftmsorderbillscars;
-import com.ruoyi.orderPlan.domain.FtmsorderbillscarsExcel;
-import com.ruoyi.orderPlan.domain.Ftmsorderbillscntrs;
+import com.ruoyi.orderPlan.domain.*;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -203,4 +200,11 @@ public interface FtmsorderbillscarsMapper {
      * @return  结果
      */
     public Ftmsorderbillscars selectftmsorderbillscarsByOrderNo(String orderNo);
+
+    /**
+     *  查询陆运台账列表信息
+     * @param vehicleLedgerExcel    查询条件
+     * @return  结果
+     */
+    public List<VehicleLedgerExcel> queryLedgerList(VehicleLedgerExcel vehicleLedgerExcel);
 }

+ 8 - 0
ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/service/IftmsorderbillscarsService.java

@@ -5,6 +5,7 @@ import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.orderPlan.domain.Ftmsorderbills;
 import com.ruoyi.orderPlan.domain.Ftmsorderbillscars;
 import com.ruoyi.orderPlan.domain.FtmsorderbillscarsExcel;
+import com.ruoyi.orderPlan.domain.VehicleLedgerExcel;
 
 import java.util.List;
 import java.util.Map;
@@ -183,4 +184,11 @@ public interface IftmsorderbillscarsService {
      * @return  结果
      */
     public AjaxResult addStowage(Ftmsorderbillscars ftmsorderbillscars);
+
+    /**
+     *  查询陆运台账列表信息
+     * @param vehicleLedgerExcel    查询条件
+     * @return  结果
+     */
+    public List<VehicleLedgerExcel> queryLedgerList(VehicleLedgerExcel vehicleLedgerExcel);
 }

+ 10 - 0
ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/service/impl/FtmsorderbillscarsServiceImpl.java

@@ -576,6 +576,16 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
     }
 
     /**
+     *  查询陆运台账列表信息
+     * @param vehicleLedgerExcel    查询条件
+     * @return  结果
+     */
+    @Override
+    public List<VehicleLedgerExcel> queryLedgerList(VehicleLedgerExcel vehicleLedgerExcel) {
+        return ftmsorderbillscarsMapper.queryLedgerList(vehicleLedgerExcel);
+    }
+
+    /**
      * 修改车队派车
      *
      * @param ftmsorderbillscars 车队派车

+ 320 - 149
ruoyi-fleet/src/main/resources/mapper/orderPlan/ftmsorderbillscarsMapper.xml

@@ -5,108 +5,117 @@
 <mapper namespace="com.ruoyi.orderPlan.mapper.FtmsorderbillscarsMapper">
 
     <resultMap type="ftmsorderbillscars" id="ftmsorderbillscarsResult">
-        <result property="id" column="id"/>
-        <result property="pId" column="p_id"/>
-        <result property="orgId" column="org_id"/>
-        <result property="orderNo" column="order_no"/>
-        <result property="cntrId" column="cntr_id"/>
-        <result property="corpId" column="corp_id"/>
-        <result property="cntrNo" column="cntr_no"/>
-        <result property="carcorPid" column="carcor_pid"/>
-        <result property="mblno" column="mblno"/>
-        <result property="carregNo" column="carreg_no"/>
-        <result property="driverName" column="driver_name"/>
-        <result property="driverUserId" column="driver_user_id"/>
-        <result property="driverTel" column="driver_tel"/>
-        <result property="planDate" column="plan_date"/>
-        <result property="planRemarks" column="plan_remarks"/>
-        <result property="acceptDate" column="accept_date"/>
-        <result property="acceptRemarks" column="accept_remarks"/>
-        <result property="loadDate" column="load_date"/>
-        <result property="loadRemarks" column="load_remarks"/>
-        <result property="mdLoadDate" column="md_load_date"/>
-        <result property="offData" column="off_data"/>
-        <result property="offRemarks" column="off_remarks"/>
-        <result property="mdLoadRemarks" column="md_load_remarks"/>
-        <result property="unLoadDate" column="un_load_date"/>
-        <result property="unLoadRemarks" column="un_load_remarks"/>
-        <result property="waybillDate" column="waybill_date"/>
-        <result property="qtyLoad" column="qty_load"/>
-        <result property="qtyUnLoad" column="qty_un_load"/>
-        <result property="cntrQty" column="cntr_qty"/>
-        <result property="gopodsLossQty" column="gopods_loss_qty"/>
-        <result property="cntrWeight" column="cntr_weight"/>
-        <result property="gopodsLossrate" column="gopods_lossrate"/>
-        <result property="waybillRemarks" column="waybill_remarks"/>
-        <result property="gopodsLossamtCr" column="gopods_lossamt_cr"/>
-        <result property="qtyDr" column="qty_dr"/>
-        <result property="gopodsLossamtDr" column="gopods_lossamt_dr"/>
-        <result property="qtyCr" column="qty_cr"/>
-        <result property="freightPriceDr" column="freight_price_dr"/>
-        <result property="freightPriceCr" column="freight_price_cr"/>
-        <result property="freightAmtDr" column="freight_amt_dr"/>
-        <result property="freightAmtCr" column="freight_amt_cr"/>
-        <result property="feeitemDr" column="feeitem_dr"/>
-        <result property="feeitemDrRemarks" column="feeitem_dr_remarks"/>
-        <result property="feeitemCr" column="feeitem_cr"/>
-        <result property="feeitemCrRemarks" column="feeitem_cr_remarks"/>
-        <result property="amtDr" column="amt_dr"/>
-        <result property="amtCr" column="amt_cr"/>
-        <result property="dueDateDr" column="due_date_dr"/>
-        <result property="dueDateCr" column="due_date_cr"/>
-        <result property="odometerFrom" column="odometer_from"/>
-        <result property="odometerEnd" column="odometer_end"/>
-        <result property="milesEmpty" column="miles_empty"/>
-        <result property="milesLoad" column="miles_load"/>
-        <result property="miles" column="miles"/>
-        <result property="driverbonus" column="driverbonus"/>
-        <result property="costtoll" column="costtoll"/>
-        <result property="costmaintain" column="costmaintain"/>
-        <result property="costOth" column="cost_oth"/>
-        <result property="costRemarks" column="cost_remarks"/>
-        <result property="oilQtyper" column="oil_qtyper"/>
-        <result property="oilQty1" column="oil_qty1"/>
-        <result property="oilPrice1" column="oil_price1"/>
-        <result property="oilAmt1" column="oil_amt1"/>
-        <result property="oilQty2" column="oil_qty2"/>
-        <result property="oilPrice2" column="oil_price2"/>
-        <result property="oilAmt2" column="oil_amt2"/>
-        <result property="oilQty" column="oil_qty"/>
-        <result property="oilPrice" column="oil_price"/>
-        <result property="oilAmt" column="oil_amt"/>
-        <result property="oilQtyBlc" column="oil_qty_blc"/>
-        <result property="oilAmtBlc" column="oil_amt_blc"/>
-        <result property="profit" column="profit"/>
-        <result property="invDrNeed" column="inv_dr_need"/>
-        <result property="invDrStatus" column="inv_dr_status"/>
-        <result property="invDrTaxrate" column="inv_dr_taxrate"/>
-        <result property="invDrTaxamt" column="inv_dr_taxamt"/>
-        <result property="invDrDate" column="inv_dr_date"/>
-        <result property="invDrNo" column="inv_dr_no"/>
-        <result property="accchkStaus" column="accchk_staus"/>
-        <result property="billStatus" column="bill_status"/>
-        <result property="orderStatus" column="order_status"/>
-        <result property="accchkDate" column="accchk_date"/>
-        <result property="costomAmt01" column="costom_amt_01"/>
-        <result property="stlAmtDr" column="stl_amt_dr"/>
-        <result property="costomAmt02" column="costom_amt_02"/>
-        <result property="stlDateDr" column="stl_date_dr"/>
-        <result property="costomAmt03" column="costom_amt_03"/>
-        <result property="stlAmtCr" column="stl_amt_cr"/>
-        <result property="costomAmt04" column="costom_amt_04"/>
-        <result property="stlDateCr" column="stl_date_cr"/>
-        <result property="costomAmt05" column="costom_amt_05"/>
-        <result property="costomAmt06" column="costom_amt_06"/>
-        <result property="delFlag" column="del_flag"/>
-        <result property="costomStr01" column="costom_str_01"/>
-        <result property="createBy" column="create_by"/>
-        <result property="createTime" column="create_time"/>
-        <result property="costomStr02" column="costom_str_02"/>
-        <result property="updateBy" column="update_by"/>
-        <result property="updateTime" column="update_time"/>
-        <result property="remarks" column="remarks"/>
-        <result property="mBillNo" column="m_bill_no"/>
-        <result property="billKind" column="bill_kind"/>
+        <result property="id"    column="id"    />
+        <result property="pId"    column="p_id"    />
+        <result property="orgId"    column="org_id"    />
+        <result property="orderNo"    column="order_no"    />
+        <result property="cntrId"    column="cntr_id"    />
+        <result property="cntrNo"    column="cntr_no"    />
+        <result property="carcorPid"    column="carcor_pid"    />
+        <result property="carregNo"    column="carreg_no"    />
+        <result property="mblno"    column="mblno"    />
+        <result property="driverName"    column="driver_name"    />
+        <result property="driverTel"    column="driver_tel"    />
+        <result property="driverUserId"    column="driver_user_id"    />
+        <result property="planDate"    column="plan_date"    />
+        <result property="planRemarks"    column="plan_remarks"    />
+        <result property="acceptDate"    column="accept_date"    />
+        <result property="acceptRemarks"    column="accept_remarks"    />
+        <result property="loadDate"    column="load_date"    />
+        <result property="loadRemarks"    column="load_remarks"    />
+        <result property="mdLoadDate"    column="md_load_date"    />
+        <result property="offData"    column="off_data"    />
+        <result property="offRemarks"    column="off_remarks"    />
+        <result property="mdLoadRemarks"    column="md_load_remarks"    />
+        <result property="unLoadDate"    column="un_load_date"    />
+        <result property="unLoadRemarks"    column="un_load_remarks"    />
+        <result property="waybillDate"    column="waybill_date"    />
+        <result property="qtyLoad"    column="qty_load"    />
+        <result property="cntrQty"    column="cntr_qty"    />
+        <result property="qtyUnLoad"    column="qty_un_load"    />
+        <result property="cntrWeight"    column="cntr_weight"    />
+        <result property="gopodsLossQty"    column="gopods_loss_qty"    />
+        <result property="gopodsLossrate"    column="gopods_lossrate"    />
+        <result property="gopodsLossamtCr"    column="gopods_lossamt_cr"    />
+        <result property="qtyDr"    column="qty_dr"    />
+        <result property="waybillRemarks"    column="waybill_remarks"    />
+        <result property="gopodsLossamtDr"    column="gopods_lossamt_dr"    />
+        <result property="qtyCr"    column="qty_cr"    />
+        <result property="freightPriceDr"    column="freight_price_dr"    />
+        <result property="freightPriceCr"    column="freight_price_cr"    />
+        <result property="freightAmtDr"    column="freight_amt_dr"    />
+        <result property="freightAmtCr"    column="freight_amt_cr"    />
+        <result property="feeitemDr"    column="feeitem_dr"    />
+        <result property="feeitemDrRemarks"    column="feeitem_dr_remarks"    />
+        <result property="feeitemCr"    column="feeitem_cr"    />
+        <result property="feeitemCrRemarks"    column="feeitem_cr_remarks"    />
+        <result property="amtDr"    column="amt_dr"    />
+        <result property="amtCr"    column="amt_cr"    />
+        <result property="dueDateDr"    column="due_date_dr"    />
+        <result property="dueDateCr"    column="due_date_cr"    />
+        <result property="odometerFrom"    column="odometer_from"    />
+        <result property="odometerEnd"    column="odometer_end"    />
+        <result property="milesEmpty"    column="miles_empty"    />
+        <result property="milesLoad"    column="miles_load"    />
+        <result property="miles"    column="miles"    />
+        <result property="driverbonus"    column="driverbonus"    />
+        <result property="costtoll"    column="costtoll"    />
+        <result property="costmaintain"    column="costmaintain"    />
+        <result property="costOth"    column="cost_oth"    />
+        <result property="costRemarks"    column="cost_remarks"    />
+        <result property="oilQtyper"    column="oil_qtyper"    />
+        <result property="oilQty1"    column="oil_qty1"    />
+        <result property="oilPrice1"    column="oil_price1"    />
+        <result property="oilAmt1"    column="oil_amt1"    />
+        <result property="oilQty2"    column="oil_qty2"    />
+        <result property="oilPrice2"    column="oil_price2"    />
+        <result property="oilAmt2"    column="oil_amt2"    />
+        <result property="oilQty"    column="oil_qty"    />
+        <result property="oilPrice"    column="oil_price"    />
+        <result property="oilAmt"    column="oil_amt"    />
+        <result property="oilQtyBlc"    column="oil_qty_blc"    />
+        <result property="oilAmtBlc"    column="oil_amt_blc"    />
+        <result property="profit"    column="profit"    />
+        <result property="invDrNeed"    column="inv_dr_need"    />
+        <result property="invDrStatus"    column="inv_dr_status"    />
+        <result property="invDrTaxrate"    column="inv_dr_taxrate"    />
+        <result property="invDrTaxamt"    column="inv_dr_taxamt"    />
+        <result property="invDrDate"    column="inv_dr_date"    />
+        <result property="invDrNo"    column="inv_dr_no"    />
+        <result property="accchkStaus"    column="accchk_staus"    />
+        <result property="billStatus"    column="bill_status"    />
+        <result property="orderStatus"    column="order_status"    />
+        <result property="costomAmt01"    column="costom_amt_01"    />
+        <result property="costomAmt02"    column="costom_amt_02"    />
+        <result property="stlAmtDr"    column="stl_amt_dr"    />
+        <result property="costomAmt03"    column="costom_amt_03"    />
+        <result property="stlDateDr"    column="stl_date_dr"    />
+        <result property="costomAmt04"    column="costom_amt_04"    />
+        <result property="stlAmtCr"    column="stl_amt_cr"    />
+        <result property="costomAmt05"    column="costom_amt_05"    />
+        <result property="stlDateCr"    column="stl_date_cr"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="costomAmt06"    column="costom_amt_06"    />
+        <result property="costomStr01"    column="costom_str_01"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="costomStr02"    column="costom_str_02"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remarks"    column="remarks"    />
+        <result property="accchkDateCr"    column="accchk_date_cr"    />
+        <result property="mBillNo"    column="m_bill_no"    />
+        <result property="billKind"    column="bill_kind"    />
+        <result property="profitBill"    column="profit_bill"    />
+        <result property="profitCar"    column="profit_car"    />
+        <result property="corpId"    column="corp_id"    />
+        <result property="invAmtCr"    column="inv_amt_cr"    />
+        <result property="invAmtDr"    column="inv_amt_dr"    />
+        <result property="invDateCr"    column="inv_date_cr"    />
+        <result property="invDateDr"    column="inv_date_dr"    />
+        <result property="accchkAmtCr"    column="accchk_amt_cr"    />
+        <result property="accchkAmtDr"    column="accchk_amt_dr"    />
+        <result property="accchkDateDr"    column="accchk_date_dr"    />
     </resultMap>
 
     <sql id="selectftmsorderbillscarsVo">
@@ -118,10 +127,11 @@
              feeitem_cr, feeitem_cr_remarks, amt_dr, amt_cr, due_date_dr, due_date_cr, odometer_from, odometer_end, miles_empty,
               miles_load, miles, driverbonus, costtoll, costmaintain, cost_oth, cost_remarks, oil_qtyper, oil_qty1, oil_price1,
                oil_amt1, oil_qty2, oil_price2, oil_amt2, oil_qty, oil_price, oil_amt, oil_qty_blc, oil_amt_blc, profit, inv_dr_need,
-                inv_dr_status, inv_dr_taxrate, inv_dr_taxamt, inv_dr_date, inv_dr_no, accchk_staus, bill_status, order_status, accchk_date,
+                inv_dr_status, inv_dr_taxrate, inv_dr_taxamt, inv_dr_date, inv_dr_no, accchk_staus, bill_status, order_status, accchk_date_cr,
                  costom_amt_01, stl_amt_dr, costom_amt_02, stl_date_dr, costom_amt_03, stl_amt_cr, costom_amt_04, stl_date_cr,
                   costom_amt_05, costom_amt_06, del_flag, costom_str_01, create_by, create_time, costom_str_02, update_by, update_time,
-                  m_bill_no, bill_kind, remarks from F_TMSORDERBILLSCARS
+                  m_bill_no, bill_kind, remarks, profit_bill, profit_car, inv_amt_cr, inv_amt_dr, inv_date_cr, inv_date_dr, accchk_amt_cr, accchk_amt_dr,
+                   accchk_date_dr from F_TMSORDERBILLSCARS
     </sql>
 
     <select id="selectftmsorderbillscarsList" parameterType="ftmsorderbillscars" resultMap="ftmsorderbillscarsResult">
@@ -209,7 +219,7 @@
             <if test="accchkStaus != null  and accchkStaus != ''"> and accchk_staus = #{accchkStaus}</if>
             <if test="billStatus != null "> and bill_status = #{billStatus}</if>
             <if test="orderStatus != null "> and order_status = #{orderStatus}</if>
-            <if test="accchkDate != null "> and accchk_date = #{accchkDate}</if>
+            <if test="accchkDateCr != null "> and accchk_date_cr = #{accchkDateCr}</if>
             <if test="costomAmt01 != null "> and costom_amt_01 = #{costomAmt01}</if>
             <if test="stlAmtDr != null "> and stl_amt_dr = #{stlAmtDr}</if>
             <if test="costomAmt02 != null "> and costom_amt_02 = #{costomAmt02}</if>
@@ -308,7 +318,7 @@
             <if test="accchkStaus != null  and accchkStaus != ''"> and accchk_staus = #{accchkStaus}</if>
             <if test="billStatus != null "> and bill_status = #{billStatus}</if>
             <if test="orderStatus != null "> and order_status = #{orderStatus}</if>
-            <if test="accchkDate != null "> and accchk_date = #{accchkDate}</if>
+            <if test="accchkDateCr != null "> and accchk_date_cr = #{accchkDateCr}</if>
             <if test="costomAmt01 != null "> and costom_amt_01 = #{costomAmt01}</if>
             <if test="stlAmtDr != null "> and stl_amt_dr = #{stlAmtDr}</if>
             <if test="costomAmt02 != null "> and costom_amt_02 = #{costomAmt02}</if>
@@ -407,7 +417,7 @@
             <if test="accchkStaus != null  and accchkStaus != ''"> and accchk_staus = #{accchkStaus}</if>
             <if test="billStatus != null "> and bill_status = #{billStatus}</if>
             <if test="orderStatus != null "> and order_status = #{orderStatus}</if>
-            <if test="accchkDate != null "> and accchk_date = #{accchkDate}</if>
+            <if test="accchkDateCr != null "> and accchk_date_cr = #{accchkDateCr}</if>
             <if test="costomAmt01 != null "> and costom_amt_01 = #{costomAmt01}</if>
             <if test="stlAmtDr != null "> and stl_amt_dr = #{stlAmtDr}</if>
             <if test="costomAmt02 != null "> and costom_amt_02 = #{costomAmt02}</if>
@@ -804,6 +814,141 @@
         where order_no = #{orderNo}
     </select>
 
+    <select id="queryLedgerList" parameterType="com.ruoyi.orderPlan.domain.VehicleLedgerExcel" resultType="com.ruoyi.orderPlan.domain.VehicleLedgerExcel">
+        SELECT
+            c.id,
+            c.order_no orderNo,
+            c.mblno,
+            c.carreg_no carregNo,
+            driver.f_name driverName,
+            c.driver_tel driverTel,
+            CASE
+            c.order_status
+            WHEN 10 THEN
+            '车队安排'
+            WHEN 20 THEN
+            '司机受理'
+            WHEN 40 THEN
+            '提箱'
+            WHEN 50 THEN
+            '装卸货'
+            WHEN 60 THEN
+            '还卸柜'
+            WHEN 80 THEN
+            '回单'
+            END orderName,
+            c.order_status orderStatus,
+            p.f_name corpId,
+            CASE
+            t.bill_type
+            WHEN 1 THEN
+            '进口'
+            WHEN 2 THEN
+            '出口'
+            WHEN 3 THEN
+            '内贸'
+            WHEN 4 THEN
+            '其他'
+            END billType,
+            CASE
+            t.trans_type
+            WHEN 1 THEN
+            '集装箱'
+            WHEN 2 THEN
+            '搭建'
+            WHEN 3 THEN
+            '散货'
+            END transType,
+            CASE
+            t.trans_type
+            WHEN 1 THEN
+            '重去重回'
+            WHEN 2 THEN
+            '重去空回'
+            WHEN 3 THEN
+            '空去重回'
+            END transProp,
+            CASE
+            c.bill_kind
+            WHEN 'NN' THEN
+            '直单'
+            WHEN 'MM' THEN
+            '主单'
+            WHEN 'MH' THEN
+            '从单'
+            END billKind,
+            c.m_bill_no mBillNo,
+            g.f_name goodsId,
+            c.cntr_weight cntrWeight,
+            t.qty_plan qtyPlan,
+            t.weight_plan weightPlan,
+            t.ysl,
+            t.voy,
+            t.load_addr loadAddr,
+            t.load_date tLoadDate,
+            t.load_attn loadAttn,
+            t.load_attntel loadAttntel,
+            t.md_load_addr mdLoadAddr,
+            t.md_load_date tMdLoadDate,
+            t.md_load_attn mdLoadAttn,
+            t.md_load_attn_tel mdLoadAttnTel,
+            t.un_load_addr unLoadAddr,
+            t.un_load_date tUnLoadDate,
+            t.un_load_attn unLoadAttn,
+            t.un_load_attn_tel unLoadAttnTel,
+            dic.dict_label cntrId,
+            pol.f_name polId,
+            pod.f_name podId,
+            c.accept_date acceptDate,
+            c.cntr_qty cntrQty,
+            c.off_data offData,
+            c.load_date loadDate,
+            c.md_load_date mdLoadDate,
+            c.un_load_date unLoadDate,
+            c.waybill_date waybillDate,
+            c.waybill_remarks waybillRemarks,
+            c.oil_amt oilAmt,
+            c.cost_oth costOth,
+            c.driverbonus driverbonus,
+            c.cost_remarks costRemarks,
+            c.costom_amt_06 costomAmt06,
+            c.costom_amt_05 costomAmt05,
+            c.costom_amt_04 costomAmt04,
+            c.costom_amt_03 costomAmt03,
+            c.costom_amt_02 costomAmt02,
+            c.costom_amt_01 costomAmt01,
+            c.costom_str_02 costomStr02,
+            c.costom_str_01 costomStr01,
+            c.amt_dr amtDr,
+            c.amt_dr amtCr,
+            c.stl_amt_dr stlAmtDr,
+            c.stl_amt_cr stlAmtCr,
+            c.profit_bill profitBill,
+            c.profit_car profitCar
+        FROM
+            F_TMSORDERBILLSCARS c
+            LEFT JOIN F_TMSORDERBILLS t ON t.id = c.org_id
+            LEFT JOIN t_corps p ON p.f_id = t.corp_id
+            LEFT JOIN t_corps fleet ON fleet.f_id = c.carcor_pid
+            LEFT JOIN t_goods g ON g.f_id = t.goods_id
+            LEFT JOIN t_address pol ON pol.f_id = t.pol_id
+            AND pol.f_types = 1
+            LEFT JOIN t_address pod ON pod.f_id = t.pod_id
+            AND pod.f_types = 1
+            LEFT JOIN sys_dict_data dic ON dic.dict_value = c.cntr_id
+            AND dic.dict_type = 'data_cntrId'
+            LEFT JOIN t_corps driver ON driver.f_id = c.driver_user_id
+        <where>
+            <if test='stlStatus != null and stlStatus == "T"'>and c.stl_amt_dr != 0 or c.stl_amt_cr != 0</if>
+            <if test='stlStatus != null and stlStatus == "F"'>and c.stl_amt_dr = 0 and c.stl_amt_cr = 0</if>
+            <if test='accchkStatus != null and accchkStatus == "T"'>and c.accchk_amt_cr != 0 or c.accchk_amt_cr != 0</if>
+            <if test='accchkStatus != null and accchkStatus == "F"'>and c.accchk_amt_dr = 0 and c.accchk_amt_dr = 0</if>
+            <if test='invStatus != null and invStatus == "T"'>and c.inv_amt_cr != 0 or c.inv_amt_cr != 0</if>
+            <if test='invStatus != null and invStatus == "F"'>and c.inv_amt_dr = 0 and c.inv_amt_dr = 0</if>
+        </where>
+        ORDER BY c.id desc
+    </select>
+
     <insert id="insertftmsorderbillscars" parameterType="ftmsorderbillscars" useGeneratedKeys="true" keyProperty="id">
         insert into F_TMSORDERBILLSCARS
         <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -811,14 +956,13 @@
             <if test="orgId != null">org_id,</if>
             <if test="orderNo != null">order_no,</if>
             <if test="cntrId != null">cntr_id,</if>
-            <if test="corpId != null">corp_id,</if>
             <if test="cntrNo != null">cntr_no,</if>
             <if test="carcorPid != null">carcor_pid,</if>
-            <if test="mblno != null">mblno,</if>
             <if test="carregNo != null">carreg_no,</if>
+            <if test="mblno != null">mblno,</if>
             <if test="driverName != null">driver_name,</if>
-            <if test="driverUserId != null">driver_user_id,</if>
             <if test="driverTel != null">driver_tel,</if>
+            <if test="driverUserId != null">driver_user_id,</if>
             <if test="planDate != null">plan_date,</if>
             <if test="planRemarks != null">plan_remarks,</if>
             <if test="acceptDate != null">accept_date,</if>
@@ -833,14 +977,14 @@
             <if test="unLoadRemarks != null">un_load_remarks,</if>
             <if test="waybillDate != null">waybill_date,</if>
             <if test="qtyLoad != null">qty_load,</if>
-            <if test="qtyUnLoad != null">qty_un_load,</if>
             <if test="cntrQty != null">cntr_qty,</if>
-            <if test="gopodsLossQty != null">gopods_loss_qty,</if>
+            <if test="qtyUnLoad != null">qty_un_load,</if>
             <if test="cntrWeight != null">cntr_weight,</if>
+            <if test="gopodsLossQty != null">gopods_loss_qty,</if>
             <if test="gopodsLossrate != null">gopods_lossrate,</if>
-            <if test="waybillRemarks != null">waybill_remarks,</if>
             <if test="gopodsLossamtCr != null">gopods_lossamt_cr,</if>
             <if test="qtyDr != null">qty_dr,</if>
+            <if test="waybillRemarks != null">waybill_remarks,</if>
             <if test="gopodsLossamtDr != null">gopods_lossamt_dr,</if>
             <if test="qtyCr != null">qty_cr,</if>
             <if test="freightPriceDr != null">freight_price_dr,</if>
@@ -887,41 +1031,50 @@
             <if test="accchkStaus != null">accchk_staus,</if>
             <if test="billStatus != null">bill_status,</if>
             <if test="orderStatus != null">order_status,</if>
-            <if test="accchkDate != null">accchk_date,</if>
             <if test="costomAmt01 != null">costom_amt_01,</if>
-            <if test="stlAmtDr != null">stl_amt_dr,</if>
             <if test="costomAmt02 != null">costom_amt_02,</if>
-            <if test="stlDateDr != null">stl_date_dr,</if>
+            <if test="stlAmtDr != null">stl_amt_dr,</if>
             <if test="costomAmt03 != null">costom_amt_03,</if>
-            <if test="stlAmtCr != null">stl_amt_cr,</if>
+            <if test="stlDateDr != null">stl_date_dr,</if>
             <if test="costomAmt04 != null">costom_amt_04,</if>
-            <if test="stlDateCr != null">stl_date_cr,</if>
+            <if test="stlAmtCr != null">stl_amt_cr,</if>
             <if test="costomAmt05 != null">costom_amt_05,</if>
-            <if test="costomAmt06 != null">costom_amt_06,</if>
+            <if test="stlDateCr != null">stl_date_cr,</if>
             <if test="delFlag != null">del_flag,</if>
+            <if test="costomAmt06 != null">costom_amt_06,</if>
             <if test="costomStr01 != null">costom_str_01,</if>
             <if test="createBy != null">create_by,</if>
-            <if test="createTime != null">create_time,</if>
             <if test="costomStr02 != null">costom_str_02,</if>
+            <if test="createTime != null">create_time,</if>
             <if test="updateBy != null">update_by,</if>
             <if test="updateTime != null">update_time,</if>
             <if test="remarks != null">remarks,</if>
+            <if test="accchkDateCr != null">accchk_date_cr,</if>
             <if test="mBillNo != null">m_bill_no,</if>
             <if test="billKind != null">bill_kind,</if>
+            <if test="profitBill != null">profit_bill,</if>
+            <if test="profitCar != null">profit_car,</if>
+            <if test="corpId != null">corp_id,</if>
+            <if test="invAmtCr != null">inv_amt_cr,</if>
+            <if test="invAmtDr != null">inv_amt_dr,</if>
+            <if test="invDateCr != null">inv_date_cr,</if>
+            <if test="invDateDr != null">inv_date_dr,</if>
+            <if test="accchkAmtCr != null">accchk_amt_cr,</if>
+            <if test="accchkAmtDr != null">accchk_amt_dr,</if>
+            <if test="accchkDateDr != null">accchk_date_dr,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="pId != null">#{pId},</if>
             <if test="orgId != null">#{orgId},</if>
             <if test="orderNo != null">#{orderNo},</if>
             <if test="cntrId != null">#{cntrId},</if>
-            <if test="corpId != null">#{corpId},</if>
             <if test="cntrNo != null">#{cntrNo},</if>
             <if test="carcorPid != null">#{carcorPid},</if>
-            <if test="mblno != null">#{mblno},</if>
             <if test="carregNo != null">#{carregNo},</if>
+            <if test="mblno != null">#{mblno},</if>
             <if test="driverName != null">#{driverName},</if>
-            <if test="driverUserId != null">#{driverUserId},</if>
             <if test="driverTel != null">#{driverTel},</if>
+            <if test="driverUserId != null">#{driverUserId},</if>
             <if test="planDate != null">#{planDate},</if>
             <if test="planRemarks != null">#{planRemarks},</if>
             <if test="acceptDate != null">#{acceptDate},</if>
@@ -936,14 +1089,14 @@
             <if test="unLoadRemarks != null">#{unLoadRemarks},</if>
             <if test="waybillDate != null">#{waybillDate},</if>
             <if test="qtyLoad != null">#{qtyLoad},</if>
-            <if test="qtyUnLoad != null">#{qtyUnLoad},</if>
             <if test="cntrQty != null">#{cntrQty},</if>
-            <if test="gopodsLossQty != null">#{gopodsLossQty},</if>
+            <if test="qtyUnLoad != null">#{qtyUnLoad},</if>
             <if test="cntrWeight != null">#{cntrWeight},</if>
+            <if test="gopodsLossQty != null">#{gopodsLossQty},</if>
             <if test="gopodsLossrate != null">#{gopodsLossrate},</if>
-            <if test="waybillRemarks != null">#{waybillRemarks},</if>
             <if test="gopodsLossamtCr != null">#{gopodsLossamtCr},</if>
             <if test="qtyDr != null">#{qtyDr},</if>
+            <if test="waybillRemarks != null">#{waybillRemarks},</if>
             <if test="gopodsLossamtDr != null">#{gopodsLossamtDr},</if>
             <if test="qtyCr != null">#{qtyCr},</if>
             <if test="freightPriceDr != null">#{freightPriceDr},</if>
@@ -990,27 +1143,37 @@
             <if test="accchkStaus != null">#{accchkStaus},</if>
             <if test="billStatus != null">#{billStatus},</if>
             <if test="orderStatus != null">#{orderStatus},</if>
-            <if test="accchkDate != null">#{accchkDate},</if>
             <if test="costomAmt01 != null">#{costomAmt01},</if>
-            <if test="stlAmtDr != null">#{stlAmtDr},</if>
             <if test="costomAmt02 != null">#{costomAmt02},</if>
-            <if test="stlDateDr != null">#{stlDateDr},</if>
+            <if test="stlAmtDr != null">#{stlAmtDr},</if>
             <if test="costomAmt03 != null">#{costomAmt03},</if>
-            <if test="stlAmtCr != null">#{stlAmtCr},</if>
+            <if test="stlDateDr != null">#{stlDateDr},</if>
             <if test="costomAmt04 != null">#{costomAmt04},</if>
-            <if test="stlDateCr != null">#{stlDateCr},</if>
+            <if test="stlAmtCr != null">#{stlAmtCr},</if>
             <if test="costomAmt05 != null">#{costomAmt05},</if>
-            <if test="costomAmt06 != null">#{costomAmt06},</if>
+            <if test="stlDateCr != null">#{stlDateCr},</if>
             <if test="delFlag != null">#{delFlag},</if>
+            <if test="costomAmt06 != null">#{costomAmt06},</if>
             <if test="costomStr01 != null">#{costomStr01},</if>
             <if test="createBy != null">#{createBy},</if>
-            <if test="createTime != null">#{createTime},</if>
             <if test="costomStr02 != null">#{costomStr02},</if>
+            <if test="createTime != null">#{createTime},</if>
             <if test="updateBy != null">#{updateBy},</if>
             <if test="updateTime != null">#{updateTime},</if>
             <if test="remarks != null">#{remarks},</if>
+            <if test="accchkDateCr != null">#{accchkDateCr},</if>
             <if test="mBillNo != null">#{mBillNo},</if>
             <if test="billKind != null">#{billKind},</if>
+            <if test="profitBill != null">#{profitBill},</if>
+            <if test="profitCar != null">#{profitCar},</if>
+            <if test="corpId != null">#{corpId},</if>
+            <if test="invAmtCr != null">#{invAmtCr},</if>
+            <if test="invAmtDr != null">#{invAmtDr},</if>
+            <if test="invDateCr != null">#{invDateCr},</if>
+            <if test="invDateDr != null">#{invDateDr},</if>
+            <if test="accchkAmtCr != null">#{accchkAmtCr},</if>
+            <if test="accchkAmtDr != null">#{accchkAmtDr},</if>
+            <if test="accchkDateDr != null">#{accchkDateDr},</if>
         </trim>
     </insert>
 
@@ -1021,14 +1184,13 @@
             <if test="orgId != null">org_id = #{orgId},</if>
             <if test="orderNo != null">order_no = #{orderNo},</if>
             <if test="cntrId != null">cntr_id = #{cntrId},</if>
-            <if test="corpId != null">corp_id = #{corpId},</if>
             <if test="cntrNo != null">cntr_no = #{cntrNo},</if>
             <if test="carcorPid != null">carcor_pid = #{carcorPid},</if>
-            <if test="mblno != null">mblno = #{mblno},</if>
             <if test="carregNo != null">carreg_no = #{carregNo},</if>
+            <if test="mblno != null">mblno = #{mblno},</if>
             <if test="driverName != null">driver_name = #{driverName},</if>
-            <if test="driverUserId != null">driver_user_id = #{driverUserId},</if>
             <if test="driverTel != null">driver_tel = #{driverTel},</if>
+            <if test="driverUserId != null">driver_user_id = #{driverUserId},</if>
             <if test="planDate != null">plan_date = #{planDate},</if>
             <if test="planRemarks != null">plan_remarks = #{planRemarks},</if>
             <if test="acceptDate != null">accept_date = #{acceptDate},</if>
@@ -1043,14 +1205,14 @@
             <if test="unLoadRemarks != null">un_load_remarks = #{unLoadRemarks},</if>
             <if test="waybillDate != null">waybill_date = #{waybillDate},</if>
             <if test="qtyLoad != null">qty_load = #{qtyLoad},</if>
-            <if test="qtyUnLoad != null">qty_un_load = #{qtyUnLoad},</if>
             <if test="cntrQty != null">cntr_qty = #{cntrQty},</if>
-            <if test="gopodsLossQty != null">gopods_loss_qty = #{gopodsLossQty},</if>
+            <if test="qtyUnLoad != null">qty_un_load = #{qtyUnLoad},</if>
             <if test="cntrWeight != null">cntr_weight = #{cntrWeight},</if>
+            <if test="gopodsLossQty != null">gopods_loss_qty = #{gopodsLossQty},</if>
             <if test="gopodsLossrate != null">gopods_lossrate = #{gopodsLossrate},</if>
-            <if test="waybillRemarks != null">waybill_remarks = #{waybillRemarks},</if>
             <if test="gopodsLossamtCr != null">gopods_lossamt_cr = #{gopodsLossamtCr},</if>
             <if test="qtyDr != null">qty_dr = #{qtyDr},</if>
+            <if test="waybillRemarks != null">waybill_remarks = #{waybillRemarks},</if>
             <if test="gopodsLossamtDr != null">gopods_lossamt_dr = #{gopodsLossamtDr},</if>
             <if test="qtyCr != null">qty_cr = #{qtyCr},</if>
             <if test="freightPriceDr != null">freight_price_dr = #{freightPriceDr},</if>
@@ -1063,9 +1225,6 @@
             <if test="feeitemCrRemarks != null">feeitem_cr_remarks = #{feeitemCrRemarks},</if>
             <if test="amtDr != null">amt_dr = #{amtDr},</if>
             <if test="amtCr != null">amt_cr = #{amtCr},</if>
-            <if test="mBillNo != null">m_bill_no = #{mBillNo},</if>
-            <if test="mBillNo == ''">m_bill_no = null,</if>
-            <if test="billKind != null">bill_kind = #{billKind},</if>
             <if test="dueDateDr != null">due_date_dr = #{dueDateDr},</if>
             <if test="dueDateCr != null">due_date_cr = #{dueDateCr},</if>
             <if test="odometerFrom != null">odometer_from = #{odometerFrom},</if>
@@ -1100,25 +1259,37 @@
             <if test="accchkStaus != null">accchk_staus = #{accchkStaus},</if>
             <if test="billStatus != null">bill_status = #{billStatus},</if>
             <if test="orderStatus != null">order_status = #{orderStatus},</if>
-            <if test="accchkDate != null">accchk_date = #{accchkDate},</if>
             <if test="costomAmt01 != null">costom_amt_01 = #{costomAmt01},</if>
-            <if test="stlAmtDr != null">stl_amt_dr = #{stlAmtDr},</if>
             <if test="costomAmt02 != null">costom_amt_02 = #{costomAmt02},</if>
-            <if test="stlDateDr != null">stl_date_dr = #{stlDateDr},</if>
+            <if test="stlAmtDr != null">stl_amt_dr = #{stlAmtDr},</if>
             <if test="costomAmt03 != null">costom_amt_03 = #{costomAmt03},</if>
-            <if test="stlAmtCr != null">stl_amt_cr = #{stlAmtCr},</if>
+            <if test="stlDateDr != null">stl_date_dr = #{stlDateDr},</if>
             <if test="costomAmt04 != null">costom_amt_04 = #{costomAmt04},</if>
-            <if test="stlDateCr != null">stl_date_cr = #{stlDateCr},</if>
+            <if test="stlAmtCr != null">stl_amt_cr = #{stlAmtCr},</if>
             <if test="costomAmt05 != null">costom_amt_05 = #{costomAmt05},</if>
-            <if test="costomAmt06 != null">costom_amt_06 = #{costomAmt06},</if>
+            <if test="stlDateCr != null">stl_date_cr = #{stlDateCr},</if>
             <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="costomAmt06 != null">costom_amt_06 = #{costomAmt06},</if>
             <if test="costomStr01 != null">costom_str_01 = #{costomStr01},</if>
             <if test="createBy != null">create_by = #{createBy},</if>
-            <if test="createTime != null">create_time = #{createTime},</if>
             <if test="costomStr02 != null">costom_str_02 = #{costomStr02},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
             <if test="updateBy != null">update_by = #{updateBy},</if>
             <if test="updateTime != null">update_time = #{updateTime},</if>
             <if test="remarks != null">remarks = #{remarks},</if>
+            <if test="accchkDateCr != null">accchk_date_cr = #{accchkDateCr},</if>
+            <if test="mBillNo != null">m_bill_no = #{mBillNo},</if>
+            <if test="billKind != null">bill_kind = #{billKind},</if>
+            <if test="profitBill != null">profit_bill = #{profitBill},</if>
+            <if test="profitCar != null">profit_car = #{profitCar},</if>
+            <if test="corpId != null">corp_id = #{corpId},</if>
+            <if test="invAmtCr != null">inv_amt_cr = #{invAmtCr},</if>
+            <if test="invAmtDr != null">inv_amt_dr = #{invAmtDr},</if>
+            <if test="invDateCr != null">inv_date_cr = #{invDateCr},</if>
+            <if test="invDateDr != null">inv_date_dr = #{invDateDr},</if>
+            <if test="accchkAmtCr != null">accchk_amt_cr = #{accchkAmtCr},</if>
+            <if test="accchkAmtDr != null">accchk_amt_dr = #{accchkAmtDr},</if>
+            <if test="accchkDateDr != null">accchk_date_dr = #{accchkDateDr},</if>
         </trim>
         where id = #{id}
     </update>

+ 219 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/reportManagement/domain/SingleAnalysisExcel.java

@@ -0,0 +1,219 @@
+package com.ruoyi.reportManagement.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+public class SingleAnalysisExcel {
+
+    /** 货主Id */
+    private Long fCorpid;
+
+    /** 货主 */
+    private String corpName;
+
+    /** 提单号 */
+    private String fMblno;
+
+    /** 品名 */
+    private String goodsName;
+
+    /** 序号 */
+    private Integer lineNo;
+
+    /** 作业类型 */
+    @Excel(name = "作业类型")
+    private String fBusinessType;
+
+    /** 箱型箱量 */
+    @Excel(name = "箱型箱量")
+    private String fCntval;
+
+    @Excel(name = "入库日期")
+    private String inBsdate;
+
+    /** 入库件数 */
+    @Excel(name = "入库件数")
+    private Integer inQty;
+
+    /** 入库毛重 */
+    @Excel(name = "入库毛重")
+    private BigDecimal inGrossweight;
+
+    @Excel(name = "出库日期")
+    private String outBsdate;
+
+    /** 入库件数 */
+    @Excel(name = "出库件数")
+    private Integer outQty;
+
+    /** 入库毛重 */
+    @Excel(name = "出库毛重")
+    private BigDecimal outGrossweight;
+
+    /** 结余件数 */
+    @Excel(name = "结余件数")
+    private Integer fQtyblc;
+
+    /** 结余毛重 */
+    @Excel(name = "结余毛重")
+    private BigDecimal fGrossweightblc;
+
+    /** 业务类型 */
+    @Excel(name = "业务类型")
+    private String fBilltype;
+
+    /** 备注 */
+    @Excel(name = "备注")
+    private String remark;
+
+    /** 日期区间 */
+    private List<String> bsdateList;
+
+    public Long getfCorpid() {
+        return fCorpid;
+    }
+
+    public void setfCorpid(Long fCorpid) {
+        this.fCorpid = fCorpid;
+    }
+
+    public String getCorpName() {
+        return corpName;
+    }
+
+    public void setCorpName(String corpName) {
+        this.corpName = corpName;
+    }
+
+    public String getfMblno() {
+        return fMblno;
+    }
+
+    public void setfMblno(String fMblno) {
+        this.fMblno = fMblno;
+    }
+
+    public String getGoodsName() {
+        return goodsName;
+    }
+
+    public void setGoodsName(String goodsName) {
+        this.goodsName = goodsName;
+    }
+
+    public Integer getLineNo() {
+        return lineNo;
+    }
+
+    public void setLineNo(Integer lineNo) {
+        this.lineNo = lineNo;
+    }
+
+    public String getfBusinessType() {
+        return fBusinessType;
+    }
+
+    public void setfBusinessType(String fBusinessType) {
+        this.fBusinessType = fBusinessType;
+    }
+
+    public String getfCntval() {
+        return fCntval;
+    }
+
+    public void setfCntval(String fCntval) {
+        this.fCntval = fCntval;
+    }
+
+    public String getInBsdate() {
+        return inBsdate;
+    }
+
+    public void setInBsdate(String inBsdate) {
+        this.inBsdate = inBsdate;
+    }
+
+    public Integer getInQty() {
+        return inQty;
+    }
+
+    public void setInQty(Integer inQty) {
+        this.inQty = inQty;
+    }
+
+    public BigDecimal getInGrossweight() {
+        return inGrossweight;
+    }
+
+    public void setInGrossweight(BigDecimal inGrossweight) {
+        this.inGrossweight = inGrossweight;
+    }
+
+    public String getOutBsdate() {
+        return outBsdate;
+    }
+
+    public void setOutBsdate(String outBsdate) {
+        this.outBsdate = outBsdate;
+    }
+
+    public Integer getOutQty() {
+        return outQty;
+    }
+
+    public void setOutQty(Integer outQty) {
+        this.outQty = outQty;
+    }
+
+    public BigDecimal getOutGrossweight() {
+        return outGrossweight;
+    }
+
+    public void setOutGrossweight(BigDecimal outGrossweight) {
+        this.outGrossweight = outGrossweight;
+    }
+
+    public Integer getfQtyblc() {
+        return fQtyblc;
+    }
+
+    public void setfQtyblc(Integer fQtyblc) {
+        this.fQtyblc = fQtyblc;
+    }
+
+    public BigDecimal getfGrossweightblc() {
+        return fGrossweightblc;
+    }
+
+    public void setfGrossweightblc(BigDecimal fGrossweightblc) {
+        this.fGrossweightblc = fGrossweightblc;
+    }
+
+    public String getfBilltype() {
+        return fBilltype;
+    }
+
+    public void setfBilltype(String fBilltype) {
+        this.fBilltype = fBilltype;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public List<String> getBsdateList() {
+        return bsdateList;
+    }
+
+    public void setBsdateList(List<String> bsdateList) {
+        this.bsdateList = bsdateList;
+    }
+}

+ 118 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/reportManagement/domain/SingleAnalysisFeesExcel.java

@@ -0,0 +1,118 @@
+package com.ruoyi.reportManagement.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+public class SingleAnalysisFeesExcel {
+    /** 序号 */
+    private Integer lineNo;
+
+    /** 日期 */
+    @Excel(name = "日期")
+    private String createTime;
+
+    /** 作业类型 */
+    @Excel(name = "作业类型")
+    private String fBusinessType;
+
+    /** 费用 */
+    @Excel(name = "费用")
+    private String fFeeid;
+
+    /** 数量 */
+    @Excel(name = "数量")
+    private Integer fQty;
+
+    /** 单价 */
+    @Excel(name = "单价")
+    private BigDecimal fUnitprice;
+
+    /** 金额 */
+    @Excel(name = "金额")
+    private BigDecimal fAmount;
+
+    /** 备注 */
+    @Excel(name = "备注")
+    private String remark;
+
+    public Integer getLineNo() {
+        return lineNo;
+    }
+
+    public void setLineNo(Integer lineNo) {
+        this.lineNo = lineNo;
+    }
+
+    public String getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(String createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getfBusinessType() {
+        return fBusinessType;
+    }
+
+    public void setfBusinessType(String fBusinessType) {
+        this.fBusinessType = fBusinessType;
+    }
+
+    public String getfFeeid() {
+        return fFeeid;
+    }
+
+    public void setfFeeid(String fFeeid) {
+        this.fFeeid = fFeeid;
+    }
+
+    public Integer getfQty() {
+        return fQty;
+    }
+
+    public void setfQty(Integer fQty) {
+        this.fQty = fQty;
+    }
+
+    public BigDecimal getfUnitprice() {
+        return fUnitprice;
+    }
+
+    public void setfUnitprice(BigDecimal fUnitprice) {
+        this.fUnitprice = fUnitprice;
+    }
+
+    public BigDecimal getfAmount() {
+        return fAmount;
+    }
+
+    public void setfAmount(BigDecimal fAmount) {
+        this.fAmount = fAmount;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "SingleAnalysisFeesExcel{" +
+                "lineNo=" + lineNo +
+                ", createTime=" + createTime +
+                ", fBusinessType='" + fBusinessType + '\'' +
+                ", fFeeid='" + fFeeid + '\'' +
+                ", fQty=" + fQty +
+                ", fUnitprice=" + fUnitprice +
+                ", fAmount=" + fAmount +
+                ", remark='" + remark + '\'' +
+                '}';
+    }
+}

+ 15 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/reportManagement/service/ITWhgenlegService.java

@@ -1,6 +1,8 @@
 package com.ruoyi.reportManagement.service;
 
 
+import com.ruoyi.reportManagement.domain.SingleAnalysisExcel;
+import com.ruoyi.reportManagement.domain.SingleAnalysisFeesExcel;
 import com.ruoyi.reportManagement.domain.TWhgenleg;
 import com.ruoyi.reportManagement.dto.TWarehousebill;
 import com.ruoyi.reportManagement.excel.Whgenleg;
@@ -103,4 +105,17 @@ public interface ITWhgenlegService {
 
     List<Map<String, Object>> selectdetailedList(TWarehousebill tWarehousebill);
 
+    /**
+     *  查询单票分析信息
+     * @param singleAnalysisExcel
+     * @return
+     */
+    public List<SingleAnalysisExcel> selectSingleAnalysis(SingleAnalysisExcel singleAnalysisExcel);
+
+    /**
+     *  查询单票分析费用信息
+     * @param singleAnalysisExcel
+     * @return
+     */
+    public List<SingleAnalysisFeesExcel> selectSingleAnalysisFees(SingleAnalysisExcel singleAnalysisExcel);
 }

+ 22 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/reportManagement/service/impl/TWhgenlegServiceImpl.java

@@ -5,6 +5,8 @@ import com.ruoyi.basicData.mapper.TWarehouseMapper;
 import com.ruoyi.common.core.domain.entity.TWarehouse;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.reportManagement.domain.SingleAnalysisExcel;
+import com.ruoyi.reportManagement.domain.SingleAnalysisFeesExcel;
 import com.ruoyi.reportManagement.domain.TWhgenleg;
 import com.ruoyi.reportManagement.dto.TWarehousebill;
 import com.ruoyi.reportManagement.excel.Whgenleg;
@@ -369,6 +371,26 @@ public class TWhgenlegServiceImpl implements ITWhgenlegService {
     }
 
     /**
+     *  查询单票分析信息
+     * @param singleAnalysisExcel 查询条件
+     * @return  结果
+     */
+    @Override
+    public List<SingleAnalysisExcel> selectSingleAnalysis(SingleAnalysisExcel singleAnalysisExcel) {
+        return tWarehouseBillsMapper.selectSingleAnalysis(singleAnalysisExcel);
+    }
+
+    /**
+     *  查询单票分析费用信息
+     * @param singleAnalysisExcel
+     * @return
+     */
+    @Override
+    public List<SingleAnalysisFeesExcel> selectSingleAnalysisFees(SingleAnalysisExcel singleAnalysisExcel) {
+        return tWarehouseBillsMapper.selectSingleAnalysisFees(singleAnalysisExcel);
+    }
+
+    /**
      *
      * @param fOriginalbilldate 根据该字段进行合并
      * @param dataList 原始数据

+ 16 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/mapper/TWarehouseBillsMapper.java

@@ -3,6 +3,8 @@ package com.ruoyi.warehouseBusiness.mapper;
 
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.ruoyi.common.core.domain.entity.TWarehouse;
+import com.ruoyi.reportManagement.domain.SingleAnalysisExcel;
+import com.ruoyi.reportManagement.domain.SingleAnalysisFeesExcel;
 import com.ruoyi.reportManagement.domain.TWareHouseItemsExcel;
 import com.ruoyi.reportManagement.dto.TWarehousebill;
 import com.ruoyi.warehouseBusiness.domain.TWareHouseExcelItems;
@@ -163,4 +165,18 @@ public interface TWarehouseBillsMapper extends BaseMapper<TWarehouseBills> {
      * @return
      */
     public List<Map<String, Object>> selectWarehouseItemListById(TWarehouseBills warehouseBills);
+
+    /**
+     *  查询单票分析信息
+     * @param singleAnalysisExcel 查询条件
+     * @return  结果
+     */
+    public List<SingleAnalysisExcel> selectSingleAnalysis(SingleAnalysisExcel singleAnalysisExcel);
+
+    /**
+     *  查询单票分析费用信息
+     * @param singleAnalysisExcel
+     * @return
+     */
+    public List<SingleAnalysisFeesExcel> selectSingleAnalysisFees(SingleAnalysisExcel singleAnalysisExcel);
 }

+ 6 - 6
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/ITWarehouseBillsService.java

@@ -61,7 +61,7 @@ public interface ITWarehouseBillsService {
      * @return 结果
      */
     public AjaxResult insertTWarehousebills(String tWarehouseBills, String tWarehousebillsfeesCr, String tWarehousebillsfeesDr,
-                                            String tWarehousebillsitems, String tEnclosure, LoginUser loginUser, String billsType);
+                                            String tWarehousebillsitems, String tEnclosure, LoginUser loginUser, String tCntr, String billsType);
 
     /**
      * 新增仓库主(出入库)
@@ -152,10 +152,10 @@ public interface ITWarehouseBillsService {
 
     AjaxResult revokeTWarehousebillsById1(String warehouseBills, String warehousebillsitems, String tEnclosure,
                                           String warehousebillsfeesCr, String warehousebillsfeesDr,
-                                          LoginUser loginUser, String billsType);
+                                          LoginUser loginUser, String tCntr, String billsType);
 
     AjaxResult addCredit(String warehouseBills, String warehousebillsitems, String tEnclosure, String warehousebillsfeesCr,
-            String warehousebillsfeesDr, LoginUser loginUser, String billsType);
+            String warehousebillsfeesDr, LoginUser loginUser, String tCntr, String billsType);
 
     /**
      * 出库 、调拨、 货转 确认
@@ -167,7 +167,7 @@ public interface ITWarehouseBillsService {
      * @return
      */
     AjaxResult updateCredit(String warehouseBills, String warehousebillsitems, String tEnclosure, String warehousebillsfeesCr,
-                            String warehousebillsfeesDr, LoginUser loginUser, String billsType);
+                            String warehousebillsfeesDr, LoginUser loginUser, String tCntr, String billsType);
 
     /**
      * 入库 、 出库  修改 从表状态
@@ -180,7 +180,7 @@ public interface ITWarehouseBillsService {
      */
     AjaxResult waitWarehousing(String warehouseBills, String warehousebillsitems,
                                String tEnclosure, String tWarehousebillsfeesCr, String tWarehousebillsfeesDr,
-                               LoginUser loginUser, Long status, String billtystatus);
+                               LoginUser loginUser,  String tCntr, Long status, String billtystatus);
 
     /**
      * 计算仓储费
@@ -223,7 +223,7 @@ public interface ITWarehouseBillsService {
      * @param billsType             操作状态
      * @return 结果
      */
-    AjaxResult warehouseSubmission(String tWarehouseBills, String tWarehousebillsfeesCr, String tWarehousebillsfeesDr, String tWarehousebillsitems, String tEnclosure, LoginUser loginUser, String billsType);
+    AjaxResult warehouseSubmission(String tWarehouseBills, String tWarehousebillsfeesCr, String tWarehousebillsfeesDr, String tWarehousebillsitems, String tEnclosure, LoginUser loginUser, String tCntr, String billsType);
 
     /**
      *  导出计算明细

+ 135 - 11
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -483,7 +483,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     @Override
     @Transactional
     public AjaxResult insertTWarehousebills(String tWarehouseBills, String tWarehousebillsfeesCr, String tWarehousebillsfeesDr
-            , String tWarehousebillsitems, String tEnclosure, LoginUser loginUser, String billsType) {
+            , String tWarehousebillsitems, String tEnclosure, LoginUser loginUser, String tCntr, String billsType) {
         Long fPid = null;
         Map<String, Object> map = new HashMap<>();
         TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehouseBills, TWarehouseBills.class);
@@ -514,6 +514,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             }
             warehouseBills.setUpdateBy(loginUser.getUser().getUserName());
             warehouseBills.setUpdateTime(new Date());
+            tWarehousebillsCntrMapper.deleteTWarehousebillsCntrfPid(fPid);
             tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
             tWarehousebillsfeesMapper.deleteByFPid(fPid);
             tEnclosureMapper.deleteByFPid(fPid);
@@ -571,6 +572,26 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 tEnclosureMapper.insertTEnclosure(enclosure);
             }
         }
+        //  箱型数据
+        if (StringUtils.isNotNull(tCntr) && !"[]".equals(tCntr)) {
+            JSONArray jsonDrArray = JSONArray.parseArray(tCntr);
+            List<TWarehousebillsCntr> tWarehousebillsCntrs = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsCntr.class);
+            int line = 0;
+            for (TWarehousebillsCntr cntr : tWarehousebillsCntrs) {
+                line++;
+                if (StringUtils.isNull(cntr.getfCntrid()) || StringUtils.isNull(cntr.getfCntrcount()) || cntr.getfCntrcount() == 0) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("箱型数据第"+line+"行数据缺少必填数据");
+                }
+                cntr.setfPid(fPid);
+                cntr.setfGoodsid(0L);
+                cntr.setfPackageid("0");
+                cntr.setfCntrweight(0L);
+                cntr.setCreateBy(loginUser.getUser().getUserName());
+                cntr.setCreateTime(new Date());
+                tWarehousebillsCntrMapper.insertTWarehousebillsCntr(cntr);
+            }
+        }
         // 收款明细添加
         if (StringUtils.isNotNull(tWarehousebillsfeesDr) && !"[]".equals(tWarehousebillsfeesDr)) {
             JSONArray jsonDrArray = JSONArray.parseArray(tWarehousebillsfeesDr);
@@ -958,7 +979,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     @Override
     @Transactional
     public AjaxResult warehouseSubmission(String tWarehouseBills, String tWarehousebillsfeesCr, String tWarehousebillsfeesDr,
-                                          String tWarehousebillsitems, String tEnclosure, LoginUser loginUser, String billsType) {
+                                          String tWarehousebillsitems, String tEnclosure, LoginUser loginUser, String tCntr, String billsType) {
         Long fPid = null;
         boolean isApprove = false;
         String key = "";
@@ -1026,6 +1047,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             tWarehousebillsfeesMapper.deleteByFPid(fPid);
             tWarehousebillsitemsMapper.deleteByFPid(fPid);
             tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
+            tWarehousebillsCntrMapper.deleteTWarehousebillsCntrfPid(fPid);
         }
         JSONArray warehouseJSON = JSONArray.parseArray(tWarehousebillsitems);
         List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
@@ -1070,6 +1092,26 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             wbItem.setCreateBy(loginUser.getUser().getUserName());
             tWarehousebillsitemsMapper.insertTWarehousebillsitems(wbItem);
         }
+        //  箱型数据
+        if (StringUtils.isNotNull(tCntr) && !"[]".equals(tCntr)) {
+            JSONArray jsonDrArray = JSONArray.parseArray(tCntr);
+            List<TWarehousebillsCntr> tWarehousebillsCntrs = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsCntr.class);
+            int cntrLine = 0;
+            for (TWarehousebillsCntr cntr : tWarehousebillsCntrs) {
+                cntrLine++;
+                if (StringUtils.isNull(cntr.getfCntrid()) || StringUtils.isNull(cntr.getfCntrcount()) || cntr.getfCntrcount() == 0) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("箱型数据第"+cntrLine+"行数据缺少必填数据");
+                }
+                cntr.setfPid(fPid);
+                cntr.setfGoodsid(0L);
+                cntr.setfPackageid("0");
+                cntr.setfCntrweight(0L);
+                cntr.setCreateBy(loginUser.getUser().getUserName());
+                cntr.setCreateTime(new Date());
+                tWarehousebillsCntrMapper.insertTWarehousebillsCntr(cntr);
+            }
+        }
         if (StringUtils.isNotNull(tWarehousebillsfeesCr) && !"[]".equals(tWarehousebillsfeesCr)) {
             JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsfeesCr);
             List<TWarehousebillsfees> warehousebillsfeesCrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
@@ -2160,11 +2202,10 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     }
 
     /**
-     * 叫车进场
-     *
-     * @param item    明细数据
-     * @param attachs 附件
-     * @return 结果
+     *  叫车进场
+     * @param item      明细数据
+     * @param attachs   附件
+     * @return  结果
      */
     @Override
     @Transactional
@@ -2330,7 +2371,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     @Override
     @Transactional
     public AjaxResult addCredit(String warehouseBills, String warehousebillsitems, String tEnclosure, String warehousebillsfeesCr,
-                                String warehousebillsfeesDr, LoginUser loginUser, String billsType) {
+                                String warehousebillsfeesDr, LoginUser loginUser, String tCntr, String billsType) {
         Map<String, Object> map = new HashMap<>();
         if (StringUtils.isNull(warehouseBills) || "[]".equals(warehouseBills)) {
             return AjaxResult.error("未找到主表信息");
@@ -2346,6 +2387,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills);
         tEnclosureMapper.deleteByFPid(tWarehouseBills.getfId());
         tWarehousebillsfeesMapper.deleteByFPid(tWarehouseBills.getfId());
+        tWarehousebillsCntrMapper.deleteTWarehousebillsCntrfPid(tWarehouseBills.getfId());
         boolean businessStatus = "场地直装".equals(tWarehouseBills.getfBusinessType());
         JSONArray warehouseJSON = JSONArray.parseArray(warehousebillsitems);
         List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
@@ -2402,6 +2444,26 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             }
             i++;
         }
+        //  箱型数据
+        if (StringUtils.isNotNull(tCntr) && !"[]".equals(tCntr)) {
+            JSONArray jsonDrArray = JSONArray.parseArray(tCntr);
+            List<TWarehousebillsCntr> tWarehousebillsCntrs = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsCntr.class);
+            int line = 0;
+            for (TWarehousebillsCntr cntr : tWarehousebillsCntrs) {
+                line++;
+                if (StringUtils.isNull(cntr.getfCntrid()) || StringUtils.isNull(cntr.getfCntrcount()) || cntr.getfCntrcount() == 0) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("箱型数据第"+line+"行数据缺少必填数据");
+                }
+                cntr.setfPid(tWarehouseBills.getfId());
+                cntr.setfGoodsid(0L);
+                cntr.setfPackageid("0");
+                cntr.setfCntrweight(0L);
+                cntr.setCreateBy(loginUser.getUser().getUserName());
+                cntr.setCreateTime(new Date());
+                tWarehousebillsCntrMapper.insertTWarehousebillsCntr(cntr);
+            }
+        }
         //  附件添加
         if (StringUtils.isNotEmpty(tEnclosure) && !"[]".equals(tEnclosure)) {
             JSONArray jsonDrArray = JSONArray.parseArray(tEnclosure);
@@ -2459,7 +2521,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     @Override
     @Transactional
     public AjaxResult updateCredit(String warehouseBills, String warehousebillsitems, String tEnclosure, String warehousebillsfeesCr,
-                                   String warehousebillsfeesDr, LoginUser loginUser, String billsType) {
+                                   String warehousebillsfeesDr, LoginUser loginUser, String tCntr, String billsType) {
         Long fPid = null;
         Map<String, Object> map = new HashMap<>();
         TWarehouseBills tWarehouseBills = JSONArray.parseObject(warehouseBills, TWarehouseBills.class);
@@ -2480,6 +2542,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         }
         tEnclosureMapper.deleteByFPid(fPid);
         tWarehousebillsfeesMapper.deleteByFPid(fPid);
+        tWarehousebillsCntrMapper.deleteTWarehousebillsCntrfPid(fPid);
         JSONArray warehouseJSON = JSONArray.parseArray(warehousebillsitems);
         List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
         int i = 1;
@@ -2628,6 +2691,26 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 return AjaxResult.error("库存明细更新失败");
             }
         }
+        //  箱型数据
+        if (StringUtils.isNotNull(tCntr) && !"[]".equals(tCntr)) {
+            JSONArray jsonDrArray = JSONArray.parseArray(tCntr);
+            List<TWarehousebillsCntr> tWarehousebillsCntrs = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsCntr.class);
+            int line = 0;
+            for (TWarehousebillsCntr cntr : tWarehousebillsCntrs) {
+                line++;
+                if (StringUtils.isNull(cntr.getfCntrid()) || StringUtils.isNull(cntr.getfCntrcount()) || cntr.getfCntrcount() == 0) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("箱型数据第"+line+"行数据缺少必填数据");
+                }
+                cntr.setfPid(tWarehouseBills.getfId());
+                cntr.setfGoodsid(0L);
+                cntr.setfPackageid("0");
+                cntr.setfCntrweight(0L);
+                cntr.setCreateBy(loginUser.getUser().getUserName());
+                cntr.setCreateTime(new Date());
+                tWarehousebillsCntrMapper.insertTWarehousebillsCntr(cntr);
+            }
+        }
         //  附件添加
         if (StringUtils.isNotEmpty(tEnclosure) && !"[]".equals(tEnclosure)) {
             JSONArray jsonDrArray = JSONArray.parseArray(tEnclosure);
@@ -2690,7 +2773,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     @Transactional
     public AjaxResult waitWarehousing(String warehouseBills, String warehousebillsitems,
                                       String tEnclosure, String tWarehousebillsfeesCr, String tWarehousebillsfeesDr,
-                                      LoginUser loginUser, Long status, String billtystatus) {
+                                      LoginUser loginUser, String tCntr, Long status, String billtystatus) {
         Map<String, Object> map = new HashMap<>();
         List<TWarehousebillsitems> mapList = new ArrayList<>();
         if (StringUtils.isNull(warehouseBills) || "[]".equals(warehouseBills)) {
@@ -2712,6 +2795,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         }
         tEnclosureMapper.deleteByFPid(tWarehouseBills.getfId());
         tWarehousebillsfeesMapper.deleteByFPid(tWarehouseBills.getfId());
+        tWarehousebillsCntrMapper.deleteTWarehousebillsCntrfPid(tWarehouseBills.getfId());
         JSONArray warehouseJSON = JSONArray.parseArray(warehousebillsitems);
         List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
         /**
@@ -2757,6 +2841,26 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             mapList.add(item);
             i++;
         }
+        //  箱型数据
+        if (StringUtils.isNotNull(tCntr) && !"[]".equals(tCntr)) {
+            JSONArray jsonDrArray = JSONArray.parseArray(tCntr);
+            List<TWarehousebillsCntr> tWarehousebillsCntrs = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsCntr.class);
+            int line = 0;
+            for (TWarehousebillsCntr cntr : tWarehousebillsCntrs) {
+                line++;
+                if (StringUtils.isNull(cntr.getfCntrid()) || StringUtils.isNull(cntr.getfCntrcount()) || cntr.getfCntrcount() == 0) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("箱型数据第"+line+"行数据缺少必填数据");
+                }
+                cntr.setfPid(tWarehouseBills.getfId());
+                cntr.setfGoodsid(0L);
+                cntr.setfPackageid("0");
+                cntr.setfCntrweight(0L);
+                cntr.setCreateBy(loginUser.getUser().getUserName());
+                cntr.setCreateTime(new Date());
+                tWarehousebillsCntrMapper.insertTWarehousebillsCntr(cntr);
+            }
+        }
         //  附件添加
         if (StringUtils.isNotEmpty(tEnclosure) && !"[]".equals(tEnclosure)) {
             JSONArray jsonDrArray = JSONArray.parseArray(tEnclosure);
@@ -3374,7 +3478,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     @Override
     @Transactional
     public AjaxResult revokeTWarehousebillsById1(String warehouseBills, String warehousebillsitems, String tEnclosure,
-                                                 String warehousebillsfeesCr, String warehousebillsfeesDr, LoginUser loginUser, String billsType) {
+                                                 String warehousebillsfeesCr, String warehousebillsfeesDr, LoginUser loginUser, String tCntr, String billsType) {
         if (StringUtils.isNull(warehouseBills) || "[]".equals(warehouseBills)) {
             return AjaxResult.error("未找到主表信息");
         }
@@ -3504,6 +3608,26 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             billnoDel.setBillNo(item);
             billnoDelMapper.insertBillnoDel(billnoDel);
         });
+        //  箱型数据
+        if (StringUtils.isNotNull(tCntr) && !"[]".equals(tCntr)) {
+            JSONArray jsonDrArray = JSONArray.parseArray(tCntr);
+            List<TWarehousebillsCntr> tWarehousebillsCntrs = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsCntr.class);
+            int line = 0;
+            for (TWarehousebillsCntr cntr : tWarehousebillsCntrs) {
+                line++;
+                if (StringUtils.isNull(cntr.getfCntrid()) || StringUtils.isNull(cntr.getfCntrcount()) || cntr.getfCntrcount() == 0) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("箱型数据第"+line+"行数据缺少必填数据");
+                }
+                cntr.setfPid(tWarehousebills.getfId());
+                cntr.setfGoodsid(0L);
+                cntr.setfPackageid("0");
+                cntr.setfCntrweight(0L);
+                cntr.setCreateBy(loginUser.getUser().getUserName());
+                cntr.setCreateTime(new Date());
+                tWarehousebillsCntrMapper.insertTWarehousebillsCntr(cntr);
+            }
+        }
         //  附件添加
         if (StringUtils.isNotEmpty(tEnclosure) && !"[]".equals(tEnclosure)) {
             JSONArray jsonDrArray = JSONArray.parseArray(tEnclosure);

+ 83 - 0
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsMapper.xml

@@ -190,6 +190,7 @@
             dictIn.dict_label AS fBusinessType,
             ware.f_name AS fWarehouseid,
             bill.f_qty AS fQty,
+            bill.f_cntval AS fCntval,
             bill.f_netweight AS fNetweight,
             bill.create_time AS createTime,
             ware1.f_name AS fInwarehouseid,
@@ -371,6 +372,7 @@
         bill.f_driver_id_car AS fDriverIdCar,
         ware.f_name AS fWarehouseid,
         bill.f_qty AS fQty,
+        bill.f_cntval AS fCntval,
         bill.f_netweight AS fNetweight,
         bill.create_time AS createTime,
         ware1.f_name AS fInwarehouseid,
@@ -1814,6 +1816,7 @@
             w.f_qty fQty,
             w.f_cntval fCntval,
             w.f_planqty fPlanqty,
+            t.f_name fWarehouseName,
             w.f_planvolumn fPlanvolumn,
             w.f_plannetweight fPlannetweight,
             w.f_plangrossweight fPlangrossweight,
@@ -1886,4 +1889,84 @@
             t.f_pid = #{fId}
     </select>
 
+    <select id="selectSingleAnalysis" parameterType="com.ruoyi.reportManagement.domain.SingleAnalysisExcel" resultType="com.ruoyi.reportManagement.domain.SingleAnalysisExcel">
+        SELECT
+        DISTINCT
+            c.f_name corpName,
+            #{fMblno} fMblno,
+            w.f_product_name goodsName,
+            d.dict_label fBusinessType,
+            w.f_cntval fCntval,
+            IF(item.f_billtype = 'SJRK' || item.f_billtype = 'HQZY' AND w.f_tocorpid = #{fCorpid} || item.f_billtype = 'CKDB', date_format( item.f_bsdate, '%Y-%m-%d' ), NULL) inBsdate,
+            IF(item.f_billtype = 'SJRK' || item.f_billtype = 'HQZY' AND w.f_tocorpid = #{fCorpid} || item.f_billtype = 'CKDB' AND ware.f_id = item.f_transfer_warehouselocid, item.f_qty, 0) inQty,
+            IF(item.f_billtype = 'SJRK' || item.f_billtype = 'HQZY' AND w.f_corpid = #{fCorpid} || item.f_billtype = 'CKDB' AND ware.f_id = item.f_transfer_warehouselocid, item.f_grossweight, 0.00) inGrossweight,
+            IF(item.f_billtype = 'SJCK' || item.f_billtype = 'HQZY' AND w.f_corpid = #{fCorpid}, date_format( item.f_bsdate, '%Y-%m-%d' ), NULL ) outBsdate,
+            IF( item.f_billtype = 'SJCK' || item.f_billtype = 'HQZY' AND w.f_corpid = #{fCorpid}, item.f_qty, 0 ) outQty,
+            IF( item.f_billtype = 'SJCK' || item.f_billtype = 'HQZY' AND w.f_corpid = #{fCorpid}, item.f_grossweight, 0.00 ) outGrossweight,
+            CASE
+                WHEN item.f_billtype = 'SJRK' THEN
+                '入库'
+                WHEN item.f_billtype = 'SJCK' THEN
+                '出库'
+                WHEN item.f_billtype = 'CKDB' and ware.f_charg = 1 THEN
+                '调拨'
+                WHEN item.f_billtype = 'HQZY' THEN
+                '货权转移'
+                WHEN item.f_billtype = 'HWTG' THEN
+                '货物通关'
+            END AS fBilltype,
+            0 fQtyblc,
+            0 fGrossweightblc,
+            item.remark
+        FROM
+            t_warehousebills w
+            LEFT JOIN t_warehousebillsitems item ON item.f_pid = w.f_id
+            LEFT JOIN t_corps c ON c.f_id = w.f_corpid
+            LEFT JOIN t_warehouse ware ON IF(item.f_billtype = 'CKDB', ware.f_id = item.f_transfer_warehouselocid, ware.f_id = item.f_warehouselocid)
+            LEFT JOIN sys_dict_data d ON d.dict_value = item.f_business_type
+        WHERE
+            w.f_corpid = #{fCorpid}
+            AND item.f_mblno = #{fMblno}
+            AND IF(item.f_billtype = 'CKDB' and ware.f_charg = 0, w.f_id = '', w.f_id != '')
+            AND IF( item.f_billtype = 'SJRK', d.dict_type = 'st_in_type', IF(item.f_billtype = 'SJCK', d.dict_type = 'st_out_type', d.dict_type = 'st_trans_type'))
+            <if test='bsdateList != null and bsdateList[0] != null and bsdateList[0]!= ""'>
+                AND item.f_bsdate &gt;= #{bsdateList[0]}
+            </if>
+            <if test='bsdateList != null and bsdateList[1] != null and bsdateList[1]!= ""'>
+                AND item.f_bsdate &lt;= #{bsdateList[1]}
+            </if>
+        order by item.f_bsdate asc
+    </select>
+
+    <select id="selectSingleAnalysisFees" parameterType="com.ruoyi.reportManagement.domain.SingleAnalysisFeesExcel" resultType="com.ruoyi.reportManagement.domain.SingleAnalysisFeesExcel">
+        SELECT
+        DISTINCT
+            f.f_id,
+            date_format( f.create_time, '%Y-%m-%d' ) createTime,
+            d.dict_label fBusinessType,
+            fee.f_name fFeeid,
+            f.f_qty fQty,
+            f.f_unitprice fUnitprice,
+            f.f_amount fAmount,
+            f.remark
+        FROM
+            t_warehousebills w
+            LEFT JOIN t_warehousebillsitems item ON item.f_pid = w.f_id
+            LEFT JOIN t_warehousebillsfees f ON f.f_pid = w.f_id
+            LEFT JOIN t_fees fee ON fee.f_id = f.f_feeid
+            LEFT JOIN t_warehouse ware ON IF(item.f_billtype = 'CKDB', ware.f_id = item.f_transfer_warehouselocid, ware.f_id = item.f_warehouselocid)
+            LEFT JOIN sys_dict_data d ON d.dict_value = f.f_business_type
+        WHERE
+            item.f_mblno = #{fMblno}
+            AND IF(item.f_billtype = 'CKDB' and ware.f_charg = 0, w.f_id = '', w.f_id != '')
+            AND IF( item.f_billtype = 'SJRK', d.dict_type = 'st_in_type', IF(item.f_billtype = 'SJCK', d.dict_type = 'st_out_type', d.dict_type = 'st_trans_type'))
+            <if test='bsdateList != null and bsdateList[0] != null and bsdateList[0]!= ""'>
+                AND item.f_bsdate &gt;= #{bsdateList[0]}
+            </if>
+            <if test='bsdateList != null and bsdateList[1] != null and bsdateList[1]!= ""'>
+                AND item.f_bsdate &lt;= #{bsdateList[1]}
+            </if>
+        order by f.create_time asc
+    </select>
+
 </mapper>