代码提交

master
徐杰盟 2024-05-31 16:20:50 +08:00
parent cedcdbbb33
commit b19832d9bd
10 changed files with 79 additions and 32 deletions

View File

@ -28,6 +28,7 @@ import org.apache.commons.compress.utils.Lists;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -72,6 +73,9 @@ public class AddressBookController {
@Autowired
private IAbUdRService abUdRService;
@Autowired
private RedisTemplate redisTemplate;
// @ApiOperation(value = "查询所有")
// @PostMapping(value = "find")
@ -151,6 +155,7 @@ public class AddressBookController {
versionsService.saveInfo(model, VersionsType.ADD, adcd);
if (save) {
redisTemplate.delete(ADDRESS_BOOK_REDIS_KEY + "*");
// 没有手机号用名字注册
//"省防指".equals(organizationsService.getById(model.getOrganization()).getName())
// &&
@ -279,6 +284,10 @@ public class AddressBookController {
versionsService.saveInfo(model, VersionsType.UPDATE, adcd);
boolean data = service.updateById(model);
if (data) {
redisTemplate.delete(ADDRESS_BOOK_REDIS_KEY + "*");
String organization = model.getOrganization();
if (StringUtils.isNotBlank(model.getAdcd())) {
organization = model.getAdcd().replaceFirst("000000", "");

View File

@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* @author xusan
@ -57,13 +58,14 @@ public class AdinfoController {
@ApiParam(value = "编码或名称,all: 查询全部")
String adcdOradnm) {
List<AdcdTree> list = service.tree(null, null);
// 查询全部标识
if ("all".equals(adcdOradnm)) {
adcdOradnm = null;
}
List<AdcdTree> list = service.tree(adcdOradnm, adcdOradnm);
return ResultJson.ok(list);
}else{
return ResultJson.ok(list.stream().filter(item -> item.getAdnm().equals(adcdOradnm)).collect(Collectors.toList()));
}
}

View File

@ -8,9 +8,11 @@ import com.whdc.utils.ResultJson;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.Objects;
/**
@ -37,14 +39,16 @@ public class VersionsController {
@ApiOperation(value = "分页查询")
@PostMapping(value = "page")
public ResultJson<Versions> page(@RequestBody CommDto dto) {
public ResultJson<Versions> page(@RequestBody CommDto dto, HttpServletRequest request) {
if (StringUtils.isBlank(dto.getAdcd())){
dto.setAdcd(request.getHeader("adcd"));
}
return ResultJson.ok(service.page(dto));
}
@ApiOperation(value = "通过版本号查询")
@GetMapping(value = "getByV/{abId}/{version}/{type}")
@GetMapping(value = "getByV/{abId}/{version}")
public ResultJson<Versions> getByV(@PathVariable("abId") Integer abId, @PathVariable("version") Integer version) {
if (version < 0) {
return ResultJson.error("版本号不能小于0");

View File

@ -232,7 +232,14 @@ public class WarningController {
vo.setWarnSignalType(warning.getWarnSignalType());
vo.setWarnSignalLevel(warning.getWarnSignalLevel());
vo.setAdnm(publishUnit.replace("气象台", ""));
vo.setAddressBooks(addressBookService.getListByAdnm(publishUnit.replace("气象台", "")));
String adnm = publishUnit.replace("气象台", "");
String adcd = adinfoService.getAdcdByAdnm(adnm);
if (StringUtils.isNotBlank(adcd)){
vo.setAddressBooks(addressBookService.getListByAdnm(adcd));
}else{
log.info("当前行政区划不存在: " + adnm);
}
respList.add(vo);
}
}

View File

@ -23,4 +23,6 @@ public interface IAdinfoService extends IService<Adinfo> {
List<Adinfo> find(Adinfo dto);
List<AdcdTree> tree(String adcd, String adnm1);
String getAdcdByAdnm(String adnm);
}

View File

@ -6,7 +6,6 @@ import com.whdc.mapper.AddressBookMapper;
import com.whdc.model.dto.AddressBootDto;
import com.whdc.model.entity.AddressBook;
import com.whdc.model.vo.AddressBookVo;
import com.whdc.model.vo.ExcelABVo;
import com.whdc.service.IAddressBookService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.cache.annotation.Cacheable;

View File

@ -12,11 +12,14 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
import static com.whdc.model.MyConstant.REDIS_KEY;
/**
* <p>
*
@ -28,6 +31,7 @@ import java.util.stream.Collectors;
@Service
public class AdinfoServiceImpl extends ServiceImpl<AdinfoMapper, Adinfo> implements IAdinfoService {
public static final String ADINFO_REDIS_KEY = REDIS_KEY + "adinfo:";
@Override
public IPage<Adinfo> page(Adinfo dto) {
@ -105,6 +109,21 @@ public class AdinfoServiceImpl extends ServiceImpl<AdinfoMapper, Adinfo> impleme
return sorted(tree);
}
@Override
@Cacheable(value = ADINFO_REDIS_KEY, key = "#root.method.name+':'+#adnm")
public String getAdcdByAdnm(String adnm) {
Adinfo one = this.lambdaQuery().eq(Adinfo::getAdnm, adnm).one();
if (one != null) {
String adcd = one.getAdcd();
if (adcd.contains("00000000000")){
// 查询市辖区的数据
adcd = adcd.replace("00000000000","01000000000");
}
return adcd;
}
return null;
}
public List<Adinfo> treeList(String adcd, String adnm) {
if(StringUtils.isNotBlank(adcd) && adcd.endsWith("0000000000000")){

View File

@ -83,16 +83,17 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
if (Objects.nonNull(book)){
String adcd = book.getAdcd();
if (StringUtils.isNotBlank(adcd)) {
if ("00000000000".equals(adcd.substring(4))) { // 市
out.setAdlevel(1);
out.setAdcd(adcd.replace("00000000000",""));
} else if ("000000000".equals(adcd.substring(6))) { // 县
out.setAdcd(adcd.replace("000000000",""));
// if ("00000000000".equals(adcd.substring(4))) { // 市
// out.setAdlevel(1);
// out.setAdcd(adcd.replace("00000000000",""));
// } else if ("000000000".equals(adcd.substring(6))) { // 县
// out.setAdcd(adcd.replace("000000000",""));
// out.setAdlevel(2);
// }else{
// out.setAdcd(adcd);
// }
out.setAdlevel(2);
}else{
out.setAdcd(adcd);
}
out.setAdcd(adcd.substring(0,4));
}
out.setName(book.getName());
@ -203,15 +204,17 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
BeanUtils.copyProperties(sysUser, out);
String adcd = addressBook.getAdcd();
if (StringUtils.isNotBlank(adcd)) {
if ("00000000000".equals(adcd.substring(4))) { // 市
out.setAdlevel(1);
out.setAdcd(adcd.replace("00000000000",""));
} else if ("000000000".equals(adcd.substring(6))) { // 县
out.setAdcd(adcd.replace("000000000",""));
// if ("00000000000".equals(adcd.substring(4))) { // 市
// out.setAdlevel(1);
// out.setAdcd(adcd.replace("00000000000",""));
// } else if ("000000000".equals(adcd.substring(6))) { // 县
// out.setAdcd(adcd.replace("000000000",""));
// out.setAdlevel(2);
// }else{
// out.setAdcd(adcd);
// }
out.setAdlevel(2);
}else{
out.setAdcd(adcd);
}
out.setAdcd(adcd.substring(0,4));
}
out.setName(addressBook.getName());

View File

@ -37,6 +37,8 @@
AND (
AB.NAME LIKE CONCAT('%', #{dto.allLikeStr}, '%')
OR AB.PHONE LIKE CONCAT('%', #{dto.allLikeStr}, '%')
OR AB.TEL LIKE CONCAT('%', #{dto.allLikeStr}, '%')
OR AB.FAXES LIKE CONCAT('%', #{dto.allLikeStr}, '%')
OR O.NAME LIKE CONCAT('%', #{dto.allLikeStr}, '%')
OR UD.NAME LIKE CONCAT('%', #{dto.allLikeStr}, '%')
OR A.ADNM LIKE CONCAT('%', #{dto.allLikeStr}, '%')
@ -52,8 +54,8 @@
AB.*,
A.ADNM
FROM
ADDRESS_BOOK AB
LEFT JOIN ADINFO A ON AB.ADCD = A.ADCD
ADINFO A
LEFT JOIN ADDRESS_BOOK AB ON AB.ADCD = A.ADCD AND AB.ADCD IS NOT NULL
LEFT JOIN AB_UD_R R ON R.AD_ID = AB.ID
<where>
<if test="adnm != null and adnm != '' ">

View File

@ -14,7 +14,7 @@
<select id="selectByCdOrNm" resultType="com.whdc.model.entity.Adinfo">
select t.adcd, t.adnm
from FXKH_TXL.ADINFO t
where ( t.adcd like CONCAT('%', #{adcd}, '%'))
where ( t.adcd like CONCAT('%', #{adcd}, '%') or t.adnm like CONCAT('%', #{adnm}, '%'))
or exists(
select 1
from FXKH_TXL.ADINFO a