长者变更信息流程

This commit is contained in:
1378012178@qq.com 2025-09-28 16:42:46 +08:00
parent 631557a82a
commit 99c5ec6abd
15 changed files with 557 additions and 601 deletions

View File

@ -247,4 +247,8 @@ public class ElderInfoMQDto implements Serializable {
//需要变更谁的信息 zz长者 jhr监护人
private String modifyType;
//变更审批结果
private String upAuditResut;
}

View File

@ -1,8 +1,13 @@
package com.nu.modules.elderinfo.controller;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import com.nu.modules.elderinfo.entity.ElderInfo;
@ -14,6 +19,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryRuleEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
@ -35,6 +41,8 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
public class ElderInfoController extends JeecgController<ElderInfo, IElderInfoService> {
@Autowired
private IElderInfoService nuBizCustomerInfoService;
@Autowired
private IElderInfoService elderInfoService;
/**
* 分页列表查询
@ -58,6 +66,34 @@ public class ElderInfoController extends JeecgController<ElderInfo, IElderInfoSe
return Result.OK(pageList);
}
/**
* 分页列表查询
*
* @param employeesApply
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "员工申请-分页列表查询")
@ApiOperation(value = "长者信息-分页列表查询", notes = "长者信息-分页列表查询")
@GetMapping(value = "/modifyList")
public Result<IPage<ElderInfo>> modifyList(ElderInfo nuBizCustomerInfo,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ElderInfo> queryWrapper = QueryGenerator.initQueryWrapper(nuBizCustomerInfo, req.getParameterMap());
Page<ElderInfo> page = new Page<ElderInfo>(pageNo, pageSize);
if ("zz".equals(nuBizCustomerInfo.getQueryModifyType())) {
queryWrapper.eq("elder_modify_status","1");
}
if ("jhr".equals(nuBizCustomerInfo.getQueryModifyType())) {
queryWrapper.eq("guardian_modify_status","1");
}
IPage<ElderInfo> pageList = nuBizCustomerInfoService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
@ -179,4 +215,44 @@ public class ElderInfoController extends JeecgController<ElderInfo, IElderInfoSe
nuBizCustomerInfoService.editTuizhu(nuBizCustomerInfo);
return Result.OK("编辑成功!");
}
/**
* 获取变更信息
*
* @param elderInfo
* @return
*/
@ApiOperation(value = "长者信息变更申请-获取变更信息", notes = "长者信息变更申请-获取变更信息")
@PostMapping(value = "/getModifyInfo")
public Result<List<Map<String, Object>>> getModifyInfo(@RequestBody ElderInfo elderInfo) {
return Result.OK(elderInfoService.getModifyInfo(elderInfo));
}
/**
* 监护人信息变更-审批
*
* @param elderInfo
* @return
*/
@AutoLog(value = "监护人信息变更-审批")
@ApiOperation(value = "监护人信息变更-审批", notes = "监护人信息变更-审批")
@RequestMapping(value = "/guaAudit", method = {RequestMethod.POST})
public Result<String> guaAudit(@RequestBody ElderInfo elderInfo) {
elderInfoService.guaAudit(elderInfo);
return Result.OK("编辑成功!");
}
/**
* 长者信息变更-审批
*
* @param elderInfo
* @return
*/
@AutoLog(value = "长者信息变更-审批")
@ApiOperation(value = "长者信息变更-审批", notes = "长者信息变更-审批")
@RequestMapping(value = "/elderAudit", method = {RequestMethod.POST})
public Result<String> elderAudit(@RequestBody ElderInfo elderInfo) {
elderInfoService.elderAudit(elderInfo);
return Result.OK("编辑成功!");
}
}

View File

@ -2,10 +2,7 @@ package com.nu.modules.elderinfo.entity;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
@ -335,4 +332,12 @@ public class ElderInfo implements Serializable {
@ApiModelProperty(value = "长者变更信息对应子表id nu_biz_elder_modify_info.id")
private String elderModifyId;
@TableField(exist = false)
private String queryModifyType;
@TableField(exist = false)
private String status;
@TableField(exist = false)
private String auditContent;
}

View File

