修复远端合并后的数据访问适配

补齐告警记录查询的Repository、Mapper与XML链路,并修复BI查询合并后遗留的JdbcTemplate依赖。
dev
shenzhidan 2026-07-27 18:10:39 +08:00
parent 79de8c607e
commit 4bf82db05a
6 changed files with 48 additions and 3 deletions

View File

@ -25,6 +25,7 @@ import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;

View File

@ -24,10 +24,14 @@ import com.zcloud.personnel.positioning.dto.clientobject.BiPersonTraceCO;
import com.zcloud.personnel.positioning.dto.clientobject.BiPortStatCO; import com.zcloud.personnel.positioning.dto.clientobject.BiPortStatCO;
import com.zcloud.personnel.positioning.integration.finds.FindsOpenApiClient; import com.zcloud.personnel.positioning.integration.finds.FindsOpenApiClient;
import com.zcloud.personnel.positioning.persistence.dataobject.AreaDO; import com.zcloud.personnel.positioning.persistence.dataobject.AreaDO;
import com.zcloud.personnel.positioning.persistence.dataobject.BiAreaSnapshotDO;
import com.zcloud.personnel.positioning.persistence.dataobject.BiCompanyAlarmCountDO;
import com.zcloud.personnel.positioning.persistence.dataobject.BiCorpInfoDO;
import com.zcloud.personnel.positioning.persistence.dataobject.BiPersonPositionUserDO; import com.zcloud.personnel.positioning.persistence.dataobject.BiPersonPositionUserDO;
import com.zcloud.personnel.positioning.persistence.dataobject.FenceDO; import com.zcloud.personnel.positioning.persistence.dataobject.FenceDO;
import com.zcloud.personnel.positioning.persistence.repository.AreaRepository; import com.zcloud.personnel.positioning.persistence.repository.AreaRepository;
import com.zcloud.personnel.positioning.persistence.repository.FenceRepository; import com.zcloud.personnel.positioning.persistence.repository.FenceRepository;
import com.zcloud.personnel.positioning.persistence.repository.PersonnelPositioningBiRepository;
import com.zcloud.personnel.positioning.persistence.repository.UserRepository; import com.zcloud.personnel.positioning.persistence.repository.UserRepository;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -69,7 +73,7 @@ public class PersonnelPositioningBiQueryExe {
private final FindsOpenApiClient findsOpenApiClient; private final FindsOpenApiClient findsOpenApiClient;
private final ObjectMapper objectMapper; private final ObjectMapper objectMapper;
private final JdbcTemplate jdbcTemplate; private final PersonnelPositioningBiRepository biRepository;
private final AreaRepository areaRepository; private final AreaRepository areaRepository;
private final FenceRepository fenceRepository; private final FenceRepository fenceRepository;
private final UserRepository userRepository; private final UserRepository userRepository;
@ -1406,8 +1410,7 @@ public class PersonnelPositioningBiQueryExe {
if (corpinfoId == null) { if (corpinfoId == null) {
return null; return null;
} }
return queryFirstCorpInfo(CORP_INFO_SELECT return mapCorpInfo(biRepository.findCorpById(corpinfoId));
+ " AND CAST(id AS CHAR) = CAST(? AS CHAR) LIMIT 1", corpinfoId);
} }
private CorpInfoView mapCorpInfo(BiCorpInfoDO row) { private CorpInfoView mapCorpInfo(BiCorpInfoDO row) {

View File

@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* web-infrastructure * web-infrastructure
@ -21,4 +22,8 @@ public interface AlarmRecordMapper extends BaseMapper<AlarmRecordDO> {
@Param("portArea") Integer portArea); @Param("portArea") Integer portArea);
List<AlarmTypeStatDO> selectBiAlarmTypeList(@Param("corpinfoId") String corpinfoId); List<AlarmTypeStatDO> selectBiAlarmTypeList(@Param("corpinfoId") String corpinfoId);
List<CompanyOptionDO> listCompanyOptions(@Param("params") Map<String, Object> params);
String findCorpinfoName(@Param("corpinfoId") String corpinfoId);
} }

View File

@ -21,4 +21,8 @@ public interface AlarmRecordRepository extends BaseRepository<AlarmRecordDO> {
List<AlarmRecordDO> listBiAlarm(String corpinfoId, Integer portArea); List<AlarmRecordDO> listBiAlarm(String corpinfoId, Integer portArea);
List<AlarmTypeStatDO> listBiAlarmType(String corpinfoId); List<AlarmTypeStatDO> listBiAlarmType(String corpinfoId);
List<CompanyOptionDO> listCompanyOptions(Map<String, Object> params);
String findCorpinfoName(String corpinfoId);
} }

View File

@ -48,4 +48,14 @@ public class AlarmRecordRepositoryImpl extends BaseRepositoryImpl<AlarmRecordMap
public List<AlarmTypeStatDO> listBiAlarmType(String corpinfoId) { public List<AlarmTypeStatDO> listBiAlarmType(String corpinfoId) {
return alarmRecordMapper.selectBiAlarmTypeList(corpinfoId); return alarmRecordMapper.selectBiAlarmTypeList(corpinfoId);
} }
@Override
public List<CompanyOptionDO> listCompanyOptions(Map<String, Object> params) {
return alarmRecordMapper.listCompanyOptions(params);
}
@Override
public String findCorpinfoName(String corpinfoId) {
return alarmRecordMapper.findCorpinfoName(corpinfoId);
}
} }

View File

@ -77,4 +77,26 @@
GROUP BY ar.alarm_code GROUP BY ar.alarm_code
ORDER BY alarmCount DESC, ar.alarm_code ASC ORDER BY alarmCount DESC, ar.alarm_code ASC
</select> </select>
<select id="listCompanyOptions"
resultType="com.zcloud.personnel.positioning.persistence.dataobject.CompanyOptionDO">
SELECT corp_name AS label, CAST(corpinfo_id AS CHAR) AS value
FROM corp_info
WHERE (delete_enum IS NULL OR delete_enum = 'FALSE')
AND corpinfo_id IS NOT NULL
AND corp_name IS NOT NULL
<if test="params.eqCorpinfoId != null and params.eqCorpinfoId != ''">
AND corpinfo_id = #{params.eqCorpinfoId}
</if>
ORDER BY corp_name ASC
LIMIT 200
</select>
<select id="findCorpinfoName" resultType="string">
SELECT corp_name
FROM corp_info
WHERE CAST(corpinfo_id AS CHAR) = CAST(#{corpinfoId} AS CHAR)
AND (delete_enum IS NULL OR delete_enum = 'FALSE')
LIMIT 1
</select>
</mapper> </mapper>