| New file |
| | |
| | | package com.ruoyi.api.third.controller; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.tms.domain.PayableAuditLog; |
| | | import com.ruoyi.tms.domain.ReceivableAuditLog; |
| | | import com.ruoyi.tms.service.IPayableAuditLogService; |
| | | import com.ruoyi.tms.service.IReceivableAuditLogService; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | /** |
| | | * 审核日志接收Controller |
| | | * 用于接收其他系统发送的应付账单和应收账单的审核日志 |
| | | * |
| | | * @author ruoyi |
| | | * @date 2026-04-07 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/api/third/audit") |
| | | @Slf4j |
| | | public class AuditLogController { |
| | | |
| | | @Autowired |
| | | private IPayableAuditLogService payableAuditLogService; |
| | | |
| | | @Autowired |
| | | private IReceivableAuditLogService receivableAuditLogService; |
| | | |
| | | /** |
| | | * 接收应付账单审核日志 |
| | | * |
| | | * @param auditLog 应付账单审核日志 |
| | | * @return 结果 |
| | | */ |
| | | @PostMapping("/ap-bill") |
| | | public AjaxResult receiveApBillAuditLog(@RequestBody PayableAuditLog auditLog) { |
| | | try { |
| | | log.info("接收到应付账单审核日志: {}", auditLog); |
| | | int result = payableAuditLogService.insertPayableAuditLog(auditLog); |
| | | if (result > 0) { |
| | | return AjaxResult.success("接收成功"); |
| | | } else { |
| | | return AjaxResult.error("接收失败"); |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("接收应付账单审核日志失败", e); |
| | | return AjaxResult.error("接收失败: " + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 接收应收账单审核日志 |
| | | * |
| | | * @param auditLog 应收账单审核日志 |
| | | * @return 结果 |
| | | */ |
| | | @PostMapping("/ar-bill") |
| | | public AjaxResult receiveArBillAuditLog(@RequestBody ReceivableAuditLog auditLog) { |
| | | try { |
| | | log.info("接收到应收账单审核日志: {}", auditLog); |
| | | int result = receivableAuditLogService.insertReceivableAuditLog(auditLog); |
| | | if (result > 0) { |
| | | return AjaxResult.success("接收成功"); |
| | | } else { |
| | | return AjaxResult.error("接收失败"); |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("接收应收账单审核日志失败", e); |
| | | return AjaxResult.error("接收失败: " + e.getMessage()); |
| | | } |
| | | } |
| | | } |
| New file |
| | |
| | | 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)); |
| | | } |
| | | } |
| New file |
| | |
| | | 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)); |
| | | } |
| | | } |
| New file |
| | |
| | | package com.ruoyi.tms.domain; |
| | | |
| | | 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_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; |
| | | |
| | | |
| | | } |
| New file |
| | |
| | | package com.ruoyi.tms.domain; |
| | | |
| | | 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_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; |
| | | |
| | | |
| | | } |
| New file |
| | |
| | | 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); |
| | | } |
| New file |
| | |
| | | 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); |
| | | } |
| New file |
| | |
| | | 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); |
| | | } |
| New file |
| | |
| | | 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); |
| | | } |
| New file |
| | |
| | | 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); |
| | | } |
| | | } |
| New file |
| | |
| | | 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); |
| | | } |
| | | } |
| | |
| | | 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业务层处理 |
| | |
| | | |
| | | @Autowired |
| | | private RestTemplate restTemplate; |
| | | |
| | | @Autowired |
| | | private IPayableAuditLogService payableAuditLogService; |
| | | |
| | | @Value("${custom.cwxtApi.url}") |
| | | private String url; |
| | |
| | | } |
| | | |
| | | /** |
| | | * 添加应付账单审核日志 |
| | | * |
| | | * @param auditLog 审核日志 |
| | | * @return 结果 |
| | | */ |
| | | public int addApBillAuditLog(PayableAuditLog auditLog) { |
| | | return payableAuditLogService.insertPayableAuditLog(auditLog); |
| | | } |
| | | |
| | | /** |
| | | * 向外部系统推送应付数据 |
| | | * @param tmsApBill 应付账单 |
| | | * @param tmsPayableFeeList 应付费用列表 |
| | |
| | | billMap.put("billSendDate", ""); |
| | | billMap.put("billDueDate", ""); |
| | | billMap.put("remark", ""); |
| | | billMap.put("sourceSystemId", tmsApBill.getId()); |
| | | |
| | | // 构建fees部分 |
| | | List<java.util.Map<String, Object>> feesList = new java.util.ArrayList<>(); |
| | |
| | | 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业务层处理 |
| | |
| | | protected final Logger logger = LoggerFactory.getLogger(getClass()); |
| | | @Resource |
| | | private TmsArBillItemMapper tmsArBillItemMapper; |
| | | |
| | | @Autowired |
| | | private IReceivableAuditLogService receivableAuditLogService; |
| | | |
| | | |
| | | /** |
| | |
| | | { |
| | | return tmsArBillItemMapper.deleteTmsArBillItemById(id); |
| | | } |
| | | |
| | | /** |
| | | * 添加应收账单审核日志 |
| | | * |
| | | * @param auditLog 审核日志 |
| | | * @return 结果 |
| | | */ |
| | | public int addArBillAuditLog(ReceivableAuditLog auditLog) { |
| | | return receivableAuditLogService.insertReceivableAuditLog(auditLog); |
| | | } |
| | | } |
| | |
| | | billMap.put("settlementPeriod", ""); |
| | | billMap.put("status", "0"); |
| | | billMap.put("remark", ""); |
| | | billMap.put("sourceSystemId", tmsArBill.getId()); |
| | | |
| | | // 构建fees部分 |
| | | List<java.util.Map<String, Object>> feesList = new java.util.ArrayList<>(); |
| New file |
| | |
| | | <?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> |
| New file |
| | |
| | | <?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> |
| | |
| | | method: 'post', |
| | | }) |
| | | } |
| | | /** |
| | | * 查询应付账单审核日志详细 |
| | | */ |
| | | export const getPayableAuditLog:requestType = (query) => { |
| | | return request({ |
| | | url: '/tms/payableAuditLog/list', |
| | | method:'get', |
| | | params: query |
| | | }) |
| | | } |
| | |
| | | method: 'post', |
| | | }) |
| | | } |
| | | /** |
| | | * 查询应收账单审核日志列表 |
| | | */ |
| | | export const listReceivableAuditLog:requestType = (query) => { |
| | | return request({ |
| | | url: '/tms/receivableAuditLog/list', |
| | | method:'get', |
| | | params:query |
| | | }) |
| | | } |
| | |
| | | isShow: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | title: { // 1. 定义 prop |
| | | type: String, |
| | | default: '流程日志' |
| | | } |
| | | }) |
| | | console.log(props); |
| | |
| | | pageF, tableData, getList, |
| | | handleQuery, resetQuery, |
| | | } = usePagePlus({ |
| | | title: '流程日志', |
| | | title: props.title, |
| | | queryParams: queryParams.value, |
| | | // getListApi: listDzInoutOrder, |
| | | resetQueryFunc: () => { |
| | |
| | | }) |
| | | </script> |
| | | <template> |
| | | <el-dialog v-model="pageF.drawerOpen" title="流程日志" append-to-body width="1000px"> |
| | | <el-dialog v-model="pageF.drawerOpen" :title="props.title" append-to-body width="1000px"> |
| | | <div class="app-container" style="padding-top: 0;"> |
| | | <el-table ref="multipleTableRef" :data="props.flowParams"> |
| | | <el-table-column align="center" label="处理时间" prop="createTime" /> |
| | |
| | | <template> |
| | | <basicContainer> |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="pageF.loading" |
| | | :data="tableData" |
| | | :page="page" |
| | | :permission="permissionList" |
| | | :before-open="beforeOpen" |
| | | v-model="form" v-model:search="queryParams" |
| | | 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" |
| | | > |
| | | <avue-crud :option="option" :table-loading="pageF.loading" :data="tableData" :page="page" |
| | | :permission="permissionList" :before-open="beforeOpen" v-model="form" v-model:search="queryParams" 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"--> |
| | |
| | | <!-- v-hasPermi="['tms:tmsApBill:remove']"--> |
| | | <!-- >删除--> |
| | | <!-- </el-button>--> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="Download" |
| | | @click="handleExport" |
| | | v-hasPermi="['tms:tmsApBill:export']" |
| | | >导出 |
| | | <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['tms:tmsApBill:export']">导出 |
| | | </el-button> |
| | | </template> |
| | | <template #menu="{row}"> |
| | | <template #menu="{ row }"> |
| | | <!-- <el-link size="small" type="primary" v-if="row.status != 2" |
| | | @click="handleJs(row)" class="link-btn" :underline="false" |
| | | icon="el-icon-tickets">结算 |
| | | </el-link> --> |
| | | <el-link size="small" type="primary" v-if="row.pushStatus == '3' || row.pushStatus == '4'" |
| | | <el-link size="small" type="primary" v-if="row.pushStatus == '3' || row.pushStatus == '4'" |
| | | @click="handleManualPush(row)" class="link-btn" underline="never" icon="el-icon-upload">手动推送 |
| | | </el-link> |
| | | <el-link size="small" type="primary" v-if="row.status == 0" |
| | | @click="handleEdit(row)" class="link-btn" :underline="false" |
| | | icon="el-icon-edit">账单确认 |
| | | <el-link size="small" type="primary" v-if="row.status == 0" @click="handleEdit(row)" class="link-btn" |
| | | :underline="false" icon="el-icon-edit">账单确认 |
| | | </el-link> |
| | | <el-link size="small" type="primary" |
| | | @click="handleView(row)" class="link-btn" :underline="false" |
| | | icon="el-icon-view">查看 |
| | | <el-link size="small" type="primary" @click="handleView(row)" class="link-btn" :underline="false" |
| | | icon="el-icon-view">查看 |
| | | </el-link> |
| | | <el-link size="small" type="primary" |
| | | @click="handleLog(row)" class="link-btn" :underline="false" |
| | | icon="el-icon-tickets">日志 |
| | | <!-- <el-link size="small" type="primary" @click="handleLog(row)" class="link-btn" :underline="false" |
| | | icon="el-icon-tickets">日志 |
| | | </el-link> --> |
| | | |
| | | <el-link size="small" type="primary" @click="handleFlow(row)" class="link-btn" underline="never" |
| | | icon="el-icon-document"> |
| | | 审核日志 |
| | | </el-link> |
| | | </template> |
| | | </avue-crud> |
| | | |
| | | <el-dialog :title="pageF.title" v-model="pageF.open" class="avue-dialog avue-dialog--top" width="80%"> |
| | | |
| | | <avue-form v-if="opt == 'js'" v-model="boxForm" ref="boxFormRef" |
| | | :option="boxFormOption"> |
| | | <avue-form v-if="opt == 'js'" v-model="boxForm" ref="boxFormRef" :option="boxFormOption"> |
| | | <template #settleAmount> |
| | | <avue-input-number :min="0" :max="form.actualSettlementAmount" v-model="boxForm.settleAmount" placeholder="请输入结算金额"></avue-input-number> |
| | | <avue-input-number :min="0" :max="form.actualSettlementAmount" v-model="boxForm.settleAmount" |
| | | placeholder="请输入结算金额"></avue-input-number> |
| | | |
| | | </template> |
| | | </avue-form> |
| | | <el-descriptions :column="3" title="账单基本信息" border> |
| | | <el-descriptions-item label="账单系统编号">{{form.systemNo}}</el-descriptions-item> |
| | | <el-descriptions :column="3" title="账单基本信息" border> |
| | | <el-descriptions-item label="账单系统编号">{{ form.systemNo }}</el-descriptions-item> |
| | | <el-descriptions-item label="账单名称"> |
| | | <div v-if="opt === 'edit'"> |
| | | <el-input v-model="form.billName" placeholder="请输入账单名称" /> |
| | | </div> |
| | | <div v-else>{{form.billName}}</div> |
| | | <div v-else>{{ form.billName }}</div> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="客户名称">{{form.customerName}}</el-descriptions-item> |
| | | <el-descriptions-item label="应结算金额">{{form.settleAmount}}</el-descriptions-item> |
| | | <el-descriptions-item label="客户名称">{{ form.customerName }}</el-descriptions-item> |
| | | <el-descriptions-item label="应结算金额">{{ form.settleAmount }}</el-descriptions-item> |
| | | <el-descriptions-item label="减免金额"> |
| | | <div v-if="opt === 'edit'"> |
| | | <el-input-number :max="form.settleAmount" v-model="form.deductionAmount" placeholder="请输入减免金额" @change="deductionAmountChange" /> |
| | | <el-input-number :max="form.settleAmount" v-model="form.deductionAmount" placeholder="请输入减免金额" |
| | | @change="deductionAmountChange" /> |
| | | </div> |
| | | <div v-else>{{form.deductionAmount}}</div> |
| | | <div v-else>{{ form.deductionAmount }}</div> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="实际结算金额" v-if="opt == 'edit'">{{form.actualSettlementAmount}}</el-descriptions-item> |
| | | <el-descriptions-item label="实际结算金额" v-if="opt == 'edit'">{{ form.actualSettlementAmount }}</el-descriptions-item> |
| | | <el-descriptions-item label="减免原因" v-if="opt == 'edit'"> |
| | | <div v-if="opt === 'edit'"> |
| | | <el-input v-model="form.reasonReduction" placeholder="请输入减免原因" /> |
| | | </div> |
| | | <div v-else>{{form.reasonReduction}}</div></el-descriptions-item> |
| | | <el-descriptions-item label="已结算金额" v-if="opt == 'js'">{{form.settledAmount}}</el-descriptions-item> |
| | | <el-descriptions-item label="待结算金额" v-if="opt == 'js'">{{Number(form.settleAmount) - Number(form.settledAmount)}}</el-descriptions-item> |
| | | <div v-else>{{ form.reasonReduction }}</div> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="已结算金额" v-if="opt == 'js'">{{ form.settledAmount }}</el-descriptions-item> |
| | | <el-descriptions-item label="待结算金额" v-if="opt == 'js'">{{ Number(form.settleAmount) - |
| | | Number(form.settledAmount)}}</el-descriptions-item> |
| | | </el-descriptions> |
| | | <h3>关联明细</h3> |
| | | <avue-crud |
| | | :option="YSGenerateTableOption" ref="itemsTableRef" |
| | | :data="form.items" |
| | | > |
| | | <template #menu="{row}"> |
| | | <el-link size="small" type="primary" |
| | | @click="handleCancel(row)" class="link-btn" :underline="false" |
| | | icon="el-icon-close">取消关联 |
| | | <avue-crud :option="YSGenerateTableOption" ref="itemsTableRef" :data="form.items"> |
| | | <template #menu="{ row }"> |
| | | <el-link size="small" type="primary" @click="handleCancel(row)" class="link-btn" :underline="false" |
| | | icon="el-icon-close">取消关联 |
| | | </el-link> |
| | | </template> |
| | | |
| | |
| | | </el-dialog> |
| | | <el-dialog :title="pageF.title" v-model="open2" class="avue-dialog avue-dialog--top" width="80%"> |
| | | |
| | | <avue-crud |
| | | :option="logTableOption" ref="itemsTableRef2" |
| | | :data="logTable" |
| | | > |
| | | <avue-crud :option="logTableOption" ref="itemsTableRef2" :data="logTable"> |
| | | |
| | | </avue-crud> |
| | | |
| | |
| | | |
| | | |
| | | </basicContainer> |
| | | <flowLog ref="flowLogIshow" :isShow="false" title="审核日志" :flowParams="flowParams"></flowLog> |
| | | </template> |
| | | |
| | | <script setup name="tmsApBill" lang="ts"> |
| | |
| | | exportTmsApBill, |
| | | getTmsApBill, |
| | | listTmsApBill, |
| | | updateTmsApBill,manualPushTmsApBill |
| | | updateTmsApBill, manualPushTmsApBill,getPayableAuditLog |
| | | } from "@/api/tms/tmsApBill"; |
| | | 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"; |
| | | import {cancelArBill, getTmsArBill} from "@/api/tms/tmsArBill"; |
| | | import {ElMessage, ElMessageBox} from "element-plus"; |
| | | import { computed, reactive, ref, toRefs } from "vue"; |
| | | import { PagesInterface, PageQueryInterface } from "@/utils/globalInterface"; |
| | | import { usePagePlus } from "@/hooks/usePagePlus"; |
| | | import { hasPermission } from "@/utils/permissionUtils"; |
| | | import { cancelArBill, getTmsArBill } from "@/api/tms/tmsArBill"; |
| | | import { ElMessage, ElMessageBox } from "element-plus"; |
| | | |
| | | const {proxy} = useCurrentInstance(); |
| | | const { proxy } = useCurrentInstance(); |
| | | const crudRef = ref(); |
| | | |
| | | const permissionList = computed(() => { |
| | |
| | | }, |
| | | selectionList: [], |
| | | opt: '', |
| | | boxForm:<any> {}, |
| | | boxForm: <any>{}, |
| | | open2: false |
| | | }) |
| | | const {queryParams, form, page, selectionList,opt,boxForm,open2} = toRefs(data); |
| | | const { queryParams, form, page, selectionList, opt, boxForm, open2 } = toRefs(data); |
| | | const option = ref({ |
| | | pageKey: 'TmsApBill', |
| | | rowKey: 'id', |
| | |
| | | // }, |
| | | systemNo: { |
| | | label: '系统编号', |
| | | hide: false,minWidth:150, |
| | | hide: false, minWidth: 150, |
| | | search: true, |
| | | }, |
| | | billName: { |
| | | label: '账单名称', |
| | | hide: false, |
| | | search: true,minWidth:220, |
| | | search: true, minWidth: 220, |
| | | showOverflowTooltip: true |
| | | }, |
| | | serviceProviderName: { |
| | | label: '供应商名称', |
| | | hide: false, |
| | | search: true,minWidth:220, |
| | | search: true, minWidth: 220, |
| | | showOverflowTooltip: true |
| | | |
| | | }, |
| | | dispatchCount: { |
| | | label: '调度单数量', |
| | | hide: false, |
| | | search: false,minWidth:120, |
| | | search: false, minWidth: 120, |
| | | }, |
| | | settleAmount: { |
| | | label: '应结算金额',minWidth:120, |
| | | label: '应结算金额', minWidth: 120, |
| | | hide: false, |
| | | search: false, |
| | | }, |
| | | deductionAmount: { |
| | | label: '减免金额',minWidth:120, |
| | | label: '减免金额', minWidth: 120, |
| | | hide: false, |
| | | search: false, |
| | | }, |
| | | actualSettlementAmount: { |
| | | label: '实际结算金额', |
| | | hide: false, |
| | | search: false,minWidth:120, |
| | | search: false, minWidth: 120, |
| | | }, |
| | | settledAmount: { |
| | | label: '已结算金额', |
| | | hide: false, |
| | | search: false,minWidth:120, |
| | | search: false, minWidth: 120, |
| | | }, |
| | | pushTime: { |
| | | label: '推送时间', display: false, searchRange: true, type: 'date', |
| | | label: '推送时间', display: false, searchRange: true, type: 'date', |
| | | format: 'YYYY-MM-DD', hide: false, searchSpan: 6, minWidth: 150, |
| | | valueFormat: 'YYYY-MM-DD', |
| | | }, |
| | | invoiceStatus: { |
| | | label: '开票状态',minWidth:120,fixed:'right', |
| | | label: '开票状态', minWidth: 120, fixed: 'right', |
| | | type: 'radio', dataType: 'string', dicUrl: '/system/dict/data/type/invoice_status', |
| | | |
| | | hide: false, |
| | | search: true, |
| | | }, |
| | | status: { |
| | | label: '状态',minWidth:120,fixed:'right', |
| | | label: '状态', minWidth: 120, fixed: 'right', |
| | | type: 'radio', dataType: 'string', dicUrl: '/system/dict/data/type/ar_bill_status', |
| | | |
| | | hide: false, |
| | | search: true, |
| | | }, |
| | | pushStatus: { |
| | | pushStatus: { |
| | | label: '推送状态', |
| | | minWidth: 120, |
| | | type: 'radio', dataType: 'string', dicUrl: '/system/dict/data/type/sys_push_status', |
| | |
| | | } |
| | | }) |
| | | |
| | | const YSGenerateTableOption= ref({ |
| | | const YSGenerateTableOption = ref({ |
| | | menu: true, |
| | | add: false, |
| | | header:false, |
| | | header: false, |
| | | selection: false, |
| | | rowKey:'id', |
| | | editBtn:false, |
| | | viewBtn:false, |
| | | rowKey: 'id', |
| | | editBtn: false, |
| | | viewBtn: false, |
| | | delBtn: false, |
| | | column:{ |
| | | column: { |
| | | |
| | | projectName:{ |
| | | projectName: { |
| | | label: '项目名称', |
| | | }, |
| | | dispatchNo:{ |
| | | dispatchNo: { |
| | | label: '调度单号', |
| | | }, |
| | | orderTime:{ |
| | | orderTime: { |
| | | label: '下单时间', |
| | | }, |
| | | |
| | | estimateAmount:{ |
| | | estimateAmount: { |
| | | label: '预估应收金额', |
| | | }, |
| | | currency:{ |
| | | currency: { |
| | | label: '币制', |
| | | } |
| | | } |
| | |
| | | } |
| | | }) |
| | | const boxFormRef = ref(); |
| | | const logTableOption= ref({ |
| | | const logTableOption = ref({ |
| | | menu: false, |
| | | add: false, |
| | | header:false, |
| | | header: false, |
| | | selection: false, |
| | | rowKey:'id', |
| | | rowKey: 'id', |
| | | |
| | | column:{ |
| | | column: { |
| | | |
| | | settleAmount:{ |
| | | settleAmount: { |
| | | label: '结算金额', |
| | | }, |
| | | createBy:{ |
| | | createBy: { |
| | | label: '处理人员', |
| | | }, |
| | | attachment:{ |
| | | attachment: { |
| | | label: '附件下载', |
| | | dataType: 'string', |
| | | type: 'img' |
| | | }, |
| | | |
| | | remark:{ |
| | | remark: { |
| | | label: '备注', |
| | | }, |
| | | createTime:{ |
| | | createTime: { |
| | | label: '提交时间', |
| | | }, |
| | | } |
| | |
| | | |
| | | const handleView = (row: any) => { |
| | | form.value.items = []; |
| | | getTmsApBill(row.id).then((res:any) => { |
| | | form.value = res.data ||{}; |
| | | getTmsApBill(row.id).then((res: any) => { |
| | | form.value = res.data || {}; |
| | | pageF.open = true; |
| | | pageF.title = '应付账单确认'; |
| | | opt.value = 'edit' |
| | |
| | | } |
| | | const handleEdit = (row: any) => { |
| | | form.value.items = []; |
| | | getTmsApBill(row.id).then((res:any) => { |
| | | form.value = res.data ||{}; |
| | | getTmsApBill(row.id).then((res: any) => { |
| | | form.value = res.data || {}; |
| | | pageF.open = true; |
| | | pageF.title = '应付账单确认'; |
| | | opt.value = 'edit' |
| | |
| | | const editSubmit = () => { |
| | | |
| | | } |
| | | const deductionAmountChange = (e:any) => { |
| | | form.value.actualSettlementAmount =(Number(form.value.settleAmount) || 0) -( Number(form.value.deductionAmount) || 0); |
| | | const deductionAmountChange = (e: any) => { |
| | | form.value.actualSettlementAmount = (Number(form.value.settleAmount) || 0) - (Number(form.value.deductionAmount) || 0); |
| | | } |
| | | const handleCancel = (row:any) => { |
| | | const handleCancel = (row: any) => { |
| | | ElMessageBox.confirm("是否对调度单号" + row.dispatchNo + "的应付费用取消关联?", '系统提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | |
| | | type: 'info' |
| | | }).then(() => { |
| | | // 调用推送接口 |
| | | return manualPushTmsApBill(row.id); |
| | | return manualPushTmsApBill(row.id); |
| | | }).then((res) => { |
| | | proxy.$message.success(res.msg); |
| | | onLoad(page.value); // 刷新列表 |
| | |
| | | // 取消操作 |
| | | }); |
| | | } |
| | | |
| | | const flowLogIshow = ref() |
| | | const flowParams = ref([]) |
| | | |
| | | const handleFlow = (row: any) => { |
| | | let data = { |
| | | headId: row.id, |
| | | } |
| | | getPayableAuditLog(data).then((res) => { |
| | | flowParams.value = res.rows |
| | | flowLogIshow.value.openModel() |
| | | |
| | | }) |
| | | } |
| | | </script> |
| | |
| | | <el-link size="small" type="primary" @click="handleLog(row)" class="link-btn" underline="never" |
| | | icon="el-icon-tickets">日志 |
| | | </el-link> |
| | | <el-link size="small" type="primary" @click="handleFlow(row)" class="link-btn" underline="never" |
| | | icon="el-icon-document"> |
| | | 审核日志 |
| | | </el-link> |
| | | </template> |
| | | </avue-crud> |
| | | |
| | |
| | | |
| | | |
| | | </basicContainer> |
| | | <flowLog ref="flowLogIshow" :isShow="false" title="审核日志" :flowParams="flowParams"></flowLog> |
| | | </template> |
| | | |
| | | <script setup name="tmsArBill" lang="ts"> |
| | |
| | | getTmsArBill, |
| | | listTmsArBill, |
| | | updateTmsArBill, cancelArBill, |
| | | exportArBillFormat,manualPushTmsArBill |
| | | exportArBillFormat,manualPushTmsArBill,listReceivableAuditLog |
| | | } from "@/api/tms/tmsArBill"; |
| | | import useCurrentInstance from "@/utils/useCurrentInstance"; |
| | | import { computed, reactive, ref, toRefs } from "vue"; |
| | |
| | | // 取消操作 |
| | | }); |
| | | } |
| | | const flowLogIshow = ref() |
| | | const flowParams = ref([]) |
| | | |
| | | const handleFlow = (row: any) => { |
| | | let data = { |
| | | headId: row.id, |
| | | } |
| | | listReceivableAuditLog(data).then((res) => { |
| | | flowParams.value = res.rows |
| | | flowLogIshow.value.openModel() |
| | | |
| | | }) |
| | | } |
| | | |
| | | </script> |
| | |
| | | @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 中 --> |
| | | <template #requiredVehicleTypes-form="{ row, disabled }"> |
| | | <template v-if="disabled"> |
| | | <span>{{ dictFormat(vehicle_type, row?.requiredVehicleTypes || form?.requiredVehicleTypes) }}</span> |
| | | </template> |
| | | <template v-else> |
| | | <el-select v-model="form.requiredVehicleTypes" placeholder="请选择车型" style="width: 100%"> |
| | | <el-option v-for="item in vehicle_type" :key="item.value" :label="item.label" :value="item.value" /> |
| | | </el-select> |
| | | </template> |
| | | </template> |
| | | |
| | | <template #orderType-form="{ row, disabled }"> |
| | | <template v-if="disabled"> |
| | | <span>{{ dictFormat(order_type, row?.orderType || form?.orderType) }}</span> |
| | | </template> |
| | | <template v-else> |
| | | <el-select v-model="form.orderType" placeholder="请选择订单类型" style="width: 100%" clearable> |
| | | <el-option v-for="item in order_type" :key="item.value" :label="item.label" :value="parseInt(item.value)" /> |
| | | </el-select> |
| | | </template> |
| | | </template> |
| | | |
| | | <template #actualVehicleType-form="{ row, disabled }"> |
| | | <template v-if="disabled"> |
| | | <span>{{ dictFormat(vehicle_type, row?.actualVehicleType || form?.actualVehicleType) }}</span> |
| | | </template> |
| | | <template v-else> |
| | | <el-select v-model="form.actualVehicleType" placeholder="请选择实际车型" style="width: 100%"> |
| | | <el-option v-for="item in vehicle_type" :key="item.value" :label="item.label" :value="item.value" /> |
| | | </el-select> |
| | | </template> |
| | | </template> |
| | | |
| | | |
| | | |
| | | <template #menu-left> |
| | | <!-- <el-button--> |
| | | <!-- type="success"--> |
| | |
| | | |
| | | const { proxy } = useCurrentInstance( |
| | | ); |
| | | const { fee_type, sys_currency, vehicle_type } = proxy.useDict('fee_type', 'sys_currency', 'vehicle_type') |
| | | const { fee_type, sys_currency, vehicle_type, order_type } = proxy.useDict('fee_type', 'sys_currency', 'vehicle_type', 'order_type') |
| | | const crudRef = ref(); |
| | | const boxFormRef = ref(); |
| | | const goodsCrudRef = ref(); |
| | |
| | | customerCode: active.customerCode, |
| | | contractId: active.contractId, |
| | | contractName: active.contractName, |
| | | requiredVehicleTypes: active.vehicleType, |
| | | requiredVehicleTypes: active.vehicleType + '', |
| | | quotePlanId: active.quotePlanId, |
| | | }); |
| | | form.value.shipperId = undefined; |
| | |
| | | display: true, disabled: true |
| | | }, |
| | | requiredVehicleTypes: { |
| | | label: '下单车型', disabled: true, |
| | | display: true, type: 'select', dicUrl: '/system/dict/data/type/vehicle_type', dataType: 'string', |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "下单车型不能为空", trigger: "blur" |
| | | } |
| | | ], |
| | | // formatter: (row: any, value: any) => dictFormat(vehicle_type, value) |
| | | label: '下单车型', |
| | | minWidth: 130, |
| | | display: true, // ✅ 改为 true 在表格显示 |
| | | type: 'select', |
| | | search: true, |
| | | dicUrl: '/system/dict/data/type/vehicle_type', |
| | | dataType: 'string', |
| | | |
| | | }, |
| | | |
| | | orderType: { |
| | | label: '订单类型', |
| | | display: true, |
| | |
| | | } |
| | | ], |
| | | change: ({ value }: any) => { |
| | | |
| | | option.value.group.forEach((item: any) => { |
| | | |
| | | if (item.prop == 'pcxx') { |
| | | item.column.shipperId.rules.forEach((cItem: any) => { |
| | | |
| | | |
| | | cItem.required = !(value == 1); |
| | | }); |
| | | item.column.receiverId.rules.forEach((cItem: any) => { |
| | |
| | | display: false, |
| | | search: true, |
| | | type: 'select', dicUrl: '/system/dict/data/type/vehicle_type', dataType: 'string', |
| | | |
| | | }, |
| | | |
| | | |
| | |
| | | search: false, |
| | | searchSpan: 6, |
| | | }, |
| | | // 表单组配置(派车信息组) |
| | | loadingDate: { |
| | | label: '装货日期', |
| | | prop: 'loadingDate', // 保持原有字段名 |
| | | bind: 'orderTime', // 4. 强制绑定到 row 里的 orderTime 字段 |
| | | minWidth: 180, |
| | | display: true, |
| | | viewDisplay: true, |
| | | bind: 'orderTime', |
| | | label: '装货日期', minWidth: 180, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | hide: false, |
| | | viewDisplay: true, |
| | | hide: true, |
| | | search: false, |
| | | searchSpan: 6, |
| | | }, |
| | | // orderTimeRange: { |
| | | // label: '下单时间', display: false, searchRange: true, type: 'date', |
| | |
| | | } |
| | | }); |
| | | |
| | | console.log('发送给接口的最终参数:', finalParams); |
| | | |
| | | // 【核心修改】:直接返回,不要赋值给 queryParams.value |
| | | return finalParams; |
| | | }, |
| | | handleBeforeOpenFunc: (type: string) => { |
| | | |
| | | if (type == 'add') { |
| | | form.value = {}; |
| | | } else if (type == 'edit') { |
| | | // form.value = row; |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | const submitForm5 = () => { |
| | | boxFormRef.value.validate((valid: boolean, done: any) => { |
| | | console.log(valid) |
| | | if (valid) { |
| | | boxForm.value.id = form.value.id; |
| | | closeOrder(boxForm.value).then(res => { |