From 55b0b3b0a5a4a185891145db1d2d2781cfeba7da Mon Sep 17 00:00:00 2001 From: linrf Date: Mon, 18 Sep 2023 14:25:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=99=BB=E5=BD=95bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/api/recovery/RcvSysUserApi.java | 3 ++- .../controller/RcvSysUserController.java | 6 +++-- .../docus/server/convert/RcvBasicConvert.java | 26 +++++++++++++++++++ .../service/impl/RcvBasicServiceImpl.java | 6 ++++- .../validate/MedicalImportExcelValidator.java | 6 ++--- 5 files changed, 40 insertions(+), 7 deletions(-) diff --git a/docus-client-interface/src/main/java/com/docus/server/api/recovery/RcvSysUserApi.java b/docus-client-interface/src/main/java/com/docus/server/api/recovery/RcvSysUserApi.java index 05553ac..2311235 100644 --- a/docus-client-interface/src/main/java/com/docus/server/api/recovery/RcvSysUserApi.java +++ b/docus-client-interface/src/main/java/com/docus/server/api/recovery/RcvSysUserApi.java @@ -1,5 +1,6 @@ package com.docus.server.api.recovery; +import com.docus.infrastructure.web.api.CommonResult; import com.docus.infrastructure.web.request.SearchDTO; import com.docus.infrastructure.web.response.PageResult; import com.docus.server.dto.recovery.rcvsysuser.AddRcvSysUserDTO; @@ -37,7 +38,7 @@ public interface RcvSysUserApi { * @return */ @PostMapping("/login") - String login(@RequestBody LoginRcvSysUserDTO loginRcvSysUserDTO); + CommonResult login(@RequestBody LoginRcvSysUserDTO loginRcvSysUserDTO); /** * 退出登录 diff --git a/docus-recovery/src/main/java/com/docus/server/controller/RcvSysUserController.java b/docus-recovery/src/main/java/com/docus/server/controller/RcvSysUserController.java index e060a68..db5353a 100644 --- a/docus-recovery/src/main/java/com/docus/server/controller/RcvSysUserController.java +++ b/docus-recovery/src/main/java/com/docus/server/controller/RcvSysUserController.java @@ -1,5 +1,6 @@ package com.docus.server.controller; +import com.docus.infrastructure.web.api.CommonResult; import com.docus.infrastructure.web.request.SearchDTO; import com.docus.infrastructure.web.response.PageResult; import com.docus.server.api.recovery.RcvSysUserApi; @@ -35,8 +36,9 @@ public class RcvSysUserController implements RcvSysUserApi { @Override @ApiOperation("登录") @IgnoreValidate - public String login(LoginRcvSysUserDTO userDTO) { - return iRcvSysUserService.doLogin(userDTO.getUserName(), userDTO.getUserPwd()); + public CommonResult login(LoginRcvSysUserDTO userDTO) { + String token = iRcvSysUserService.doLogin(userDTO.getUserName(), userDTO.getUserPwd()); + return CommonResult.success(token, "登录成功"); } @ApiOperation("退出登录") diff --git a/docus-recovery/src/main/java/com/docus/server/convert/RcvBasicConvert.java b/docus-recovery/src/main/java/com/docus/server/convert/RcvBasicConvert.java index 55d365e..645e497 100644 --- a/docus-recovery/src/main/java/com/docus/server/convert/RcvBasicConvert.java +++ b/docus-recovery/src/main/java/com/docus/server/convert/RcvBasicConvert.java @@ -1,6 +1,7 @@ package com.docus.server.convert; import com.docus.core.util.DateUtil; +import com.docus.core.util.ListUtils; import com.docus.infrastructure.web.response.PageResult; import com.docus.server.dto.recovery.rcvbasic.AddRcvBasicDTO; import com.docus.server.dto.recovery.rcvbasic.EditRcvBasicDTO; @@ -9,12 +10,14 @@ import com.docus.server.entity.recovery.RcvBasic; import com.docus.server.vo.recovery.rcvbasic.RcvBasicVO; import com.docus.server.vo.recovery.rcvbasic.SearchRcvBasicVO; import org.mapstruct.Mapper; +import org.mapstruct.MappingTarget; import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers; import org.springframework.beans.BeanUtils; import java.util.ArrayList; import java.util.List; +import java.util.Map; import static com.docus.core.util.DateUtil.PATTERN_DATETIME; @@ -38,6 +41,28 @@ public interface RcvBasicConvert { @Mappings({}) List convertAddDOList(List addRcvBasicDTO); + @Mappings({}) + RcvBasic convertDO(AddRcvBasicDTO addRcvBasicDTO, @MappingTarget RcvBasic rcvBasic); + + + default List convertUpdateDOList(List updateDataList, List rcvBasicsDO) { + Map idToDOMap = ListUtils.toMap(updateDataList, AddRcvBasicDTO::getId); + + List basics = new ArrayList<>(); + + for (RcvBasic rcvBasic : rcvBasicsDO) { + Long id = rcvBasic.getId(); + if (idToDOMap.containsKey(id)) { + AddRcvBasicDTO addRcvBasicDTO = idToDOMap.get(id); + basics.add(RcvBasicConvert.INSTANCE.convertDO(addRcvBasicDTO, rcvBasic)); + } + } + + return basics; + + } + + @Mappings({}) List convertEditDOList(List editRcvBasicDTO); @@ -72,5 +97,6 @@ public interface RcvBasicConvert { return AddRcvBasicDTO; } + } diff --git a/docus-recovery/src/main/java/com/docus/server/service/impl/RcvBasicServiceImpl.java b/docus-recovery/src/main/java/com/docus/server/service/impl/RcvBasicServiceImpl.java index 392a84b..94d19c9 100644 --- a/docus-recovery/src/main/java/com/docus/server/service/impl/RcvBasicServiceImpl.java +++ b/docus-recovery/src/main/java/com/docus/server/service/impl/RcvBasicServiceImpl.java @@ -364,7 +364,11 @@ public class RcvBasicServiceImpl implements IRcvBasicService { p.setRecoveryState(RecoveryStateEnum.RECYCLED_WAITING); }); - List update = RcvBasicConvert.INSTANCE.convertAddDOList(updateDataList); + + List ids = ListUtils.distinctSelect(updateDataList, AddRcvBasicDTO::getId); + List rcvBasicsDO = iRcvBasicDao.findByIds(ids); + + List update = RcvBasicConvert.INSTANCE.convertUpdateDOList(updateDataList, rcvBasicsDO); iRcvBasicDao.saveBatch(insert, IBaseDao.DEFAULT_BATCH_SIZE); iRcvBasicDao.updateBatchById(update, IBaseDao.DEFAULT_BATCH_SIZE); diff --git a/docus-recovery/src/main/java/com/docus/server/validate/MedicalImportExcelValidator.java b/docus-recovery/src/main/java/com/docus/server/validate/MedicalImportExcelValidator.java index d8dfda8..5188512 100644 --- a/docus-recovery/src/main/java/com/docus/server/validate/MedicalImportExcelValidator.java +++ b/docus-recovery/src/main/java/com/docus/server/validate/MedicalImportExcelValidator.java @@ -48,9 +48,9 @@ public class MedicalImportExcelValidator { throw new BaseException("患者姓名不能为空"); } - if (Func.isBlank(medicalInfoExcelModel.getAttendingName())) { - throw new BaseException("住院医师不能为空"); - } +// if (Func.isBlank(medicalInfoExcelModel.getAttendingName())) { +// throw new BaseException("住院医师不能为空"); +// } String excelModelDisDate = medicalInfoExcelModel.getDisDate(); if (Func.isBlank(excelModelDisDate)) {