| | |
| | | package com.ruoyi.web.controller.zhang; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.mysql.cj.x.protobuf.MysqlxDatatypes; |
| | | import com.ruoyi.common.annotation.Log; |
| | | import com.ruoyi.common.core.controller.BaseController; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.common.utils.ServletUtils; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.domain.ShareMore; |
| | | import com.ruoyi.domain.ZInfoUser; |
| | | import com.ruoyi.domain.ZfDoctor; |
| | | import com.ruoyi.domain.ZfRelation; |
| | | |
| | | import com.ruoyi.domain.dto.Genealogy; |
| | | import com.ruoyi.domain.dto.GenealogyExportDto; |
| | | import com.ruoyi.domain.dto.RelationDto; |
| | | import com.ruoyi.service.ZInfoUserService; |
| | | import com.ruoyi.service.ZfFamilyService; |
| | | import com.ruoyi.service.ZfRoleService; |
| | | import com.ruoyi.system.mapper.SysUserMapper; |
| | | import com.ruoyi.system.service.ISysUserService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import javax.websocket.server.PathParam; |
| | | import java.util.*; |
| | | import java.util.regex.Pattern; |
| | | |
| | | import static com.ruoyi.common.core.page.TableSupport.PAGE_NUM; |
| | | import static com.ruoyi.common.core.page.TableSupport.PAGE_SIZE; |
| | | |
| | | /** |
| | | * <p> |
| | | * 前端控制器 |
| | | * 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author ojq |
| | |
| | | |
| | | @Resource |
| | | private ZInfoUserService zInfoUserService; |
| | | |
| | | |
| | | @Resource |
| | | private ZfFamilyService zfFamilyService; |
| | | |
| | | @Resource |
| | | private ZfRoleService zfRoleService; |
| | | |
| | | @Resource |
| | | private SysUserMapper sysUserMapper; |
| | | |
| | | // @GetMapping("/all") |
| | | // public AjaxResult listAll(ZInfoUser zInfoUser){ |
| | |
| | | // @PreAuthorize("@ss.hasPermi('system:property:export')") |
| | | @Log(title = "个人详细信息记录", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/export") |
| | | public void export(HttpServletResponse response, ZInfoUser zInfoUser) |
| | | { |
| | | public void export(HttpServletResponse response, ZInfoUser zInfoUser) { |
| | | SysUser user = SecurityUtils.getLoginUser().getUser(); |
| | | Long userId = user.getUserId(); |
| | | zInfoUser.setUserId(userId); |
| | | List<ZInfoUser> list = zInfoUserService.selectByCondition(zInfoUser); |
| | | log.info("导出记录为:{}",list); |
| | | log.info("导出记录为:{}", list); |
| | | ExcelUtil<ZInfoUser> util = new ExcelUtil<>(ZInfoUser.class); |
| | | util.exportExcel(response, list, "个人详细信息记录数据"); |
| | | } |
| | |
| | | */ |
| | | @Log(title = "用户管理", businessType = BusinessType.IMPORT) |
| | | @PostMapping("/importData") |
| | | public AjaxResult importData(@RequestParam("excelImport") MultipartFile file) throws Exception |
| | | { |
| | | public AjaxResult importData(@RequestParam("excelImport") MultipartFile file) throws Exception { |
| | | SysUser user = SecurityUtils.getLoginUser().getUser(); |
| | | Long userId = user.getUserId(); |
| | | ExcelUtil<ZInfoUser> util = new ExcelUtil<>(ZInfoUser.class); |
| | | List<ZInfoUser> eventList = util.importExcel(file.getInputStream()); |
| | | log.info("个人详细信息列表为:{}",eventList); |
| | | if(eventList.size()>1){ |
| | | log.info("个人详细信息列表为:{}", eventList); |
| | | if (eventList.size() > 1) { |
| | | return AjaxResult.error("导入个人信息只能有一条记录"); |
| | | } |
| | | |
| | |
| | | */ |
| | | // @PreAuthorize("@ss.hasPermi('system:property:query')") |
| | | @GetMapping() |
| | | public AjaxResult getInfo() |
| | | { |
| | | public AjaxResult getInfo() { |
| | | SysUser user = SecurityUtils.getLoginUser().getUser(); |
| | | Long userId = user.getUserId(); |
| | | return success(zInfoUserService.getById(userId)); |
| | | |
| | | |
| | | |
| | | ZInfoUser zInfoUser = zInfoUserService.getInfoById(userId); |
| | | if(zInfoUser!=null) |
| | | { |
| | | return AjaxResult.success(zInfoUser); |
| | | } |
| | | else |
| | | return AjaxResult.success(user); |
| | | } |
| | | @GetMapping("/{id}") |
| | | public AjaxResult getInfoById(@PathVariable("id") Long id) { |
| | | // SysUser user = SecurityUtils.getLoginUser().getUser(); |
| | | Long userId = id; |
| | | |
| | | |
| | | //查询sys_user表 |
| | | // SysUser sysUser = sysUserService.selectUserById(userId); |
| | | return AjaxResult.success(zInfoUserService.getInfoById(userId)); |
| | | } |
| | | // |
| | | |
| | | /** |
| | | * 新增、修改个人详细信息记录 |
| | | * 修改个人详细信息记录 |
| | | */ |
| | | // @PreAuthorize("@ss.hasPermi('system:property:add')") |
| | | @Log(title = "个人详细信息记录", businessType = BusinessType.INSERT) |
| | | @PostMapping |
| | | public AjaxResult add(@RequestBody ZInfoUser zInfoUser) |
| | | { |
| | | @PutMapping |
| | | public AjaxResult update(@RequestBody ZInfoUser zInfoUser) { |
| | | // if (!Pattern.matches("^[\\d]+(?:,[\\d]+)*$",zInfoUser.getFamilyId())) { |
| | | // throw new RuntimeException("请输入只有数字和英文逗号的字符串,且数字和逗号必须交替出现"); |
| | | // } |
| | | SysUser user = SecurityUtils.getLoginUser().getUser(); |
| | | Long userId = user.getUserId(); |
| | | zInfoUser.setUserId(userId); |
| | | return toAjax(zInfoUserService.saveOrUpdate(zInfoUser)); |
| | | zInfoUser.setSysId(userId); |
| | | |
| | | LambdaUpdateWrapper<ZInfoUser> uw = new LambdaUpdateWrapper<>(); |
| | | uw.eq(ZInfoUser::getSysId,userId).set(ZInfoUser::getSelfIntroduction,zInfoUser.getSelfIntroduction()); |
| | | return toAjax(zInfoUserService.update(uw)); |
| | | // saveOrUpdate(zInfoUser)); |
| | | } |
| | | |
| | | |
| | | // /** |
| | | // * 修改个人详细信息记录 |
| | |
| | | // return toAjax(zInfoUserService.updateById(zInfoUser)); |
| | | // } |
| | | // |
| | | |
| | | /** |
| | | * 删除个人详细信息记录 |
| | | */ |
| | | // @PreAuthorize("@ss.hasPermi('system:property:remove')") |
| | | @Log(title = "个人详细信息记录", businessType = BusinessType.DELETE) |
| | | @DeleteMapping() |
| | | public AjaxResult remove() |
| | | { |
| | | public AjaxResult remove() { |
| | | SysUser user = SecurityUtils.getLoginUser().getUser(); |
| | | Long userId = user.getUserId(); |
| | | return toAjax(zInfoUserService.removeById(userId)); |
| | |
| | | /** |
| | | * 查询家庭主要成员及关系 |
| | | */ |
| | | |
| | | @GetMapping("/relation") |
| | | public AjaxResult listMyRelation(){ |
| | | SysUser user = SecurityUtils.getLoginUser().getUser(); |
| | | Long userId = user.getUserId(); |
| | | return zInfoUserService.searchMyRelation(userId); |
| | | public AjaxResult listMyRelation() { |
| | | return zInfoUserService.searchMyRelation(); |
| | | } |
| | | |
| | | @PostMapping("/relation") |
| | | public AjaxResult addRelation(@RequestBody ZfRelation zfRelation){ |
| | | return zInfoUserService.addRelation(zfRelation); |
| | | } |
| | | |
| | | @PutMapping("/relation") |
| | | public AjaxResult updateRelation(@RequestBody ZfRelation zfRelation){ |
| | | return zInfoUserService.updateRelation(zfRelation); |
| | | } |
| | | |
| | | @DeleteMapping("/relation/{ids}") |
| | | public AjaxResult deleteRelation(@PathVariable Long[] ids){ |
| | | return zInfoUserService.deleteRelation(ids); |
| | | } |
| | | |
| | | |
| | | // /** |
| | | // * 授权 |
| | | // */ |
| | | // @PostMapping("/empower") |
| | | // public AjaxResult empower(@RequestBody EmpowerDto empowerDto){ |
| | | // |
| | | // return zInfoUserService.empower(empowerDto); |
| | | // } |
| | | /** |
| | | * 根据用户id判断是否是子孙 tpfid:自己id 根据用户id判断是否是异性 不是本家的人选 |
| | | */ |
| | | @GetMapping("/uidAndUJd/{tpfid}/{sex}/{clanId}") |
| | | public AjaxResult findByUidAndUid(@PathVariable("tpfid") Long tpfid, @PathVariable("sex") Integer sex, @PathVariable("clanId") Integer clanId) |
| | | { |
| | | // Integer sex = zInfoUserService.getInfoById(tpfid).getSex(); |
| | | //sex == 0 -> 男 |
| | | if (sex == 1){ |
| | | sex = 0; |
| | | } |
| | | else if (sex == 0){ |
| | | sex = 1; |
| | | } |
| | | List<ZInfoUser> zInfoUsers = zInfoUserService.getDataBySex(sex, clanId); |
| | | List<HashMap<Long,String>> satisfyIds = new ArrayList<>(); |
| | | HashMap<Long,String> bs = new HashMap<>(); |
| | | for (ZInfoUser zInfoUser:zInfoUsers) { |
| | | if (!zInfoUserService.findByuid(zInfoUser.getUserId(), tpfid) && (zInfoUser.getMaritalStatus() == null || zInfoUser.getMaritalStatus() != 1)){ |
| | | bs.put(zInfoUser.getUserId(),zInfoUser.getNickName()); |
| | | |
| | | } |
| | | |
| | | } |
| | | satisfyIds.add(bs); |
| | | return AjaxResult.success(satisfyIds); |
| | | } |
| | | |
| | | /** |
| | | * 根据用户id判断是否是子孙 uid:长辈id,tpfid:我自己的zinfoid |
| | | */ |
| | | @GetMapping("/uidUJd/{uid}/{tpfid}") |
| | | public AjaxResult findByUidAndUid2(@PathVariable("uid") Long uid ,@PathVariable("tpfid") Long tpfid){ |
| | | return AjaxResult.success( zInfoUserService.findByuid(uid,tpfid)); |
| | | } |
| | | |
| | | @GetMapping("/sex/{sex}/{clanId}") |
| | | public AjaxResult findBySex(@PathVariable("sex") Integer sex, @PathVariable("clanId") Integer clanId) |
| | | { |
| | | // Integer sex = zInfoUserService.getInfoById(tpfid).getSex(); |
| | | //sex == 0 -> 男 |
| | | if (sex == 1){ |
| | | sex = 0; |
| | | } |
| | | else if (sex == 0){ |
| | | sex = 1; |
| | | } |
| | | List<ZInfoUser> zInfoUsers = zInfoUserService.getDataBySex(sex, clanId); |
| | | List<HashMap<Long,String>> satisfyIds = new ArrayList<>(); |
| | | HashMap<Long,String> bs = new HashMap<>(); |
| | | for (ZInfoUser zInfoUser:zInfoUsers) { |
| | | if (zInfoUser.getMaritalStatus() ==null || zInfoUser.getMaritalStatus() != 1 ) |
| | | bs.put(zInfoUser.getUserId(),zInfoUser.getNickName()); |
| | | |
| | | } |
| | | satisfyIds.add(bs); |
| | | return AjaxResult.success(satisfyIds); |
| | | } |
| | | /** |
| | | * 根据用户id判断是否是异性 |
| | | */ |
| | | |
| | | // /** |
| | | // * 根据用户id判断是否是子孙(uid:?,tpfid:自己id) 根据用户id判断是否是异性 不是本家的人选 |
| | | // */ |
| | | // @GetMapping("/uidAndUJd/{uid}/{tpfid}/{sex}") |
| | | // public AjaxResult findByUidAndUid(@PathVariable("uid") Long uid,@PathVariable("tpfid") Long tpfid, @PathVariable("sex") Integer sex) |
| | | // { |
| | | //// Integer sex = zInfoUserService.getInfoById(tpfid).getSex(); |
| | | // //sex == 0 -> 男 |
| | | // if (sex == 1){ |
| | | // sex = 0; |
| | | // } |
| | | // else if (sex == 0){ |
| | | // sex = 1; |
| | | // } |
| | | // List<ZInfoUser> zInfoUsers = zInfoUserService.getDataBySex(sex); |
| | | // List<String> nickName = new ArrayList<>(); |
| | | // for (ZInfoUser zInfoUser:zInfoUsers) { |
| | | // if (!zInfoUserService.findByuid(uid, tpfid)){ |
| | | // if (zInfoUser.getIsMyFamily() == 1) |
| | | // nickName.add(zInfoUser.getNickName()); |
| | | // } |
| | | // } |
| | | // return AjaxResult.success(nickName); |
| | | // } |
| | | /** |
| | | * 家根网 |
| | | */ |
| | | @GetMapping("/root") |
| | | public AjaxResult listAllPeopleWithTree(@PathParam("depth") Integer depth,@PathParam("clanId") Integer clanId){ |
| | | return zInfoUserService.listWithTree(depth, clanId); |
| | | } |
| | | /** |
| | | * 根据家庭成员找到所有人 |
| | | */ |
| | | @GetMapping("/allFamInfo") |
| | | public AjaxResult listAllFamilyPeople(@PathParam("clanId") Integer clanId) |
| | | { |
| | | return zInfoUserService.listAllFamilyPeople(clanId); |
| | | } |
| | | |
| | | /** |
| | | * 找到所有的成员 |
| | | */ |
| | | @GetMapping("/all") |
| | | public AjaxResult listAllPeople(){ |
| | | return zInfoUserService.listAllExceptAdmin(); |
| | | } |
| | | |
| | | /** |
| | | * 新增、修改父子关系 |
| | | */ |
| | | |
| | | @PutMapping("/setParent") |
| | | public AjaxResult addParent(@PathParam("fatherId")Long fatherId,@PathParam("motherId")Long motherId){ |
| | | return zInfoUserService.addParent(fatherId,motherId); |
| | | } |
| | | |
| | | /** |
| | | * 根据本人id查询本人信息以及配偶信息 |
| | | */ |
| | | @GetMapping("/listMyself/{id}") |
| | | public AjaxResult listMySelfAndSpouse(@PathVariable("id") Long id){ |
| | | return zInfoUserService.listMySelfAndSpouse(id); |
| | | } |
| | | |
| | | /** |
| | | * 家谱 |
| | | */ |
| | | @GetMapping("/list/genealogy") |
| | | public AjaxResult listGenealogy(Genealogy genealogy){ |
| | | Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1); |
| | | Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10); |
| | | return zInfoUserService.listGenealogy(genealogy,pageNum,pageSize); |
| | | } |
| | | |
| | | /** |
| | | * 导出家谱 |
| | | */ |
| | | @PostMapping("/export/genealogy") |
| | | public void exportGenealogy(@RequestBody List<GenealogyExportDto> params, HttpServletResponse response){ |
| | | List<Genealogy> list= zInfoUserService.selectDatas(params); |
| | | ExcelUtil<Genealogy> util = new ExcelUtil<>(Genealogy.class); |
| | | util.exportExcel(response,list,"家谱记录数据"); |
| | | } |
| | | |
| | | /** |
| | | * 家谱2.0 |
| | | */ |
| | | @GetMapping("/list/genealogy2") |
| | | public AjaxResult listGenealogy2(Genealogy genealogy){ |
| | | Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1); |
| | | Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10); |
| | | return zInfoUserService.listGenealogy2(genealogy,pageNum,pageSize); |
| | | } |
| | | |
| | | @GetMapping("/list/getInfoByfid/{fid}") |
| | | public AjaxResult getInfoByfid(@PathVariable("fid") Long fid) |
| | | { |
| | | return zInfoUserService.getInfoByfid(fid); |
| | | } |
| | | |
| | | /** |
| | | // * 分享给其他家族数据,通过输入名字查找所有的同名用户和家族号 |
| | | // */ |
| | | @PostMapping("/byName") |
| | | public AjaxResult listByNickNameDate(@RequestBody ZInfoUser zInfoUser) |
| | | { |
| | | return zInfoUserService.findInfoUserNameAClan(zInfoUser.getNickName()); |
| | | } |
| | | |
| | | } |
| | | |