package com.ruoyi.tms.service.impl; import java.util.List; import com.ruoyi.common.enums.SystemDataNoEnum; import com.ruoyi.common.utils.DateUtils; import javax.annotation.Resource; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.service.ISystemDataNoService; import org.springframework.beans.factory.annotation.Autowired; 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.TmsContractMapper; import com.ruoyi.tms.domain.TmsContract; import com.ruoyi.tms.service.ITmsContractService; import com.ruoyi.common.core.text.Convert; /** * 合同管理Service业务层处理 * * @author ruoyi * @date 2025-11-04 */ @Service @Transactional(rollbackFor = Exception.class) public class TmsContractServiceImpl extends BaseService implements ITmsContractService { protected final Logger logger = LoggerFactory.getLogger(getClass()); @Resource private TmsContractMapper tmsContractMapper; @Autowired ISystemDataNoService systemDataNoService; /** * 查询合同管理 * * @param id 合同管理ID * @return 合同管理 */ @DataSource(DataSourceType.SLAVE) @Override public TmsContract selectTmsContractById(Integer id) { return tmsContractMapper.selectTmsContractById(id); } /** * 查询合同管理 记录数 * * @param tmsContract 合同管理 * @return 合同管理集合 */ @DataSource(DataSourceType.SLAVE) @Override public int selectTmsContractCount(TmsContract tmsContract) { return tmsContractMapper.selectTmsContractCount(tmsContract); } /** * 查询合同管理列表 * * @param tmsContract 合同管理 * @return 合同管理 */ @DataSource(DataSourceType.SLAVE) @Override public List selectTmsContractList(TmsContract tmsContract) { return tmsContractMapper.selectTmsContractList(tmsContract); } /** * 查询合同管理列表 异步 导出 * * @param tmsContract 合同管理 * @param exportKey 导出功能的唯一标识 * @return 合同管理集合 */ @DataSource(DataSourceType.SLAVE) @Async @Override public void export(TmsContract tmsContract,String exportKey) { super.export(TmsContract.class,exportKey,"tmsContractData",(pageNum)->{ PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE); return selectTmsContractList(tmsContract); }); } /** * 新增合同管理 * * @param tmsContract 合同管理 * @return 结果 */ @Override public int insertTmsContract(TmsContract tmsContract) { if (StringUtils.isNotEmpty(tmsContract.getAttachmentPath())){ tmsContract.setUploadedBy(SecurityUtils.getUsername()); tmsContract.setUploadTime(DateUtils.getNowDate()); } tmsContract.setSystemCode(systemDataNoService.getNoByKey(SystemDataNoEnum.HT)); tmsContract.setCreateBy(SecurityUtils.getUsername()); tmsContract.setCreateTime(DateUtils.getNowDate()); return tmsContractMapper.insertTmsContract(tmsContract); } /** * 新增合同管理[批量] * * @param tmsContracts 合同管理 * @return 结果 */ @Override public int insertTmsContractBatch(List tmsContracts) { int rows = tmsContractMapper.insertTmsContractBatch(tmsContracts); return rows; } /** * 修改合同管理 * * @param tmsContract 合同管理 * @return 结果 */ @Override public int updateTmsContract(TmsContract tmsContract) { tmsContract.setUpdateBy(SecurityUtils.getUsername()); tmsContract.setUpdateTime(DateUtils.getNowDate()); return tmsContractMapper.updateTmsContract(tmsContract); } /** * 修改合同管理[批量] * * @param tmsContracts 合同管理 * @return 结果 */ @Override public int updateTmsContractBatch(List tmsContracts){ return tmsContractMapper.updateTmsContractBatch(tmsContracts); } /** * 删除合同管理对象 * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deleteTmsContractByIds(String ids) { return deleteTmsContractByIds(Convert.toIntArray(ids)); } /** * 删除合同管理对象 * * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deleteTmsContractByIds(Integer[] ids) { return tmsContractMapper.deleteTmsContractByIds(ids); } /** * 删除合同管理信息 * * @param id 合同管理ID * @return 结果 */ @Override public int deleteTmsContractById(Integer id) { return tmsContractMapper.deleteTmsContractById(id); } }