|
|
@ -17,22 +17,32 @@ |
|
|
|
|
|
|
|
|
package com.elink.esua.epdc.modules.epidemic.service.impl; |
|
|
package com.elink.esua.epdc.modules.epidemic.service.impl; |
|
|
|
|
|
|
|
|
|
|
|
import cn.afterturn.easypoi.excel.ExcelImportUtil; |
|
|
|
|
|
import cn.afterturn.easypoi.excel.entity.ImportParams; |
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
|
|
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; |
|
|
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
import com.elink.esua.epdc.commons.tools.page.PageData; |
|
|
import com.elink.esua.epdc.commons.tools.page.PageData; |
|
|
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; |
|
|
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; |
|
|
import com.elink.esua.epdc.commons.tools.constant.FieldConstant; |
|
|
import com.elink.esua.epdc.commons.tools.constant.FieldConstant; |
|
|
|
|
|
import com.elink.esua.epdc.commons.tools.utils.Result; |
|
|
|
|
|
import com.elink.esua.epdc.config.StreamUtils; |
|
|
import com.elink.esua.epdc.modules.epidemic.dao.EpidemicSentryPostDao; |
|
|
import com.elink.esua.epdc.modules.epidemic.dao.EpidemicSentryPostDao; |
|
|
import com.elink.esua.epdc.dto.EpidemicSentryPostDTO; |
|
|
import com.elink.esua.epdc.dto.EpidemicSentryPostDTO; |
|
|
import com.elink.esua.epdc.modules.epidemic.entity.EpidemicSentryPostEntity; |
|
|
import com.elink.esua.epdc.modules.epidemic.entity.EpidemicSentryPostEntity; |
|
|
|
|
|
import com.elink.esua.epdc.modules.epidemic.excel.EpidemicSentryPostExcel; |
|
|
import com.elink.esua.epdc.modules.epidemic.redis.EpidemicSentryPostRedis; |
|
|
import com.elink.esua.epdc.modules.epidemic.redis.EpidemicSentryPostRedis; |
|
|
import com.elink.esua.epdc.modules.epidemic.service.EpidemicSentryPostService; |
|
|
import com.elink.esua.epdc.modules.epidemic.service.EpidemicSentryPostService; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
import org.springframework.web.multipart.MultipartFile; |
|
|
|
|
|
|
|
|
|
|
|
import java.io.File; |
|
|
|
|
|
import java.util.ArrayList; |
|
|
import java.util.Arrays; |
|
|
import java.util.Arrays; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
import java.util.Map; |
|
|
import java.util.Map; |
|
|
@ -65,8 +75,8 @@ public class EpidemicSentryPostServiceImpl extends BaseServiceImpl<EpidemicSentr |
|
|
return ConvertUtils.sourceToTarget(entityList, EpidemicSentryPostDTO.class); |
|
|
return ConvertUtils.sourceToTarget(entityList, EpidemicSentryPostDTO.class); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private QueryWrapper<EpidemicSentryPostEntity> getWrapper(Map<String, Object> params){ |
|
|
private QueryWrapper<EpidemicSentryPostEntity> getWrapper(Map<String, Object> params) { |
|
|
String id = (String)params.get(FieldConstant.ID_HUMP); |
|
|
String id = (String) params.get(FieldConstant.ID_HUMP); |
|
|
|
|
|
|
|
|
QueryWrapper<EpidemicSentryPostEntity> wrapper = new QueryWrapper<>(); |
|
|
QueryWrapper<EpidemicSentryPostEntity> wrapper = new QueryWrapper<>(); |
|
|
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); |
|
|
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); |
|
|
@ -106,4 +116,40 @@ public class EpidemicSentryPostServiceImpl extends BaseServiceImpl<EpidemicSentr |
|
|
return baseDao.selectListSentryPostName(dto); |
|
|
return baseDao.selectListSentryPostName(dto); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public Result insertEpidemicList(MultipartFile file) { |
|
|
|
|
|
File f = StreamUtils.conversionFile(file); |
|
|
|
|
|
ImportParams importParams = new ImportParams(); |
|
|
|
|
|
List<EpidemicSentryPostEntity> oldEntityList = baseDao.selectList(new QueryWrapper<>()); |
|
|
|
|
|
List<EpidemicSentryPostExcel> epidemicExcelList = ExcelImportUtil.importExcel(f, EpidemicSentryPostExcel.class, importParams); |
|
|
|
|
|
// third_sentry_post_id 已存在更新 不存在插入
|
|
|
|
|
|
List<EpidemicSentryPostDTO> newEpidemicList = this.updataOrSaveExcel(epidemicExcelList, oldEntityList); |
|
|
|
|
|
List<EpidemicSentryPostEntity> epidemicList = ConvertUtils.sourceToTarget(newEpidemicList, EpidemicSentryPostEntity.class); |
|
|
|
|
|
boolean b = insertBatch(epidemicList); |
|
|
|
|
|
return new Result(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private List<EpidemicSentryPostDTO> updataOrSaveExcel(List<EpidemicSentryPostExcel> epidemicExcelList, List<EpidemicSentryPostEntity> oldEntityList) { |
|
|
|
|
|
List<EpidemicSentryPostDTO> newEpidemicList = new ArrayList<>(); |
|
|
|
|
|
QueryWrapper<EpidemicSentryPostEntity> wrapper; |
|
|
|
|
|
for (EpidemicSentryPostExcel item : epidemicExcelList) { |
|
|
|
|
|
if (StringUtils.isNotBlank(item.getThirdSentryPostId())) { |
|
|
|
|
|
item.setThirdSentryPostId(item.getThirdSentryPostId().trim()); |
|
|
|
|
|
} |
|
|
|
|
|
for (EpidemicSentryPostEntity oldItem : oldEntityList) { |
|
|
|
|
|
if (StringUtils.isNotBlank(item.getThirdSentryPostId()) && item.getThirdSentryPostId().equals(oldItem.getThirdSentryPostId())) { |
|
|
|
|
|
//三方哨卡Id相同时 更新
|
|
|
|
|
|
EpidemicSentryPostEntity epidemicSentryPostEntity = ConvertUtils.sourceToTarget(item, EpidemicSentryPostEntity.class); |
|
|
|
|
|
wrapper = new QueryWrapper<>(); |
|
|
|
|
|
wrapper.eq("third_sentry_post_id", epidemicSentryPostEntity.getThirdSentryPostId()); |
|
|
|
|
|
update(epidemicSentryPostEntity, wrapper); |
|
|
|
|
|
epidemicExcelList.remove(item); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
newEpidemicList = ConvertUtils.sourceToTarget(epidemicExcelList, EpidemicSentryPostDTO.class); |
|
|
|
|
|
return newEpidemicList; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |