添加长者、修改家属信息:通知管理形态新增/修改家属信息
This commit is contained in:
parent
2bef88d969
commit
05e12628b5
|
|
@ -0,0 +1,10 @@
|
|||
package com.nu.modules.nubill.api;
|
||||
|
||||
import com.nu.entity.NuBillEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface INuBillApi {
|
||||
|
||||
List<NuBillEntity> queryByOpenId(NuBillEntity params);
|
||||
}
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.nu.modules.employees.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.nu.dto.EmployeesStatusMQDto;
|
||||
import com.nu.modules.employees.entity.NuEmployeesAdvisoryInfo;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @Description: 员工咨询信息
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.nu.modules.employees.service.impl;
|
|||
|
||||
import cn.hutool.json.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nu.dto.EmployeesStatusMQDto;
|
||||
import com.nu.modules.EmployessInfo.api.IEmployessAdvisioryInfoApi;
|
||||
import com.nu.modules.EmployessInfo.entity.EmployeesAdvisoryInfoEntity;
|
||||
|
|
@ -12,7 +13,6 @@ import com.nu.modules.weixin.utils.TemplateMessageSender;
|
|||
import com.nu.modules.weixin.utils.WechatMiniProgramUtils;
|
||||
import org.apache.commons.compress.utils.Lists;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.constant.CommonConstant;
|
||||
import org.jeecg.common.system.api.ISysBaseAPI;
|
||||
import org.jeecg.common.util.DateUtils;
|
||||
|
|
@ -21,8 +21,6 @@ import org.springframework.beans.BeanUtils;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,105 @@
|
|||
package com.nu.modules.nubill.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import org.jeecg.common.constant.ProvinceCityArea;
|
||||
import org.jeecg.common.util.SpringContextUtils;
|
||||
import lombok.Data;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.jeecg.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* @Description: 护理单元费用明细
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2025-09-17
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("nu_nu_bill")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="nu_nu_bill对象", description="护理单元费用明细")
|
||||
public class NuBill implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**id*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "ID")
|
||||
private java.lang.String id;
|
||||
/**护理单元编号*/
|
||||
@Excel(name = "护理单元编号", width = 15)
|
||||
@ApiModelProperty(value = "护理单元编号")
|
||||
private java.lang.String nuId;
|
||||
/**长者ID*/
|
||||
@Excel(name = "长者ID", width = 15)
|
||||
@ApiModelProperty(value = "长者ID")
|
||||
private java.lang.Integer elderId;
|
||||
/**家属open_id*/
|
||||
@Excel(name = "家属open_id", width = 15)
|
||||
@ApiModelProperty(value = "家属open_id")
|
||||
private java.lang.String openId;
|
||||
/**变动金额:正为充值/退款,负为消费*/
|
||||
@Excel(name = "变动金额:正为充值/退款,负为消费", width = 15)
|
||||
@ApiModelProperty(value = "变动金额:正为充值/退款,负为消费")
|
||||
private java.math.BigDecimal amount;
|
||||
/**本次操作后余额(防计算误差)*/
|
||||
@Excel(name = "本次操作后余额(防计算误差)", width = 15)
|
||||
@ApiModelProperty(value = "本次操作后余额(防计算误差)")
|
||||
private java.math.BigDecimal balanceAfter;
|
||||
/**费用类型bill_type:电费,水费,充值,退款等 */
|
||||
@Excel(name = "费用类型bill_type:电费,水费,充值,退款等 ", width = 15)
|
||||
@ApiModelProperty(value = "费用类型bill_type:电费,水费,充值,退款等 ")
|
||||
private java.lang.String type;
|
||||
/**备注*/
|
||||
@Excel(name = "备注", width = 15)
|
||||
@ApiModelProperty(value = "备注")
|
||||
private java.lang.String remark;
|
||||
/**createdTime*/
|
||||
@Excel(name = "createdTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "createdTime")
|
||||
private java.util.Date createTime;
|
||||
|
||||
/**
|
||||
* 护理单元名称
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String nuName;
|
||||
|
||||
/**
|
||||
* 长者姓名
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String elderName;
|
||||
|
||||
/**
|
||||
* 费用类型名称
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String typeName;
|
||||
|
||||
/**
|
||||
* 机构名称
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String departName;
|
||||
|
||||
/**
|
||||
* 护理单元余额
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private BigDecimal balance;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package com.nu.modules.nubill.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.nu.entity.NuBillEntity;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.nu.modules.nubill.entity.NuBill;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @Description: 护理单元费用明细
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2025-09-17
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface NuBillMapper extends BaseMapper<NuBill> {
|
||||
|
||||
List<NuBill> queryByOpenId(@Param("dto") NuBillEntity dto);
|
||||
}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.nu.modules.nubill.mapper.NuBillMapper">
|
||||
|
||||
<select id="queryByOpenId" resultType="com.nu.modules.nubill.entity.NuBill">
|
||||
select
|
||||
billinfo.open_id,
|
||||
billinfo.nu_id,
|
||||
baseinfo.nu_name,
|
||||
billinfo.elder_id,
|
||||
elderinfo.name AS elderName,
|
||||
billinfo.amount,
|
||||
baseinfo.balance AS balance,
|
||||
billinfo.balance_after,
|
||||
billinfo.type,
|
||||
dic.dit AS typeName,
|
||||
billinfo.remark,
|
||||
billinfo.create_time,
|
||||
departinfo.depart_name AS departName
|
||||
from nu_nu_bill billinfo
|
||||
left join nu_base_info baseinfo on billinfo.nu_id = baseinfo.nu_id
|
||||
left join nu_biz_elder_info elderinfo on billinfo.elder_id = elderinfo.id
|
||||
left join (select di.item_value as diva, di.item_text as dit
|
||||
from sys_dict d
|
||||
left join sys_dict_item di on d.id = di.dict_id
|
||||
where d.dict_code = 'bill_type') dic
|
||||
on billinfo.type = dic.diva
|
||||
left join sys_depart departinfo on baseinfo.sys_org_code = departinfo.org_code
|
||||
<where>
|
||||
billinfo.open_id = #{dto.openId}
|
||||
<if test="dto.elderId != null and dto.elderId != ''">
|
||||
and billinfo.elder_id = #{dto.elderId}
|
||||
</if>
|
||||
<if test="dto.nuId != null and dto.nuId != ''">
|
||||
and billinfo.nu_id = #{nuId}
|
||||
</if>
|
||||
</where>
|
||||
order by billinfo.create_time desc
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
package com.nu.modules.nubill.service;
|
||||
|
||||
import com.nu.modules.nubill.entity.NuBill;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @Description: 护理单元费用明细
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2025-09-17
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface INuBillService extends IService<NuBill> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package com.nu.modules.nubill.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.entity.NuBillEntity;
|
||||
import com.nu.modules.nubill.api.INuBillApi;
|
||||
import com.nu.modules.nubill.entity.NuBill;
|
||||
import com.nu.modules.nubill.mapper.NuBillMapper;
|
||||
import com.nu.modules.nubill.service.INuBillService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 护理单元费用明细
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2025-09-17
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
public class NuBillServiceImpl extends ServiceImpl<NuBillMapper, NuBill> implements INuBillService, INuBillApi {
|
||||
|
||||
@Override
|
||||
public List<NuBillEntity> queryByOpenId(NuBillEntity params) {
|
||||
List<NuBill> list = baseMapper.queryByOpenId(params);
|
||||
return BeanUtil.copyToList(list,NuBillEntity.class);
|
||||
}
|
||||
}
|
||||
|
|
@ -132,6 +132,7 @@ public class ElderApi {
|
|||
//切换数据源整理好数据放到返回结果中
|
||||
DynamicDataSourceContextHolder.push(orgCode);
|
||||
ElderInfoMQDto mqdto = new ElderInfoMQDto();
|
||||
mqdto.setGuardianId(nuBizAdvisoryInfo.getId());//家属(用户)id
|
||||
mqdto.setGuardianOpenId(nuBizAdvisoryInfo.getOpenId());//联系人openId
|
||||
mqdto.setGuardianName(nuBizAdvisoryInfo.getName());//联系人姓名
|
||||
mqdto.setGuardianPhone(nuBizAdvisoryInfo.getTel());//联系人电话
|
||||
|
|
|
|||
|
|
@ -4,14 +4,12 @@ import com.alibaba.fastjson.JSONObject;
|
|||
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.nu.dto.NuBaseInfoMQDto;
|
||||
import com.nu.entity.ElderInfoEntity;
|
||||
import com.nu.entity.HumidDeviceEntity;
|
||||
import com.nu.entity.NuBaseElderEntity;
|
||||
import com.nu.entity.NuBaseInfoEntity;
|
||||
import com.nu.entity.*;
|
||||
import com.nu.modules.baseinfo.api.INuBaseInfoApi;
|
||||
import com.nu.modules.elder.api.IElderInfoApi;
|
||||
import com.nu.modules.humiddevice.api.IHumidDeviceApi;
|
||||
import com.nu.modules.nubaseelder.api.INuBaseElderApi;
|
||||
import com.nu.modules.nubill.api.INuBillApi;
|
||||
import com.nu.utils.RabbitMQUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.compress.utils.Lists;
|
||||
|
|
@ -22,9 +20,7 @@ import org.springframework.beans.BeanUtils;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
|
@ -47,6 +43,8 @@ public class NuBaseInfoApi {
|
|||
private ISysBaseAPI sysBaseAPI;
|
||||
@Autowired
|
||||
private RabbitMQUtil rabbitMQUtil;
|
||||
@Autowired
|
||||
private INuBillApi nuBillApi;
|
||||
|
||||
/**
|
||||
* 绑定护理单元
|
||||
|
|
@ -64,6 +62,51 @@ public class NuBaseInfoApi {
|
|||
return Result.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询家属缴费明细
|
||||
*
|
||||
* @param openId
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/queryBillList")
|
||||
public Result<List<NuBillEntity>> queryBillList(@RequestParam("openId") String openId) {
|
||||
//护理单元信息
|
||||
List<NuBaseElderEntity> nuElderList = nuBaseElderApi.queryByOpenId(openId);
|
||||
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();
|
||||
// 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);
|
||||
}
|
||||
|
||||
List<NuBillEntity> sortedResult = result.stream()
|
||||
.sorted(Comparator.comparing(NuBillEntity::getCreateTime, Comparator.nullsLast(Date::compareTo)).reversed())
|
||||
.collect(Collectors.toList());
|
||||
return Result.ok(sortedResult);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户下对应的护理单元及老人信息
|
||||
*
|
||||
|
|
|
|||
|
|
@ -111,6 +111,10 @@ public class ElderInfoMQDto implements Serializable {
|
|||
* 当前状态 0咨询 1入住 2留床 3退住
|
||||
*/
|
||||
private String currentState;
|
||||
/**
|
||||
* 监护人id
|
||||
*/
|
||||
private String guardianId;
|
||||
/**
|
||||
* 监护人openId
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -111,6 +111,10 @@ public class ElderInfoEntity implements Serializable {
|
|||
* 当前状态 0咨询 1入住 2留床 3退住
|
||||
*/
|
||||
private String currentState;
|
||||
/**
|
||||
* 监护人id
|
||||
*/
|
||||
private String guardianId;
|
||||
/**
|
||||
* 监护人openId
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,80 @@
|
|||
package com.nu.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Description: 护理单元费用明细
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2025-09-17
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
public class NuBillEntity implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private String id;
|
||||
/**
|
||||
* 护理单元编号
|
||||
*/
|
||||
private String nuId;
|
||||
/**
|
||||
* 长者ID
|
||||
*/
|
||||
private Integer elderId;
|
||||
/**
|
||||
* 家属open_id
|
||||
*/
|
||||
private String openId;
|
||||
/**
|
||||
* 变动金额:正为充值/退款,负为消费
|
||||
*/
|
||||
private BigDecimal amount;
|
||||
/**
|
||||
* 本次操作后余额(防计算误差)
|
||||
*/
|
||||
private BigDecimal balanceAfter;
|
||||
/**
|
||||
* 费用类型bill_type:电费,水费,充值,退款等
|
||||
*/
|
||||
private String type;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* createdTime
|
||||
*/
|
||||
private Date createTime;
|
||||
/**
|
||||
* 护理单元名称
|
||||
*/
|
||||
private String nuName;
|
||||
|
||||
/**
|
||||
* 长者姓名
|
||||
*/
|
||||
private String elderName;
|
||||
|
||||
/**
|
||||
* 费用类型名称
|
||||
*/
|
||||
private String typeName;
|
||||
|
||||
/**
|
||||
* 机构名称
|
||||
*/
|
||||
private String departName;
|
||||
|
||||
/**
|
||||
* 护理单元余额
|
||||
*/
|
||||
private BigDecimal balance;
|
||||
}
|
||||
Loading…
Reference in New Issue