Browse Source

人员凹入更新房屋

feature/user_house_import
zhangyuan 3 years ago
parent
commit
c70b98801e
  1. 40
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/controller/EpidemicUserInfoController.java
  2. 28
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/EpidemicUserInfoService.java
  3. 213
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java
  4. 2
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/house/excel/BaseResidentInformationUpdateExcel.java
  5. 11
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/dao/EpidemicBuildingUnitDao.java
  6. 82
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/dao/EpidemicPlotBuildingDao.java
  7. 11
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/dao/EpidemicUnitOwnerDao.java
  8. 13
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/EpidemicBuildingUnitService.java
  9. 22
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/EpidemicPlotBuildingService.java
  10. 11
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/EpidemicUnitOwnerService.java
  11. 6
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/impl/EpidemicBuildingUnitServiceImpl.java
  12. 126
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/impl/EpidemicPlotBuildingServiceImpl.java
  13. 12
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/impl/EpidemicUnitOwnerServiceImpl.java
  14. 17
      epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicBuildingUnitDao.xml
  15. 13
      epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotBuildingDao.xml
  16. 9
      epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicUnitOwnerDao.xml

40
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/controller/EpidemicUserInfoController.java

@ -146,25 +146,25 @@ public class EpidemicUserInfoController {
return epidemicUserInfoService.updateVaccination(); return epidemicUserInfoService.updateVaccination();
} }
/* /**
* @describe: 批量导入 * @return com.elink.esua.epdc.commons.tools.utils.Result
* @author wangtong * @describe: 批量导入
* @date 2021/10/27 17:07 * @author wangtong
* @params [file, gridId] * @date 2021/10/27 17:07
* @return com.elink.esua.epdc.commons.tools.utils.Result * @params [file, gridId]
*/ */
@PostMapping("importExcel") @PostMapping("importExcel")
public Result importExcel(@RequestParam("file") MultipartFile file, String gridId) { public Result importExcel(@RequestParam("file") MultipartFile file, String gridId) {
return epidemicUserInfoService.importEpidemicUser(file,gridId); return epidemicUserInfoService.importEpidemicUser(file, gridId);
} }
/** /**
* @describe: 接受县平台更新的人员信息并更新/保存 * @return com.elink.esua.epdc.commons.tools.utils.Result
* @author wangtong * @describe: 接受县平台更新的人员信息并更新/保存
* @date 2022/1/12 15:55 * @author wangtong
* @params [dto] * @date 2022/1/12 15:55
* @return com.elink.esua.epdc.commons.tools.utils.Result * @params [dto]
*/ */
@PostMapping("updateSyncUser") @PostMapping("updateSyncUser")
public Result updateSyncUser(@RequestBody SaveEpidemicUserDTO dto) { public Result updateSyncUser(@RequestBody SaveEpidemicUserDTO dto) {
return epidemicUserInfoService.updateSyncUser(dto); return epidemicUserInfoService.updateSyncUser(dto);
@ -179,12 +179,12 @@ public class EpidemicUserInfoController {
} }
/** /**
* @describe: 重置所有人员的核酸检测状态为未检测 * @return com.elink.esua.epdc.commons.tools.utils.Result
* @author wangtong * @describe: 重置所有人员的核酸检测状态为未检测
* @date 2022/4/1 10:39 * @author wangtong
* @params [] * @date 2022/4/1 10:39
* @return com.elink.esua.epdc.commons.tools.utils.Result * @params []
*/ */
@PostMapping("resetUserCheckState") @PostMapping("resetUserCheckState")
public Result resetUserCheckState() { public Result resetUserCheckState() {
return epidemicUserInfoService.resetUserCheckState(); return epidemicUserInfoService.resetUserCheckState();

28
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/EpidemicUserInfoService.java

@ -159,31 +159,31 @@ public interface EpidemicUserInfoService extends CrudService<EpidemicUserInfoEnt
*/ */
EpidemicUserInfoEntity selectInfoByIdCard(String idCard); EpidemicUserInfoEntity selectInfoByIdCard(String idCard);
/* /**
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @describe: 批量导入 * @describe: 批量导入
* @author wangtong * @author wangtong
* @date 2021/10/27 17:07 * @date 2021/10/27 17:07
* @params [file, gridId] * @params [file, gridId]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/ */
Result importEpidemicUser(MultipartFile file, String gridId); Result importEpidemicUser(MultipartFile file, String gridId);
/** /**
* @describe: 接受县平台更新的人员信息并更新/保存 * @return com.elink.esua.epdc.commons.tools.utils.Result
* @author wangtong * @describe: 接受县平台更新的人员信息并更新/保存
* @date 2022/1/12 15:56 * @author wangtong
* @params [dto] * @date 2022/1/12 15:56
* @return com.elink.esua.epdc.commons.tools.utils.Result * @params [dto]
*/ */
Result updateSyncUser(SaveEpidemicUserDTO dto); Result updateSyncUser(SaveEpidemicUserDTO dto);
/** /**
* @describe: 重置所有人员的核酸检测状态为未检测 * @return com.elink.esua.epdc.commons.tools.utils.Result
* @author wangtong * @describe: 重置所有人员的核酸检测状态为未检测
* @date 2022/4/1 10:39 * @author wangtong
* @params [] * @date 2022/4/1 10:39
* @return com.elink.esua.epdc.commons.tools.utils.Result * @params []
*/ */
Result resetUserCheckState(); Result resetUserCheckState();
/** /**

213
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java

@ -24,10 +24,10 @@ import com.elink.esua.epdc.dto.house.SysPopulationSimpleDictDTO;
import com.elink.esua.epdc.dto.house.form.SysPopulationSimpleDictFormDTO; import com.elink.esua.epdc.dto.house.form.SysPopulationSimpleDictFormDTO;
import com.elink.esua.epdc.dto.house.result.EpdcPopulationErrorResultDTO; import com.elink.esua.epdc.dto.house.result.EpdcPopulationErrorResultDTO;
import com.elink.esua.epdc.dto.personroom.EpidemicUnitOwnerDTO; import com.elink.esua.epdc.dto.personroom.EpidemicUnitOwnerDTO;
import com.elink.esua.epdc.dto.personroom.result.EpidemicPlotBuildingResultDTO;
import com.elink.esua.epdc.dto.personroom.result.EpidemicUnitInfoResultDTO;
import com.elink.esua.epdc.vaccine.constant.ImageConstant; import com.elink.esua.epdc.vaccine.constant.ImageConstant;
import com.elink.esua.epdc.vaccine.epidemic.dao.EpidemicUserInfoDao; import com.elink.esua.epdc.vaccine.epidemic.dao.EpidemicUserInfoDao;
import com.elink.esua.epdc.vaccine.epidemic.dao.EpidemicUserInoutRecordDao;
import com.elink.esua.epdc.vaccine.epidemic.dao.SelectAreaDao;
import com.elink.esua.epdc.vaccine.epidemic.dto.*; import com.elink.esua.epdc.vaccine.epidemic.dto.*;
import com.elink.esua.epdc.vaccine.epidemic.dto.result.EpidemicPageResultDTO; import com.elink.esua.epdc.vaccine.epidemic.dto.result.EpidemicPageResultDTO;
import com.elink.esua.epdc.vaccine.epidemic.dto.result.EpidemicPageResultV2DTO; import com.elink.esua.epdc.vaccine.epidemic.dto.result.EpidemicPageResultV2DTO;
@ -40,8 +40,12 @@ import com.elink.esua.epdc.vaccine.epidemic.service.EpidemicUserErrorService;
import com.elink.esua.epdc.vaccine.epidemic.service.EpidemicUserInfoService; import com.elink.esua.epdc.vaccine.epidemic.service.EpidemicUserInfoService;
import com.elink.esua.epdc.vaccine.epidemic.service.EpidemicUserInoutRecordService; import com.elink.esua.epdc.vaccine.epidemic.service.EpidemicUserInoutRecordService;
import com.elink.esua.epdc.vaccine.feign.VimAdminFeignClient; import com.elink.esua.epdc.vaccine.feign.VimAdminFeignClient;
import com.elink.esua.epdc.vaccine.house.entity.PopulationInformationEntity;
import com.elink.esua.epdc.vaccine.house.excel.BaseResidentInformationUpdateExcel; import com.elink.esua.epdc.vaccine.house.excel.BaseResidentInformationUpdateExcel;
import com.elink.esua.epdc.vaccine.personroom.entity.EpidemicBuildingUnitEntity;
import com.elink.esua.epdc.vaccine.personroom.entity.EpidemicUnitOwnerEntity;
import com.elink.esua.epdc.vaccine.personroom.service.EpidemicBuildingUnitService;
import com.elink.esua.epdc.vaccine.personroom.service.EpidemicPlotBuildingService;
import com.elink.esua.epdc.vaccine.personroom.service.EpidemicUnitOwnerService;
import com.elink.esua.epdc.vaccine.vim.dao.VaccinationInfoDao; import com.elink.esua.epdc.vaccine.vim.dao.VaccinationInfoDao;
import com.elink.esua.epdc.vaccine.vim.dao.VimImgDao; import com.elink.esua.epdc.vaccine.vim.dao.VimImgDao;
import com.elink.esua.epdc.vaccine.vim.dto.VaccinationInfoDTO; import com.elink.esua.epdc.vaccine.vim.dto.VaccinationInfoDTO;
@ -71,8 +75,6 @@ import java.util.stream.Collectors;
@Service @Service
public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInfoDao, EpidemicUserInfoEntity, EpidemicUserInfoDTO> implements EpidemicUserInfoService { public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInfoDao, EpidemicUserInfoEntity, EpidemicUserInfoDTO> implements EpidemicUserInfoService {
@Autowired
private EpidemicUserInoutRecordService inoutRecordService;
@Autowired @Autowired
private VaccinationInfoService vaccinationInfoService; private VaccinationInfoService vaccinationInfoService;
@Autowired @Autowired
@ -84,10 +86,6 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
@Autowired @Autowired
public VaccinationUserRoleService vaccinationUserRoleService; public VaccinationUserRoleService vaccinationUserRoleService;
@Resource @Resource
public SelectAreaDao selectAreaDao;
@Resource
private EpidemicUserInoutRecordDao inoutRecordDao;
@Resource
public EpidemicUserInfoDao epidemicUserInfoDao; public EpidemicUserInfoDao epidemicUserInfoDao;
@Resource @Resource
public VaccinationInfoDao vaccinationInfoDao; public VaccinationInfoDao vaccinationInfoDao;
@ -99,6 +97,12 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
private VimImgDao vimImgDao; private VimImgDao vimImgDao;
@Autowired @Autowired
private EpidemicUserErrorService epidemicUserErrorService; private EpidemicUserErrorService epidemicUserErrorService;
@Autowired
private EpidemicPlotBuildingService epidemicPlotBuildingService;
@Autowired
private EpidemicBuildingUnitService epidemicBuildingUnitService;
@Autowired
private EpidemicUnitOwnerService epidemicUnitOwnerService;
@Override @Override
public QueryWrapper<EpidemicUserInfoEntity> getWrapper(Map<String, Object> params) { public QueryWrapper<EpidemicUserInfoEntity> getWrapper(Map<String, Object> params) {
@ -447,16 +451,6 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
@Override @Override
public List<EpidemicRecordListDTO> getList(Map<String, Object> params) { public List<EpidemicRecordListDTO> getList(Map<String, Object> params) {
// params.put("deptIdList", SecurityUser.getUser().getDeptIdList());
// params.put("age", new ArrayList<>());
// params.put("company", new ArrayList<>());
// for (EpidemicRecordListDTO eru : list) {
// eru.setIdCard(idEncrypt(eru.getIdCard()));
// eru.setMobile(mobileEncrypt(eru.getMobile()));
// eru.setUserName(nameDesensitization(eru.getUserName()));
// eru.setRelationPeople(nameDesensitization(eru.getRelationPeople()));
// eru.setRelationPeopleMobile(mobileEncrypt(eru.getRelationPeopleMobile()));
// }
return baseDao.getEpidemicUserRecordList(params); return baseDao.getEpidemicUserRecordList(params);
} }
@ -472,24 +466,23 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
public Result deleteUserById(Long[] ids) { public Result deleteUserById(Long[] ids) {
//物理删除 //物理删除
baseDao.deleteByIds(ids); baseDao.deleteByIds(ids);
// //1、获取详情id // //1、获取详情id
// Long inoutRecord = ids[0]; // Long inoutRecord = ids[0];
// if (null != inoutRecord) { // if (null != inoutRecord) {
// baseDao.deleteById(inoutRecord); // baseDao.deleteById(inoutRecord);
//// //查询信息 // //查询信息
//// EpidemicUserInfoEntity entity = baseDao.selectByIdCard(inoutRecord); // EpidemicUserInfoEntity entity = baseDao.selectByIdCard(inoutRecord);
//// if (null == entity) { // if (null == entity) {
//// return new Result().error("数据错误,刷新后重试!!"); // return new Result().error("数据错误,刷新后重试!!");
//// } // }
//// // 2、判断人员信息表中数据如果只有一条就全删 // // 2、判断人员信息表中数据如果只有一条就全删
//// Integer integer = inoutRecordDao.selectByState(entity.getIdCard()); // Integer integer = inoutRecordDao.selectByState(entity.getIdCard());
//// if (integer == 1) { // if (integer == 1) {
//// // 若同时存在,则保留基础信息,删除额外信息。 // // 若同时存在,则保留基础信息,删除额外信息。
//// baseDao.deleteById(entity.getId()); // baseDao.deleteById(entity.getId());
//// } // }
//// inoutRecordDao.deleteById(inoutRecord); // inoutRecordDao.deleteById(inoutRecord);
// } else { // } else {
// return new Result().error("删除参数不正确,请联系管理员查看"); // return new Result().error("删除参数不正确,请联系管理员查看");
// } // }
@ -602,8 +595,7 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
@Override @Override
public VaccinationInfoResultV2DTO getInfoV2(String id) { public VaccinationInfoResultV2DTO getInfoV2(String id) {
VaccinationInfoResultV2DTO dto = baseDao.selectInfoV2(id); return baseDao.selectInfoV2(id);
return dto;
} }
@Override @Override
@ -1054,16 +1046,13 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
sysPopulationSimpleDictDTO.setSysSimpleDicts(dictList); sysPopulationSimpleDictDTO.setSysSimpleDicts(dictList);
sysPopulationSimpleDictDTO.setDicType(dictType); sysPopulationSimpleDictDTO.setDicType(dictType);
listResult.add(sysPopulationSimpleDictDTO); listResult.add(sysPopulationSimpleDictDTO);
continue;
} else { } else {
sysPopulationSimpleDictDTO = null;
break; break;
} }
} }
} }
} }
/** /**
* @return java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcPopulationErrorResultDTO> * @return java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcPopulationErrorResultDTO>
* @Description 校验居住人数据 * @Description 校验居住人数据
@ -1370,6 +1359,10 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
* @Param [baseResidentInformationExcels] * @Param [baseResidentInformationExcels]
**/ **/
private void saveResidentList(List<BaseResidentInformationUpdateExcel> baseResidentInformationExcels, ParentAndAllDeptDTO parentAndAllDeptDTO, Map<String, String> populationIdNoAndIdMap) { private void saveResidentList(List<BaseResidentInformationUpdateExcel> baseResidentInformationExcels, ParentAndAllDeptDTO parentAndAllDeptDTO, Map<String, String> populationIdNoAndIdMap) {
List<EpidemicUserInfoEntity> addList = new ArrayList<>();
List<EpidemicUserInfoEntity> updateList = new ArrayList<>();
for (BaseResidentInformationUpdateExcel baseResidentInformationExcel : baseResidentInformationExcels) { for (BaseResidentInformationUpdateExcel baseResidentInformationExcel : baseResidentInformationExcels) {
//插入居民信息 //插入居民信息
EpidemicUserInfoEntity epidemicUserInfoEntity = ConvertUtils.sourceToTarget(baseResidentInformationExcel, EpidemicUserInfoEntity.class); EpidemicUserInfoEntity epidemicUserInfoEntity = ConvertUtils.sourceToTarget(baseResidentInformationExcel, EpidemicUserInfoEntity.class);
@ -1405,8 +1398,6 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
// 已存在的居民信息进行更新,否则进行插入操作 // 已存在的居民信息进行更新,否则进行插入操作
EpidemicUserInfoEntity check = epidemicUserInfoService.selectInfoByIdCard(baseResidentInformationExcel.getSelfIdentityNo()); EpidemicUserInfoEntity check = epidemicUserInfoService.selectInfoByIdCard(baseResidentInformationExcel.getSelfIdentityNo());
List<EpidemicUserInfoEntity> addList = new ArrayList<>();
List<EpidemicUserInfoEntity> updateList = new ArrayList<>();
if (null == check) { if (null == check) {
addList.add(epidemicUserInfoEntity); addList.add(epidemicUserInfoEntity);
// epidemicUserInfoService.insert(epidemicUserInfoEntity); // epidemicUserInfoService.insert(epidemicUserInfoEntity);
@ -1473,13 +1464,7 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
// epidemicUserInfoService.updateById(check); // epidemicUserInfoService.updateById(check);
updateList.add(check); updateList.add(check);
} }
// 改为批量插入和批量按ID更新
if (!addList.isEmpty()) {
epidemicUserInfoService.insertBatch(addList);
}
if (!updateList.isEmpty()) {
epidemicUserInfoService.updateBatchById(updateList);
}
//插入房屋人员关联关系表 //插入房屋人员关联关系表
// HouseResidentEntity houseResidentEntity = ConvertUtils.sourceToTarget(baseResidentInformationExcel, HouseResidentEntity.class); // HouseResidentEntity houseResidentEntity = ConvertUtils.sourceToTarget(baseResidentInformationExcel, HouseResidentEntity.class);
// if (null == check) { // if (null == check) {
@ -1513,61 +1498,91 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
} }
} // 改为批量插入和批量按ID更新
if (!addList.isEmpty()) {
/** epidemicUserInfoService.insertBatch(addList);
* 转换新旧人员信息实体类
*
* @param informationEntity
* @return com.elink.esua.epdc.vaccine.epidemic.entity.EpidemicUserInfoEntity
* @author zhy
* @date 2021/9/3 16:36
*/
private EpidemicUserInfoEntity convertInformationToUserInfo(PopulationInformationEntity informationEntity) {
EpidemicUserInfoEntity entity = new EpidemicUserInfoEntity();
if (informationEntity.getId() != null) {
entity.setId(Long.parseLong(informationEntity.getId()));
} }
entity.setUserName(informationEntity.getResidentsName()); if (!updateList.isEmpty()) {
entity.setGender(informationEntity.getResidentsSex()); epidemicUserInfoService.updateBatchById(updateList);
entity.setNation(informationEntity.getResidentsNation());
if (informationEntity.getResidentsBirthday() != null) {
entity.setBirthday(DateUtils.format(informationEntity.getResidentsBirthday()));
} }
entity.setStandardOfCulture(informationEntity.getEducationLevel());
entity.setPoliticsStatus(informationEntity.getPoliticsStatus()); // 补充人房关系
entity.setJoinTime(informationEntity.getJoinTime()); List<EpidemicPlotBuildingResultDTO> buildingList = epidemicPlotBuildingService.listAllBuildingInfo();
entity.setOrganizationalRelationshipLocation(informationEntity.getOrganizationalRelationshipLocation()); List<EpidemicUnitInfoResultDTO> unitList = epidemicBuildingUnitService.listAllUnitInfo();
entity.setIdCard(informationEntity.getResidentsIdentityNo()); List<EpidemicUnitOwnerEntity> addOwner = new ArrayList<>();
entity.setMobile(informationEntity.getResidentsPhone()); List<EpidemicBuildingUnitEntity> addUnit = new ArrayList<>();
entity.setHealth(informationEntity.getBodyStatus()); addList.forEach(item -> {
entity.setMaritalStatus(informationEntity.getMaritalStatus()); // 只有信息完整的才进行匹配
entity.setAccountType(informationEntity.getAccountType()); if (StringUtils.isNotBlank(item.getPlot()) && StringUtils.isNotBlank(item.getBuildingNo()) && StringUtils.isNotBlank(item.getUnit())) {
entity.setMilitary(informationEntity.getMilitaryService()); Optional<EpidemicUnitInfoResultDTO> unitOptional = unitList.stream().filter(unit -> unit.getPlotName().equals(item.getPlot()) && unit.getBuildingName().equals(item.getBuildingNo()) && unit.getUnit().equals(item.getUnit())).findFirst();
entity.setHouseholdRegisterDetail(informationEntity.getHouseholdRegistrationPlace()); if (unitOptional.isPresent()) {
entity.setWorkStatus(informationEntity.getEmploymentStatus()); EpidemicUnitOwnerEntity entity = new EpidemicUnitOwnerEntity();
entity.setWorkUnits(informationEntity.getCurrentEmployer()); entity.setIdCard(item.getIdCard());
entity.setCurrentEmployerAddress(informationEntity.getCurrentEmployerAddress()); entity.setUnitId(unitOptional.get().getUnitId());
entity.setUnemploymentReason(informationEntity.getUnemploymentReason()); entity.setOwnerName(item.getUserName());
entity.setReemploymentPermit(informationEntity.getReemploymentPermit()); entity.setMobile(item.getMobile());
entity.setUnemploymentRegister(informationEntity.getUnemploymentRegister()); addOwner.add(entity);
entity.setUnemploymentRegisterTime(informationEntity.getUnemploymentRegisterTime()); } else {
entity.setSpecialCrowd(informationEntity.getSpecialCrowd()); Optional<EpidemicPlotBuildingResultDTO> buildingOptional = buildingList.stream().filter(build -> build.getPlotName().equals(item.getPlot()) && build.getBuildingName().equals(item.getBuildingNo())).findFirst();
entity.setFamilyCategory(informationEntity.getFamilyCategory()); if (buildingOptional.isPresent()) {
entity.setHelpStatus(informationEntity.getHelpStatus()); EpidemicBuildingUnitEntity unitEntity = new EpidemicBuildingUnitEntity();
entity.setMotorVehicleNum(informationEntity.getMotorVehicleNum()); unitEntity.setBuildingId(buildingOptional.get().getId());
entity.setMotorVehicleCategory(informationEntity.getMotorVehicleCategory()); unitEntity.setUnit(item.getUnit());
entity.setDogStatus(informationEntity.getDogStatus()); unitEntity.setRoomNo(item.getRoomNo());
entity.setFamilyMemberNum(informationEntity.getFamilyMemberNum()); unitEntity.setIdCard(item.getIdCard());
entity.setFamilyMemberOutNum(informationEntity.getFamilyMemberOutNum()); unitEntity.setOwnerName(item.getUserName());
entity.setFamilyMemberOutMonth(informationEntity.getFamilyMemberOutMonth()); unitEntity.setMobile(item.getMobile());
entity.setFamilyMemberOutReason(informationEntity.getFamilyMemberOutReason()); unitEntity.setRoomType(NumConstant.ONE_STR);
entity.setSpecialCrowd(informationEntity.getSpecialCrowd()); addUnit.add(unitEntity);
entity.setPeopleCategories(informationEntity.getPeopleCategories()); EpidemicUnitOwnerEntity entity = new EpidemicUnitOwnerEntity();
entity.setRelation(NumConstant.ONE_STR); entity.setIdCard(item.getIdCard());
entity.setLiveAddressName(informationEntity.getCurrentAddress()); entity.setUnitId(unitEntity.getId());
entity.setHouseholdRegisterDetail(informationEntity.getCurrentAddress()); entity.setOwnerName(item.getUserName());
return entity; entity.setMobile(item.getMobile());
addOwner.add(entity);
}
}
}
});
updateList.forEach(item -> {
// 只有信息完整的才进行匹配
if (StringUtils.isNotBlank(item.getPlot()) && StringUtils.isNotBlank(item.getBuildingNo()) && StringUtils.isNotBlank(item.getUnit())) {
Optional<EpidemicUnitInfoResultDTO> unitOptional = unitList.stream().filter(unit -> unit.getPlotName().equals(item.getPlot()) && unit.getBuildingName().equals(item.getBuildingNo()) && unit.getUnit().equals(item.getUnit())).findFirst();
if (unitOptional.isPresent()) {
EpidemicUnitOwnerEntity entity = new EpidemicUnitOwnerEntity();
entity.setIdCard(item.getIdCard());
entity.setUnitId(unitOptional.get().getUnitId());
entity.setOwnerName(item.getUserName());
entity.setMobile(item.getMobile());
// todo del?
addOwner.add(entity);
} else {
Optional<EpidemicPlotBuildingResultDTO> buildingOptional = buildingList.stream().filter(build -> build.getPlotName().equals(item.getPlot()) && build.getBuildingName().equals(item.getBuildingNo())).findFirst();
if (buildingOptional.isPresent()) {
EpidemicBuildingUnitEntity unitEntity = new EpidemicBuildingUnitEntity();
unitEntity.setBuildingId(buildingOptional.get().getId());
unitEntity.setUnit(item.getUnit());
unitEntity.setRoomNo(item.getRoomNo());
unitEntity.setIdCard(item.getIdCard());
unitEntity.setOwnerName(item.getUserName());
unitEntity.setMobile(item.getMobile());
unitEntity.setRoomType(NumConstant.ONE_STR);
addUnit.add(unitEntity);
EpidemicUnitOwnerEntity entity = new EpidemicUnitOwnerEntity();
entity.setIdCard(item.getIdCard());
entity.setUnitId(unitEntity.getId());
entity.setOwnerName(item.getUserName());
entity.setMobile(item.getMobile());
// todo del?
addOwner.add(entity);
}
}
}
});
epidemicBuildingUnitService.insertBatch(addUnit);
epidemicUnitOwnerService.insertBatch(addOwner);
} }
/** /**

2
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/house/excel/BaseResidentInformationUpdateExcel.java

@ -123,7 +123,7 @@ public class BaseResidentInformationUpdateExcel implements Serializable {
@Excel(name = "单元") @Excel(name = "单元")
private String unit; private String unit;
@Excel(name = "房号") @Excel(name = "房号")
private String roomNo; private String roomNo;
@Excel(name = "房屋性质") @Excel(name = "房屋性质")

11
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/dao/EpidemicBuildingUnitDao.java

@ -20,6 +20,7 @@ package com.elink.esua.epdc.vaccine.personroom.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.personroom.EpidemicBuildingUnitDTO; import com.elink.esua.epdc.dto.personroom.EpidemicBuildingUnitDTO;
import com.elink.esua.epdc.dto.personroom.result.EpidemicBuildingUnitDetailResultDTO; import com.elink.esua.epdc.dto.personroom.result.EpidemicBuildingUnitDetailResultDTO;
import com.elink.esua.epdc.dto.personroom.result.EpidemicUnitInfoResultDTO;
import com.elink.esua.epdc.vaccine.personroom.entity.EpidemicBuildingUnitEntity; import com.elink.esua.epdc.vaccine.personroom.entity.EpidemicBuildingUnitEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -75,4 +76,14 @@ public interface EpidemicBuildingUnitDao extends BaseDao<EpidemicBuildingUnitEnt
* @date 2022/4/12 9:09 * @date 2022/4/12 9:09
*/ */
List<EpidemicBuildingUnitEntity> selectOldData(); List<EpidemicBuildingUnitEntity> selectOldData();
/**
* 展示所有单元
*
* @param
* @return java.util.List<com.elink.esua.epdc.dto.personroom.result.EpidemicUnitInfoResultDTO>
* @author zhy
* @date 2022/6/2 15:38
*/
List<EpidemicUnitInfoResultDTO> listAllUnitInfo();
} }

82
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/dao/EpidemicPlotBuildingDao.java

@ -78,57 +78,67 @@ public interface EpidemicPlotBuildingDao extends BaseDao<EpidemicPlotBuildingEnt
EpidemicPlotBuildingResultDTO selectDetailById(String id); EpidemicPlotBuildingResultDTO selectDetailById(String id);
/** /**
* @describe: 通过网格id获取该网格下排序最大的房屋编码 * @return java.lang.Integer
* @author wangtong * @describe: 通过网格id获取该网格下排序最大的房屋编码
* @date 2022/4/25 14:06 * @author wangtong
* @params [gridId] * @date 2022/4/25 14:06
* @return java.lang.Integer * @params [gridId]
*/ */
Integer getMaxIndexByGridId(@Param("gridId") String gridId); Integer getMaxIndexByGridId(@Param("gridId") String gridId);
/** /**
* @describe: 通过网格id 小区名称 楼栋名称查询 * @return io.pingyin.modules.personroom.entity.EpidemicPlotBuildingEntity
* @author wangtong * @describe: 通过网格id 小区名称 楼栋名称查询
* @date 2022/4/25 20:37 * @author wangtong
* @params [record] * @date 2022/4/25 20:37
* @return io.pingyin.modules.personroom.entity.EpidemicPlotBuildingEntity * @params [record]
*/ */
EpidemicPlotBuildingEntity selectByGridPlotAndName(@Param("plotId") String plotId, @Param("buildingName") String buildingName EpidemicPlotBuildingEntity selectByGridPlotAndName(@Param("plotId") String plotId, @Param("buildingName") String buildingName
, @Param("gridId") String gridId); , @Param("gridId") String gridId);
/** /**
* @describe: 通过楼栋编码查询 * @return io.pingyin.modules.personroom.entity.EpidemicPlotBuildingEntity
* @author wangtong * @describe: 通过楼栋编码查询
* @date 2022/4/25 22:24 * @author wangtong
* @params [buildingCode] * @date 2022/4/25 22:24
* @return io.pingyin.modules.personroom.entity.EpidemicPlotBuildingEntity * @params [buildingCode]
*/ */
EpidemicPlotBuildingEntity selectByBuildingCode(@Param("buildingCode") String buildingCode); EpidemicPlotBuildingEntity selectByBuildingCode(@Param("buildingCode") String buildingCode);
/** /**
* @describe: 更新 确认编码是否重复 * @return java.util.List<io.pingyin.modules.personroom.entity.EpidemicPlotBuildingEntity>
* @author wangtong * @describe: 更新 确认编码是否重复
* @date 2022/4/27 12:06 * @author wangtong
* @params [dto] * @date 2022/4/27 12:06
* @return java.util.List<io.pingyin.modules.personroom.entity.EpidemicPlotBuildingEntity> * @params [dto]
*/ */
List<EpidemicPlotBuildingEntity> selectExistUpdate(EpidemicPlotBuildingDTO dto); List<EpidemicPlotBuildingEntity> selectExistUpdate(EpidemicPlotBuildingDTO dto);
/** /**
* @describe: 更新 确认名称是否重复 * @return java.util.List<io.pingyin.modules.personroom.entity.EpidemicPlotBuildingEntity>
* @author wangtong * @describe: 更新 确认名称是否重复
* @date 2022/4/27 12:10 * @author wangtong
* @params [dto] * @date 2022/4/27 12:10
* @return java.util.List<io.pingyin.modules.personroom.entity.EpidemicPlotBuildingEntity> * @params [dto]
*/ */
List<EpidemicPlotBuildingEntity> selectExistByName(EpidemicPlotBuildingDTO dto); List<EpidemicPlotBuildingEntity> selectExistByName(EpidemicPlotBuildingDTO dto);
/** /**
* @describe: 物理删除数据 * @return void
* @author wangtong * @describe: 物理删除数据
* @date 2022/4/27 16:47 * @author wangtong
* @params [asList] * @date 2022/4/27 16:47
* @return void * @params [asList]
*/ */
void realDeleteBatchIds(@Param("ids") List<String> ids); void realDeleteBatchIds(@Param("ids") List<String> ids);
/**
* 展示所有楼栋
*
* @param
* @return java.util.List<com.elink.esua.epdc.dto.personroom.result.EpidemicPlotBuildingResultDTO>
* @author zhy
* @date 2022/6/2 15:13
*/
List<EpidemicPlotBuildingResultDTO> listAllBuildingInfo();
} }

11
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/dao/EpidemicUnitOwnerDao.java

@ -40,4 +40,15 @@ public interface EpidemicUnitOwnerDao extends BaseDao<EpidemicUnitOwnerEntity> {
* @date 2022/4/2 14:02 * @date 2022/4/2 14:02
*/ */
int deleteByUnitId(@Param("unitId") Long unitId); int deleteByUnitId(@Param("unitId") Long unitId);
/**
* 根据身份证和房屋物理删除
*
* @param idCard
* @param unitId
* @return void
* @author zhy
* @date 2022/6/6 10:12
*/
void deletePhysicalByIdCardAndUnitId(@Param("idCard") String idCard, @Param("unitId") Long unitId);
} }

13
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/EpidemicBuildingUnitService.java

@ -22,8 +22,11 @@ import com.elink.esua.epdc.commons.mybatis.service.CrudService;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.personroom.EpidemicBuildingUnitDTO; import com.elink.esua.epdc.dto.personroom.EpidemicBuildingUnitDTO;
import com.elink.esua.epdc.dto.personroom.result.EpidemicBuildingUnitDetailResultDTO; import com.elink.esua.epdc.dto.personroom.result.EpidemicBuildingUnitDetailResultDTO;
import com.elink.esua.epdc.dto.personroom.result.EpidemicUnitInfoResultDTO;
import com.elink.esua.epdc.vaccine.personroom.entity.EpidemicBuildingUnitEntity; import com.elink.esua.epdc.vaccine.personroom.entity.EpidemicBuildingUnitEntity;
import java.util.List;
/** /**
* 楼栋房屋信息 * 楼栋房屋信息
* *
@ -81,4 +84,14 @@ public interface EpidemicBuildingUnitService extends CrudService<EpidemicBuildin
* @date 2022/4/12 9:05 * @date 2022/4/12 9:05
*/ */
void updateOwner(); void updateOwner();
/**
* 展示所有单元
*
* @param
* @return java.util.List<com.elink.esua.epdc.dto.personroom.result.EpidemicUnitInfoResultDTO>
* @author zhy
* @date 2022/6/2 15:38
*/
List<EpidemicUnitInfoResultDTO> listAllUnitInfo();
} }

