From e71e3f3ade6400e141647c84a8da456346fd9cdc Mon Sep 17 00:00:00 2001 From: wanggongfeng <1305282856@qq.com> Date: Wed, 15 Jun 2022 17:53:58 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=88=91=E7=9A=84=E5=AE=B6=E5=BA=AD?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EpidemicUserInfoServiceImpl.java | 12 ++++++++++ .../controller/PlotBuildingController.java | 3 +++ .../controller/PlotCoordinateController.java | 3 +++ .../EpidemicPlotCoordinateServiceImpl.java | 5 +++-- .../mapper/epidemic/EpidemicUserInfoDao.xml | 1 + .../personroom/EpidemicBuildingUnitDao.xml | 9 ++++++-- .../personroom/EpidemicPlotBuildingDao.xml | 2 +- .../personroom/EpidemicPlotCoordinateDao.xml | 22 +++++++++---------- 8 files changed, 40 insertions(+), 17 deletions(-) diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java index ad2d56f..bc7aa69 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java @@ -1632,6 +1632,14 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl().ok(dto); } @@ -1685,6 +1693,10 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl> getBuildingOptionApp(@RequestBody EpidemicPlotBuildingDTO formDTO) { + log.info("################楼栋############plotId:"+formDTO.getPlotId()); List list = epidemicPlotBuildingService.getBuildingOption(formDTO); return new Result>().ok(list); } diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/controller/PlotCoordinateController.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/controller/PlotCoordinateController.java index 07bdf53..88610ae 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/controller/PlotCoordinateController.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/controller/PlotCoordinateController.java @@ -31,6 +31,7 @@ import com.elink.esua.epdc.dto.personroom.form.EpidemicPlotCoordinateFormDTO; import com.elink.esua.epdc.dto.personroom.result.EpidemicPlotCoordinateResultDTO; import com.elink.esua.epdc.vaccine.personroom.excel.EpidemicPlotCoordinateExcel; import com.elink.esua.epdc.vaccine.personroom.service.EpidemicPlotCoordinateService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -46,6 +47,7 @@ import java.util.Map; * @author zhangyuan qu@elink-cn.com * @since v1.0.0 2021-07-09 */ +@Slf4j @RestController @RequestMapping("epidemicplotcoordinate") public class PlotCoordinateController { @@ -138,6 +140,7 @@ public class PlotCoordinateController { */ @GetMapping("getPlotOptionApp") public Result> getPlotOptionApp(@RequestBody EpidemicPlotCoordinateDTO formDTO) { + log.info("###############小区#############gridId:"+formDTO.getGridId()); List list = epidemicPlotCoordinateService.getPlotOption(formDTO); return new Result>().ok(list); } diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/impl/EpidemicPlotCoordinateServiceImpl.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/impl/EpidemicPlotCoordinateServiceImpl.java index d2be91e..c3aced5 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/impl/EpidemicPlotCoordinateServiceImpl.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/impl/EpidemicPlotCoordinateServiceImpl.java @@ -141,8 +141,9 @@ public class EpidemicPlotCoordinateServiceImpl extends CrudServiceImpl params = new HashMap<>(2); params.put("plotId", id); List relation = epidemicPlotGridService.list(params); - dto.setGridIds(relation.stream().map(EpidemicPlotGridDTO::getGridId).collect(Collectors.toList())); - + if(relation != null && relation.size() > 0){ + dto.setGridIds(relation.stream().map(EpidemicPlotGridDTO::getGridId).collect(Collectors.toList())); + } return dto; } diff --git a/epdc-cloud-vim-yushan/src/main/resources/mapper/epidemic/EpidemicUserInfoDao.xml b/epdc-cloud-vim-yushan/src/main/resources/mapper/epidemic/EpidemicUserInfoDao.xml index 2d5e489..f8e1680 100644 --- a/epdc-cloud-vim-yushan/src/main/resources/mapper/epidemic/EpidemicUserInfoDao.xml +++ b/epdc-cloud-vim-yushan/src/main/resources/mapper/epidemic/EpidemicUserInfoDao.xml @@ -690,6 +690,7 @@ from epidemic_user_inout_record uir where uir.DEL_FLAG = '0' and uir.ID_CARD = #{idCard} + order by uir.ID limit 1 ) ur on ur.ID_CARD = ui.ID_CARD where ui.DEL_FLAG = '0' diff --git a/epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicBuildingUnitDao.xml b/epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicBuildingUnitDao.xml index 06ab4d6..cc9feff 100644 --- a/epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicBuildingUnitDao.xml +++ b/epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicBuildingUnitDao.xml @@ -200,7 +200,8 @@ SELECT - u.* + u.*, + b.BUILDING_NAME, + p.PLOT_NAME FROM epidemic_building_unit u + LEFT JOIN epidemic_plot_building b ON u.BUILDING_ID = b.id + LEFT JOIN epidemic_plot_coordinate p ON b.PLOT_ID = p.id WHERE u.DEL_FLAG = '0' and u.ROOM_CODE = #{roomCode} diff --git a/epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotBuildingDao.xml b/epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotBuildingDao.xml index 0313f8b..ebb14fa 100644 --- a/epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotBuildingDao.xml +++ b/epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotBuildingDao.xml @@ -37,7 +37,7 @@ epidemic_plot_building pb WHERE pb.DEL_FLAG = '0' - and PLOT_ID = #{plotId} + and pb.PLOT_ID = #{plotId} diff --git a/epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotCoordinateDao.xml b/epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotCoordinateDao.xml index f51ed2b..5837a81 100644 --- a/epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotCoordinateDao.xml +++ b/epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotCoordinateDao.xml @@ -109,18 +109,16 @@ pc.PLOT_NAME AS dictName from epidemic_plot_coordinate pc LEFT JOIN epidemic_plot_grid pg ON pc.id = pg.PLOT_ID - - - pc.STREET_ID = #{streetId} - - - and pc.COMMUNITY_ID = #{communityId} - - - and pg.GRID_ID = #{gridId} - - and pc.DEL_FLAG = '0' - + where pc.DEL_FLAG = '0' + + and pc.STREET_ID = #{streetId} + + + and pc.COMMUNITY_ID = #{communityId} + + + and pg.GRID_ID = #{gridId} + diff --git a/epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotCoordinateDao.xml b/epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotCoordinateDao.xml index 5837a81..d1bb786 100644 --- a/epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotCoordinateDao.xml +++ b/epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotCoordinateDao.xml @@ -164,5 +164,11 @@ and GRID_ID = #{gridId} + From 6c7ea635c1901ab5268aa9230af51237b00744ce Mon Sep 17 00:00:00 2001 From: wanggongfeng <1305282856@qq.com> Date: Thu, 16 Jun 2022 16:00:53 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=88=91=E7=9A=84=E5=AE=B6=E5=BA=AD?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epidemic/service/impl/EpidemicUserInfoServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java index bc7aa69..1f4af92 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java @@ -1633,7 +1633,7 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl Date: Thu, 16 Jun 2022 18:12:44 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E5=8D=95=E5=85=83?= =?UTF-8?q?=E8=87=AA=E5=A2=9EID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HousingInformationController.java | 1 - .../controller/PlotBuildingController.java | 14 +-- .../dao/EpidemicBuildingUnitDao.java | 6 +- .../entity/EpidemicBuildingUnitEntity.java | 5 ++ .../service/EpidemicBuildingUnitService.java | 13 ++- .../impl/EpidemicBuildingUnitServiceImpl.java | 88 +++++++++++++++++-- .../personroom/EpidemicBuildingUnitDao.xml | 32 ++++++- .../personroom/EpidemicPlotBuildingDao.xml | 1 + .../personroom/EpidemicPlotCoordinateDao.xml | 2 + 9 files changed, 145 insertions(+), 17 deletions(-) diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/house/controller/HousingInformationController.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/house/controller/HousingInformationController.java index 3ecd08e..6f628c7 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/house/controller/HousingInformationController.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/house/controller/HousingInformationController.java @@ -225,7 +225,6 @@ public class HousingInformationController { // 将属性的首字母大写 String methodName = field.getName().replaceFirst(field.getName().substring(0, 1), field.getName().substring(0, 1).toUpperCase()); - System.out.println(methodName); try { Method methodGet = clazz.getMethod("get" + methodName); // 调用getter方法获取属性值 diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/controller/PlotBuildingController.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/controller/PlotBuildingController.java index 40468b0..579e487 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/controller/PlotBuildingController.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/controller/PlotBuildingController.java @@ -121,18 +121,18 @@ public class PlotBuildingController { */ @GetMapping("getBuildingOptionApp") public Result> getBuildingOptionApp(@RequestBody EpidemicPlotBuildingDTO formDTO) { - log.info("################楼栋############plotId:"+formDTO.getPlotId()); + log.info("################楼栋############plotId:" + formDTO.getPlotId()); List list = epidemicPlotBuildingService.getBuildingOption(formDTO); return new Result>().ok(list); } /** - * @describe: 导入房屋信息 - * @author wangtong - * @date 2022/4/25 17:01 - * @params [file] - * @return io.pingyin.common.utils.Result - */ + * @return io.pingyin.common.utils.Result + * @describe: 导入房屋信息 + * @author wangtong + * @date 2022/4/25 17:01 + * @params [file] + */ @PostMapping("importBuilding") public Result importBuilding(@RequestParam("file") MultipartFile file) { return epidemicPlotBuildingService.importBuilding(file); diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/dao/EpidemicBuildingUnitDao.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/dao/EpidemicBuildingUnitDao.java index 3b2661f..2cce1be 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/dao/EpidemicBuildingUnitDao.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/dao/EpidemicBuildingUnitDao.java @@ -111,7 +111,11 @@ public interface EpidemicBuildingUnitDao extends BaseDao listAllUnitInfo(@Param("gridId") String gridId); - Integer getMaxCode(); + Integer getRoomMaxCode(@Param("buildingId") Long buildingId, @Param("unit") String unit); + + Integer getUnitMaxCode(@Param("buildingId") Long buildingId); + + Integer getUnitCode(@Param("buildingId") Long buildingId, @Param("unit") String unit); List getErrorRoom(); 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 85b0219..3796b9c 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 @@ -181,6 +181,11 @@ public class EpidemicBuildingUnitEntity extends BasePingyinEntity { */ private Integer roomMaCode; + /** + * 房屋码(5位数字自增) + */ + private Integer unitMaCode; + /** * 二维码 */ diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/EpidemicBuildingUnitService.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/EpidemicBuildingUnitService.java index 80e9073..760ea57 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/EpidemicBuildingUnitService.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/EpidemicBuildingUnitService.java @@ -28,7 +28,6 @@ import com.elink.esua.epdc.dto.personroom.form.HouseQrcodeZipFormDTO; 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 org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -121,7 +120,17 @@ public interface EpidemicBuildingUnitService extends CrudService page(Map params) { IPage page = getPage(params); @@ -179,6 +184,13 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl list = baseDao.getErrorRoom(); @@ -363,13 +389,59 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl list = baseDao.selectList(getWrapper(params)); if (!list.isEmpty()) { - for (int i = 0; i < list.size(); i++) { - list.get(i).setRoomMaCode(i + 1); + for (EpidemicBuildingUnitEntity epidemicBuildingUnitEntity : list) { + if (epidemicBuildingUnitEntity.getBuildingId() != null && StringUtils.isNotBlank(epidemicBuildingUnitEntity.getUnit())) { + updateUnitMaCode(epidemicBuildingUnitEntity); + if (StringUtils.isNotBlank(epidemicBuildingUnitEntity.getRoomNo())) { + updateRoomMaCode(epidemicBuildingUnitEntity); + } + } } updateBatchById(list); } } + private void updateUnitMaCode(EpidemicBuildingUnitEntity entity) { + String key = RedisKeys.getMaUnitCodeKey(entity.getBuildingId().toString(), entity.getUnit()); + String nextKey = RedisKeys.getMaUnitNextCodeKey(entity.getBuildingId().toString()); + Object obj = redisUtils.get(key); + Object nextObj = redisUtils.get(nextKey); + if (null != obj) { + int maCodeCache = (int) obj; + entity.setUnitMaCode(maCodeCache); + redisUtils.set(key, maCodeCache, RedisUtils.HOUR_ONE_EXPIRE); + return; + } + if (null != nextObj) { + int maCodeCache = (int) nextObj; + entity.setUnitMaCode(maCodeCache); + redisUtils.set(key, maCodeCache, RedisUtils.HOUR_ONE_EXPIRE); + redisUtils.set(nextKey, maCodeCache + 1, RedisUtils.HOUR_ONE_EXPIRE); + return; + } + + int maCode = getUnitNewCode(entity.getBuildingId(), entity.getUnit()); + entity.setUnitMaCode(maCode); + redisUtils.set(key, maCode, RedisUtils.HOUR_ONE_EXPIRE); + redisUtils.set(nextKey, maCode + 1, RedisUtils.HOUR_ONE_EXPIRE); + } + + private void updateRoomMaCode(EpidemicBuildingUnitEntity entity) { + String key = RedisKeys.getMaRoomCodeKey(entity.getBuildingId().toString(), entity.getUnit()); + Object obj = redisUtils.get(key); + if (null != obj) { + int maCodeCache = (int) obj; + maCodeCache = maCodeCache + 1; + entity.setRoomMaCode(maCodeCache); + redisUtils.set(key, maCodeCache, RedisUtils.HOUR_ONE_EXPIRE); + return; + } + int maCode = getRoomMaxCode(entity.getBuildingId(), entity.getUnit()); + maCode = maCode + 1; + entity.setRoomMaCode(maCode); + redisUtils.set(key, maCode, RedisUtils.HOUR_ONE_EXPIRE); + } + @Override public Result createBatchHouseCodeAndUrl() { epidemicPlotBuildingService.updateMaCode(); @@ -609,7 +681,7 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl unitList = listAllUnitInfo(parentAndAllDeptDTO.getGrid()); List addOwner = new ArrayList<>(); for (EpidemicUserInfoEntity item : addList) { @@ -633,6 +705,9 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl - SELECT MAX( ROOM_MA_CODE ) FROM epidemic_building_unit + WHERE + DEL_FLAG = '0' + + AND BUILDING_ID = #{buildingId} + + + AND UNIT = #{unit} + + + + + + diff --git a/epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotCoordinateDao.xml b/epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotCoordinateDao.xml index d1bb786..8fd927e 100644 --- a/epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotCoordinateDao.xml +++ b/epdc-cloud-vim-yushan/src/main/resources/mapper/personroom/EpidemicPlotCoordinateDao.xml @@ -169,6 +169,8 @@ MAX( ROOM_MA_CODE ) FROM epidemic_plot_coordinate + WHERE + DEL_FLAG = '0'