package com.ruoyi.patarchive.service.impl;
|
|
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.patarchive.domain.PatSpecificArchiveGenerateConfig;
|
import com.ruoyi.patarchive.mapper.PatSpecificArchiveGenerateConfigMapper;
|
import com.ruoyi.patarchive.service.IPatSpecificArchiveGenerateConfigService;
|
import org.apache.commons.collections4.CollectionUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.Collections;
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
/**
|
* 专科档案生成配置Service业务层处理
|
*
|
* @author ruoyi
|
* @date 2026-10-12
|
*/
|
@Service
|
public class PatSpecificArchiveGenerateConfigServiceImpl implements IPatSpecificArchiveGenerateConfigService
|
{
|
@Autowired
|
private PatSpecificArchiveGenerateConfigMapper patSpecificArchiveGenerateConfigMapper;
|
|
@Override
|
public PatSpecificArchiveGenerateConfig selectPatSpecificArchiveGenerateConfigById(Long id)
|
{
|
return patSpecificArchiveGenerateConfigMapper.selectPatSpecificArchiveGenerateConfigById(id);
|
}
|
|
@Override
|
public List<PatSpecificArchiveGenerateConfig> selectPatSpecificArchiveGenerateConfigList(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig)
|
{
|
return patSpecificArchiveGenerateConfigMapper.selectPatSpecificArchiveGenerateConfigList(patSpecificArchiveGenerateConfig);
|
}
|
|
@Override
|
public List<PatSpecificArchiveGenerateConfig> selectEffectiveConfigList(String orgid, String campusid)
|
{
|
List<PatSpecificArchiveGenerateConfig> configs =
|
patSpecificArchiveGenerateConfigMapper.selectEffectivePatSpecificArchiveGenerateConfigList(orgid, campusid);
|
if (CollectionUtils.isEmpty(configs))
|
{
|
return Collections.emptyList();
|
}
|
|
// 机构配置优先:存在机构配置时,不再使用全局配置,避免规则重复命中
|
if (StringUtils.isNotEmpty(orgid))
|
{
|
List<PatSpecificArchiveGenerateConfig> orgConfigs = configs.stream()
|
.filter(config -> orgid.equals(config.getOrgid()))
|
.collect(Collectors.toList());
|
if (CollectionUtils.isNotEmpty(orgConfigs))
|
{
|
return orgConfigs;
|
}
|
}
|
|
return configs.stream()
|
.filter(config -> StringUtils.isEmpty(config.getOrgid()))
|
.collect(Collectors.toList());
|
}
|
|
@Override
|
public int insertPatSpecificArchiveGenerateConfig(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig)
|
{
|
patSpecificArchiveGenerateConfig.setCreateTime(DateUtils.getNowDate());
|
return patSpecificArchiveGenerateConfigMapper.insertPatSpecificArchiveGenerateConfig(patSpecificArchiveGenerateConfig);
|
}
|
|
@Override
|
public int updatePatSpecificArchiveGenerateConfig(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig)
|
{
|
patSpecificArchiveGenerateConfig.setUpdateTime(DateUtils.getNowDate());
|
return patSpecificArchiveGenerateConfigMapper.updatePatSpecificArchiveGenerateConfig(patSpecificArchiveGenerateConfig);
|
}
|
|
@Override
|
public int insertOrUpdatePatSpecificArchiveGenerateConfig(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig)
|
{
|
if (patSpecificArchiveGenerateConfig.getId() != null
|
&& patSpecificArchiveGenerateConfigMapper.selectPatSpecificArchiveGenerateConfigById(patSpecificArchiveGenerateConfig.getId()) != null)
|
{
|
patSpecificArchiveGenerateConfig.setUpdateTime(DateUtils.getNowDate());
|
return patSpecificArchiveGenerateConfigMapper.updatePatSpecificArchiveGenerateConfig(patSpecificArchiveGenerateConfig);
|
}
|
else
|
{
|
patSpecificArchiveGenerateConfig.setCreateTime(DateUtils.getNowDate());
|
if (StringUtils.isEmpty(patSpecificArchiveGenerateConfig.getDelFlag()))
|
{
|
patSpecificArchiveGenerateConfig.setDelFlag("0");
|
}
|
return patSpecificArchiveGenerateConfigMapper.insertPatSpecificArchiveGenerateConfig(patSpecificArchiveGenerateConfig);
|
}
|
}
|
|
@Override
|
public int batchDeletePatSpecificArchiveGenerateConfigByIds(Long[] ids)
|
{
|
return patSpecificArchiveGenerateConfigMapper.deletePatSpecificArchiveGenerateConfigByIds(ids);
|
}
|
|
@Override
|
public int deletePatSpecificArchiveGenerateConfigByIds(Long[] ids)
|
{
|
return patSpecificArchiveGenerateConfigMapper.deletePatSpecificArchiveGenerateConfigByIds(ids);
|
}
|
|
@Override
|
public int deletePatSpecificArchiveGenerateConfigById(Long id)
|
{
|
return patSpecificArchiveGenerateConfigMapper.deletePatSpecificArchiveGenerateConfigById(id);
|
}
|
}
|