22
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/EpidemicPlotBuildingService.java

@ -66,11 +66,21 @@ public interface EpidemicPlotBuildingService extends CrudService<EpidemicPlotBui
List<DictOptionDTO> getBuildingOption(EpidemicPlotBuildingDTO formDTO); List<DictOptionDTO> getBuildingOption(EpidemicPlotBuildingDTO formDTO);
/** /**
* @describe: 导入房屋信息 * @return io.pingyin.common.utils.Result
* @author wangtong * @describe: 导入房屋信息
* @date 2022/4/25 17:03 * @author wangtong
* @params [file] * @date 2022/4/25 17:03
* @return io.pingyin.common.utils.Result * @params [file]
*/ */
Result importBuilding(MultipartFile file); Result importBuilding(MultipartFile file);
/**
* 列出所有楼栋信息
*
* @param
* @return java.util.List<com.elink.esua.epdc.dto.personroom.result.EpidemicPlotBuildingResultDTO>
* @author zhy
* @date 2022/6/2 15:11
*/
List<EpidemicPlotBuildingResultDTO> listAllBuildingInfo();
} }

11
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/EpidemicUnitOwnerService.java

@ -103,4 +103,15 @@ public interface EpidemicUnitOwnerService extends BaseService<EpidemicUnitOwnerE
* @date 2022-04-09 * @date 2022-04-09
*/ */
void deleteByUnitId(Long unitId); void deleteByUnitId(Long unitId);
/**
* 根据身份证和房屋物理删除
*
* @param idCard
* @param unitId
* @return void
* @author zhy
* @date 2022/6/6 10:12
*/
void deletePhysicalByIdCardAndUnitId(String idCard, Long unitId);
} }

