Merge branch 'dev-tw'

This commit is contained in:
tangwei 2026-04-30 19:09:45 +08:00
commit 41b910c857
17 changed files with 190 additions and 48 deletions

View File

@ -865,10 +865,17 @@ public class FishDraftDataController {
warnings.add("rstcd"); warnings.add("rstcd");
} }
if (data.getBaseId() != null && !data.getBaseId().isEmpty()) { // if (data.getBaseId() != null && !data.getBaseId().isEmpty()) {
String baseId = fishImportService.resolveBaseCode(data.getBaseId(), data.getBaseName()); // String baseId = fishImportService.resolveBaseCode(data.getBaseId(), data.getBaseName());
// if (baseId == null) {
// warnings.add("baseId");
// }
// }
if (data.getHbrvcd() != null && !data.getHbrvcd().isEmpty()) {
String baseId = fishImportService.resolveHbrvcdCode(data.getHbrvcd(), data.getHbrvnm());
if (baseId == null) { if (baseId == null) {
warnings.add("baseId"); warnings.add("hbrvcd");
} }
} }
@ -879,9 +886,16 @@ public class FishDraftDataController {
} }
} }
if (data.getTm() == null) { // if (data.getHbrvcd() != null && !data.getHbrvcd().isEmpty()) {
warnings.add("tm"); // String hbrvcd = fishImportService.resolveHbrvcdCode(data.getHbrvcd(), data.getRvcd());
} // if (hbrvcd == null) {
// warnings.add("hbrvcd");
// }
// }
// if (data.getTm() == null) {
// warnings.add("tm");
// }
if (data.getFtp() == null || data.getFtp().isEmpty()) { if (data.getFtp() == null || data.getFtp().isEmpty()) {
warnings.add("ftp"); warnings.add("ftp");
@ -922,9 +936,9 @@ public class FishDraftDataController {
} }
} }
if (StringUtils.hasText(data.getBaseId()) && StringUtils.hasText(data.getRstcd())) { if (StringUtils.hasText(data.getHbrvcd()) && StringUtils.hasText(data.getRstcd())) {
if (!fishImportService.validateStationBelongsToBase(data.getRstcd(), data.getBaseId())) { if (!fishImportService.validateStationBelongsToBase(data.getRstcd(), data.getHbrvcd())) {
warnings.add("baseId"); warnings.add("hbrvcd");
warnings.add("rstcd"); warnings.add("rstcd");
} }
} }

View File

@ -215,6 +215,19 @@ public class FishDraftData implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private String rvcd; private String rvcd;
/**
* 基地流域编码
*/
@TableField(exist = false)
private String hbrvcd;
/**
* 基地流域编码
*/
@TableField(exist = false)
private String hbrvnm;
/** /**
* 设施名称 * 设施名称
*/ */

View File

@ -16,6 +16,8 @@ public class FishImportResult {
public static final String STATUS_FAILED = "FAILED"; public static final String STATUS_FAILED = "FAILED";
private List<FishImportRow> rows; private List<FishImportRow> rows;
private List<FishImportRow> successRows;
private List<FishImportRow> failedRows;
private List<String> unrecognizedFields; private List<String> unrecognizedFields;
private Map<String, String> imageFiles; private Map<String, String> imageFiles;
private Map<String, String> videoFiles; private Map<String, String> videoFiles;

View File

@ -1,5 +1,6 @@
package com.yfd.platform.data.domain.vo; package com.yfd.platform.data.domain.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -231,4 +232,14 @@ public class FishDraftDataVO implements Serializable {
* 删除人名称 * 删除人名称
*/ */
private String deletedByName; private String deletedByName;
/**
* 基地流域编码
*/
private String hbrvcd;
/**
* 基地流域编码
*/
private String hbrvnm;
} }

View File

@ -27,7 +27,7 @@ public interface FishDraftDataMapper extends BaseMapper<FishDraftData> {
@Param("status") String status, @Param("status") String status,
@Param("ftp") String ftp, @Param("ftp") String ftp,
@Param("startTime") String startTime, @Param("startTime") String startTime,
@Param("endTime") String endTime,@Param("userId") String userId); @Param("endTime") String endTime,@Param("userId") String userId,@Param("hbrvcd") String hbrvcd);
/** /**
* 关联查询过鱼数据不分页 * 关联查询过鱼数据不分页

View File

@ -36,7 +36,7 @@ public interface IFishImportService {
String resolveFishDictCode(String code,String name); String resolveFishDictCode(String code,String name);
String resolveBaseCode(String code,String baseName); String resolveBaseCode(String code,String baseName);
String resolveRiverCode(String code,String riverName); String resolveRiverCode(String code,String riverName);
String resolveHbrvcdCode(String code,String riverName);
String resolveDirection(String direction, FishImportResult.FishImportRow importRow); String resolveDirection(String direction, FishImportResult.FishImportRow importRow);
String resolveIsfs(String value, FishImportResult.FishImportRow importRow); String resolveIsfs(String value, FishImportResult.FishImportRow importRow);

View File

@ -61,6 +61,7 @@ public class FishDraftDataServiceImpl extends ServiceImpl<FishDraftDataMapper, F
DataSourceLoadOptionsBase loadOptions = dataSourceRequest.toDevRequest(); DataSourceLoadOptionsBase loadOptions = dataSourceRequest.toDevRequest();
String stcd = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "stcd"); String stcd = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "stcd");
String rstcd = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "rstcd"); String rstcd = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "rstcd");
String hbrvcd = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "hbrvcd");
String baseId = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "baseId"); String baseId = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "baseId");
String ftp = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "ftp"); String ftp = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "ftp");
String direction = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "direction"); String direction = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "direction");
@ -74,7 +75,7 @@ public class FishDraftDataServiceImpl extends ServiceImpl<FishDraftDataMapper, F
startTime=TM.split(",")[0]; startTime=TM.split(",")[0];
endTime=TM.split(",")[1]; endTime=TM.split(",")[1];
} }
Page<FishDraftDataVO> resultPage = fishDraftDataMapper.selectJoinPage(page, stcd, rstcd, baseId, direction, status, ftp, startTime, endTime,userId); Page<FishDraftDataVO> resultPage = fishDraftDataMapper.selectJoinPage(page, stcd, rstcd, baseId, direction, status, ftp, startTime, endTime,userId,hbrvcd);
fillUserNames(resultPage.getRecords()); fillUserNames(resultPage.getRecords());
return resultPage; return resultPage;
} }

View File

@ -40,6 +40,9 @@ public class FishImportServiceImpl implements IFishImportService {
@Resource @Resource
private SdRvcdDicMapper rvcdDicMapper; private SdRvcdDicMapper rvcdDicMapper;
@Resource
private SdHbrvDicMapper sdHbrvDicMapper;
@Resource @Resource
private SdFpssBHMapper fpssBHMapper; private SdFpssBHMapper fpssBHMapper;
@ -64,7 +67,9 @@ public class FishImportServiceImpl implements IFishImportService {
private static final Map<String, String> BASE_NAME_CACHE = new LinkedHashMap<>(); private static final Map<String, String> BASE_NAME_CACHE = new LinkedHashMap<>();
private static final Map<String, String> BASE_CODE_TO_NAME_CACHE = new LinkedHashMap<>(); private static final Map<String, String> BASE_CODE_TO_NAME_CACHE = new LinkedHashMap<>();
private static final Map<String, String> RIVER_NAME_CACHE = new LinkedHashMap<>(); private static final Map<String, String> RIVER_NAME_CACHE = new LinkedHashMap<>();
private static final Map<String, String> HBRVCD_NAME_CACHE = new LinkedHashMap<>();
private static final Map<String, String> RIVER_CODE_TO_NAME_CACHE = new LinkedHashMap<>(); private static final Map<String, String> RIVER_CODE_TO_NAME_CACHE = new LinkedHashMap<>();
private static final Map<String, String> HBRVCD_CODE_TO_NAME_CACHE = new LinkedHashMap<>();
private static final Map<String, String> FISH_DICT_CACHE = new LinkedHashMap<>(); private static final Map<String, String> FISH_DICT_CACHE = new LinkedHashMap<>();
private static final Map<String, String> FISH_CODE_TO_NAME_CACHE = new LinkedHashMap<>(); private static final Map<String, String> FISH_CODE_TO_NAME_CACHE = new LinkedHashMap<>();
@ -102,7 +107,7 @@ public class FishImportServiceImpl implements IFishImportService {
EXCEL_COLUMN_MAPPING.put("过鱼设施名称", "fpname"); EXCEL_COLUMN_MAPPING.put("过鱼设施名称", "fpname");
EXCEL_COLUMN_INDEX_MAPPING.put(0, "baseName"); EXCEL_COLUMN_INDEX_MAPPING.put(0, "hbrvcd");
EXCEL_COLUMN_INDEX_MAPPING.put(1, "stationName"); EXCEL_COLUMN_INDEX_MAPPING.put(1, "stationName");
EXCEL_COLUMN_INDEX_MAPPING.put(2, "stnm"); EXCEL_COLUMN_INDEX_MAPPING.put(2, "stnm");
EXCEL_COLUMN_INDEX_MAPPING.put(3, "strdt"); EXCEL_COLUMN_INDEX_MAPPING.put(3, "strdt");
@ -233,6 +238,33 @@ public class FishImportServiceImpl implements IFishImportService {
} }
} }
break; break;
case "hbrvcd":
if(!StringUtils.hasText(cellValue)){
importRow.getWarnings().add("hbrvcd");
data.setHbrvcd(cellValue);
data.setHbrvnm(cellValue);
}else{
String hbrvcdCode = resolveHbrvcdCode(cellValue.trim());
if (hbrvcdCode == null) {
importRow.getWarnings().add("hbrvcd");
data.setHbrvcd(cellValue.trim());
data.setHbrvnm(cellValue.trim());
}else{
data.setHbrvcd(hbrvcdCode);
data.setHbrvnm(cellValue.trim());
}
}
// if (StringUtils.hasText(cellValue)) {
// String rvcd = resolveHbrvcdCode(cellValue.trim());
// if (rvcd == null) {
// importRow.getWarnings().add(fieldName);
// data.setRvcd(cellValue);
// } else {
// data.setHbrvcd(rvcd);
// data.setHbrvcd(rvcd);
// }
// }
break;
case "tm": case "tm":
if (!StringUtils.hasText(cellValue)) { if (!StringUtils.hasText(cellValue)) {
importRow.getWarnings().add(fieldName); importRow.getWarnings().add(fieldName);
@ -407,10 +439,10 @@ public class FishImportServiceImpl implements IFishImportService {
private void validateStationFpssRelation(FishDraftData data, FishImportResult.FishImportRow importRow) { private void validateStationFpssRelation(FishDraftData data, FishImportResult.FishImportRow importRow) {
loadStationAndBaseCache(); loadStationAndBaseCache();
if (StringUtils.hasText(data.getBaseId()) && StringUtils.hasText(data.getRstcd())) { if (StringUtils.hasText(data.getHbrvcd()) && StringUtils.hasText(data.getRstcd())) {
if (!validateStationBelongsToBase(data.getRstcd(), data.getBaseId())) { if (!validateStationBelongsToBase(data.getRstcd(), data.getHbrvcd())) {
if (!importRow.getWarnings().contains("baseId")) { if (!importRow.getWarnings().contains("hbrvcd")) {
importRow.getWarnings().add("baseId"); importRow.getWarnings().add("hbrvcd");
} }
if (!importRow.getWarnings().contains("rstcd")) { if (!importRow.getWarnings().contains("rstcd")) {
importRow.getWarnings().add("rstcd"); importRow.getWarnings().add("rstcd");
@ -422,8 +454,8 @@ public class FishImportServiceImpl implements IFishImportService {
} }
if (StringUtils.hasText(data.getRstcd()) && StringUtils.hasText(data.getStcd())) { if (StringUtils.hasText(data.getRstcd()) && StringUtils.hasText(data.getStcd())) {
if (!validateFpssBelongsToStation(data.getStcd(), data.getRstcd())) { if (!validateFpssBelongsToStation(data.getStcd(), data.getRstcd())) {
if (!importRow.getWarnings().contains("baseId")) { if (!importRow.getWarnings().contains("hbrvcd")) {
importRow.getWarnings().add("baseId"); importRow.getWarnings().add("hbrvcd");
} }
if (!importRow.getWarnings().contains("stcd")) { if (!importRow.getWarnings().contains("stcd")) {
importRow.getWarnings().add("stcd"); importRow.getWarnings().add("stcd");
@ -447,7 +479,7 @@ public class FishImportServiceImpl implements IFishImportService {
STATION_CODE_TO_NAME_CACHE.put(station.getStcd().trim().toLowerCase(), station.getEnnm().trim().toLowerCase()); STATION_CODE_TO_NAME_CACHE.put(station.getStcd().trim().toLowerCase(), station.getEnnm().trim().toLowerCase());
} }
if (StringUtils.hasText(station.getBaseId())) { if (StringUtils.hasText(station.getBaseId())) {
STATION_TO_BASE_CACHE.put(station.getStcd().trim().toLowerCase(), station.getBaseId()); STATION_TO_BASE_CACHE.put(station.getStcd().trim().toLowerCase(), station.getHbrvcd());
} }
} }
} }
@ -481,6 +513,20 @@ public class FishImportServiceImpl implements IFishImportService {
} }
} }
if (HBRVCD_NAME_CACHE.isEmpty()) {
List<SdHbrvDic> riverList = sdHbrvDicMapper.selectList(null);
for (SdHbrvDic river : riverList) {
if (StringUtils.hasText(river.getHbrvnm())) {
HBRVCD_NAME_CACHE.put(river.getHbrvnm().trim().toLowerCase(), river.getHbrvcd());
}
if (StringUtils.hasText(river.getHbrvcd())) {
if (StringUtils.hasText(river.getHbrvnm())) {
HBRVCD_CODE_TO_NAME_CACHE.put(river.getHbrvcd().trim().toLowerCase(), river.getHbrvnm().trim().toLowerCase());
}
}
}
}
if (FISH_DICT_CACHE.isEmpty()) { if (FISH_DICT_CACHE.isEmpty()) {
List<SdFishDictoryB> sdFishDictoryBS = fishDictoryBMapper.selectList(null); List<SdFishDictoryB> sdFishDictoryBS = fishDictoryBMapper.selectList(null);
for (SdFishDictoryB fishDictoryB : sdFishDictoryBS) { for (SdFishDictoryB fishDictoryB : sdFishDictoryBS) {
@ -678,6 +724,23 @@ public class FishImportServiceImpl implements IFishImportService {
return null; return null;
} }
public String resolveHbrvcdCode(String riverName) {
if (riverName == null) {
return null;
}
String lowerName = riverName.toLowerCase().trim();
if (HBRVCD_NAME_CACHE.containsKey(lowerName)) {
return HBRVCD_NAME_CACHE.get(lowerName);
}
for (Map.Entry<String, String> entry : HBRVCD_NAME_CACHE.entrySet()) {
if (entry.getKey().contains(lowerName)) {
return entry.getValue();
}
}
return null;
}
@Override @Override
public String resolveRiverCode(String code, String riverName) { public String resolveRiverCode(String code, String riverName) {
if (code == null && riverName == null) { if (code == null && riverName == null) {
@ -699,6 +762,27 @@ public class FishImportServiceImpl implements IFishImportService {
return null; return null;
} }
@Override
public String resolveHbrvcdCode(String code, String riverName) {
if (code == null && riverName == null) {
return null;
}
loadStationAndBaseCache();
String lowerCode = code != null ? code.trim().toLowerCase() : null;
String lowerName = riverName != null ? riverName.trim().toLowerCase() : null;
if (lowerCode != null && lowerName != null) {
String cachedName = HBRVCD_CODE_TO_NAME_CACHE.get(lowerCode);
if (cachedName != null && cachedName.equals(lowerName)) {
return code.trim();
}
}
String resultByName = resolveHbrvcdCode(riverName);
if (resultByName != null && resultByName.equalsIgnoreCase(code)) {
return resultByName;
}
return null;
}
@Override @Override
public boolean validateStationBelongsToBase(String stationCode, String baseId) { public boolean validateStationBelongsToBase(String stationCode, String baseId) {
if (stationCode == null || baseId == null) { if (stationCode == null || baseId == null) {

View File

@ -61,8 +61,9 @@ public class SdFpssBHController {
@Operation(summary = "设施下拉列表(根据电站编码筛选 + 支持名称模糊搜索 + 支持基地编码筛选)") @Operation(summary = "设施下拉列表(根据电站编码筛选 + 支持名称模糊搜索 + 支持基地编码筛选)")
public ResponseResult dropdown(@RequestParam(required = false) String rstcd, public ResponseResult dropdown(@RequestParam(required = false) String rstcd,
@RequestParam(required = false) String stnm, @RequestParam(required = false) String stnm,
@RequestParam(required = false) String baseId) { @RequestParam(required = false) String baseId,
return ResponseResult.successData(sdFpssBHService.selectForDropdown(rstcd, stnm, baseId)); @RequestParam(required = false) String hbrvcd) {
return ResponseResult.successData(sdFpssBHService.selectForDropdown(rstcd, stnm, baseId,hbrvcd));
} }
@Log(module = "过鱼设施管理", value = "新增过鱼设施") @Log(module = "过鱼设施管理", value = "新增过鱼设施")

View File

@ -11,6 +11,7 @@ import java.util.List;
@AllArgsConstructor @AllArgsConstructor
public class SdEngInfoBHRequest { public class SdEngInfoBHRequest {
private String baseId; private String baseId;
private String hbrvcd;
private List<String> basIds; private List<String> basIds;
private List<String> hbrvcds; private List<String> hbrvcds;
private List<String> rvcds; private List<String> rvcds;

View File

@ -16,11 +16,13 @@ public interface SdFpssBHMapper extends BaseMapper<SdFpssBH> {
"LEFT JOIN SD_ENGINFO_B_H E ON F.RSTCD = E.STCD " + "LEFT JOIN SD_ENGINFO_B_H E ON F.RSTCD = E.STCD " +
"WHERE 1=1 " + "WHERE 1=1 " +
"<if test='baseId != null and baseId != \"\"'> AND E.BASE_ID = #{baseId} </if>" + "<if test='baseId != null and baseId != \"\"'> AND E.BASE_ID = #{baseId} </if>" +
"<if test='hbrvcd != null and hbrvcd != \"\"'> AND E.HBRVCD = #{hbrvcd} </if>" +
"<if test='rstcd != null and rstcd != \"\"'> AND F.RSTCD = #{rstcd} </if>" + "<if test='rstcd != null and rstcd != \"\"'> AND F.RSTCD = #{rstcd} </if>" +
"<if test='stnm != null and stnm != \"\"'> AND F.STNM LIKE '%' || #{stnm} || '%' </if>" + "<if test='stnm != null and stnm != \"\"'> AND F.STNM LIKE '%' || #{stnm} || '%' </if>" +
"ORDER BY F.ORDER_INDEX DESC" + "ORDER BY F.ORDER_INDEX DESC" +
"</script>") "</script>")
List<SdFpssBH> selectForDropdownWithBaseId(@Param("rstcd") String rstcd, List<SdFpssBH> selectForDropdownWithBaseId(@Param("rstcd") String rstcd,
@Param("stnm") String stnm, @Param("stnm") String stnm,
@Param("baseId") String baseId); @Param("baseId") String baseId,
@Param("hbrvcd") String hbrvcd);
} }

View File

@ -16,7 +16,7 @@ public interface ISdFpssBHService extends IService<SdFpssBH> {
/** /**
* 设施下拉列表根据电站编码筛选 + 支持名称模糊搜索 + 支持基地编码筛选 * 设施下拉列表根据电站编码筛选 + 支持名称模糊搜索 + 支持基地编码筛选
*/ */
List<SdFpssBH> selectForDropdown(String rstcd, String stnm, String baseId); List<SdFpssBH> selectForDropdown(String rstcd, String stnm, String baseId,String hbrvcd);
Set<String> getUserAuthorizedStationCodes(); Set<String> getUserAuthorizedStationCodes();