@ -3,6 +3,9 @@ package com.nu.modules.elderinfo.service;
import com.nu.modules.elderinfo.entity.ElderInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import java.util.Map;
/**
* @Description: 长者信息
* @Author: jeecg-boot
@ -14,4 +17,10 @@ public interface IElderInfoService extends IService<ElderInfo> {
void editNu(ElderInfo nuBizCustomerInfo);
void editTuizhu(ElderInfo nuBizCustomerInfo);
List<Map<String, Object>> getModifyInfo(ElderInfo elderInfo);
void guaAudit(ElderInfo elderInfo);
void elderAudit(ElderInfo elderInfo);
}

View File

@ -1,22 +1,36 @@
package com.nu.modules.elderinfo.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nu.dto.ElderInfoMQDto;
import com.nu.dto.EmployeesApplyMQDto;
import com.nu.entity.ElderInfoEntity;
import com.nu.modules.elder.api.IElderInfoApi;
import com.nu.modules.elderinfo.entity.ElderInfo;
import com.nu.modules.elderinfo.mapper.ElderInfoMapper;
import com.nu.modules.elderinfo.service.IElderInfoService;
import com.nu.modules.eldermofifyinfo.entity.ElderModifyInfo;
import com.nu.modules.eldermofifyinfo.service.IElderModifyInfoService;
import com.nu.modules.nubaseinfo.api.INuBaseInfoApi;
import com.nu.modules.sysconfig.ISysConfigApi;
import com.nu.utils.RabbitMQUtil;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.system.api.ISysBaseAPI;
import org.jeecg.common.system.vo.LoginUser;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.commons.util.IdUtils;
import org.springframework.stereotype.Service;
import java.util.List;
import java.lang.reflect.Field;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* @Description: 长者信息
@ -28,6 +42,10 @@ import java.util.List;
public class ElderInfoServiceImpl extends ServiceImpl<ElderInfoMapper, ElderInfo> implements IElderInfoService, IElderInfoApi {
@Autowired
private INuBaseInfoApi nuBaseInfoApi;
@Autowired
private IElderModifyInfoService elderModifyInfoService;
@Autowired
private RabbitMQUtil rabbitMQUtil;
@Override
public void editNu(ElderInfo nuBizCustomerInfo) {
@ -58,6 +76,185 @@ public class ElderInfoServiceImpl extends ServiceImpl<ElderInfoMapper, ElderInfo
}
@Override
public List<Map<String, Object>> getModifyInfo(ElderInfo elderInfo) {
// 1. 查询当前使用中数据
ElderInfo usingData = baseMapper.selectById(elderInfo.getId());
// 2. 查询变更后数据
QueryWrapper<ElderModifyInfo> nowUseQW = new QueryWrapper<>();
if ("gua".equals(usingData.getQueryModifyType())) {
nowUseQW.eq("id", usingData.getGuardianModifyId());
} else {
nowUseQW.eq("id", usingData.getElderModifyId());
}
ElderModifyInfo modifyData = elderModifyInfoService.getOne(nowUseQW);
// 3. 准备结果列表
List<Map<String, Object>> result = new ArrayList<>();
// 4. 获取 ElderModifyInfo 所有字段用于遍历
Field[] infoFields = ElderModifyInfo.class.getDeclaredFields();
// 5. 遍历每个字段从两个对象中分别取值比较
for (Field elderInfoField : infoFields) {
try {
String fieldName = elderInfoField.getName();
// 跳过序列化ID @TableField(exist = false) 的字段
if ("serialVersionUID".equals(fieldName)) {
continue;
}
TableField tableField = elderInfoField.getAnnotation(TableField.class);
if (tableField != null && !tableField.exist()) {
continue;
}
// 设置可访问
elderInfoField.setAccessible(true);
// 获取 ElderInfo 中对应的字段必须同名
Field modifyField = null;
try {
modifyField = ElderInfo.class.getDeclaredField(fieldName);
modifyField.setAccessible(true);
} catch (NoSuchFieldException e) {
// 如果员工信息表中没有这个字段跳过
continue;
}
// 获取两个对象中该字段的值
Object modifyValue = elderInfoField.get(modifyData);
Object usingValue = modifyField.get(usingData);
// 处理日期类型
if (elderInfoField.getType() == Date.class) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
modifyValue = modifyValue != null ? sdf.format((Date) modifyValue) : null;
usingValue = usingValue != null ? sdf.format((Date) usingValue) : null;
}
// 创建结果项
Map<String, Object> fieldMap = new HashMap<>();
fieldMap.put("id", IdUtil.simpleUUID());
fieldMap.put("d1", fieldName); // 字段名
fieldMap.put("d2", usingValue); // 原始值
fieldMap.put("d3", modifyValue); // 修改值
fieldMap.put("d4", Objects.equals(usingValue, modifyValue) ? "相同" : "不同"); // 比较结果
result.add(fieldMap);
} catch (IllegalAccessException e) {
// 忽略访问失败或字段不存在的情况
continue;
}
}
return result;
}
@Override
public void guaAudit(ElderInfo elderInfo) {
//信息变更审批通过
if ("modifyPass".equals(elderInfo.getStatus())) {
//修改监护人信息变更状态
ElderInfo el = new ElderInfo();
el.setId(elderInfo.getId());
el.setGuardianModifyStatus("2");
//修改监护人信息
ElderModifyInfo elderModifyInfo = elderModifyInfoService.getById(elderInfo.getGuardianModifyId());
el.setGuardianName(elderModifyInfo.getGuardianName());
el.setGuardianPhone(elderModifyInfo.getGuardianPhone());
el.setGuardianIdCard(elderModifyInfo.getGuardianIdCard());
el.setGuardianHomeAddress(elderModifyInfo.getGuardianHomeAddress());
el.setGuardianWorkUnit(elderModifyInfo.getGuardianWorkUnit());
el.setRelationship(elderModifyInfo.getRelationship());
baseMapper.updateById(el);
ElderInfoMQDto mqdto = new ElderInfoMQDto();
BeanUtils.copyProperties(el, mqdto);
mqdto.setModifyType("jhr");
mqdto.setUpAuditResut("Y");
mqdto.setGuardianOpenId(elderInfo.getGuardianOpenId());
mqdto.setName(elderInfo.getName());
mqdto.setOrgCode(elderInfo.getSysOrgCode());
//通知管理平台修改相关数据
rabbitMQUtil.sendToExchange("hldy.elder", "hldy.elder.infoUp.result", mqdto);
}
//信息变更审批不通过
if ("modifyFail".equals(elderInfo.getStatus())) {
ElderInfo el = new ElderInfo();
el.setId(elderInfo.getId());
el.setGuardianModifyStatus("3");
el.setGuardianModifyContent(elderInfo.getAuditContent());
baseMapper.updateById(el);
ElderInfoMQDto mqdto = new ElderInfoMQDto();
BeanUtils.copyProperties(el, mqdto);
mqdto.setModifyType("jhr");
mqdto.setUpAuditResut("N");
mqdto.setGuardianOpenId(elderInfo.getGuardianOpenId());
mqdto.setName(elderInfo.getName());
mqdto.setOrgCode(elderInfo.getSysOrgCode());
//通知管理平台修改相关数据
rabbitMQUtil.sendToExchange("hldy.elder", "hldy.elder.infoUp.result", mqdto);
}
}
@Override
public void elderAudit(ElderInfo elderInfo) {
//信息变更审批通过
if ("modifyPass".equals(elderInfo.getStatus())) {
//长者变更后信息
ElderModifyInfo elderModifyInfo = elderModifyInfoService.getById(elderInfo.getElderModifyId());
ElderInfo el = new ElderInfo();
BeanUtils.copyProperties(elderModifyInfo, el);
//修改监护人信息变更状态
el.setId(elderInfo.getId());
el.setElderModifyStatus("2");
el.setRelationship(null);//监护人与长者关系
el.setGuardianName(null);//监护人姓名
el.setGuardianPhone(null);//监护人电话
el.setGuardianIdCard(null);//监护人身份证号
el.setGuardianHomeAddress(null);//监护人家庭住址
el.setGuardianWorkUnit(null);//监护人工作单位
el.setGuardianModifyStatus(null);//监护人变更相关字段
el.setGuardianModifyId(null);//监护人变更相关字段
el.setGuardianModifyContent(null);//监护人变更相关字段
baseMapper.updateById(el);
ElderInfoMQDto mqdto = new ElderInfoMQDto();
BeanUtils.copyProperties(el, mqdto);
mqdto.setModifyType("zz");
mqdto.setUpAuditResut("Y");
mqdto.setGuardianOpenId(elderInfo.getGuardianOpenId());
mqdto.setOrgCode(elderInfo.getSysOrgCode());
mqdto.setName(elderInfo.getName());
//通知管理平台修改相关数据
rabbitMQUtil.sendToExchange("hldy.elder", "hldy.elder.infoUp.result", mqdto);
}
//信息变更审批不通过
if ("modifyFail".equals(elderInfo.getStatus())) {
ElderInfo el = new ElderInfo();
el.setId(elderInfo.getId());
el.setElderModifyStatus("3");
el.setElderModifyContent(elderInfo.getAuditContent());
baseMapper.updateById(el);
ElderInfoMQDto mqdto = new ElderInfoMQDto();
BeanUtils.copyProperties(el, mqdto);
mqdto.setModifyType("zz");
mqdto.setUpAuditResut("N");
mqdto.setGuardianOpenId(elderInfo.getGuardianOpenId());
mqdto.setOrgCode(elderInfo.getSysOrgCode());
mqdto.setName(elderInfo.getName());
//通知管理平台修改相关数据
rabbitMQUtil.sendToExchange("hldy.elder", "hldy.elder.infoUp.result", mqdto);
}
}
@Override
public List<ElderInfoEntity> selectCurrentState3() {
List<ElderInfo> elderInfos = baseMapper.selectList(new QueryWrapper<ElderInfo>().lambda().ne(ElderInfo::getCurrentState, "3"));

View File

@ -1,180 +0,0 @@
package com.nu.modules.familymember.controller;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.query.QueryRuleEnum;
import org.jeecg.common.util.oConvertUtils;
import com.nu.modules.familymember.entity.FamilyMember;
import com.nu.modules.familymember.service.IFamilyMemberService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.apache.shiro.authz.annotation.RequiresPermissions;
/**
* @Description: 家属信息
* @Author: jeecg-boot
* @Date: 2025-09-22
* @Version: V1.0
*/
@Api(tags="家属信息")
@RestController
@RequestMapping("/elder/familyMember")
@Slf4j
public class FamilyMemberController extends JeecgController<FamilyMember, IFamilyMemberService> {
@Autowired
private IFamilyMemberService familyMemberService;
/**
* 分页列表查询
*
* @param familyMember
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "家属信息-分页列表查询")
@ApiOperation(value="家属信息-分页列表查询", notes="家属信息-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<FamilyMember>> queryPageList(FamilyMember familyMember,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<FamilyMember> queryWrapper = QueryGenerator.initQueryWrapper(familyMember, req.getParameterMap());
Page<FamilyMember> page = new Page<FamilyMember>(pageNo, pageSize);
IPage<FamilyMember> pageList = familyMemberService.page(page, queryWrapper);
return Result.OK(pageList);
}
// /**
// * 添加
// *
// * @param familyMember
// * @return
// */
// @AutoLog(value = "家属信息-添加")
// @ApiOperation(value="家属信息-添加", notes="家属信息-添加")
// @RequiresPermissions("familymember:nu_family_member:add")
// @PostMapping(value = "/add")
// public Result<String> add(@RequestBody FamilyMember familyMember) {
// familyMemberService.save(familyMember);
// return Result.OK("添加成功!");
// }
//
// /**
// * 编辑
// *
// * @param familyMember
// * @return
// */
// @AutoLog(value = "家属信息-编辑")
// @ApiOperation(value="家属信息-编辑", notes="家属信息-编辑")
// @RequiresPermissions("familymember:nu_family_member:edit")
// @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
// public Result<String> edit(@RequestBody FamilyMember familyMember) {
// familyMemberService.updateById(familyMember);
// return Result.OK("编辑成功!");
// }
//
// /**
// * 通过id删除
// *
// * @param id
// * @return
// */
// @AutoLog(value = "家属信息-通过id删除")
// @ApiOperation(value="家属信息-通过id删除", notes="家属信息-通过id删除")
// @RequiresPermissions("familymember:nu_family_member:delete")
// @DeleteMapping(value = "/delete")
// public Result<String> delete(@RequestParam(name="id",required=true) String id) {
// familyMemberService.removeById(id);
// return Result.OK("删除成功!");
// }
//
// /**
// * 批量删除
// *
// * @param ids
// * @return
// */
// @AutoLog(value = "家属信息-批量删除")
// @ApiOperation(value="家属信息-批量删除", notes="家属信息-批量删除")
// @RequiresPermissions("familymember:nu_family_member:deleteBatch")
// @DeleteMapping(value = "/deleteBatch")
// public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
// this.familyMemberService.removeByIds(Arrays.asList(ids.split(",")));
// return Result.OK("批量删除成功!");
// }
//
// /**
// * 通过id查询
// *
// * @param id
// * @return
// */
// //@AutoLog(value = "家属信息-通过id查询")
// @ApiOperation(value="家属信息-通过id查询", notes="家属信息-通过id查询")
// @GetMapping(value = "/queryById")
// public Result<FamilyMember> queryById(@RequestParam(name="id",required=true) String id) {
// FamilyMember familyMember = familyMemberService.getById(id);
// if(familyMember==null) {
// return Result.error("未找到对应数据");
// }
// return Result.OK(familyMember);
// }
/**
* 导出excel
*
* @param request
* @param familyMember
*/
@RequiresPermissions("familymember:nu_family_member:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, FamilyMember familyMember) {
return super.exportXls(request, familyMember, FamilyMember.class, "家属信息");
}
// /**
// * 通过excel导入数据
// *
// * @param request
// * @param response
// * @return
// */
// @RequiresPermissions("familymember:nu_family_member:importExcel")
// @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
// public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
// return super.importExcel(request, response, FamilyMember.class);
// }
}

View File

@ -1,70 +0,0 @@
package com.nu.modules.familymember.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
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-22
* @Version: V1.0
*/
@Data
@TableName("nu_family_member")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="nu_family_member对象", description="家属信息")
public class FamilyMember implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private java.lang.String id;
/**微信id*/
@Excel(name = "微信id", width = 15)
@ApiModelProperty(value = "微信id")
private java.lang.String openId;
/**咨询人姓名*/
@Excel(name = "咨询人姓名", width = 15)
@ApiModelProperty(value = "咨询人姓名")
private java.lang.String name;
/**联系电话*/
@Excel(name = "联系电话", width = 15)
@ApiModelProperty(value = "联系电话")
private java.lang.String tel;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
/**身份证号(长者端字段)*/
@Excel(name = "身份证号(长者端字段)", width = 15)
@ApiModelProperty(value = "身份证号(长者端字段)")
private java.lang.String idCard;
/**家庭住址(长者端字段)*/
@Excel(name = "家庭住址(长者端字段)", width = 15)
@ApiModelProperty(value = "家庭住址(长者端字段)")
private java.lang.String homeAddress;
/**工作单位(长者端字段)*/
@Excel(name = "工作单位(长者端字段)", width = 15)
@ApiModelProperty(value = "工作单位(长者端字段)")
private java.lang.String workUnit;
}