6
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/impl/EpidemicBuildingUnitServiceImpl.java

@ -29,6 +29,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.personroom.EpidemicBuildingUnitDTO; import com.elink.esua.epdc.dto.personroom.EpidemicBuildingUnitDTO;
import com.elink.esua.epdc.dto.personroom.EpidemicUnitOwnerDTO; import com.elink.esua.epdc.dto.personroom.EpidemicUnitOwnerDTO;
import com.elink.esua.epdc.dto.personroom.result.EpidemicBuildingUnitDetailResultDTO; import com.elink.esua.epdc.dto.personroom.result.EpidemicBuildingUnitDetailResultDTO;
import com.elink.esua.epdc.dto.personroom.result.EpidemicUnitInfoResultDTO;
import com.elink.esua.epdc.vaccine.personroom.dao.EpidemicBuildingUnitDao; import com.elink.esua.epdc.vaccine.personroom.dao.EpidemicBuildingUnitDao;
import com.elink.esua.epdc.vaccine.personroom.entity.EpidemicBuildingUnitEntity; import com.elink.esua.epdc.vaccine.personroom.entity.EpidemicBuildingUnitEntity;
import com.elink.esua.epdc.vaccine.personroom.entity.EpidemicUnitOwnerEntity; import com.elink.esua.epdc.vaccine.personroom.entity.EpidemicUnitOwnerEntity;
@ -159,6 +160,11 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl<EpidemicBui
epidemicUnitOwnerService.insertBatch(entityList); epidemicUnitOwnerService.insertBatch(entityList);
} }
@Override
public List<EpidemicUnitInfoResultDTO> listAllUnitInfo(){
return baseDao.listAllUnitInfo();
}
private void checkData(EpidemicBuildingUnitDTO dto) { private void checkData(EpidemicBuildingUnitDTO dto) {
if (dto.getOwners() == null || dto.getOwners().isEmpty()) { if (dto.getOwners() == null || dto.getOwners().isEmpty()) {
throw new RenException("房主信息不能为空"); throw new RenException("房主信息不能为空");

126
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/impl/EpidemicPlotBuildingServiceImpl.java

@ -130,10 +130,10 @@ public class EpidemicPlotBuildingServiceImpl extends CrudServiceImpl<EpidemicPlo
checkInfoByPlotAndName(dto); checkInfoByPlotAndName(dto);
EpidemicPlotBuildingEntity entity = ConvertUtils.sourceToTarget(dto, EpidemicPlotBuildingEntity.class); EpidemicPlotBuildingEntity entity = ConvertUtils.sourceToTarget(dto, EpidemicPlotBuildingEntity.class);
if(null != entity.getBuildingLongitude() && null != entity.getBuildingLatitude()){ if (null != entity.getBuildingLongitude() && null != entity.getBuildingLatitude()) {
double lon = entity.getBuildingLongitude().doubleValue(); double lon = entity.getBuildingLongitude().doubleValue();
double lat = entity.getBuildingLatitude().doubleValue(); double lat = entity.getBuildingLatitude().doubleValue();
double[] coordinates = CoordinatesUtils.gcj02_To_Gps84(lat,lon); double[] coordinates = CoordinatesUtils.gcj02_To_Gps84(lat, lon);
entity.setBuildingLongitudeDsf(BigDecimal.valueOf(coordinates[1])); entity.setBuildingLongitudeDsf(BigDecimal.valueOf(coordinates[1]));
entity.setBuildingLatitudeDsf(BigDecimal.valueOf(coordinates[0])); entity.setBuildingLatitudeDsf(BigDecimal.valueOf(coordinates[0]));
} }
@ -149,7 +149,7 @@ public class EpidemicPlotBuildingServiceImpl extends CrudServiceImpl<EpidemicPlo
throw new RenException("该楼栋已存在"); throw new RenException("该楼栋已存在");
} }
if(StringUtils.isBlank(dto.getBuildingCode()) || dto.getBuildingCode().length() != 22){ if (StringUtils.isBlank(dto.getBuildingCode()) || dto.getBuildingCode().length() != 22) {
throw new RenException("楼栋编码不可为空且必须为22位不重复"); throw new RenException("楼栋编码不可为空且必须为22位不重复");
} }
@ -160,17 +160,17 @@ public class EpidemicPlotBuildingServiceImpl extends CrudServiceImpl<EpidemicPlo
EpidemicPlotBuildingEntity entity = ConvertUtils.sourceToTarget(dto, EpidemicPlotBuildingEntity.class); EpidemicPlotBuildingEntity entity = ConvertUtils.sourceToTarget(dto, EpidemicPlotBuildingEntity.class);
if(null != entity.getBuildingLongitude() && null != entity.getBuildingLatitude()){ if (null != entity.getBuildingLongitude() && null != entity.getBuildingLatitude()) {
double lon = entity.getBuildingLongitude().doubleValue(); double lon = entity.getBuildingLongitude().doubleValue();
double lat = entity.getBuildingLatitude().doubleValue(); double lat = entity.getBuildingLatitude().doubleValue();
double[] coordinates = CoordinatesUtils.gcj02_To_Gps84(lat,lon); double[] coordinates = CoordinatesUtils.gcj02_To_Gps84(lat, lon);
entity.setBuildingLongitudeDsf(BigDecimal.valueOf(coordinates[1])); entity.setBuildingLongitudeDsf(BigDecimal.valueOf(coordinates[1]));
entity.setBuildingLatitudeDsf(BigDecimal.valueOf(coordinates[0])); entity.setBuildingLatitudeDsf(BigDecimal.valueOf(coordinates[0]));
} }
updateById(entity); updateById(entity);
} }
private void checkInfoByPlotAndName(EpidemicPlotBuildingDTO dto){ private void checkInfoByPlotAndName(EpidemicPlotBuildingDTO dto) {
QueryWrapper<EpidemicPlotBuildingEntity> wrapper = new QueryWrapper<>(); QueryWrapper<EpidemicPlotBuildingEntity> wrapper = new QueryWrapper<>();
wrapper.eq("PLOT_ID", dto.getPlotId()); wrapper.eq("PLOT_ID", dto.getPlotId());
wrapper.eq("BUILDING_NAME", dto.getBuildingName()); wrapper.eq("BUILDING_NAME", dto.getBuildingName());
@ -179,7 +179,7 @@ public class EpidemicPlotBuildingServiceImpl extends CrudServiceImpl<EpidemicPlo
throw new RenException("该楼栋已存在"); throw new RenException("该楼栋已存在");
} }
if(StringUtils.isBlank(dto.getBuildingCode()) || dto.getBuildingCode().length() != 22){ if (StringUtils.isBlank(dto.getBuildingCode()) || dto.getBuildingCode().length() != 22) {
throw new RenException("楼栋编码不可为空且必须为22位不重复"); throw new RenException("楼栋编码不可为空且必须为22位不重复");
} }
@ -237,13 +237,12 @@ public class EpidemicPlotBuildingServiceImpl extends CrudServiceImpl<EpidemicPlo
List<String> plotNatureCodeList = plotNatureList.stream().map(SysSimpleDictDTO::getDictValue).collect(Collectors.toList()); List<String> plotNatureCodeList = plotNatureList.stream().map(SysSimpleDictDTO::getDictValue).collect(Collectors.toList());
//通过网格id获取该网格下排序最大的房屋编码 //通过网格id获取该网格下排序最大的房屋编码
// Integer newMaxIndex = getMaxIndexByGridId(allDeptInfo.getGridId()) + 1; // Integer newMaxIndex = getMaxIndexByGridId(allDeptInfo.getGridId()) + 1;
//生成标识,供下载错误信息使用 //生成标识,供下载错误信息使用
String errorId = UUID.randomUUID().toString().replaceAll("-", ""); String errorId = UUID.randomUUID().toString().replaceAll("-", "");
//该网格下的小区信息,先把没有的小区新建到数据库里(无除外) //该网格下的小区信息,先把没有的小区新建到数据库里(无除外)
createCoordinate(recordList,allDeptInfo); createCoordinate(recordList, allDeptInfo);
List<EpidemicPlotCoordinateEntity> plotList = epidemicPlotCoordinateDao.getListByGridId(allDeptInfo.getGridDeptId()); List<EpidemicPlotCoordinateEntity> plotList = epidemicPlotCoordinateDao.getListByGridId(allDeptInfo.getGridDeptId());
EpidemicPlotBuildingImportExcel record; EpidemicPlotBuildingImportExcel record;
for (int i = 0; i < recordList.size(); i++) { for (int i = 0; i < recordList.size(); i++) {
@ -263,14 +262,14 @@ public class EpidemicPlotBuildingServiceImpl extends CrudServiceImpl<EpidemicPlo
// Integer roomNum = record.getRoomNum(); // Integer roomNum = record.getRoomNum();
String buildingXy = record.getBuildingXy(); String buildingXy = record.getBuildingXy();
if(StringUtils.isBlank(plotName) || StringUtils.isBlank(buildingName) if (StringUtils.isBlank(plotName) || StringUtils.isBlank(buildingName)
|| StringUtils.isBlank(buildingXy) || StringUtils.isBlank(buildingCode)){ || StringUtils.isBlank(buildingXy) || StringUtils.isBlank(buildingCode)) {
errorInfo += "必填项为空或数字项有汉字,"; errorInfo += "必填项为空或数字项有汉字,";
} }
//小区匹配 //小区匹配
for(EpidemicPlotCoordinateEntity plot : plotList){ for (EpidemicPlotCoordinateEntity plot : plotList) {
if(plotName.equals(plot.getPlotName())){ if (plotName.equals(plot.getPlotName())) {
record.setPlotId(plot.getId()); record.setPlotId(plot.getId());
break; break;
} }
@ -278,38 +277,38 @@ public class EpidemicPlotBuildingServiceImpl extends CrudServiceImpl<EpidemicPlo
//楼栋编码验证 21位且唯一 //楼栋编码验证 21位且唯一
EpidemicPlotBuildingEntity codeCheck = baseDao.selectByBuildingCode(buildingCode); EpidemicPlotBuildingEntity codeCheck = baseDao.selectByBuildingCode(buildingCode);
if(StringUtils.isBlank(buildingCode) || buildingCode.length() != 22 || codeCheck != null){ if (StringUtils.isBlank(buildingCode) || buildingCode.length() != 22 || codeCheck != null) {
errorInfo += "楼栋编码不可为空且必须为22位不重复,"; errorInfo += "楼栋编码不可为空且必须为22位不重复,";
} }
//字典项匹配 //字典项匹配
//匹配楼栋状态 //匹配楼栋状态
if(StringUtils.isNotBlank(record.getBuildingState()) && !buildingStateCodeList.contains(record.getBuildingState())){ if (StringUtils.isNotBlank(record.getBuildingState()) && !buildingStateCodeList.contains(record.getBuildingState())) {
errorInfo += "楼栋状态不匹配,"; errorInfo += "楼栋状态不匹配,";
} }
//匹配楼栋类型 //匹配楼栋类型
if(StringUtils.isNotBlank(record.getBuildingType()) && !buildingTypeCodeList.contains(record.getBuildingType())){ if (StringUtils.isNotBlank(record.getBuildingType()) && !buildingTypeCodeList.contains(record.getBuildingType())) {
errorInfo += "楼栋类型不匹配,"; errorInfo += "楼栋类型不匹配,";
} }
//匹配小区性质 //匹配小区性质
String plotNature = record.getPlotNature(); String plotNature = record.getPlotNature();
if(StringUtils.isNotBlank(plotNature) && !plotNatureCodeList.contains(plotNature)){ if (StringUtils.isNotBlank(plotNature) && !plotNatureCodeList.contains(plotNature)) {
errorInfo += "小区性质不匹配,"; errorInfo += "小区性质不匹配,";
} }
//获取经纬度 //获取经纬度
String[] xy = null; String[] xy = null;
if(StringUtils.isNotBlank(buildingXy) && buildingXy.contains(",")){ if (StringUtils.isNotBlank(buildingXy) && buildingXy.contains(",")) {
xy = buildingXy.split(","); xy = buildingXy.split(",");
}else{ } else {
errorInfo += "经纬度格式不标准,"; errorInfo += "经纬度格式不标准,";
} }
// 匹配结束,将匹配结果分别保存 // 匹配结束,将匹配结果分别保存
if(StringUtils.isBlank(errorInfo)){ if (StringUtils.isBlank(errorInfo)) {
//判断是更新还是新增 //判断是更新还是新增
EpidemicPlotBuildingEntity isExist = baseDao.selectByGridPlotAndName(record.getPlotId() == null?null:record.getPlotId().toString(),record.getBuildingName(),allDeptInfo.getGridDeptId()); EpidemicPlotBuildingEntity isExist = baseDao.selectByGridPlotAndName(record.getPlotId() == null ? null : record.getPlotId().toString(), record.getBuildingName(), allDeptInfo.getGridDeptId());
if(null == isExist){ if (null == isExist) {
//数据正常导入 //数据正常导入
EpidemicPlotBuildingEntity entity = ConvertUtils.sourceToTarget(record, EpidemicPlotBuildingEntity.class); EpidemicPlotBuildingEntity entity = ConvertUtils.sourceToTarget(record, EpidemicPlotBuildingEntity.class);
//保存部门信息 //保存部门信息
@ -323,14 +322,14 @@ public class EpidemicPlotBuildingServiceImpl extends CrudServiceImpl<EpidemicPlo
entity.setStreetName(allDeptInfo.getStreetName()); entity.setStreetName(allDeptInfo.getStreetName());
entity.setStreetDeptId(allDeptInfo.getStreetId()); entity.setStreetDeptId(allDeptInfo.getStreetId());
//保存经纬度 //保存经纬度
if(xy.length > 0){ if (xy.length > 0) {
//火星GCJ02坐标系 //火星GCJ02坐标系
entity.setBuildingLongitude(new BigDecimal(xy[0].trim())); entity.setBuildingLongitude(new BigDecimal(xy[0].trim()));
entity.setBuildingLatitude(new BigDecimal(xy[1].trim())); entity.setBuildingLatitude(new BigDecimal(xy[1].trim()));
//WGS84坐标系 //WGS84坐标系
double lon = entity.getBuildingLongitude().doubleValue(); double lon = entity.getBuildingLongitude().doubleValue();
double lat = entity.getBuildingLatitude().doubleValue(); double lat = entity.getBuildingLatitude().doubleValue();
double[] coordinates = CoordinatesUtils.gcj02_To_Gps84(lat,lon); double[] coordinates = CoordinatesUtils.gcj02_To_Gps84(lat, lon);
entity.setBuildingLongitudeDsf(BigDecimal.valueOf(coordinates[1])); entity.setBuildingLongitudeDsf(BigDecimal.valueOf(coordinates[1]));
entity.setBuildingLatitudeDsf(BigDecimal.valueOf(coordinates[0])); entity.setBuildingLatitudeDsf(BigDecimal.valueOf(coordinates[0]));
} }
@ -338,7 +337,7 @@ public class EpidemicPlotBuildingServiceImpl extends CrudServiceImpl<EpidemicPlo
// entity.setBuildingCode(allDeptInfo.getGridId()+getNewMaxIndex(newMaxIndex)); // entity.setBuildingCode(allDeptInfo.getGridId()+getNewMaxIndex(newMaxIndex));
// newMaxIndex++; // newMaxIndex++;
baseDao.insert(entity); baseDao.insert(entity);
}else{//更新 } else {//更新
// isExist = ConvertUtils.sourceToTarget(record, EpidemicPlotBuildingEntity.class); // isExist = ConvertUtils.sourceToTarget(record, EpidemicPlotBuildingEntity.class);
//保存部门信息 //保存部门信息
@ -353,7 +352,7 @@ public class EpidemicPlotBuildingServiceImpl extends CrudServiceImpl<EpidemicPlo
// isExist.setStreetDeptId(allDeptInfo.getStreetId()); // isExist.setStreetDeptId(allDeptInfo.getStreetId());
isExist.setBuildingCode(buildingCode); isExist.setBuildingCode(buildingCode);
//保存经纬度 //保存经纬度
if(xy.length > 0){ if (xy.length > 0) {
//火星GCJ02坐标系 //火星GCJ02坐标系
isExist.setBuildingLongitude(new BigDecimal(xy[0].trim())); isExist.setBuildingLongitude(new BigDecimal(xy[0].trim()));
@ -361,13 +360,13 @@ public class EpidemicPlotBuildingServiceImpl extends CrudServiceImpl<EpidemicPlo
//WGS84坐标系 //WGS84坐标系
double lon = isExist.getBuildingLongitude().doubleValue(); double lon = isExist.getBuildingLongitude().doubleValue();
double lat = isExist.getBuildingLatitude().doubleValue(); double lat = isExist.getBuildingLatitude().doubleValue();
double[] coordinates = CoordinatesUtils.gcj02_To_Gps84(lat,lon); double[] coordinates = CoordinatesUtils.gcj02_To_Gps84(lat, lon);
isExist.setBuildingLongitudeDsf(BigDecimal.valueOf(coordinates[1])); isExist.setBuildingLongitudeDsf(BigDecimal.valueOf(coordinates[1]));
isExist.setBuildingLatitudeDsf(BigDecimal.valueOf(coordinates[0])); isExist.setBuildingLatitudeDsf(BigDecimal.valueOf(coordinates[0]));
} }
updateById(isExist); updateById(isExist);
} }
}else{ } else {
//保存报错信息以供导出 //保存报错信息以供导出
record.setErrorInfo(errorInfo); record.setErrorInfo(errorInfo);
record.setErrorId(errorId); record.setErrorId(errorId);
@ -403,13 +402,18 @@ public class EpidemicPlotBuildingServiceImpl extends CrudServiceImpl<EpidemicPlo
return new Result(); return new Result();
} }
@Override
public List<EpidemicPlotBuildingResultDTO> listAllBuildingInfo() {
return baseDao.listAllBuildingInfo();
}
/** /**
* @describe: 创建数据库里不存在的小区 * @return void
* @author wangtong * @describe: 创建数据库里不存在的小区
* @date 2022/4/26 17:16 * @author wangtong
* @params [recordList, allDeptInfo] * @date 2022/4/26 17:16
* @return void * @params [recordList, allDeptInfo]
*/ */
private void createCoordinate(List<EpidemicPlotBuildingImportExcel> recordList, AllDeptDTO allDeptInfo) { private void createCoordinate(List<EpidemicPlotBuildingImportExcel> recordList, AllDeptDTO allDeptInfo) {
//取出所有的小区名称 //取出所有的小区名称
List<String> targetTypeList = recordList.stream().map(EpidemicPlotBuildingImportExcel -> EpidemicPlotBuildingImportExcel.getPlotName()).collect(Collectors.toList()); List<String> targetTypeList = recordList.stream().map(EpidemicPlotBuildingImportExcel -> EpidemicPlotBuildingImportExcel.getPlotName()).collect(Collectors.toList());
@ -427,12 +431,12 @@ public class EpidemicPlotBuildingServiceImpl extends CrudServiceImpl<EpidemicPlo
resultList.remove(null); resultList.remove(null);
//查出该网格下已有的小区,然后剔除已经创建的小区 //查出该网格下已有的小区,然后剔除已经创建的小区
List<EpidemicPlotCoordinateEntity> plotList = epidemicPlotCoordinateDao.getListByGridId(allDeptInfo.getGridDeptId()); List<EpidemicPlotCoordinateEntity> plotList = epidemicPlotCoordinateDao.getListByGridId(allDeptInfo.getGridDeptId());
for(EpidemicPlotCoordinateEntity plot : plotList){ for (EpidemicPlotCoordinateEntity plot : plotList) {
resultList.removeIf(e -> e.equals(plot.getPlotName())); resultList.removeIf(e -> e.equals(plot.getPlotName()));
} }
//创建数据库里不存在的小区 //创建数据库里不存在的小区
for(String plotName : resultList){ for (String plotName : resultList) {
if(StringUtils.isNotBlank(plotName)){ if (StringUtils.isNotBlank(plotName)) {
EpidemicPlotCoordinateEntity entity = new EpidemicPlotCoordinateEntity(); EpidemicPlotCoordinateEntity entity = new EpidemicPlotCoordinateEntity();
entity.setPlotName(plotName); entity.setPlotName(plotName);
entity.setCommunityName(allDeptInfo.getCommunityName()); entity.setCommunityName(allDeptInfo.getCommunityName());
@ -451,12 +455,12 @@ public class EpidemicPlotBuildingServiceImpl extends CrudServiceImpl<EpidemicPlo
} }
/** /**
* @describe: 文件预检 * @return io.pingyin.modules.sys.dto.AllDeptDTO
* @author wangtong * @describe: 文件预检
* @date 2022/4/25 18:14 * @author wangtong
* @params [file] * @date 2022/4/25 18:14
* @return io.pingyin.modules.sys.dto.AllDeptDTO * @params [file]
*/ */
private AllDeptDTO checkInfo(MultipartFile file) { private AllDeptDTO checkInfo(MultipartFile file) {
// 防止多次重复导入导致内存无意义消耗 // 防止多次重复导入导致内存无意义消耗
String originalFilename = file.getOriginalFilename(); String originalFilename = file.getOriginalFilename();
@ -483,13 +487,13 @@ public class EpidemicPlotBuildingServiceImpl extends CrudServiceImpl<EpidemicPlo
} }
//因为现在数据库没有网格编码的档案,所以第一次要更新网格的编码 //因为现在数据库没有网格编码的档案,所以第一次要更新网格的编码
String gridCode = fileNameArr[fileNameArr.length - 1]; String gridCode = fileNameArr[fileNameArr.length - 1];
if(StringUtils.isNotBlank(gridCode) && gridCode.startsWith("370124") ){ if (StringUtils.isNotBlank(gridCode) && gridCode.startsWith("370124")) {
// SysDeptEntity deptEntity = sysDeptDao.selectById(allDeptInfo.getGridId()); // SysDeptEntity deptEntity = sysDeptDao.selectById(allDeptInfo.getGridId());
// if(StringUtils.isBlank(deptEntity.getDeptCode())){ // if(StringUtils.isBlank(deptEntity.getDeptCode())){
// deptEntity.setDeptCode(gridCode); // deptEntity.setDeptCode(gridCode);
// sysDeptDao.updateById(deptEntity); // sysDeptDao.updateById(deptEntity);
// } // }
}else{ } else {
throw new RenException("网格编码信息错误,请填写370124开头的网格编码!"); throw new RenException("网格编码信息错误,请填写370124开头的网格编码!");
} }
return allDeptInfo; return allDeptInfo;
@ -497,30 +501,30 @@ public class EpidemicPlotBuildingServiceImpl extends CrudServiceImpl<EpidemicPlo
} }
/** /**
* @describe: 通过网格id获取该网格下排序最大的房屋编码 * @return java.lang.Integer
* @author wangtong * @describe: 通过网格id获取该网格下排序最大的房屋编码
* @date 2022/4/25 14:06 * @author wangtong
* @params [gridId] * @date 2022/4/25 14:06
* @return java.lang.Integer * @params [gridId]
*/ */
private Integer getMaxIndexByGridId(String gridId){ private Integer getMaxIndexByGridId(String gridId) {
Integer maxIndex = baseDao.getMaxIndexByGridId(gridId); Integer maxIndex = baseDao.getMaxIndexByGridId(gridId);
if(null == maxIndex){ if (null == maxIndex) {
maxIndex = 0; maxIndex = 0;
} }
return maxIndex; return maxIndex;
} }
/** /**
* @describe: 把数字转换成3位的字符串不够的前面补0 * @return java.lang.String
* @author wangtong * @describe: 把数字转换成3位的字符串不够的前面补0
* @date 2022/4/25 14:27 * @author wangtong
* @params [maxIndex] * @date 2022/4/25 14:27
* @return java.lang.String * @params [maxIndex]
*/ */
private String getNewMaxIndex(Integer maxIndex){ private String getNewMaxIndex(Integer maxIndex) {
String result = maxIndex.toString(); String result = maxIndex.toString();
while(result.length()<3){ while (result.length() < 3) {
result = "0" + result; result = "0" + result;
} }
return result; return result;

12
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/impl/EpidemicUnitOwnerServiceImpl.java

@ -65,9 +65,9 @@ public class EpidemicUnitOwnerServiceImpl extends BaseServiceImpl<EpidemicUnitOw
return ConvertUtils.sourceToTarget(entityList, EpidemicUnitOwnerDTO.class); return ConvertUtils.sourceToTarget(entityList, EpidemicUnitOwnerDTO.class);
} }
private QueryWrapper<EpidemicUnitOwnerEntity> getWrapper(Map<String, Object> params){ private QueryWrapper<EpidemicUnitOwnerEntity> getWrapper(Map<String, Object> params) {
String id = (String)params.get(FieldConstant.ID_HUMP); String id = (String) params.get(FieldConstant.ID_HUMP);
String unitId = (String)params.get("unitId"); String unitId = (String) params.get("unitId");
QueryWrapper<EpidemicUnitOwnerEntity> wrapper = new QueryWrapper<>(); QueryWrapper<EpidemicUnitOwnerEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
@ -108,4 +108,10 @@ public class EpidemicUnitOwnerServiceImpl extends BaseServiceImpl<EpidemicUnitOw
public void deleteByUnitId(Long unitId) { public void deleteByUnitId(Long unitId) {
baseDao.deleteByUnitId(unitId); baseDao.deleteByUnitId(unitId);
} }
@Override
@Transactional(rollbackFor = Exception.class)
public void deletePhysicalByIdCardAndUnitId(String idCard, Long unitId) {
baseDao.deletePhysicalByIdCardAndUnitId(idCard, unitId);
}
} }

17
epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicBuildingUnitDao.xml

@ -123,4 +123,21 @@
AND ID_CARD IS NOT NULL AND ID_CARD IS NOT NULL
AND ID_CARD != '' AND ID_CARD != ''
</select> </select>
<select id="listAllUnitInfo" resultType="com.elink.esua.epdc.dto.personroom.result.EpidemicUnitInfoResultDTO">
SELECT
u.id AS unitId,
u.UNIT,
b.id AS buildingId,
b.BUILDING_NAME,
p.id AS plotId,
p.PLOT_NAME
FROM
epidemic_building_unit u
LEFT JOIN epidemic_plot_building b ON b.id = u.BUILDING_ID
LEFT JOIN epidemic_plot_coordinate p ON p.id = b.PLOT_ID
WHERE
u.DEL_FLAG = '0'
AND b.DEL_FLAG = '0'
AND p.DEL_FLAG = '0'
</select>
</mapper> </mapper>

13
epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotBuildingDao.xml

@ -172,5 +172,18 @@
#{id} #{id}
</foreach> </foreach>
</delete> </delete>
<select id="listAllBuildingInfo" resultType="com.elink.esua.epdc.dto.personroom.result.EpidemicPlotBuildingResultDTO">
SELECT
b.id,
b.BUILDING_NAME,
p.id AS plotId,
p.PLOT_NAME
FROM
epidemic_plot_building b
LEFT JOIN epidemic_plot_coordinate p ON p.id = b.PLOT_ID
WHERE
b.DEL_FLAG = '0'
AND p.DEL_FLAG = '0'
</select>
</mapper> </mapper>

9
epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicUnitOwnerDao.xml

@ -25,4 +25,13 @@
WHERE WHERE
UNIT_ID = #{unitId} UNIT_ID = #{unitId}
</delete> </delete>
<delete id="deletePhysicalByIdCardAndUnitId">
DELETE
FROM
epidemic_unit_owner
WHERE
UNIT_ID = #{unitId}
AND ID_CARD = #{idCard}
</delete>
</mapper> </mapper>

Loading…
Cancel
Save