wujianwei
7 天以前 d1b3c20c7a17ec19c9597a774586b5fa5b30d8fd
添加账单审核日志
12个文件已添加
2个文件已修改
1307 ■■■■■ 已修改文件
tms/src/main/java/com/ruoyi/tms/controller/PayableAuditLogController.java 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tms/src/main/java/com/ruoyi/tms/controller/ReceivableAuditLogController.java 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tms/src/main/java/com/ruoyi/tms/domain/PayableAuditLog.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tms/src/main/java/com/ruoyi/tms/domain/ReceivableAuditLog.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tms/src/main/java/com/ruoyi/tms/mapper/PayableAuditLogMapper.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tms/src/main/java/com/ruoyi/tms/mapper/ReceivableAuditLogMapper.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tms/src/main/java/com/ruoyi/tms/service/IPayableAuditLogService.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tms/src/main/java/com/ruoyi/tms/service/IReceivableAuditLogService.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tms/src/main/java/com/ruoyi/tms/service/impl/PayableAuditLogServiceImpl.java 181 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tms/src/main/java/com/ruoyi/tms/service/impl/ReceivableAuditLogServiceImpl.java 181 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tms/src/main/java/com/ruoyi/tms/service/impl/TmsApBillServiceImpl.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tms/src/main/java/com/ruoyi/tms/service/impl/TmsArBillItemServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tms/src/main/resources/mapper/tms/PayableAuditLogMapper.xml 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tms/src/main/resources/mapper/tms/ReceivableAuditLogMapper.xml 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tms/src/main/java/com/ruoyi/tms/controller/PayableAuditLogController.java
New file
@@ -0,0 +1,108 @@
package com.ruoyi.tms.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.tms.domain.PayableAuditLog;
import com.ruoyi.tms.service.IPayableAuditLogService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
 * 应付账单审核日志Controller
 *
 * @author ruoyi
 * @date 2026-04-07
 */
@RestController
@RequestMapping("/tms/payableAuditLog")
public class PayableAuditLogController extends BaseController
{
    @Autowired
    private IPayableAuditLogService payableAuditLogService;
    /**
     * 查询应付账单审核日志列表
     */
    @PreAuthorize("@ss.hasPermi('tms:payableAuditLog:list')")
    @GetMapping("/list")
    public TableDataInfo list(PayableAuditLog payableAuditLog)
    {
        startPage();
        List<PayableAuditLog> list = payableAuditLogService.selectPayableAuditLogList(payableAuditLog);
        return getDataTable(list);
    }
    /**
     * 导出应付账单审核日志列表
     * @param payableAuditLog 查询条件对象
     */
    @PreAuthorize("@ss.hasPermi('tms:payableAuditLog:export')")
    @Log(title = "应付账单审核日志", businessType = BusinessType.EXPORT)
    @GetMapping("/export")
    public AjaxResult export(PayableAuditLog payableAuditLog,String exportKey)
    {
        payableAuditLogService.export(payableAuditLog,exportKey);
        return AjaxResult.success("导出请求成功,请稍后点击下载...!");
    }
    /**
     * 获取应付账单审核日志详细信息
     */
    @PreAuthorize("@ss.hasPermi('tms:payableAuditLog:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Integer id)
    {
        return AjaxResult.success(payableAuditLogService.selectPayableAuditLogById(id));
    }
    /**
     * 新增应付账单审核日志
     */
    @PreAuthorize("@ss.hasPermi('tms:payableAuditLog:add')")
    @Log(title = "应付账单审核日志", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody PayableAuditLog payableAuditLog)
    {
        return toAjax(payableAuditLogService.insertPayableAuditLog(payableAuditLog));
    }
    /**
     * 修改应付账单审核日志
     */
    @PreAuthorize("@ss.hasPermi('tms:payableAuditLog:edit')")
    @Log(title = "应付账单审核日志", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody PayableAuditLog payableAuditLog)
    {
        return toAjax(payableAuditLogService.updatePayableAuditLog(payableAuditLog));
    }
    /**
     * 删除应付账单审核日志
     */
    @PreAuthorize("@ss.hasPermi('tms:payableAuditLog:remove')")
    @Log(title = "应付账单审核日志", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Integer[] ids)
    {
        return toAjax(payableAuditLogService.deletePayableAuditLogByIds(ids));
    }
}
tms/src/main/java/com/ruoyi/tms/controller/ReceivableAuditLogController.java
New file
@@ -0,0 +1,108 @@
package com.ruoyi.tms.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.tms.domain.ReceivableAuditLog;
import com.ruoyi.tms.service.IReceivableAuditLogService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
 * 应收账单审核日志Controller
 *
 * @author ruoyi
 * @date 2026-04-07
 */
@RestController
@RequestMapping("/tms/receivableAuditLog")
public class ReceivableAuditLogController extends BaseController
{
    @Autowired
    private IReceivableAuditLogService receivableAuditLogService;
    /**
     * 查询应收账单审核日志列表
     */
    @PreAuthorize("@ss.hasPermi('tms:receivableAuditLog:list')")
    @GetMapping("/list")
    public TableDataInfo list(ReceivableAuditLog receivableAuditLog)
    {
        startPage();
        List<ReceivableAuditLog> list = receivableAuditLogService.selectReceivableAuditLogList(receivableAuditLog);
        return getDataTable(list);
    }
    /**
     * 导出应收账单审核日志列表
     * @param receivableAuditLog 查询条件对象
     */
    @PreAuthorize("@ss.hasPermi('tms:receivableAuditLog:export')")
    @Log(title = "应收账单审核日志", businessType = BusinessType.EXPORT)
    @GetMapping("/export")
    public AjaxResult export(ReceivableAuditLog receivableAuditLog,String exportKey)
    {
        receivableAuditLogService.export(receivableAuditLog,exportKey);
        return AjaxResult.success("导出请求成功,请稍后点击下载...!");
    }
    /**
     * 获取应收账单审核日志详细信息
     */
    @PreAuthorize("@ss.hasPermi('tms:receivableAuditLog:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Integer id)
    {
        return AjaxResult.success(receivableAuditLogService.selectReceivableAuditLogById(id));
    }
    /**
     * 新增应收账单审核日志
     */
    @PreAuthorize("@ss.hasPermi('tms:receivableAuditLog:add')")
    @Log(title = "应收账单审核日志", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody ReceivableAuditLog receivableAuditLog)
    {
        return toAjax(receivableAuditLogService.insertReceivableAuditLog(receivableAuditLog));
    }
    /**
     * 修改应收账单审核日志
     */
    @PreAuthorize("@ss.hasPermi('tms:receivableAuditLog:edit')")
    @Log(title = "应收账单审核日志", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody ReceivableAuditLog receivableAuditLog)
    {
        return toAjax(receivableAuditLogService.updateReceivableAuditLog(receivableAuditLog));
    }
    /**
     * 删除应收账单审核日志
     */
    @PreAuthorize("@ss.hasPermi('tms:receivableAuditLog:remove')")
    @Log(title = "应收账单审核日志", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Integer[] ids)
    {
        return toAjax(receivableAuditLogService.deleteReceivableAuditLogByIds(ids));
    }
}
tms/src/main/java/com/ruoyi/tms/domain/PayableAuditLog.java
New file
@@ -0,0 +1,47 @@
package com.ruoyi.tms.domain;
import com.ruoyi.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import java.util.Date;
import lombok.Data;
/**
 * 应付账单审核日志对象 payable_audit_log
 *
 * @author ruoyi
 * @date 2026-04-07
 */
@Data
public class PayableAuditLog{
    /** 主键 */
        @TableField("id")
    private Integer id;
    /** 应付账单id */
    @Excel(name = "应付账单id")
        @TableField("head_id")
    private Integer headId;
    /** 创建者 */
        @TableField("create_by")
    private String createBy;
    /** 创建时间 */
        @JsonFormat(pattern = "yyyy-MM-dd")
        @TableField("create_time")
    private Date createTime;
    /** 操作说明 */
    @Excel(name = "操作说明")
        @TableField("operation")
    private String operation;
}
tms/src/main/java/com/ruoyi/tms/domain/ReceivableAuditLog.java
New file
@@ -0,0 +1,47 @@
package com.ruoyi.tms.domain;
import com.ruoyi.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import java.util.Date;
import lombok.Data;
/**
 * 应收账单审核日志对象 receivable_audit_log
 *
 * @author ruoyi
 * @date 2026-04-07
 */
@Data
public class ReceivableAuditLog{
    /** 主键 */
        @TableField("id")
    private Integer id;
    /** 应收账单id */
    @Excel(name = "应收账单id")
        @TableField("head_id")
    private Integer headId;
    /** 创建者 */
        @TableField("create_by")
    private String createBy;
    /** 创建时间 */
        @JsonFormat(pattern = "yyyy-MM-dd")
        @TableField("create_time")
    private Date createTime;
    /** 操作说明 */
    @Excel(name = "操作说明")
        @TableField("operation")
    private String operation;
}
tms/src/main/java/com/ruoyi/tms/mapper/PayableAuditLogMapper.java
New file
@@ -0,0 +1,87 @@
package com.ruoyi.tms.mapper;
import java.util.List;
import com.ruoyi.tms.domain.PayableAuditLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * 应付账单审核日志Mapper接口
 *
 * @author ruoyi
 * @date 2026-04-07
 */
public interface PayableAuditLogMapper  extends BaseMapper<PayableAuditLog>
{
    /**
     * 查询应付账单审核日志
     *
     * @param id 应付账单审核日志ID
     * @return 应付账单审核日志
     */
    public PayableAuditLog selectPayableAuditLogById(Integer id);
    /**
     * 查询应付账单审核日志 记录数
     *
     * @param payableAuditLog 应付账单审核日志
     * @return 应付账单审核日志集合
     */
    public int selectPayableAuditLogCount(PayableAuditLog payableAuditLog);
    /**
     * 查询应付账单审核日志列表
     *
     * @param payableAuditLog 应付账单审核日志
     * @return 应付账单审核日志集合
     */
    public List<PayableAuditLog> selectPayableAuditLogList(PayableAuditLog payableAuditLog);
    /**
     * 新增应付账单审核日志
     *
     * @param payableAuditLog 应付账单审核日志
     * @return 结果
     */
    public int insertPayableAuditLog(PayableAuditLog payableAuditLog);
    /**
     * 新增应付账单审核日志[批量]
     *
     * @param payableAuditLogs 应付账单审核日志
     * @return 结果
     */
    public int insertPayableAuditLogBatch(List<PayableAuditLog> payableAuditLogs);
    /**
     * 修改应付账单审核日志
     *
     * @param payableAuditLog 应付账单审核日志
     * @return 结果
     */
    public int updatePayableAuditLog(PayableAuditLog payableAuditLog);
    /**
     * 修改应付账单审核日志[批量]
     *
     * @param payableAuditLogs 应付账单审核日志
     * @return 结果
     */
    public int updatePayableAuditLogBatch(List<PayableAuditLog> payableAuditLogs);
    /**
     * 删除应付账单审核日志
     *
     * @param id 应付账单审核日志ID
     * @return 结果
     */
    public int deletePayableAuditLogById(Integer id);
    /**
     * 批量删除应付账单审核日志
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deletePayableAuditLogByIds(Integer[] ids);
}
tms/src/main/java/com/ruoyi/tms/mapper/ReceivableAuditLogMapper.java
New file
@@ -0,0 +1,87 @@
package com.ruoyi.tms.mapper;
import java.util.List;
import com.ruoyi.tms.domain.ReceivableAuditLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * 应收账单审核日志Mapper接口
 *
 * @author ruoyi
 * @date 2026-04-07
 */
public interface ReceivableAuditLogMapper  extends BaseMapper<ReceivableAuditLog>
{
    /**
     * 查询应收账单审核日志
     *
     * @param id 应收账单审核日志ID
     * @return 应收账单审核日志
     */
    public ReceivableAuditLog selectReceivableAuditLogById(Integer id);
    /**
     * 查询应收账单审核日志 记录数
     *
     * @param receivableAuditLog 应收账单审核日志
     * @return 应收账单审核日志集合
     */
    public int selectReceivableAuditLogCount(ReceivableAuditLog receivableAuditLog);
    /**
     * 查询应收账单审核日志列表
     *
     * @param receivableAuditLog 应收账单审核日志
     * @return 应收账单审核日志集合
     */
    public List<ReceivableAuditLog> selectReceivableAuditLogList(ReceivableAuditLog receivableAuditLog);
    /**
     * 新增应收账单审核日志
     *
     * @param receivableAuditLog 应收账单审核日志
     * @return 结果
     */
    public int insertReceivableAuditLog(ReceivableAuditLog receivableAuditLog);
    /**
     * 新增应收账单审核日志[批量]
     *
     * @param receivableAuditLogs 应收账单审核日志
     * @return 结果
     */
    public int insertReceivableAuditLogBatch(List<ReceivableAuditLog> receivableAuditLogs);
    /**
     * 修改应收账单审核日志
     *
     * @param receivableAuditLog 应收账单审核日志
     * @return 结果
     */
    public int updateReceivableAuditLog(ReceivableAuditLog receivableAuditLog);
    /**
     * 修改应收账单审核日志[批量]
     *
     * @param receivableAuditLogs 应收账单审核日志
     * @return 结果
     */
    public int updateReceivableAuditLogBatch(List<ReceivableAuditLog> receivableAuditLogs);
    /**
     * 删除应收账单审核日志
     *
     * @param id 应收账单审核日志ID
     * @return 结果
     */
    public int deleteReceivableAuditLogById(Integer id);
    /**
     * 批量删除应收账单审核日志
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteReceivableAuditLogByIds(Integer[] ids);
}
tms/src/main/java/com/ruoyi/tms/service/IPayableAuditLogService.java
New file
@@ -0,0 +1,102 @@
package com.ruoyi.tms.service;
import java.util.List;
import com.ruoyi.tms.domain.PayableAuditLog;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * 应付账单审核日志Service接口
 *
 * @author ruoyi
 * @date 2026-04-07
 */
public interface IPayableAuditLogService extends IService<PayableAuditLog>
{
    /**
     * 查询应付账单审核日志
     *
     * @param id 应付账单审核日志ID
     * @return 应付账单审核日志
     */
    public PayableAuditLog selectPayableAuditLogById(Integer id);
    /**
     * 查询应付账单审核日志 记录数
     *
     * @param payableAuditLog 应付账单审核日志
     * @return 应付账单审核日志集合
     */
    public int selectPayableAuditLogCount(PayableAuditLog payableAuditLog);
    /**
     * 查询应付账单审核日志列表
     *
     * @param payableAuditLog 应付账单审核日志
     * @return 应付账单审核日志集合
     */
    public List<PayableAuditLog> selectPayableAuditLogList(PayableAuditLog payableAuditLog);
    /**
     * 查询应付账单审核日志列表 异步 导出
     *
     * @param payableAuditLog 应付账单审核日志
     * @param exportKey 导出功能的唯一标识
     * @return 应付账单审核日志集合
     */
    public void export(PayableAuditLog payableAuditLog, String exportKey) ;
    /**
     * 新增应付账单审核日志
     *
     * @param payableAuditLog 应付账单审核日志
     * @return 结果
     */
    public int insertPayableAuditLog(PayableAuditLog payableAuditLog);
    /**
     * 新增应付账单审核日志[批量]
     *
     * @param payableAuditLogs 应付账单审核日志
     * @return 结果
     */
    public int insertPayableAuditLogBatch(List<PayableAuditLog> payableAuditLogs);
    /**
     * 修改应付账单审核日志
     *
     * @param payableAuditLog 应付账单审核日志
     * @return 结果
     */
    public int updatePayableAuditLog(PayableAuditLog payableAuditLog);
    /**
     * 修改应付账单审核日志[批量]
     *
     * @param payableAuditLogs 应付账单审核日志
     * @return 结果
     */
    public int updatePayableAuditLogBatch(List<PayableAuditLog> payableAuditLogs);
    /**
     * 批量删除应付账单审核日志
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deletePayableAuditLogByIds(String ids);
    /**
     * 批量删除应付账单审核日志
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deletePayableAuditLogByIds(Integer[] ids);
    /**
     * 删除应付账单审核日志信息
     *
     * @param id 应付账单审核日志ID
     * @return 结果
     */
    public int deletePayableAuditLogById(Integer id);
}
tms/src/main/java/com/ruoyi/tms/service/IReceivableAuditLogService.java
New file
@@ -0,0 +1,102 @@
package com.ruoyi.tms.service;
import java.util.List;
import com.ruoyi.tms.domain.ReceivableAuditLog;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * 应收账单审核日志Service接口
 *
 * @author ruoyi
 * @date 2026-04-07
 */
public interface IReceivableAuditLogService extends IService<ReceivableAuditLog>
{
    /**
     * 查询应收账单审核日志
     *
     * @param id 应收账单审核日志ID
     * @return 应收账单审核日志
     */
    public ReceivableAuditLog selectReceivableAuditLogById(Integer id);
    /**
     * 查询应收账单审核日志 记录数
     *
     * @param receivableAuditLog 应收账单审核日志
     * @return 应收账单审核日志集合
     */
    public int selectReceivableAuditLogCount(ReceivableAuditLog receivableAuditLog);
    /**
     * 查询应收账单审核日志列表
     *
     * @param receivableAuditLog 应收账单审核日志
     * @return 应收账单审核日志集合
     */
    public List<ReceivableAuditLog> selectReceivableAuditLogList(ReceivableAuditLog receivableAuditLog);
    /**
     * 查询应收账单审核日志列表 异步 导出
     *
     * @param receivableAuditLog 应收账单审核日志
     * @param exportKey 导出功能的唯一标识
     * @return 应收账单审核日志集合
     */
    public void export(ReceivableAuditLog receivableAuditLog, String exportKey) ;
    /**
     * 新增应收账单审核日志
     *
     * @param receivableAuditLog 应收账单审核日志
     * @return 结果
     */
    public int insertReceivableAuditLog(ReceivableAuditLog receivableAuditLog);
    /**
     * 新增应收账单审核日志[批量]
     *
     * @param receivableAuditLogs 应收账单审核日志
     * @return 结果
     */
    public int insertReceivableAuditLogBatch(List<ReceivableAuditLog> receivableAuditLogs);
    /**
     * 修改应收账单审核日志
     *
     * @param receivableAuditLog 应收账单审核日志
     * @return 结果
     */
    public int updateReceivableAuditLog(ReceivableAuditLog receivableAuditLog);
    /**
     * 修改应收账单审核日志[批量]
     *
     * @param receivableAuditLogs 应收账单审核日志
     * @return 结果
     */
    public int updateReceivableAuditLogBatch(List<ReceivableAuditLog> receivableAuditLogs);
    /**
     * 批量删除应收账单审核日志
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteReceivableAuditLogByIds(String ids);
    /**
     * 批量删除应收账单审核日志
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteReceivableAuditLogByIds(Integer[] ids);
    /**
     * 删除应收账单审核日志信息
     *
     * @param id 应收账单审核日志ID
     * @return 结果
     */
    public int deleteReceivableAuditLogById(Integer id);
}
tms/src/main/java/com/ruoyi/tms/service/impl/PayableAuditLogServiceImpl.java
New file
@@ -0,0 +1,181 @@
package com.ruoyi.tms.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.tms.mapper.PayableAuditLogMapper;
import com.ruoyi.tms.domain.PayableAuditLog;
import com.ruoyi.tms.service.IPayableAuditLogService;
import com.ruoyi.common.core.text.Convert;
/**
 * 应付账单审核日志Service业务层处理
 *
 * @author ruoyi
 * @date 2026-04-07
 */
@Service
@Transactional(rollbackFor = Exception.class)
public class PayableAuditLogServiceImpl  extends BaseService<PayableAuditLogMapper, PayableAuditLog> implements IPayableAuditLogService
{
    protected final Logger logger = LoggerFactory.getLogger(getClass());
    @Resource
    private PayableAuditLogMapper payableAuditLogMapper;
    /**
     * 查询应付账单审核日志
     *
     * @param id 应付账单审核日志ID
     * @return 应付账单审核日志
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public PayableAuditLog selectPayableAuditLogById(Integer id)
    {
        return payableAuditLogMapper.selectPayableAuditLogById(id);
    }
    /**
     * 查询应付账单审核日志 记录数
     *
     * @param payableAuditLog 应付账单审核日志
     * @return 应付账单审核日志集合
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public int selectPayableAuditLogCount(PayableAuditLog payableAuditLog)
    {
        return payableAuditLogMapper.selectPayableAuditLogCount(payableAuditLog);
    }
    /**
     * 查询应付账单审核日志列表
     *
     * @param payableAuditLog 应付账单审核日志
     * @return 应付账单审核日志
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public List<PayableAuditLog> selectPayableAuditLogList(PayableAuditLog payableAuditLog)
    {
        return payableAuditLogMapper.selectPayableAuditLogList(payableAuditLog);
    }
    /**
     * 查询应付账单审核日志列表 异步 导出
     *
     * @param payableAuditLog 应付账单审核日志
     * @param exportKey 导出功能的唯一标识
     * @return 应付账单审核日志集合
     */
    @DataSource(DataSourceType.SLAVE)
    @Async
    @Override
    public void export(PayableAuditLog payableAuditLog,String exportKey) {
        super.export(PayableAuditLog.class,exportKey,"payableAuditLogData",(pageNum)->{
            PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE);
            return selectPayableAuditLogList(payableAuditLog);
        });
    }
    /**
     * 新增应付账单审核日志
     *
     * @param payableAuditLog 应付账单审核日志
     * @return 结果
     */
    @Override
    public int insertPayableAuditLog(PayableAuditLog payableAuditLog)
    {
        payableAuditLog.setCreateTime(DateUtils.getNowDate());
        return payableAuditLogMapper.insertPayableAuditLog(payableAuditLog);
    }
    /**
     * 新增应付账单审核日志[批量]
     *
     * @param payableAuditLogs 应付账单审核日志
     * @return 结果
     */
    @Override
    public int insertPayableAuditLogBatch(List<PayableAuditLog> payableAuditLogs)
    {
        int rows = payableAuditLogMapper.insertPayableAuditLogBatch(payableAuditLogs);
        return rows;
    }
    /**
     * 修改应付账单审核日志
     *
     * @param payableAuditLog 应付账单审核日志
     * @return 结果
     */
    @Override
    public int updatePayableAuditLog(PayableAuditLog payableAuditLog)
    {
        return payableAuditLogMapper.updatePayableAuditLog(payableAuditLog);
    }
    /**
     * 修改应付账单审核日志[批量]
     *
     * @param payableAuditLogs 应付账单审核日志
     * @return 结果
     */
    @Override
    public int updatePayableAuditLogBatch(List<PayableAuditLog> payableAuditLogs){
        return payableAuditLogMapper.updatePayableAuditLogBatch(payableAuditLogs);
    }
    /**
     * 删除应付账单审核日志对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deletePayableAuditLogByIds(String ids)
    {
        return deletePayableAuditLogByIds(Convert.toIntArray(ids));
    }
    /**
     * 删除应付账单审核日志对象
     *
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deletePayableAuditLogByIds(Integer[] ids)
    {
        return payableAuditLogMapper.deletePayableAuditLogByIds(ids);
    }
    /**
     * 删除应付账单审核日志信息
     *
     * @param id 应付账单审核日志ID
     * @return 结果
     */
    @Override
    public int deletePayableAuditLogById(Integer id)
    {
        return payableAuditLogMapper.deletePayableAuditLogById(id);
    }
}
tms/src/main/java/com/ruoyi/tms/service/impl/ReceivableAuditLogServiceImpl.java
New file
@@ -0,0 +1,181 @@
package com.ruoyi.tms.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.tms.mapper.ReceivableAuditLogMapper;
import com.ruoyi.tms.domain.ReceivableAuditLog;
import com.ruoyi.tms.service.IReceivableAuditLogService;
import com.ruoyi.common.core.text.Convert;
/**
 * 应收账单审核日志Service业务层处理
 *
 * @author ruoyi
 * @date 2026-04-07
 */
@Service
@Transactional(rollbackFor = Exception.class)
public class ReceivableAuditLogServiceImpl  extends BaseService<ReceivableAuditLogMapper, ReceivableAuditLog> implements IReceivableAuditLogService
{
    protected final Logger logger = LoggerFactory.getLogger(getClass());
    @Resource
    private ReceivableAuditLogMapper receivableAuditLogMapper;
    /**
     * 查询应收账单审核日志
     *
     * @param id 应收账单审核日志ID
     * @return 应收账单审核日志
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public ReceivableAuditLog selectReceivableAuditLogById(Integer id)
    {
        return receivableAuditLogMapper.selectReceivableAuditLogById(id);
    }
    /**
     * 查询应收账单审核日志 记录数
     *
     * @param receivableAuditLog 应收账单审核日志
     * @return 应收账单审核日志集合
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public int selectReceivableAuditLogCount(ReceivableAuditLog receivableAuditLog)
    {
        return receivableAuditLogMapper.selectReceivableAuditLogCount(receivableAuditLog);
    }
    /**
     * 查询应收账单审核日志列表
     *
     * @param receivableAuditLog 应收账单审核日志
     * @return 应收账单审核日志
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public List<ReceivableAuditLog> selectReceivableAuditLogList(ReceivableAuditLog receivableAuditLog)
    {
        return receivableAuditLogMapper.selectReceivableAuditLogList(receivableAuditLog);
    }
    /**
     * 查询应收账单审核日志列表 异步 导出
     *
     * @param receivableAuditLog 应收账单审核日志
     * @param exportKey 导出功能的唯一标识
     * @return 应收账单审核日志集合
     */
    @DataSource(DataSourceType.SLAVE)
    @Async
    @Override
    public void export(ReceivableAuditLog receivableAuditLog,String exportKey) {
        super.export(ReceivableAuditLog.class,exportKey,"receivableAuditLogData",(pageNum)->{
            PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE);
            return selectReceivableAuditLogList(receivableAuditLog);
        });
    }
    /**
     * 新增应收账单审核日志
     *
     * @param receivableAuditLog 应收账单审核日志
     * @return 结果
     */
    @Override
    public int insertReceivableAuditLog(ReceivableAuditLog receivableAuditLog)
    {
        receivableAuditLog.setCreateTime(DateUtils.getNowDate());
        return receivableAuditLogMapper.insertReceivableAuditLog(receivableAuditLog);
    }
    /**
     * 新增应收账单审核日志[批量]
     *
     * @param receivableAuditLogs 应收账单审核日志
     * @return 结果
     */
    @Override
    public int insertReceivableAuditLogBatch(List<ReceivableAuditLog> receivableAuditLogs)
    {
        int rows = receivableAuditLogMapper.insertReceivableAuditLogBatch(receivableAuditLogs);
        return rows;
    }
    /**
     * 修改应收账单审核日志
     *
     * @param receivableAuditLog 应收账单审核日志
     * @return 结果
     */
    @Override
    public int updateReceivableAuditLog(ReceivableAuditLog receivableAuditLog)
    {
        return receivableAuditLogMapper.updateReceivableAuditLog(receivableAuditLog);
    }
    /**
     * 修改应收账单审核日志[批量]
     *
     * @param receivableAuditLogs 应收账单审核日志
     * @return 结果
     */
    @Override
    public int updateReceivableAuditLogBatch(List<ReceivableAuditLog> receivableAuditLogs){
        return receivableAuditLogMapper.updateReceivableAuditLogBatch(receivableAuditLogs);
    }
    /**
     * 删除应收账单审核日志对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteReceivableAuditLogByIds(String ids)
    {
        return deleteReceivableAuditLogByIds(Convert.toIntArray(ids));
    }
    /**
     * 删除应收账单审核日志对象
     *
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteReceivableAuditLogByIds(Integer[] ids)
    {
        return receivableAuditLogMapper.deleteReceivableAuditLogByIds(ids);
    }
    /**
     * 删除应收账单审核日志信息
     *
     * @param id 应收账单审核日志ID
     * @return 结果
     */
    @Override
    public int deleteReceivableAuditLogById(Integer id)
    {
        return receivableAuditLogMapper.deleteReceivableAuditLogById(id);
    }
}
tms/src/main/java/com/ruoyi/tms/service/impl/TmsApBillServiceImpl.java
@@ -38,6 +38,8 @@
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;
import com.alibaba.fastjson2.JSON;
import com.ruoyi.tms.domain.PayableAuditLog;
import com.ruoyi.tms.service.IPayableAuditLogService;
/**
 * 应付账单Service业务层处理
@@ -64,6 +66,9 @@
    @Autowired
    private RestTemplate restTemplate;
    @Autowired
    private IPayableAuditLogService payableAuditLogService;
    @Value("${custom.cwxtApi.url}")
    private String url;
@@ -265,6 +270,16 @@
    }
    /**
     * 添加应付账单审核日志
     *
     * @param auditLog 审核日志
     * @return 结果
     */
    public int addApBillAuditLog(PayableAuditLog auditLog) {
        return payableAuditLogService.insertPayableAuditLog(auditLog);
    }
    /**
     * 向外部系统推送应付数据
     * @param tmsApBill 应付账单
     * @param tmsPayableFeeList 应付费用列表
tms/src/main/java/com/ruoyi/tms/service/impl/TmsArBillItemServiceImpl.java
@@ -19,6 +19,9 @@
import com.ruoyi.tms.domain.TmsArBillItem;
import com.ruoyi.tms.service.ITmsArBillItemService;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.tms.domain.ReceivableAuditLog;
import com.ruoyi.tms.service.IReceivableAuditLogService;
import org.springframework.beans.factory.annotation.Autowired;
/**
 * 应收账单明细Service业务层处理
@@ -33,6 +36,9 @@
    protected final Logger logger = LoggerFactory.getLogger(getClass());
    @Resource
    private TmsArBillItemMapper tmsArBillItemMapper;
    @Autowired
    private IReceivableAuditLogService receivableAuditLogService;
    /**
@@ -178,4 +184,14 @@
    {
        return tmsArBillItemMapper.deleteTmsArBillItemById(id);
    }
    /**
     * 添加应收账单审核日志
     *
     * @param auditLog 审核日志
     * @return 结果
     */
    public int addArBillAuditLog(ReceivableAuditLog auditLog) {
        return receivableAuditLogService.insertReceivableAuditLog(auditLog);
    }
}
tms/src/main/resources/mapper/tms/PayableAuditLogMapper.xml
New file
@@ -0,0 +1,113 @@
<?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.tms.mapper.PayableAuditLogMapper">
    <resultMap type="com.ruoyi.tms.domain.PayableAuditLog" id="PayableAuditLogResult">
        <result property="id"    column="id"    />
        <result property="headId"    column="head_id"    />
        <result property="createBy"    column="create_by"    />
        <result property="createTime"    column="create_time"    />
        <result property="operation"    column="operation"    />
    </resultMap>
    <sql id="selectPayableAuditLogVo">
        select thisTab.id, thisTab.head_id, thisTab.create_by, thisTab.create_time, thisTab.operation from payable_audit_log AS thisTab
    </sql>
    <sql id="selectPayableAuditLogVoCount">
        select count(0) from payable_audit_log as thisTab
    </sql>
    <sql id="whereCondition">
        <if test="headId != null "> and thisTab.head_id = #{headId}</if>
        <if test="operation != null  and operation != ''"> and thisTab.operation = #{operation}</if>
    </sql>
    <!--查询-->
    <select id="selectPayableAuditLogById" parameterType="Integer" resultMap="PayableAuditLogResult">
        <include refid="selectPayableAuditLogVo"/>
        where id = #{id}
    </select>
    <select id="selectPayableAuditLogCount" parameterType="com.ruoyi.tms.domain.PayableAuditLog" resultType="int">
        <include refid="selectPayableAuditLogVoCount"/>
        <where>
            <include refid="whereCondition"/>
        </where>
    </select>
    <select id="selectPayableAuditLogList" parameterType="com.ruoyi.tms.domain.PayableAuditLog" resultMap="PayableAuditLogResult">
        <include refid="selectPayableAuditLogVo"/>
        <where>
            <include refid="whereCondition"/>
        </where>
        order by thisTab.id desc
    </select>
    <!-- 新增 -->
    <insert id="insertPayableAuditLog" parameterType="com.ruoyi.tms.domain.PayableAuditLog"  useGeneratedKeys="true" keyProperty="id">
        insert into payable_audit_log
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="headId != null">head_id,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="operation != null">operation,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="headId != null">#{headId},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="operation != null">#{operation},</if>
         </trim>
    </insert>
    <insert id="insertPayableAuditLogBatch" parameterType="java.util.List"  useGeneratedKeys="true" keyProperty="id">
        insert into payable_audit_log
        <trim prefix="(" suffix=") values" suffixOverrides=",">
            id,head_id,create_by,create_time,operation,
        </trim>
        <foreach item="item" index="index" collection="list" separator=",">
            <trim prefix="(" suffix=") " suffixOverrides=",">
                #{item.id},#{item.headId},#{item.createBy},#{item.createTime},#{item.operation},
            </trim>
        </foreach>
    </insert>
    <!-- 修改 -->
    <update id="updatePayableAuditLog" parameterType="com.ruoyi.tms.domain.PayableAuditLog">
        update payable_audit_log
        <trim prefix="SET" suffixOverrides=",">
            <if test="headId != null">head_id = #{headId},</if>
            <if test="createBy != null">create_by = #{createBy},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="operation != null">operation = #{operation},</if>
        </trim>
        where id = #{id}
    </update>
    <!-- 修改 -->
    <update id="updatePayableAuditLogBatch" parameterType="java.util.List">
        <foreach collection="list" item="item" index="index" separator=";">
            update payable_audit_log
            <trim prefix="SET" suffixOverrides=",">
                <if test="item.headId != null">head_id = #{item.headId},</if>
                <if test="item.createBy != null">create_by = #{item.createBy},</if>
                <if test="item.createTime != null">create_time = #{item.createTime},</if>
                <if test="item.operation != null">operation = #{item.operation},</if>
            </trim>
        where id = #{item.id}
        </foreach>
    </update>
    <!--删除-->
    <delete id="deletePayableAuditLogById" parameterType="Integer">
        delete from payable_audit_log where id = #{id}
    </delete>
    <delete id="deletePayableAuditLogByIds" parameterType="Integer">
        delete from payable_audit_log where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>
tms/src/main/resources/mapper/tms/ReceivableAuditLogMapper.xml
New file
@@ -0,0 +1,113 @@
<?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.tms.mapper.ReceivableAuditLogMapper">
    <resultMap type="com.ruoyi.tms.domain.ReceivableAuditLog" id="ReceivableAuditLogResult">
        <result property="id"    column="id"    />
        <result property="headId"    column="head_id"    />
        <result property="createBy"    column="create_by"    />
        <result property="createTime"    column="create_time"    />
        <result property="operation"    column="operation"    />
    </resultMap>
    <sql id="selectReceivableAuditLogVo">
        select thisTab.id, thisTab.head_id, thisTab.create_by, thisTab.create_time, thisTab.operation from receivable_audit_log AS thisTab
    </sql>
    <sql id="selectReceivableAuditLogVoCount">
        select count(0) from receivable_audit_log as thisTab
    </sql>
    <sql id="whereCondition">
        <if test="headId != null "> and thisTab.head_id = #{headId}</if>
        <if test="operation != null  and operation != ''"> and thisTab.operation = #{operation}</if>
    </sql>
    <!--查询-->
    <select id="selectReceivableAuditLogById" parameterType="Integer" resultMap="ReceivableAuditLogResult">
        <include refid="selectReceivableAuditLogVo"/>
        where id = #{id}
    </select>
    <select id="selectReceivableAuditLogCount" parameterType="com.ruoyi.tms.domain.ReceivableAuditLog" resultType="int">
        <include refid="selectReceivableAuditLogVoCount"/>
        <where>
            <include refid="whereCondition"/>
        </where>
    </select>
    <select id="selectReceivableAuditLogList" parameterType="com.ruoyi.tms.domain.ReceivableAuditLog" resultMap="ReceivableAuditLogResult">
        <include refid="selectReceivableAuditLogVo"/>
        <where>
            <include refid="whereCondition"/>
        </where>
        order by thisTab.id desc
    </select>
    <!-- 新增 -->
    <insert id="insertReceivableAuditLog" parameterType="com.ruoyi.tms.domain.ReceivableAuditLog"  useGeneratedKeys="true" keyProperty="id">
        insert into receivable_audit_log
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="headId != null">head_id,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="operation != null">operation,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="headId != null">#{headId},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="operation != null">#{operation},</if>
         </trim>
    </insert>
    <insert id="insertReceivableAuditLogBatch" parameterType="java.util.List"  useGeneratedKeys="true" keyProperty="id">
        insert into receivable_audit_log
        <trim prefix="(" suffix=") values" suffixOverrides=",">
            id,head_id,create_by,create_time,operation,
        </trim>
        <foreach item="item" index="index" collection="list" separator=",">
            <trim prefix="(" suffix=") " suffixOverrides=",">
                #{item.id},#{item.headId},#{item.createBy},#{item.createTime},#{item.operation},
            </trim>
        </foreach>
    </insert>
    <!-- 修改 -->
    <update id="updateReceivableAuditLog" parameterType="com.ruoyi.tms.domain.ReceivableAuditLog">
        update receivable_audit_log
        <trim prefix="SET" suffixOverrides=",">
            <if test="headId != null">head_id = #{headId},</if>
            <if test="createBy != null">create_by = #{createBy},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="operation != null">operation = #{operation},</if>
        </trim>
        where id = #{id}
    </update>
    <!-- 修改 -->
    <update id="updateReceivableAuditLogBatch" parameterType="java.util.List">
        <foreach collection="list" item="item" index="index" separator=";">
            update receivable_audit_log
            <trim prefix="SET" suffixOverrides=",">
                <if test="item.headId != null">head_id = #{item.headId},</if>
                <if test="item.createBy != null">create_by = #{item.createBy},</if>
                <if test="item.createTime != null">create_time = #{item.createTime},</if>
                <if test="item.operation != null">operation = #{item.operation},</if>
            </trim>
        where id = #{item.id}
        </foreach>
    </update>
    <!--删除-->
    <delete id="deleteReceivableAuditLogById" parameterType="Integer">
        delete from receivable_audit_log where id = #{id}
    </delete>
    <delete id="deleteReceivableAuditLogByIds" parameterType="Integer">
        delete from receivable_audit_log where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>