From ab06f7043e4192556c4d9881b0430bcb6cc75f50 Mon Sep 17 00:00:00 2001 From: whywhyo <1511349576@qq.com> Date: 星期三, 03 五月 2023 23:28:02 +0800 Subject: [PATCH] 完成家根网 --- zhang-content/src/main/java/com/ruoyi/converter/BearStatusConverter.java | 57 +++++++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZMarryController.java | 43 +++++ ruoyi-common/pom.xml | 6 zhang-content/src/main/java/com/ruoyi/domain/ZInfoUser.java | 12 + zhang-content/src/main/java/com/ruoyi/service/ZInfoUserService.java | 6 zhang-content/src/main/java/com/ruoyi/domain/MarryUser.java | 30 +++ zhang-content/src/main/java/com/ruoyi/domain/dto/MarryInfoDto.java | 58 ++++++ zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java | 72 ++++++++ ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java | 36 ++++ zhang-content/src/main/java/com/ruoyi/service/impl/ZMarryServiceImpl.java | 55 ++++++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZInfoUserController.java | 32 ++++ zhang-content/src/main/java/com/ruoyi/domain/dto/ZUserInfoDto.java | 18 ++ zhang-content/src/main/java/com/ruoyi/domain/ZMarry.java | 9 + 13 files changed, 416 insertions(+), 18 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZInfoUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZInfoUserController.java index bcc2de2..86671ae 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZInfoUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZInfoUserController.java @@ -20,6 +20,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import javax.websocket.server.PathParam; import java.util.Arrays; import java.util.List; import java.util.regex.Pattern; @@ -181,6 +182,37 @@ return zInfoUserService.empower(empowerDto); } + /** + * 瀹舵牴缃� + */ + @GetMapping("/root") + public AjaxResult listAllPeopleWithTree(){ + return zInfoUserService.listWithTree(); + } + + + /** + * 鎵惧埌鎵�鏈夌殑鎴愬憳 + */ + @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); + } + + + + + + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZMarryController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZMarryController.java index 147dbf5..58aa3e0 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZMarryController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZMarryController.java @@ -8,6 +8,7 @@ import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.domain.MarryUser; import com.ruoyi.domain.ZMarry; import com.ruoyi.domain.dto.MarryInfoDto; import com.ruoyi.service.ZMarryService; @@ -17,7 +18,9 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; /** @@ -78,5 +81,45 @@ } +// /** +// * 瀵煎嚭濠氬Щ鐘跺喌 +// */ +// @PostMapping("/export") +// public void export(HttpServletResponse response) +// { +// AjaxResult marryStatus = getMarryStatus(); +// HashMap data = (HashMap) marryStatus.get("data"); +// +// List<MarryUser> myInfoList = Arrays.asList((MarryUser) data.get("myInfo")); +// ExcelUtil<MarryUser> util1 = new ExcelUtil<>(MarryUser.class); +// util1.exportEasyExcel(response,myInfoList,"涓汉淇℃伅"); +// +// List<MarryUser> spouseInfoList = Arrays.asList((MarryUser) data.get("spouseInfo")); +// ExcelUtil<MarryUser> util2 = new ExcelUtil<>(MarryUser.class); +// util2.exportEasyExcel(response,spouseInfoList,"閰嶅伓淇℃伅"); +// +// List<ZMarry> marryInfoList = Arrays.asList((ZMarry) data.get("marryInfo")); +// ExcelUtil<ZMarry> util3 = new ExcelUtil<>(ZMarry.class); +// util3.exportEasyExcel(response,marryInfoList,"濠氬Щ淇℃伅"); +// +// List<MarryUser> oldSpouseInfoList = (List<MarryUser>) data.get("oldSpouseInfo"); +// ExcelUtil<MarryUser> util4 = new ExcelUtil<>(MarryUser.class); +// util4.exportEasyExcel(response,oldSpouseInfoList,"鍓嶄换淇℃伅"); +// } + + + /** + * 瀵煎嚭 + */ + @PostMapping("/export") + public void export(HttpServletResponse response){ + AjaxResult marryStatus = getMarryStatus(); + MarryInfoDto data = (MarryInfoDto) marryStatus.get("data"); + List<MarryInfoDto> list = Arrays.asList(data); + ExcelUtil<MarryInfoDto> util1 = new ExcelUtil<>(MarryInfoDto.class); + util1.exportExcel(response,list,"濠氬Щ淇℃伅"); + } + + } diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml index 6866771..68dd539 100644 --- a/ruoyi-common/pom.xml +++ b/ruoyi-common/pom.xml @@ -137,6 +137,12 @@ <artifactId>lombok</artifactId> </dependency> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>easyexcel</artifactId> + <version>2.2.6</version> + </dependency> + </dependencies> <build> diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java index 755292b..0a48f37 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java @@ -24,6 +24,8 @@ import java.util.UUID; import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; + +import com.alibaba.excel.EasyExcel; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.RegExUtils; import org.apache.commons.lang3.reflect.FieldUtils; @@ -1731,4 +1733,38 @@ } return method; } + + + /** + * 瀵筫xcel琛ㄥ崟榛樿绗竴涓储寮曞悕杞崲鎴恖ist锛圗asyExcel锛� + * + * @param is 杈撳叆娴� + * @return 杞崲鍚庨泦鍚� + */ + public List<T> importEasyExcel(InputStream is) throws Exception + { + return EasyExcel.read(is).head(clazz).sheet().doReadSync(); + } + + /** + * 瀵筶ist鏁版嵁婧愬皢鍏堕噷闈㈢殑鏁版嵁瀵煎叆鍒癳xcel琛ㄥ崟锛圗asyExcel锛� + * + * @param list 瀵煎嚭鏁版嵁闆嗗悎 + * @param sheetName 宸ヤ綔琛ㄧ殑鍚嶇О + * @return 缁撴灉 + */ + public void exportEasyExcel(HttpServletResponse response, List<T> list, String sheetName) + { + try + { + EasyExcel.write(response.getOutputStream(), clazz).sheet(sheetName).doWrite(list); + } + catch (IOException e) + { + log.error("瀵煎嚭EasyExcel寮傚父{}", e.getMessage()); + } + } + + + } diff --git a/zhang-content/src/main/java/com/ruoyi/converter/BearStatusConverter.java b/zhang-content/src/main/java/com/ruoyi/converter/BearStatusConverter.java new file mode 100644 index 0000000..cc034fb --- /dev/null +++ b/zhang-content/src/main/java/com/ruoyi/converter/BearStatusConverter.java @@ -0,0 +1,57 @@ +package com.ruoyi.converter; + +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.CellData; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +/** + * @Author Jinquan_Ou + * @Description + * @Date 2023-04-26 15:09 + * @Version 1.0.0 + **/ +@SuppressWarnings("rawtypes") +public class BearStatusConverter implements Converter<Integer> { + @Override + public Class supportJavaTypeKey() { + return Integer.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Integer convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception { + Integer value = 0; + String str = cellData.getStringValue(); + if ("鏈".equals(str)) { + value = 0; + } else if ("鍒濆".equals(str)) { + value = 1; + } else if ("绂诲".equals(str)) { + value = 2; + } else if ("鍐嶅".equals(str)) { + value = 3; + } + return value; + } + + @Override + public CellData convertToExcelData(Integer value, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception { + String str="鍏朵粬"; + if(0==value){ + str="鏈"; + }else if (1==value){ + str="鍒濆"; + } else if (2==value) { + str="绂诲"; + }else if (3==value){ + str="鍐嶅"; + } + return new CellData(str); + } +} diff --git a/zhang-content/src/main/java/com/ruoyi/domain/MarryUser.java b/zhang-content/src/main/java/com/ruoyi/domain/MarryUser.java index c275941..847a3cc 100644 --- a/zhang-content/src/main/java/com/ruoyi/domain/MarryUser.java +++ b/zhang-content/src/main/java/com/ruoyi/domain/MarryUser.java @@ -1,9 +1,13 @@ package com.ruoyi.domain; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.format.DateTimeFormat; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.converter.BearStatusConverter; import lombok.Data; import java.io.PipedReader; @@ -24,14 +28,38 @@ private String id; private Long myId; + @Excel(name = "濮撳悕") +// @ExcelProperty({"濮撳悕"}) private String name; - @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @Excel(name = "鐢熸棩", dateFormat = "yyyy-MM-dd") +// @ExcelProperty({"鐢熸棩"}) +// @DateTimeFormat("yyyy-MM-dd") private Date birthday; + + @Excel(name = "鎴风睄鍦板潃") +// @ExcelProperty({"鎴风睄鍦板潃"}) private String address; + + @Excel(name = "宸ヤ綔鍦板潃") +// @ExcelProperty({"宸ヤ綔鍦板潃"}) private String workAddress; + + @Excel(name = "濠氬Щ鐘跺喌",readConverterExp = "0=鏈,1=鍒濆,2=绂诲,3=鍐嶅") +// @ExcelProperty(value = {"濠氬Щ鐘跺喌"},converter = BearStatusConverter.class) private Integer marryStatus; + + @Excel(name = "鎬у埆",readConverterExp = "0=濂�,1=鐢�") +// @ExcelProperty({"鎬у埆"}) private Integer sex; + + @Excel(name = "姘戞棌") +// @ExcelProperty({"姘戞棌"}) private String nation; + + @Excel(name = "鎵嬫満鍙风爜") +// @ExcelProperty({"鎵嬫満鍙风爜"}) private String phone; } diff --git a/zhang-content/src/main/java/com/ruoyi/domain/ZInfoUser.java b/zhang-content/src/main/java/com/ruoyi/domain/ZInfoUser.java index 645a115..3d8e4af 100644 --- a/zhang-content/src/main/java/com/ruoyi/domain/ZInfoUser.java +++ b/zhang-content/src/main/java/com/ruoyi/domain/ZInfoUser.java @@ -1,6 +1,7 @@ package com.ruoyi.domain; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; @@ -11,6 +12,7 @@ import java.io.Serializable; import java.time.LocalDate; import java.util.Date; +import java.util.List; /** * @Version 1.0 @@ -137,12 +139,12 @@ /** * 鐖朵翰鐨刬d */ - private Integer fatherId; + private Long fatherId; /** * 姣嶄翰鐨刬d */ - private Integer momId; + private Long momId; /** * 鍑虹敓骞存湀鏃� @@ -166,5 +168,11 @@ */ private String secondFamilyId; + /** + * 瀛愬垪琛� + */ + @TableField(exist = false) + List<ZInfoUser> childList; + } diff --git a/zhang-content/src/main/java/com/ruoyi/domain/ZMarry.java b/zhang-content/src/main/java/com/ruoyi/domain/ZMarry.java index add16f5..2942a41 100644 --- a/zhang-content/src/main/java/com/ruoyi/domain/ZMarry.java +++ b/zhang-content/src/main/java/com/ruoyi/domain/ZMarry.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; import lombok.Data; import lombok.ToString; @@ -43,25 +44,33 @@ * 缁撳鏃堕棿 */ @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") +// @Excel(name = "缁撳鏃堕棿", dateFormat = "yyyy-MM-dd") private Date marryTime; /** * 鐢熻偛鎯呭喌,0锛氭湭鐢熻偛銆�1锛氬湪瀛曘��2锛氬凡鐢熻偛 */ +// @Excel(name = "鐢熻偛鎯呭喌",readConverterExp = "0=鏈敓鑲�,1=鍦ㄥ瓡,2=宸茬敓鑲�") private Integer bearStatus; +// @Excel(name = "鏄惁棰嗗彇璁″垝鐢熻偛鏈嶅姟鎵嬪唽",readConverterExp = "0=鍚�,1=鏄�") private Integer handbookStatus; @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") +// @Excel(name = "棰嗗彇璁″垝鐢熻偛鏈嶅姟鎵嬪唽鏃堕棿", dateFormat = "yyyy-MM-dd") private Date handbookTime; +// @Excel(name = "鏄惁棰嗗彇鐙敓瀛愬コ璇�", readConverterExp = "0=鍚�,1=鏄�") private Integer oneBorn; @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") +// @Excel(name = "棰嗗彇鐙敓瀛愬コ璇佹椂闂�", dateFormat = "yyyy-MM-dd") private Date oneBornTime; +// @Excel(name = "闇�澹版槑鐨勬儏鍐�") private String content; +// @Excel(name = "澶囨敞") private String remark; private Integer deleteStatus; diff --git a/zhang-content/src/main/java/com/ruoyi/domain/dto/MarryInfoDto.java b/zhang-content/src/main/java/com/ruoyi/domain/dto/MarryInfoDto.java index b0c4bab..d0d1ac0 100644 --- a/zhang-content/src/main/java/com/ruoyi/domain/dto/MarryInfoDto.java +++ b/zhang-content/src/main/java/com/ruoyi/domain/dto/MarryInfoDto.java @@ -1,8 +1,13 @@ package com.ruoyi.domain.dto; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.format.DateTimeFormat; import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.converter.BearStatusConverter; import com.ruoyi.domain.MarryUser; import lombok.Data; +import org.apache.poi.ss.usermodel.IndexedColors; import java.io.Serializable; import java.util.Date; @@ -20,28 +25,60 @@ //鎴戜釜浜虹殑鏁版嵁 private String id; + // @ExcelProperty({"涓汉鏁版嵁","濮撳悕"}) + @Excel(name = "涓汉濮撳悕",headerBackgroundColor = IndexedColors.YELLOW) private String name; - @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") +// @ExcelProperty({"涓汉淇℃伅","鐢熸棩"}) +// @DateTimeFormat("yyyy-MM-dd") + @Excel(name = "涓汉鐢熸棩", dateFormat = "yyyy-MM-dd",headerBackgroundColor = IndexedColors.YELLOW) private Date birthday; + // @ExcelProperty({"涓汉淇℃伅","鎴风睄鍦板潃"}) + @Excel(name = "涓汉鎴风睄鍦板潃",headerBackgroundColor = IndexedColors.YELLOW) private String address; + // @ExcelProperty({"涓汉淇℃伅","宸ヤ綔鍦板潃"}) + @Excel(name = "涓汉宸ヤ綔鍦板潃",headerBackgroundColor = IndexedColors.YELLOW) private String workAddress; + // @ExcelProperty(value = {"涓汉淇℃伅","濠氬Щ鐘跺喌"},converter = BearStatusConverter.class) + @Excel(name = "涓汉濠氬Щ鐘跺喌", readConverterExp = "0=鏈,1=鍒濆,2=绂诲,3=鍐嶅",headerBackgroundColor = IndexedColors.YELLOW) private Integer marryStatus; + // @ExcelProperty(value = {"涓汉淇℃伅","鎬у埆"}) + @Excel(name = "涓汉鎬у埆", readConverterExp = "0=濂�,1=鐢�",headerBackgroundColor = IndexedColors.YELLOW) private Integer sex; + // @ExcelProperty(value = {"涓汉淇℃伅","姘戞棌"}) + @Excel(name = "涓汉姘戞棌",headerBackgroundColor = IndexedColors.YELLOW) private String nation; + // @ExcelProperty(value = {"涓汉淇℃伅","鎵嬫満鍙风爜"}) + @Excel(name = "涓汉鐢佃瘽鍙风爜",headerBackgroundColor = IndexedColors.YELLOW) private String phone; //閰嶅伓鐨勬暟鎹� private String spouseId; + // @ExcelProperty(value = {"閰嶅伓淇℃伅","濮撳悕"}) + @Excel(name = "閰嶅伓濮撳悕",headerBackgroundColor = IndexedColors.GREEN) private String spouseName; - @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") +// @ExcelProperty(value = {"閰嶅伓淇℃伅","鐢熸棩"}) +// @DateTimeFormat("yyyy-MM-dd") + @Excel(name = "閰嶅伓鐢熸棩", dateFormat = "yyyy-MM-dd",headerBackgroundColor = IndexedColors.GREEN) private Date spouseBirthday; + // @ExcelProperty(value = {"閰嶅伓淇℃伅","鎴风睄鍦板潃"}) + @Excel(name = "閰嶅伓鎴风睄鍦板潃",headerBackgroundColor = IndexedColors.GREEN) private String spouseAddress; + // @ExcelProperty(value = {"閰嶅伓淇℃伅","宸ヤ綔鍦板潃"}) + @Excel(name = "閰嶅伓宸ヤ綔鍦板潃",headerBackgroundColor = IndexedColors.GREEN) private String spouseWorkAddress; + // @ExcelProperty(value = {"閰嶅伓淇℃伅","濠氬Щ鐘跺喌"},converter = BearStatusConverter.class) + @Excel(name = "閰嶅伓濠氬Щ鐘跺喌", readConverterExp = "0=鏈,1=鍒濆,2=绂诲,3=鍐嶅",headerBackgroundColor = IndexedColors.GREEN) private Integer spouseMarryStatus; + // @ExcelProperty(value = {"閰嶅伓淇℃伅","鎬у埆"}) + @Excel(name = "閰嶅伓鎬у埆", readConverterExp = "0=濂�,1=鐢�",headerBackgroundColor = IndexedColors.GREEN) private Integer spouseSex; + // @ExcelProperty(value = {"閰嶅伓淇℃伅","姘戞棌"}) + @Excel(name = "閰嶅伓姘戞棌",headerBackgroundColor = IndexedColors.GREEN) private String spouseNation; + @Excel(name = "閰嶅伓鎵嬫満鍙风爜",headerBackgroundColor = IndexedColors.GREEN) private String spousePhone; - //鐢熻偛鎯呭喌(涓棿琛�) @@ -49,25 +86,34 @@ /** * 缁撳鏃堕棿 */ - @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @Excel(name = "缁撳鏃堕棿", dateFormat = "yyyy-MM-dd") private Date marryTime; /** * 鐢熻偛鎯呭喌,0锛氭湭鐢熻偛銆�1锛氬湪瀛曘��2锛氬凡鐢熻偛 */ + @Excel(name = "鐢熻偛鎯呭喌", readConverterExp = "0=鏈敓鑲�,1=鍦ㄥ瓡,2=宸茬敓鑲�") private Integer bearStatus; + @Excel(name = "鏄惁棰嗗彇璁″垝鐢熻偛鏈嶅姟鎵嬪唽", readConverterExp = "0=鍚�,1=鏄�") private Integer handbookStatus; - @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @Excel(name = "棰嗗彇璁″垝鐢熻偛鏈嶅姟鎵嬪唽鏃堕棿", dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date handbookTime; + @Excel(name = "鏄惁棰嗗彇鐙敓瀛愬コ璇�", readConverterExp = "0=鍚�,1=鏄�") private Integer oneBorn; - @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @Excel(name = "棰嗗彇鐙敓瀛愬コ璇佹椂闂�", dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date oneBornTime; + @Excel(name = "闇�澹版槑鐨勬儏鍐�") private String content; + @Excel(name = "澶囨敞") private String remark; /** * 鍓嶄换淇℃伅鐨凩ist */ + @Excel(name = "鍓嶄换淇℃伅",headerBackgroundColor= IndexedColors.RED) private List<MarryUser> oldSpouseList; } diff --git a/zhang-content/src/main/java/com/ruoyi/domain/dto/ZUserInfoDto.java b/zhang-content/src/main/java/com/ruoyi/domain/dto/ZUserInfoDto.java new file mode 100644 index 0000000..96e8c83 --- /dev/null +++ b/zhang-content/src/main/java/com/ruoyi/domain/dto/ZUserInfoDto.java @@ -0,0 +1,18 @@ +package com.ruoyi.domain.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author Jinquan_Ou + * @Description + * @Date 2023-05-03 18:38 + * @Version 1.0.0 + **/ +@Data +public class ZUserInfoDto implements Serializable { + private static final long serialVersionUID = 1L; + + +} diff --git a/zhang-content/src/main/java/com/ruoyi/service/ZInfoUserService.java b/zhang-content/src/main/java/com/ruoyi/service/ZInfoUserService.java index ea7a36f..9f39317 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/ZInfoUserService.java +++ b/zhang-content/src/main/java/com/ruoyi/service/ZInfoUserService.java @@ -31,4 +31,10 @@ AjaxResult empower(EmpowerDto empowerDto); + AjaxResult listWithTree(); + + AjaxResult addParent(Long fatherId, Long motherId); + + AjaxResult listAllExceptAdmin(); + } diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java index 93b18ec..ca62533 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java @@ -250,6 +250,7 @@ } + private void checkAuthorization(String familyId, String destinationFamilyId,boolean flag) { String text=null; if(flag){ @@ -283,8 +284,6 @@ return familyId; } - - private String getFinalStr(String destinationFamilyId, List<String> authorityList) { String authorityListStr = authorityList.stream().collect(Collectors.joining(" ", "{", "}")); String finalStr= destinationFamilyId +authorityListStr; //3{2007 1988 1004} @@ -292,4 +291,73 @@ } + /** + * 鑾峰彇瀹舵牴缃� + * @return + */ + @Override + public AjaxResult listWithTree() { + + List<ZInfoUser> allPeopleList = list(); + List<ZInfoUser> result = null; + try { + result = allPeopleList.stream().filter(people -> people.getUserId()!=1&&(people.getFatherId() == 0||people.getMomId()==0)) + .map(people -> { + people.setChildList(fillChildren(people, allPeopleList)); + return people; + }).collect(Collectors.toList()); + } catch (NullPointerException e) { + throw new RuntimeException("鎮ㄥ湪鍔犲叆鎴愬憳鐨勬椂鍊欐病鏈夋寚瀹氳鎴愬憳鐨勭埗浜叉垨鑰呮瘝浜�"); + } + return AjaxResult.success(result); + + } + + /** + * 涓轰簡瀹舵牴缃戙�佹柊澧炴垨鑰呬慨鏀圭埗瀛愬叧绯� + * @param fatherId + * @param motherId + * @return + */ + @Override + public AjaxResult addParent(Long fatherId, Long motherId) { + SysUser user = SecurityUtils.getLoginUser().getUser(); + Long userId = user.getUserId(); + LambdaQueryWrapper<ZInfoUser> zInfoUserLambdaQueryWrapper = new LambdaQueryWrapper<>(); + zInfoUserLambdaQueryWrapper.eq(ZInfoUser::getUserId,userId); + ZInfoUser zInfoUser = getOne(zInfoUserLambdaQueryWrapper); + + zInfoUser.setFatherId(fatherId); + zInfoUser.setMomId(motherId); + + updateById(zInfoUser); + return AjaxResult.success(); + } + + @Override + public AjaxResult listAllExceptAdmin() { + List<ZInfoUser> collect = list().stream().filter(zInfoUser -> zInfoUser.getUserId() != 1).collect(Collectors.toList()); + return AjaxResult.success(collect); + + } + + /** + * 閫掑綊绠楁硶 + * @param people + * @param allPeopleList + * @return + */ + private List<ZInfoUser> fillChildren(ZInfoUser people, List<ZInfoUser> allPeopleList) { + return allPeopleList.stream().filter( + one -> one.getFatherId() == people.getUserId() || one.getMomId() == people.getUserId() + ).map( + one -> { + one.setChildList(fillChildren(one, allPeopleList)); + return one; + } + ).collect(Collectors.toList()); + + } + + } diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZMarryServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZMarryServiceImpl.java index 66f70d6..455af82 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZMarryServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZMarryServiceImpl.java @@ -84,16 +84,57 @@ oldSpouseList.add(oldSpouse); } - //缁熶竴灏佽杩斿洖 - HashMap<String, Object> resultMap = new HashMap<>(); - resultMap.put("myInfo",myself); - resultMap.put("spouseInfo",spouse); - resultMap.put("marryInfo",myMarryInfo); - resultMap.put("oldSpouseInfo",oldSpouseList); +// //缁熶竴灏佽杩斿洖 +// HashMap<String, Object> resultMap = new HashMap<>(); +// resultMap.put("myInfo",myself); +// resultMap.put("spouseInfo",spouse); +// resultMap.put("marryInfo",myMarryInfo); +// resultMap.put("oldSpouseInfo",oldSpouseList); - return AjaxResult.success(resultMap); + //杞垚DTO杩斿洖 + MarryInfoDto marryInfoDto = MarryInfoToDto(myMarryInfo, oldSpouseList, myself, spouse); + return AjaxResult.success(marryInfoDto); } + private MarryInfoDto MarryInfoToDto(ZMarry myMarryInfo,List<MarryUser> oldSpouseList,MarryUser myself,MarryUser spouse){ + MarryInfoDto marryInfoDto = new MarryInfoDto(); + marryInfoDto.setId(myself.getId()); + marryInfoDto.setName(myself.getName()); + marryInfoDto.setBirthday(myself.getBirthday()); + marryInfoDto.setAddress(myself.getAddress()); + marryInfoDto.setWorkAddress(myself.getWorkAddress()); + marryInfoDto.setMarryStatus(myself.getMarryStatus()); + marryInfoDto.setSex(myself.getSex()); + marryInfoDto.setNation(myself.getNation()); + marryInfoDto.setPhone(myself.getPhone()); + + marryInfoDto.setSpouseId(spouse.getId()); + marryInfoDto.setSpouseName(spouse.getName()); + marryInfoDto.setSpouseBirthday(spouse.getBirthday()); + marryInfoDto.setSpouseAddress(spouse.getAddress()); + marryInfoDto.setSpouseWorkAddress(spouse.getWorkAddress()); + marryInfoDto.setSpouseMarryStatus(spouse.getMarryStatus()); + marryInfoDto.setSpouseSex(spouse.getSex()); + marryInfoDto.setSpouseNation(spouse.getNation()); + marryInfoDto.setSpousePhone(spouse.getPhone()); + + marryInfoDto.setMarryId(myMarryInfo.getId()); + marryInfoDto.setBearStatus(myMarryInfo.getBearStatus()); + marryInfoDto.setHandbookStatus(myMarryInfo.getHandbookStatus()); + marryInfoDto.setHandbookTime(myMarryInfo.getHandbookTime()); + marryInfoDto.setOneBorn(myMarryInfo.getOneBorn()); + marryInfoDto.setOneBornTime(myMarryInfo.getOneBornTime()); + marryInfoDto.setContent(myMarryInfo.getContent()); + marryInfoDto.setRemark(myMarryInfo.getRemark()); + marryInfoDto.setMarryTime(myMarryInfo.getMarryTime()); + + marryInfoDto.setOldSpouseList(oldSpouseList); + return marryInfoDto; + } + + + + @Transactional public AjaxResult addInfo(MarryInfoDto marryInfoDto){ SysUser user = SecurityUtils.getLoginUser().getUser(); -- Gitblit v1.9.1