View File

@ -1,17 +0,0 @@
package com.nu.modules.familymember.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.nu.modules.familymember.entity.FamilyMember;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 家属信息
* @Author: jeecg-boot
* @Date: 2025-09-22
* @Version: V1.0
*/
public interface FamilyMemberMapper extends BaseMapper<FamilyMember> {
}

View File

@ -1,5 +0,0 @@
<?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.familymember.mapper.FamilyMemberMapper">
</mapper>

View File

@ -1,14 +0,0 @@
package com.nu.modules.familymember.service;
import com.nu.modules.familymember.entity.FamilyMember;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 家属信息
* @Author: jeecg-boot
* @Date: 2025-09-22
* @Version: V1.0
*/
public interface IFamilyMemberService extends IService<FamilyMember> {
}

View File

@ -1,19 +0,0 @@
package com.nu.modules.familymember.service.impl;
import com.nu.modules.familymember.entity.FamilyMember;
import com.nu.modules.familymember.mapper.FamilyMemberMapper;
import com.nu.modules.familymember.service.IFamilyMemberService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 家属信息
* @Author: jeecg-boot
* @Date: 2025-09-22
* @Version: V1.0
*/
@Service
public class FamilyMemberServiceImpl extends ServiceImpl<FamilyMemberMapper, FamilyMember> implements IFamilyMemberService {
}