View File

@ -71,8 +71,10 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
String ennm = sdEngInfoBHRequest.getEnnm(); String ennm = sdEngInfoBHRequest.getEnnm();
List<String> rvcds = sdEngInfoBHRequest.getRvcds(); List<String> rvcds = sdEngInfoBHRequest.getRvcds();
List<String> hbrvcds = sdEngInfoBHRequest.getHbrvcds(); List<String> hbrvcds = sdEngInfoBHRequest.getHbrvcds();
String hbrvcd = sdEngInfoBHRequest.getHbrvcd();
LambdaQueryWrapper<SdEngInfoBH> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SdEngInfoBH> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(StringUtils.hasText(baseId), SdEngInfoBH::getBaseId, baseId) wrapper.eq(StringUtils.hasText(baseId), SdEngInfoBH::getBaseId, baseId)
.eq(StringUtils.hasText(hbrvcd), SdEngInfoBH::getHbrvcd, hbrvcd)
.in(rvcds != null && !rvcds.isEmpty(), SdEngInfoBH::getRvcd, rvcds) .in(rvcds != null && !rvcds.isEmpty(), SdEngInfoBH::getRvcd, rvcds)
.in(hbrvcds != null && !hbrvcds.isEmpty(), SdEngInfoBH::getHbrvcd, hbrvcds) .in(hbrvcds != null && !hbrvcds.isEmpty(), SdEngInfoBH::getHbrvcd, hbrvcds)
.like(StringUtils.hasText(ennm), SdEngInfoBH::getEnnm, ennm) .like(StringUtils.hasText(ennm), SdEngInfoBH::getEnnm, ennm)

View File

@ -64,13 +64,13 @@ public class SdFpssBHServiceImpl extends ServiceImpl<SdFpssBHMapper, SdFpssBH> i
} }
@Override @Override
public List<SdFpssBH> selectForDropdown(String rstcd, String stnm, String baseId) { public List<SdFpssBH> selectForDropdown(String rstcd, String stnm,String baseId, String hbrvcd) {
Set<String> authorizedStations = getUserAuthorizedStationCodes(); Set<String> authorizedStations = getUserAuthorizedStationCodes();
List<SdFpssBH> result; List<SdFpssBH> result;
if (StringUtils.hasText(baseId)) { if (StringUtils.hasText(hbrvcd)|| StringUtils.hasText(baseId)) {
result = baseMapper.selectForDropdownWithBaseId(rstcd, stnm, baseId); result = baseMapper.selectForDropdownWithBaseId(rstcd, stnm, baseId,hbrvcd);
} else { } else {
LambdaQueryWrapper<SdFpssBH> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SdFpssBH> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(StringUtils.hasText(rstcd), SdFpssBH::getRstcd, rstcd) wrapper.eq(StringUtils.hasText(rstcd), SdFpssBH::getRstcd, rstcd)

View File

@ -204,7 +204,7 @@ public class SmsVerifyCodeController {
selectedBasinCodes.addAll(Arrays.asList(hbrvcdCode.split(","))); selectedBasinCodes.addAll(Arrays.asList(hbrvcdCode.split(",")));
} }
Set<String> addedStationCodes = new HashSet<>(); // Set<String> addedStationCodes = new HashSet<>();
for (String basinCode : selectedBasinCodes) { for (String basinCode : selectedBasinCodes) {
if (StringUtils.isEmpty(basinCode)) { if (StringUtils.isEmpty(basinCode)) {
@ -241,7 +241,7 @@ public class SmsVerifyCodeController {
scope.setStatus(1); scope.setStatus(1);
scope.setPermissionType("READ"); scope.setPermissionType("READ");
sysUserDataScopeService.addDataScope(scope); sysUserDataScopeService.addDataScope(scope);
addedStationCodes.add(basinCode); // addedStationCodes.add(basinCode);
} else { } else {
Set<String> stationsInBasinAndSelected = allStationCodesInBasin.stream() Set<String> stationsInBasinAndSelected = allStationCodesInBasin.stream()
.filter(selectedStationCodes::contains) .filter(selectedStationCodes::contains)
@ -255,27 +255,27 @@ public class SmsVerifyCodeController {
scope.setStatus(1); scope.setStatus(1);
scope.setPermissionType("READ"); scope.setPermissionType("READ");
sysUserDataScopeService.addDataScope(scope); sysUserDataScopeService.addDataScope(scope);
addedStationCodes.add(stationCd); // addedStationCodes.add(stationCd);
} }
} }
} }
Set<String> standaloneStations = selectedStationCodes.stream() // Set<String> standaloneStations = selectedStationCodes.stream()
.filter(code -> !addedStationCodes.contains(code)) // .filter(code -> !addedStationCodes.contains(code))
.collect(Collectors.toSet()); // .collect(Collectors.toSet());
//
for (String stationCd : standaloneStations) { // for (String stationCd : standaloneStations) {
if (StringUtils.isEmpty(stationCd)) { // if (StringUtils.isEmpty(stationCd)) {
continue; // continue;
} // }
SysUserDataScope scope = new SysUserDataScope(); // SysUserDataScope scope = new SysUserDataScope();
scope.setUserId(userId); // scope.setUserId(userId);
scope.setOrgType("STATION"); // scope.setOrgType("STATION");
scope.setOrgId(stationCd); // scope.setOrgId(stationCd);
scope.setStatus(1); // scope.setStatus(1);
scope.setPermissionType("READ"); // scope.setPermissionType("READ");
sysUserDataScopeService.addDataScope(scope); // sysUserDataScopeService.addDataScope(scope);
} // }
SysUser user = new SysUser(); SysUser user = new SysUser();
user.setId(userId); user.setId(userId);
userService.updateUserRoles( user,"c13481a486c9ee559cf305284df4d207"); userService.updateUserRoles( user,"c13481a486c9ee559cf305284df4d207");
@ -316,9 +316,12 @@ public class SmsVerifyCodeController {
} catch (Exception e) { } catch (Exception e) {
return ResponseResult.error("密码解密失败"); return ResponseResult.error("密码解密失败");
} }
String encodePassword = existUser.getPassword();
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String encryptedPassword = passwordEncoder.encode(password); String encryptedPassword = passwordEncoder.encode(password);
if (passwordEncoder.matches(password, encodePassword)) {
return ResponseResult.error("新密码不能与旧密码相同");
}
boolean success = userService.updatePasswordByPhone(phone, encryptedPassword); boolean success = userService.updatePasswordByPhone(phone, encryptedPassword);
if (success) { if (success) {
return ResponseResult.success(); return ResponseResult.success();

View File

@ -73,6 +73,8 @@
<result column="ENNM" property="ennm"/> <result column="ENNM" property="ennm"/>
<result column="BASE_ID" property="baseId"/> <result column="BASE_ID" property="baseId"/>
<result column="BASENAME" property="baseName"/> <result column="BASENAME" property="baseName"/>
<result column="HBRVCD" property="hbrvcd"/>
<result column="HBRVNM" property="hbrvnm"/>
<result column="RVCD" property="rvcd"/> <result column="RVCD" property="rvcd"/>
<result column="LGTD" property="lgtd"/> <result column="LGTD" property="lgtd"/>
<result column="LTTD" property="lttd"/> <result column="LTTD" property="lttd"/>
@ -82,6 +84,8 @@
<sql id="joinColumns"> <sql id="joinColumns">
D.ID, D.ID,
D.STCD, D.STCD,
E.HBRVCD,
G.HBRVNM,
D.TM, D.TM,
D.FTP, D.FTP,
FB.NAME FTPNAME, FB.NAME FTPNAME,
@ -130,6 +134,7 @@
LEFT JOIN SD_FISHDICTORY_B FB ON FB.ID = D.FTP LEFT JOIN SD_FISHDICTORY_B FB ON FB.ID = D.FTP
LEFT JOIN SD_ENGINFO_B_H E ON F.RSTCD = E.STCD LEFT JOIN SD_ENGINFO_B_H E ON F.RSTCD = E.STCD
LEFT JOIN SD_HYDROBASE H ON E.BASE_ID = H.BASEID LEFT JOIN SD_HYDROBASE H ON E.BASE_ID = H.BASEID
LEFT JOIN SD_HBRV_DIC G ON G.HBRVCD = E.HBRVCD
WHERE D.DELETED_FLAG = 0 WHERE D.DELETED_FLAG = 0
<if test="stcd != null and stcd != ''"> <if test="stcd != null and stcd != ''">
AND D.STCD = #{stcd} AND D.STCD = #{stcd}
@ -146,6 +151,9 @@
<if test="baseId != null and baseId != ''"> <if test="baseId != null and baseId != ''">
AND E.BASE_ID = #{baseId} AND E.BASE_ID = #{baseId}
</if> </if>
<if test="hbrvcd != null and hbrvcd != ''">
AND E.HBRVCD = #{hbrvcd}
</if>
<if test="direction != null and direction != ''"> <if test="direction != null and direction != ''">
AND D.DIRECTION = #{direction} AND D.DIRECTION = #{direction}
</if> </if>

View File

@ -74,7 +74,7 @@
sys_user u sys_user u
WHERE WHERE
1 = 1 1 = 1
AND ( ( u.REG_STATUS != 0 AND u.REG_STATUS != 2 ) OR u.REG_STATUS IS NULL ) AND ( ( u.REG_STATUS != 'PENDING' AND u.REG_STATUS != 'REJECTED' ) OR u.REG_STATUS IS NULL )
AND u.usertype != 0 AND u.usertype != 0
<if test="orgid != null"> <if test="orgid != null">
and u.orgid = #{orgid} and u.orgid = #{orgid}