ソースを参照

凯和财务中心修改

lazhaoqian 3 年 前
コミット
e08cbc8c38

+ 193 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/shipping/finance/FinancialCharges.java

@@ -0,0 +1,193 @@
+package com.ruoyi.web.controller.shipping.finance;
+
+import com.ruoyi.common.annotation.DataScope;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.annotation.RepeatSubmit;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.ServletUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.finance.domain.TFee;
+import com.ruoyi.finance.domain.TWareHouseFees;
+import com.ruoyi.finance.excel.Charge;
+import com.ruoyi.finance.excel.Detailed;
+import com.ruoyi.finance.service.ITFeeDoService;
+import com.ruoyi.finance.service.ITFeeService;
+import com.ruoyi.finance.shipping.FinancialTFee;
+import com.ruoyi.finance.shipping.FinancialTFeeDoExcel;
+import com.ruoyi.framework.web.service.TokenService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 凯和财务收费
+ */
+@RestController
+@RequestMapping("/shipping/financialCharges")
+public class FinancialCharges extends BaseController {
+    @Autowired
+    private ITFeeService tFeeService;
+    @Autowired
+    private ITFeeDoService tFeeDoService;
+
+    /**
+     * 查询财务数据主列表
+     */
+    @PreAuthorize("@ss.hasPermi('finance:charge:list')")
+    @DataScope(deptAlias = "d", userAlias = "u")
+    @GetMapping("/list")
+    public TableDataInfo list(TFee tFee) {
+        tFee.setfBilltype("KHSF");
+        startPage();
+        List<FinancialTFee> list = tFeeService.selectFinancialTFeeList(tFee);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出财务数据主列表
+     */
+    @PreAuthorize("@ss.hasPermi('finance:charge:export')")
+    @Log(title = "财务数据主", businessType = BusinessType.EXPORT)
+    @DataScope(deptAlias = "d", userAlias = "u")
+    @GetMapping("/export")
+    public AjaxResult export(TFee tFee) throws Exception {
+        tFee.setfBilltype("KHSF");
+        List<FinancialTFee> list = tFeeService.selectFinancialTFeeList(tFee);
+        ExcelUtil<FinancialTFee> util = new ExcelUtil<FinancialTFee>(FinancialTFee.class);
+        return util.exportExcel(list, "收费");
+    }
+
+    /**
+     * 获取财务数据主详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('finance:charge:query')")
+    @GetMapping(value = "/{fId}")
+    public AjaxResult getInfo(@PathVariable("fId") Long fId) {
+        return AjaxResult.success(tFeeService.selectFinancialTFeeId(fId));
+    }
+
+    /**
+     * 新增财务数据主
+     */
+    @PreAuthorize("@ss.hasPermi('finance:charge:add')")
+    @Log(title = "财务数据主", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/add")
+    @RepeatSubmit
+    public AjaxResult add(@RequestParam("tFee") String tFee,
+                          @RequestParam("tFeeDo") String tFeeDo,
+                          @RequestParam(value = "billsType",required = false) String billsType) {
+        billsType = "KHSF";
+        // 获取当前的用户
+        LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
+        return tFeeService.insertTFeeTFeeDo(tFee,tFeeDo,loginUser,billsType);
+    }
+
+    /**
+     * 修改财务数据主
+     */
+    @PreAuthorize("@ss.hasPermi('finance:charge:edit')")
+    @Log(title = "财务数据主", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TFee tFee) {
+        return toAjax(tFeeService.updateTFee(tFee));
+    }
+
+    /**
+     * 删除财务数据主
+     */
+    @PreAuthorize("@ss.hasPermi('finance:charge:remove')")
+    @Log(title = "财务数据主", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{fIds}")
+    public AjaxResult remove(@PathVariable Long[] fIds) {
+        return toAjax(tFeeService.deleteTFeeByIds(fIds));
+    }
+
+    @PreAuthorize("@ss.hasPermi('finance:charge:remove')")
+    @Log(title = "财务数据主", businessType = BusinessType.DELETE)
+    @DeleteMapping("/queryRemove/{fId}")
+    public AjaxResult queryRemove(@PathVariable("fId") Long fId) {
+        return tFeeService.queryRemove(fId);
+    }
+
+    /**
+     *  收费查询
+     */
+    @PreAuthorize("@ss.hasPermi('finance:charge:list')")
+    @GetMapping("/contrastList")
+    public TableDataInfo chargeList(TWareHouseFees tWareHouseFees) {
+        tWareHouseFees.setfDc("D");
+        tWareHouseFees.setfBilltype("KHSF");
+        startPage();
+        List<Map<String, Object>> list = tFeeService.FinancialFeesList(tWareHouseFees);
+        return getDataTable(list);
+    }
+
+    /**
+     *   确认收费
+     */
+    @PreAuthorize("@ss.hasPermi('finance:charge:add')")
+    @Log(title = "财务数据主", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/confirm")
+    @RepeatSubmit
+    public AjaxResult confirm(@RequestParam("tFee") String tFee,
+                              @RequestParam("tFeeDo") String tFeeDo,
+                              @RequestParam(value = "billsType",required = false) String billsType) {
+        billsType = "KHSF";
+        // 获取当前的用户
+        LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
+        return tFeeService.confirm(tFee,tFeeDo,loginUser,billsType);
+    }
+
+
+    /**
+     *   撤销收费
+     */
+    @PreAuthorize("@ss.hasPermi('finance:charge:add')")
+    @Log(title = "财务数据主", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/revoke")
+    @RepeatSubmit
+    public AjaxResult revoke(@RequestParam("tFee") String tFee,
+                             @RequestParam("tFeeDo") String tFeeDo,
+                             @RequestParam(value = "billsType",required = false) String billsType) {
+        billsType = "DCRevoke";
+        // 获取当前的用户
+        LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
+        return tFeeService.revoke(tFee,tFeeDo,loginUser,billsType);
+    }
+
+    /**
+     * 导出收费明细
+     */
+    @GetMapping("/exportItems/{fId}")
+    public AjaxResult exportItems(@PathVariable("fId") Long fId) {
+        List<FinancialTFeeDoExcel> list = tFeeService.FinancialTFeeDoExcel(fId);
+        String exportName = tFeeService.findCtrlcorpid(fId);
+        ExcelUtil<FinancialTFeeDoExcel> util = new ExcelUtil<FinancialTFeeDoExcel>(FinancialTFeeDoExcel.class);
+        return util.exportExcel(list, exportName);
+    }
+    /**
+     * 删除对账数据主
+     */
+    @PreAuthorize("@ss.hasPermi('finance:contrast:remove')")
+    @Log(title = "财务数据主", businessType = BusinessType.DELETE)
+    @DeleteMapping("/tFeeDo/{fIds}")
+    public AjaxResult removeTFeeDo(@PathVariable Long[] fIds) {
+        return toAjax(tFeeDoService.deleteTFeeDoByIds(fIds));
+    }
+
+    @PreAuthorize("@ss.hasPermi('finance:contrast:remove')")
+    @Log(title = "财务数据主", businessType = BusinessType.DELETE)
+    @DeleteMapping("/tFeeDo/queryRemove/{fId}")
+    public AjaxResult queryRemoveTFeeDo(@PathVariable("fId") Long fId) {
+        return toAjax(tFeeDoService.deleteTFeeDoById(fId));
+    }
+}

+ 201 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/shipping/finance/FinancialController.java

@@ -0,0 +1,201 @@
+package com.ruoyi.web.controller.shipping.finance;
+
+import com.ruoyi.common.annotation.DataScope;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.annotation.RepeatSubmit;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.ServletUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.finance.domain.TFee;
+import com.ruoyi.finance.domain.TWareHouseFees;
+import com.ruoyi.finance.excel.Contrast;
+import com.ruoyi.finance.service.ITFeeDoService;
+import com.ruoyi.finance.service.ITFeeService;
+import com.ruoyi.finance.shipping.FinancialTFee;
+import com.ruoyi.finance.shipping.FinancialTFeeDoExcel;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.warehouseBusiness.excel.TWareHouseExcelItem;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 凯和财务对账
+ */
+@RestController
+@RequestMapping("/shipping/financial")
+public class FinancialController  extends BaseController {
+    @Autowired
+    private ITFeeService tFeeService;
+    @Autowired
+    private ITFeeDoService tFeeDoService;
+
+    /**
+     * 查询对账数据主列表
+     */
+    @PreAuthorize("@ss.hasPermi('finance:contrast:list')")
+    //@DataScope(deptAlias = "d", userAlias = "u")
+    @GetMapping("/list")
+    public TableDataInfo list(TFee tFee) {
+        tFee.setfBilltype("KHDZ");
+        startPage();
+        List<FinancialTFee> list = tFeeService.selectFinancialTFeeList(tFee);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出对账数据主列表
+     */
+    @PreAuthorize("@ss.hasPermi('finance:contrast:export')")
+    @Log(title = "财务数据主", businessType = BusinessType.EXPORT)
+    @DataScope(deptAlias = "d", userAlias = "u")
+    @GetMapping("/export")
+    public AjaxResult export(TFee tFee) throws Exception {
+        tFee.setfBilltype("KHDZ");
+        List<FinancialTFee> list = tFeeService.selectFinancialTFeeList(tFee);
+        ExcelUtil<FinancialTFee> util = new ExcelUtil<FinancialTFee>(FinancialTFee.class);
+        return util.exportExcel(list, "对账");
+    }
+
+    /**
+     * 获取对账数据主详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('finance:contrast:query')")
+    @GetMapping(value = "/{fId}")
+    public AjaxResult getInfo(@PathVariable("fId") Long fId) {
+        return AjaxResult.success(tFeeService.selectFinancialTFeeId(fId));
+    }
+
+    /**
+     * 新增对账数据主
+     */
+    @PreAuthorize("@ss.hasPermi('finance:contrast:add')")
+    @Log(title = "财务数据主", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/add")
+    @RepeatSubmit
+    public AjaxResult add(@RequestParam("tFee") String tFee,
+                          @RequestParam("tFeeDo") String tFeeDo,
+                          @RequestParam(value = "billsType",required = false) String billsType) {
+        billsType = "KHDZ";
+        // 获取当前的用户
+        LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
+        return tFeeService.insertTFeeTFeeDo(tFee,tFeeDo,loginUser,billsType);
+    }
+
+    /**
+     * 修改对账数据主
+     */
+    @PreAuthorize("@ss.hasPermi('finance:contrast:edit')")
+    @Log(title = "财务数据主", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TFee tFee) {
+        return toAjax(tFeeService.updateTFee(tFee));
+    }
+
+    /**
+     * 删除对账数据主
+     */
+    @PreAuthorize("@ss.hasPermi('finance:contrast:remove')")
+    @Log(title = "财务数据主", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{fIds}")
+    public AjaxResult remove(@PathVariable Long[] fIds) {
+        return toAjax(tFeeService.deleteTFeeByIds(fIds));
+    }
+
+    @PreAuthorize("@ss.hasPermi('finance:contrast:remove')")
+    @Log(title = "财务数据主", businessType = BusinessType.DELETE)
+    @DeleteMapping("/queryRemove/{fId}")
+    public AjaxResult queryRemove(@PathVariable("fId") Long fId) {
+        return tFeeService.queryRemove(fId);
+    }
+
+    /**
+     *  查询 对账信息
+     */
+    @PreAuthorize("@ss.hasPermi('finance:contrast:list')")
+    @GetMapping("/contrastList")
+    public TableDataInfo chargeList(TWareHouseFees tWareHouseFees) {
+        tWareHouseFees.setfBilltype("KHDZ");
+        startPage();
+        List<Map<String, Object>> list = tFeeService.FinancialFeesList(tWareHouseFees);
+        return getDataTable(list);
+    }
+    @Log(title = "财务数据主", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/webVersionConfirm")
+    @RepeatSubmit
+    public AjaxResult webVersionConfirm(@RequestParam("tFee") String tFee,
+                                        @RequestParam("tFeeDo") String tFeeDo) {
+        String billsType = "KHDZ";
+        // 获取当前的用户
+        LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
+        return tFeeService.confirm(tFee,tFeeDo,loginUser,billsType);
+    }
+
+    /**
+     *   确认对账
+     */
+    @PreAuthorize("@ss.hasPermi('finance:contrast:add')")
+    @Log(title = "财务数据主", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/confirm")
+    @RepeatSubmit
+    public AjaxResult confirm(@RequestParam("tFee") String tFee,
+                              @RequestParam("tFeeDo") String tFeeDo,
+                              @RequestParam(value = "billsType",required = false) String billsType) {
+        billsType = "KHDZ";
+        // 获取当前的用户
+        LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
+        return tFeeService.confirm(tFee,tFeeDo,loginUser,billsType);
+    }
+
+    /**
+     *   撤销对账
+     */
+    @PreAuthorize("@ss.hasPermi('finance:contrast:add')")
+    @Log(title = "财务数据主", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/revoke")
+    @RepeatSubmit
+    public AjaxResult revoke(@RequestParam("tFee") String tFee,
+                             @RequestParam("tFeeDo") String tFeeDo,
+                             @RequestParam(value = "billsType",required = false) String billsType) {
+        billsType = "KHDZRevoke";
+        // 获取当前的用户
+        LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
+        return tFeeService.revoke(tFee,tFeeDo,loginUser,billsType);
+    }
+    /**
+     * 导出对账明细
+     */
+    @GetMapping("/exportItems/{fId}")
+    public AjaxResult exportItems(@PathVariable("fId") Long fId) {
+        List<FinancialTFeeDoExcel> list = tFeeService.FinancialTFeeDoExcel(fId);
+        String exportName = tFeeService.findCtrlcorpid(fId);
+        ExcelUtil<FinancialTFeeDoExcel> util = new ExcelUtil<FinancialTFeeDoExcel>(FinancialTFeeDoExcel.class);
+        return util.exportExcel(list, exportName);
+    }
+    /**
+     * 删除对账数据主
+     */
+    @PreAuthorize("@ss.hasPermi('finance:contrast:remove')")
+    @Log(title = "财务数据主", businessType = BusinessType.DELETE)
+    @DeleteMapping("/tFeeDo/{fIds}")
+    public AjaxResult removeTFeeDo(@PathVariable Long[] fIds) {
+        return toAjax(tFeeDoService.deleteTFeeDoByIds(fIds));
+    }
+
+    @PreAuthorize("@ss.hasPermi('finance:contrast:remove')")
+    @Log(title = "财务数据主", businessType = BusinessType.DELETE)
+    @DeleteMapping("/tFeeDo/queryRemove/{fId}")
+    public AjaxResult queryRemoveTFeeDo(@PathVariable("fId") Long fId) {
+        return toAjax(tFeeDoService.deleteTFeeDoById(fId));
+    }
+
+}

+ 192 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/shipping/finance/FinancialPay.java

@@ -0,0 +1,192 @@
+package com.ruoyi.web.controller.shipping.finance;
+
+import com.ruoyi.common.annotation.DataScope;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.annotation.RepeatSubmit;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.ServletUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.finance.domain.TFee;
+import com.ruoyi.finance.domain.TWareHouseFees;
+import com.ruoyi.finance.excel.Detailed;
+import com.ruoyi.finance.excel.Payment;
+import com.ruoyi.finance.service.ITFeeDoService;
+import com.ruoyi.finance.service.ITFeeService;
+import com.ruoyi.finance.shipping.FinancialTFee;
+import com.ruoyi.finance.shipping.FinancialTFeeDoExcel;
+import com.ruoyi.framework.web.service.TokenService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 凯和财务付费
+ */
+@RestController
+@RequestMapping("/shipping/financialPay")
+public class FinancialPay extends BaseController {
+    @Autowired
+    private ITFeeService tFeeService;
+    @Autowired
+    private ITFeeDoService tFeeDoService;
+
+    /**
+     * 查询财务数据主列表
+     */
+    @PreAuthorize("@ss.hasPermi('finance:payment:list')")
+    @DataScope(deptAlias = "d", userAlias = "u")
+    @GetMapping("/list")
+    public TableDataInfo list(TFee tFee) {
+        tFee.setfBilltype("KHFF");
+        startPage();
+        List<FinancialTFee> list = tFeeService.selectFinancialTFeeList(tFee);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出财务数据主列表
+     */
+    @PreAuthorize("@ss.hasPermi('finance:payment:export')")
+    @Log(title = "财务数据主", businessType = BusinessType.EXPORT)
+    @DataScope(deptAlias = "d", userAlias = "u")
+    @GetMapping("/export")
+    public AjaxResult export(TFee tFee) throws Exception {
+        tFee.setfBilltype("KHFF");
+        List<FinancialTFee> list = tFeeService.selectFinancialTFeeList(tFee);
+        ExcelUtil<FinancialTFee> util = new ExcelUtil<FinancialTFee>(FinancialTFee.class);
+        return util.exportExcel(list, "付费");
+    }
+
+    /**
+     * 获取财务数据主详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('finance:payment:query')")
+    @GetMapping(value = "/{fId}")
+    public AjaxResult getInfo(@PathVariable("fId") Long fId) {
+        return AjaxResult.success(tFeeService.selectFinancialTFeeId(fId));
+    }
+
+    /**
+     * 新增财务数据主
+     */
+    @PreAuthorize("@ss.hasPermi('finance:payment:add')")
+    @Log(title = "财务数据主", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/add")
+    @RepeatSubmit
+    public AjaxResult add(@RequestParam("tFee") String tFee,
+                          @RequestParam("tFeeDo") String tFeeDo,
+                          @RequestParam(value = "billsType",required = false) String billsType) {
+        billsType = "KHFF";
+        // 获取当前的用户
+        LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
+        return tFeeService.insertTFeeTFeeDo(tFee,tFeeDo,loginUser,billsType);
+    }
+
+    /**
+     * 修改财务数据主
+     */
+    @PreAuthorize("@ss.hasPermi('finance:payment:edit')")
+    @Log(title = "财务数据主", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TFee tFee) {
+        return toAjax(tFeeService.updateTFee(tFee));
+    }
+
+    /**
+     * 删除财务数据主
+     */
+    @PreAuthorize("@ss.hasPermi('finance:payment:remove')")
+    @Log(title = "财务数据主", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{fIds}")
+    public AjaxResult remove(@PathVariable Long[] fIds) {
+        return toAjax(tFeeService.deleteTFeeByIds(fIds));
+    }
+
+    @PreAuthorize("@ss.hasPermi('finance:payment:remove')")
+    @Log(title = "财务数据主", businessType = BusinessType.DELETE)
+    @DeleteMapping("/queryRemove/{fId}")
+    public AjaxResult queryRemove(@PathVariable("fId") Long fId) {
+        return tFeeService.queryRemove(fId);
+    }
+
+    /**
+     *  付费查询
+     */
+    @PreAuthorize("@ss.hasPermi('finance:payment:list')")
+    @GetMapping("/contrastList")
+    public TableDataInfo chargeList(TWareHouseFees tWareHouseFees) {
+        tWareHouseFees.setfDc("C");
+        tWareHouseFees.setfBilltype("KHFF");
+        startPage();
+        List<Map<String, Object>> list = tFeeService.FinancialFeesList(tWareHouseFees);
+        return getDataTable(list);
+    }
+
+    /**
+     *   确认付费
+     */
+    @PreAuthorize("@ss.hasPermi('finance:payment:add')")
+    @Log(title = "财务数据主", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/confirm")
+    @RepeatSubmit
+    public AjaxResult confirm(@RequestParam("tFee") String tFee,
+                              @RequestParam("tFeeDo") String tFeeDo,
+                              @RequestParam(value = "billsType",required = false) String billsType) {
+        billsType = "KHFF";
+        // 获取当前的用户
+        LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
+        return tFeeService.confirm(tFee,tFeeDo,loginUser,billsType);
+    }
+
+    /**
+     *   撤销付费
+     */
+    @PreAuthorize("@ss.hasPermi('finance:payment:add')")
+    @Log(title = "财务数据主", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/revoke")
+    @RepeatSubmit
+    public AjaxResult revoke(@RequestParam("tFee") String tFee,
+                             @RequestParam("tFeeDo") String tFeeDo,
+                             @RequestParam(value = "billsType",required = false) String billsType) {
+        billsType = "DCRevoke";
+        // 获取当前的用户
+        LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
+        return tFeeService.revoke(tFee,tFeeDo,loginUser,billsType);
+    }
+
+    /**
+     * 导出付费明细
+     */
+    @GetMapping("/exportItems/{fId}")
+    public AjaxResult exportItems(@PathVariable("fId") Long fId) {
+        List<FinancialTFeeDoExcel> list = tFeeService.FinancialTFeeDoExcel(fId);
+        String exportName = tFeeService.findCtrlcorpid(fId);
+        ExcelUtil<FinancialTFeeDoExcel> util = new ExcelUtil<FinancialTFeeDoExcel>(FinancialTFeeDoExcel.class);
+        return util.exportExcel(list, exportName);
+    }
+    /**
+     * 删除对账数据主
+     */
+    @PreAuthorize("@ss.hasPermi('finance:contrast:remove')")
+    @Log(title = "财务数据主", businessType = BusinessType.DELETE)
+    @DeleteMapping("/tFeeDo/{fIds}")
+    public AjaxResult removeTFeeDo(@PathVariable Long[] fIds) {
+        return toAjax(tFeeDoService.deleteTFeeDoByIds(fIds));
+    }
+
+    @PreAuthorize("@ss.hasPermi('finance:contrast:remove')")
+    @Log(title = "财务数据主", businessType = BusinessType.DELETE)
+    @DeleteMapping("/tFeeDo/queryRemove/{fId}")
+    public AjaxResult queryRemoveTFeeDo(@PathVariable("fId") Long fId) {
+        return toAjax(tFeeDoService.deleteTFeeDoById(fId));
+    }
+}

+ 108 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/finance/domain/TFee.java

@@ -189,6 +189,32 @@ public class TFee extends BaseEntity {
     /** 是否开发票 */
     @Excel(name = "是否开发票")
     private Integer fMake;
+    /** t_vessel id 船名 */
+    @Excel(name = "t_vessel id 船名")
+    private Long fVslid;
+
+    /** t_voyage id 航次 */
+    @Excel(name = "t_voyage id 航次")
+    private Long fVoyid;
+
+    /** 起运港 */
+    @Excel(name = "起运港")
+    private Long fLoadportid;
+
+    /** 目的港 */
+    @Excel(name = "目的港")
+    private Long fDestportid;
+
+    /** 收、付 */
+    @Excel(name = "收、付")
+    private String fDc;
+
+    /** 银行账号 */
+    @Excel(name = "银行账号")
+    private String fBankNumber;
+    /** 是否对账 */
+    @Excel(name = "是否对账")
+    private String fReconciliation;
     /**申请金额区间*/
     private List<String> money;
 
@@ -222,6 +248,10 @@ public class TFee extends BaseEntity {
      *金额查询区间
      */
     private List<BigDecimal> amount;
+    /**
+     * 凯和需要的业务编号
+     */
+    private  String srcBillNo;
 
     public Long getfAccountId() {
         return fAccountId;
@@ -542,6 +572,76 @@ public class TFee extends BaseEntity {
     {
         return fApplyMoney;
     }
+    public void setfVslid(Long fVslid)
+    {
+        this.fVslid = fVslid;
+    }
+
+    public Long getfVslid()
+    {
+        return fVslid;
+    }
+    public void setfVoyid(Long fVoyid)
+    {
+        this.fVoyid = fVoyid;
+    }
+
+    public Long getfVoyid()
+    {
+        return fVoyid;
+    }
+    public void setfLoadportid(Long fLoadportid)
+    {
+        this.fLoadportid = fLoadportid;
+    }
+
+    public Long getfLoadportid()
+    {
+        return fLoadportid;
+    }
+    public void setfDestportid(Long fDestportid)
+    {
+        this.fDestportid = fDestportid;
+    }
+
+    public Long getfDestportid()
+    {
+        return fDestportid;
+    }
+
+    public String getfDc() {
+        return fDc;
+    }
+
+    public void setfDc(String fDc) {
+        this.fDc = fDc;
+    }
+
+    public void setfBankNumber(String fBankNumber)
+    {
+        this.fBankNumber = fBankNumber;
+    }
+
+    public String getfBankNumber()
+    {
+        return fBankNumber;
+    }
+
+    public String getfReconciliation() {
+        return fReconciliation;
+    }
+
+    public void setfReconciliation(String fReconciliation) {
+        this.fReconciliation = fReconciliation;
+    }
+
+    public String getSrcBillNo() {
+        return srcBillNo;
+    }
+
+    public void setSrcBillNo(String srcBillNo) {
+        this.srcBillNo = srcBillNo;
+    }
 
     @Override
     public String toString() {
@@ -573,6 +673,14 @@ public class TFee extends BaseEntity {
                 .append("fInvoiceRise",getfInvoiceRise())
                 .append("fSign",getfSign())
                 .append("fSendTime",getfSendTime())
+                .append("fVslid", getfVslid())
+                .append("fVoyid", getfVoyid())
+                .append("fLoadportid", getfLoadportid())
+                .append("fDestportid", getfDestportid())
+                .append("fDc", getfDc())
+                .append("fBankNumber", getfBankNumber())
+                .append("fReconciliation", getfReconciliation())
+                .append("srcBillNo", getSrcBillNo())
                 .toString();
     }
 }

+ 26 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/finance/domain/TWareHouseFees.java

@@ -114,6 +114,16 @@ public class TWareHouseFees extends BaseEntity {
     /** 目的港 */
     private Long fDestportid;
 
+    /**
+     * 检索区间始
+     */
+    private Date fFromDate;
+
+    /**
+     * 检索区间终
+     */
+    private Date fToDate;
+
     public Long getfLoadportid() {
         return fLoadportid;
     }
@@ -375,4 +385,20 @@ public class TWareHouseFees extends BaseEntity {
     public void setfBilltype(String fBilltype) {
         this.fBilltype = fBilltype;
     }
+
+    public Date getfFromDate() {
+        return fFromDate;
+    }
+
+    public void setfFromDate(Date fFromDate) {
+        this.fFromDate = fFromDate;
+    }
+
+    public Date getfToDate() {
+        return fToDate;
+    }
+
+    public void setfToDate(Date fToDate) {
+        this.fToDate = fToDate;
+    }
 }

+ 8 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/finance/mapper/TFeeDoMapper.java

@@ -1,6 +1,7 @@
 package com.ruoyi.finance.mapper;
 
 import com.ruoyi.finance.domain.TFeeDo;
+import com.ruoyi.finance.shipping.FinancialTFeeDoExcel;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -77,4 +78,11 @@ public interface TFeeDoMapper {
      * @return  结果
      */
     int tfeeDoFollowUpdate(@Param("fPid") Long fPid, @Param("fettle") Long fettle);
+
+    /**
+     * 凯和查询财务明细数据
+     * @param fPid
+     * @return
+     */
+    List<FinancialTFeeDoExcel> selectFinancialTFeeDo(Long fPid);
 }

+ 20 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/finance/mapper/TFeeMapper.java

@@ -3,6 +3,7 @@ package com.ruoyi.finance.mapper;
 import com.ruoyi.finance.domain.TFee;
 import com.ruoyi.finance.domain.TWareHouseFees;
 import com.ruoyi.finance.excel.Detailed;
+import com.ruoyi.finance.shipping.FinancialTFee;
 import com.ruoyi.reportManagement.dto.TWarehousebill;
 import com.ruoyi.warehouseBusiness.excel.TWareHouseExcelItem;
 import org.apache.ibatis.annotations.Param;
@@ -43,6 +44,13 @@ public interface TFeeMapper {
     public List<Map<String, Object>> selectTFeeList1(TFee tFee);
 
     /**
+     * 凯和查询财务信息
+     * @param tFee
+     * @return
+     */
+    List<FinancialTFee>  selectFinancialTFeeList(TFee tFee);
+
+    /**
      * 凯和确认账单查询
      * @param tFee
      * @return
@@ -121,5 +129,17 @@ public interface TFeeMapper {
      * @return
      */
     public List<Map<String, Object>> webVersionInvoice(TFee tFee);
+    /**
+     *  凯和检索 对账、 收费 付费信息
+     * @return
+     */
+    public List<Map<String, Object>> FinancialFeesList(@Param("map") Map<String, Object> map);
+
+    /**
+     * 凯和获取费用详情
+     * @param fId
+     * @return
+     */
+    FinancialTFee selectFinancialTFeeId (Long fId);
 
 }

+ 26 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/finance/service/ITFeeService.java

@@ -8,6 +8,8 @@ import com.ruoyi.finance.excel.Charge;
 import com.ruoyi.finance.excel.Contrast;
 import com.ruoyi.finance.excel.Detailed;
 import com.ruoyi.finance.excel.Payment;
+import com.ruoyi.finance.shipping.FinancialTFee;
+import com.ruoyi.finance.shipping.FinancialTFeeDoExcel;
 import com.ruoyi.reportManagement.dto.TWarehousebill;
 import com.ruoyi.reportManagement.excel.Payable;
 import com.ruoyi.reportManagement.excel.Profit;
@@ -247,5 +249,29 @@ public interface ITFeeService {
      */
     public AjaxResult webVersionUpdateApplyFP(TFee tFee,LoginUser loginUser,String billType);
 
+    /**
+     * 凯和查询财务信息列表
+     * @param tFee
+     * @return
+     */
+    public List<FinancialTFee> selectFinancialTFeeList(TFee tFee);
+    /**
+     *   对账、收费、付费
+     * @param tWareHouseFees
+     * @return
+     */
+    public List<Map<String, Object>> FinancialFeesList(TWareHouseFees tWareHouseFees);
+
+    /**
+     * 凯和获取财务数据详情
+     * @param fId
+     * @return
+     */
+    public Map<String, Object>  selectFinancialTFeeId(Long fId);
+    /**
+     * 导出费用明细
+     */
+    public List<FinancialTFeeDoExcel>  FinancialTFeeDoExcel(Long fId);
+
 
 }

+ 34 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/finance/service/impl/TFeeServiceImpl.java

@@ -24,6 +24,8 @@ import com.ruoyi.finance.excel.Payment;
 import com.ruoyi.finance.mapper.TFeeDoMapper;
 import com.ruoyi.finance.mapper.TFeeMapper;
 import com.ruoyi.finance.service.ITFeeService;
+import com.ruoyi.finance.shipping.FinancialTFee;
+import com.ruoyi.finance.shipping.FinancialTFeeDoExcel;
 import com.ruoyi.reportManagement.dto.TWarehousebill;
 import com.ruoyi.reportManagement.excel.Payable;
 import com.ruoyi.reportManagement.excel.Profit;
@@ -335,6 +337,7 @@ public class TFeeServiceImpl implements ITFeeService {
             Date time = new Date();
             String billNo = billnoSerialServiceImpl.getBillNo(fBilltype, time);
             tFee.setfBillno(billNo);
+            tFee.setSrcBillNo(billNo);
             tFee.setfBillstatus("2");
             tFeeMapper.insertTFee(tFee);
             fPid = tFee.getfId();
@@ -343,6 +346,8 @@ public class TFeeServiceImpl implements ITFeeService {
             tFee.setUpdateBy(loginUser.getUser().getUserName());
             tFee.setUpdateTime(new Date());
             tFeeMapper.updateTFee(tFee);
+            tFee = tFeeMapper.selectTFeeById(fPid);
+            tFee.setSrcBillNo(tFee.getfBillno());
             // 删除从表
             tFeeDoMapper.deleteByFPid(fPid);
         }
@@ -358,7 +363,9 @@ public class TFeeServiceImpl implements ITFeeService {
                 tFeeDoMapper.insertTFeeDo(tFeeDo);
             }
         }
+        List<FinancialTFeeDoExcel> list = tFeeDoMapper.selectFinancialTFeeDo(fPid);
         map.put("tFee", tFee);
+        map.put("tFeeDo",list);
         return AjaxResult.success("成功", map);
     }
 
@@ -1434,6 +1441,33 @@ public class TFeeServiceImpl implements ITFeeService {
     }
 
     @Override
+    public List<FinancialTFee> selectFinancialTFeeList(TFee tFee) {
+        return tFeeMapper.selectFinancialTFeeList(tFee);
+    }
+
+    @Override
+    public List<Map<String, Object>> FinancialFeesList(TWareHouseFees tWareHouseFees) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("tWareHouseFees", tWareHouseFees);
+        return tFeeMapper.FinancialFeesList(map);
+    }
+
+    @Override
+    public Map<String, Object> selectFinancialTFeeId(Long fId) {
+        Map<String,Object> map = new HashMap<>();
+        FinancialTFee financialTFee = tFeeMapper.selectFinancialTFeeId(fId);
+        List<FinancialTFeeDoExcel> financialTFeeDoExcels = tFeeDoMapper.selectFinancialTFeeDo(fId);
+        map.put("tFee", financialTFee);
+        map.put("tFeeDo", financialTFeeDoExcels);
+        return map;
+    }
+
+    @Override
+    public List<FinancialTFeeDoExcel> FinancialTFeeDoExcel(Long fId) {
+        return tFeeDoMapper.selectFinancialTFeeDo(fId);
+    }
+
+    @Override
     @Transactional
     public AjaxResult webVersionApplyFP(TFee tFee, LoginUser loginUser, String fBilltype, TFeeInvoice tFeeInvoice) {
         Long fPid = null;

+ 537 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/finance/shipping/FinancialTFee.java

@@ -0,0 +1,537 @@
+package com.ruoyi.finance.shipping;
+
+import com.ruoyi.common.annotation.Excel;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+public class FinancialTFee implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    private Long fId;
+    /**
+     *系统编号
+     */
+    @Excel(name = "系统编号")
+    private String fBillno;
+    /**
+     *客户名称
+     */
+    @Excel(name = "客户名称")
+    private String fCorpidName;
+    /**
+     *船名
+     */
+    @Excel(name = "船名")
+    private String vessel;
+    /**
+     *航次
+     */
+    @Excel(name = "航次")
+    private String voyage;
+    /**
+     *起运港
+     */
+    @Excel(name = "起运港")
+    private String loadportName;
+    /**
+     *目的港
+     */
+    @Excel(name = "目的港")
+    private String destportName;
+    /**
+     *应收金额合计
+     */
+    @Excel(name = "应收金额")
+    private BigDecimal fAmtdr;
+    /**
+     *实收金额合计
+     */
+    @Excel(name = "实收金额")
+    private BigDecimal fAmtcr;
+    /**
+     *状态
+     */
+    @Excel(name = "状态")
+    private String fBillstatusName;
+    /**
+     *创建人
+     */
+    @Excel(name = "制单人")
+    private String createBy;
+    /**
+     *创建时间
+     */
+    @Excel(name = "制单日期")
+    private Date createTime;
+    /**
+     *备注
+     */
+    @Excel(name = "备注")
+    private String fRemarks;
+    /**
+     *银行账号
+     */
+    private String fBankNumber;
+    /**
+     *收付中文名
+     */
+    private String fSrcdcName;
+    /**
+     *货权方
+     */
+    private String fCtrlcorpid;
+    /**
+     *收费方式
+     */
+    private String chargingMethod;
+    /**
+     *发票号
+     */
+    private String invoiceNo;
+    /**
+     *银行
+     */
+    private String fBank;
+    /**
+     *水单号
+     */
+    private String waterBillNo;
+    /**
+     *客户id
+     */
+    private Long fCorpid;
+    /**
+     *结算日期
+     */
+    private Date fAccbilldate;
+    /**
+     *提单号
+     */
+    private String tMblno;
+    /**
+     *业务类型
+     */
+    private String fBilltype;
+    /**
+     *系统类型
+     */
+    private Long fSystemType;
+    /**
+     *创建人所属公司
+     */
+    private String createName;
+    /**
+     *修改人
+     */
+    private String updateBy;
+    /**
+     *修改时间
+     */
+    private Date updateTime;
+    /**
+     * 起运港id
+     */
+    private Long fLoadportid;
+    /**
+     * 目的港id
+     */
+    private Long fDestportid;
+    /**
+     * 船名id
+     */
+    private Long fVslid;
+    /**
+     * 航次id
+     */
+    private Long fVoyid;
+    /**
+     * 开始时间
+     */
+    private Date fFromDate;
+    /**
+     * 结束时间
+     */
+    private Date fToDate;
+    /**
+     * 收付中文名
+     */
+    private String fDc;
+    /**
+     * 是否对账
+     */
+    private String fReconciliation;
+    /**
+     * 状态
+     */
+    private String fBillstatus;
+    /**
+     * 编号
+     */
+    private  String srcBillNo;
+    /**
+     * 银行
+     */
+    private String bank;
+
+    public String getfReconciliation() {
+        return fReconciliation;
+    }
+
+    public void setfReconciliation(String fReconciliation) {
+        this.fReconciliation = fReconciliation;
+    }
+
+    public String getfDc() {
+        return fDc;
+    }
+
+    public void setfDc(String fDc) {
+        this.fDc = fDc;
+    }
+
+    public Long getfId() {
+        return fId;
+    }
+
+    public void setfId(Long fId) {
+        this.fId = fId;
+    }
+
+    public String getSrcBillNo() {
+        return srcBillNo;
+    }
+
+    public void setSrcBillNo(String srcBillNo) {
+        this.srcBillNo = srcBillNo;
+    }
+
+    public String getfCorpidName() {
+        return fCorpidName;
+    }
+
+    public void setfCorpidName(String fCorpidName) {
+        this.fCorpidName = fCorpidName;
+    }
+
+    public String getVessel() {
+        return vessel;
+    }
+
+    public void setVessel(String vessel) {
+        this.vessel = vessel;
+    }
+
+    public String getVoyage() {
+        return voyage;
+    }
+
+    public void setVoyage(String voyage) {
+        this.voyage = voyage;
+    }
+
+    public String getLoadportName() {
+        return loadportName;
+    }
+
+    public void setLoadportName(String loadportName) {
+        this.loadportName = loadportName;
+    }
+
+    public String getDestportName() {
+        return destportName;
+    }
+
+    public void setDestportName(String destportName) {
+        this.destportName = destportName;
+    }
+
+    public BigDecimal getfAmtdr() {
+        return fAmtdr;
+    }
+
+    public void setfAmtdr(BigDecimal fAmtdr) {
+        this.fAmtdr = fAmtdr;
+    }
+
+    public BigDecimal getfAmtcr() {
+        return fAmtcr;
+    }
+
+    public void setfAmtcr(BigDecimal fAmtcr) {
+        this.fAmtcr = fAmtcr;
+    }
+
+    public String getfBillstatus() {
+        return fBillstatus;
+    }
+
+    public void setfBillstatus(String fBillstatus) {
+        this.fBillstatus = fBillstatus;
+    }
+
+    public String getCreateBy() {
+        return createBy;
+    }
+
+    public void setCreateBy(String createBy) {
+        this.createBy = createBy;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getfRemarks() {
+        return fRemarks;
+    }
+
+    public void setfRemarks(String fRemarks) {
+        this.fRemarks = fRemarks;
+    }
+
+    public String getfBankNumber() {
+        return fBankNumber;
+    }
+
+    public void setfBankNumber(String fBankNumber) {
+        this.fBankNumber = fBankNumber;
+    }
+
+    public String getfSrcdcName() {
+        return fSrcdcName;
+    }
+
+    public void setfSrcdcName(String fSrcdcName) {
+        this.fSrcdcName = fSrcdcName;
+    }
+
+    public String getfCtrlcorpid() {
+        return fCtrlcorpid;
+    }
+
+    public void setfCtrlcorpid(String fCtrlcorpid) {
+        this.fCtrlcorpid = fCtrlcorpid;
+    }
+
+    public String getChargingMethod() {
+        return chargingMethod;
+    }
+
+    public void setChargingMethod(String chargingMethod) {
+        this.chargingMethod = chargingMethod;
+    }
+
+    public String getInvoiceNo() {
+        return invoiceNo;
+    }
+
+    public void setInvoiceNo(String invoiceNo) {
+        this.invoiceNo = invoiceNo;
+    }
+
+    public String getfBank() {
+        return fBank;
+    }
+
+    public void setfBank(String fBank) {
+        this.fBank = fBank;
+    }
+
+    public String getWaterBillNo() {
+        return waterBillNo;
+    }
+
+    public void setWaterBillNo(String waterBillNo) {
+        this.waterBillNo = waterBillNo;
+    }
+
+    public Long getfCorpid() {
+        return fCorpid;
+    }
+
+    public void setfCorpid(Long fCorpid) {
+        this.fCorpid = fCorpid;
+    }
+
+    public Date getfAccbilldate() {
+        return fAccbilldate;
+    }
+
+    public void setfAccbilldate(Date fAccbilldate) {
+        this.fAccbilldate = fAccbilldate;
+    }
+
+    public String gettMblno() {
+        return tMblno;
+    }
+
+    public void settMblno(String tMblno) {
+        this.tMblno = tMblno;
+    }
+
+    public String getfBilltype() {
+        return fBilltype;
+    }
+
+    public void setfBilltype(String fBilltype) {
+        this.fBilltype = fBilltype;
+    }
+
+    public Long getfSystemType() {
+        return fSystemType;
+    }
+
+    public void setfSystemType(Long fSystemType) {
+        this.fSystemType = fSystemType;
+    }
+
+    public String getCreateName() {
+        return createName;
+    }
+
+    public void setCreateName(String createName) {
+        this.createName = createName;
+    }
+
+    public String getUpdateBy() {
+        return updateBy;
+    }
+
+    public void setUpdateBy(String updateBy) {
+        this.updateBy = updateBy;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public Long getfLoadportid() {
+        return fLoadportid;
+    }
+
+    public void setfLoadportid(Long fLoadportid) {
+        this.fLoadportid = fLoadportid;
+    }
+
+    public Long getfDestportid() {
+        return fDestportid;
+    }
+
+    public void setfDestportid(Long fDestportid) {
+        this.fDestportid = fDestportid;
+    }
+
+    public Long getfVslid() {
+        return fVslid;
+    }
+
+    public void setfVslid(Long fVslid) {
+        this.fVslid = fVslid;
+    }
+
+    public Long getfVoyid() {
+        return fVoyid;
+    }
+
+    public void setfVoyid(Long fVoyid) {
+        this.fVoyid = fVoyid;
+    }
+
+    public Date getfFromDate() {
+        return fFromDate;
+    }
+
+    public void setfFromDate(Date fFromDate) {
+        this.fFromDate = fFromDate;
+    }
+
+    public Date getfToDate() {
+        return fToDate;
+    }
+
+    public void setfToDate(Date fToDate) {
+        this.fToDate = fToDate;
+    }
+
+    public String getfBillstatusName() {
+        return fBillstatusName;
+    }
+
+    public void setfBillstatusName(String fBillstatusName) {
+        this.fBillstatusName = fBillstatusName;
+    }
+
+    public String getfBillno() {
+        return fBillno;
+    }
+
+    public void setfBillno(String fBillno) {
+        this.fBillno = fBillno;
+    }
+
+    public String getBank() {
+        return bank;
+    }
+
+    public void setBank(String bank) {
+        this.bank = bank;
+    }
+
+    @Override
+    public String toString() {
+        return "FinancialTFee{" +
+                "fId=" + fId +
+                ", srcBillNo='" + srcBillNo + '\'' +
+                ", fCorpidName='" + fCorpidName + '\'' +
+                ", vessel='" + vessel + '\'' +
+                ", voyage='" + voyage + '\'' +
+                ", loadportName='" + loadportName + '\'' +
+                ", destportName='" + destportName + '\'' +
+                ", fAmtdr=" + fAmtdr +
+                ", fAmtcr=" + fAmtcr +
+                ", fBillstatus='" + fBillstatus + '\'' +
+                ", createBy='" + createBy + '\'' +
+                ", createTime=" + createTime +
+                ", fRemarks='" + fRemarks + '\'' +
+                ", fBankNumber='" + fBankNumber + '\'' +
+                ", fSrcdcName='" + fSrcdcName + '\'' +
+                ", fCtrlcorpid='" + fCtrlcorpid + '\'' +
+                ", chargingMethod='" + chargingMethod + '\'' +
+                ", invoiceNo='" + invoiceNo + '\'' +
+                ", fBank='" + fBank + '\'' +
+                ", waterBillNo='" + waterBillNo + '\'' +
+                ", fCorpid=" + fCorpid +
+                ", fAccbilldate=" + fAccbilldate +
+                ", tMblno='" + tMblno + '\'' +
+                ", fBilltype='" + fBilltype + '\'' +
+                ", fSystemType=" + fSystemType +
+                ", createName='" + createName + '\'' +
+                ", updateBy='" + updateBy + '\'' +
+                ", updateTime=" + updateTime +
+                ", fLoadportid=" + fLoadportid +
+                ", fDestportid=" + fDestportid +
+                ", fVslid=" + fVslid +
+                ", fVoyid=" + fVoyid +
+                ", fFromDate=" + fFromDate +
+                ", fToDate=" + fToDate +
+                ", fDc=" + fDc +
+                ", fReconciliation=" + fReconciliation +
+                ", fBillstatusName='" + fBillstatusName + '\'' +
+                ", fBillno='" + fBillno + '\'' +
+                ", bank='" + bank + '\'' +
+                '}';
+    }
+}

+ 573 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/finance/shipping/FinancialTFeeDoExcel.java

@@ -0,0 +1,573 @@
+package com.ruoyi.finance.shipping;
+
+
+import com.ruoyi.common.annotation.Excel;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 凯和查询财务明细数据返回对象
+ */
+public class FinancialTFeeDoExcel implements Serializable {
+    private static final long serialVersionUID = 1L;
+    /**
+     * 系统编号
+     */
+    @Excel(name = "系统编号")
+    private String srcBillNo;
+    /**
+     * 客户名称
+     */
+    @Excel(name = "客户名称")
+    private String fName;
+    /**
+     * 费用名称
+     */
+    @Excel(name = "费用名称")
+    private String fFeeName;
+    /**
+     * 计价单位中文名
+     */
+    @Excel(name = "计价单位")
+    private String fFeeUnitName;
+    /**
+     *数量
+     */
+    @Excel(name = "数量")
+    private BigDecimal fQty;
+    /**
+     * 单价
+     */
+    @Excel(name = "单价")
+    private BigDecimal fUnitPrice;
+    /**
+     * 应收金额
+     */
+    @Excel(name = "应收金额")
+    private BigDecimal fAmtdr;
+
+    /**
+     * 实收金额
+     */
+    @Excel(name = "实收金额")
+    private BigDecimal fAmt;
+    /**
+     * 船中文名
+     */
+    @Excel(name = "船名")
+    private String fvslName;
+    /**
+     * 航次中文明
+     */
+    @Excel(name = "航次")
+    private String fvoyName;
+    /**
+     * 箱型
+     */
+    @Excel(name = "箱型")
+    private String cntrName;
+    /**
+     * 箱量
+     */
+    @Excel(name = "箱量")
+    private BigDecimal fCntrCount;
+    /**
+     * 起运港中文名
+     */
+    @Excel(name = "起运港")
+    private String fLoadPortName;
+    /**
+     * 目的港中文名
+     */
+    @Excel(name = "目的港")
+    private String fDestPortName;
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    private String fRemarks;
+    /**
+     * 费用id
+     */
+    private Long fId;
+
+    /**
+     * 父级id
+     */
+    private Long fPid;
+
+    /**
+     * 活动号
+     */
+    private Long fActId;
+
+    /**
+     * 行号
+     */
+    private Long fLineno;
+
+    /**
+     * 来源id
+     */
+    private Long fSrcid;
+
+    /**
+     * 来源行号
+     */
+    private Long fSrclineno;
+
+    /**
+     * 来源id
+     */
+    private Long fSrcpid;
+
+    /**
+     * 收、付
+     */
+    private String fSrcdc;
+
+    /**
+     * 费用id
+     */
+    private Long fFeeid;
+
+    /**
+     * 状态(默认 T ,正常T 停用F 下拉选择)
+     */
+    private String fStatus;
+
+    /**
+     * 删除状态
+     */
+    private String delFlag;
+
+    /**
+     * 已处理金额
+     */
+    private BigDecimal fAmtStl;
+
+    /**
+     * 剩余金额
+     */
+    private BigDecimal fAmtBlc;
+    /**
+     * 创建者
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 更新者
+     */
+    private String updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+    /**
+     * 收付中文名
+     */
+    private String fSrcdcName;
+    /**
+     * 状态中文名
+     */
+    private String fBillStatusName;
+    /**
+     * 计价单位id
+     */
+    private Long fFeeUnitId;
+
+    /**
+     * 船id
+     */
+    private Long fVslid;
+    /**
+     * 航次id
+     */
+    private Long fVoyid;
+    /**
+     * 起运港id
+     */
+    private Long fLoadportid;
+    /**
+     * 目的港id
+     */
+    private Long fDestportid;
+    /**
+     * 金额
+     */
+    private BigDecimal fAmount;
+
+    public String getSrcBillNo() {
+        return srcBillNo;
+    }
+
+    public void setSrcBillNo(String srcBillNo) {
+        this.srcBillNo = srcBillNo;
+    }
+
+    public String getfName() {
+        return fName;
+    }
+
+    public void setfName(String fName) {
+        this.fName = fName;
+    }
+
+    public String getfFeeName() {
+        return fFeeName;
+    }
+
+    public void setfFeeName(String fFeeName) {
+        this.fFeeName = fFeeName;
+    }
+
+    public String getfFeeUnitName() {
+        return fFeeUnitName;
+    }
+
+    public void setfFeeUnitName(String fFeeUnitName) {
+        this.fFeeUnitName = fFeeUnitName;
+    }
+
+    public BigDecimal getfQty() {
+        return fQty;
+    }
+
+    public void setfQty(BigDecimal fQty) {
+        this.fQty = fQty;
+    }
+
+    public BigDecimal getfUnitPrice() {
+        return fUnitPrice;
+    }
+
+    public void setfUnitPrice(BigDecimal fUnitPrice) {
+        this.fUnitPrice = fUnitPrice;
+    }
+
+    public BigDecimal getfAmtdr() {
+        return fAmtdr;
+    }
+
+    public void setfAmtdr(BigDecimal fAmtdr) {
+        this.fAmtdr = fAmtdr;
+    }
+
+    public BigDecimal getfAmt() {
+        return fAmt;
+    }
+
+    public void setfAmt(BigDecimal fAmt) {
+        this.fAmt = fAmt;
+    }
+
+    public String getFvslName() {
+        return fvslName;
+    }
+
+    public void setFvslName(String fvslName) {
+        this.fvslName = fvslName;
+    }
+
+    public String getFvoyName() {
+        return fvoyName;
+    }
+
+    public void setFvoyName(String fvoyName) {
+        this.fvoyName = fvoyName;
+    }
+
+    public String getCntrName() {
+        return cntrName;
+    }
+
+    public void setCntrName(String cntrName) {
+        this.cntrName = cntrName;
+    }
+
+    public BigDecimal getfCntrCount() {
+        return fCntrCount;
+    }
+
+    public void setfCntrCount(BigDecimal fCntrCount) {
+        this.fCntrCount = fCntrCount;
+    }
+
+    public String getfLoadPortName() {
+        return fLoadPortName;
+    }
+
+    public void setfLoadPortName(String fLoadPortName) {
+        this.fLoadPortName = fLoadPortName;
+    }
+
+    public String getfDestPortName() {
+        return fDestPortName;
+    }
+
+    public void setfDestPortName(String fDestPortName) {
+        this.fDestPortName = fDestPortName;
+    }
+
+    public String getfRemarks() {
+        return fRemarks;
+    }
+
+    public void setfRemarks(String fRemarks) {
+        this.fRemarks = fRemarks;
+    }
+
+    public Long getfId() {
+        return fId;
+    }
+
+    public void setfId(Long fId) {
+        this.fId = fId;
+    }
+
+    public Long getfPid() {
+        return fPid;
+    }
+
+    public void setfPid(Long fPid) {
+        this.fPid = fPid;
+    }
+
+    public Long getfActId() {
+        return fActId;
+    }
+
+    public void setfActId(Long fActId) {
+        this.fActId = fActId;
+    }
+
+    public Long getfLineno() {
+        return fLineno;
+    }
+
+    public void setfLineno(Long fLineno) {
+        this.fLineno = fLineno;
+    }
+
+    public Long getfSrcid() {
+        return fSrcid;
+    }
+
+    public void setfSrcid(Long fSrcid) {
+        this.fSrcid = fSrcid;
+    }
+
+    public Long getfSrclineno() {
+        return fSrclineno;
+    }
+
+    public void setfSrclineno(Long fSrclineno) {
+        this.fSrclineno = fSrclineno;
+    }
+
+    public Long getfSrcpid() {
+        return fSrcpid;
+    }
+
+    public void setfSrcpid(Long fSrcpid) {
+        this.fSrcpid = fSrcpid;
+    }
+
+    public String getfSrcdc() {
+        return fSrcdc;
+    }
+
+    public void setfSrcdc(String fSrcdc) {
+        this.fSrcdc = fSrcdc;
+    }
+
+    public Long getfFeeid() {
+        return fFeeid;
+    }
+
+    public void setfFeeid(Long fFeeid) {
+        this.fFeeid = fFeeid;
+    }
+
+    public String getfStatus() {
+        return fStatus;
+    }
+
+    public void setfStatus(String fStatus) {
+        this.fStatus = fStatus;
+    }
+
+    public String getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(String delFlag) {
+        this.delFlag = delFlag;
+    }
+
+    public BigDecimal getfAmtStl() {
+        return fAmtStl;
+    }
+
+    public void setfAmtStl(BigDecimal fAmtStl) {
+        this.fAmtStl = fAmtStl;
+    }
+
+    public BigDecimal getfAmtBlc() {
+        return fAmtBlc;
+    }
+
+    public void setfAmtBlc(BigDecimal fAmtBlc) {
+        this.fAmtBlc = fAmtBlc;
+    }
+
+    public String getCreateBy() {
+        return createBy;
+    }
+
+    public void setCreateBy(String createBy) {
+        this.createBy = createBy;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getUpdateBy() {
+        return updateBy;
+    }
+
+    public void setUpdateBy(String updateBy) {
+        this.updateBy = updateBy;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getfSrcdcName() {
+        return fSrcdcName;
+    }
+
+    public void setfSrcdcName(String fSrcdcName) {
+        this.fSrcdcName = fSrcdcName;
+    }
+
+    public String getfBillStatusName() {
+        return fBillStatusName;
+    }
+
+    public void setfBillStatusName(String fBillStatusName) {
+        this.fBillStatusName = fBillStatusName;
+    }
+
+    public Long getfFeeUnitId() {
+        return fFeeUnitId;
+    }
+
+    public void setfFeeUnitId(Long fFeeUnitId) {
+        this.fFeeUnitId = fFeeUnitId;
+    }
+
+    public Long getfVslid() {
+        return fVslid;
+    }
+
+    public void setfVslid(Long fVslid) {
+        this.fVslid = fVslid;
+    }
+
+    public Long getfVoyid() {
+        return fVoyid;
+    }
+
+    public void setfVoyid(Long fVoyid) {
+        this.fVoyid = fVoyid;
+    }
+
+    public Long getfLoadportid() {
+        return fLoadportid;
+    }
+
+    public void setfLoadportid(Long fLoadportid) {
+        this.fLoadportid = fLoadportid;
+    }
+
+    public Long getfDestportid() {
+        return fDestportid;
+    }
+
+    public void setfDestportid(Long fDestportid) {
+        this.fDestportid = fDestportid;
+    }
+
+    public BigDecimal getfAmount() {
+        return fAmount;
+    }
+
+    public void setfAmount(BigDecimal fAmount) {
+        this.fAmount = fAmount;
+    }
+
+    @Override
+    public String toString() {
+        return "FinancialTFeeDoExcel{" +
+                "srcBillNo='" + srcBillNo + '\'' +
+                ", fName='" + fName + '\'' +
+                ", fFeeName='" + fFeeName + '\'' +
+                ", fFeeUnitName='" + fFeeUnitName + '\'' +
+                ", fQty=" + fQty +
+                ", fUnitPrice=" + fUnitPrice +
+                ", fAmtdr=" + fAmtdr +
+                ", fAmt=" + fAmt +
+                ", fvslName='" + fvslName + '\'' +
+                ", fvoyName='" + fvoyName + '\'' +
+                ", cntrName='" + cntrName + '\'' +
+                ", fCntrCount=" + fCntrCount +
+                ", fLoadPortName='" + fLoadPortName + '\'' +
+                ", fDestPortName='" + fDestPortName + '\'' +
+                ", fRemarks='" + fRemarks + '\'' +
+                ", fId=" + fId +
+                ", fPid=" + fPid +
+                ", fActId=" + fActId +
+                ", fLineno=" + fLineno +
+                ", fSrcid=" + fSrcid +
+                ", fSrclineno=" + fSrclineno +
+                ", fSrcpid=" + fSrcpid +
+                ", fSrcdc='" + fSrcdc + '\'' +
+                ", fFeeid=" + fFeeid +
+                ", fStatus='" + fStatus + '\'' +
+                ", delFlag='" + delFlag + '\'' +
+                ", fAmtStl=" + fAmtStl +
+                ", fAmtBlc=" + fAmtBlc +
+                ", createBy='" + createBy + '\'' +
+                ", createTime=" + createTime +
+                ", updateBy='" + updateBy + '\'' +
+                ", updateTime=" + updateTime +
+                ", fSrcdcName='" + fSrcdcName + '\'' +
+                ", fBillStatusName='" + fBillStatusName + '\'' +
+                ", fFeeUnitId=" + fFeeUnitId +
+                ", fVslid=" + fVslid +
+                ", fVoyid=" + fVoyid +
+                ", fLoadportid=" + fLoadportid +
+                ", fDestportid=" + fDestportid +
+                ", fAmount=" + fAmount +
+                '}';
+    }
+}

+ 80 - 0
ruoyi-warehouse/src/main/resources/mapper/finance/TFeeDoMapper.xml

@@ -208,5 +208,85 @@
         where
             f_pid = #{fPid}
     </update>
+    <!--凯和查询财务明细数据-->
+    <select id="selectFinancialTFeeDo" parameterType="Long" resultType="com.ruoyi.finance.shipping.FinancialTFeeDoExcel">
+        SELECT
+	tf.f_id AS fId,
+	tf.f_pid AS fPid,
+	tf.f_act_id AS fActId,
+	tf.f_lineno AS fLineno,
+	tf.f_srcid AS fSrcid,
+	tf.f_srclineno AS fSrclineno,
+	tf.f_srcpid AS fSrcpid,
+	tf.f_srcdc AS fSrcdc,
+	tf.f_feeid AS fFeeid,
+	tf.f_amtdr AS fAmtdr,
+	tf.f_amt AS fAmt,
+	tf.f_status AS fStatus,
+	tf.del_flag AS delFlag,
+	tf.f_amt_blc AS fAmtStl,
+	tf.create_by AS createBy,
+	tf.f_amt_stl AS fAmtBlc,
+	tf.create_time AS createTime,
+	tf.update_by AS updateBy,
+	tf.update_time AS updateTime,
+	tf.f_remarks AS fRemarks,
+CASE
+
+		WHEN tf.f_srcdc = 'D' THEN
+		'收'
+		WHEN tf.f_srcdc = 'C' THEN
+		'付'
+	END AS fSrcdcName,
+CASE
+
+		WHEN tf.f_status = '1' THEN
+		'保存'
+		WHEN tf.f_status = '2' THEN
+		'暂存'
+		WHEN tf.f_status = '3' THEN
+		'审批驳回'
+		WHEN tf.f_status = '4' THEN
+		'提交审核'
+		WHEN tf.f_status = '5' THEN
+		'审核中'
+		WHEN tf.f_status = '6' THEN
+		'审核完成'
+	END AS fBillStatusName,
+	td.f_name AS fFeeName,
+	tw.f_feeUnitid AS fFeeUnitId,
+	pr.dict_label AS fFeeUnitName,
+	th.f_vslid AS fVslid,
+	th.f_voyid AS fVoyid,
+	tv.f_name AS fvslName,
+	ty.f_no AS fvoyName,
+	th.f_loadportid AS fLoadportid,
+	th.f_destportid AS fDestportid,
+	tre.f_name AS fLoadPortName,
+	ts.f_name AS fDestPortName,
+	tw.src_bill_no AS srcBillNo,
+	c.f_name AS fName,
+	tn.f_name AS cntrName,
+	ti.f_cntrcount AS fCntrCount,
+	tw.f_qty AS fQty,
+	tw.f_unitprice AS fUnitPrice,
+	tw.f_amount AS fAmount
+FROM
+	t_fee_do tf
+	LEFT JOIN t_fees td ON tf.f_feeid = td.f_id
+	LEFT JOIN t_warehousebillsfees tw ON tf.f_srcid = tw.f_id
+	LEFT JOIN t_warehousebills th ON tf.f_srcpid = th.f_id
+	LEFT JOIN t_vessel tv ON tv.f_id = th.f_vslid
+	LEFT JOIN t_voyage ty ON ty.f_id = th.f_voyid
+	LEFT JOIN t_address tre ON tre.f_id = th.f_loadportid
+	LEFT JOIN t_address ts ON ts.f_id = th.f_destportid
+	LEFT JOIN t_fee te ON te.f_id = tf.f_pid
+	LEFT JOIN t_corps AS c ON te.f_corpid = c.f_id
+	LEFT JOIN t_warehousebills_cntr ti ON ti.f_pid = th.f_id
+	LEFT JOIN t_cntr tn ON tn.f_id = ti.f_cntrid
+	LEFT JOIN sys_dict_data pr ON pr.dict_value = tw.f_feeUnitid
+	AND pr.dict_type = 'data_unitfees'
+        where tf.f_pid = #{fPid}
+    </select>
 
 </mapper>

+ 371 - 1
ruoyi-warehouse/src/main/resources/mapper/finance/TFeeMapper.xml

@@ -39,6 +39,13 @@
         <result property="fApplyMoney" column="f_apply_money"/>
         <result property="fAccountId" column="f_account_id"/>
         <result property="fMake" column="f_make"/>
+        <result property="fVslid"    column="f_vslid"    />
+        <result property="fVoyid"    column="f_voyid"    />
+        <result property="fLoadportid"    column="f_loadportid"    />
+        <result property="fDestportid"    column="f_destportid"    />
+        <result property="fDc"    column="f_dc"    />
+        <result property="fBankNumber"    column="f_bank_number"    />
+        <result property="fReconciliation"    column="f_reconciliation"    />
     </resultMap>
 
     <sql id="selectTFeeVo">
@@ -75,7 +82,14 @@
                f_send_Time,
                f_apply_money,
                f_account_id,
-               f_make
+               f_make,
+               f_vslid,
+               f_voyid,
+               f_loadportid,
+               f_destportid,
+               f_dc,
+               f_bank_number,
+               f_reconciliation
         from t_fee
     </sql>
 
@@ -247,6 +261,118 @@
         ORDER BY f.f_id desc
         ${params.dataScope}
     </select>
+    <!--凯和查询财务信息-->
+    <select id="selectFinancialTFeeList" parameterType="TFee" resultType="com.ruoyi.finance.shipping.FinancialTFee">
+        SELECT
+        f.f_id AS fId,
+        f.f_billno AS fBillno,
+        f.f_ctrlcorpid AS fCtrlcorpid,
+        pro.dict_label AS chargingMethod,
+        f.invoice_no AS invoiceNo,
+        f.bank AS  fBank,
+        f.water_bill_no AS waterBillNo,
+        f.f_corpid AS fCorpid,
+        c.f_name AS fCorpidName,
+        f.f_accbilldate AS fAccbilldate,
+        f.t_mblno AS tMblno,
+        f.f_amtdr AS fAmtdr,
+        f.f_amtcr AS fAmtcr,
+        f.f_billtype AS fBilltype,
+        f.f_system_type AS fSystemType,
+        f.f_billstatus AS fBillstatus,
+        CASE
+        WHEN f.f_billstatus = '1' THEN '新建'
+        WHEN f.f_billstatus = '2' THEN '暂存'
+        WHEN f.f_billstatus = '3' THEN '审批驳回'
+        WHEN f.f_billstatus = '4' THEN '提交审核'
+        WHEN f.f_billstatus = '5' THEN '审核中'
+        WHEN f.f_billstatus = '6' THEN '审核完成'
+        END
+        AS fBillstatusName,
+        f.f_remarks AS fRemarks,
+        f.create_by AS createBy,
+        tp.f_name AS createName,
+        f.create_time AS createTime,
+        f.update_by AS updateBy,
+        f.update_time AS updateTime,
+        tv.f_name AS vessel,
+        ty.f_no AS voyage,
+        tre.f_name AS loadportName,
+        ts.f_name AS destportName,
+        f.f_bank_number AS fBankNumber,
+        f.bank AS bank,
+        CASE
+
+        WHEN f.f_dc = 'D' THEN
+        '收'
+        WHEN f.f_dc = 'C' THEN
+        '付'
+        END AS fSrcdcName
+        FROM
+        t_fee AS f
+        LEFT JOIN t_corps AS c ON f.f_corpid = c.f_id
+        left join sys_user u on f.create_by = u.user_name
+        left join sys_dept d on f.f_deptid = d.dept_id
+        LEFT JOIN t_customer_contact tc ON tc.f_tel = u.phonenumber
+        LEFT JOIN t_corps tp ON tp.f_id = tc.f_pid
+        LEFT JOIN sys_dict_data pro ON pro.dict_value = f.charging_method and pro.dict_type = 'data_settlement_type'
+        LEFT JOIN t_vessel tv ON f.f_vslid = tv.f_id
+        LEFT JOIN t_voyage ty ON f.f_voyid = ty.f_id
+        LEFT JOIN t_address tre ON tre.f_id = f.f_loadportid
+        LEFT JOIN t_address ts ON ts.f_id = f.f_destportid
+        <where>
+            <if test="fId != null ">and f.f_id = #{fId}</if>
+            <if test="fBillno != null  and fBillno != ''">and f.f_billno like concat('%', #{fBillno}, '%')</if>
+            <if test="fCtrlcorpid != null and fCtrlcorpid != ''">and f.f_ctrlcorpid = #{fCtrlcorpid}</if>
+            <if test="fCorpid != null ">and f.f_corpid = #{fCorpid}</if>
+            <if test="tMblno != null  and tMblno != ''">and f.t_mblno like concat('%', #{tMblno}, '%')</if>
+            <if test="fAmtdr != null ">and f.f_amtdr = #{fAmtdr}</if>
+            <if test="fAmtcr != null ">and f.f_amtcr = #{fAmtcr}</if>
+            <if test="fBilltype != null  and fBilltype != ''">and f.f_billtype = #{fBilltype}</if>
+            <if test="fBillstatus != null  and fBillstatus != ''">and f.f_billstatus = #{fBillstatus}</if>
+            <if test="fRemarks != null  and fRemarks != ''">and ware.f_remarks like concat('%', #{fRemarks}, '%') </if>
+            <if test="fAccbilldate != null ">and f.f_accbilldate = #{fAccbilldate}</if>
+            <if test="fDeptid != null ">and f.f_deptid = #{fDeptid}</if>
+            <if test='timeInterval != null and timeInterval[0] != null and timeInterval[0]!= ""'>
+                and f.f_accbilldate &gt;= #{timeInterval[0]}
+            </if>
+            <if test='timeInterval != null and timeInterval[1] != null and timeInterval[1]!= ""'>
+                and f.f_accbilldate &lt;= #{timeInterval[1]}
+            </if>
+            <if test='money != null and money[0] != null and money[0]!= ""'>
+                and f.f_amtdr &gt;= #{money[0]}
+            </if>
+            <if test='money != null and money[1] != null and money[1]!= ""'>
+                and f.f_amtdr &lt;= #{money[1]}
+            </if>
+            <if test='amount != null and amount[0] != null and amount[0]!= ""'>
+                and f.f_amtdr &gt;= #{amount[0]}
+            </if>
+            <if test='amount != null and amount[1] != null and amount[1]!= ""'>
+                and f.f_amtdr &lt;= #{amount[1]}
+            </if>
+            <if test='applyTime != null and applyTime[0] != null and applyTime[0]!= ""'>
+                and f.create_time &gt;= #{applyTime[0]}
+            </if>
+            <if test='applyTime != null and applyTime[1] != null and applyTime[1]!= ""'>
+                and f.create_time &lt;= #{applyTime[1]}
+            </if>
+            <if test="chargingMethod != null ">and f.charging_method = #{chargingMethod}</if>
+            <if test="invoiceNo != null ">and f.invoice_no like concat('%', #{invoiceNo}, '%') </if>
+            <if test="bank != null ">and f.bank like concat('%', #{bank}, '%')</if>
+            <if test="waterBillNo != null ">and f.water_bill_no like concat('%', #{waterBillNo}, '%') </if>
+            <if test="fSystemType != null and fSystemType != ''">and f.f_system_type = #{fSystemType}</if>
+            <if test="createBy != null and createBy != ''">and f.create_by = #{createBy}</if>
+            <if test="fVslid != null "> and f.f_vslid = #{fVslid}</if>
+            <if test="fVoyid != null "> and f.f_voyid = #{fVoyid}</if>
+            <if test="fLoadportid != null "> and f.f_loadportid = #{fLoadportid}</if>
+            <if test="fDestportid != null "> and f.f_destportid = #{fDestportid}</if>
+            <if test="fDc != null  and fDc != ''"> and f.f_dc = #{fDc}</if>
+            <if test="fBankNumber != null  and fBankNumber != ''"> and f.f_bank_number like concat('%', #{fBankNumber}, '%')</if>
+            <if test="fReconciliation != null "> and f.f_reconciliation = #{fReconciliation}</if>
+        </where>
+        ORDER BY f.f_id desc
+    </select>
 
     <select id="selectTFeeById" parameterType="Long" resultMap="TFeeResult">
         <include refid="selectTFeeVo"/>
@@ -384,6 +510,13 @@
             <if test="fApplyMoney != null">f_apply_money,</if>
             <if test="fAccountId != null">f_account_id,</if>
             <if test="fMake != null">f_make,</if>
+            <if test="fVslid != null">f_vslid,</if>
+            <if test="fVoyid != null">f_voyid,</if>
+            <if test="fLoadportid != null">f_loadportid,</if>
+            <if test="fDestportid != null">f_destportid,</if>
+            <if test="fDc != null">f_dc,</if>
+            <if test="fBankNumber != null">f_bank_number,</if>
+            <if test="fReconciliation != null">f_reconciliation,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="fId != null">#{fId},</if>
@@ -420,6 +553,13 @@
             <if test="fApplyMoney != null">#{fApplyMoney},</if>
             <if test="fAccountId != null">#{fAccountId},</if>
             <if test="fMake != null">#{fMake},</if>
+            <if test="fVslid != null">#{fVslid},</if>
+            <if test="fVoyid != null">#{fVoyid},</if>
+            <if test="fLoadportid != null">#{fLoadportid},</if>
+            <if test="fDestportid != null">#{fDestportid},</if>
+            <if test="fDc != null">#{fDc},</if>
+            <if test="fBankNumber != null">#{fBankNumber},</if>
+            <if test="fReconciliation != null">#{fReconciliation},</if>
         </trim>
     </insert>
 
@@ -459,6 +599,13 @@
             <if test="fApplyMoney != null">f_apply_money = #{fApplyMoney},</if>
             <if test="fAccountId != null">f_account_id = #{fAccountId},</if>
             <if test="fMake != null">f_make = #{fMake},</if>
+            <if test="fVslid != null">f_vslid = #{fVslid},</if>
+            <if test="fVoyid != null">f_voyid = #{fVoyid},</if>
+            <if test="fLoadportid != null">f_loadportid = #{fLoadportid},</if>
+            <if test="fDestportid != null">f_destportid = #{fDestportid},</if>
+            <if test="fDc != null">f_dc = #{fDc},</if>
+            <if test="fBankNumber != null">f_bank_number = #{fBankNumber},</if>
+            <if test="fReconciliation != null">f_reconciliation = #{fReconciliation},</if>
         </trim>
         where f_id = #{fId}
     </update>
@@ -1814,5 +1961,228 @@
         <include refid="selectTFeeVo"/>
         where f_no = #{code} and del_flag = 0
     </select>
+    <!--凯和检索费用信息-->
+    <select id="FinancialFeesList" resultType="java.util.Map">
+    SELECT
+    w.f_id AS fSrcid,
+    t.f_id AS fSrcpid,
+    w.f_corpid AS fCorpid,
+    w.fName AS fName,
+    w.f_mblno AS fMblno,
+    w.f_bsdate AS fBsdate,
+    t.f_billtype AS fBilltype,
+    t.f_review_date AS fReviewDate,
+    w.f_feeid AS fFeeid,
+    w.src_bill_no AS srcBillNo,
+    w.f_marks AS fMarks,
+    f.f_name AS fFeeName,
+    w.f_dc AS fSrcdc,
+    w.f_qty AS fQty,
+    w.f_unitprice AS fUnitPrice,
+    w.f_amount AS fAmount,
+    w.f_feeUnitid AS fFeeUnitId,
+    pr.dict_label AS fFeeUnitName,
+    t.f_vslid AS fVslid,
+    t.f_voyid AS fVoyid,
+    tv.f_name AS fvslName,
+    ty.f_no AS fvoyName,
+    tre.f_name AS fLoadPortName,
+    ts.f_name As fDestPortName,
+    w.f_billstatus AS fBillStatus,
+    t.f_loadportid AS fLoadportid,
+    t.f_destportid AS fDestportid,
+    tn.f_name AS cntrName,
+    ti.f_cntrcount AS fCntrCount,
+    <if test='map.tWareHouseFees.fBilltype != null and map.tWareHouseFees.fBilltype != "" and map.tWareHouseFees.fBilltype == "KHDZ" '>
+        ifnull( w.f_amount, 0 ) - ifnull( w.f_accamount, 0 ) AS fAmtdr,
+        ifnull( w.f_amount, 0 ) - ifnull( w.f_accamount, 0 ) AS fAmt,
+    </if>
+    <if test='map.tWareHouseFees.fBilltype != null and map.tWareHouseFees.fBilltype != "" and map.tWareHouseFees.fBilltype == "KHSF" '>
+        ifnull( w.f_amount, 0 ) - ifnull( w.f_stlamount, 0 ) AS fAmtdr,
+        ifnull( w.f_amount, 0 ) - ifnull( w.f_stlamount, 0 ) AS fAmt,
+    </if>
+    <if test='map.tWareHouseFees.fBilltype != null and map.tWareHouseFees.fBilltype != "" and map.tWareHouseFees.fBilltype == "KHFF" '>
+        ifnull( w.f_amount, 0 ) - ifnull( w.f_stlamount, 0 ) AS fAmtdr,
+        ifnull( w.f_amount, 0 ) - ifnull( w.f_stlamount, 0 ) AS fAmt,
+    </if>
+    CASE
+    WHEN w.f_dc = 'D' THEN '收'
+    WHEN w.f_dc = 'C' THEN '付'
+    END AS fSrcdcName,
+    CASE
+    WHEN w.f_billstatus = '1' THEN '新建'
+    WHEN w.f_billstatus = '2' THEN '暂存'
+    WHEN w.f_billstatus = '3' THEN '驳回'
+    WHEN w.f_billstatus = '4' THEN '提交'
+    WHEN w.f_billstatus = '5' THEN '审批中'
+    WHEN w.f_billstatus = '6' THEN '通过'
+    END AS fBillStatusName
+    FROM
+    t_warehousebills t
+    LEFT JOIN (
+    SELECT
+    f.f_id AS f_id,
+    f.f_pid AS f_pid,
+    f.f_lineno AS f_lineno,
+    f.f_corpid,
+    f.f_feeid,
+    f.f_feeUnitid,
+    f.f_qty,
+    f.f_unitprice,
+    f.f_amount,
+    f.f_currency,
+    f.f_exrate,
+    f.f_taxrate,
+    f.f_dc,
+    f.f_billstatus,
+    f.f_statement_no,
+    f.f_accamount,
+    f.f_accamount_date,
+    f.f_stlamount_no,
+    f.f_stlamount,
+    f.f_stlamount_date,
+    f.f_invnos,
+    f.f_invamount,
+    f.f_askamount,
+    f.f_chargedate,
+    f.f_status,
+    f.remark,
+    f.f_mblno,
+    f.f_product_name,
+    f.src_bill_no,
+    f.f_billing_days,
+    f.f_inventory_days,
+    f.f_marks,
+    f.f_billing_deadline,
+    f.f_originalbilldate,
+    f.f_billtype,
+    f.f_business_type,
+    f.f_bsdate,
+    c.f_id AS fId,
+    c.f_name AS fName
+    FROM
+    t_warehousebillsfees AS f
+    LEFT JOIN t_corps AS c ON f.f_corpid = c.f_id
+    ) w ON w.f_pid = t.f_id
+    LEFT JOIN t_fees f ON w.f_feeid = f.f_id
+    LEFT JOIN sys_dict_data pr ON pr.dict_value = w.f_feeUnitid
+    AND pr.dict_type = 'data_unitfees'
+    LEFT JOIN t_vessel tv ON t.f_vslid = tv.f_id
+    LEFT JOIN t_voyage ty ON t.f_voyid = ty.f_id
+    LEFT JOIN t_address tre ON tre.f_id = t.f_loadportid
+    LEFT JOIN t_address ts ON ts.f_id = t.f_destportid
+    LEFT JOIN t_warehousebills_cntr ti ON ti.f_pid = t.f_id
+    LEFT JOIN t_cntr tn ON tn.f_id = ti.f_cntrid
+        <where>
+            t.f_typeid = 1
+            and w.f_billstatus = 6
+            <if test="map.tWareHouseFees.fCorpid != null  and map.tWareHouseFees.fCorpid != ''">and w.f_corpid =
+                #{map.tWareHouseFees.fCorpid}
+            </if>
+            <if test='map.tWareHouseFees.fReconciliation != null and map.tWareHouseFees.fReconciliation != "" and map.tWareHouseFees.fReconciliation == "1" '>
+                and w.f_accamount_date IS NOT NULL
+            </if>
+            <if test='map.tWareHouseFees.fReconciliation != null and map.tWareHouseFees.fReconciliation != "" and map.tWareHouseFees.fReconciliation == "0" '>
+                and w.f_accamount_date IS NULL
+            </if>
+            <if test="map.tWareHouseFees.fMblno != null  and map.tWareHouseFees.fMblno != ''">and w.f_mblno like
+                concat('%', #{map.tWareHouseFees.fMblno}, '%')
+            </if>
+            <if test='map.tWareHouseFees.fDc != null and map.tWareHouseFees.fDc != ""'>
+                and w.f_dc = #{map.tWareHouseFees.fDc}
+            </if>
+            <if test="map.tWareHouseFees.fBillstatus != null">and w.f_billstatus = #{map.tWareHouseFees.fBillstatus}
+            </if>
+            <if test="map.tWareHouseFees.fVslid != null">and t.f_vslid = #{map.tWareHouseFees.fVslid}</if>
+            <if test="map.tWareHouseFees.fVoyid != null">and t.f_voyid = #{map.tWareHouseFees.fVoyid}</if>
+            <if test="map.tWareHouseFees.fLoadportid != null ">and t.f_loadportid = #{map.tWareHouseFees.fLoadportid}
+            </if>
+            <if test="map.tWareHouseFees.fDestportid != null ">and t.f_destportid = #{map.tWareHouseFees.fDestportid}
+            </if>
+            <if test="map.tWareHouseFees.fFromDate != null ">and t.f_bsdate &gt;= #{map.tWareHouseFees.fFromDate}</if>
+            <if test="map.tWareHouseFees.fToDate != null ">and t.f_bsdate &lt;= #{map.tWareHouseFees.fToDate}</if>
+            <if test='map.tWareHouseFees.fBilltype != null and map.tWareHouseFees.fBilltype != "" and map.tWareHouseFees.fBilltype == "KHDZ" '>
+                and ifnull(w.f_amount, 0) - ifnull(w.f_accamount, 0) > 0
+            </if>
+            <if test='map.tWareHouseFees.fBilltype != null and map.tWareHouseFees.fBilltype != "" and map.tWareHouseFees.fBilltype == "KHSF" '>
+                and ifnull(w.f_amount, 0) - ifnull(w.f_stlamount, 0) > 0
+            </if>
+            <if test='map.tWareHouseFees.fBilltype != null and map.tWareHouseFees.fBilltype != "" and map.tWareHouseFees.fBilltype == "KHFF" '>
+                and ifnull(w.f_amount, 0) - ifnull(w.f_stlamount, 0) > 0
+            </if>
+
+            GROUP BY w.f_id
+        </where>
+    </select>
+    <!--凯和查询财务主表数据-->
+    <select id="selectFinancialTFeeId" parameterType="TFee" resultType="com.ruoyi.finance.shipping.FinancialTFee">
+        SELECT
+        f.f_id AS fId,
+        f.f_billno AS srcBillNo,
+        f.f_ctrlcorpid AS fCtrlcorpid,
+        pro.dict_label AS chargingMethod,
+        f.invoice_no AS invoiceNo,
+        f.bank AS  fBank,
+        f.water_bill_no AS waterBillNo,
+        f.f_corpid AS fCorpid,
+        c.f_name AS fCorpidName,
+        f.f_accbilldate AS fAccbilldate,
+        f.t_mblno AS tMblno,
+        f.f_amtdr AS fAmtdr,
+        f.f_amtcr AS fAmtcr,
+        f.f_billtype AS fBilltype,
+        f.f_system_type AS fSystemType,
+        f.f_billstatus AS fBillstatus,
+        CASE
+        WHEN f.f_billstatus = '1' THEN '新建'
+        WHEN f.f_billstatus = '2' THEN '暂存'
+        WHEN f.f_billstatus = '3' THEN '审批驳回'
+        WHEN f.f_billstatus = '4' THEN '提交审核'
+        WHEN f.f_billstatus = '5' THEN '审核中'
+        WHEN f.f_billstatus = '6' THEN '审核完成'
+        END
+        AS fBillstatusName,
+        f.f_remarks AS fRemarks,
+        f.create_by AS createBy,
+        tp.f_name AS createName,
+        f.create_time AS createTime,
+        f.update_by AS updateBy,
+        f.update_time AS updateTime,
+        tv.f_name AS vessel,
+        ty.f_no AS voyage,
+        tre.f_name AS loadportName,
+        ts.f_name AS destportName,
+        f.f_bank_number AS fBankNumber,
+        f.f_loadportid AS fLoadportid,
+        f.f_destportid AS fDestportid,
+        f.f_vslid AS fVslid,
+        f.f_voyid AS  fVoyid,
+        f.f_from_date AS fFromDate,
+        f.f_to_date AS fToDate,
+        f.f_dc As fDc,
+        f.f_reconciliation AS fReconciliation,
+        f.bank AS bank,
+        CASE
+
+        WHEN f.f_dc = 'D' THEN
+        '收'
+        WHEN f.f_dc = 'C' THEN
+        '付'
+        END AS fSrcdcName
+        FROM
+        t_fee AS f
+        LEFT JOIN t_corps AS c ON f.f_corpid = c.f_id
+        left join sys_user u on f.create_by = u.user_name
+        left join sys_dept d on f.f_deptid = d.dept_id
+        LEFT JOIN t_customer_contact tc ON tc.f_tel = u.phonenumber
+        LEFT JOIN t_corps tp ON tp.f_id = tc.f_pid
+        LEFT JOIN sys_dict_data pro ON pro.dict_value = f.charging_method and pro.dict_type = 'data_settlement_type'
+        LEFT JOIN t_vessel tv ON f.f_vslid = tv.f_id
+        LEFT JOIN t_voyage ty ON f.f_voyid = ty.f_id
+        LEFT JOIN t_address tre ON tre.f_id = f.f_loadportid
+        LEFT JOIN t_address ts ON ts.f_id = f.f_destportid
+        where
+        f.f_id = #{fId}
+    </select>
 
 </mapper>