人口基本信息- 增加了对人口关系的优化 , 以及配偶信息的数据关联

This commit is contained in:
java_cuibaocheng@163.com 2024-01-17 17:45:51 +08:00
parent b8b5388146
commit ec1c621c68
7 changed files with 284 additions and 5 deletions

View File

@ -80,6 +80,14 @@ public class PopulationInfoDTO {
private String motherIdcard; private String motherIdcard;
@ApiModelProperty(name = "motherPhone", value = "母亲电话") @ApiModelProperty(name = "motherPhone", value = "母亲电话")
private String motherPhone; private String motherPhone;
@ApiModelProperty(name = "spouseId", value = "配偶ID")
private String spouseId;
@ApiModelProperty(name = "spouseName", value = "配偶姓名")
private String spouseName;
@ApiModelProperty(name = "spouseIdcard", value = "配偶证件")
private String spouseIdcard;
@ApiModelProperty(name = "spousePhone", value = "配偶电话")
private String spousePhone;
@ApiModelProperty(name = "relationship", value = "与户主关系") @ApiModelProperty(name = "relationship", value = "与户主关系")
private String relationship; private String relationship;
@ApiModelProperty(name = "domicileAddress", value = "户籍详细地址") @ApiModelProperty(name = "domicileAddress", value = "户籍详细地址")
@ -184,6 +192,38 @@ public class PopulationInfoDTO {
@ApiModelProperty(name = "创建人所在社区名称", value = "创建人所在社区名称") @ApiModelProperty(name = "创建人所在社区名称", value = "创建人所在社区名称")
private String creatorArea2; private String creatorArea2;
public String getSpouseId() {
return spouseId == null ? "" : spouseId.trim();
}
public void setSpouseId(String spouseId) {
this.spouseId = spouseId;
}
public String getSpouseName() {
return spouseName == null ? "" : spouseName.trim();
}
public void setSpouseName(String spouseName) {
this.spouseName = spouseName;
}
public String getSpouseIdcard() {
return spouseIdcard == null ? "" : spouseIdcard.trim();
}
public void setSpouseIdcard(String spouseIdcard) {
this.spouseIdcard = spouseIdcard;
}
public String getSpousePhone() {
return spousePhone == null ? "" : spousePhone.trim();
}
public void setSpousePhone(String spousePhone) {
this.spousePhone = spousePhone;
}
public String getCreatorArea1() { public String getCreatorArea1() {
return creatorArea1; return creatorArea1;
} }

View File

@ -91,6 +91,14 @@ public class PopulationInfoVO {
private String motherIdcard; private String motherIdcard;
@ApiModelProperty(name = "motherPhone", value = "母亲电话") @ApiModelProperty(name = "motherPhone", value = "母亲电话")
private String motherPhone; private String motherPhone;
@ApiModelProperty(name = "spouseId", value = "配偶ID")
private String spouseId;
@ApiModelProperty(name = "spouseName", value = "配偶姓名")
private String spouseName;
@ApiModelProperty(name = "spouseIdcard", value = "配偶证件")
private String spouseIdcard;
@ApiModelProperty(name = "spousePhone", value = "配偶电话")
private String spousePhone;
@ApiModelProperty(name = "relationship", value = "与户主关系") @ApiModelProperty(name = "relationship", value = "与户主关系")
@CheckEmptyAnnotation(name = "与户主关系") @CheckEmptyAnnotation(name = "与户主关系")
private String relationship; private String relationship;
@ -182,6 +190,38 @@ public class PopulationInfoVO {
@ApiModelProperty(name = "othertext", value = "其他说明") @ApiModelProperty(name = "othertext", value = "其他说明")
private String othertext; private String othertext;
public String getSpouseId() {
return spouseId == null ? "" : spouseId.trim();
}
public void setSpouseId(String spouseId) {
this.spouseId = spouseId;
}
public String getSpouseName() {
return spouseName == null ? "" : spouseName.trim();
}
public void setSpouseName(String spouseName) {
this.spouseName = spouseName;
}
public String getSpouseIdcard() {
return spouseIdcard == null ? "" : spouseIdcard.trim();
}
public void setSpouseIdcard(String spouseIdcard) {
this.spouseIdcard = spouseIdcard;
}
public String getSpousePhone() {
return spousePhone == null ? "" : spousePhone.trim();
}
public void setSpousePhone(String spousePhone) {
this.spousePhone = spousePhone;
}
public String getLabel() { public String getLabel() {
return label; return label;
} }

View File

@ -163,6 +163,21 @@ public class PopulationInfoServiceImpl extends AbstractService implements IPopul
} }
private void getSpouse(PopulationInfoRelationDTO relationDTO, PopulationInfoDTO dto) { private void getSpouse(PopulationInfoRelationDTO relationDTO, PopulationInfoDTO dto) {
// 找出系统内的配偶信息
String spouseIdcard = "";
if (!StringUtils.isEmpty(dto.getSpouseIdcard())) {
PopulationInfoDTO dto1 = getByIdcardOrId(dto.getSpouseId(), dto.getSpouseIdcard());
if (dto1 != null) {
PopulationInfoRelationDTO newDto = new PopulationInfoRelationDTO();
newDto.setSex(dto1.getSex());
newDto.setOrder(0);
newDto.setName(dto1.getName());
newDto.setCall("配偶");
newDto.setPopulationInfoId(dto1.getPopulationInfoId());
spouseIdcard = dto1.getIdcard();
relationDTO.getSpouse().add(newDto);
}
}
// 找出所有的孩子 // 找出所有的孩子
List<PopulationInfoDTO> infoDTOList = getByMotherIdOrFatherId(dto.getPopulationInfoId(), dto.getIdcard()); List<PopulationInfoDTO> infoDTOList = getByMotherIdOrFatherId(dto.getPopulationInfoId(), dto.getIdcard());
int index = 1; int index = 1;
@ -174,7 +189,7 @@ public class PopulationInfoServiceImpl extends AbstractService implements IPopul
}else{ }else{
dto1 = getByIdcardOrId(tempDTO.getFatherId(), tempDTO.getFatherIdcard()); dto1 = getByIdcardOrId(tempDTO.getFatherId(), tempDTO.getFatherIdcard());
} }
if (dto1 != null) { if (dto1 != null && !spouseIdcard.equals(dto1.getIdcard())) {
PopulationInfoRelationDTO newDto = new PopulationInfoRelationDTO(); PopulationInfoRelationDTO newDto = new PopulationInfoRelationDTO();
newDto.setSex(dto1.getSex()); newDto.setSex(dto1.getSex());
newDto.setOrder(index++); newDto.setOrder(index++);
@ -238,6 +253,9 @@ public class PopulationInfoServiceImpl extends AbstractService implements IPopul
for (PopulationInfoDTO infoDTO : infoDTOList) { for (PopulationInfoDTO infoDTO : infoDTOList) {
String call = ""; String call = "";
PopulationInfoRelationDTO newDto = new PopulationInfoRelationDTO(); PopulationInfoRelationDTO newDto = new PopulationInfoRelationDTO();
// 找出配偶
getSpouse(newDto, infoDTO);
newDto.setSex(infoDTO.getSex()); newDto.setSex(infoDTO.getSex());
newDto.setOrder(indexOrder++); newDto.setOrder(indexOrder++);
newDto.setName(infoDTO.getName()); newDto.setName(infoDTO.getName());
@ -339,6 +357,19 @@ public class PopulationInfoServiceImpl extends AbstractService implements IPopul
subDTO.setLevel(level); subDTO.setLevel(level);
subDTO.setOrder(dto.getOrder()); subDTO.setOrder(dto.getOrder());
resultList.add(subDTO); resultList.add(subDTO);
// 封装儿子女儿的配偶信息
if (dto.getSpouse().size() > 0) {
for(PopulationInfoRelationDTO dto1 : dto.getSpouse()) {
PopulationInfoRelationSubDTO subDTO1 = new PopulationInfoRelationSubDTO();
subDTO1.setId(dto1.getPopulationInfoId());
subDTO1.setSource(dto.getName() + "(" + dto.getCall() + ")");
subDTO1.setTarget(dto1.getName() + "(" + dto1.getCall() + ")");
subDTO1.setSex(dto1.getSex());
subDTO1.setLevel(level);
subDTO1.setOrder(dto1.getOrder());
resultList.add(subDTO1);
}
}
buiderAfter(subDTO, resultList, dto.getAfter(), level-1); buiderAfter(subDTO, resultList, dto.getAfter(), level-1);
} }
} }

View File

@ -68,6 +68,10 @@
<result column="mother_name" property="motherName"/> <result column="mother_name" property="motherName"/>
<result column="mother_idcard" property="motherIdcard"/> <result column="mother_idcard" property="motherIdcard"/>
<result column="mother_phone" property="motherPhone"/> <result column="mother_phone" property="motherPhone"/>
<result column="spouse_id" property="spouseId"/>
<result column="spouse_name" property="spouseName"/>
<result column="spouse_idcard" property="spouseIdcard"/>
<result column="spouse_phone" property="spousePhone"/>
<result column="relationship" property="relationship"/> <result column="relationship" property="relationship"/>
<result column="domicile_address" property="domicileAddress"/> <result column="domicile_address" property="domicileAddress"/>
<result column="domicile_address_type" property="domicileAddressType"/> <result column="domicile_address_type" property="domicileAddressType"/>
@ -321,6 +325,10 @@
mother_name, mother_name,
mother_idcard, mother_idcard,
mother_phone, mother_phone,
spouse_id,
spouse_name,
spouse_idcard,
spouse_phone,
relationship, relationship,
domicile_address, domicile_address,
domicile_address_type, domicile_address_type,
@ -404,6 +412,10 @@
#{motherName}, #{motherName},
#{motherIdcard}, #{motherIdcard},
#{motherPhone}, #{motherPhone},
#{spouseId},
#{spouseName},
#{spouseIdcard},
#{spousePhone},
#{relationship}, #{relationship},
#{domicileAddress}, #{domicileAddress},
#{domicileAddressType}, #{domicileAddressType},
@ -580,6 +592,18 @@
<if test="motherPhone != null and motherPhone != ''"> <if test="motherPhone != null and motherPhone != ''">
mother_phone = #{motherPhone}, mother_phone = #{motherPhone},
</if> </if>
<if test="spouseId != null and spouseId != ''">
spouse_id = #{spouseId},
</if>
<if test="spouseName != null and spouseName != ''">
spouse_name = #{spouseName},
</if>
<if test="spouseIdcard != null and spouseIdcard != ''">
spouse_idcard = #{spouseIdcard},
</if>
<if test="spousePhone != null and spousePhone != ''">
spouse_phone = #{spousePhone},
</if>
<if test="relationship != null"> <if test="relationship != null">
relationship = #{relationship}, relationship = #{relationship},
</if> </if>
@ -770,6 +794,8 @@
t1.mother_idcard, t1.mother_idcard,
t1.father_id, t1.father_id,
t1.father_idcard, t1.father_idcard,
t1.spouse_id,
t1.spouse_idcard,
t1.birthday t1.birthday
FROM FROM
population_population_info t1 population_population_info t1
@ -796,6 +822,8 @@
t1.mother_idcard, t1.mother_idcard,
t1.father_id, t1.father_id,
t1.father_idcard, t1.father_idcard,
t1.spouse_id,
t1.spouse_idcard,
t1.birthday t1.birthday
FROM FROM
population_population_info t1 population_population_info t1
@ -820,6 +848,8 @@
t1.mother_idcard, t1.mother_idcard,
t1.father_id, t1.father_id,
t1.father_idcard, t1.father_idcard,
t1.spouse_id,
t1.spouse_idcard,
t1.sex, t1.sex,
t1.birthday t1.birthday
FROM FROM
@ -845,6 +875,8 @@
t1.mother_idcard, t1.mother_idcard,
t1.father_id, t1.father_id,
t1.father_idcard, t1.father_idcard,
t1.spouse_id,
t1.spouse_idcard,
t1.birthday t1.birthday
FROM FROM
population_population_info t1 population_population_info t1
@ -869,6 +901,8 @@
t1.mother_idcard, t1.mother_idcard,
t1.father_id, t1.father_id,
t1.father_idcard, t1.father_idcard,
t1.spouse_id,
t1.spouse_idcard,
t1.birthday t1.birthday
FROM FROM
population_population_info t1 population_population_info t1
@ -917,6 +951,10 @@
t1.mother_name, t1.mother_name,
t1.mother_idcard, t1.mother_idcard,
t1.mother_phone, t1.mother_phone,
t1.spouse_id,
t1.spouse_name,
t1.spouse_idcard,
t1.spouse_phone,
t1.relationship, t1.relationship,
t1.domicile_address, t1.domicile_address,
t1.domicile_address_type, t1.domicile_address_type,
@ -1159,6 +1197,10 @@
t1.mother_name, t1.mother_name,
t1.mother_idcard, t1.mother_idcard,
t1.mother_phone, t1.mother_phone,
t1.spouse_id,
t1.spouse_name,
t1.spouse_idcard,
t1.spouse_phone,
t1.is_oldage, t1.is_oldage,
t1.is_disability, t1.is_disability,
t1.is_military, t1.is_military,
@ -1330,12 +1372,17 @@
t1.phone, t1.phone,
t1.father_id, t1.father_id,
t1.father_name, t1.father_name,
t1.domicile_area_name,
t1.father_idcard, t1.father_idcard,
t1.father_phone, t1.father_phone,
t1.mother_id, t1.mother_id,
t1.mother_name, t1.mother_name,
t1.mother_idcard, t1.mother_idcard,
t1.mother_phone, t1.mother_phone,
t1.spouse_id,
t1.spouse_name,
t1.spouse_idcard,
t1.spouse_phone,
t1.flow_time, t1.flow_time,
t1.is_oldage, t1.is_oldage,
t1.is_disability, t1.is_disability,
@ -1350,6 +1397,12 @@
population_population_info t1 population_population_info t1
WHERE WHERE
t1.is_delete = 0 t1.is_delete = 0
<if test="creatorArea1 != null and creatorArea1 != ''">
AND t1.creator_area1 = #{creatorArea1}
</if>
<if test="creatorArea2 != null and creatorArea2 != ''">
AND t1.creator_area2 = #{creatorArea2}
</if>
<if test="tabLevelIds != null and tabLevelIds.size > 0"> <if test="tabLevelIds != null and tabLevelIds.size > 0">
AND AND
<foreach collection="tabLevelIds" index="index" open="(" separator=" OR " close=")"> <foreach collection="tabLevelIds" index="index" open="(" separator=" OR " close=")">
@ -1452,6 +1505,10 @@
t1.mother_name, t1.mother_name,
t1.mother_idcard, t1.mother_idcard,
t1.mother_phone, t1.mother_phone,
t1.spouse_id,
t1.spouse_name,
t1.spouse_idcard,
t1.spouse_phone,
-- t1.relationship, -- t1.relationship,
-- t1.domicile_address, -- t1.domicile_address,
-- t1.domicile_address_type, -- t1.domicile_address_type,
@ -2042,6 +2099,10 @@
t1.mother_name, t1.mother_name,
t1.mother_idcard, t1.mother_idcard,
t1.mother_phone, t1.mother_phone,
t1.spouse_id,
t1.spouse_name,
t1.spouse_idcard,
t1.spouse_phone,
t1.relationship, t1.relationship,
t1.domicile_address, t1.domicile_address,
t1.domicile_address_type, t1.domicile_address_type,

View File

@ -1013,6 +1013,10 @@
top.dialog.close(layIndex); top.dialog.close(layIndex);
}); });
}else if(layEvent === 'excelOutEvent') { }else if(layEvent === 'excelOutEvent') {
if ($("#creatorArea1").val() == undefined || $("#creatorArea1").val() == "" || $("#creatorArea1").val() == "请选择街道" ) {
layer.msg("为了提升导出速度 , 请至少选择一个街道");
return;
}
var loadLayerIndex; var loadLayerIndex;
var data1 = getParams(); var data1 = getParams();
top.restAjax.get(top.restAjax.path('api/populationinfo/list', []), data1, null, function(code, data) { top.restAjax.get(top.restAjax.path('api/populationinfo/list', []), data1, null, function(code, data) {
@ -1072,7 +1076,9 @@
birthday: getExcelFormat("出生日期", true , '000000'), birthday: getExcelFormat("出生日期", true , '000000'),
sex: getExcelFormat("性别", true , '000000'), sex: getExcelFormat("性别", true , '000000'),
nation: getExcelFormat("民族", true , '000000'), nation: getExcelFormat("民族", true , '000000'),
domicileAreaName: getExcelFormat("户籍地址", true , '000000'),
label: getExcelFormat("标签", true , '000000'), label: getExcelFormat("标签", true , '000000'),
creatorArea: getExcelFormat("信息归属", true , '000000'),
creatorName: getExcelFormat("当前认领人", true , '000000'), creatorName: getExcelFormat("当前认领人", true , '000000'),
} }
]; ];
@ -1090,7 +1096,9 @@
birthday:getExcelFormat(list[i].birthday, false, '000000'), birthday:getExcelFormat(list[i].birthday, false, '000000'),
sex:getExcelFormat(list[i].sex, false, '000000'), sex:getExcelFormat(list[i].sex, false, '000000'),
nation:getExcelFormat(list[i].nation, false, '000000'), nation:getExcelFormat(list[i].nation, false, '000000'),
domicileAreaName:getExcelFormat(list[i].domicileAreaName, false, '000000'),
label:getExcelFormat(label, false, '000000'), label:getExcelFormat(label, false, '000000'),
creatorArea:getExcelFormat(list[i].creatorArea1 + "/" + list[i].creatorArea2, false, '000000'),
creatorName:getExcelFormat(list[i].creatorName, false, '000000') creatorName:getExcelFormat(list[i].creatorName, false, '000000')
}); });
} }
@ -1103,16 +1111,24 @@
'D': 150, 'D': 150,
'E': 100, 'E': 100,
'F': 100, 'F': 100,
'G': 350, 'G': 300,
'H': 150, 'H': 300,
'I': 350,
'J': 180,
}, 140); }, 140);
// 每一行的行高, 默认给20 // 每一行的行高, 默认给20
var rowConf = excel.makeRowConfig({ var rowConf = excel.makeRowConfig({
1: 30, 1: 30,
}, 20) }, 20)
var creatorArea1 = $("#creatorArea1").val();
var creatorArea2 = $("#creatorArea2").val();
if ($("#creatorArea2").val() == undefined || $("#creatorArea2").val() == "" || $("#creatorArea2").val() == "请选择社区" ) {
}else{
creatorArea1 = creatorArea1 + "-" + creatorArea2;
}
excel.exportExcel({ excel.exportExcel({
sheet1: data sheet1: data
}, '人口信息.xlsx', 'xlsx', { }, creatorArea1 + '人口信息.xlsx', 'xlsx', {
extend: { extend: {
sheet1: { sheet1: {
'!cols': colConf '!cols': colConf

View File

@ -358,6 +358,39 @@
</div> </div>
</div> </div>
</div> </div>
<div class="layui-row">
<div class="layui-col-md3 layui-col-xs3" >
<div class="layui-form-item">
<label class="layui-form-label">配偶姓名</label>
<div class="layui-input-block">
<input type="hidden" id="spouseId" name="spouseId" class="layui-input" value="" maxlength="50">
<input type="text" id="spouseName" name="spouseName" class="layui-input" value="" placeholder="输入配偶姓名" maxlength="50">
</div>
</div>
</div>
<div class="layui-col-md4 layui-col-xs4" >
<div class="layui-form-item">
<label class="layui-form-label">配偶证件</label>
<div class="layui-input-block">
<input type="text" id="spouseIdcard" name="spouseIdcard" class="layui-input" value="" placeholder="请输入配偶证件" maxlength="50">
</div>
</div>
</div>
<div class="layui-col-md3 layui-col-xs3" >
<div class="layui-form-item">
<label class="layui-form-label">配偶电话</label>
<div class="layui-input-block">
<input type="text" id="spousePhone" name="spousePhone" class="layui-input" value="" placeholder="输入配偶电话" maxlength="20">
</div>
</div>
</div>
<div class="layui-col-md2 layui-col-xs2" style="text-align: center;">
<div class="layui-form-item" style="height: 33px;padding-top: 3px;" pane="">
<button type="button" class="layui-btn layui-btn-sm query-population" data-population="spouse">搜索</button>
<button type="button" class="layui-btn layui-btn-sm layui-btn-danger clear-population" data-population="spouse">清空</button>
</div>
</div>
</div>
<div class="layui-row"> <div class="layui-row">
<div class="layui-col-md12 layui-col-xs12" > <div class="layui-col-md12 layui-col-xs12" >
<div class="layui-form-item "> <div class="layui-form-item ">
@ -1509,6 +1542,19 @@
top.layer.msg("不能这么个填哇!"); top.layer.msg("不能这么个填哇!");
return; return;
} }
var sex = $("#sex").val();
if(sex) {
if(population == 'spouse') {
if(sex == '男性' && dataObj.sex.indexOf("男") != -1) {
top.layer.msg("不能这么个填哇!");
return;
}
if(sex == '女性' && dataObj.sex.indexOf("女") != -1) {
top.layer.msg("不能这么个填哇!");
return;
}
}
}
$("#" + population + "Id").val(dataObj.populationInfoId); $("#" + population + "Id").val(dataObj.populationInfoId);
$("#" + population + "Name").val(dataObj.name); $("#" + population + "Name").val(dataObj.name);
$("#" + population + "Idcard").val(dataObj.idcard); $("#" + population + "Idcard").val(dataObj.idcard);

View File

@ -357,6 +357,39 @@
</div> </div>
</div> </div>
</div> </div>
<div class="layui-row">
<div class="layui-col-md3 layui-col-xs3" >
<div class="layui-form-item">
<label class="layui-form-label">配偶姓名</label>
<div class="layui-input-block">
<input type="hidden" id="spouseId" name="spouseId" class="layui-input" value="" maxlength="50">
<input type="text" id="spouseName" name="spouseName" class="layui-input" value="" placeholder="输入配偶姓名" maxlength="50">
</div>
</div>
</div>
<div class="layui-col-md4 layui-col-xs4" >
<div class="layui-form-item">
<label class="layui-form-label">配偶证件</label>
<div class="layui-input-block">
<input type="text" id="spouseIdcard" name="spouseIdcard" class="layui-input" value="" placeholder="请输入配偶证件" maxlength="50">
</div>
</div>
</div>
<div class="layui-col-md3 layui-col-xs3" >
<div class="layui-form-item">
<label class="layui-form-label">配偶电话</label>
<div class="layui-input-block">
<input type="text" id="spousePhone" name="spousePhone" class="layui-input" value="" placeholder="输入配偶电话" maxlength="20">
</div>
</div>
</div>
<div class="layui-col-md2 layui-col-xs2" style="text-align: center;">
<div class="layui-form-item" style="height: 33px;padding-top: 3px;" pane="">
<button type="button" class="layui-btn layui-btn-sm query-population" data-population="spouse">搜索</button>
<button type="button" class="layui-btn layui-btn-sm layui-btn-danger clear-population" data-population="spouse">清空</button>
</div>
</div>
</div>
<div class="layui-row"> <div class="layui-row">
<div class="layui-col-md12 layui-col-xs12" > <div class="layui-col-md12 layui-col-xs12" >
<div class="layui-form-item "> <div class="layui-form-item ">
@ -740,7 +773,6 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -1421,6 +1453,19 @@
top.layer.msg("不能这么个填哇!"); top.layer.msg("不能这么个填哇!");
return; return;
} }
var sex = $("#sex").val();
if(sex) {
if(population == 'spouse') {
if(sex == '男性' && dataObj.sex.indexOf("男") != -1) {
top.layer.msg("不能这么个填哇!");
return;
}
if(sex == '女性' && dataObj.sex.indexOf("女") != -1) {
top.layer.msg("不能这么个填哇!");
return;
}
}
}
$("#" + population + "Id").val(dataObj.populationInfoId); $("#" + population + "Id").val(dataObj.populationInfoId);
$("#" + population + "Name").val(dataObj.name); $("#" + population + "Name").val(dataObj.name);
$("#" + population + "Idcard").val(dataObj.idcard); $("#" + population + "Idcard").val(dataObj.idcard);