sen
2025-12-17 594f8a604564a3ebefe99cb32e63e647aa9b14bd
Merge remote-tracking branch 'origin/cwxt_master' into cwxt_master
32个文件已添加
1个文件已修改
4585 ■■■■■ 已修改文件
service/src/main/java/com/ruoyi/cwgl/controller/PayableBillManagementController.java 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/controller/PayableBillSettlementDetailController.java 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/controller/ReceivableBillManagementController.java 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/controller/ReceivableBillSettlementDetailController.java 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/domain/PayableBillManagement.java 222 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/domain/PayableBillSettlementDetail.java 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/domain/PayableFeeDetail.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/domain/ReceivableBillManagement.java 222 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/domain/ReceivableBillSettlementDetail.java 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/mapper/PayableBillManagementMapper.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/mapper/PayableBillSettlementDetailMapper.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/mapper/ReceivableBillManagementMapper.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/mapper/ReceivableBillSettlementDetailMapper.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/service/IPayableBillManagementService.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/service/IPayableBillSettlementDetailService.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/service/IReceivableBillManagementService.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/service/IReceivableBillSettlementDetailService.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/service/impl/PayableBillManagementServiceImpl.java 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/service/impl/PayableBillSettlementDetailServiceImpl.java 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/service/impl/ReceivableBillManagementServiceImpl.java 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/service/impl/ReceivableBillSettlementDetailServiceImpl.java 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/resources/mapper/cwgl/PayableBillManagementMapper.xml 254 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/resources/mapper/cwgl/PayableBillSettlementDetailMapper.xml 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/resources/mapper/cwgl/ReceivableBillManagementMapper.xml 254 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/resources/mapper/cwgl/ReceivableBillSettlementDetailMapper.xml 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ui/admin-ui3/src/api/cwgl/payableBillManagement.ts 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ui/admin-ui3/src/api/cwgl/payableBillSettlementDetail.ts 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ui/admin-ui3/src/api/cwgl/receivableBillManagement.ts 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ui/admin-ui3/src/api/cwgl/receivableBillSettlementDetail.ts 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ui/admin-ui3/src/views/cwgl/payableBillManagement/index.vue 245 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ui/admin-ui3/src/views/cwgl/payableBillSettlementDetail/index.vue 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ui/admin-ui3/src/views/cwgl/receivableBillManagement/index.vue 245 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ui/admin-ui3/src/views/cwgl/receivableBillSettlementDetail/index.vue 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/controller/PayableBillManagementController.java
New file
@@ -0,0 +1,108 @@
package com.ruoyi.cwgl.controller;
import java.util.List;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.utils.file.DownloadExportUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.cwgl.domain.PayableBillManagement;
import com.ruoyi.cwgl.service.IPayableBillManagementService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
 * 应付账单管理Controller
 *
 * @author ruoyi
 * @date 2025-12-17
 */
@RestController
@RequestMapping("/cwgl/payableBillManagement")
public class PayableBillManagementController extends BaseController
{
    @Autowired
    private IPayableBillManagementService payableBillManagementService;
    /**
     * 查询应付账单管理列表
     */
    @PreAuthorize("@ss.hasPermi('cwgl:payableBillManagement:list')")
    @GetMapping("/list")
    public TableDataInfo list(PayableBillManagement payableBillManagement)
    {
        startPage();
        List<PayableBillManagement> list = payableBillManagementService.selectPayableBillManagementList(payableBillManagement);
        return getDataTable(list);
    }
    /**
     * 导出应付账单管理列表
     * @param payableBillManagement 查询条件对象
     */
    @PreAuthorize("@ss.hasPermi('cwgl:payableBillManagement:export')")
    @Log(title = "应付账单管理", businessType = BusinessType.EXPORT)
    @GetMapping("/export")
    public AjaxResult export(PayableBillManagement payableBillManagement,String exportKey)
    {
        payableBillManagementService.export(payableBillManagement,exportKey);
        return AjaxResult.success("导出请求成功,请稍后点击下载...!");
    }
    /**
     * 获取应付账单管理详细信息
     */
    @PreAuthorize("@ss.hasPermi('cwgl:payableBillManagement:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Integer id)
    {
        return AjaxResult.success(payableBillManagementService.selectPayableBillManagementById(id));
    }
    /**
     * 新增应付账单管理
     */
    @PreAuthorize("@ss.hasPermi('cwgl:payableBillManagement:add')")
    @Log(title = "应付账单管理", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody PayableBillManagement payableBillManagement)
    {
        return toAjax(payableBillManagementService.insertPayableBillManagement(payableBillManagement));
    }
    /**
     * 修改应付账单管理
     */
    @PreAuthorize("@ss.hasPermi('cwgl:payableBillManagement:edit')")
    @Log(title = "应付账单管理", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody PayableBillManagement payableBillManagement)
    {
        return toAjax(payableBillManagementService.updatePayableBillManagement(payableBillManagement));
    }
    /**
     * 删除应付账单管理
     */
    @PreAuthorize("@ss.hasPermi('cwgl:payableBillManagement:remove')")
    @Log(title = "应付账单管理", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Integer[] ids)
    {
        return toAjax(payableBillManagementService.deletePayableBillManagementByIds(ids));
    }
}
service/src/main/java/com/ruoyi/cwgl/controller/PayableBillSettlementDetailController.java
New file
@@ -0,0 +1,108 @@
package com.ruoyi.cwgl.controller;
import java.util.List;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.utils.file.DownloadExportUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.cwgl.domain.PayableBillSettlementDetail;
import com.ruoyi.cwgl.service.IPayableBillSettlementDetailService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
 * 应付账单结算明细Controller
 *
 * @author ruoyi
 * @date 2025-12-17
 */
@RestController
@RequestMapping("/cwgl/payableBillSettlementDetail")
public class PayableBillSettlementDetailController extends BaseController
{
    @Autowired
    private IPayableBillSettlementDetailService payableBillSettlementDetailService;
    /**
     * 查询应付账单结算明细列表
     */
    @PreAuthorize("@ss.hasPermi('cwgl:payableBillSettlementDetail:list')")
    @GetMapping("/list")
    public TableDataInfo list(PayableBillSettlementDetail payableBillSettlementDetail)
    {
        startPage();
        List<PayableBillSettlementDetail> list = payableBillSettlementDetailService.selectPayableBillSettlementDetailList(payableBillSettlementDetail);
        return getDataTable(list);
    }
    /**
     * 导出应付账单结算明细列表
     * @param payableBillSettlementDetail 查询条件对象
     */
    @PreAuthorize("@ss.hasPermi('cwgl:payableBillSettlementDetail:export')")
    @Log(title = "应付账单结算明细", businessType = BusinessType.EXPORT)
    @GetMapping("/export")
    public AjaxResult export(PayableBillSettlementDetail payableBillSettlementDetail,String exportKey)
    {
        payableBillSettlementDetailService.export(payableBillSettlementDetail,exportKey);
        return AjaxResult.success("导出请求成功,请稍后点击下载...!");
    }
    /**
     * 获取应付账单结算明细详细信息
     */
    @PreAuthorize("@ss.hasPermi('cwgl:payableBillSettlementDetail:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Integer id)
    {
        return AjaxResult.success(payableBillSettlementDetailService.selectPayableBillSettlementDetailById(id));
    }
    /**
     * 新增应付账单结算明细
     */
    @PreAuthorize("@ss.hasPermi('cwgl:payableBillSettlementDetail:add')")
    @Log(title = "应付账单结算明细", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody PayableBillSettlementDetail payableBillSettlementDetail)
    {
        return toAjax(payableBillSettlementDetailService.insertPayableBillSettlementDetail(payableBillSettlementDetail));
    }
    /**
     * 修改应付账单结算明细
     */
    @PreAuthorize("@ss.hasPermi('cwgl:payableBillSettlementDetail:edit')")
    @Log(title = "应付账单结算明细", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody PayableBillSettlementDetail payableBillSettlementDetail)
    {
        return toAjax(payableBillSettlementDetailService.updatePayableBillSettlementDetail(payableBillSettlementDetail));
    }
    /**
     * 删除应付账单结算明细
     */
    @PreAuthorize("@ss.hasPermi('cwgl:payableBillSettlementDetail:remove')")
    @Log(title = "应付账单结算明细", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Integer[] ids)
    {
        return toAjax(payableBillSettlementDetailService.deletePayableBillSettlementDetailByIds(ids));
    }
}
service/src/main/java/com/ruoyi/cwgl/controller/ReceivableBillManagementController.java
New file
@@ -0,0 +1,108 @@
package com.ruoyi.cwgl.controller;
import java.util.List;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.utils.file.DownloadExportUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.cwgl.domain.ReceivableBillManagement;
import com.ruoyi.cwgl.service.IReceivableBillManagementService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
 * 应收账单管理Controller
 *
 * @author ruoyi
 * @date 2025-12-17
 */
@RestController
@RequestMapping("/cwgl/receivableBillManagement")
public class ReceivableBillManagementController extends BaseController
{
    @Autowired
    private IReceivableBillManagementService receivableBillManagementService;
    /**
     * 查询应收账单管理列表
     */
    @PreAuthorize("@ss.hasPermi('cwgl:receivableBillManagement:list')")
    @GetMapping("/list")
    public TableDataInfo list(ReceivableBillManagement receivableBillManagement)
    {
        startPage();
        List<ReceivableBillManagement> list = receivableBillManagementService.selectReceivableBillManagementList(receivableBillManagement);
        return getDataTable(list);
    }
    /**
     * 导出应收账单管理列表
     * @param receivableBillManagement 查询条件对象
     */
    @PreAuthorize("@ss.hasPermi('cwgl:receivableBillManagement:export')")
    @Log(title = "应收账单管理", businessType = BusinessType.EXPORT)
    @GetMapping("/export")
    public AjaxResult export(ReceivableBillManagement receivableBillManagement,String exportKey)
    {
        receivableBillManagementService.export(receivableBillManagement,exportKey);
        return AjaxResult.success("导出请求成功,请稍后点击下载...!");
    }
    /**
     * 获取应收账单管理详细信息
     */
    @PreAuthorize("@ss.hasPermi('cwgl:receivableBillManagement:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Integer id)
    {
        return AjaxResult.success(receivableBillManagementService.selectReceivableBillManagementById(id));
    }
    /**
     * 新增应收账单管理
     */
    @PreAuthorize("@ss.hasPermi('cwgl:receivableBillManagement:add')")
    @Log(title = "应收账单管理", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody ReceivableBillManagement receivableBillManagement)
    {
        return toAjax(receivableBillManagementService.insertReceivableBillManagement(receivableBillManagement));
    }
    /**
     * 修改应收账单管理
     */
    @PreAuthorize("@ss.hasPermi('cwgl:receivableBillManagement:edit')")
    @Log(title = "应收账单管理", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody ReceivableBillManagement receivableBillManagement)
    {
        return toAjax(receivableBillManagementService.updateReceivableBillManagement(receivableBillManagement));
    }
    /**
     * 删除应收账单管理
     */
    @PreAuthorize("@ss.hasPermi('cwgl:receivableBillManagement:remove')")
    @Log(title = "应收账单管理", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Integer[] ids)
    {
        return toAjax(receivableBillManagementService.deleteReceivableBillManagementByIds(ids));
    }
}
service/src/main/java/com/ruoyi/cwgl/controller/ReceivableBillSettlementDetailController.java
New file
@@ -0,0 +1,108 @@
package com.ruoyi.cwgl.controller;
import java.util.List;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.utils.file.DownloadExportUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.cwgl.domain.ReceivableBillSettlementDetail;
import com.ruoyi.cwgl.service.IReceivableBillSettlementDetailService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
 * 应收账单结算明细Controller
 *
 * @author ruoyi
 * @date 2025-12-17
 */
@RestController
@RequestMapping("/cwgl/receivableBillSettlementDetail")
public class ReceivableBillSettlementDetailController extends BaseController
{
    @Autowired
    private IReceivableBillSettlementDetailService receivableBillSettlementDetailService;
    /**
     * 查询应收账单结算明细列表
     */
    @PreAuthorize("@ss.hasPermi('cwgl:receivableBillSettlementDetail:list')")
    @GetMapping("/list")
    public TableDataInfo list(ReceivableBillSettlementDetail receivableBillSettlementDetail)
    {
        startPage();
        List<ReceivableBillSettlementDetail> list = receivableBillSettlementDetailService.selectReceivableBillSettlementDetailList(receivableBillSettlementDetail);
        return getDataTable(list);
    }
    /**
     * 导出应收账单结算明细列表
     * @param receivableBillSettlementDetail 查询条件对象
     */
    @PreAuthorize("@ss.hasPermi('cwgl:receivableBillSettlementDetail:export')")
    @Log(title = "应收账单结算明细", businessType = BusinessType.EXPORT)
    @GetMapping("/export")
    public AjaxResult export(ReceivableBillSettlementDetail receivableBillSettlementDetail,String exportKey)
    {
        receivableBillSettlementDetailService.export(receivableBillSettlementDetail,exportKey);
        return AjaxResult.success("导出请求成功,请稍后点击下载...!");
    }
    /**
     * 获取应收账单结算明细详细信息
     */
    @PreAuthorize("@ss.hasPermi('cwgl:receivableBillSettlementDetail:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Integer id)
    {
        return AjaxResult.success(receivableBillSettlementDetailService.selectReceivableBillSettlementDetailById(id));
    }
    /**
     * 新增应收账单结算明细
     */
    @PreAuthorize("@ss.hasPermi('cwgl:receivableBillSettlementDetail:add')")
    @Log(title = "应收账单结算明细", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody ReceivableBillSettlementDetail receivableBillSettlementDetail)
    {
        return toAjax(receivableBillSettlementDetailService.insertReceivableBillSettlementDetail(receivableBillSettlementDetail));
    }
    /**
     * 修改应收账单结算明细
     */
    @PreAuthorize("@ss.hasPermi('cwgl:receivableBillSettlementDetail:edit')")
    @Log(title = "应收账单结算明细", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody ReceivableBillSettlementDetail receivableBillSettlementDetail)
    {
        return toAjax(receivableBillSettlementDetailService.updateReceivableBillSettlementDetail(receivableBillSettlementDetail));
    }
    /**
     * 删除应收账单结算明细
     */
    @PreAuthorize("@ss.hasPermi('cwgl:receivableBillSettlementDetail:remove')")
    @Log(title = "应收账单结算明细", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Integer[] ids)
    {
        return toAjax(receivableBillSettlementDetailService.deleteReceivableBillSettlementDetailByIds(ids));
    }
}
service/src/main/java/com/ruoyi/cwgl/domain/PayableBillManagement.java
New file
@@ -0,0 +1,222 @@
package com.ruoyi.cwgl.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import java.util.Date;
import lombok.Data;
/**
 * 应付账单管理对象 payable_bill_management
 *
 * @author ruoyi
 * @date 2025-12-17
 */
@Data
public class PayableBillManagement{
    /** ID */
        @TableField("id")
    private Integer id;
    /** 系统编号 */
    @Excel(name = "系统编号")
        @TableField("system_no")
    private String systemNo;
    /** 账单名称 */
    @Excel(name = "账单名称")
        @TableField("bill_name")
    private String billName;
    /** 供应商名称 */
    @Excel(name = "供应商名称")
        @TableField("supplier_name")
    private String supplierName;
    /** 是否内部结算 */
    @Excel(name = "是否内部结算")
        @TableField("is_internal_settlement")
    private String isInternalSettlement;
    /** 内部结算单位 */
    @Excel(name = "内部结算单位")
        @TableField("internal_settlement_unit")
    private String internalSettlementUnit;
    /** 单据数量 */
    @Excel(name = "单据数量")
        @TableField("document_count")
    private Integer documentCount;
    /** 应结算金额 */
    @Excel(name = "应结算金额")
        @TableField("total_amount")
    private BigDecimal totalAmount;
    /** 币制 */
    @Excel(name = "币制")
        @TableField("currency")
    private String currency;
    /** 减免金额 */
    @Excel(name = "减免金额")
        @TableField("discount_amount")
    private BigDecimal discountAmount;
    /** 已付金额 */
    @Excel(name = "已付金额")
        @TableField("paid_amount")
    private BigDecimal paidAmount;
    /** 待付金额 */
    @Excel(name = "待付金额")
        @TableField("pending_amount")
    private BigDecimal pendingAmount;
    /** 汇率(港币兑人民币) */
    @Excel(name = "汇率", readConverterExp = "港=币兑人民币")
        @TableField("exchange_rate")
    private BigDecimal exchangeRate;
    /** 人民币金额 */
    @Excel(name = "人民币金额")
        @TableField("cny_amount")
    private BigDecimal cnyAmount;
    /** 周期类型 */
    @Excel(name = "周期类型")
        @TableField("period_type")
    private String periodType;
    /** 业务期间开始日期 */
    @Excel(name = "业务期间开始日期", width = 30, dateFormat = "yyyy-MM-dd")
        @JsonFormat(pattern = "yyyy-MM-dd")
        @TableField("business_start_date")
    private Date businessStartDate;
    /** 业务期间结束日期 */
    @Excel(name = "业务期间结束日期", width = 30, dateFormat = "yyyy-MM-dd")
        @JsonFormat(pattern = "yyyy-MM-dd")
        @TableField("business_end_date")
    private Date businessEndDate;
    /** 账期开始日期 */
    @Excel(name = "账期开始日期", width = 30, dateFormat = "yyyy-MM-dd")
        @JsonFormat(pattern = "yyyy-MM-dd")
        @TableField("billing_start_date")
    private Date billingStartDate;
    /** 账期结束日期 */
    @Excel(name = "账期结束日期", width = 30, dateFormat = "yyyy-MM-dd")
        @JsonFormat(pattern = "yyyy-MM-dd")
        @TableField("billing_end_date")
    private Date billingEndDate;
    /** 账单生成日期 */
    @Excel(name = "账单生成日期", width = 30, dateFormat = "yyyy-MM-dd")
        @JsonFormat(pattern = "yyyy-MM-dd")
        @TableField("bill_generate_date")
    private Date billGenerateDate;
    /** 账单发送日期 */
    @Excel(name = "账单发送日期", width = 30, dateFormat = "yyyy-MM-dd")
        @JsonFormat(pattern = "yyyy-MM-dd")
        @TableField("bill_send_date")
    private Date billSendDate;
    /** 账单到期日期 */
    @Excel(name = "账单到期日期", width = 30, dateFormat = "yyyy-MM-dd")
        @JsonFormat(pattern = "yyyy-MM-dd")
        @TableField("bill_due_date")
    private Date billDueDate;
    /** 状态 */
    @Excel(name = "状态")
        @TableField("status")
    private String status;
    /** 备注 */
    @Excel(name = "备注")
        @TableField("remark")
    private String remark;
    /** 创建人 */
        @TableField("create_by")
    private String createBy;
    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @TableField("create_time")
    private Date createTime;
    /** 更新人 */
        @TableField("update_by")
    private String updateBy;
    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @TableField("update_time")
    private Date updateTime;
    /** 删除标记(0:正常;1:删除) */
    @Excel(name = "删除标记(0:正常;1:删除)")
        @TableField("deleted")
    private Integer deleted;
}
service/src/main/java/com/ruoyi/cwgl/domain/PayableBillSettlementDetail.java
New file
@@ -0,0 +1,125 @@
package com.ruoyi.cwgl.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import java.util.Date;
import lombok.Data;
/**
 * 应付账单结算明细对象 payable_bill_settlement_detail
 *
 * @author ruoyi
 * @date 2025-12-17
 */
@Data
public class PayableBillSettlementDetail{
    /** ID */
        @TableField("id")
    private Integer id;
    /** 应付账单ID */
    @Excel(name = "应付账单ID")
        @TableField("bill_id")
    private Integer billId;
    /** 结算方式 */
    @Excel(name = "结算方式")
        @TableField("settlement_method")
    private String settlementMethod;
    /** 付款账户开户行 */
    @Excel(name = "付款账户开户行")
        @TableField("payment_bank")
    private String paymentBank;
    /** 付款账户银行账号 */
    @Excel(name = "付款账户银行账号")
        @TableField("payment_bank_account")
    private String paymentBankAccount;
    /** 供应商收款银行账户 */
    @Excel(name = "供应商收款银行账户")
        @TableField("supplier_receiving_account")
    private String supplierReceivingAccount;
    /** 供应商收款账户开户行 */
    @Excel(name = "供应商收款账户开户行")
        @TableField("supplier_receiving_bank")
    private String supplierReceivingBank;
    /** 付款日期 */
    @Excel(name = "付款日期", width = 30, dateFormat = "yyyy-MM-dd")
        @JsonFormat(pattern = "yyyy-MM-dd")
        @TableField("payment_date")
    private Date paymentDate;
    /** 付款金额 */
    @Excel(name = "付款金额")
        @TableField("payment_amount")
    private BigDecimal paymentAmount;
    /** 付款后待付金额 */
    @Excel(name = "付款后待付金额")
        @TableField("remaining_pending_amount")
    private BigDecimal remainingPendingAmount;
    /** 备注 */
    @Excel(name = "备注")
        @TableField("remark")
    private String remark;
    /** 创建人 */
        @TableField("create_by")
    private String createBy;
    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @TableField("create_time")
    private Date createTime;
    /** 更新人 */
        @TableField("update_by")
    private String updateBy;
    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @TableField("update_time")
    private Date updateTime;
    /** 删除标记(0:正常;1:删除) */
    @Excel(name = "删除标记(0:正常;1:删除)")
        @TableField("deleted")
    private Integer deleted;
}
service/src/main/java/com/ruoyi/cwgl/domain/PayableFeeDetail.java
@@ -105,7 +105,7 @@
    /** 创建时间 */
        @JsonFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @TableField("create_time")
    private Date createTime;
@@ -116,7 +116,7 @@
    /** 更新时间 */
        @JsonFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @TableField("update_time")
    private Date updateTime;
service/src/main/java/com/ruoyi/cwgl/domain/ReceivableBillManagement.java
New file
@@ -0,0 +1,222 @@
package com.ruoyi.cwgl.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import java.util.Date;
import lombok.Data;
/**
 * 应收账单管理对象 receivable_bill_management
 *
 * @author ruoyi
 * @date 2025-12-17
 */
@Data
public class ReceivableBillManagement{
    /** ID */
        @TableField("id")
    private Integer id;
    /** 系统编号 */
    @Excel(name = "系统编号")
        @TableField("system_no")
    private String systemNo;
    /** 账单名称 */
    @Excel(name = "账单名称")
        @TableField("bill_name")
    private String billName;
    /** 客户名称 */
    @Excel(name = "客户名称")
        @TableField("customer_name")
    private String customerName;
    /** 是否内部结算 */
    @Excel(name = "是否内部结算")
        @TableField("is_internal_settlement")
    private String isInternalSettlement;
    /** 内部结算单位 */
    @Excel(name = "内部结算单位")
        @TableField("internal_settlement_unit")
    private String internalSettlementUnit;
    /** 单据数量 */
    @Excel(name = "单据数量")
        @TableField("document_count")
    private Integer documentCount;
    /** 应结算金额 */
    @Excel(name = "应结算金额")
        @TableField("total_amount")
    private BigDecimal totalAmount;
    /** 币制 */
    @Excel(name = "币制")
        @TableField("currency")
    private String currency;
    /** 减免金额 */
    @Excel(name = "减免金额")
        @TableField("discount_amount")
    private BigDecimal discountAmount;
    /** 已收金额 */
    @Excel(name = "已收金额")
        @TableField("received_amount")
    private BigDecimal receivedAmount;
    /** 待收金额 */
    @Excel(name = "待收金额")
        @TableField("pending_amount")
    private BigDecimal pendingAmount;
    /** 汇率(港币兑人民币) */
    @Excel(name = "汇率", readConverterExp = "港=币兑人民币")
        @TableField("exchange_rate")
    private BigDecimal exchangeRate;
    /** 人民币金额 */
    @Excel(name = "人民币金额")
        @TableField("cny_amount")
    private BigDecimal cnyAmount;
    /** 周期类型 */
    @Excel(name = "周期类型")
        @TableField("period_type")
    private String periodType;
    /** 业务期间开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "业务期间开始日期", width = 30, dateFormat = "yyyy-MM-dd")
        @TableField("business_start_date")
    private Date businessStartDate;
    /** 业务期间结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "业务期间结束日期", width = 30, dateFormat = "yyyy-MM-dd")
        @TableField("business_end_date")
    private Date businessEndDate;
    /** 账期开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "账期开始日期", width = 30, dateFormat = "yyyy-MM-dd")
        @TableField("billing_start_date")
    private Date billingStartDate;
    /** 账期结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "账期结束日期", width = 30, dateFormat = "yyyy-MM-dd")
        @TableField("billing_end_date")
    private Date billingEndDate;
    /** 账单生成日期 */
    @Excel(name = "账单生成日期", width = 30, dateFormat = "yyyy-MM-dd")
        @JsonFormat(pattern = "yyyy-MM-dd")
        @TableField("bill_generate_date")
    private Date billGenerateDate;
    /** 账单发送日期 */
    @Excel(name = "账单发送日期", width = 30, dateFormat = "yyyy-MM-dd")
        @JsonFormat(pattern = "yyyy-MM-dd")
        @TableField("bill_send_date")
    private Date billSendDate;
    /** 账单到期日期 */
    @Excel(name = "账单到期日期", width = 30, dateFormat = "yyyy-MM-dd")
        @JsonFormat(pattern = "yyyy-MM-dd")
        @TableField("bill_due_date")
    private Date billDueDate;
    /** 状态(draft:草稿;generated:已生成;sent:已发送;partial_paid:部分收款;paid:已收款;cancelled:已取消) */
    @Excel(name = "状态")
        @TableField("status")
    private String status;
    /** 备注 */
    @Excel(name = "备注")
        @TableField("remark")
    private String remark;
    /** 创建人 */
        @TableField("create_by")
    private String createBy;
    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @TableField("create_time")
    private Date createTime;
    /** 更新人 */
        @TableField("update_by")
    private String updateBy;
    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @TableField("update_time")
    private Date updateTime;
    /** 删除标记(0:正常;1:删除) */
    @Excel(name = "删除标记(0:正常;1:删除)")
        @TableField("deleted")
    private Integer deleted;
}
service/src/main/java/com/ruoyi/cwgl/domain/ReceivableBillSettlementDetail.java
New file
@@ -0,0 +1,124 @@
package com.ruoyi.cwgl.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import java.util.Date;
import lombok.Data;
/**
 * 应收账单结算明细对象 receivable_bill_settlement_detail
 *
 * @author ruoyi
 * @date 2025-12-17
 */
@Data
public class ReceivableBillSettlementDetail{
    /** ID */
        @TableField("id")
    private Integer id;
    /** 应收账单ID */
    @Excel(name = "应收账单ID")
        @TableField("bill_id")
    private Integer billId;
    /** 结算方式 */
    @Excel(name = "结算方式")
        @TableField("settlement_method")
    private String settlementMethod;
    /** 客户开户行 */
    @Excel(name = "客户开户行")
        @TableField("customer_bank")
    private String customerBank;
    /** 客户银行账号 */
    @Excel(name = "客户银行账号")
        @TableField("customer_bank_account")
    private String customerBankAccount;
    /** 收款银行账户 */
    @Excel(name = "收款银行账户")
        @TableField("receiving_bank_account")
    private String receivingBankAccount;
    /** 收款账户开户行 */
    @Excel(name = "收款账户开户行")
        @TableField("receiving_bank")
    private String receivingBank;
    /** 收款日期 */
    @Excel(name = "收款日期", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField("receipt_date")
    private Date receiptDate;
    /** 收款金额 */
    @Excel(name = "收款金额")
        @TableField("receipt_amount")
    private BigDecimal receiptAmount;
    /** 收款后待收金额 */
    @Excel(name = "收款后待收金额")
        @TableField("remaining_pending_amount")
    private BigDecimal remainingPendingAmount;
    /** 备注 */
    @Excel(name = "备注")
        @TableField("remark")
    private String remark;
    /** 创建人 */
        @TableField("create_by")
    private String createBy;
    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @TableField("create_time")
    private Date createTime;
    /** 更新人 */
        @TableField("update_by")
    private String updateBy;
    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @TableField("update_time")
    private Date updateTime;
    /** 删除标记(0:正常;1:删除) */
    @Excel(name = "删除标记(0:正常;1:删除)")
        @TableField("deleted")
    private Integer deleted;
}
service/src/main/java/com/ruoyi/cwgl/mapper/PayableBillManagementMapper.java
New file
@@ -0,0 +1,87 @@
package com.ruoyi.cwgl.mapper;
import java.util.List;
import com.ruoyi.cwgl.domain.PayableBillManagement;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * 应付账单管理Mapper接口
 *
 * @author ruoyi
 * @date 2025-12-17
 */
public interface PayableBillManagementMapper  extends BaseMapper<PayableBillManagement>
{
    /**
     * 查询应付账单管理
     *
     * @param id 应付账单管理ID
     * @return 应付账单管理
     */
    public PayableBillManagement selectPayableBillManagementById(Integer id);
    /**
     * 查询应付账单管理 记录数
     *
     * @param payableBillManagement 应付账单管理
     * @return 应付账单管理集合
     */
    public int selectPayableBillManagementCount(PayableBillManagement payableBillManagement);
    /**
     * 查询应付账单管理列表
     *
     * @param payableBillManagement 应付账单管理
     * @return 应付账单管理集合
     */
    public List<PayableBillManagement> selectPayableBillManagementList(PayableBillManagement payableBillManagement);
    /**
     * 新增应付账单管理
     *
     * @param payableBillManagement 应付账单管理
     * @return 结果
     */
    public int insertPayableBillManagement(PayableBillManagement payableBillManagement);
    /**
     * 新增应付账单管理[批量]
     *
     * @param payableBillManagements 应付账单管理
     * @return 结果
     */
    public int insertPayableBillManagementBatch(List<PayableBillManagement> payableBillManagements);
    /**
     * 修改应付账单管理
     *
     * @param payableBillManagement 应付账单管理
     * @return 结果
     */
    public int updatePayableBillManagement(PayableBillManagement payableBillManagement);
    /**
     * 修改应付账单管理[批量]
     *
     * @param payableBillManagements 应付账单管理
     * @return 结果
     */
    public int updatePayableBillManagementBatch(List<PayableBillManagement> payableBillManagements);
    /**
     * 删除应付账单管理
     *
     * @param id 应付账单管理ID
     * @return 结果
     */
    public int deletePayableBillManagementById(Integer id);
    /**
     * 批量删除应付账单管理
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deletePayableBillManagementByIds(Integer[] ids);
}
service/src/main/java/com/ruoyi/cwgl/mapper/PayableBillSettlementDetailMapper.java
New file
@@ -0,0 +1,87 @@
package com.ruoyi.cwgl.mapper;
import java.util.List;
import com.ruoyi.cwgl.domain.PayableBillSettlementDetail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * 应付账单结算明细Mapper接口
 *
 * @author ruoyi
 * @date 2025-12-17
 */
public interface PayableBillSettlementDetailMapper  extends BaseMapper<PayableBillSettlementDetail>
{
    /**
     * 查询应付账单结算明细
     *
     * @param id 应付账单结算明细ID
     * @return 应付账单结算明细
     */
    public PayableBillSettlementDetail selectPayableBillSettlementDetailById(Integer id);
    /**
     * 查询应付账单结算明细 记录数
     *
     * @param payableBillSettlementDetail 应付账单结算明细
     * @return 应付账单结算明细集合
     */
    public int selectPayableBillSettlementDetailCount(PayableBillSettlementDetail payableBillSettlementDetail);
    /**
     * 查询应付账单结算明细列表
     *
     * @param payableBillSettlementDetail 应付账单结算明细
     * @return 应付账单结算明细集合
     */
    public List<PayableBillSettlementDetail> selectPayableBillSettlementDetailList(PayableBillSettlementDetail payableBillSettlementDetail);
    /**
     * 新增应付账单结算明细
     *
     * @param payableBillSettlementDetail 应付账单结算明细
     * @return 结果
     */
    public int insertPayableBillSettlementDetail(PayableBillSettlementDetail payableBillSettlementDetail);
    /**
     * 新增应付账单结算明细[批量]
     *
     * @param payableBillSettlementDetails 应付账单结算明细
     * @return 结果
     */
    public int insertPayableBillSettlementDetailBatch(List<PayableBillSettlementDetail> payableBillSettlementDetails);
    /**
     * 修改应付账单结算明细
     *
     * @param payableBillSettlementDetail 应付账单结算明细
     * @return 结果
     */
    public int updatePayableBillSettlementDetail(PayableBillSettlementDetail payableBillSettlementDetail);
    /**
     * 修改应付账单结算明细[批量]
     *
     * @param payableBillSettlementDetails 应付账单结算明细
     * @return 结果
     */
    public int updatePayableBillSettlementDetailBatch(List<PayableBillSettlementDetail> payableBillSettlementDetails);
    /**
     * 删除应付账单结算明细
     *
     * @param id 应付账单结算明细ID
     * @return 结果
     */
    public int deletePayableBillSettlementDetailById(Integer id);
    /**
     * 批量删除应付账单结算明细
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deletePayableBillSettlementDetailByIds(Integer[] ids);
}
service/src/main/java/com/ruoyi/cwgl/mapper/ReceivableBillManagementMapper.java
New file
@@ -0,0 +1,87 @@
package com.ruoyi.cwgl.mapper;
import java.util.List;
import com.ruoyi.cwgl.domain.ReceivableBillManagement;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * 应收账单管理Mapper接口
 *
 * @author ruoyi
 * @date 2025-12-17
 */
public interface ReceivableBillManagementMapper  extends BaseMapper<ReceivableBillManagement>
{
    /**
     * 查询应收账单管理
     *
     * @param id 应收账单管理ID
     * @return 应收账单管理
     */
    public ReceivableBillManagement selectReceivableBillManagementById(Integer id);
    /**
     * 查询应收账单管理 记录数
     *
     * @param receivableBillManagement 应收账单管理
     * @return 应收账单管理集合
     */
    public int selectReceivableBillManagementCount(ReceivableBillManagement receivableBillManagement);
    /**
     * 查询应收账单管理列表
     *
     * @param receivableBillManagement 应收账单管理
     * @return 应收账单管理集合
     */
    public List<ReceivableBillManagement> selectReceivableBillManagementList(ReceivableBillManagement receivableBillManagement);
    /**
     * 新增应收账单管理
     *
     * @param receivableBillManagement 应收账单管理
     * @return 结果
     */
    public int insertReceivableBillManagement(ReceivableBillManagement receivableBillManagement);
    /**
     * 新增应收账单管理[批量]
     *
     * @param receivableBillManagements 应收账单管理
     * @return 结果
     */
    public int insertReceivableBillManagementBatch(List<ReceivableBillManagement> receivableBillManagements);
    /**
     * 修改应收账单管理
     *
     * @param receivableBillManagement 应收账单管理
     * @return 结果
     */
    public int updateReceivableBillManagement(ReceivableBillManagement receivableBillManagement);
    /**
     * 修改应收账单管理[批量]
     *
     * @param receivableBillManagements 应收账单管理
     * @return 结果
     */
    public int updateReceivableBillManagementBatch(List<ReceivableBillManagement> receivableBillManagements);
    /**
     * 删除应收账单管理
     *
     * @param id 应收账单管理ID
     * @return 结果
     */
    public int deleteReceivableBillManagementById(Integer id);
    /**
     * 批量删除应收账单管理
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteReceivableBillManagementByIds(Integer[] ids);
}
service/src/main/java/com/ruoyi/cwgl/mapper/ReceivableBillSettlementDetailMapper.java
New file
@@ -0,0 +1,87 @@
package com.ruoyi.cwgl.mapper;
import java.util.List;
import com.ruoyi.cwgl.domain.ReceivableBillSettlementDetail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * 应收账单结算明细Mapper接口
 *
 * @author ruoyi
 * @date 2025-12-17
 */
public interface ReceivableBillSettlementDetailMapper  extends BaseMapper<ReceivableBillSettlementDetail>
{
    /**
     * 查询应收账单结算明细
     *
     * @param id 应收账单结算明细ID
     * @return 应收账单结算明细
     */
    public ReceivableBillSettlementDetail selectReceivableBillSettlementDetailById(Integer id);
    /**
     * 查询应收账单结算明细 记录数
     *
     * @param receivableBillSettlementDetail 应收账单结算明细
     * @return 应收账单结算明细集合
     */
    public int selectReceivableBillSettlementDetailCount(ReceivableBillSettlementDetail receivableBillSettlementDetail);
    /**
     * 查询应收账单结算明细列表
     *
     * @param receivableBillSettlementDetail 应收账单结算明细
     * @return 应收账单结算明细集合
     */
    public List<ReceivableBillSettlementDetail> selectReceivableBillSettlementDetailList(ReceivableBillSettlementDetail receivableBillSettlementDetail);
    /**
     * 新增应收账单结算明细
     *
     * @param receivableBillSettlementDetail 应收账单结算明细
     * @return 结果
     */
    public int insertReceivableBillSettlementDetail(ReceivableBillSettlementDetail receivableBillSettlementDetail);
    /**
     * 新增应收账单结算明细[批量]
     *
     * @param receivableBillSettlementDetails 应收账单结算明细
     * @return 结果
     */
    public int insertReceivableBillSettlementDetailBatch(List<ReceivableBillSettlementDetail> receivableBillSettlementDetails);
    /**
     * 修改应收账单结算明细
     *
     * @param receivableBillSettlementDetail 应收账单结算明细
     * @return 结果
     */
    public int updateReceivableBillSettlementDetail(ReceivableBillSettlementDetail receivableBillSettlementDetail);
    /**
     * 修改应收账单结算明细[批量]
     *
     * @param receivableBillSettlementDetails 应收账单结算明细
     * @return 结果
     */
    public int updateReceivableBillSettlementDetailBatch(List<ReceivableBillSettlementDetail> receivableBillSettlementDetails);
    /**
     * 删除应收账单结算明细
     *
     * @param id 应收账单结算明细ID
     * @return 结果
     */
    public int deleteReceivableBillSettlementDetailById(Integer id);
    /**
     * 批量删除应收账单结算明细
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteReceivableBillSettlementDetailByIds(Integer[] ids);
}
service/src/main/java/com/ruoyi/cwgl/service/IPayableBillManagementService.java
New file
@@ -0,0 +1,102 @@
package com.ruoyi.cwgl.service;
import java.util.List;
import com.ruoyi.cwgl.domain.PayableBillManagement;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * 应付账单管理Service接口
 *
 * @author ruoyi
 * @date 2025-12-17
 */
public interface IPayableBillManagementService extends IService<PayableBillManagement>
{
    /**
     * 查询应付账单管理
     *
     * @param id 应付账单管理ID
     * @return 应付账单管理
     */
    public PayableBillManagement selectPayableBillManagementById(Integer id);
    /**
     * 查询应付账单管理 记录数
     *
     * @param payableBillManagement 应付账单管理
     * @return 应付账单管理集合
     */
    public int selectPayableBillManagementCount(PayableBillManagement payableBillManagement);
    /**
     * 查询应付账单管理列表
     *
     * @param payableBillManagement 应付账单管理
     * @return 应付账单管理集合
     */
    public List<PayableBillManagement> selectPayableBillManagementList(PayableBillManagement payableBillManagement);
    /**
     * 查询应付账单管理列表 异步 导出
     *
     * @param payableBillManagement 应付账单管理
     * @param exportKey 导出功能的唯一标识
     * @return 应付账单管理集合
     */
    public void export(PayableBillManagement payableBillManagement, String exportKey) ;
    /**
     * 新增应付账单管理
     *
     * @param payableBillManagement 应付账单管理
     * @return 结果
     */
    public int insertPayableBillManagement(PayableBillManagement payableBillManagement);
    /**
     * 新增应付账单管理[批量]
     *
     * @param payableBillManagements 应付账单管理
     * @return 结果
     */
    public int insertPayableBillManagementBatch(List<PayableBillManagement> payableBillManagements);
    /**
     * 修改应付账单管理
     *
     * @param payableBillManagement 应付账单管理
     * @return 结果
     */
    public int updatePayableBillManagement(PayableBillManagement payableBillManagement);
    /**
     * 修改应付账单管理[批量]
     *
     * @param payableBillManagements 应付账单管理
     * @return 结果
     */
    public int updatePayableBillManagementBatch(List<PayableBillManagement> payableBillManagements);
    /**
     * 批量删除应付账单管理
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deletePayableBillManagementByIds(String ids);
    /**
     * 批量删除应付账单管理
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deletePayableBillManagementByIds(Integer[] ids);
    /**
     * 删除应付账单管理信息
     *
     * @param id 应付账单管理ID
     * @return 结果
     */
    public int deletePayableBillManagementById(Integer id);
}
service/src/main/java/com/ruoyi/cwgl/service/IPayableBillSettlementDetailService.java
New file
@@ -0,0 +1,102 @@
package com.ruoyi.cwgl.service;
import java.util.List;
import com.ruoyi.cwgl.domain.PayableBillSettlementDetail;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * 应付账单结算明细Service接口
 *
 * @author ruoyi
 * @date 2025-12-17
 */
public interface IPayableBillSettlementDetailService extends IService<PayableBillSettlementDetail>
{
    /**
     * 查询应付账单结算明细
     *
     * @param id 应付账单结算明细ID
     * @return 应付账单结算明细
     */
    public PayableBillSettlementDetail selectPayableBillSettlementDetailById(Integer id);
    /**
     * 查询应付账单结算明细 记录数
     *
     * @param payableBillSettlementDetail 应付账单结算明细
     * @return 应付账单结算明细集合
     */
    public int selectPayableBillSettlementDetailCount(PayableBillSettlementDetail payableBillSettlementDetail);
    /**
     * 查询应付账单结算明细列表
     *
     * @param payableBillSettlementDetail 应付账单结算明细
     * @return 应付账单结算明细集合
     */
    public List<PayableBillSettlementDetail> selectPayableBillSettlementDetailList(PayableBillSettlementDetail payableBillSettlementDetail);
    /**
     * 查询应付账单结算明细列表 异步 导出
     *
     * @param payableBillSettlementDetail 应付账单结算明细
     * @param exportKey 导出功能的唯一标识
     * @return 应付账单结算明细集合
     */
    public void export(PayableBillSettlementDetail payableBillSettlementDetail, String exportKey) ;
    /**
     * 新增应付账单结算明细
     *
     * @param payableBillSettlementDetail 应付账单结算明细
     * @return 结果
     */
    public int insertPayableBillSettlementDetail(PayableBillSettlementDetail payableBillSettlementDetail);
    /**
     * 新增应付账单结算明细[批量]
     *
     * @param payableBillSettlementDetails 应付账单结算明细
     * @return 结果
     */
    public int insertPayableBillSettlementDetailBatch(List<PayableBillSettlementDetail> payableBillSettlementDetails);
    /**
     * 修改应付账单结算明细
     *
     * @param payableBillSettlementDetail 应付账单结算明细
     * @return 结果
     */
    public int updatePayableBillSettlementDetail(PayableBillSettlementDetail payableBillSettlementDetail);
    /**
     * 修改应付账单结算明细[批量]
     *
     * @param payableBillSettlementDetails 应付账单结算明细
     * @return 结果
     */
    public int updatePayableBillSettlementDetailBatch(List<PayableBillSettlementDetail> payableBillSettlementDetails);
    /**
     * 批量删除应付账单结算明细
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deletePayableBillSettlementDetailByIds(String ids);
    /**
     * 批量删除应付账单结算明细
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deletePayableBillSettlementDetailByIds(Integer[] ids);
    /**
     * 删除应付账单结算明细信息
     *
     * @param id 应付账单结算明细ID
     * @return 结果
     */
    public int deletePayableBillSettlementDetailById(Integer id);
}
service/src/main/java/com/ruoyi/cwgl/service/IReceivableBillManagementService.java
New file
@@ -0,0 +1,102 @@
package com.ruoyi.cwgl.service;
import java.util.List;
import com.ruoyi.cwgl.domain.ReceivableBillManagement;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * 应收账单管理Service接口
 *
 * @author ruoyi
 * @date 2025-12-17
 */
public interface IReceivableBillManagementService extends IService<ReceivableBillManagement>
{
    /**
     * 查询应收账单管理
     *
     * @param id 应收账单管理ID
     * @return 应收账单管理
     */
    public ReceivableBillManagement selectReceivableBillManagementById(Integer id);
    /**
     * 查询应收账单管理 记录数
     *
     * @param receivableBillManagement 应收账单管理
     * @return 应收账单管理集合
     */
    public int selectReceivableBillManagementCount(ReceivableBillManagement receivableBillManagement);
    /**
     * 查询应收账单管理列表
     *
     * @param receivableBillManagement 应收账单管理
     * @return 应收账单管理集合
     */
    public List<ReceivableBillManagement> selectReceivableBillManagementList(ReceivableBillManagement receivableBillManagement);
    /**
     * 查询应收账单管理列表 异步 导出
     *
     * @param receivableBillManagement 应收账单管理
     * @param exportKey 导出功能的唯一标识
     * @return 应收账单管理集合
     */
    public void export(ReceivableBillManagement receivableBillManagement, String exportKey) ;
    /**
     * 新增应收账单管理
     *
     * @param receivableBillManagement 应收账单管理
     * @return 结果
     */
    public int insertReceivableBillManagement(ReceivableBillManagement receivableBillManagement);
    /**
     * 新增应收账单管理[批量]
     *
     * @param receivableBillManagements 应收账单管理
     * @return 结果
     */
    public int insertReceivableBillManagementBatch(List<ReceivableBillManagement> receivableBillManagements);
    /**
     * 修改应收账单管理
     *
     * @param receivableBillManagement 应收账单管理
     * @return 结果
     */
    public int updateReceivableBillManagement(ReceivableBillManagement receivableBillManagement);
    /**
     * 修改应收账单管理[批量]
     *
     * @param receivableBillManagements 应收账单管理
     * @return 结果
     */
    public int updateReceivableBillManagementBatch(List<ReceivableBillManagement> receivableBillManagements);
    /**
     * 批量删除应收账单管理
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteReceivableBillManagementByIds(String ids);
    /**
     * 批量删除应收账单管理
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteReceivableBillManagementByIds(Integer[] ids);
    /**
     * 删除应收账单管理信息
     *
     * @param id 应收账单管理ID
     * @return 结果
     */
    public int deleteReceivableBillManagementById(Integer id);
}
service/src/main/java/com/ruoyi/cwgl/service/IReceivableBillSettlementDetailService.java
New file
@@ -0,0 +1,102 @@
package com.ruoyi.cwgl.service;
import java.util.List;
import com.ruoyi.cwgl.domain.ReceivableBillSettlementDetail;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * 应收账单结算明细Service接口
 *
 * @author ruoyi
 * @date 2025-12-17
 */
public interface IReceivableBillSettlementDetailService extends IService<ReceivableBillSettlementDetail>
{
    /**
     * 查询应收账单结算明细
     *
     * @param id 应收账单结算明细ID
     * @return 应收账单结算明细
     */
    public ReceivableBillSettlementDetail selectReceivableBillSettlementDetailById(Integer id);
    /**
     * 查询应收账单结算明细 记录数
     *
     * @param receivableBillSettlementDetail 应收账单结算明细
     * @return 应收账单结算明细集合
     */
    public int selectReceivableBillSettlementDetailCount(ReceivableBillSettlementDetail receivableBillSettlementDetail);
    /**
     * 查询应收账单结算明细列表
     *
     * @param receivableBillSettlementDetail 应收账单结算明细
     * @return 应收账单结算明细集合
     */
    public List<ReceivableBillSettlementDetail> selectReceivableBillSettlementDetailList(ReceivableBillSettlementDetail receivableBillSettlementDetail);
    /**
     * 查询应收账单结算明细列表 异步 导出
     *
     * @param receivableBillSettlementDetail 应收账单结算明细
     * @param exportKey 导出功能的唯一标识
     * @return 应收账单结算明细集合
     */
    public void export(ReceivableBillSettlementDetail receivableBillSettlementDetail, String exportKey) ;
    /**
     * 新增应收账单结算明细
     *
     * @param receivableBillSettlementDetail 应收账单结算明细
     * @return 结果
     */
    public int insertReceivableBillSettlementDetail(ReceivableBillSettlementDetail receivableBillSettlementDetail);
    /**
     * 新增应收账单结算明细[批量]
     *
     * @param receivableBillSettlementDetails 应收账单结算明细
     * @return 结果
     */
    public int insertReceivableBillSettlementDetailBatch(List<ReceivableBillSettlementDetail> receivableBillSettlementDetails);
    /**
     * 修改应收账单结算明细
     *
     * @param receivableBillSettlementDetail 应收账单结算明细
     * @return 结果
     */
    public int updateReceivableBillSettlementDetail(ReceivableBillSettlementDetail receivableBillSettlementDetail);
    /**
     * 修改应收账单结算明细[批量]
     *
     * @param receivableBillSettlementDetails 应收账单结算明细
     * @return 结果
     */
    public int updateReceivableBillSettlementDetailBatch(List<ReceivableBillSettlementDetail> receivableBillSettlementDetails);
    /**
     * 批量删除应收账单结算明细
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteReceivableBillSettlementDetailByIds(String ids);
    /**
     * 批量删除应收账单结算明细
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteReceivableBillSettlementDetailByIds(Integer[] ids);
    /**
     * 删除应收账单结算明细信息
     *
     * @param id 应收账单结算明细ID
     * @return 结果
     */
    public int deleteReceivableBillSettlementDetailById(Integer id);
}
service/src/main/java/com/ruoyi/cwgl/service/impl/PayableBillManagementServiceImpl.java
New file
@@ -0,0 +1,182 @@
package com.ruoyi.cwgl.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import javax.annotation.Resource;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.stereotype.Service;
import org.springframework.scheduling.annotation.Async;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.common.core.service.BaseService;
import com.ruoyi.cwgl.mapper.PayableBillManagementMapper;
import com.ruoyi.cwgl.domain.PayableBillManagement;
import com.ruoyi.cwgl.service.IPayableBillManagementService;
import com.ruoyi.common.core.text.Convert;
/**
 * 应付账单管理Service业务层处理
 *
 * @author ruoyi
 * @date 2025-12-17
 */
@Service
@Transactional(rollbackFor = Exception.class)
public class PayableBillManagementServiceImpl  extends BaseService<PayableBillManagementMapper, PayableBillManagement> implements IPayableBillManagementService
{
    protected final Logger logger = LoggerFactory.getLogger(getClass());
    @Resource
    private PayableBillManagementMapper payableBillManagementMapper;
    /**
     * 查询应付账单管理
     *
     * @param id 应付账单管理ID
     * @return 应付账单管理
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public PayableBillManagement selectPayableBillManagementById(Integer id)
    {
        return payableBillManagementMapper.selectPayableBillManagementById(id);
    }
    /**
     * 查询应付账单管理 记录数
     *
     * @param payableBillManagement 应付账单管理
     * @return 应付账单管理集合
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public int selectPayableBillManagementCount(PayableBillManagement payableBillManagement)
    {
        return payableBillManagementMapper.selectPayableBillManagementCount(payableBillManagement);
    }
    /**
     * 查询应付账单管理列表
     *
     * @param payableBillManagement 应付账单管理
     * @return 应付账单管理
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public List<PayableBillManagement> selectPayableBillManagementList(PayableBillManagement payableBillManagement)
    {
        return payableBillManagementMapper.selectPayableBillManagementList(payableBillManagement);
    }
    /**
     * 查询应付账单管理列表 异步 导出
     *
     * @param payableBillManagement 应付账单管理
     * @param exportKey 导出功能的唯一标识
     * @return 应付账单管理集合
     */
    @DataSource(DataSourceType.SLAVE)
    @Async
    @Override
    public void export(PayableBillManagement payableBillManagement,String exportKey) {
        super.export(PayableBillManagement.class,exportKey,"payableBillManagementData",(pageNum)->{
            PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE);
            return selectPayableBillManagementList(payableBillManagement);
        });
    }
    /**
     * 新增应付账单管理
     *
     * @param payableBillManagement 应付账单管理
     * @return 结果
     */
    @Override
    public int insertPayableBillManagement(PayableBillManagement payableBillManagement)
    {
        payableBillManagement.setCreateTime(DateUtils.getNowDate());
        return payableBillManagementMapper.insertPayableBillManagement(payableBillManagement);
    }
    /**
     * 新增应付账单管理[批量]
     *
     * @param payableBillManagements 应付账单管理
     * @return 结果
     */
    @Override
    public int insertPayableBillManagementBatch(List<PayableBillManagement> payableBillManagements)
    {
        int rows = payableBillManagementMapper.insertPayableBillManagementBatch(payableBillManagements);
        return rows;
    }
    /**
     * 修改应付账单管理
     *
     * @param payableBillManagement 应付账单管理
     * @return 结果
     */
    @Override
    public int updatePayableBillManagement(PayableBillManagement payableBillManagement)
    {
        payableBillManagement.setUpdateTime(DateUtils.getNowDate());
        return payableBillManagementMapper.updatePayableBillManagement(payableBillManagement);
    }
    /**
     * 修改应付账单管理[批量]
     *
     * @param payableBillManagements 应付账单管理
     * @return 结果
     */
    @Override
    public int updatePayableBillManagementBatch(List<PayableBillManagement> payableBillManagements){
        return payableBillManagementMapper.updatePayableBillManagementBatch(payableBillManagements);
    }
    /**
     * 删除应付账单管理对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deletePayableBillManagementByIds(String ids)
    {
        return deletePayableBillManagementByIds(Convert.toIntArray(ids));
    }
    /**
     * 删除应付账单管理对象
     *
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deletePayableBillManagementByIds(Integer[] ids)
    {
        return payableBillManagementMapper.deletePayableBillManagementByIds(ids);
    }
    /**
     * 删除应付账单管理信息
     *
     * @param id 应付账单管理ID
     * @return 结果
     */
    @Override
    public int deletePayableBillManagementById(Integer id)
    {
        return payableBillManagementMapper.deletePayableBillManagementById(id);
    }
}
service/src/main/java/com/ruoyi/cwgl/service/impl/PayableBillSettlementDetailServiceImpl.java
New file
@@ -0,0 +1,182 @@
package com.ruoyi.cwgl.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import javax.annotation.Resource;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.stereotype.Service;
import org.springframework.scheduling.annotation.Async;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.common.core.service.BaseService;
import com.ruoyi.cwgl.mapper.PayableBillSettlementDetailMapper;
import com.ruoyi.cwgl.domain.PayableBillSettlementDetail;
import com.ruoyi.cwgl.service.IPayableBillSettlementDetailService;
import com.ruoyi.common.core.text.Convert;
/**
 * 应付账单结算明细Service业务层处理
 *
 * @author ruoyi
 * @date 2025-12-17
 */
@Service
@Transactional(rollbackFor = Exception.class)
public class PayableBillSettlementDetailServiceImpl  extends BaseService<PayableBillSettlementDetailMapper, PayableBillSettlementDetail> implements IPayableBillSettlementDetailService
{
    protected final Logger logger = LoggerFactory.getLogger(getClass());
    @Resource
    private PayableBillSettlementDetailMapper payableBillSettlementDetailMapper;
    /**
     * 查询应付账单结算明细
     *
     * @param id 应付账单结算明细ID
     * @return 应付账单结算明细
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public PayableBillSettlementDetail selectPayableBillSettlementDetailById(Integer id)
    {
        return payableBillSettlementDetailMapper.selectPayableBillSettlementDetailById(id);
    }
    /**
     * 查询应付账单结算明细 记录数
     *
     * @param payableBillSettlementDetail 应付账单结算明细
     * @return 应付账单结算明细集合
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public int selectPayableBillSettlementDetailCount(PayableBillSettlementDetail payableBillSettlementDetail)
    {
        return payableBillSettlementDetailMapper.selectPayableBillSettlementDetailCount(payableBillSettlementDetail);
    }
    /**
     * 查询应付账单结算明细列表
     *
     * @param payableBillSettlementDetail 应付账单结算明细
     * @return 应付账单结算明细
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public List<PayableBillSettlementDetail> selectPayableBillSettlementDetailList(PayableBillSettlementDetail payableBillSettlementDetail)
    {
        return payableBillSettlementDetailMapper.selectPayableBillSettlementDetailList(payableBillSettlementDetail);
    }
    /**
     * 查询应付账单结算明细列表 异步 导出
     *
     * @param payableBillSettlementDetail 应付账单结算明细
     * @param exportKey 导出功能的唯一标识
     * @return 应付账单结算明细集合
     */
    @DataSource(DataSourceType.SLAVE)
    @Async
    @Override
    public void export(PayableBillSettlementDetail payableBillSettlementDetail,String exportKey) {
        super.export(PayableBillSettlementDetail.class,exportKey,"payableBillSettlementDetailData",(pageNum)->{
            PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE);
            return selectPayableBillSettlementDetailList(payableBillSettlementDetail);
        });
    }
    /**
     * 新增应付账单结算明细
     *
     * @param payableBillSettlementDetail 应付账单结算明细
     * @return 结果
     */
    @Override
    public int insertPayableBillSettlementDetail(PayableBillSettlementDetail payableBillSettlementDetail)
    {
        payableBillSettlementDetail.setCreateTime(DateUtils.getNowDate());
        return payableBillSettlementDetailMapper.insertPayableBillSettlementDetail(payableBillSettlementDetail);
    }
    /**
     * 新增应付账单结算明细[批量]
     *
     * @param payableBillSettlementDetails 应付账单结算明细
     * @return 结果
     */
    @Override
    public int insertPayableBillSettlementDetailBatch(List<PayableBillSettlementDetail> payableBillSettlementDetails)
    {
        int rows = payableBillSettlementDetailMapper.insertPayableBillSettlementDetailBatch(payableBillSettlementDetails);
        return rows;
    }
    /**
     * 修改应付账单结算明细
     *
     * @param payableBillSettlementDetail 应付账单结算明细
     * @return 结果
     */
    @Override
    public int updatePayableBillSettlementDetail(PayableBillSettlementDetail payableBillSettlementDetail)
    {
        payableBillSettlementDetail.setUpdateTime(DateUtils.getNowDate());
        return payableBillSettlementDetailMapper.updatePayableBillSettlementDetail(payableBillSettlementDetail);
    }
    /**
     * 修改应付账单结算明细[批量]
     *
     * @param payableBillSettlementDetails 应付账单结算明细
     * @return 结果
     */
    @Override
    public int updatePayableBillSettlementDetailBatch(List<PayableBillSettlementDetail> payableBillSettlementDetails){
        return payableBillSettlementDetailMapper.updatePayableBillSettlementDetailBatch(payableBillSettlementDetails);
    }
    /**
     * 删除应付账单结算明细对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deletePayableBillSettlementDetailByIds(String ids)
    {
        return deletePayableBillSettlementDetailByIds(Convert.toIntArray(ids));
    }
    /**
     * 删除应付账单结算明细对象
     *
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deletePayableBillSettlementDetailByIds(Integer[] ids)
    {
        return payableBillSettlementDetailMapper.deletePayableBillSettlementDetailByIds(ids);
    }
    /**
     * 删除应付账单结算明细信息
     *
     * @param id 应付账单结算明细ID
     * @return 结果
     */
    @Override
    public int deletePayableBillSettlementDetailById(Integer id)
    {
        return payableBillSettlementDetailMapper.deletePayableBillSettlementDetailById(id);
    }
}
service/src/main/java/com/ruoyi/cwgl/service/impl/ReceivableBillManagementServiceImpl.java
New file
@@ -0,0 +1,182 @@
package com.ruoyi.cwgl.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import javax.annotation.Resource;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.stereotype.Service;
import org.springframework.scheduling.annotation.Async;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.common.core.service.BaseService;
import com.ruoyi.cwgl.mapper.ReceivableBillManagementMapper;
import com.ruoyi.cwgl.domain.ReceivableBillManagement;
import com.ruoyi.cwgl.service.IReceivableBillManagementService;
import com.ruoyi.common.core.text.Convert;
/**
 * 应收账单管理Service业务层处理
 *
 * @author ruoyi
 * @date 2025-12-17
 */
@Service
@Transactional(rollbackFor = Exception.class)
public class ReceivableBillManagementServiceImpl  extends BaseService<ReceivableBillManagementMapper, ReceivableBillManagement> implements IReceivableBillManagementService
{
    protected final Logger logger = LoggerFactory.getLogger(getClass());
    @Resource
    private ReceivableBillManagementMapper receivableBillManagementMapper;
    /**
     * 查询应收账单管理
     *
     * @param id 应收账单管理ID
     * @return 应收账单管理
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public ReceivableBillManagement selectReceivableBillManagementById(Integer id)
    {
        return receivableBillManagementMapper.selectReceivableBillManagementById(id);
    }
    /**
     * 查询应收账单管理 记录数
     *
     * @param receivableBillManagement 应收账单管理
     * @return 应收账单管理集合
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public int selectReceivableBillManagementCount(ReceivableBillManagement receivableBillManagement)
    {
        return receivableBillManagementMapper.selectReceivableBillManagementCount(receivableBillManagement);
    }
    /**
     * 查询应收账单管理列表
     *
     * @param receivableBillManagement 应收账单管理
     * @return 应收账单管理
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public List<ReceivableBillManagement> selectReceivableBillManagementList(ReceivableBillManagement receivableBillManagement)
    {
        return receivableBillManagementMapper.selectReceivableBillManagementList(receivableBillManagement);
    }
    /**
     * 查询应收账单管理列表 异步 导出
     *
     * @param receivableBillManagement 应收账单管理
     * @param exportKey 导出功能的唯一标识
     * @return 应收账单管理集合
     */
    @DataSource(DataSourceType.SLAVE)
    @Async
    @Override
    public void export(ReceivableBillManagement receivableBillManagement,String exportKey) {
        super.export(ReceivableBillManagement.class,exportKey,"receivableBillManagementData",(pageNum)->{
            PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE);
            return selectReceivableBillManagementList(receivableBillManagement);
        });
    }
    /**
     * 新增应收账单管理
     *
     * @param receivableBillManagement 应收账单管理
     * @return 结果
     */
    @Override
    public int insertReceivableBillManagement(ReceivableBillManagement receivableBillManagement)
    {
        receivableBillManagement.setCreateTime(DateUtils.getNowDate());
        return receivableBillManagementMapper.insertReceivableBillManagement(receivableBillManagement);
    }
    /**
     * 新增应收账单管理[批量]
     *
     * @param receivableBillManagements 应收账单管理
     * @return 结果
     */
    @Override
    public int insertReceivableBillManagementBatch(List<ReceivableBillManagement> receivableBillManagements)
    {
        int rows = receivableBillManagementMapper.insertReceivableBillManagementBatch(receivableBillManagements);
        return rows;
    }
    /**
     * 修改应收账单管理
     *
     * @param receivableBillManagement 应收账单管理
     * @return 结果
     */
    @Override
    public int updateReceivableBillManagement(ReceivableBillManagement receivableBillManagement)
    {
        receivableBillManagement.setUpdateTime(DateUtils.getNowDate());
        return receivableBillManagementMapper.updateReceivableBillManagement(receivableBillManagement);
    }
    /**
     * 修改应收账单管理[批量]
     *
     * @param receivableBillManagements 应收账单管理
     * @return 结果
     */
    @Override
    public int updateReceivableBillManagementBatch(List<ReceivableBillManagement> receivableBillManagements){
        return receivableBillManagementMapper.updateReceivableBillManagementBatch(receivableBillManagements);
    }
    /**
     * 删除应收账单管理对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteReceivableBillManagementByIds(String ids)
    {
        return deleteReceivableBillManagementByIds(Convert.toIntArray(ids));
    }
    /**
     * 删除应收账单管理对象
     *
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteReceivableBillManagementByIds(Integer[] ids)
    {
        return receivableBillManagementMapper.deleteReceivableBillManagementByIds(ids);
    }
    /**
     * 删除应收账单管理信息
     *
     * @param id 应收账单管理ID
     * @return 结果
     */
    @Override
    public int deleteReceivableBillManagementById(Integer id)
    {
        return receivableBillManagementMapper.deleteReceivableBillManagementById(id);
    }
}
service/src/main/java/com/ruoyi/cwgl/service/impl/ReceivableBillSettlementDetailServiceImpl.java
New file
@@ -0,0 +1,182 @@
package com.ruoyi.cwgl.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import javax.annotation.Resource;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.stereotype.Service;
import org.springframework.scheduling.annotation.Async;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.common.core.service.BaseService;
import com.ruoyi.cwgl.mapper.ReceivableBillSettlementDetailMapper;
import com.ruoyi.cwgl.domain.ReceivableBillSettlementDetail;
import com.ruoyi.cwgl.service.IReceivableBillSettlementDetailService;
import com.ruoyi.common.core.text.Convert;
/**
 * 应收账单结算明细Service业务层处理
 *
 * @author ruoyi
 * @date 2025-12-17
 */
@Service
@Transactional(rollbackFor = Exception.class)
public class ReceivableBillSettlementDetailServiceImpl  extends BaseService<ReceivableBillSettlementDetailMapper, ReceivableBillSettlementDetail> implements IReceivableBillSettlementDetailService
{
    protected final Logger logger = LoggerFactory.getLogger(getClass());
    @Resource
    private ReceivableBillSettlementDetailMapper receivableBillSettlementDetailMapper;
    /**
     * 查询应收账单结算明细
     *
     * @param id 应收账单结算明细ID
     * @return 应收账单结算明细
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public ReceivableBillSettlementDetail selectReceivableBillSettlementDetailById(Integer id)
    {
        return receivableBillSettlementDetailMapper.selectReceivableBillSettlementDetailById(id);
    }
    /**
     * 查询应收账单结算明细 记录数
     *
     * @param receivableBillSettlementDetail 应收账单结算明细
     * @return 应收账单结算明细集合
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public int selectReceivableBillSettlementDetailCount(ReceivableBillSettlementDetail receivableBillSettlementDetail)
    {
        return receivableBillSettlementDetailMapper.selectReceivableBillSettlementDetailCount(receivableBillSettlementDetail);
    }
    /**
     * 查询应收账单结算明细列表
     *
     * @param receivableBillSettlementDetail 应收账单结算明细
     * @return 应收账单结算明细
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public List<ReceivableBillSettlementDetail> selectReceivableBillSettlementDetailList(ReceivableBillSettlementDetail receivableBillSettlementDetail)
    {
        return receivableBillSettlementDetailMapper.selectReceivableBillSettlementDetailList(receivableBillSettlementDetail);
    }
    /**
     * 查询应收账单结算明细列表 异步 导出
     *
     * @param receivableBillSettlementDetail 应收账单结算明细
     * @param exportKey 导出功能的唯一标识
     * @return 应收账单结算明细集合
     */
    @DataSource(DataSourceType.SLAVE)
    @Async
    @Override
    public void export(ReceivableBillSettlementDetail receivableBillSettlementDetail,String exportKey) {
        super.export(ReceivableBillSettlementDetail.class,exportKey,"receivableBillSettlementDetailData",(pageNum)->{
            PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE);
            return selectReceivableBillSettlementDetailList(receivableBillSettlementDetail);
        });
    }
    /**
     * 新增应收账单结算明细
     *
     * @param receivableBillSettlementDetail 应收账单结算明细
     * @return 结果
     */
    @Override
    public int insertReceivableBillSettlementDetail(ReceivableBillSettlementDetail receivableBillSettlementDetail)
    {
        receivableBillSettlementDetail.setCreateTime(DateUtils.getNowDate());
        return receivableBillSettlementDetailMapper.insertReceivableBillSettlementDetail(receivableBillSettlementDetail);
    }
    /**
     * 新增应收账单结算明细[批量]
     *
     * @param receivableBillSettlementDetails 应收账单结算明细
     * @return 结果
     */
    @Override
    public int insertReceivableBillSettlementDetailBatch(List<ReceivableBillSettlementDetail> receivableBillSettlementDetails)
    {
        int rows = receivableBillSettlementDetailMapper.insertReceivableBillSettlementDetailBatch(receivableBillSettlementDetails);
        return rows;
    }
    /**
     * 修改应收账单结算明细
     *
     * @param receivableBillSettlementDetail 应收账单结算明细
     * @return 结果
     */
    @Override
    public int updateReceivableBillSettlementDetail(ReceivableBillSettlementDetail receivableBillSettlementDetail)
    {
        receivableBillSettlementDetail.setUpdateTime(DateUtils.getNowDate());
        return receivableBillSettlementDetailMapper.updateReceivableBillSettlementDetail(receivableBillSettlementDetail);
    }
    /**
     * 修改应收账单结算明细[批量]
     *
     * @param receivableBillSettlementDetails 应收账单结算明细
     * @return 结果
     */
    @Override
    public int updateReceivableBillSettlementDetailBatch(List<ReceivableBillSettlementDetail> receivableBillSettlementDetails){
        return receivableBillSettlementDetailMapper.updateReceivableBillSettlementDetailBatch(receivableBillSettlementDetails);
    }
    /**
     * 删除应收账单结算明细对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteReceivableBillSettlementDetailByIds(String ids)
    {
        return deleteReceivableBillSettlementDetailByIds(Convert.toIntArray(ids));
    }
    /**
     * 删除应收账单结算明细对象
     *
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteReceivableBillSettlementDetailByIds(Integer[] ids)
    {
        return receivableBillSettlementDetailMapper.deleteReceivableBillSettlementDetailByIds(ids);
    }
    /**
     * 删除应收账单结算明细信息
     *
     * @param id 应收账单结算明细ID
     * @return 结果
     */
    @Override
    public int deleteReceivableBillSettlementDetailById(Integer id)
    {
        return receivableBillSettlementDetailMapper.deleteReceivableBillSettlementDetailById(id);
    }
}
service/src/main/resources/mapper/cwgl/PayableBillManagementMapper.xml
New file
@@ -0,0 +1,254 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.cwgl.mapper.PayableBillManagementMapper">
    <resultMap type="com.ruoyi.cwgl.domain.PayableBillManagement" id="PayableBillManagementResult">
        <result property="id"    column="id"    />
        <result property="systemNo"    column="system_no"    />
        <result property="billName"    column="bill_name"    />
        <result property="supplierName"    column="supplier_name"    />
        <result property="isInternalSettlement"    column="is_internal_settlement"    />
        <result property="internalSettlementUnit"    column="internal_settlement_unit"    />
        <result property="documentCount"    column="document_count"    />
        <result property="totalAmount"    column="total_amount"    />
        <result property="currency"    column="currency"    />
        <result property="discountAmount"    column="discount_amount"    />
        <result property="paidAmount"    column="paid_amount"    />
        <result property="pendingAmount"    column="pending_amount"    />
        <result property="exchangeRate"    column="exchange_rate"    />
        <result property="cnyAmount"    column="cny_amount"    />
        <result property="periodType"    column="period_type"    />
        <result property="businessStartDate"    column="business_start_date"    />
        <result property="businessEndDate"    column="business_end_date"    />
        <result property="billingStartDate"    column="billing_start_date"    />
        <result property="billingEndDate"    column="billing_end_date"    />
        <result property="billGenerateDate"    column="bill_generate_date"    />
        <result property="billSendDate"    column="bill_send_date"    />
        <result property="billDueDate"    column="bill_due_date"    />
        <result property="status"    column="status"    />
        <result property="remark"    column="remark"    />
        <result property="createBy"    column="create_by"    />
        <result property="createTime"    column="create_time"    />
        <result property="updateBy"    column="update_by"    />
        <result property="updateTime"    column="update_time"    />
        <result property="deleted"    column="deleted"    />
    </resultMap>
    <sql id="selectPayableBillManagementVo">
        select thisTab.id, thisTab.system_no, thisTab.bill_name, thisTab.supplier_name, thisTab.is_internal_settlement, thisTab.internal_settlement_unit, thisTab.document_count, thisTab.total_amount, thisTab.currency, thisTab.discount_amount, thisTab.paid_amount, thisTab.pending_amount, thisTab.exchange_rate, thisTab.cny_amount, thisTab.period_type, thisTab.business_start_date, thisTab.business_end_date, thisTab.billing_start_date, thisTab.billing_end_date, thisTab.bill_generate_date, thisTab.bill_send_date, thisTab.bill_due_date, thisTab.status, thisTab.remark, thisTab.create_by, thisTab.create_time, thisTab.update_by, thisTab.update_time, thisTab.deleted from payable_bill_management AS thisTab
    </sql>
    <sql id="selectPayableBillManagementVoCount">
        select count(0) from payable_bill_management as thisTab
    </sql>
    <sql id="whereCondition">
        <if test="systemNo != null  and systemNo != ''"> and thisTab.system_no = #{systemNo}</if>
        <if test="billName != null  and billName != ''"> and  thisTab.bill_name like concat('%', #{billName}, '%')</if>
        <if test="supplierName != null  and supplierName != ''"> and  thisTab.supplier_name like concat('%', #{supplierName}, '%')</if>
        <if test="isInternalSettlement != null  and isInternalSettlement != ''"> and thisTab.is_internal_settlement = #{isInternalSettlement}</if>
        <if test="internalSettlementUnit != null  and internalSettlementUnit != ''"> and thisTab.internal_settlement_unit = #{internalSettlementUnit}</if>
        <if test="documentCount != null "> and thisTab.document_count = #{documentCount}</if>
        <if test="totalAmount != null "> and thisTab.total_amount = #{totalAmount}</if>
        <if test="currency != null  and currency != ''"> and thisTab.currency = #{currency}</if>
        <if test="discountAmount != null "> and thisTab.discount_amount = #{discountAmount}</if>
        <if test="paidAmount != null "> and thisTab.paid_amount = #{paidAmount}</if>
        <if test="pendingAmount != null "> and thisTab.pending_amount = #{pendingAmount}</if>
        <if test="exchangeRate != null "> and thisTab.exchange_rate = #{exchangeRate}</if>
        <if test="cnyAmount != null "> and thisTab.cny_amount = #{cnyAmount}</if>
        <if test="periodType != null  and periodType != ''"> and thisTab.period_type = #{periodType}</if>
        <if test="businessStartDate != null "> and thisTab.business_start_date = #{businessStartDate}</if>
        <if test="businessEndDate != null "> and thisTab.business_end_date = #{businessEndDate}</if>
        <if test="billingStartDate != null "> and thisTab.billing_start_date = #{billingStartDate}</if>
        <if test="billingEndDate != null "> and thisTab.billing_end_date = #{billingEndDate}</if>
        <if test="billGenerateDate != null "> and thisTab.bill_generate_date = #{billGenerateDate}</if>
        <if test="billSendDate != null "> and thisTab.bill_send_date = #{billSendDate}</if>
        <if test="billDueDate != null "> and thisTab.bill_due_date = #{billDueDate}</if>
        <if test="status != null  and status != ''"> and thisTab.status = #{status}</if>
        <if test="deleted != null "> and thisTab.deleted = #{deleted}</if>
    </sql>
    <!--查询-->
    <select id="selectPayableBillManagementById" parameterType="Integer" resultMap="PayableBillManagementResult">
        <include refid="selectPayableBillManagementVo"/>
        where id = #{id}
    </select>
    <select id="selectPayableBillManagementCount" parameterType="com.ruoyi.cwgl.domain.PayableBillManagement" resultType="int">
        <include refid="selectPayableBillManagementVoCount"/>
        <where>
            <include refid="whereCondition"/>
        </where>
    </select>
    <select id="selectPayableBillManagementList" parameterType="com.ruoyi.cwgl.domain.PayableBillManagement" resultMap="PayableBillManagementResult">
        <include refid="selectPayableBillManagementVo"/>
        <where>
            <include refid="whereCondition"/>
        </where>
        order by thisTab.id desc
    </select>
    <!-- 新增 -->
    <insert id="insertPayableBillManagement" parameterType="com.ruoyi.cwgl.domain.PayableBillManagement"  useGeneratedKeys="true" keyProperty="id">
        insert into payable_bill_management
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="systemNo != null and systemNo != ''">system_no,</if>
            <if test="billName != null and billName != ''">bill_name,</if>
            <if test="supplierName != null and supplierName != ''">supplier_name,</if>
            <if test="isInternalSettlement != null and isInternalSettlement != ''">is_internal_settlement,</if>
            <if test="internalSettlementUnit != null">internal_settlement_unit,</if>
            <if test="documentCount != null">document_count,</if>
            <if test="totalAmount != null">total_amount,</if>
            <if test="currency != null">currency,</if>
            <if test="discountAmount != null">discount_amount,</if>
            <if test="paidAmount != null">paid_amount,</if>
            <if test="pendingAmount != null">pending_amount,</if>
            <if test="exchangeRate != null">exchange_rate,</if>
            <if test="cnyAmount != null">cny_amount,</if>
            <if test="periodType != null and periodType != ''">period_type,</if>
            <if test="businessStartDate != null">business_start_date,</if>
            <if test="businessEndDate != null">business_end_date,</if>
            <if test="billingStartDate != null">billing_start_date,</if>
            <if test="billingEndDate != null">billing_end_date,</if>
            <if test="billGenerateDate != null">bill_generate_date,</if>
            <if test="billSendDate != null">bill_send_date,</if>
            <if test="billDueDate != null">bill_due_date,</if>
            <if test="status != null">status,</if>
            <if test="remark != null">remark,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateBy != null">update_by,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="deleted != null">deleted,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="systemNo != null and systemNo != ''">#{systemNo},</if>
            <if test="billName != null and billName != ''">#{billName},</if>
            <if test="supplierName != null and supplierName != ''">#{supplierName},</if>
            <if test="isInternalSettlement != null and isInternalSettlement != ''">#{isInternalSettlement},</if>
            <if test="internalSettlementUnit != null">#{internalSettlementUnit},</if>
            <if test="documentCount != null">#{documentCount},</if>
            <if test="totalAmount != null">#{totalAmount},</if>
            <if test="currency != null">#{currency},</if>
            <if test="discountAmount != null">#{discountAmount},</if>
            <if test="paidAmount != null">#{paidAmount},</if>
            <if test="pendingAmount != null">#{pendingAmount},</if>
            <if test="exchangeRate != null">#{exchangeRate},</if>
            <if test="cnyAmount != null">#{cnyAmount},</if>
            <if test="periodType != null and periodType != ''">#{periodType},</if>
            <if test="businessStartDate != null">#{businessStartDate},</if>
            <if test="businessEndDate != null">#{businessEndDate},</if>
            <if test="billingStartDate != null">#{billingStartDate},</if>
            <if test="billingEndDate != null">#{billingEndDate},</if>
            <if test="billGenerateDate != null">#{billGenerateDate},</if>
            <if test="billSendDate != null">#{billSendDate},</if>
            <if test="billDueDate != null">#{billDueDate},</if>
            <if test="status != null">#{status},</if>
            <if test="remark != null">#{remark},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateBy != null">#{updateBy},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="deleted != null">#{deleted},</if>
         </trim>
    </insert>
    <insert id="insertPayableBillManagementBatch" parameterType="java.util.List"  useGeneratedKeys="true" keyProperty="id">
        insert into payable_bill_management
        <trim prefix="(" suffix=") values" suffixOverrides=",">
            id,system_no,bill_name,supplier_name,is_internal_settlement,internal_settlement_unit,document_count,total_amount,currency,discount_amount,paid_amount,pending_amount,exchange_rate,cny_amount,period_type,business_start_date,business_end_date,billing_start_date,billing_end_date,bill_generate_date,bill_send_date,bill_due_date,status,remark,create_by,create_time,update_by,update_time,deleted,
        </trim>
        <foreach item="item" index="index" collection="list" separator=",">
            <trim prefix="(" suffix=") " suffixOverrides=",">
                #{item.id},#{item.systemNo},#{item.billName},#{item.supplierName},#{item.isInternalSettlement},#{item.internalSettlementUnit},#{item.documentCount},#{item.totalAmount},#{item.currency},#{item.discountAmount},#{item.paidAmount},#{item.pendingAmount},#{item.exchangeRate},#{item.cnyAmount},#{item.periodType},#{item.businessStartDate},#{item.businessEndDate},#{item.billingStartDate},#{item.billingEndDate},#{item.billGenerateDate},#{item.billSendDate},#{item.billDueDate},#{item.status},#{item.remark},#{item.createBy},#{item.createTime},#{item.updateBy},#{item.updateTime},#{item.deleted},
            </trim>
        </foreach>
    </insert>
    <!-- 修改 -->
    <update id="updatePayableBillManagement" parameterType="com.ruoyi.cwgl.domain.PayableBillManagement">
        update payable_bill_management
        <trim prefix="SET" suffixOverrides=",">
            <if test="systemNo != null and systemNo != ''">system_no = #{systemNo},</if>
            <if test="billName != null and billName != ''">bill_name = #{billName},</if>
            <if test="supplierName != null and supplierName != ''">supplier_name = #{supplierName},</if>
            <if test="isInternalSettlement != null and isInternalSettlement != ''">is_internal_settlement = #{isInternalSettlement},</if>
            <if test="internalSettlementUnit != null">internal_settlement_unit = #{internalSettlementUnit},</if>
            <if test="documentCount != null">document_count = #{documentCount},</if>
            <if test="totalAmount != null">total_amount = #{totalAmount},</if>
            <if test="currency != null">currency = #{currency},</if>
            <if test="discountAmount != null">discount_amount = #{discountAmount},</if>
            <if test="paidAmount != null">paid_amount = #{paidAmount},</if>
            <if test="pendingAmount != null">pending_amount = #{pendingAmount},</if>
            <if test="exchangeRate != null">exchange_rate = #{exchangeRate},</if>
            <if test="cnyAmount != null">cny_amount = #{cnyAmount},</if>
            <if test="periodType != null and periodType != ''">period_type = #{periodType},</if>
            <if test="businessStartDate != null">business_start_date = #{businessStartDate},</if>
            <if test="businessEndDate != null">business_end_date = #{businessEndDate},</if>
            <if test="billingStartDate != null">billing_start_date = #{billingStartDate},</if>
            <if test="billingEndDate != null">billing_end_date = #{billingEndDate},</if>
            <if test="billGenerateDate != null">bill_generate_date = #{billGenerateDate},</if>
            <if test="billSendDate != null">bill_send_date = #{billSendDate},</if>
            <if test="billDueDate != null">bill_due_date = #{billDueDate},</if>
            <if test="status != null">status = #{status},</if>
            <if test="remark != null">remark = #{remark},</if>
            <if test="createBy != null">create_by = #{createBy},</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="deleted != null">deleted = #{deleted},</if>
        </trim>
        where id = #{id}
    </update>
    <!-- 修改 -->
    <update id="updatePayableBillManagementBatch" parameterType="java.util.List">
        <foreach collection="list" item="item" index="index" separator=";">
            update payable_bill_management
            <trim prefix="SET" suffixOverrides=",">
                <if test="item.systemNo != null and item.systemNo != ''">system_no = #{item.systemNo},</if>
                <if test="item.billName != null and item.billName != ''">bill_name = #{item.billName},</if>
                <if test="item.supplierName != null and item.supplierName != ''">supplier_name = #{item.supplierName},</if>
                <if test="item.isInternalSettlement != null and item.isInternalSettlement != ''">is_internal_settlement = #{item.isInternalSettlement},</if>
                <if test="item.internalSettlementUnit != null">internal_settlement_unit = #{item.internalSettlementUnit},</if>
                <if test="item.documentCount != null">document_count = #{item.documentCount},</if>
                <if test="item.totalAmount != null">total_amount = #{item.totalAmount},</if>
                <if test="item.currency != null">currency = #{item.currency},</if>
                <if test="item.discountAmount != null">discount_amount = #{item.discountAmount},</if>
                <if test="item.paidAmount != null">paid_amount = #{item.paidAmount},</if>
                <if test="item.pendingAmount != null">pending_amount = #{item.pendingAmount},</if>
                <if test="item.exchangeRate != null">exchange_rate = #{item.exchangeRate},</if>
                <if test="item.cnyAmount != null">cny_amount = #{item.cnyAmount},</if>
                <if test="item.periodType != null and item.periodType != ''">period_type = #{item.periodType},</if>
                <if test="item.businessStartDate != null">business_start_date = #{item.businessStartDate},</if>
                <if test="item.businessEndDate != null">business_end_date = #{item.businessEndDate},</if>
                <if test="item.billingStartDate != null">billing_start_date = #{item.billingStartDate},</if>
                <if test="item.billingEndDate != null">billing_end_date = #{item.billingEndDate},</if>
                <if test="item.billGenerateDate != null">bill_generate_date = #{item.billGenerateDate},</if>
                <if test="item.billSendDate != null">bill_send_date = #{item.billSendDate},</if>
                <if test="item.billDueDate != null">bill_due_date = #{item.billDueDate},</if>
                <if test="item.status != null">status = #{item.status},</if>
                <if test="item.remark != null">remark = #{item.remark},</if>
                <if test="item.createBy != null">create_by = #{item.createBy},</if>
                <if test="item.createTime != null">create_time = #{item.createTime},</if>
                <if test="item.updateBy != null">update_by = #{item.updateBy},</if>
                <if test="item.updateTime != null">update_time = #{item.updateTime},</if>
                <if test="item.deleted != null">deleted = #{item.deleted},</if>
            </trim>
        where id = #{item.id}
        </foreach>
    </update>
    <!--删除-->
    <delete id="deletePayableBillManagementById" parameterType="Integer">
        delete from payable_bill_management where id = #{id}
    </delete>
    <delete id="deletePayableBillManagementByIds" parameterType="Integer">
        delete from payable_bill_management where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>
service/src/main/resources/mapper/cwgl/PayableBillSettlementDetailMapper.xml
New file
@@ -0,0 +1,176 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.cwgl.mapper.PayableBillSettlementDetailMapper">
    <resultMap type="com.ruoyi.cwgl.domain.PayableBillSettlementDetail" id="PayableBillSettlementDetailResult">
        <result property="id"    column="id"    />
        <result property="billId"    column="bill_id"    />
        <result property="settlementMethod"    column="settlement_method"    />
        <result property="paymentBank"    column="payment_bank"    />
        <result property="paymentBankAccount"    column="payment_bank_account"    />
        <result property="supplierReceivingAccount"    column="supplier_receiving_account"    />
        <result property="supplierReceivingBank"    column="supplier_receiving_bank"    />
        <result property="paymentDate"    column="payment_date"    />
        <result property="paymentAmount"    column="payment_amount"    />
        <result property="remainingPendingAmount"    column="remaining_pending_amount"    />
        <result property="remark"    column="remark"    />
        <result property="createBy"    column="create_by"    />
        <result property="createTime"    column="create_time"    />
        <result property="updateBy"    column="update_by"    />
        <result property="updateTime"    column="update_time"    />
        <result property="deleted"    column="deleted"    />
    </resultMap>
    <sql id="selectPayableBillSettlementDetailVo">
        select thisTab.id, thisTab.bill_id, thisTab.settlement_method, thisTab.payment_bank, thisTab.payment_bank_account, thisTab.supplier_receiving_account, thisTab.supplier_receiving_bank, thisTab.payment_date, thisTab.payment_amount, thisTab.remaining_pending_amount, thisTab.remark, thisTab.create_by, thisTab.create_time, thisTab.update_by, thisTab.update_time, thisTab.deleted from payable_bill_settlement_detail AS thisTab
    </sql>
    <sql id="selectPayableBillSettlementDetailVoCount">
        select count(0) from payable_bill_settlement_detail as thisTab
    </sql>
    <sql id="whereCondition">
        <if test="billId != null "> and thisTab.bill_id = #{billId}</if>
        <if test="settlementMethod != null  and settlementMethod != ''"> and thisTab.settlement_method = #{settlementMethod}</if>
        <if test="paymentBank != null  and paymentBank != ''"> and thisTab.payment_bank = #{paymentBank}</if>
        <if test="paymentBankAccount != null  and paymentBankAccount != ''"> and thisTab.payment_bank_account = #{paymentBankAccount}</if>
        <if test="supplierReceivingAccount != null  and supplierReceivingAccount != ''"> and thisTab.supplier_receiving_account = #{supplierReceivingAccount}</if>
        <if test="supplierReceivingBank != null  and supplierReceivingBank != ''"> and thisTab.supplier_receiving_bank = #{supplierReceivingBank}</if>
        <if test="paymentDate != null "> and thisTab.payment_date = #{paymentDate}</if>
        <if test="paymentAmount != null "> and thisTab.payment_amount = #{paymentAmount}</if>
        <if test="remainingPendingAmount != null "> and thisTab.remaining_pending_amount = #{remainingPendingAmount}</if>
        <if test="deleted != null "> and thisTab.deleted = #{deleted}</if>
    </sql>
    <!--查询-->
    <select id="selectPayableBillSettlementDetailById" parameterType="Integer" resultMap="PayableBillSettlementDetailResult">
        <include refid="selectPayableBillSettlementDetailVo"/>
        where id = #{id}
    </select>
    <select id="selectPayableBillSettlementDetailCount" parameterType="com.ruoyi.cwgl.domain.PayableBillSettlementDetail" resultType="int">
        <include refid="selectPayableBillSettlementDetailVoCount"/>
        <where>
            <include refid="whereCondition"/>
        </where>
    </select>
    <select id="selectPayableBillSettlementDetailList" parameterType="com.ruoyi.cwgl.domain.PayableBillSettlementDetail" resultMap="PayableBillSettlementDetailResult">
        <include refid="selectPayableBillSettlementDetailVo"/>
        <where>
            <include refid="whereCondition"/>
        </where>
        order by thisTab.id desc
    </select>
    <!-- 新增 -->
    <insert id="insertPayableBillSettlementDetail" parameterType="com.ruoyi.cwgl.domain.PayableBillSettlementDetail"  useGeneratedKeys="true" keyProperty="id">
        insert into payable_bill_settlement_detail
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="billId != null">bill_id,</if>
            <if test="settlementMethod != null and settlementMethod != ''">settlement_method,</if>
            <if test="paymentBank != null">payment_bank,</if>
            <if test="paymentBankAccount != null">payment_bank_account,</if>
            <if test="supplierReceivingAccount != null">supplier_receiving_account,</if>
            <if test="supplierReceivingBank != null">supplier_receiving_bank,</if>
            <if test="paymentDate != null">payment_date,</if>
            <if test="paymentAmount != null">payment_amount,</if>
            <if test="remainingPendingAmount != null">remaining_pending_amount,</if>
            <if test="remark != null">remark,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateBy != null">update_by,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="deleted != null">deleted,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="billId != null">#{billId},</if>
            <if test="settlementMethod != null and settlementMethod != ''">#{settlementMethod},</if>
            <if test="paymentBank != null">#{paymentBank},</if>
            <if test="paymentBankAccount != null">#{paymentBankAccount},</if>
            <if test="supplierReceivingAccount != null">#{supplierReceivingAccount},</if>
            <if test="supplierReceivingBank != null">#{supplierReceivingBank},</if>
            <if test="paymentDate != null">#{paymentDate},</if>
            <if test="paymentAmount != null">#{paymentAmount},</if>
            <if test="remainingPendingAmount != null">#{remainingPendingAmount},</if>
            <if test="remark != null">#{remark},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateBy != null">#{updateBy},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="deleted != null">#{deleted},</if>
         </trim>
    </insert>
    <insert id="insertPayableBillSettlementDetailBatch" parameterType="java.util.List"  useGeneratedKeys="true" keyProperty="id">
        insert into payable_bill_settlement_detail
        <trim prefix="(" suffix=") values" suffixOverrides=",">
            id,bill_id,settlement_method,payment_bank,payment_bank_account,supplier_receiving_account,supplier_receiving_bank,payment_date,payment_amount,remaining_pending_amount,remark,create_by,create_time,update_by,update_time,deleted,
        </trim>
        <foreach item="item" index="index" collection="list" separator=",">
            <trim prefix="(" suffix=") " suffixOverrides=",">
                #{item.id},#{item.billId},#{item.settlementMethod},#{item.paymentBank},#{item.paymentBankAccount},#{item.supplierReceivingAccount},#{item.supplierReceivingBank},#{item.paymentDate},#{item.paymentAmount},#{item.remainingPendingAmount},#{item.remark},#{item.createBy},#{item.createTime},#{item.updateBy},#{item.updateTime},#{item.deleted},
            </trim>
        </foreach>
    </insert>
    <!-- 修改 -->
    <update id="updatePayableBillSettlementDetail" parameterType="com.ruoyi.cwgl.domain.PayableBillSettlementDetail">
        update payable_bill_settlement_detail
        <trim prefix="SET" suffixOverrides=",">
            <if test="billId != null">bill_id = #{billId},</if>
            <if test="settlementMethod != null and settlementMethod != ''">settlement_method = #{settlementMethod},</if>
            <if test="paymentBank != null">payment_bank = #{paymentBank},</if>
            <if test="paymentBankAccount != null">payment_bank_account = #{paymentBankAccount},</if>
            <if test="supplierReceivingAccount != null">supplier_receiving_account = #{supplierReceivingAccount},</if>
            <if test="supplierReceivingBank != null">supplier_receiving_bank = #{supplierReceivingBank},</if>
            <if test="paymentDate != null">payment_date = #{paymentDate},</if>
            <if test="paymentAmount != null">payment_amount = #{paymentAmount},</if>
            <if test="remainingPendingAmount != null">remaining_pending_amount = #{remainingPendingAmount},</if>
            <if test="remark != null">remark = #{remark},</if>
            <if test="createBy != null">create_by = #{createBy},</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="deleted != null">deleted = #{deleted},</if>
        </trim>
        where id = #{id}
    </update>
    <!-- 修改 -->
    <update id="updatePayableBillSettlementDetailBatch" parameterType="java.util.List">
        <foreach collection="list" item="item" index="index" separator=";">
            update payable_bill_settlement_detail
            <trim prefix="SET" suffixOverrides=",">
                <if test="item.billId != null">bill_id = #{item.billId},</if>
                <if test="item.settlementMethod != null and item.settlementMethod != ''">settlement_method = #{item.settlementMethod},</if>
                <if test="item.paymentBank != null">payment_bank = #{item.paymentBank},</if>
                <if test="item.paymentBankAccount != null">payment_bank_account = #{item.paymentBankAccount},</if>
                <if test="item.supplierReceivingAccount != null">supplier_receiving_account = #{item.supplierReceivingAccount},</if>
                <if test="item.supplierReceivingBank != null">supplier_receiving_bank = #{item.supplierReceivingBank},</if>
                <if test="item.paymentDate != null">payment_date = #{item.paymentDate},</if>
                <if test="item.paymentAmount != null">payment_amount = #{item.paymentAmount},</if>
                <if test="item.remainingPendingAmount != null">remaining_pending_amount = #{item.remainingPendingAmount},</if>
                <if test="item.remark != null">remark = #{item.remark},</if>
                <if test="item.createBy != null">create_by = #{item.createBy},</if>
                <if test="item.createTime != null">create_time = #{item.createTime},</if>
                <if test="item.updateBy != null">update_by = #{item.updateBy},</if>
                <if test="item.updateTime != null">update_time = #{item.updateTime},</if>
                <if test="item.deleted != null">deleted = #{item.deleted},</if>
            </trim>
        where id = #{item.id}
        </foreach>
    </update>
    <!--删除-->
    <delete id="deletePayableBillSettlementDetailById" parameterType="Integer">
        delete from payable_bill_settlement_detail where id = #{id}
    </delete>
    <delete id="deletePayableBillSettlementDetailByIds" parameterType="Integer">
        delete from payable_bill_settlement_detail where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>
service/src/main/resources/mapper/cwgl/ReceivableBillManagementMapper.xml
New file
@@ -0,0 +1,254 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.cwgl.mapper.ReceivableBillManagementMapper">
    <resultMap type="com.ruoyi.cwgl.domain.ReceivableBillManagement" id="ReceivableBillManagementResult">
        <result property="id"    column="id"    />
        <result property="systemNo"    column="system_no"    />
        <result property="billName"    column="bill_name"    />
        <result property="customerName"    column="customer_name"    />
        <result property="isInternalSettlement"    column="is_internal_settlement"    />
        <result property="internalSettlementUnit"    column="internal_settlement_unit"    />
        <result property="documentCount"    column="document_count"    />
        <result property="totalAmount"    column="total_amount"    />
        <result property="currency"    column="currency"    />
        <result property="discountAmount"    column="discount_amount"    />
        <result property="receivedAmount"    column="received_amount"    />
        <result property="pendingAmount"    column="pending_amount"    />
        <result property="exchangeRate"    column="exchange_rate"    />
        <result property="cnyAmount"    column="cny_amount"    />
        <result property="periodType"    column="period_type"    />
        <result property="businessStartDate"    column="business_start_date"    />
        <result property="businessEndDate"    column="business_end_date"    />
        <result property="billingStartDate"    column="billing_start_date"    />
        <result property="billingEndDate"    column="billing_end_date"    />
        <result property="billGenerateDate"    column="bill_generate_date"    />
        <result property="billSendDate"    column="bill_send_date"    />
        <result property="billDueDate"    column="bill_due_date"    />
        <result property="status"    column="status"    />
        <result property="remark"    column="remark"    />
        <result property="createBy"    column="create_by"    />
        <result property="createTime"    column="create_time"    />
        <result property="updateBy"    column="update_by"    />
        <result property="updateTime"    column="update_time"    />
        <result property="deleted"    column="deleted"    />
    </resultMap>
    <sql id="selectReceivableBillManagementVo">
        select thisTab.id, thisTab.system_no, thisTab.bill_name, thisTab.customer_name, thisTab.is_internal_settlement, thisTab.internal_settlement_unit, thisTab.document_count, thisTab.total_amount, thisTab.currency, thisTab.discount_amount, thisTab.received_amount, thisTab.pending_amount, thisTab.exchange_rate, thisTab.cny_amount, thisTab.period_type, thisTab.business_start_date, thisTab.business_end_date, thisTab.billing_start_date, thisTab.billing_end_date, thisTab.bill_generate_date, thisTab.bill_send_date, thisTab.bill_due_date, thisTab.status, thisTab.remark, thisTab.create_by, thisTab.create_time, thisTab.update_by, thisTab.update_time, thisTab.deleted from receivable_bill_management AS thisTab
    </sql>
    <sql id="selectReceivableBillManagementVoCount">
        select count(0) from receivable_bill_management as thisTab
    </sql>
    <sql id="whereCondition">
        <if test="systemNo != null  and systemNo != ''"> and thisTab.system_no = #{systemNo}</if>
        <if test="billName != null  and billName != ''"> and  thisTab.bill_name like concat('%', #{billName}, '%')</if>
        <if test="customerName != null  and customerName != ''"> and  thisTab.customer_name like concat('%', #{customerName}, '%')</if>
        <if test="isInternalSettlement != null  and isInternalSettlement != ''"> and thisTab.is_internal_settlement = #{isInternalSettlement}</if>
        <if test="internalSettlementUnit != null  and internalSettlementUnit != ''"> and thisTab.internal_settlement_unit = #{internalSettlementUnit}</if>
        <if test="documentCount != null "> and thisTab.document_count = #{documentCount}</if>
        <if test="totalAmount != null "> and thisTab.total_amount = #{totalAmount}</if>
        <if test="currency != null  and currency != ''"> and thisTab.currency = #{currency}</if>
        <if test="discountAmount != null "> and thisTab.discount_amount = #{discountAmount}</if>
        <if test="receivedAmount != null "> and thisTab.received_amount = #{receivedAmount}</if>
        <if test="pendingAmount != null "> and thisTab.pending_amount = #{pendingAmount}</if>
        <if test="exchangeRate != null "> and thisTab.exchange_rate = #{exchangeRate}</if>
        <if test="cnyAmount != null "> and thisTab.cny_amount = #{cnyAmount}</if>
        <if test="periodType != null  and periodType != ''"> and thisTab.period_type = #{periodType}</if>
        <if test="businessStartDate != null "> and thisTab.business_start_date = #{businessStartDate}</if>
        <if test="businessEndDate != null "> and thisTab.business_end_date = #{businessEndDate}</if>
        <if test="billingStartDate != null "> and thisTab.billing_start_date = #{billingStartDate}</if>
        <if test="billingEndDate != null "> and thisTab.billing_end_date = #{billingEndDate}</if>
        <if test="billGenerateDate != null "> and thisTab.bill_generate_date = #{billGenerateDate}</if>
        <if test="billSendDate != null "> and thisTab.bill_send_date = #{billSendDate}</if>
        <if test="billDueDate != null "> and thisTab.bill_due_date = #{billDueDate}</if>
        <if test="status != null  and status != ''"> and thisTab.status = #{status}</if>
        <if test="deleted != null "> and thisTab.deleted = #{deleted}</if>
    </sql>
    <!--查询-->
    <select id="selectReceivableBillManagementById" parameterType="Integer" resultMap="ReceivableBillManagementResult">
        <include refid="selectReceivableBillManagementVo"/>
        where id = #{id}
    </select>
    <select id="selectReceivableBillManagementCount" parameterType="com.ruoyi.cwgl.domain.ReceivableBillManagement" resultType="int">
        <include refid="selectReceivableBillManagementVoCount"/>
        <where>
            <include refid="whereCondition"/>
        </where>
    </select>
    <select id="selectReceivableBillManagementList" parameterType="com.ruoyi.cwgl.domain.ReceivableBillManagement" resultMap="ReceivableBillManagementResult">
        <include refid="selectReceivableBillManagementVo"/>
        <where>
            <include refid="whereCondition"/>
        </where>
        order by thisTab.id desc
    </select>
    <!-- 新增 -->
    <insert id="insertReceivableBillManagement" parameterType="com.ruoyi.cwgl.domain.ReceivableBillManagement"  useGeneratedKeys="true" keyProperty="id">
        insert into receivable_bill_management
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="systemNo != null and systemNo != ''">system_no,</if>
            <if test="billName != null and billName != ''">bill_name,</if>
            <if test="customerName != null and customerName != ''">customer_name,</if>
            <if test="isInternalSettlement != null and isInternalSettlement != ''">is_internal_settlement,</if>
            <if test="internalSettlementUnit != null">internal_settlement_unit,</if>
            <if test="documentCount != null">document_count,</if>
            <if test="totalAmount != null">total_amount,</if>
            <if test="currency != null">currency,</if>
            <if test="discountAmount != null">discount_amount,</if>
            <if test="receivedAmount != null">received_amount,</if>
            <if test="pendingAmount != null">pending_amount,</if>
            <if test="exchangeRate != null">exchange_rate,</if>
            <if test="cnyAmount != null">cny_amount,</if>
            <if test="periodType != null and periodType != ''">period_type,</if>
            <if test="businessStartDate != null">business_start_date,</if>
            <if test="businessEndDate != null">business_end_date,</if>
            <if test="billingStartDate != null">billing_start_date,</if>
            <if test="billingEndDate != null">billing_end_date,</if>
            <if test="billGenerateDate != null">bill_generate_date,</if>
            <if test="billSendDate != null">bill_send_date,</if>
            <if test="billDueDate != null">bill_due_date,</if>
            <if test="status != null">status,</if>
            <if test="remark != null">remark,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateBy != null">update_by,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="deleted != null">deleted,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="systemNo != null and systemNo != ''">#{systemNo},</if>
            <if test="billName != null and billName != ''">#{billName},</if>
            <if test="customerName != null and customerName != ''">#{customerName},</if>
            <if test="isInternalSettlement != null and isInternalSettlement != ''">#{isInternalSettlement},</if>
            <if test="internalSettlementUnit != null">#{internalSettlementUnit},</if>
            <if test="documentCount != null">#{documentCount},</if>
            <if test="totalAmount != null">#{totalAmount},</if>
            <if test="currency != null">#{currency},</if>
            <if test="discountAmount != null">#{discountAmount},</if>
            <if test="receivedAmount != null">#{receivedAmount},</if>
            <if test="pendingAmount != null">#{pendingAmount},</if>
            <if test="exchangeRate != null">#{exchangeRate},</if>
            <if test="cnyAmount != null">#{cnyAmount},</if>
            <if test="periodType != null and periodType != ''">#{periodType},</if>
            <if test="businessStartDate != null">#{businessStartDate},</if>
            <if test="businessEndDate != null">#{businessEndDate},</if>
            <if test="billingStartDate != null">#{billingStartDate},</if>
            <if test="billingEndDate != null">#{billingEndDate},</if>
            <if test="billGenerateDate != null">#{billGenerateDate},</if>
            <if test="billSendDate != null">#{billSendDate},</if>
            <if test="billDueDate != null">#{billDueDate},</if>
            <if test="status != null">#{status},</if>
            <if test="remark != null">#{remark},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateBy != null">#{updateBy},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="deleted != null">#{deleted},</if>
         </trim>
    </insert>
    <insert id="insertReceivableBillManagementBatch" parameterType="java.util.List"  useGeneratedKeys="true" keyProperty="id">
        insert into receivable_bill_management
        <trim prefix="(" suffix=") values" suffixOverrides=",">
            id,system_no,bill_name,customer_name,is_internal_settlement,internal_settlement_unit,document_count,total_amount,currency,discount_amount,received_amount,pending_amount,exchange_rate,cny_amount,period_type,business_start_date,business_end_date,billing_start_date,billing_end_date,bill_generate_date,bill_send_date,bill_due_date,status,remark,create_by,create_time,update_by,update_time,deleted,
        </trim>
        <foreach item="item" index="index" collection="list" separator=",">
            <trim prefix="(" suffix=") " suffixOverrides=",">
                #{item.id},#{item.systemNo},#{item.billName},#{item.customerName},#{item.isInternalSettlement},#{item.internalSettlementUnit},#{item.documentCount},#{item.totalAmount},#{item.currency},#{item.discountAmount},#{item.receivedAmount},#{item.pendingAmount},#{item.exchangeRate},#{item.cnyAmount},#{item.periodType},#{item.businessStartDate},#{item.businessEndDate},#{item.billingStartDate},#{item.billingEndDate},#{item.billGenerateDate},#{item.billSendDate},#{item.billDueDate},#{item.status},#{item.remark},#{item.createBy},#{item.createTime},#{item.updateBy},#{item.updateTime},#{item.deleted},
            </trim>
        </foreach>
    </insert>
    <!-- 修改 -->
    <update id="updateReceivableBillManagement" parameterType="com.ruoyi.cwgl.domain.ReceivableBillManagement">
        update receivable_bill_management
        <trim prefix="SET" suffixOverrides=",">
            <if test="systemNo != null and systemNo != ''">system_no = #{systemNo},</if>
            <if test="billName != null and billName != ''">bill_name = #{billName},</if>
            <if test="customerName != null and customerName != ''">customer_name = #{customerName},</if>
            <if test="isInternalSettlement != null and isInternalSettlement != ''">is_internal_settlement = #{isInternalSettlement},</if>
            <if test="internalSettlementUnit != null">internal_settlement_unit = #{internalSettlementUnit},</if>
            <if test="documentCount != null">document_count = #{documentCount},</if>
            <if test="totalAmount != null">total_amount = #{totalAmount},</if>
            <if test="currency != null">currency = #{currency},</if>
            <if test="discountAmount != null">discount_amount = #{discountAmount},</if>
            <if test="receivedAmount != null">received_amount = #{receivedAmount},</if>
            <if test="pendingAmount != null">pending_amount = #{pendingAmount},</if>
            <if test="exchangeRate != null">exchange_rate = #{exchangeRate},</if>
            <if test="cnyAmount != null">cny_amount = #{cnyAmount},</if>
            <if test="periodType != null and periodType != ''">period_type = #{periodType},</if>
            <if test="businessStartDate != null">business_start_date = #{businessStartDate},</if>
            <if test="businessEndDate != null">business_end_date = #{businessEndDate},</if>
            <if test="billingStartDate != null">billing_start_date = #{billingStartDate},</if>
            <if test="billingEndDate != null">billing_end_date = #{billingEndDate},</if>
            <if test="billGenerateDate != null">bill_generate_date = #{billGenerateDate},</if>
            <if test="billSendDate != null">bill_send_date = #{billSendDate},</if>
            <if test="billDueDate != null">bill_due_date = #{billDueDate},</if>
            <if test="status != null">status = #{status},</if>
            <if test="remark != null">remark = #{remark},</if>
            <if test="createBy != null">create_by = #{createBy},</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="deleted != null">deleted = #{deleted},</if>
        </trim>
        where id = #{id}
    </update>
    <!-- 修改 -->
    <update id="updateReceivableBillManagementBatch" parameterType="java.util.List">
        <foreach collection="list" item="item" index="index" separator=";">
            update receivable_bill_management
            <trim prefix="SET" suffixOverrides=",">
                <if test="item.systemNo != null and item.systemNo != ''">system_no = #{item.systemNo},</if>
                <if test="item.billName != null and item.billName != ''">bill_name = #{item.billName},</if>
                <if test="item.customerName != null and item.customerName != ''">customer_name = #{item.customerName},</if>
                <if test="item.isInternalSettlement != null and item.isInternalSettlement != ''">is_internal_settlement = #{item.isInternalSettlement},</if>
                <if test="item.internalSettlementUnit != null">internal_settlement_unit = #{item.internalSettlementUnit},</if>
                <if test="item.documentCount != null">document_count = #{item.documentCount},</if>
                <if test="item.totalAmount != null">total_amount = #{item.totalAmount},</if>
                <if test="item.currency != null">currency = #{item.currency},</if>
                <if test="item.discountAmount != null">discount_amount = #{item.discountAmount},</if>
                <if test="item.receivedAmount != null">received_amount = #{item.receivedAmount},</if>
                <if test="item.pendingAmount != null">pending_amount = #{item.pendingAmount},</if>
                <if test="item.exchangeRate != null">exchange_rate = #{item.exchangeRate},</if>
                <if test="item.cnyAmount != null">cny_amount = #{item.cnyAmount},</if>
                <if test="item.periodType != null and item.periodType != ''">period_type = #{item.periodType},</if>
                <if test="item.businessStartDate != null">business_start_date = #{item.businessStartDate},</if>
                <if test="item.businessEndDate != null">business_end_date = #{item.businessEndDate},</if>
                <if test="item.billingStartDate != null">billing_start_date = #{item.billingStartDate},</if>
                <if test="item.billingEndDate != null">billing_end_date = #{item.billingEndDate},</if>
                <if test="item.billGenerateDate != null">bill_generate_date = #{item.billGenerateDate},</if>
                <if test="item.billSendDate != null">bill_send_date = #{item.billSendDate},</if>
                <if test="item.billDueDate != null">bill_due_date = #{item.billDueDate},</if>
                <if test="item.status != null">status = #{item.status},</if>
                <if test="item.remark != null">remark = #{item.remark},</if>
                <if test="item.createBy != null">create_by = #{item.createBy},</if>
                <if test="item.createTime != null">create_time = #{item.createTime},</if>
                <if test="item.updateBy != null">update_by = #{item.updateBy},</if>
                <if test="item.updateTime != null">update_time = #{item.updateTime},</if>
                <if test="item.deleted != null">deleted = #{item.deleted},</if>
            </trim>
        where id = #{item.id}
        </foreach>
    </update>
    <!--删除-->
    <delete id="deleteReceivableBillManagementById" parameterType="Integer">
        delete from receivable_bill_management where id = #{id}
    </delete>
    <delete id="deleteReceivableBillManagementByIds" parameterType="Integer">
        delete from receivable_bill_management where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>
service/src/main/resources/mapper/cwgl/ReceivableBillSettlementDetailMapper.xml
New file
@@ -0,0 +1,176 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.cwgl.mapper.ReceivableBillSettlementDetailMapper">
    <resultMap type="com.ruoyi.cwgl.domain.ReceivableBillSettlementDetail" id="ReceivableBillSettlementDetailResult">
        <result property="id"    column="id"    />
        <result property="billId"    column="bill_id"    />
        <result property="settlementMethod"    column="settlement_method"    />
        <result property="customerBank"    column="customer_bank"    />
        <result property="customerBankAccount"    column="customer_bank_account"    />
        <result property="receivingBankAccount"    column="receiving_bank_account"    />
        <result property="receivingBank"    column="receiving_bank"    />
        <result property="receiptDate"    column="receipt_date"    />
        <result property="receiptAmount"    column="receipt_amount"    />
        <result property="remainingPendingAmount"    column="remaining_pending_amount"    />
        <result property="remark"    column="remark"    />
        <result property="createBy"    column="create_by"    />
        <result property="createTime"    column="create_time"    />
        <result property="updateBy"    column="update_by"    />
        <result property="updateTime"    column="update_time"    />
        <result property="deleted"    column="deleted"    />
    </resultMap>
    <sql id="selectReceivableBillSettlementDetailVo">
        select thisTab.id, thisTab.bill_id, thisTab.settlement_method, thisTab.customer_bank, thisTab.customer_bank_account, thisTab.receiving_bank_account, thisTab.receiving_bank, thisTab.receipt_date, thisTab.receipt_amount, thisTab.remaining_pending_amount, thisTab.remark, thisTab.create_by, thisTab.create_time, thisTab.update_by, thisTab.update_time, thisTab.deleted from receivable_bill_settlement_detail AS thisTab
    </sql>
    <sql id="selectReceivableBillSettlementDetailVoCount">
        select count(0) from receivable_bill_settlement_detail as thisTab
    </sql>
    <sql id="whereCondition">
        <if test="billId != null "> and thisTab.bill_id = #{billId}</if>
        <if test="settlementMethod != null  and settlementMethod != ''"> and thisTab.settlement_method = #{settlementMethod}</if>
        <if test="customerBank != null  and customerBank != ''"> and thisTab.customer_bank = #{customerBank}</if>
        <if test="customerBankAccount != null  and customerBankAccount != ''"> and thisTab.customer_bank_account = #{customerBankAccount}</if>
        <if test="receivingBankAccount != null  and receivingBankAccount != ''"> and thisTab.receiving_bank_account = #{receivingBankAccount}</if>
        <if test="receivingBank != null  and receivingBank != ''"> and thisTab.receiving_bank = #{receivingBank}</if>
        <if test="receiptDate != null "> and thisTab.receipt_date = #{receiptDate}</if>
        <if test="receiptAmount != null "> and thisTab.receipt_amount = #{receiptAmount}</if>
        <if test="remainingPendingAmount != null "> and thisTab.remaining_pending_amount = #{remainingPendingAmount}</if>
        <if test="deleted != null "> and thisTab.deleted = #{deleted}</if>
    </sql>
    <!--查询-->
    <select id="selectReceivableBillSettlementDetailById" parameterType="Integer" resultMap="ReceivableBillSettlementDetailResult">
        <include refid="selectReceivableBillSettlementDetailVo"/>
        where id = #{id}
    </select>
    <select id="selectReceivableBillSettlementDetailCount" parameterType="com.ruoyi.cwgl.domain.ReceivableBillSettlementDetail" resultType="int">
        <include refid="selectReceivableBillSettlementDetailVoCount"/>
        <where>
            <include refid="whereCondition"/>
        </where>
    </select>
    <select id="selectReceivableBillSettlementDetailList" parameterType="com.ruoyi.cwgl.domain.ReceivableBillSettlementDetail" resultMap="ReceivableBillSettlementDetailResult">
        <include refid="selectReceivableBillSettlementDetailVo"/>
        <where>
            <include refid="whereCondition"/>
        </where>
        order by thisTab.id desc
    </select>
    <!-- 新增 -->
    <insert id="insertReceivableBillSettlementDetail" parameterType="com.ruoyi.cwgl.domain.ReceivableBillSettlementDetail"  useGeneratedKeys="true" keyProperty="id">
        insert into receivable_bill_settlement_detail
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="billId != null">bill_id,</if>
            <if test="settlementMethod != null and settlementMethod != ''">settlement_method,</if>
            <if test="customerBank != null">customer_bank,</if>
            <if test="customerBankAccount != null">customer_bank_account,</if>
            <if test="receivingBankAccount != null">receiving_bank_account,</if>
            <if test="receivingBank != null">receiving_bank,</if>
            <if test="receiptDate != null">receipt_date,</if>
            <if test="receiptAmount != null">receipt_amount,</if>
            <if test="remainingPendingAmount != null">remaining_pending_amount,</if>
            <if test="remark != null">remark,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateBy != null">update_by,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="deleted != null">deleted,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="billId != null">#{billId},</if>
            <if test="settlementMethod != null and settlementMethod != ''">#{settlementMethod},</if>
            <if test="customerBank != null">#{customerBank},</if>
            <if test="customerBankAccount != null">#{customerBankAccount},</if>
            <if test="receivingBankAccount != null">#{receivingBankAccount},</if>
            <if test="receivingBank != null">#{receivingBank},</if>
            <if test="receiptDate != null">#{receiptDate},</if>
            <if test="receiptAmount != null">#{receiptAmount},</if>
            <if test="remainingPendingAmount != null">#{remainingPendingAmount},</if>
            <if test="remark != null">#{remark},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateBy != null">#{updateBy},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="deleted != null">#{deleted},</if>
         </trim>
    </insert>
    <insert id="insertReceivableBillSettlementDetailBatch" parameterType="java.util.List"  useGeneratedKeys="true" keyProperty="id">
        insert into receivable_bill_settlement_detail
        <trim prefix="(" suffix=") values" suffixOverrides=",">
            id,bill_id,settlement_method,customer_bank,customer_bank_account,receiving_bank_account,receiving_bank,receipt_date,receipt_amount,remaining_pending_amount,remark,create_by,create_time,update_by,update_time,deleted,
        </trim>
        <foreach item="item" index="index" collection="list" separator=",">
            <trim prefix="(" suffix=") " suffixOverrides=",">
                #{item.id},#{item.billId},#{item.settlementMethod},#{item.customerBank},#{item.customerBankAccount},#{item.receivingBankAccount},#{item.receivingBank},#{item.receiptDate},#{item.receiptAmount},#{item.remainingPendingAmount},#{item.remark},#{item.createBy},#{item.createTime},#{item.updateBy},#{item.updateTime},#{item.deleted},
            </trim>
        </foreach>
    </insert>
    <!-- 修改 -->
    <update id="updateReceivableBillSettlementDetail" parameterType="com.ruoyi.cwgl.domain.ReceivableBillSettlementDetail">
        update receivable_bill_settlement_detail
        <trim prefix="SET" suffixOverrides=",">
            <if test="billId != null">bill_id = #{billId},</if>
            <if test="settlementMethod != null and settlementMethod != ''">settlement_method = #{settlementMethod},</if>
            <if test="customerBank != null">customer_bank = #{customerBank},</if>
            <if test="customerBankAccount != null">customer_bank_account = #{customerBankAccount},</if>
            <if test="receivingBankAccount != null">receiving_bank_account = #{receivingBankAccount},</if>
            <if test="receivingBank != null">receiving_bank = #{receivingBank},</if>
            <if test="receiptDate != null">receipt_date = #{receiptDate},</if>
            <if test="receiptAmount != null">receipt_amount = #{receiptAmount},</if>
            <if test="remainingPendingAmount != null">remaining_pending_amount = #{remainingPendingAmount},</if>
            <if test="remark != null">remark = #{remark},</if>
            <if test="createBy != null">create_by = #{createBy},</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="deleted != null">deleted = #{deleted},</if>
        </trim>
        where id = #{id}
    </update>
    <!-- 修改 -->
    <update id="updateReceivableBillSettlementDetailBatch" parameterType="java.util.List">
        <foreach collection="list" item="item" index="index" separator=";">
            update receivable_bill_settlement_detail
            <trim prefix="SET" suffixOverrides=",">
                <if test="item.billId != null">bill_id = #{item.billId},</if>
                <if test="item.settlementMethod != null and item.settlementMethod != ''">settlement_method = #{item.settlementMethod},</if>
                <if test="item.customerBank != null">customer_bank = #{item.customerBank},</if>
                <if test="item.customerBankAccount != null">customer_bank_account = #{item.customerBankAccount},</if>
                <if test="item.receivingBankAccount != null">receiving_bank_account = #{item.receivingBankAccount},</if>
                <if test="item.receivingBank != null">receiving_bank = #{item.receivingBank},</if>
                <if test="item.receiptDate != null">receipt_date = #{item.receiptDate},</if>
                <if test="item.receiptAmount != null">receipt_amount = #{item.receiptAmount},</if>
                <if test="item.remainingPendingAmount != null">remaining_pending_amount = #{item.remainingPendingAmount},</if>
                <if test="item.remark != null">remark = #{item.remark},</if>
                <if test="item.createBy != null">create_by = #{item.createBy},</if>
                <if test="item.createTime != null">create_time = #{item.createTime},</if>
                <if test="item.updateBy != null">update_by = #{item.updateBy},</if>
                <if test="item.updateTime != null">update_time = #{item.updateTime},</if>
                <if test="item.deleted != null">deleted = #{item.deleted},</if>
            </trim>
        where id = #{item.id}
        </foreach>
    </update>
    <!--删除-->
    <delete id="deleteReceivableBillSettlementDetailById" parameterType="Integer">
        delete from receivable_bill_settlement_detail where id = #{id}
    </delete>
    <delete id="deleteReceivableBillSettlementDetailByIds" parameterType="Integer">
        delete from receivable_bill_settlement_detail where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>
ui/admin-ui3/src/api/cwgl/payableBillManagement.ts
New file
@@ -0,0 +1,67 @@
import request,{download,requestType} from "@/utils/request";
import {BaseEntityInterface} from "@/utils/globalInterface";
export interface PayableBillManagementI extends BaseEntityInterface{
            id ?:  number   ,            systemNo ?:  string   ,            billName ?:  string   ,            supplierName ?:  string   ,            isInternalSettlement ?:  string   ,            internalSettlementUnit ?:  string   ,            documentCount ?:  number   ,            totalAmount ?:  string   ,            currency ?:  string   ,            discountAmount ?:  string   ,            paidAmount ?:  string   ,            pendingAmount ?:  string   ,            exchangeRate ?:  string   ,            cnyAmount ?:  string   ,            periodType ?:  string   ,            businessStartDate ?:  string   ,            businessEndDate ?:  string   ,            billingStartDate ?:  string   ,            billingEndDate ?:  string   ,            billGenerateDate ?:  string   ,            billSendDate ?:  string   ,            billDueDate ?:  string   ,            status ?:  string   ,            remark ?:  string   ,            createBy ?:  string   ,            createTime ?:  string   ,            updateBy ?:  string   ,            updateTime ?:  string   ,            deleted ?:  number       }
/**
 * 查询应付账单管理列表
 */
export const listPayableBillManagement:requestType = (query) => {
    return request({
        url: '/cwgl/payableBillManagement/list',
        method:'get',
        params:query
    })
}
/**
 * 查询应付账单管理详细
 */
export const getPayableBillManagement:requestType = (id) => {
    return request({
        url: '/cwgl/payableBillManagement/' + id,
        method:'get'
    })
}
/**
 * 新增应付账单管理
 */
export const addPayableBillManagement:requestType = (data) => {
    return request({
        url: '/cwgl/payableBillManagement',
        method: 'post',
        data
    })
}
/**
 * 修改应付账单管理
 */
export const updatePayableBillManagement:requestType = (data) => {
    return request({
        url: '/cwgl/payableBillManagement',
        method: 'put',
        data
    })
}
/**
 * 删除应付账单管理
 */
export const delPayableBillManagement:requestType = (id) => {
    return request({
        url: '/cwgl/payableBillManagement/' + id,
        method: 'delete'
    })
}
/**
 * 导出应付账单管理
 */
export const exportPayableBillManagement:requestType = (query) => {
    return new Promise<any>(()=>{
        download('/cwgl/payableBillManagement/export',query);
    })
}
ui/admin-ui3/src/api/cwgl/payableBillSettlementDetail.ts
New file
@@ -0,0 +1,67 @@
import request,{download,requestType} from "@/utils/request";
import {BaseEntityInterface} from "@/utils/globalInterface";
export interface PayableBillSettlementDetailI extends BaseEntityInterface{
            id ?:  number   ,            billId ?:  number   ,            settlementMethod ?:  string   ,            paymentBank ?:  string   ,            paymentBankAccount ?:  string   ,            supplierReceivingAccount ?:  string   ,            supplierReceivingBank ?:  string   ,            paymentDate ?:  string   ,            paymentAmount ?:  string   ,            remainingPendingAmount ?:  string   ,            remark ?:  string   ,            createBy ?:  string   ,            createTime ?:  string   ,            updateBy ?:  string   ,            updateTime ?:  string   ,            deleted ?:  number       }
/**
 * 查询应付账单结算明细列表
 */
export const listPayableBillSettlementDetail:requestType = (query) => {
    return request({
        url: '/cwgl/payableBillSettlementDetail/list',
        method:'get',
        params:query
    })
}
/**
 * 查询应付账单结算明细详细
 */
export const getPayableBillSettlementDetail:requestType = (id) => {
    return request({
        url: '/cwgl/payableBillSettlementDetail/' + id,
        method:'get'
    })
}
/**
 * 新增应付账单结算明细
 */
export const addPayableBillSettlementDetail:requestType = (data) => {
    return request({
        url: '/cwgl/payableBillSettlementDetail',
        method: 'post',
        data
    })
}
/**
 * 修改应付账单结算明细
 */
export const updatePayableBillSettlementDetail:requestType = (data) => {
    return request({
        url: '/cwgl/payableBillSettlementDetail',
        method: 'put',
        data
    })
}
/**
 * 删除应付账单结算明细
 */
export const delPayableBillSettlementDetail:requestType = (id) => {
    return request({
        url: '/cwgl/payableBillSettlementDetail/' + id,
        method: 'delete'
    })
}
/**
 * 导出应付账单结算明细
 */
export const exportPayableBillSettlementDetail:requestType = (query) => {
    return new Promise<any>(()=>{
        download('/cwgl/payableBillSettlementDetail/export',query);
    })
}
ui/admin-ui3/src/api/cwgl/receivableBillManagement.ts
New file
@@ -0,0 +1,67 @@
import request,{download,requestType} from "@/utils/request";
import {BaseEntityInterface} from "@/utils/globalInterface";
export interface ReceivableBillManagementI extends BaseEntityInterface{
            id ?:  number   ,            systemNo ?:  string   ,            billName ?:  string   ,            customerName ?:  string   ,            isInternalSettlement ?:  string   ,            internalSettlementUnit ?:  string   ,            documentCount ?:  number   ,            totalAmount ?:  string   ,            currency ?:  string   ,            discountAmount ?:  string   ,            receivedAmount ?:  string   ,            pendingAmount ?:  string   ,            exchangeRate ?:  string   ,            cnyAmount ?:  string   ,            periodType ?:  string   ,            businessStartDate ?:  string   ,            businessEndDate ?:  string   ,            billingStartDate ?:  string   ,            billingEndDate ?:  string   ,            billGenerateDate ?:  string   ,            billSendDate ?:  string   ,            billDueDate ?:  string   ,            status ?:  string   ,            remark ?:  string   ,            createBy ?:  string   ,            createTime ?:  string   ,            updateBy ?:  string   ,            updateTime ?:  string   ,            deleted ?:  number       }
/**
 * 查询应收账单管理列表
 */
export const listReceivableBillManagement:requestType = (query) => {
    return request({
        url: '/cwgl/receivableBillManagement/list',
        method:'get',
        params:query
    })
}
/**
 * 查询应收账单管理详细
 */
export const getReceivableBillManagement:requestType = (id) => {
    return request({
        url: '/cwgl/receivableBillManagement/' + id,
        method:'get'
    })
}
/**
 * 新增应收账单管理
 */
export const addReceivableBillManagement:requestType = (data) => {
    return request({
        url: '/cwgl/receivableBillManagement',
        method: 'post',
        data
    })
}
/**
 * 修改应收账单管理
 */
export const updateReceivableBillManagement:requestType = (data) => {
    return request({
        url: '/cwgl/receivableBillManagement',
        method: 'put',
        data
    })
}
/**
 * 删除应收账单管理
 */
export const delReceivableBillManagement:requestType = (id) => {
    return request({
        url: '/cwgl/receivableBillManagement/' + id,
        method: 'delete'
    })
}
/**
 * 导出应收账单管理
 */
export const exportReceivableBillManagement:requestType = (query) => {
    return new Promise<any>(()=>{
        download('/cwgl/receivableBillManagement/export',query);
    })
}
ui/admin-ui3/src/api/cwgl/receivableBillSettlementDetail.ts
New file
@@ -0,0 +1,67 @@
import request,{download,requestType} from "@/utils/request";
import {BaseEntityInterface} from "@/utils/globalInterface";
export interface ReceivableBillSettlementDetailI extends BaseEntityInterface{
            id ?:  number   ,            billId ?:  number   ,            settlementMethod ?:  string   ,            customerBank ?:  string   ,            customerBankAccount ?:  string   ,            receivingBankAccount ?:  string   ,            receivingBank ?:  string   ,            receiptDate ?:  string   ,            receiptAmount ?:  string   ,            remainingPendingAmount ?:  string   ,            remark ?:  string   ,            createBy ?:  string   ,            createTime ?:  string   ,            updateBy ?:  string   ,            updateTime ?:  string   ,            deleted ?:  number       }
/**
 * 查询应收账单结算明细列表
 */
export const listReceivableBillSettlementDetail:requestType = (query) => {
    return request({
        url: '/cwgl/receivableBillSettlementDetail/list',
        method:'get',
        params:query
    })
}
/**
 * 查询应收账单结算明细详细
 */
export const getReceivableBillSettlementDetail:requestType = (id) => {
    return request({
        url: '/cwgl/receivableBillSettlementDetail/' + id,
        method:'get'
    })
}
/**
 * 新增应收账单结算明细
 */
export const addReceivableBillSettlementDetail:requestType = (data) => {
    return request({
        url: '/cwgl/receivableBillSettlementDetail',
        method: 'post',
        data
    })
}
/**
 * 修改应收账单结算明细
 */
export const updateReceivableBillSettlementDetail:requestType = (data) => {
    return request({
        url: '/cwgl/receivableBillSettlementDetail',
        method: 'put',
        data
    })
}
/**
 * 删除应收账单结算明细
 */
export const delReceivableBillSettlementDetail:requestType = (id) => {
    return request({
        url: '/cwgl/receivableBillSettlementDetail/' + id,
        method: 'delete'
    })
}
/**
 * 导出应收账单结算明细
 */
export const exportReceivableBillSettlementDetail:requestType = (query) => {
    return new Promise<any>(()=>{
        download('/cwgl/receivableBillSettlementDetail/export',query);
    })
}
ui/admin-ui3/src/views/cwgl/payableBillManagement/index.vue
New file
@@ -0,0 +1,245 @@
<template>
  <basicContainer >
    <avue-crud
        :option="option"
        :table-loading="pageF.loading"
        :data="tableData"
        :page="page"
        :permission="permissionList"
        :before-open="beforeOpen"
        v-model="form"
        ref="crudRef"
        @row-update="rowUpdate"
        @row-save="rowSave"
        @refresh-change="refreshChange"
        @row-del="rowDel"
        @search-change="searchChange"
        @search-reset="searchReset"
        @selection-change="selectionChange"
        @current-change="currentChange"
        @size-change="sizeChange"
        @on-load="onLoad"
    >
      <template #menu-left>
        <el-button
            type="success"
            icon="Edit"
            :disabled="pageF.single"
            v-hasPermi="['cwgl:payableBillManagement:edit']"
            @click="handleUpdate">修改
        </el-button>
        <el-button
            type="danger"
            icon="Delete"
            :disabled="pageF.multiple"
            @click="handleDelete"
            v-hasPermi="['cwgl:payableBillManagement:remove']"
        >删除
        </el-button>
        <el-button
            type="warning"
            plain
            icon="Download"
            @click="handleExport"
            v-hasPermi="['cwgl:payableBillManagement:export']"
        >导出
        </el-button>
      </template>
    </avue-crud>
  </basicContainer>
</template>
<script setup name="payableBillManagement" lang="ts">
  import {PayableBillManagementI,addPayableBillManagement, delPayableBillManagement, exportPayableBillManagement, getPayableBillManagement, listPayableBillManagement, updatePayableBillManagement} from "@/api/cwgl/payableBillManagement";
  import useCurrentInstance from "@/utils/useCurrentInstance";
  import {computed,reactive, ref, toRefs} from "vue";
  import {PagesInterface, PageQueryInterface} from "@/utils/globalInterface";
  import {usePagePlus} from "@/hooks/usePagePlus";
  import {hasPermission} from "@/utils/permissionUtils";
  const { proxy } = useCurrentInstance();
  const crudRef = ref();
  const permissionList = computed(()=>{
    return {
      addBtn: hasPermission(["cwgl:payableBillManagement:add"]),
      delBtn: hasPermission(["cwgl:payableBillManagement:remove"]),
      editBtn: hasPermission(["cwgl:payableBillManagement:edit"]),
      viewBtn: hasPermission(["cwgl:payableBillManagement:query"]),
    }
  })
  const data = reactive({
    form:<PayableBillManagementI>{},
    queryParams:<PayableBillManagementI&PageQueryInterface>{},
    page: <PagesInterface>{
      pageSize: 10,
      total: 0,
      currentPage: 1,
    },
    selectionList:[],
  })
  const {queryParams,form,page,selectionList} = toRefs(data);
  const option = ref({
    pageKey: 'PayableBillManagement',
    rowKey: 'id',
    column: {
                                id: {
          label: 'ID',
                            },
                                systemNo: {
          label: '系统编号',
                                rules: [
              {
                required: true,
                message: "系统编号不能为空", trigger: "blur" }
            ],                  },
                                billName: {
          label: '账单名称',
                                rules: [
              {
                required: true,
                message: "账单名称不能为空", trigger: "blur" }
            ],                  },
                                supplierName: {
          label: '供应商名称',
                                rules: [
              {
                required: true,
                message: "供应商名称不能为空", trigger: "blur" }
            ],                  },
                                isInternalSettlement: {
          label: '是否内部结算',
                                rules: [
              {
                required: true,
                message: "是否内部结算不能为空", trigger: "blur" }
            ],                  },
                                internalSettlementUnit: {
          label: '内部结算单位',
                            },
                                documentCount: {
          label: '单据数量',
                            },
                                totalAmount: {
          label: '应结算金额',
                            },
                                currency: {
          label: '币制',
                            },
                                discountAmount: {
          label: '减免金额',
                            },
                                paidAmount: {
          label: '已付金额',
                            },
                                pendingAmount: {
          label: '待付金额',
                            },
                                exchangeRate: {
          label: '汇率',
                            },
                                cnyAmount: {
          label: '人民币金额',
                            },
                                periodType: {
          label: '周期类型',
                                rules: [
              {
                required: true,
                message: "周期类型不能为空", trigger: "change"
                 }
            ],                  },
                                businessStartDate: {
          label: '业务期间开始日期',
                                rules: [
              {
                required: true,
                message: "业务期间开始日期不能为空", trigger: "blur" }
            ],                  },
                                businessEndDate: {
          label: '业务期间结束日期',
                                rules: [
              {
                required: true,
                message: "业务期间结束日期不能为空", trigger: "blur" }
            ],                  },
                                billingStartDate: {
          label: '账期开始日期',
                                rules: [
              {
                required: true,
                message: "账期开始日期不能为空", trigger: "blur" }
            ],                  },
                                billingEndDate: {
          label: '账期结束日期',
                                rules: [
              {
                required: true,
                message: "账期结束日期不能为空", trigger: "blur" }
            ],                  },
                                billGenerateDate: {
          label: '账单生成日期',
                                rules: [
              {
                required: true,
                message: "账单生成日期不能为空", trigger: "blur" }
            ],                  },
                                billSendDate: {
          label: '账单发送日期',
                            },
                                billDueDate: {
          label: '账单到期日期',
                                rules: [
              {
                required: true,
                message: "账单到期日期不能为空", trigger: "blur" }
            ],                  },
                                status: {
          label: '状态',
                            },
                                remark: {
          label: '备注',
                      type: 'textarea', minRows: 3, maxRows: 5,
                            },
                                createBy: {
          label: '创建人',
                            },
                                createTime: {
          label: '创建时间',
                            },
                                updateBy: {
          label: '更新人',
                            },
                                updateTime: {
          label: '更新时间',
                            },
                                deleted: {
          label: '删除标记(0:正常;1:删除)',
                            },
          }
  })
  const { tableData,pageF,rowSave,rowUpdate,rowDel,beforeOpen,searchChange,
    searchReset,selectionChange,onLoad,currentChange,sizeChange,handleDelete,handleExport,handleUpdate,refreshChange} = usePagePlus({
    form:form,
    option:option,
    queryParams:queryParams,
    idKey:'id',
    page:page.value,
    getListApi:listPayableBillManagement,
    getDetailApi:getPayableBillManagement,
    exportApi:exportPayableBillManagement,
    deleteApi:delPayableBillManagement,
    addApi:addPayableBillManagement,
    updateApi:updatePayableBillManagement,
    handleUpdateFunc:()=>{
      crudRef.value.rowEdit(selectionList.value[0]);
    },
    handleSelectionChangeFunc:(selection:any)=>{
      selectionList.value = selection;
    }
  })
</script>
ui/admin-ui3/src/views/cwgl/payableBillSettlementDetail/index.vue
New file
@@ -0,0 +1,177 @@
<template>
  <basicContainer >
    <avue-crud
        :option="option"
        :table-loading="pageF.loading"
        :data="tableData"
        :page="page"
        :permission="permissionList"
        :before-open="beforeOpen"
        v-model="form"
        ref="crudRef"
        @row-update="rowUpdate"
        @row-save="rowSave"
        @refresh-change="refreshChange"
        @row-del="rowDel"
        @search-change="searchChange"
        @search-reset="searchReset"
        @selection-change="selectionChange"
        @current-change="currentChange"
        @size-change="sizeChange"
        @on-load="onLoad"
    >
      <template #menu-left>
        <el-button
            type="success"
            icon="Edit"
            :disabled="pageF.single"
            v-hasPermi="['cwgl:payableBillSettlementDetail:edit']"
            @click="handleUpdate">修改
        </el-button>
        <el-button
            type="danger"
            icon="Delete"
            :disabled="pageF.multiple"
            @click="handleDelete"
            v-hasPermi="['cwgl:payableBillSettlementDetail:remove']"
        >删除
        </el-button>
        <el-button
            type="warning"
            plain
            icon="Download"
            @click="handleExport"
            v-hasPermi="['cwgl:payableBillSettlementDetail:export']"
        >导出
        </el-button>
      </template>
    </avue-crud>
  </basicContainer>
</template>
<script setup name="payableBillSettlementDetail" lang="ts">
  import {PayableBillSettlementDetailI,addPayableBillSettlementDetail, delPayableBillSettlementDetail, exportPayableBillSettlementDetail, getPayableBillSettlementDetail, listPayableBillSettlementDetail, updatePayableBillSettlementDetail} from "@/api/cwgl/payableBillSettlementDetail";
  import useCurrentInstance from "@/utils/useCurrentInstance";
  import {computed,reactive, ref, toRefs} from "vue";
  import {PagesInterface, PageQueryInterface} from "@/utils/globalInterface";
  import {usePagePlus} from "@/hooks/usePagePlus";
  import {hasPermission} from "@/utils/permissionUtils";
  const { proxy } = useCurrentInstance();
  const crudRef = ref();
  const permissionList = computed(()=>{
    return {
      addBtn: hasPermission(["cwgl:payableBillSettlementDetail:add"]),
      delBtn: hasPermission(["cwgl:payableBillSettlementDetail:remove"]),
      editBtn: hasPermission(["cwgl:payableBillSettlementDetail:edit"]),
      viewBtn: hasPermission(["cwgl:payableBillSettlementDetail:query"]),
    }
  })
  const data = reactive({
    form:<PayableBillSettlementDetailI>{},
    queryParams:<PayableBillSettlementDetailI&PageQueryInterface>{},
    page: <PagesInterface>{
      pageSize: 10,
      total: 0,
      currentPage: 1,
    },
    selectionList:[],
  })
  const {queryParams,form,page,selectionList} = toRefs(data);
  const option = ref({
    pageKey: 'PayableBillSettlementDetail',
    rowKey: 'id',
    column: {
                                id: {
          label: 'ID',
                            },
                                billId: {
          label: '应付账单ID',
                                rules: [
              {
                required: true,
                message: "应付账单ID不能为空", trigger: "blur" }
            ],                  },
                                settlementMethod: {
          label: '结算方式',
                                rules: [
              {
                required: true,
                message: "结算方式不能为空", trigger: "blur" }
            ],                  },
                                paymentBank: {
          label: '付款账户开户行',
                            },
                                paymentBankAccount: {
          label: '付款账户银行账号',
                            },
                                supplierReceivingAccount: {
          label: '供应商收款银行账户',
                            },
                                supplierReceivingBank: {
          label: '供应商收款账户开户行',
                            },
                                paymentDate: {
          label: '付款日期',
                                rules: [
              {
                required: true,
                message: "付款日期不能为空", trigger: "blur" }
            ],                  },
                                paymentAmount: {
          label: '付款金额',
                                rules: [
              {
                required: true,
                message: "付款金额不能为空", trigger: "blur" }
            ],                  },
                                remainingPendingAmount: {
          label: '付款后待付金额',
                            },
                                remark: {
          label: '备注',
                      type: 'textarea', minRows: 3, maxRows: 5,
                            },
                                createBy: {
          label: '创建人',
                            },
                                createTime: {
          label: '创建时间',
                            },
                                updateBy: {
          label: '更新人',
                            },
                                updateTime: {
          label: '更新时间',
                            },
                                deleted: {
          label: '删除标记(0:正常;1:删除)',
                            },
          }
  })
  const { tableData,pageF,rowSave,rowUpdate,rowDel,beforeOpen,searchChange,
    searchReset,selectionChange,onLoad,currentChange,sizeChange,handleDelete,handleExport,handleUpdate,refreshChange} = usePagePlus({
    form:form,
    option:option,
    queryParams:queryParams,
    idKey:'id',
    page:page.value,
    getListApi:listPayableBillSettlementDetail,
    getDetailApi:getPayableBillSettlementDetail,
    exportApi:exportPayableBillSettlementDetail,
    deleteApi:delPayableBillSettlementDetail,
    addApi:addPayableBillSettlementDetail,
    updateApi:updatePayableBillSettlementDetail,
    handleUpdateFunc:()=>{
      crudRef.value.rowEdit(selectionList.value[0]);
    },
    handleSelectionChangeFunc:(selection:any)=>{
      selectionList.value = selection;
    }
  })
</script>
ui/admin-ui3/src/views/cwgl/receivableBillManagement/index.vue
New file
@@ -0,0 +1,245 @@
<template>
  <basicContainer >
    <avue-crud
        :option="option"
        :table-loading="pageF.loading"
        :data="tableData"
        :page="page"
        :permission="permissionList"
        :before-open="beforeOpen"
        v-model="form"
        ref="crudRef"
        @row-update="rowUpdate"
        @row-save="rowSave"
        @refresh-change="refreshChange"
        @row-del="rowDel"
        @search-change="searchChange"
        @search-reset="searchReset"
        @selection-change="selectionChange"
        @current-change="currentChange"
        @size-change="sizeChange"
        @on-load="onLoad"
    >
      <template #menu-left>
        <el-button
            type="success"
            icon="Edit"
            :disabled="pageF.single"
            v-hasPermi="['cwgl:receivableBillManagement:edit']"
            @click="handleUpdate">修改
        </el-button>
        <el-button
            type="danger"
            icon="Delete"
            :disabled="pageF.multiple"
            @click="handleDelete"
            v-hasPermi="['cwgl:receivableBillManagement:remove']"
        >删除
        </el-button>
        <el-button
            type="warning"
            plain
            icon="Download"
            @click="handleExport"
            v-hasPermi="['cwgl:receivableBillManagement:export']"
        >导出
        </el-button>
      </template>
    </avue-crud>
  </basicContainer>
</template>
<script setup name="receivableBillManagement" lang="ts">
  import {ReceivableBillManagementI,addReceivableBillManagement, delReceivableBillManagement, exportReceivableBillManagement, getReceivableBillManagement, listReceivableBillManagement, updateReceivableBillManagement} from "@/api/cwgl/receivableBillManagement";
  import useCurrentInstance from "@/utils/useCurrentInstance";
  import {computed,reactive, ref, toRefs} from "vue";
  import {PagesInterface, PageQueryInterface} from "@/utils/globalInterface";
  import {usePagePlus} from "@/hooks/usePagePlus";
  import {hasPermission} from "@/utils/permissionUtils";
  const { proxy } = useCurrentInstance();
  const crudRef = ref();
  const permissionList = computed(()=>{
    return {
      addBtn: hasPermission(["cwgl:receivableBillManagement:add"]),
      delBtn: hasPermission(["cwgl:receivableBillManagement:remove"]),
      editBtn: hasPermission(["cwgl:receivableBillManagement:edit"]),
      viewBtn: hasPermission(["cwgl:receivableBillManagement:query"]),
    }
  })
  const data = reactive({
    form:<ReceivableBillManagementI>{},
    queryParams:<ReceivableBillManagementI&PageQueryInterface>{},
    page: <PagesInterface>{
      pageSize: 10,
      total: 0,
      currentPage: 1,
    },
    selectionList:[],
  })
  const {queryParams,form,page,selectionList} = toRefs(data);
  const option = ref({
    pageKey: 'ReceivableBillManagement',
    rowKey: 'id',
    column: {
                                id: {
          label: 'ID',
                            },
                                systemNo: {
          label: '系统编号',
                                rules: [
              {
                required: true,
                message: "系统编号不能为空", trigger: "blur" }
            ],                  },
                                billName: {
          label: '账单名称',
                                rules: [
              {
                required: true,
                message: "账单名称不能为空", trigger: "blur" }
            ],                  },
                                customerName: {
          label: '客户名称',
                                rules: [
              {
                required: true,
                message: "客户名称不能为空", trigger: "blur" }
            ],                  },
                                isInternalSettlement: {
          label: '是否内部结算',
                                rules: [
              {
                required: true,
                message: "是否内部结算不能为空", trigger: "blur" }
            ],                  },
                                internalSettlementUnit: {
          label: '内部结算单位',
                            },
                                documentCount: {
          label: '单据数量',
                            },
                                totalAmount: {
          label: '应结算金额',
                            },
                                currency: {
          label: '币制',
                            },
                                discountAmount: {
          label: '减免金额',
                            },
                                receivedAmount: {
          label: '已收金额',
                            },
                                pendingAmount: {
          label: '待收金额',
                            },
                                exchangeRate: {
          label: '汇率',
                            },
                                cnyAmount: {
          label: '人民币金额',
                            },
                                periodType: {
          label: '周期类型',
                                rules: [
              {
                required: true,
                message: "周期类型不能为空", trigger: "change"
                 }
            ],                  },
                                businessStartDate: {
          label: '业务期间开始日期',
                                rules: [
              {
                required: true,
                message: "业务期间开始日期不能为空", trigger: "blur" }
            ],                  },
                                businessEndDate: {
          label: '业务期间结束日期',
                                rules: [
              {
                required: true,
                message: "业务期间结束日期不能为空", trigger: "blur" }
            ],                  },
                                billingStartDate: {
          label: '账期开始日期',
                                rules: [
              {
                required: true,
                message: "账期开始日期不能为空", trigger: "blur" }
            ],                  },
                                billingEndDate: {
          label: '账期结束日期',
                                rules: [
              {
                required: true,
                message: "账期结束日期不能为空", trigger: "blur" }
            ],                  },
                                billGenerateDate: {
          label: '账单生成日期',
                                rules: [
              {
                required: true,
                message: "账单生成日期不能为空", trigger: "blur" }
            ],                  },
                                billSendDate: {
          label: '账单发送日期',
                            },
                                billDueDate: {
          label: '账单到期日期',
                                rules: [
              {
                required: true,
                message: "账单到期日期不能为空", trigger: "blur" }
            ],                  },
                                status: {
          label: '状态(draft:草稿;generated:已生成;sent:已发送;partial_paid:部分收款;paid:已收款;cancelled:已取消)',
                            },
                                remark: {
          label: '备注',
                      type: 'textarea', minRows: 3, maxRows: 5,
                            },
                                createBy: {
          label: '创建人',
                            },
                                createTime: {
          label: '创建时间',
                            },
                                updateBy: {
          label: '更新人',
                            },
                                updateTime: {
          label: '更新时间',
                            },
                                deleted: {
          label: '删除标记(0:正常;1:删除)',
                            },
          }
  })
  const { tableData,pageF,rowSave,rowUpdate,rowDel,beforeOpen,searchChange,
    searchReset,selectionChange,onLoad,currentChange,sizeChange,handleDelete,handleExport,handleUpdate,refreshChange} = usePagePlus({
    form:form,
    option:option,
    queryParams:queryParams,
    idKey:'id',
    page:page.value,
    getListApi:listReceivableBillManagement,
    getDetailApi:getReceivableBillManagement,
    exportApi:exportReceivableBillManagement,
    deleteApi:delReceivableBillManagement,
    addApi:addReceivableBillManagement,
    updateApi:updateReceivableBillManagement,
    handleUpdateFunc:()=>{
      crudRef.value.rowEdit(selectionList.value[0]);
    },
    handleSelectionChangeFunc:(selection:any)=>{
      selectionList.value = selection;
    }
  })
</script>
ui/admin-ui3/src/views/cwgl/receivableBillSettlementDetail/index.vue
New file
@@ -0,0 +1,177 @@
<template>
  <basicContainer >
    <avue-crud
        :option="option"
        :table-loading="pageF.loading"
        :data="tableData"
        :page="page"
        :permission="permissionList"
        :before-open="beforeOpen"
        v-model="form"
        ref="crudRef"
        @row-update="rowUpdate"
        @row-save="rowSave"
        @refresh-change="refreshChange"
        @row-del="rowDel"
        @search-change="searchChange"
        @search-reset="searchReset"
        @selection-change="selectionChange"
        @current-change="currentChange"
        @size-change="sizeChange"
        @on-load="onLoad"
    >
      <template #menu-left>
        <el-button
            type="success"
            icon="Edit"
            :disabled="pageF.single"
            v-hasPermi="['cwgl:receivableBillSettlementDetail:edit']"
            @click="handleUpdate">修改
        </el-button>
        <el-button
            type="danger"
            icon="Delete"
            :disabled="pageF.multiple"
            @click="handleDelete"
            v-hasPermi="['cwgl:receivableBillSettlementDetail:remove']"
        >删除
        </el-button>
        <el-button
            type="warning"
            plain
            icon="Download"
            @click="handleExport"
            v-hasPermi="['cwgl:receivableBillSettlementDetail:export']"
        >导出
        </el-button>
      </template>
    </avue-crud>
  </basicContainer>
</template>
<script setup name="receivableBillSettlementDetail" lang="ts">
  import {ReceivableBillSettlementDetailI,addReceivableBillSettlementDetail, delReceivableBillSettlementDetail, exportReceivableBillSettlementDetail, getReceivableBillSettlementDetail, listReceivableBillSettlementDetail, updateReceivableBillSettlementDetail} from "@/api/cwgl/receivableBillSettlementDetail";
  import useCurrentInstance from "@/utils/useCurrentInstance";
  import {computed,reactive, ref, toRefs} from "vue";
  import {PagesInterface, PageQueryInterface} from "@/utils/globalInterface";
  import {usePagePlus} from "@/hooks/usePagePlus";
  import {hasPermission} from "@/utils/permissionUtils";
  const { proxy } = useCurrentInstance();
  const crudRef = ref();
  const permissionList = computed(()=>{
    return {
      addBtn: hasPermission(["cwgl:receivableBillSettlementDetail:add"]),
      delBtn: hasPermission(["cwgl:receivableBillSettlementDetail:remove"]),
      editBtn: hasPermission(["cwgl:receivableBillSettlementDetail:edit"]),
      viewBtn: hasPermission(["cwgl:receivableBillSettlementDetail:query"]),
    }
  })
  const data = reactive({
    form:<ReceivableBillSettlementDetailI>{},
    queryParams:<ReceivableBillSettlementDetailI&PageQueryInterface>{},
    page: <PagesInterface>{
      pageSize: 10,
      total: 0,
      currentPage: 1,
    },
    selectionList:[],
  })
  const {queryParams,form,page,selectionList} = toRefs(data);
  const option = ref({
    pageKey: 'ReceivableBillSettlementDetail',
    rowKey: 'id',
    column: {
                                id: {
          label: 'ID',
                            },
                                billId: {
          label: '应收账单ID',
                                rules: [
              {
                required: true,
                message: "应收账单ID不能为空", trigger: "blur" }
            ],                  },
                                settlementMethod: {
          label: '结算方式',
                                rules: [
              {
                required: true,
                message: "结算方式不能为空", trigger: "blur" }
            ],                  },
                                customerBank: {
          label: '客户开户行',
                            },
                                customerBankAccount: {
          label: '客户银行账号',
                            },
                                receivingBankAccount: {
          label: '收款银行账户',
                            },
                                receivingBank: {
          label: '收款账户开户行',
                            },
                                receiptDate: {
          label: '收款日期',
                                rules: [
              {
                required: true,
                message: "收款日期不能为空", trigger: "blur" }
            ],                  },
                                receiptAmount: {
          label: '收款金额',
                                rules: [
              {
                required: true,
                message: "收款金额不能为空", trigger: "blur" }
            ],                  },
                                remainingPendingAmount: {
          label: '收款后待收金额',
                            },
                                remark: {
          label: '备注',
                      type: 'textarea', minRows: 3, maxRows: 5,
                            },
                                createBy: {
          label: '创建人',
                            },
                                createTime: {
          label: '创建时间',
                            },
                                updateBy: {
          label: '更新人',
                            },
                                updateTime: {
          label: '更新时间',
                            },
                                deleted: {
          label: '删除标记(0:正常;1:删除)',
                            },
          }
  })
  const { tableData,pageF,rowSave,rowUpdate,rowDel,beforeOpen,searchChange,
    searchReset,selectionChange,onLoad,currentChange,sizeChange,handleDelete,handleExport,handleUpdate,refreshChange} = usePagePlus({
    form:form,
    option:option,
    queryParams:queryParams,
    idKey:'id',
    page:page.value,
    getListApi:listReceivableBillSettlementDetail,
    getDetailApi:getReceivableBillSettlementDetail,
    exportApi:exportReceivableBillSettlementDetail,
    deleteApi:delReceivableBillSettlementDetail,
    addApi:addReceivableBillSettlementDetail,
    updateApi:updateReceivableBillSettlementDetail,
    handleUpdateFunc:()=>{
      crudRef.value.rowEdit(selectionList.value[0]);
    },
    handleSelectionChangeFunc:(selection:any)=>{
      selectionList.value = selection;
    }
  })
</script>