| | |
| | | package com.panzhihua.service_community.service.impl; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.google.common.collect.Lists; |
| | | import com.panzhihua.common.model.vos.R; |
| | | import com.panzhihua.common.model.vos.community.ComMngBuildingExcelVO; |
| | | import com.panzhihua.common.model.vos.community.ComMngPopulationImportErrorVO; |
| | | import com.panzhihua.common.utlis.Snowflake; |
| | | import com.panzhihua.service_community.dao.ComActDAO; |
| | | import com.panzhihua.service_community.dao.ComActVillageDAO; |
| | |
| | | private GridBuildRelationService gridBuildRelationService; |
| | | |
| | | @Override |
| | | public R batchSaveBuilding(List<ComMngBuildingExcelVO> newVoList, Long communityId, Long streetId) { |
| | | public R batchSaveBuilding(List<ComMngBuildingExcelVO> newVoList, Long communityId) { |
| | | ArrayList<ComMngBuildingDO> list = Lists.newArrayList(); |
| | | int index = 2; |
| | | List<GridBuildRelationDO> keyList = new ArrayList<>(); |
| | | for (ComMngBuildingExcelVO vo : newVoList) { |
| | | |
| | | ComMngVillageDO comMngVillageDO = comActVillageDAO.selectOne(new QueryWrapper<ComMngVillageDO>().eq("alley", vo.getAlley()).eq("house_num", vo.getDoorNo()).eq("community_id", communityId)); |
| | | if (comMngVillageDO == null) { |
| | | List<ComMngPopulationImportErrorVO> errorList = new ArrayList<>(); |
| | | for(ComMngBuildingExcelVO vo:newVoList){ |
| | | ComMngVillageDO comMngVillageDO = comActVillageDAO.selectOne(new QueryWrapper<ComMngVillageDO>().eq("alley",vo.getAlley()).eq("house_num",vo.getDoorNo()).eq("community_id",communityId)); |
| | | if(comMngVillageDO == null){ |
| | | continue; |
| | | } |
| | | List<ComMngBuildingDO> buildingDOList = this.baseMapper.selectList(new QueryWrapper<ComMngBuildingDO>().eq("street_id",comMngVillageDO.getStreetId()).eq("act_id",communityId).eq("village_id",comMngVillageDO.getVillageId()).eq("name",vo.getName())); |
| | | if(buildingDOList.size() > 0){ |
| | | ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); |
| | | importErrorVO.setErrorMsg("重复楼栋"); |
| | | importErrorVO.setErrorPosition("第" + index + "行"); |
| | | errorList.add(importErrorVO); |
| | | continue; |
| | | } |
| | | ComMngBuildingDO comMngBuildingDO = new ComMngBuildingDO(); |
| | | BeanUtils.copyProperties(vo, comMngBuildingDO); |
| | | BeanUtils.copyProperties(vo,comMngBuildingDO); |
| | | comMngBuildingDO.setActId(comMngVillageDO.getCommunityId()); |
| | | comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId()); |
| | | comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId()); |
| | |
| | | comMngBuildingDO.setPath(path.toString()); |
| | | comMngBuildingDO.setGridId(vo.getGridId()); |
| | | list.add(comMngBuildingDO); |
| | | GridBuildRelationDO gridBuildRelation = getGridBuildRelationDO(communityId, streetId, vo, comMngBuildingDO); |
| | | index ++; |
| | | GridBuildRelationDO gridBuildRelation = getGridBuildRelationDO(communityId, comMngVillageDO.getStreetId(), vo, comMngBuildingDO); |
| | | keyList.add(gridBuildRelation); |
| | | } |
| | | |
| | | if(list.size()>0){ |
| | | this.saveBatch(list); |
| | | } |
| | | |
| | | if(errorList.size() > 0){ |
| | | return R.fail(JSON.toJSONString(errorList)); |
| | | } |
| | | gridBuildRelationService.saveBatchGridBuildRelation(keyList); |
| | | this.saveBatch(list); |
| | | return R.ok(); |