长者变更信息流程
This commit is contained in:
parent
b98550929f
commit
3fd7d347e4
|
|
@ -3,7 +3,6 @@ package com.nu.modules.wechat.elder.api;
|
|||
import cn.hutool.core.util.IdUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.nu.dto.ElderInfoMQDto;
|
||||
import com.nu.entity.ElderInfoEntity;
|
||||
|
|
@ -296,7 +295,13 @@ public class ElderApi {
|
|||
ElderInfoMQDto mqdto = new ElderInfoMQDto();
|
||||
BeanUtils.copyProperties(elderInfoEntity, mqdto);
|
||||
mqdto.setId(id);
|
||||
rabbitMQUtil.sendToExchange("hldy.elder", elderInfoEntity.getOrgCode() + ".elder.addelder", mqdto);
|
||||
rabbitMQUtil.sendToExchange("hldy.elder", elderInfoEntity.getOrgCode() + ".elder.addelder1", mqdto);
|
||||
|
||||
//处理管理端老人信息
|
||||
ElderInfoEntity elderInfoEn = new ElderInfoEntity();
|
||||
BeanUtils.copyProperties(mqdto,elderInfoEn);
|
||||
elderInfoApi.addElder(elderInfoEn);
|
||||
|
||||
return Result.ok(id);
|
||||
}
|
||||
|
||||
|
|
@ -326,7 +331,7 @@ public class ElderApi {
|
|||
elderInfoEntity.setOrgCode(elderInfoEntity.getSysOrgCode());
|
||||
ElderInfoMQDto mqdto = new ElderInfoMQDto();
|
||||
BeanUtils.copyProperties(elderInfoEntity, mqdto);
|
||||
rabbitMQUtil.sendToExchange("hldy.elder", elderInfoEntity.getOrgCode() + ".elder.updateelder", mqdto);
|
||||
rabbitMQUtil.sendToExchange("hldy.elder", elderInfoEntity.getOrgCode() + ".elder.updateelder1", mqdto);
|
||||
return Result.ok();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,37 +69,37 @@ public class NuBaseInfoApi {
|
|||
* @return
|
||||
*/
|
||||
@GetMapping("/queryBillList")
|
||||
public Result<List<NuBillEntity>> queryBillList(@RequestParam("openId") String openId) {
|
||||
public Result<List<NuBillEntity>> queryBillList(@RequestParam("openId") String openId, @RequestParam("orgCode") String orgCode) {
|
||||
//护理单元信息
|
||||
List<NuBaseElderEntity> nuElderList = nuBaseElderApi.queryByOpenId(openId, null);
|
||||
if (nuElderList == null || nuElderList.size() == 0) {
|
||||
return Result.ok(List.of());
|
||||
}
|
||||
|
||||
//key:orgCode value:nuid逗号拼接的字符串
|
||||
Map<String, String> orgCodeToNuIdMap = nuElderList.stream()
|
||||
.filter(entity -> entity.getOrgCode() != null && entity.getNuId() != null)
|
||||
.collect(Collectors.groupingBy(
|
||||
NuBaseElderEntity::getOrgCode,
|
||||
Collectors.mapping(NuBaseElderEntity::getNuId, Collectors.joining(","))
|
||||
));
|
||||
// List<NuBaseElderEntity> nuElderList = nuBaseElderApi.queryByOpenId(openId, null);
|
||||
// if (nuElderList == null || nuElderList.size() == 0) {
|
||||
// return Result.ok(List.of());
|
||||
// }
|
||||
//
|
||||
// //key:orgCode value:nuid逗号拼接的字符串
|
||||
// Map<String, String> orgCodeToNuIdMap = nuElderList.stream()
|
||||
// .filter(entity -> entity.getOrgCode() != null && entity.getNuId() != null)
|
||||
// .collect(Collectors.groupingBy(
|
||||
// NuBaseElderEntity::getOrgCode,
|
||||
// Collectors.mapping(NuBaseElderEntity::getNuId, Collectors.joining(","))
|
||||
// ));
|
||||
|
||||
List<NuBillEntity> result = Lists.newArrayList();
|
||||
for (Map.Entry<String, String> entry : orgCodeToNuIdMap.entrySet()) {
|
||||
String orgCode = entry.getKey();
|
||||
// for (Map.Entry<String, String> entry : orgCodeToNuIdMap.entrySet()) {
|
||||
// String orgCode = entry.getKey();
|
||||
// String nuIds = entry.getValue();
|
||||
|
||||
//切换数据源整理好数据放到返回结果中
|
||||
DynamicDataSourceContextHolder.push(orgCode);
|
||||
NuBillEntity params = new NuBillEntity();
|
||||
params.setOpenId(openId);
|
||||
List<NuBillEntity> list = nuBillApi.queryByOpenId(params);
|
||||
if (list == null || list.size() == 0) {
|
||||
continue;
|
||||
}
|
||||
DynamicDataSourceContextHolder.clear();
|
||||
result.addAll(list);
|
||||
}
|
||||
//切换数据源整理好数据放到返回结果中
|
||||
DynamicDataSourceContextHolder.push(orgCode);
|
||||
NuBillEntity params = new NuBillEntity();
|
||||
params.setOpenId(openId);
|
||||
List<NuBillEntity> list = nuBillApi.queryByOpenId(params);
|
||||
// if (list == null || list.size() == 0) {
|
||||
// continue;
|
||||
// }
|
||||
DynamicDataSourceContextHolder.clear();
|
||||
result.addAll(list);
|
||||
// }
|
||||
|
||||
List<NuBillEntity> sortedResult = result.stream()
|
||||
.sorted(Comparator.comparing(NuBillEntity::getCreateTime, Comparator.nullsLast(Date::compareTo)).reversed())
|
||||
|
|
|
|||
|
|
@ -247,4 +247,8 @@ public class ElderInfoMQDto implements Serializable {
|
|||
|
||||
//需要变更谁的信息 zz长者 jhr监护人
|
||||
private String modifyType;
|
||||
|
||||
//变更审批结果
|
||||
private String upAuditResut;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,4 +9,6 @@ public interface IElderInfoApi {
|
|||
List<ElderInfoEntity> queryByElderIds(String[] split);
|
||||
|
||||
List<ElderInfoEntity> queryElders(String openId, String elderId);
|
||||
|
||||
void addElder(ElderInfoEntity elderInfoEn);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package com.nu.modules.elderinfo.service.impl;
|
|||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nu.dto.ElderInfoMQDto;
|
||||
import com.nu.entity.ElderInfoEntity;
|
||||
import com.nu.modules.baseinfo.api.INuBaseInfoApi;
|
||||
import com.nu.modules.elder.api.IElderInfoApi;
|
||||
|
|
@ -10,6 +11,7 @@ import com.nu.modules.elderinfo.entity.ElderInfo;
|
|||
import com.nu.modules.elderinfo.mapper.ElderInfoMapper;
|
||||
import com.nu.modules.elderinfo.service.IElderInfoService;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
|
@ -44,4 +46,20 @@ public class ElderInfoServiceImpl extends ServiceImpl<ElderInfoMapper, ElderInfo
|
|||
List<ElderInfo> elderInfos = baseMapper.selectList(qw);
|
||||
return BeanUtil.copyToList(elderInfos, ElderInfoEntity.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addElder(ElderInfoEntity dto) {
|
||||
ElderInfo elderInfo = new ElderInfo();
|
||||
BeanUtils.copyProperties(dto, elderInfo);
|
||||
ElderInfo oldElderInfo = baseMapper.selectById(dto.getId());
|
||||
if (oldElderInfo != null) {
|
||||
//长者之前入住过
|
||||
baseMapper.updateById(elderInfo);
|
||||
} else {
|
||||
//长者第一次入住机构
|
||||
elderInfo.setDelFlag("0");
|
||||
baseMapper.insert(elderInfo);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,27 @@
|
|||
package com.nu.mq.eldertag.listener;
|
||||
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.nu.dto.ElderInfoMQDto;
|
||||
import com.nu.dto.ElderTagAsyncMQDto;
|
||||
import com.nu.dto.ElderTagTypeMQDto;
|
||||
import com.nu.dto.StatusMQDto;
|
||||
import com.nu.entity.WxNoticeEntity;
|
||||
import com.nu.enums.MQStatus;
|
||||
import com.nu.enums.WxClientType;
|
||||
import com.nu.modules.async.entity.AsyncStatus;
|
||||
import com.nu.modules.async.service.IAsyncMainService;
|
||||
import com.nu.modules.async.service.IAsyncStatusService;
|
||||
import com.nu.modules.canaddeldertag.entity.CanAddElderTag;
|
||||
import com.nu.modules.canaddeldertag.service.ICanAddElderTagService;
|
||||
import com.nu.modules.elderinfo.entity.ElderInfo;
|
||||
import com.nu.modules.elderinfo.service.IElderInfoService;
|
||||
import com.nu.modules.eldertagtypere.entity.ElderTagTypeRe;
|
||||
import com.nu.modules.eldertagtypere.service.IElderTagTypeReService;
|
||||
import com.nu.modules.wxnotice.IWxNoticeApi;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.amqp.core.ExchangeTypes;
|
||||
import org.springframework.amqp.rabbit.annotation.Exchange;
|
||||
|
|
@ -25,6 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
|
|
@ -38,6 +47,10 @@ public class ElderTaggMQListener {
|
|||
private ICanAddElderTagService canAddElderTagService;
|
||||
@Autowired
|
||||
private IElderTagTypeReService elderTagTypeService;
|
||||
@Autowired
|
||||
private IElderInfoService elderInfoService;
|
||||
@Autowired
|
||||
private IWxNoticeApi wxNoticeApi;
|
||||
|
||||
/**
|
||||
* 其他平台新增指令
|
||||
|
|
@ -72,7 +85,7 @@ public class ElderTaggMQListener {
|
|||
}
|
||||
|
||||
ElderTagTypeRe elderTagType = new ElderTagTypeRe();
|
||||
BeanUtils.copyProperties(dto,elderTagType);
|
||||
BeanUtils.copyProperties(dto, elderTagType);
|
||||
elderTagType.setId(IdUtil.simpleUUID());
|
||||
elderTagType.setTypeId(dto.getId());
|
||||
elderTagTypeService.save(elderTagType);
|
||||
|
|
@ -92,4 +105,95 @@ public class ElderTaggMQListener {
|
|||
asyncStatus.setMsg(dto.getMessage());
|
||||
asyncStatusService.updateById(asyncStatus);
|
||||
}
|
||||
|
||||
@RabbitListener(bindings = @QueueBinding(value = @Queue(name = "hldy.elder.infoUp.result"), exchange = @Exchange(name = "hldy.elder", type = ExchangeTypes.DIRECT), key = "hldy.elder.infoUp.result"), errorHandler = "elderTaggMQErrorHandler")
|
||||
public void handleInfoUp(ElderInfoMQDto dto) {
|
||||
|
||||
if ("Y".equals(dto.getUpAuditResut())) {
|
||||
ElderInfo elderInfo = new ElderInfo();
|
||||
BeanUtils.copyProperties(dto, elderInfo);
|
||||
elderInfoService.updateById(elderInfo);
|
||||
if ("jhr".equals(dto.getModifyType())) {
|
||||
//增加消息通知
|
||||
WxNoticeEntity wxNoticeEntity = new WxNoticeEntity();
|
||||
wxNoticeEntity.setOpenId(dto.getGuardianOpenId());
|
||||
wxNoticeEntity.setIzRead("1");
|
||||
wxNoticeEntity.setOrgCode(dto.getOrgCode());
|
||||
wxNoticeEntity.setTitle("监护人信息变更审批");
|
||||
wxNoticeEntity.setContent("您好,您提交的" + dto.getName() + "老人的家属信息变更申请已通过");
|
||||
wxNoticeEntity.setType("elder_jhr_info_update_list");
|
||||
Map<String, Object> extend = Maps.newHashMap();
|
||||
extend.put("orgCode", dto.getOrgCode());
|
||||
extend.put("dataId", dto.getId());
|
||||
wxNoticeEntity.setExtend(JSONObject.toJSONString(extend));
|
||||
wxNoticeEntity.setClientType(WxClientType.EMPLOYEE.getCode());
|
||||
wxNoticeApi.addNotice(wxNoticeEntity);
|
||||
wxNoticeApi.sendWechartMinMessage(wxNoticeEntity);
|
||||
}
|
||||
if ("zz".equals(dto.getModifyType())) {
|
||||
//增加消息通知
|
||||
WxNoticeEntity wxNoticeEntity = new WxNoticeEntity();
|
||||
wxNoticeEntity.setOpenId(dto.getGuardianOpenId());
|
||||
wxNoticeEntity.setIzRead("1");
|
||||
wxNoticeEntity.setOrgCode(dto.getOrgCode());
|
||||
wxNoticeEntity.setTitle("长者信息变更审批");
|
||||
wxNoticeEntity.setContent("您好,您提交的" + dto.getName() + "老人信息变更申请已通过");
|
||||
wxNoticeEntity.setType("elder_info_update_list");
|
||||
Map<String, Object> extend = Maps.newHashMap();
|
||||
extend.put("orgCode", dto.getOrgCode());
|
||||
extend.put("dataId", dto.getId());
|
||||
wxNoticeEntity.setExtend(JSONObject.toJSONString(extend));
|
||||
wxNoticeEntity.setClientType(WxClientType.EMPLOYEE.getCode());
|
||||
wxNoticeApi.addNotice(wxNoticeEntity);
|
||||
wxNoticeApi.sendWechartMinMessage(wxNoticeEntity);
|
||||
}
|
||||
}
|
||||
|
||||
if ("N".equals(dto.getUpAuditResut())) {
|
||||
if ("jhr".equals(dto.getModifyType())) {
|
||||
ElderInfo elderInfo = new ElderInfo();
|
||||
elderInfo.setId(dto.getId());
|
||||
elderInfo.setGuardianModifyStatus("3");//监护人审批结果
|
||||
elderInfo.setGuardianModifyContent(dto.getGuardianModifyContent());//监护人审批不通过原因
|
||||
elderInfoService.updateById(elderInfo);
|
||||
//增加消息通知
|
||||
WxNoticeEntity wxNoticeEntity = new WxNoticeEntity();
|
||||
wxNoticeEntity.setOpenId(dto.getGuardianOpenId());
|
||||
wxNoticeEntity.setIzRead("1");
|
||||
wxNoticeEntity.setOrgCode(dto.getOrgCode());
|
||||
wxNoticeEntity.setTitle("监护人信息变更审批");
|
||||
wxNoticeEntity.setContent("您好,您提交的" + dto.getName() + "老人的家属信息变更申请未通过");
|
||||
wxNoticeEntity.setType("elder_jhr_info_update_list");
|
||||
Map<String, Object> extend = Maps.newHashMap();
|
||||
extend.put("orgCode", dto.getOrgCode());
|
||||
extend.put("dataId", dto.getId());
|
||||
wxNoticeEntity.setExtend(JSONObject.toJSONString(extend));
|
||||
wxNoticeEntity.setClientType(WxClientType.EMPLOYEE.getCode());
|
||||
wxNoticeApi.addNotice(wxNoticeEntity);
|
||||
wxNoticeApi.sendWechartMinMessage(wxNoticeEntity);
|
||||
}
|
||||
if ("zz".equals(dto.getModifyType())) {
|
||||
ElderInfo elderInfo = new ElderInfo();
|
||||
elderInfo.setId(dto.getId());
|
||||
elderInfo.setElderModifyStatus("3");//长者审批结果
|
||||
elderInfo.setElderModifyContent(dto.getElderModifyContent());//长者审批不通过原因
|
||||
elderInfoService.updateById(elderInfo);
|
||||
//增加消息通知
|
||||
WxNoticeEntity wxNoticeEntity = new WxNoticeEntity();
|
||||
wxNoticeEntity.setOpenId(dto.getGuardianOpenId());
|
||||
wxNoticeEntity.setIzRead("1");
|
||||
wxNoticeEntity.setOrgCode(dto.getOrgCode());
|
||||
wxNoticeEntity.setTitle("长者信息变更审批");
|
||||
wxNoticeEntity.setContent("您好,您提交的" + dto.getName() + "老人信息变更申请未通过");
|
||||
wxNoticeEntity.setType("elder_info_update_list");
|
||||
Map<String, Object> extend = Maps.newHashMap();
|
||||
extend.put("orgCode", dto.getOrgCode());
|
||||
extend.put("dataId", dto.getId());
|
||||
wxNoticeEntity.setExtend(JSONObject.toJSONString(extend));
|
||||
wxNoticeEntity.setClientType(WxClientType.EMPLOYEE.getCode());
|
||||
wxNoticeApi.addNotice(wxNoticeEntity);
|
||||
wxNoticeApi.sendWechartMinMessage(wxNoticeEntity);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue