Merge remote-tracking branch 'origin/jh_20231124_河口项目功能分支' into jh_20231124_河口项目功能分支
This commit is contained in:
commit
86bfdf6e9c
@ -3,7 +3,10 @@ package com.xinelu.web.controller.fd;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.xinelu.common.core.controller.BaseController;
|
||||
import com.xinelu.common.core.domain.R;
|
||||
import com.xinelu.common.core.page.TableDataInfo;
|
||||
import com.xinelu.common.exception.ServiceException;
|
||||
import com.xinelu.familydoctor.applet.pojo.body.ApprovalBody;
|
||||
import com.xinelu.familydoctor.applet.pojo.body.SyncHospitalPersonInfoBody;
|
||||
import com.xinelu.familydoctor.applet.pojo.query.ApplyQuery;
|
||||
@ -13,8 +16,11 @@ import com.xinelu.familydoctor.applet.pojo.vo.ResidentSignApplyVo;
|
||||
import com.xinelu.familydoctor.applet.service.IResidentRescindApplyService;
|
||||
import com.xinelu.familydoctor.applet.service.IResidentServiceAppletService;
|
||||
import com.xinelu.familydoctor.applet.service.IResidentSignAppletService;
|
||||
import com.xinelu.manage.domain.chatRecord.ChatRecord;
|
||||
import com.xinelu.manage.domain.hospitalinfo.HospitalInfo;
|
||||
import com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo;
|
||||
import com.xinelu.manage.dto.chatrecord.MessageSearchDto;
|
||||
import com.xinelu.manage.mapper.chatrecord.ChatRecordMapper;
|
||||
import com.xinelu.manage.service.hospitalinfo.IHospitalInfoService;
|
||||
import com.xinelu.manage.service.hospitalpersoninfo.IHospitalPersonInfoService;
|
||||
import com.xinelu.manage.service.patientinfo.IPatientInfoService;
|
||||
@ -30,7 +36,7 @@ import javax.annotation.Resource;
|
||||
@Api(tags = "家医调用接口")
|
||||
@RestController
|
||||
@RequestMapping("/applet/fd")
|
||||
public class FDController {
|
||||
public class FDController extends BaseController {
|
||||
@Resource
|
||||
private IResidentRescindApplyService residentRescindApplyService;
|
||||
@Resource
|
||||
@ -43,6 +49,8 @@ public class FDController {
|
||||
private IHospitalPersonInfoService hospitalPersonInfoService;
|
||||
@Resource
|
||||
private IHospitalInfoService hospitalInfoService;
|
||||
@Resource
|
||||
private ChatRecordMapper chatRecordMapper;
|
||||
|
||||
|
||||
@ApiOperation("服务申请列表")
|
||||
@ -191,4 +199,32 @@ public class FDController {
|
||||
}
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "获取居民消息推送列表", notes = "山东通APP消息通知模块中的消息提醒用")
|
||||
@GetMapping("/getNotice/{identity}")
|
||||
public TableDataInfo noticDel(@PathVariable String identity) {
|
||||
// 获取注册信息
|
||||
PatientInfoVO patientInfo = patientInfoService.selectPatientInfoByCardNo(identity);
|
||||
if (patientInfo == null) {
|
||||
return null;
|
||||
}
|
||||
MessageSearchDto query = new MessageSearchDto();
|
||||
query.setRecipientId(patientInfo.getId());
|
||||
query.setMessageCategory("4");
|
||||
startPage();
|
||||
return getDataTable(chatRecordMapper.selectMegList(query));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "获取居民消息推送最后一次记录", notes = "山东通APP消息通知模块中的消息提醒用")
|
||||
@GetMapping("/getLastNotice/{identity}")
|
||||
public R<ChatRecord> getLastNotice(@PathVariable String identity) {
|
||||
PatientInfoVO patientInfo = patientInfoService.selectPatientInfoByCardNo(identity);
|
||||
if (patientInfo == null) {
|
||||
return null;
|
||||
}
|
||||
MessageSearchDto query = new MessageSearchDto();
|
||||
query.setRecipientId(patientInfo.getId());
|
||||
query.setMessageCategory("4");
|
||||
return R.ok(chatRecordMapper.getLast(query));
|
||||
}
|
||||
}
|
||||
|
||||
@ -398,21 +398,21 @@
|
||||
nsp.create_by,
|
||||
nsp.create_time,
|
||||
nsp.update_by,
|
||||
nsp.update_time,
|
||||
nspc.id certificateId,
|
||||
nspc.certificate_name,
|
||||
nspc.certificate_url,
|
||||
nspc.sort
|
||||
nsp.update_time
|
||||
-- nspc.id certificateId,
|
||||
-- nspc.certificate_name,
|
||||
-- nspc.certificate_url,
|
||||
-- nspc.sort
|
||||
FROM
|
||||
nurse_station_person nsp
|
||||
LEFT JOIN sys_user su ON su.phonenumber = nsp.phone
|
||||
LEFT JOIN nurse_station_person_certificate nspc ON nspc.nurse_station_person_id = nsp.id
|
||||
-- LEFT JOIN nurse_station_person_certificate nspc ON nspc.nurse_station_person_id = nsp.id
|
||||
<where>
|
||||
<if test="nursePersonId != null and nursePersonId != ''">
|
||||
and nsp.id = #{nursePersonId}
|
||||
</if>
|
||||
and su.del_flag = 0
|
||||
</where>
|
||||
ORDER BY nspc.sort
|
||||
-- ORDER BY nspc.sort
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@ -86,6 +86,14 @@ public class ChatRecord extends BaseEntity implements Serializable {
|
||||
@Excel(name = "发送时间,时间格式:yyyy-MM-dd HH:mm:ss", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date sendTime;
|
||||
|
||||
/**
|
||||
* 发送时间,时间格式:yyyy-MM-dd HH:mm:ss
|
||||
*/
|
||||
@ApiModelProperty(value = "发送时间,时间格式:yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@Excel(name = "发送时间,时间格式:yyyy-MM-dd HH:mm:ss", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date sendTime1;
|
||||
|
||||
/**
|
||||
* 接收人
|
||||
*/
|
||||
|
||||
@ -118,4 +118,12 @@ public interface ChatRecordMapper {
|
||||
|
||||
List<ChatRecord> getList(ChatRecord chatRecord);
|
||||
|
||||
/**
|
||||
* @Author mengkuiliang
|
||||
* @Description 查询最后一次通知记录
|
||||
* @Date 2023-12-06 006 14:53
|
||||
* @Param [query]
|
||||
* @return com.xinelu.manage.domain.chatRecord.ChatRecord
|
||||
**/
|
||||
ChatRecord getLast(MessageSearchDto query);
|
||||
}
|
||||
|
||||
@ -3,9 +3,10 @@ package com.xinelu.manage.mapper.hospitalpersoninfo;
|
||||
import com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo;
|
||||
import com.xinelu.manage.dto.hospitalpersoninfo.HospitalPersonInfoDtoo;
|
||||
import com.xinelu.manage.vo.hospitalpersoninfo.HospitalPersonInfoVO;
|
||||
import java.util.List;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 健康咨询-科室人员信息Mapper接口
|
||||
@ -111,20 +112,27 @@ public interface HospitalPersonInfoMapper {
|
||||
int selectHospitalPersonInfoByIdCount(Long id);
|
||||
|
||||
/**
|
||||
* @return com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo
|
||||
* @Author mengkuiliang
|
||||
* @Description 根据科室人员编码查询人员信息
|
||||
* @Date 2023-10-20 020 14:37
|
||||
* @Param [personCode]
|
||||
* @return com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo
|
||||
**/
|
||||
HospitalPersonInfo getByPersonCode(@Param("personCode") String personCode, @Param("status") String status);
|
||||
|
||||
/**
|
||||
* @return int
|
||||
* @Author mengkuiliang
|
||||
* @Description 根据科室人员编号更新
|
||||
* @Date 2023-10-20 020 15:03
|
||||
* @Param [hospitalPersonInfo]
|
||||
* @return int
|
||||
**/
|
||||
int updateByPersonCode(HospitalPersonInfo hospitalPersonInfo);
|
||||
|
||||
/**
|
||||
* 根据手机号查询当前科室人员信息是否存在,用于判断手机号唯一
|
||||
*
|
||||
* @param phone 手机号号码
|
||||
* @return 数量
|
||||
*/
|
||||
int getPersonInfoByPhoneNumber(@Param("phoneNumber") String phone);
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
/**
|
||||
* 查询健康咨询-科室人员信息
|
||||
@ -97,6 +97,11 @@ public class HospitalPersonInfoServiceImpl implements IHospitalPersonInfoService
|
||||
if (BooleanUtils.isFalse(phone)) {
|
||||
return AjaxResult.error("您输入的联系电话" + hospitalPersonInfo.getPersonPhone() + "不正确,请重新输入!");
|
||||
}
|
||||
// 校验手机号是否重复
|
||||
int personPhoneCount = hospitalPersonInfoMapper.getPersonInfoByPhoneNumber(hospitalPersonInfo.getPersonPhone());
|
||||
if (personPhoneCount > 0) {
|
||||
return AjaxResult.error("您输入的联系电话" + hospitalPersonInfo.getPersonPhone() + "重复!");
|
||||
}
|
||||
}
|
||||
//校验身份证号是否正确
|
||||
if (Objects.nonNull(hospitalPersonInfo) && StringUtils.isNotBlank(hospitalPersonInfo.getCardNo())) {
|
||||
@ -134,22 +139,25 @@ public class HospitalPersonInfoServiceImpl implements IHospitalPersonInfoService
|
||||
throw new ServiceException("新增科室人员资质证书信息失败,请联系管理员!");
|
||||
}
|
||||
}
|
||||
|
||||
// 判断用户名是否重复
|
||||
int count = userMapper.checkUserNameUnique(hospitalPersonInfo.getPersonAccount());
|
||||
if (count > 0) {
|
||||
throw new ServiceException("已存在用户名为" + hospitalPersonInfo.getPersonAccount() + "的用户,请重新输入用户名");
|
||||
}
|
||||
// 保存到sys_user表
|
||||
//保存到sys_user表,判断当前用户表中手机号是否存在,不存在再保存,存在不保存
|
||||
int nurseStationUserCount = nurseStationPersonMapper.getNurseStationUserCount(StringUtils.isBlank(hospitalPersonInfo.getPersonPhone()) ? "" : 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.setPhonenumber(StringUtils.isBlank(hospitalPersonInfo.getPersonPhone()) ? "" : hospitalPersonInfo.getPersonPhone());
|
||||
sysUser.setStatus("0");
|
||||
sysUser.setDelFlag("0");
|
||||
userMapper.insertUser(sysUser);
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
@ -188,28 +196,39 @@ public class HospitalPersonInfoServiceImpl implements IHospitalPersonInfoService
|
||||
if (count > 0) {
|
||||
throw new ServiceException("已存在用户名为" + hospitalPersonInfo.getPersonAccount() + "的用户,请重新输入用户名");
|
||||
}
|
||||
int nurseStationUserCount = nurseStationPersonMapper.getNurseStationUserCount(StringUtils.isBlank(hospitalPersonInfo.getPersonPhone()) ? "" : hospitalPersonInfo.getPersonPhone());
|
||||
if (nurseStationUserCount > 0) {
|
||||
throw new ServiceException("您输入的联系电话" + hospitalPersonInfo.getPersonPhone() + "重复!");
|
||||
}
|
||||
SysUser newUser = new SysUser();
|
||||
newUser.setUserName(hospitalPersonInfo.getPersonAccount());
|
||||
newUser.setPassword(SecurityUtils.encryptPassword(hospitalPersonInfo.getPersonPassword()));
|
||||
newUser.setNickName(hospitalPersonInfo.getPersonName());
|
||||
newUser.setHospitalPersonId(hospitalPersonInfo.getId());
|
||||
newUser.setHospitalId(hospitalPersonInfo.getHospitalId());
|
||||
newUser.setPhonenumber(StringUtils.isBlank(hospitalPersonInfo.getPersonPhone()) ? "" : hospitalPersonInfo.getPersonPhone());
|
||||
newUser.setStatus("0");
|
||||
newUser.setDelFlag("0");
|
||||
userMapper.insertUser(newUser);
|
||||
} else {
|
||||
// 修改用户信息
|
||||
SysUser updUser = userList.get(0);
|
||||
if (!hospitalPersonInfo.getPersonPhone().equals(updUser.getPhonenumber())){
|
||||
int nurseStationUserCount = nurseStationPersonMapper.getNurseStationUserCount(hospitalPersonInfo.getPersonPhone());
|
||||
if (nurseStationUserCount > 0) {
|
||||
throw new ServiceException("您输入的联系电话" + hospitalPersonInfo.getPersonPhone() + "重复!");
|
||||
}
|
||||
}
|
||||
sysUser.setHospitalPersonId(hospitalPersonInfo.getId());
|
||||
updUser.setPassword(SecurityUtils.encryptPassword(hospitalPersonInfo.getPersonPassword()));
|
||||
updUser.setNickName(hospitalPersonInfo.getPersonName());
|
||||
updUser.setHospitalPersonId(hospitalPersonInfo.getId());
|
||||
updUser.setHospitalId(hospitalPersonInfo.getHospitalId());
|
||||
updUser.setPhonenumber(StringUtils.isBlank(hospitalPersonInfo.getPersonPhone()) ? "" : hospitalPersonInfo.getPersonPhone());
|
||||
updUser.setStatus("0");
|
||||
updUser.setDelFlag("0");
|
||||
userMapper.updateUser(updUser);
|
||||
}
|
||||
|
||||
//根据科室人员id去查询对应的资质证书 使用流来获取所有的证书路径
|
||||
List<HospitalPersonCertificate> hospitalPersonCertificateList = hospitalPersonCertificateMapper.selectHospitalPersonCertificateByIds(Collections.singletonList(hospitalPersonInfo.getId()));
|
||||
//数据库中的
|
||||
|
||||
@ -451,4 +451,17 @@
|
||||
</if>
|
||||
ORDER BY send_time desc
|
||||
</select>
|
||||
|
||||
<!-- 查询最后一次通知记录 -->
|
||||
<select id="getLast" resultType="com.xinelu.manage.domain.chatRecord.ChatRecord">
|
||||
select
|
||||
message_no,message_category,source_type,consultation_id,crowds,crowds_name,sender_id,
|
||||
sender_name,send_time as send_time1,recipient_id,
|
||||
recipient_name,message_type,title,content,content_id,
|
||||
read_status,title
|
||||
from chat_record
|
||||
where del_flag = '0' and message_category = #{messageCategory} and recipient_id = #{recipientId}
|
||||
order by send_time desc
|
||||
limit 1
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@ -590,4 +590,8 @@
|
||||
</trim>
|
||||
where person_code = #{personCode}
|
||||
</update>
|
||||
|
||||
<select id="getPersonInfoByPhoneNumber" resultType="int">
|
||||
select count(1) from hospital_person_info where person_phone = #{phoneNumber}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@ -145,7 +145,7 @@
|
||||
</select>
|
||||
|
||||
<select id="checkPhoneUnique" parameterType="String" resultMap="SysUserResult">
|
||||
select user_id, phonenumber from sys_user where phonenumber = #{phonenumber} limit 1
|
||||
select user_id, phonenumber from sys_user where phonenumber = #{phonenumber} and del_flag = 0 limit 1
|
||||
</select>
|
||||
|
||||
<select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
|
||||
@ -231,5 +231,4 @@
|
||||
#{userId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue
Block a user