健康咨询-科室人员管理新增接口修改

This commit is contained in:
纪寒 2023-12-06 16:35:38 +08:00
parent 37bf823f0b
commit 877295bc2c

View File

@ -15,19 +15,10 @@ import com.xinelu.manage.dto.hospitalpersoninfo.HospitalPersonInfoDTO;
import com.xinelu.manage.dto.hospitalpersoninfo.HospitalPersonInfoDtoo;
import com.xinelu.manage.mapper.hospitalpersoncertificate.HospitalPersonCertificateMapper;
import com.xinelu.manage.mapper.hospitalpersoninfo.HospitalPersonInfoMapper;
import com.xinelu.manage.mapper.nursestationperson.NurseStationPersonMapper;
import com.xinelu.manage.service.hospitalpersoninfo.IHospitalPersonInfoService;
import com.xinelu.manage.vo.hospitalpersoninfo.HospitalPersonInfoVO;
import com.xinelu.system.mapper.SysUserMapper;
import java.io.File;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.lang3.BooleanUtils;
@ -35,6 +26,13 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.io.File;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
/**
* 健康咨询-科室人员信息Service业务层处理
*
@ -53,6 +51,8 @@ public class HospitalPersonInfoServiceImpl implements IHospitalPersonInfoService
private HospitalPersonCertificateMapper hospitalPersonCertificateMapper;
@Resource
private SysUserMapper userMapper;
@Resource
private NurseStationPersonMapper nurseStationPersonMapper;
/**
* 查询健康咨询-科室人员信息
@ -134,22 +134,24 @@ public class HospitalPersonInfoServiceImpl implements IHospitalPersonInfoService
throw new ServiceException("新增科室人员资质证书信息失败,请联系管理员!");
}
}
// 判断用户名是否重复
int count = userMapper.checkUserNameUnique(hospitalPersonInfo.getPersonAccount());
if (count > 0) {
throw new ServiceException("已存在用户名为" + hospitalPersonInfo.getPersonAccount() +"的用户,请重新输入用户名");
}
// 保存到sys_user表
SysUser sysUser = new SysUser();
sysUser.setUserName(hospitalPersonInfo.getPersonAccount());
sysUser.setPassword(SecurityUtils.encryptPassword(hospitalPersonInfo.getPersonPassword()));
sysUser.setNickName(hospitalPersonInfo.getPersonName());
sysUser.setHospitalPersonId(hospitalPersonInfo.getId());
sysUser.setHospitalId(hospitalPersonInfo.getHospitalId());
sysUser.setStatus("0");
sysUser.setDelFlag("0");
userMapper.insertUser(sysUser);
// 判断用户名是否重复
int count = userMapper.checkUserNameUnique(hospitalPersonInfo.getPersonAccount());
if (count > 0) {
throw new ServiceException("已存在用户名为" + hospitalPersonInfo.getPersonAccount() + "的用户,请重新输入用户名");
}
//保存到sys_user表判断当前用户表中手机号是否存在不存在再保存存在不保存
int nurseStationUserCount = nurseStationPersonMapper.getNurseStationUserCount(hospitalPersonInfo.getPersonPhone());
if (nurseStationUserCount <= 0) {
SysUser sysUser = new SysUser();
sysUser.setUserName(hospitalPersonInfo.getPersonAccount());
sysUser.setPassword(SecurityUtils.encryptPassword(hospitalPersonInfo.getPersonPassword()));
sysUser.setNickName(hospitalPersonInfo.getPersonName());
sysUser.setHospitalPersonId(hospitalPersonInfo.getId());
sysUser.setHospitalId(hospitalPersonInfo.getHospitalId());
sysUser.setStatus("0");
sysUser.setDelFlag("0");
userMapper.insertUser(sysUser);
}
return AjaxResult.success();
}
@ -171,9 +173,9 @@ public class HospitalPersonInfoServiceImpl implements IHospitalPersonInfoService
if (Objects.nonNull(ajaxResult)) {
return ajaxResult;
}
if (StringUtils.equals("2", hospitalPersonInfo.getStatus()) && (Objects.isNull(hospitalPersonInfo.getConsultingFee()) || hospitalPersonInfo.getConsultingFee().compareTo(BigDecimal.ZERO) <= 0)) {
return AjaxResult.error("咨询费用不能为0或者负数请重新输入");
}
if (StringUtils.equals("2", hospitalPersonInfo.getStatus()) && (Objects.isNull(hospitalPersonInfo.getConsultingFee()) || hospitalPersonInfo.getConsultingFee().compareTo(BigDecimal.ZERO) <= 0)) {
return AjaxResult.error("咨询费用不能为0或者负数请重新输入");
}
//修改人 修改时间
hospitalPersonInfo.setUpdateTime(LocalDateTime.now());
hospitalPersonInfo.setUpdateBy(SecurityUtils.getUsername());
@ -183,11 +185,11 @@ public class HospitalPersonInfoServiceImpl implements IHospitalPersonInfoService
sysUser.setHospitalPersonId(hospitalPersonInfo.getId());
List<SysUser> userList = userMapper.selectUserList(sysUser);
if (CollectionUtils.isEmpty(userList)) {
// 判断用户名是否重复
int count = userMapper.checkUserNameUnique(hospitalPersonInfo.getPersonAccount());
if (count > 0) {
throw new ServiceException("已存在用户名为" + hospitalPersonInfo.getPersonAccount() +"的用户,请重新输入用户名");
}
// 判断用户名是否重复
int count = userMapper.checkUserNameUnique(hospitalPersonInfo.getPersonAccount());
if (count > 0) {
throw new ServiceException("已存在用户名为" + hospitalPersonInfo.getPersonAccount() + "的用户,请重新输入用户名");
}
SysUser newUser = new SysUser();
newUser.setUserName(hospitalPersonInfo.getPersonAccount());
newUser.setPassword(SecurityUtils.encryptPassword(hospitalPersonInfo.getPersonPassword()));
@ -198,9 +200,9 @@ public class HospitalPersonInfoServiceImpl implements IHospitalPersonInfoService
newUser.setDelFlag("0");
userMapper.insertUser(newUser);
} else {
// 修改用户信息
SysUser updUser = userList.get(0);
sysUser.setHospitalPersonId(hospitalPersonInfo.getId());
// 修改用户信息
SysUser updUser = userList.get(0);
sysUser.setHospitalPersonId(hospitalPersonInfo.getId());
updUser.setPassword(SecurityUtils.encryptPassword(hospitalPersonInfo.getPersonPassword()));
updUser.setNickName(hospitalPersonInfo.getPersonName());
updUser.setHospitalPersonId(hospitalPersonInfo.getId());
@ -292,16 +294,16 @@ public class HospitalPersonInfoServiceImpl implements IHospitalPersonInfoService
if (CollectionUtils.isNotEmpty(hospitalPersonCertificateUrlList)) {
hospitalPersonCertificateUrlList.forEach(this::deletePictureUrl);
}
// 删除用户表信息
List<Long> userId = new ArrayList<>();
for (HospitalPersonInfo hospitalPersonInfo : hospitalPersonInfos) {
SysUser sysUser = new SysUser();
sysUser.setHospitalPersonId(hospitalPersonInfo.getId());
List<SysUser> userList = userMapper.selectUserList(sysUser);
List<Long> userIdList = userList.stream().map(SysUser::getUserId).collect(Collectors.toList());
userId.addAll(userIdList);
}
userMapper.deleteUserByIds(userId.toArray(new Long[0]));
// 删除用户表信息
List<Long> userId = new ArrayList<>();
for (HospitalPersonInfo hospitalPersonInfo : hospitalPersonInfos) {
SysUser sysUser = new SysUser();
sysUser.setHospitalPersonId(hospitalPersonInfo.getId());
List<SysUser> userList = userMapper.selectUserList(sysUser);
List<Long> userIdList = userList.stream().map(SysUser::getUserId).collect(Collectors.toList());
userId.addAll(userIdList);
}
userMapper.deleteUserByIds(userId.toArray(new Long[0]));
return AjaxResult.success();
}