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.TmsArBillItemMapper; 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业务层处理 * * @author ruoyi * @date 2025-12-13 */ @Service @Transactional(rollbackFor = Exception.class) public class TmsArBillItemServiceImpl extends BaseService implements ITmsArBillItemService { protected final Logger logger = LoggerFactory.getLogger(getClass()); @Resource private TmsArBillItemMapper tmsArBillItemMapper; @Autowired private IReceivableAuditLogService receivableAuditLogService; /** * 查询应收账单明细 * * @param id 应收账单明细ID * @return 应收账单明细 */ @DataSource(DataSourceType.SLAVE) @Override public TmsArBillItem selectTmsArBillItemById(Integer id) { return tmsArBillItemMapper.selectTmsArBillItemById(id); } /** * 查询应收账单明细 记录数 * * @param tmsArBillItem 应收账单明细 * @return 应收账单明细集合 */ @DataSource(DataSourceType.SLAVE) @Override public int selectTmsArBillItemCount(TmsArBillItem tmsArBillItem) { return tmsArBillItemMapper.selectTmsArBillItemCount(tmsArBillItem); } /** * 查询应收账单明细列表 * * @param tmsArBillItem 应收账单明细 * @return 应收账单明细 */ @DataSource(DataSourceType.SLAVE) @Override public List selectTmsArBillItemList(TmsArBillItem tmsArBillItem) { return tmsArBillItemMapper.selectTmsArBillItemList(tmsArBillItem); } /** * 查询应收账单明细列表 异步 导出 * * @param tmsArBillItem 应收账单明细 * @param exportKey 导出功能的唯一标识 * @return 应收账单明细集合 */ @DataSource(DataSourceType.SLAVE) @Async @Override public void export(TmsArBillItem tmsArBillItem,String exportKey) { super.export(TmsArBillItem.class,exportKey,"tmsArBillItemData",(pageNum)->{ PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE); return selectTmsArBillItemList(tmsArBillItem); }); } /** * 新增应收账单明细 * * @param tmsArBillItem 应收账单明细 * @return 结果 */ @Override public int insertTmsArBillItem(TmsArBillItem tmsArBillItem) { tmsArBillItem.setCreateTime(DateUtils.getNowDate()); return tmsArBillItemMapper.insertTmsArBillItem(tmsArBillItem); } /** * 新增应收账单明细[批量] * * @param tmsArBillItems 应收账单明细 * @return 结果 */ @Override public int insertTmsArBillItemBatch(List tmsArBillItems) { int rows = tmsArBillItemMapper.insertTmsArBillItemBatch(tmsArBillItems); return rows; } /** * 修改应收账单明细 * * @param tmsArBillItem 应收账单明细 * @return 结果 */ @Override public int updateTmsArBillItem(TmsArBillItem tmsArBillItem) { return tmsArBillItemMapper.updateTmsArBillItem(tmsArBillItem); } /** * 修改应收账单明细[批量] * * @param tmsArBillItems 应收账单明细 * @return 结果 */ @Override public int updateTmsArBillItemBatch(List tmsArBillItems){ return tmsArBillItemMapper.updateTmsArBillItemBatch(tmsArBillItems); } /** * 删除应收账单明细对象 * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deleteTmsArBillItemByIds(String ids) { return deleteTmsArBillItemByIds(Convert.toIntArray(ids)); } /** * 删除应收账单明细对象 * * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deleteTmsArBillItemByIds(Integer[] ids) { return tmsArBillItemMapper.deleteTmsArBillItemByIds(ids); } /** * 删除应收账单明细信息 * * @param id 应收账单明细ID * @return 结果 */ @Override public int deleteTmsArBillItemById(Integer id) { return tmsArBillItemMapper.deleteTmsArBillItemById(id); } /** * 添加应收账单审核日志 * * @param auditLog 审核日志 * @return 结果 */ public int addArBillAuditLog(ReceivableAuditLog auditLog) { return receivableAuditLogService.insertReceivableAuditLog(auditLog); } }