From 5839856f068e46f036c9336ef3bd9bbfe6c74066 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Wed, 22 Jun 2022 14:21:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/EpidemicBuildingUnitEntity.java | 5 + .../impl/EpidemicBuildingUnitServiceImpl.java | 160 ++++++++++++------ .../personroom/EpidemicBuildingUnitDao.xml | 11 +- 3 files changed, 117 insertions(+), 59 deletions(-) diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/entity/EpidemicBuildingUnitEntity.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/entity/EpidemicBuildingUnitEntity.java index bbebb4c..754e57b 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/entity/EpidemicBuildingUnitEntity.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/entity/EpidemicBuildingUnitEntity.java @@ -172,6 +172,11 @@ public class EpidemicBuildingUnitEntity extends BasePingyinEntity { */ private String roomCode; + /** + * 房屋编码 + */ + private String roomCodeShow; + /** * 房屋码(5位数字自增) */ diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/impl/EpidemicBuildingUnitServiceImpl.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/impl/EpidemicBuildingUnitServiceImpl.java index 677634c..28ce00b 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/impl/EpidemicBuildingUnitServiceImpl.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/impl/EpidemicBuildingUnitServiceImpl.java @@ -27,7 +27,6 @@ import com.elink.esua.epdc.commons.tools.constant.NumConstant; import com.elink.esua.epdc.commons.tools.constant.StrConstant; import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.page.PageData; -import com.elink.esua.epdc.commons.tools.redis.RedisKeys; import com.elink.esua.epdc.commons.tools.redis.RedisUtils; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.IdentityNoUtils; @@ -40,7 +39,6 @@ import com.elink.esua.epdc.dto.house.result.EpdcPopulationErrorResultDTO; import com.elink.esua.epdc.dto.personroom.EpidemicBuildingUnitDTO; import com.elink.esua.epdc.dto.personroom.EpidemicUnitOwnerDTO; import com.elink.esua.epdc.dto.personroom.form.GetHouseInfoFormDTO; -import com.elink.esua.epdc.dto.personroom.form.GetSkipDirectionFormDTO; import com.elink.esua.epdc.dto.personroom.form.HouseInfoFormDTO; import com.elink.esua.epdc.dto.personroom.form.HouseQrcodeZipFormDTO; import com.elink.esua.epdc.dto.personroom.result.*; @@ -75,6 +73,8 @@ import java.awt.image.BufferedImage; import java.io.*; import java.net.URLEncoder; import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import java.util.stream.Collectors; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; @@ -177,6 +177,8 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl params = new HashMap<>(8); params.put("buildingId", dto.getBuildingId().toString()); params.put("unit", dto.getUnit()); @@ -185,19 +187,19 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl params = new HashMap<>(4); - params.put("roomMaCode", "0"); - List list = baseDao.selectList(getWrapper(params)); + List list = baseDao.listNoRoomCode(); if (!list.isEmpty()) { - for (EpidemicBuildingUnitEntity epidemicBuildingUnitEntity : list) { - if (epidemicBuildingUnitEntity.getBuildingId() != null && StringUtils.isNotBlank(epidemicBuildingUnitEntity.getUnit())) { -// updateUnitMaCode(epidemicBuildingUnitEntity); - if (StringUtils.isNotBlank(epidemicBuildingUnitEntity.getRoomNo())) { - updateRoomMaCode(epidemicBuildingUnitEntity); - } + List updateList = new ArrayList<>(); + for (EpidemicRoomCodeDTO dto : list) { + if (dto.getBuildingId() != null && StringUtils.isNotBlank(dto.getUnit()) && StringUtils.isNotBlank(dto.getRoomNo())) { + EpidemicBuildingUnitEntity entity = new EpidemicBuildingUnitEntity(); + entity.setRoomCode(dto.getId().toString()); + entity.setRoomCodeShow(getRoomCodeShow(dto.getBuildingId(), dto.getUnit(), dto.getRoomNo())); + entity.setId(dto.getId()); + updateList.add(entity); } } - updateBatchById(list); + updateBatchById(updateList); } } @@ -411,10 +415,9 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl { EpidemicBuildingUnitEntity entity = new EpidemicBuildingUnitEntity(); - String roomCode = getRoomCode(item.getPlotMaCode(), item.getBuildingMaCode(), item.getRoomMaCode()); entity.setId(item.getId()); entity.setBuildingId(item.getBuildingId()); - entity.setRoomCode(roomCode); + entity.setRoomCode(item.getId().toString()); updateList.add(entity); }); updateBatchById(updateList); @@ -445,22 +448,22 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl { + item.setUnit(item.getUnit().trim().toUpperCase()); + item.setRoomNo(item.getRoomNo().trim().toUpperCase()); + }); epidemicUserInfoService.insertBatch(addList); } if (!updateList.isEmpty()) { + updateList.forEach(item -> { + item.setUnit(item.getUnit().trim().toUpperCase()); + item.setRoomNo(item.getRoomNo().trim().toUpperCase()); + }); epidemicUserInfoService.updateBatchById(updateList); } // 补充人房关系 - List unitList = listAllUnitInfo(parentAndAllDeptDTO.getGrid()); + List unitList = listAllUnitInfo(parentAndAllDeptDTO.getGridId().toString()); List addOwner = new ArrayList<>(); + List updateUnitList = new ArrayList<>(); for (EpidemicUserInfoEntity item : addList) { // 只有信息完整的才进行匹配 Optional unitOptional = unitList.stream().filter(unit -> unit.getPlotName().equals(item.getPlot()) && unit.getBuildingName().equals(item.getBuildingNo()) && unit.getUnit().equals(item.getUnit()) && unit.getRoomNo().equals(item.getRoomNo())).findFirst(); @@ -725,12 +737,6 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl AND u.BUILDING_ID = #{buildingId} + + AND b.BUILDING_NAME like CONCAT('%',#{buildingName},'%') + AND b.PLOT_ID = #{plotId} + + AND p.PLOT_NAME like CONCAT('%',#{plotName},'%') + AND u.UNIT = #{unit} @@ -254,10 +260,7 @@ LEFT JOIN epidemic_plot_coordinate p ON p.id = b.PLOT_ID WHERE u.DEL_FLAG = '0' - AND ( u.ROOM_CODE IS NULL OR u.ROOM_CODE = '' ) - AND u.ROOM_MA_CODE > 0 - AND b.BUILDING_MA_CODE > 0 - AND p.PLOT_MA_CODE > 0 + AND ( u.ROOM_CODE IS NULL OR u.ROOM_CODE = '' OR u.ROOM_CODE_SHOW IS NULL OR u.ROOM_CODE_SHOW = '')