Commit 816a4bba authored by tianyiming's avatar tianyiming

企业单位、事业单位注册检验检测机构添加省内办公地址

parent 03ca34ef
......@@ -121,4 +121,10 @@ public class BaseInstitutionRegisterDto extends BaseDto {
@ApiModelProperty(value = "平台用户id,平台创建用户后更新")
private String adminUserId;
@ApiModelProperty(value = "省内办公地址省#市#区")
private String officeRegion;
@ApiModelProperty(value = "省内办公详细地址")
private String officeAddress;
}
......@@ -309,6 +309,12 @@ public class TzBaseEnterpriseInfoDto extends BaseDto {
@ApiModelProperty(value = "企业标签信息")
private String regulatoryLabels;
@ApiModelProperty(value = "省内办公地址省#市#区")
private List<Integer> officeRegion;
@ApiModelProperty(value = "省内详细办公地址")
private String officeAddress;
// 注册类型
private String registerType;
......
......@@ -196,4 +196,10 @@ public class TzBaseEnterpriseInfo extends BaseEntity {
@ApiModelProperty(value = "企业问题状态")
private String status;
@ApiModelProperty(value = "省内办公地址省#市#区")
private String officeRegion;
@ApiModelProperty(value = "省内详细办公地址")
private String officeAddress;
}
......@@ -146,6 +146,13 @@ public class RegUnitInfoDto extends BaseDto {
@ApiModelProperty(value = "单位所在地是否为全国")
private String isNationwide;
@ApiModelProperty(value = "省内办公地址省#市#区")
private String officeRegion;
@ApiModelProperty(value = "省内详细办公地址")
private String officeAddress;
/**
* 气站对接appId
*/
......
......@@ -305,6 +305,13 @@ public class TzBaseEnterpriseInfoServiceImpl
private TzBaseEnterpriseInfoDto getDetail(TzBaseEnterpriseInfo tzBaseEnterpriseInfo){
TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto = detail(tzBaseEnterpriseInfo.getSequenceNbr());
if(!ObjectUtils.isEmpty(tzBaseEnterpriseInfo.getOfficeRegion())){
List<Integer> officeRegion = new ArrayList<>();
for (String s : tzBaseEnterpriseInfo.getOfficeRegion().split("#")) {
officeRegion.add(Integer.valueOf(s));
}
tzBaseEnterpriseInfoDto.setOfficeRegion(officeRegion);
}
RegUnitIcDto regUnitIcDto = tzBaseEnterpriseInfoDto.getRegUnitIcDto();
String creditCode = tzBaseEnterpriseInfoDto.getUseCode();
if (!ObjectUtils.isEmpty(tzBaseEnterpriseInfo.getRegisterType()) && tzBaseEnterpriseInfo.getRegisterType().contains(UnitTypeEnum.grzt.getName())) {
......@@ -593,7 +600,13 @@ public class TzBaseEnterpriseInfoServiceImpl
tzBaseEnterpriseInfo.setSuperviseOrgName(ObjectUtils.isEmpty(map.get("superviseOrgName")) ? null : String.valueOf(map.get("superviseOrgName")));
tzBaseEnterpriseInfo.setOtherAccessories(ObjectUtils.isEmpty(map.get("otherAccessories")) ? null : JSON.toJSONString(map.get("otherAccessories")));
tzBaseEnterpriseInfo.setLegalPerson(ObjectUtils.isEmpty(map.get("legalPerson")) ? null : (String)map.get("legalPerson"));
String officeRegion = null;
if(!ObjectUtils.isEmpty(map.get("officeRegion"))){
List list = (List<Object>) map.get("officeRegion");
officeRegion = list.stream().map(String::valueOf).collect(Collectors.joining("#")).toString();
}
tzBaseEnterpriseInfo.setOfficeRegion(officeRegion);
tzBaseEnterpriseInfo.setOfficeAddress(ObjectUtils.isEmpty(map.get("officeAddress")) ? null : (String)map.get("officeAddress"));
// 修改事业单位信息
TzsBaseInstitutionDto baseInstitutionDto = JSON.toJavaObject(JSON.parseObject(JSON.toJSONString(map.get("regUnitMessage"))), TzsBaseInstitutionDto.class);
if (!ValidationUtil.isEmpty(baseInstitutionDto)) {
......
package com.yeejoin.amos.boot.module.tcm.biz.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.tcm.api.dto.AccountDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.BaseInstitutionRegisterDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsBaseInstitutionDto;
import com.yeejoin.amos.boot.module.tcm.api.entity.BaseUnitLicence;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzsBaseInstitution;
import com.yeejoin.amos.boot.module.tcm.api.enums.EnterpriseEnums;
import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsBaseInstitutionMapper;
import com.yeejoin.amos.boot.module.tcm.api.service.ITzsBaseInstitutionService;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsBaseInstitutionDto;
import com.yeejoin.amos.boot.module.tcm.flc.api.dto.RegUnitInfoDto;
import com.yeejoin.amos.boot.module.tcm.flc.api.entity.RegUnitInfo;
import com.yeejoin.amos.boot.module.tcm.flc.biz.service.impl.RegUnitInfoServiceImpl;
......@@ -21,16 +22,15 @@ import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
......
......@@ -105,6 +105,18 @@ public class UnitInfoController extends BaseController {
}
/**
* 获取提级后组织机构树
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.ANONYMOUS, needAuth = false)
@GetMapping(value = "/region/step/tree")
@ApiOperation(httpMethod = "GET", value = "获取提级后组织机构树", notes = "获取提级后组织机构树")
public ResponseModel<Collection<RegionModel>> getRegionStepTree() {
return ResponseHelper.buildResponse(unitInfoServiceImpl.getRegionStepTree());
}
/**
* 获取全国行政区划树
*
*/
......
......@@ -400,6 +400,8 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
if (type.equals(EnterpriseEnums.GR_ZT.getType())) {
baseEnterpriseInfo.setUseUnitCode(regUnitInfo.getUnitCode().split("_")[1]);
} else {
baseEnterpriseInfo.setOfficeRegion(regUnitInfo.getOfficeRegion());
baseEnterpriseInfo.setOfficeAddress(regUnitInfo.getOfficeAddress());
baseEnterpriseInfo.setProvince(regUnitInfo.getProvince());
baseEnterpriseInfo.setCity(regUnitInfo.getCity());
baseEnterpriseInfo.setDistrict(regUnitInfo.getDistrict());
......
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tcm.flc.biz.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yeejoin.amos.boot.biz.common.constants.CommonConstant;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
......@@ -10,6 +11,7 @@ import com.yeejoin.amos.boot.biz.common.utils.QRCodeUtil;
import com.yeejoin.amos.boot.biz.common.utils.TreeParser;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr;
import com.yeejoin.amos.boot.module.common.api.enums.ReginStepEnum;
import com.yeejoin.amos.boot.module.common.api.service.ISourceFileService;
import com.yeejoin.amos.boot.module.common.biz.service.impl.OrgUsrServiceImpl;
import com.yeejoin.amos.boot.module.common.biz.service.impl.SourceFileServiceImpl;
......@@ -20,6 +22,7 @@ import com.yeejoin.amos.boot.module.tcm.api.enums.TzsCommonParam;
import com.yeejoin.amos.boot.module.tcm.biz.service.impl.TzsAuthServiceImpl;
import com.yeejoin.amos.boot.module.tcm.biz.service.impl.WechatRelationServiceImpl;
import com.yeejoin.amos.boot.module.tcm.biz.service.impl.WechatServiceImpl;
import com.yeejoin.amos.boot.module.tcm.biz.utils.JsonUtils;
import com.yeejoin.amos.boot.module.tcm.biz.utils.RedisUtil;
import com.yeejoin.amos.boot.module.tcm.flc.api.dto.UnitInfoApproveDto;
import com.yeejoin.amos.boot.module.tcm.flc.api.dto.UnitInfoDto;
......@@ -36,12 +39,14 @@ import com.yeejoin.amos.feign.privilege.model.RoleModel;
import com.yeejoin.amos.feign.privilege.util.DesUtil;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.RegionModel;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -64,6 +69,9 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto, UnitInfo, Unit
private final Logger logger = LogManager.getLogger(UnitInfoServiceImpl.class);
@Value("classpath:/json/stepRegion.json")
private Resource stepRegin;
@Autowired
private TzsAuthServiceImpl tzsAuthServiceImpl;
......@@ -653,6 +661,108 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto, UnitInfo, Unit
return result;
}
public Collection<RegionModel> getRegionStepTree() {
Collection<RegionModel> result = getRegionTree(null, null);
// 将原有树结构中需要提级的行政区划删除
result = getStepResult(result);
// 删除三级的行政区划
result = deleteThreeLevel(result);
// 获取需要提级的行政区划
/**
* 注:目前使用的是在线文档https://docs.qq.com/sheet/DVXFlQUtCZXhDV0Jl?tab=BB08J2中需要提级的行政区划数据
* 如需使用从平台中行政区划的数据中获取提级,调用方法getOriginalStepRegion(Collection<RegionModel> children)即可
*/
Map<String,Map<String,Object>> stepRegion = getStepRegion();
// 将需要提级的行政区划进行提级赋值
for (RegionModel regionModel : result) {
ObjectMapper objectMapper = new ObjectMapper();
Collection<RegionModel> children = regionModel.getChildren();
children.add(objectMapper.convertValue(stepRegion.get("hcRegionModel"),RegionModel.class));
children.add(objectMapper.convertValue(stepRegion.get("ylRegionModel"),RegionModel.class));
children.add(objectMapper.convertValue(stepRegion.get("xxRegionModel"),RegionModel.class));
}
return result;
}
private Collection<RegionModel> getStepResult(Collection<RegionModel> result) {
Iterator<RegionModel> iterator = result.iterator();
if (!ObjectUtils.isEmpty(result)) {
while (iterator.hasNext()) {
RegionModel region = iterator.next();
if (ReginStepEnum.HANCHENG.getCode().equals(region.getRegionCode().toString())) {
iterator.remove();
} else if (ReginStepEnum.YANGLING.getCode().equals(region.getRegionCode().toString())) {
iterator.remove();
} else if (!ObjectUtils.isEmpty(region.getChildren()) && region.getRegionCode().toString().endsWith("00")) {
getStepResult(region.getChildren());
}
}
}
return result;
}
private Collection<RegionModel> deleteThreeLevel(Collection<RegionModel> result) {
Iterator<RegionModel> iterator = result.iterator();
if (!ObjectUtils.isEmpty(result)) {
while (iterator.hasNext()) {
RegionModel region = iterator.next();
if ("3".equals(region.getLevel())) {
region.setChildren(null);
}
if (!ObjectUtils.isEmpty(region.getChildren())) {
deleteThreeLevel(region.getChildren());
}
}
}
return result;
}
private Map<String, Map<String,Object>> getStepRegion() {
Map<String, Map<String,Object>> resultMap = new HashMap<>();
Map<String, List<Map<String, Object>>> resourceJson = JsonUtils.getResourceJson(stepRegin);
for (Map<String, Object> map : resourceJson.get("stepRegin")) {
if (ReginStepEnum.HANCHENG.getCode().equals(map.get("regionCode").toString())) {
resultMap.put("hcRegionModel", map);
} else if (ReginStepEnum.YANGLING.getCode().equals(map.get("regionCode").toString())) {
resultMap.put("ylRegionModel", map);
} else {
resultMap.put("xxRegionModel", map);
}
}
return resultMap;
}
// 获取原始行政区划中需要提级的行政区划
private Map<String, Object> getOriginalStepRegion(Collection<RegionModel> children) {
Map<String, Object> map = new HashMap<>();
Iterator<RegionModel> iterator = children.iterator();
while (iterator.hasNext()) {
RegionModel region = iterator.next();
if ("610500".equals(region.getRegionCode().toString())) {
Iterator<RegionModel> iterator1 = region.getChildren().iterator();
while (iterator1.hasNext()) {
RegionModel region1 = iterator1.next();
if (ReginStepEnum.HANCHENG.getCode().equals(region1.getRegionCode().toString())) {
map.put("hcRegionModel", region1);
}
}
}
if ("610400".equals(region.getRegionCode().toString())) {
Iterator<RegionModel> iterator1 = region.getChildren().iterator();
while (iterator1.hasNext()) {
RegionModel region1 = iterator1.next();
if (ReginStepEnum.YANGLING.getCode().equals(region1.getRegionCode().toString())) {
map.put("ylRegionModel", region1);
}
}
}
}
return map;
}
public Collection<RegionModel> getAllRegionTree(String isNationwide) {
Collection<RegionModel> result;
// isNationwide = null 获取陕西省行政区划,其他获取全国行政区划
......
{
"stepRegin": [
{
"parentId": "0",
"regionCode": 617000,
"parentRegionCode": 0,
"regionName": "西咸新区",
"level": "2",
"levelName": "",
"agencyCode": "tzs",
"sequenceNbr": "1402458558599617000",
"children": [
{
"parentId": "1402458558599617000",
"regionCode": 617001,
"parentRegionCode": 617000,
"regionName": "秦汉新城",
"level": "3",
"levelName": "",
"agencyCode": "tzs",
"sequenceNbr": "1402458558599617001",
"children": []
},
{
"parentId": "1402458558599617000",
"regionCode": 617002,
"parentRegionCode": 617000,
"regionName": "泾河新城",
"level": "3",
"levelName": "",
"agencyCode": "tzs",
"sequenceNbr": "1402458558599617002",
"children": []
},
{
"parentId": "1402458558599617000",
"regionCode": 617003,
"parentRegionCode": 617000,
"regionName": "沣东新城",
"level": "3",
"levelName": "",
"agencyCode": "tzs",
"sequenceNbr": "1402458558599617003",
"children": []
},
{
"parentId": "1402458558599617000",
"regionCode": 617004,
"parentRegionCode": 617000,
"regionName": "空港新城",
"level": "3",
"levelName": "",
"agencyCode": "tzs",
"sequenceNbr": "1402458558599617004",
"children": []
},
{
"parentId": "1402458558599617000",
"regionCode": 617005,
"parentRegionCode": 617000,
"regionName": "沣西新城",
"level": "3",
"levelName": "",
"agencyCode": "tzs",
"sequenceNbr": "1402458558599617005",
"children": []
}
]
},
{
"parentId": "0",
"regionCode": 610403,
"parentRegionCode": 0,
"regionName": "杨凌示范区",
"level": "2",
"levelName": "",
"longitude": "",
"latitude": "",
"agencyCode": "tzs",
"sequenceNbr": "1402458558599610403",
"children": []
},
{
"parentId": "0",
"regionCode": 610581,
"parentRegionCode": 0,
"regionName": "韩城市",
"level": "2",
"levelName": "",
"longitude": "",
"latitude": "",
"agencyCode": "tzs",
"sequenceNbr": "1402458558599610581",
"children": []
}
]
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment