| | |
| | | package org.springblade.modules.yw.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.apache.logging.log4j.util.Strings; |
| | | import org.springblade.core.tool.utils.BeanUtil; |
| | | import org.springblade.modules.yw.entity.FirmInfo; |
| | | import org.springblade.modules.yw.entity.RescueTeamEntity; |
| | | import org.springblade.modules.yw.excel.RescueTeamExcel; |
| | | import org.springblade.modules.yw.service.IFirmInfoService; |
| | | import org.springblade.modules.yw.vo.RescueTeamVO; |
| | | import org.springblade.modules.yw.mapper.RescueTeamMapper; |
| | | import org.springblade.modules.yw.service.IRescueTeamService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * 救援队伍表 服务实现类 |
| | |
| | | @Service |
| | | public class RescueTeamServiceImpl extends ServiceImpl<RescueTeamMapper, RescueTeamEntity> implements IRescueTeamService { |
| | | |
| | | @Autowired |
| | | private IFirmInfoService firmInfoService; |
| | | |
| | | /** |
| | | * 自定义分页查询 |
| | | * @param page |
| | | * @param rescueTeam |
| | | * @return |
| | | */ |
| | | @Override |
| | | public IPage<RescueTeamVO> selectRescueTeamPage(IPage<RescueTeamVO> page, RescueTeamVO rescueTeam) { |
| | | return page.setRecords(baseMapper.selectRescueTeamPage(page, rescueTeam)); |
| | | } |
| | | |
| | | /** |
| | | * 导入救援队伍信息 |
| | | * @param data |
| | | * @param isCovered |
| | | * @return |
| | | */ |
| | | @Override |
| | | public String importRescueTeam(List<RescueTeamExcel> data, boolean isCovered) { |
| | | for (RescueTeamExcel rescueTeamExcel : data) { |
| | | // 数据拷贝 |
| | | RescueTeamEntity rescueTeamEntity = Objects.requireNonNull(BeanUtil.copy(rescueTeamExcel, RescueTeamEntity.class)); |
| | | // 类型转换 |
| | | if (!Strings.isBlank(rescueTeamExcel.getType())){ |
| | | if (rescueTeamExcel.getType().equals("企业")){ |
| | | rescueTeamEntity.setType(1); |
| | | // 设置企业id |
| | | setFirmId(rescueTeamExcel,rescueTeamEntity); |
| | | } |
| | | if (rescueTeamExcel.getType().equals("园区")){ |
| | | rescueTeamEntity.setType(2); |
| | | } |
| | | } |
| | | // 判断是否保存 |
| | | Long id = isSave(rescueTeamExcel); |
| | | if (null!=id){ |
| | | if (isCovered){ |
| | | // 覆盖更新 |
| | | rescueTeamEntity.setId(id); |
| | | updateById(rescueTeamEntity); |
| | | continue; |
| | | } |
| | | } |
| | | // 保存 |
| | | save(rescueTeamEntity); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 判断是否已经保存救援队伍信息 |
| | | * @param rescueTeamExcel |
| | | * @return |
| | | */ |
| | | private Long isSave(RescueTeamExcel rescueTeamExcel) { |
| | | QueryWrapper<RescueTeamEntity> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("per_in_cha",rescueTeamExcel.getPerInCha()) |
| | | .eq("per_in_cha_pho",rescueTeamExcel.getPerInChaPho()) |
| | | .eq("is_deleted",0); |
| | | RescueTeamEntity one = getOne(wrapper); |
| | | if (null!=one){ |
| | | return one.getId(); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 设置企业id |
| | | * @param rescueTeamExcel |
| | | * @param rescueTeamEntity |
| | | */ |
| | | private void setFirmId(RescueTeamExcel rescueTeamExcel, RescueTeamEntity rescueTeamEntity) { |
| | | QueryWrapper<FirmInfo> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("name",rescueTeamExcel.getFirmName()) |
| | | .eq("is_deleted",0); |
| | | FirmInfo firmInfo = firmInfoService.getOne(wrapper); |
| | | if (null!=firmInfo){ |
| | | rescueTeamEntity.setFirmId(firmInfo.getId()); |
| | | } |
| | | } |
| | | } |