package com.ruoyi.tms.service.impl; import java.util.List; import com.ruoyi.common.utils.DateUtils; import javax.annotation.Resource; import com.ruoyi.tms.domain.TmsApBillItem; import com.ruoyi.tms.domain.TmsArBillItem; import com.ruoyi.tms.mapper.TmsApBillItemMapper; 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.TmsApBillMapper; import com.ruoyi.tms.domain.TmsApBill; import com.ruoyi.tms.service.ITmsApBillService; import com.ruoyi.common.core.text.Convert; /** * 应付账单Service业务层处理 * * @author ruoyi * @date 2026-01-12 */ @Service @Transactional(rollbackFor = Exception.class) public class TmsApBillServiceImpl extends BaseService implements ITmsApBillService { protected final Logger logger = LoggerFactory.getLogger(getClass()); @Resource private TmsApBillMapper tmsApBillMapper; @Resource private TmsApBillItemMapper tmsApBillItemMapper; /** * 查询应付账单 * * @param id 应付账单ID * @return 应付账单 */ @DataSource(DataSourceType.SLAVE) @Override public TmsApBill selectTmsApBillById(Integer id) { TmsApBill tmsApBill = tmsApBillMapper.selectTmsApBillById(id); tmsApBill.setItems(tmsApBillItemMapper.selectTmsApBillItemList(new TmsApBillItem(){{setBillId( id);setStatus(0);}})); return tmsApBill; } /** * 查询应付账单 记录数 * * @param tmsApBill 应付账单 * @return 应付账单集合 */ @DataSource(DataSourceType.SLAVE) @Override public int selectTmsApBillCount(TmsApBill tmsApBill) { return tmsApBillMapper.selectTmsApBillCount(tmsApBill); } /** * 查询应付账单列表 * * @param tmsApBill 应付账单 * @return 应付账单 */ @DataSource(DataSourceType.SLAVE) @Override public List selectTmsApBillList(TmsApBill tmsApBill) { return tmsApBillMapper.selectTmsApBillList(tmsApBill); } /** * 查询应付账单列表 异步 导出 * * @param tmsApBill 应付账单 * @param exportKey 导出功能的唯一标识 * @return 应付账单集合 */ @DataSource(DataSourceType.SLAVE) @Async @Override public void export(TmsApBill tmsApBill,String exportKey) { super.export(TmsApBill.class,exportKey,"tmsApBillData",(pageNum)->{ PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE); return selectTmsApBillList(tmsApBill); }); } /** * 新增应付账单 * * @param tmsApBill 应付账单 * @return 结果 */ @Override public int insertTmsApBill(TmsApBill tmsApBill) { tmsApBill.setCreateTime(DateUtils.getNowDate()); return tmsApBillMapper.insertTmsApBill(tmsApBill); } /** * 新增应付账单[批量] * * @param tmsApBills 应付账单 * @return 结果 */ @Override public int insertTmsApBillBatch(List tmsApBills) { int rows = tmsApBillMapper.insertTmsApBillBatch(tmsApBills); return rows; } /** * 修改应付账单 * * @param tmsApBill 应付账单 * @return 结果 */ @Override public int updateTmsApBill(TmsApBill tmsApBill) { tmsApBill.setUpdateTime(DateUtils.getNowDate()); return tmsApBillMapper.updateTmsApBill(tmsApBill); } /** * 修改应付账单[批量] * * @param tmsApBills 应付账单 * @return 结果 */ @Override public int updateTmsApBillBatch(List tmsApBills){ return tmsApBillMapper.updateTmsApBillBatch(tmsApBills); } /** * 删除应付账单对象 * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deleteTmsApBillByIds(String ids) { return deleteTmsApBillByIds(Convert.toIntArray(ids)); } /** * 删除应付账单对象 * * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deleteTmsApBillByIds(Integer[] ids) { return tmsApBillMapper.deleteTmsApBillByIds(ids); } /** * 删除应付账单信息 * * @param id 应付账单ID * @return 结果 */ @Override public int deleteTmsApBillById(Integer id) { return tmsApBillMapper.deleteTmsApBillById(id); } }