View File

@ -16,7 +16,7 @@ public class DynamicQueueNameProvider {
JSONObject deptInfo = sysBaseAPI.getDeptInfo();
String orgCode = deptInfo.getString("code");
if (StringUtils.isNotBlank(orgCode)) {
return orgCode + ".elder.addelder";
return orgCode + ".elder.addelder1";
} else {
return "";
}
@ -30,7 +30,7 @@ public class DynamicQueueNameProvider {
JSONObject deptInfo = sysBaseAPI.getDeptInfo();
String orgCode = deptInfo.getString("code");
if (StringUtils.isNotBlank(orgCode)) {
return orgCode + ".elder.updateelder";
return orgCode + ".elder.updateelder1";
} else {
return "";
}

View File

@ -2,15 +2,12 @@ package com.nu.modules.mq.elderinfo.listener;
import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.nu.dto.ElderInfoMQDto;
import com.nu.modules.elderinfo.entity.ElderInfo;
import com.nu.modules.elderinfo.service.IElderInfoService;
import com.nu.modules.eldermofifyinfo.entity.ElderModifyInfo;
import com.nu.modules.eldermofifyinfo.service.IElderModifyInfoService;
import com.nu.modules.familymember.entity.FamilyMember;
import com.nu.modules.familymember.service.IFamilyMemberService;
import com.nu.modules.mediaasyncerrorlog.entity.MediaAsyncErrorLog;
import com.nu.modules.mediaasyncerrorlog.service.IMediaAsyncErrorLogService;
import com.nu.modules.sysconfig.ISysConfigApi;
@ -26,7 +23,6 @@ import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.commons.util.IdUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@ -47,8 +43,6 @@ public class ElderInfoMQListener {
@Autowired
private IMediaAsyncErrorLogService mediaAsyncErrorLogService;
@Autowired
private IFamilyMemberService familyMemberService;
@Autowired
private IElderModifyInfoService elderModifyInfoService;
/**
@ -71,86 +65,68 @@ public class ElderInfoMQListener {
elderInfoService.save(elderInfo);
}
//如果机构没有存储过家属信息 则新增家属信息 如果已存在对应id 根据情况更新家属信息
FamilyMember fData = familyMemberService.getById(dto.getGuardianId());
FamilyMember familyMember = new FamilyMember();
familyMember.setId(dto.getGuardianId());//使用相同id
familyMember.setOpenId(dto.getGuardianOpenId());//openid
familyMember.setName(dto.getGuardianName());//姓名
familyMember.setTel(dto.getGuardianPhone());//电话
familyMember.setIdCard(dto.getGuardianIdCard());//身份证号
familyMember.setHomeAddress(dto.getGuardianHomeAddress());//家庭住址
familyMember.setWorkUnit(dto.getGuardianWorkUnit());//工作单位
if (fData == null) {
familyMemberService.save(familyMember);
} else {
if (fData.getOpenId() == null || !fData.getOpenId().equals(dto.getGuardianOpenId())) {
familyMemberService.updateById(familyMember);
}
}
new Thread(() -> {
//去管理平台拉取资源
{
JSONObject opeOpenUrl = sysConfigApi.getByKeyByDS("master", "ope_open_url");
String baseUrl = opeOpenUrl.getString("configValue");
if (baseUrl.endsWith("/")) {
baseUrl = baseUrl.substring(0, baseUrl.length() - 1);
}
//身份证正面
String idCardPositive = dto.getIdCardPositive();
{
if (StringUtils.isNotBlank(idCardPositive)) {
if (StringUtils.isNotBlank(idCardPositive)) {
String url = baseUrl + "/sys/common/open/static/" + URLEncoder.encode(idCardPositive, StandardCharsets.UTF_8).replace("%2F", "/") + "?name=" + SafetyUtil.getSecureKey();
if (upLoadPath.endsWith("/") || upLoadPath.endsWith("\\")) {
upLoadPath = upLoadPath.substring(0, upLoadPath.length() - 1);
}
String filePath = idCardPositive.substring(0, idCardPositive.lastIndexOf("/"));
String fileName = idCardPositive.substring(idCardPositive.lastIndexOf("/") + 1);
if (filePath.startsWith("/") || filePath.startsWith("\\")) {
filePath = filePath.substring(1);
}
try {
FileDownloader.downloadFile(url, upLoadPath + File.separator + filePath, fileName);
} catch (Exception e) {
e.printStackTrace();
MediaAsyncErrorLog mediaAsyncErrorLog = new MediaAsyncErrorLog();
mediaAsyncErrorLog.setMediaid(idCardPositive);
mediaAsyncErrorLogService.save(mediaAsyncErrorLog);
log.error("家属添加老人信息-身份证正面文件拉取错误,老人id" + elderInfo.getId());
}
}
}
}
//身份证反面
String idCardNegative = dto.getIdCardNegative();
{
if (StringUtils.isNotBlank(idCardNegative)) {
if (StringUtils.isNotBlank(idCardNegative)) {
String url = baseUrl + "/sys/common/open/static/" + URLEncoder.encode(idCardNegative, StandardCharsets.UTF_8).replace("%2F", "/") + "?name=" + SafetyUtil.getSecureKey();
if (upLoadPath.endsWith("/") || upLoadPath.endsWith("\\")) {
upLoadPath = upLoadPath.substring(0, upLoadPath.length() - 1);
}
String filePath = idCardNegative.substring(0, idCardNegative.lastIndexOf("/"));
String fileName = idCardNegative.substring(idCardNegative.lastIndexOf("/") + 1);
if (filePath.startsWith("/") || filePath.startsWith("\\")) {
filePath = filePath.substring(1);
}
try {
FileDownloader.downloadFile(url, upLoadPath + File.separator + filePath, fileName);
} catch (Exception e) {
e.printStackTrace();
MediaAsyncErrorLog mediaAsyncErrorLog = new MediaAsyncErrorLog();
mediaAsyncErrorLog.setMediaid(idCardNegative);
mediaAsyncErrorLogService.save(mediaAsyncErrorLog);
log.error("家属添加老人信息-身份证反面文件拉取错误,老人id" + elderInfo.getId());
}
}
}
}
}
}).start();
// new Thread(() -> {
// //去管理平台拉取资源
// {
// JSONObject opeOpenUrl = sysConfigApi.getByKeyByDS("master", "ope_open_url");
// String baseUrl = opeOpenUrl.getString("configValue");
// if (baseUrl.endsWith("/")) {
// baseUrl = baseUrl.substring(0, baseUrl.length() - 1);
// }
// //身份证正面
// String idCardPositive = dto.getIdCardPositive();
// {
// if (StringUtils.isNotBlank(idCardPositive)) {
// if (StringUtils.isNotBlank(idCardPositive)) {
// String url = baseUrl + "/sys/common/open/static/" + URLEncoder.encode(idCardPositive, StandardCharsets.UTF_8).replace("%2F", "/") + "?name=" + SafetyUtil.getSecureKey();
// if (upLoadPath.endsWith("/") || upLoadPath.endsWith("\\")) {
// upLoadPath = upLoadPath.substring(0, upLoadPath.length() - 1);
// }
// String filePath = idCardPositive.substring(0, idCardPositive.lastIndexOf("/"));
// String fileName = idCardPositive.substring(idCardPositive.lastIndexOf("/") + 1);
// if (filePath.startsWith("/") || filePath.startsWith("\\")) {
// filePath = filePath.substring(1);
// }
// try {
// FileDownloader.downloadFile(url, upLoadPath + File.separator + filePath, fileName);
// } catch (Exception e) {
// e.printStackTrace();
// MediaAsyncErrorLog mediaAsyncErrorLog = new MediaAsyncErrorLog();
// mediaAsyncErrorLog.setMediaid(idCardPositive);
// mediaAsyncErrorLogService.save(mediaAsyncErrorLog);
// log.error("家属添加老人信息-身份证正面文件拉取错误,老人id" + elderInfo.getId());
// }
// }
// }
// }
// //身份证反面
// String idCardNegative = dto.getIdCardNegative();
// {
// if (StringUtils.isNotBlank(idCardNegative)) {
// if (StringUtils.isNotBlank(idCardNegative)) {
// String url = baseUrl + "/sys/common/open/static/" + URLEncoder.encode(idCardNegative, StandardCharsets.UTF_8).replace("%2F", "/") + "?name=" + SafetyUtil.getSecureKey();
// if (upLoadPath.endsWith("/") || upLoadPath.endsWith("\\")) {
// upLoadPath = upLoadPath.substring(0, upLoadPath.length() - 1);
// }
// String filePath = idCardNegative.substring(0, idCardNegative.lastIndexOf("/"));
// String fileName = idCardNegative.substring(idCardNegative.lastIndexOf("/") + 1);
// if (filePath.startsWith("/") || filePath.startsWith("\\")) {
// filePath = filePath.substring(1);
// }
// try {
// FileDownloader.downloadFile(url, upLoadPath + File.separator + filePath, fileName);
// } catch (Exception e) {
// e.printStackTrace();
// MediaAsyncErrorLog mediaAsyncErrorLog = new MediaAsyncErrorLog();
// mediaAsyncErrorLog.setMediaid(idCardNegative);
// mediaAsyncErrorLogService.save(mediaAsyncErrorLog);
// log.error("家属添加老人信息-身份证反面文件拉取错误,老人id" + elderInfo.getId());
// }
// }
// }
// }
// }
// }).start();
}
@ -248,16 +224,6 @@ public class ElderInfoMQListener {
elderInfo.setGuardianWorkUnit(dto.getGuardianWorkUnit());//联系人工作单位
elderInfoService.update(elderInfo, uw);
//更新家属信息
FamilyMember familyMember = new FamilyMember();
familyMember.setId(dto.getGuardianId());
familyMember.setOpenId(dto.getGuardianOpenId());//openid
familyMember.setName(dto.getGuardianName());//姓名
familyMember.setTel(dto.getGuardianPhone());//电话
familyMember.setIdCard(dto.getGuardianIdCard());//身份证号
familyMember.setHomeAddress(dto.getGuardianHomeAddress());//家庭住址
familyMember.setWorkUnit(dto.getGuardianWorkUnit());//工作单位
familyMemberService.updateById(familyMember);//更新信息
}
@ -276,65 +242,65 @@ public class ElderInfoMQListener {
elderModifyInfoService.save(elderModifyInfo);
//去管理平台拉取资源
{
JSONObject opeOpenUrl = sysConfigApi.getByKeyByDS("master", "ope_open_url");
String baseUrl = opeOpenUrl.getString("configValue");
if (baseUrl.endsWith("/")) {
baseUrl = baseUrl.substring(0, baseUrl.length() - 1);
}
//身份证正面
String idCardPositive = dto.getIdCardPositive();
{
if (StringUtils.isNotBlank(idCardPositive)) {
if (StringUtils.isNotBlank(idCardPositive)) {
String url = baseUrl + "/sys/common/open/static/" + URLEncoder.encode(idCardPositive, StandardCharsets.UTF_8).replace("%2F", "/") + "?name=" + SafetyUtil.getSecureKey();
if (upLoadPath.endsWith("/") || upLoadPath.endsWith("\\")) {
upLoadPath = upLoadPath.substring(0, upLoadPath.length() - 1);
}
String filePath = idCardPositive.substring(0, idCardPositive.lastIndexOf("/"));
String fileName = idCardPositive.substring(idCardPositive.lastIndexOf("/") + 1);
if (filePath.startsWith("/") || filePath.startsWith("\\")) {
filePath = filePath.substring(1);
}
try {
FileDownloader.downloadFile(url, upLoadPath + File.separator + filePath, fileName);
} catch (Exception e) {
e.printStackTrace();
MediaAsyncErrorLog mediaAsyncErrorLog = new MediaAsyncErrorLog();
mediaAsyncErrorLog.setMediaid(idCardPositive);
mediaAsyncErrorLogService.save(mediaAsyncErrorLog);
log.error("修改老人相关信息-身份证正面文件拉取错误,老人id" + modifyTableId);
}
}
}
}
//身份证反面
String idCardNegative = dto.getIdCardNegative();
{
if (StringUtils.isNotBlank(idCardNegative)) {
if (StringUtils.isNotBlank(idCardNegative)) {
String url = baseUrl + "/sys/common/open/static/" + URLEncoder.encode(idCardNegative, StandardCharsets.UTF_8).replace("%2F", "/") + "?name=" + SafetyUtil.getSecureKey();
if (upLoadPath.endsWith("/") || upLoadPath.endsWith("\\")) {
upLoadPath = upLoadPath.substring(0, upLoadPath.length() - 1);
}
String filePath = idCardNegative.substring(0, idCardNegative.lastIndexOf("/"));
String fileName = idCardNegative.substring(idCardNegative.lastIndexOf("/") + 1);
if (filePath.startsWith("/") || filePath.startsWith("\\")) {
filePath = filePath.substring(1);
}
try {
FileDownloader.downloadFile(url, upLoadPath + File.separator + filePath, fileName);
} catch (Exception e) {
e.printStackTrace();
MediaAsyncErrorLog mediaAsyncErrorLog = new MediaAsyncErrorLog();
mediaAsyncErrorLog.setMediaid(idCardNegative);
mediaAsyncErrorLogService.save(mediaAsyncErrorLog);
log.error("修改老人相关信息-身份证反面文件拉取错误,老人id" + modifyTableId);
}
}
}
}
}
// {
// JSONObject opeOpenUrl = sysConfigApi.getByKeyByDS("master", "ope_open_url");
// String baseUrl = opeOpenUrl.getString("configValue");
// if (baseUrl.endsWith("/")) {
// baseUrl = baseUrl.substring(0, baseUrl.length() - 1);
// }
// //身份证正面
// String idCardPositive = dto.getIdCardPositive();
// {
// if (StringUtils.isNotBlank(idCardPositive)) {
// if (StringUtils.isNotBlank(idCardPositive)) {
// String url = baseUrl + "/sys/common/open/static/" + URLEncoder.encode(idCardPositive, StandardCharsets.UTF_8).replace("%2F", "/") + "?name=" + SafetyUtil.getSecureKey();
// if (upLoadPath.endsWith("/") || upLoadPath.endsWith("\\")) {
// upLoadPath = upLoadPath.substring(0, upLoadPath.length() - 1);
// }
// String filePath = idCardPositive.substring(0, idCardPositive.lastIndexOf("/"));
// String fileName = idCardPositive.substring(idCardPositive.lastIndexOf("/") + 1);
// if (filePath.startsWith("/") || filePath.startsWith("\\")) {
// filePath = filePath.substring(1);
// }
// try {
// FileDownloader.downloadFile(url, upLoadPath + File.separator + filePath, fileName);
// } catch (Exception e) {
// e.printStackTrace();
// MediaAsyncErrorLog mediaAsyncErrorLog = new MediaAsyncErrorLog();
// mediaAsyncErrorLog.setMediaid(idCardPositive);
// mediaAsyncErrorLogService.save(mediaAsyncErrorLog);
// log.error("修改老人相关信息-身份证正面文件拉取错误,老人id" + modifyTableId);
// }
// }
// }
// }
// //身份证反面
// String idCardNegative = dto.getIdCardNegative();
// {
// if (StringUtils.isNotBlank(idCardNegative)) {
// if (StringUtils.isNotBlank(idCardNegative)) {
// String url = baseUrl + "/sys/common/open/static/" + URLEncoder.encode(idCardNegative, StandardCharsets.UTF_8).replace("%2F", "/") + "?name=" + SafetyUtil.getSecureKey();
// if (upLoadPath.endsWith("/") || upLoadPath.endsWith("\\")) {
// upLoadPath = upLoadPath.substring(0, upLoadPath.length() - 1);
// }
// String filePath = idCardNegative.substring(0, idCardNegative.lastIndexOf("/"));
// String fileName = idCardNegative.substring(idCardNegative.lastIndexOf("/") + 1);
// if (filePath.startsWith("/") || filePath.startsWith("\\")) {
// filePath = filePath.substring(1);
// }
// try {
// FileDownloader.downloadFile(url, upLoadPath + File.separator + filePath, fileName);
// } catch (Exception e) {
// e.printStackTrace();
// MediaAsyncErrorLog mediaAsyncErrorLog = new MediaAsyncErrorLog();
// mediaAsyncErrorLog.setMediaid(idCardNegative);
// mediaAsyncErrorLogService.save(mediaAsyncErrorLog);
// log.error("修改老人相关信息-身份证反面文件拉取错误,老人id" + modifyTableId);
// }
// }
// }
// }
// }
//修改老人信息表相关状态
ElderInfo elderInfo = new ElderInfo();
elderInfo.setId(dto.getId());
@ -348,5 +314,6 @@ public class ElderInfoMQListener {
elderInfo.setGuardianModifyStatus("1");
elderInfo.setGuardianModifyContent("");
}
elderInfoService.updateById(elderInfo);
}
}

View File

@ -79,6 +79,7 @@ public class EmployeesApplyController extends JeecgController<EmployeesApply, IE
return Result.OK(pageList);
}
/**
* 添加
*

View File

@ -1,5 +1,6 @@
package com.nu.modules.employeesapply.service.impl;
import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -139,6 +140,7 @@ public class EmployeesApplyServiceImpl extends ServiceImpl<EmployeesApplyMapper,
// 创建结果项
Map<String, Object> fieldMap = new HashMap<>();
fieldMap.put("id", IdUtil.simpleUUID());
fieldMap.put("d1", fieldName); // 字段名
fieldMap.put("d2", usingValue); // 原始值
fieldMap.put("d3", modifyValue); // 修改值