Commit a4c6730f authored by suhuiguang's avatar suhuiguang

1.监管设备同步至96333

parent 823f85eb
...@@ -8,6 +8,7 @@ import com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorMessageDto; ...@@ -8,6 +8,7 @@ import com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorMessageDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorWlInfoDto; import com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorWlInfoDto;
import com.yeejoin.amos.boot.module.elevator.api.entity.Elevator; import com.yeejoin.amos.boot.module.elevator.api.entity.Elevator;
import com.yeejoin.amos.boot.module.elevator.api.entity.TzBaseEnterpriseInfo; import com.yeejoin.amos.boot.module.elevator.api.entity.TzBaseEnterpriseInfo;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
...@@ -70,4 +71,11 @@ public interface ElevatorMapper extends BaseMapper<Elevator> { ...@@ -70,4 +71,11 @@ public interface ElevatorMapper extends BaseMapper<Elevator> {
Map<String, Object> selectMainUnitMessage(String sequenceNbr); Map<String, Object> selectMainUnitMessage(String sequenceNbr);
Map<String, Object> selectUseUnitByAlertId(String sequenceNbr); Map<String, Object> selectUseUnitByAlertId(String sequenceNbr);
/**
* 查询未同步到es的电梯:已纳管且有96333且有使用登记证
* @param page 分页对象
* @return 电梯结果分页对象
*/
Page<Map<String, Object>> selectElevatorOfIntoManage(Page<Map<String, Object>> page);
} }
...@@ -51,4 +51,6 @@ public interface IElevatorService extends IService<Elevator> { ...@@ -51,4 +51,6 @@ public interface IElevatorService extends IService<Elevator> {
List<Map<String,Object>> selectMtByAlertId(String sequenceNbr); List<Map<String,Object>> selectMtByAlertId(String sequenceNbr);
Map<String, Object> selectUseUnitByAlertId(String sequenceNbr); Map<String, Object> selectUseUnitByAlertId(String sequenceNbr);
Long esInsert();
} }
...@@ -581,4 +581,29 @@ ...@@ -581,4 +581,29 @@
ibjmri.SEQUENCE_NBR = #{sequenceNbr} ibjmri.SEQUENCE_NBR = #{sequenceNbr}
</select> </select>
<select id="selectElevatorOfIntoManage" resultType="java.util.Map">
SELECT
jui.RECORD AS sequenceNbr,
ifnull ( jui.USE_INNER_CODE, null ) AS innerNum,
ifnull ( joi.CODE96333, null ) AS rescueCode,
ifnull ( joi.SUPERVISORY_CODE, null ) AS registerCode,
ifnull ( jui.ADDRESS, null ) AS address,
ifnull ( jui.PROVINCE_NAME, null ) AS province,
ifnull ( jui.CITY_NAME, null ) AS city,
ifnull ( jui.COUNTY_NAME, null ) AS district,
ifnull ( jui."LONGITUDE_LATITUDE"::json->> 'latitude', null ) AS latitude,
ifnull ( jui."LONGITUDE_LATITUDE"::json->> 'longitude', null ) AS longitude,
concat(jui.PROVINCE, '#',jui.CITY, '#',jui.COUNTY) AS regionCode
FROM
idx_biz_jg_use_info jui
LEFT JOIN idx_biz_jg_other_info joi ON jui.RECORD = joi.RECORD
LEFT JOIN idx_biz_jg_register_info jri ON jri.RECORD = jui.RECORD
WHERE
jri.EQU_LIST = '3000'
AND joi.CLAIM_STATUS = '已认领'
AND jui.IS_NOT_ELEV is null
and joi."CODE96333" <![CDATA[<>]]> ''
and jri."USE_ORG_CODE" <![CDATA[<>]]> ''
ORDER BY jui.REC_DATE
</select>
</mapper> </mapper>
...@@ -649,5 +649,17 @@ public class ElevatorController extends BaseController { ...@@ -649,5 +649,17 @@ public class ElevatorController extends BaseController {
return ResponseHelper.buildResponse(addressListNew); return ResponseHelper.buildResponse(addressListNew);
} }
/**
*
* @return 成功处理条数
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/v1/es/insert", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "电梯信息放入es", notes = "电梯信息放入es")
public ResponseModel<String> esInsert() {
Long total = iElevatorService.esInsert();
return ResponseHelper.buildResponse("success insert: " + total);
}
} }
package com.yeejoin.amos.boot.module.elevator.biz.job;
import com.yeejoin.amos.boot.module.elevator.api.service.IElevatorService;
import lombok.RequiredArgsConstructor;
import net.javacrumbs.shedlock.spring.annotation.SchedulerLock;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
@RequiredArgsConstructor
public class SynElevator2EsJob {
private final IElevatorService iElevatorService;
@Scheduled(cron = "${elevator.syn.insert.job.cron:0 0 2 * * ?}")
@SchedulerLock(name = "synElevator2Es", lockAtMostFor = "PT1H")
public void synElevator2Es() {
iElevatorService.esInsert();
}
}
...@@ -47,6 +47,7 @@ import org.springframework.data.elasticsearch.core.SearchHits; ...@@ -47,6 +47,7 @@ import org.springframework.data.elasticsearch.core.SearchHits;
import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; import org.springframework.data.elasticsearch.core.query.NativeSearchQuery;
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StopWatch;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -79,11 +80,6 @@ public class ESElevatorServiceImpl { ...@@ -79,11 +80,6 @@ public class ESElevatorServiceImpl {
@Autowired @Autowired
AlertCalledServiceImpl iAlertCalledService; AlertCalledServiceImpl iAlertCalledService;
@Autowired
ElevatorServiceImpl elevatorService;
@Autowired
ElevatorAlarmServiceImpl elevatorAlarmServiceImpl;
@Autowired @Autowired
private SuperviseInfoMapper superviseInfoMapper; private SuperviseInfoMapper superviseInfoMapper;
...@@ -618,18 +614,15 @@ public class ESElevatorServiceImpl { ...@@ -618,18 +614,15 @@ public class ESElevatorServiceImpl {
esElevatorList.add(esElevator); esElevatorList.add(esElevator);
recordList.add(String.valueOf(map.get("sequenceNbr"))); recordList.add(String.valueOf(map.get("sequenceNbr")));
} }
StopWatch watch = new StopWatch();
long start = System.currentTimeMillis(); watch.start();
esElavtorRepository.saveAll(esElevatorList); esElavtorRepository.saveAll(esElevatorList);
long end = System.currentTimeMillis(); watch.stop();
long cost = end - start; log.info("批量存入es:【{}】条,耗时:{} 毫秒", elevatorList.size(),watch.getTotalTimeSeconds());
System.out.println("批量存入es1000条数据耗时:" + cost); StopWatch watch2 = new StopWatch();
log.info("批量存入es:【" + elevatorList.size() + "】条,耗时:" + (end - start) + " 毫秒"); watch2.start();
long start1 = System.currentTimeMillis();
superviseInfoMapper.updateRecordBatch(recordList); superviseInfoMapper.updateRecordBatch(recordList);
long end1 = System.currentTimeMillis(); watch2.stop();
long cost1 = end1 - start1; log.info("批量更新:【{}】条业务数据,耗时:{} 毫秒", elevatorList.size(), watch2.getTotalTimeSeconds());
log.info("批量更新:【" + elevatorList.size() + "】条业务数据,耗时:" + (end - start) + " 毫秒");
} }
} }
...@@ -87,13 +87,12 @@ public class ElevatorServiceImpl extends BaseService<ElevatorDto, Elevator, Elev ...@@ -87,13 +87,12 @@ public class ElevatorServiceImpl extends BaseService<ElevatorDto, Elevator, Elev
@Autowired @Autowired
DataDictionaryServiceImpl iDataDictionaryService; DataDictionaryServiceImpl iDataDictionaryService;
@Autowired
ElevatorInsureRelationServiceImpl iElevatorInsureRelationServiceImpl;
@Autowired @Autowired
ElevatorInsureServiceImpl iElevatorInsureServiceImpl; ElevatorInsureServiceImpl iElevatorInsureServiceImpl;
//一码通设备使用场所字典type
private static final String ADDRESS = "ADDRESS"; @Autowired
ESElevatorServiceImpl esElevatorService;
@Autowired @Autowired
RestHighLevelClient restHighLevelClient; RestHighLevelClient restHighLevelClient;
...@@ -101,7 +100,6 @@ public class ElevatorServiceImpl extends BaseService<ElevatorDto, Elevator, Elev ...@@ -101,7 +100,6 @@ public class ElevatorServiceImpl extends BaseService<ElevatorDto, Elevator, Elev
private RedisUtils redisUtils; private RedisUtils redisUtils;
private static final String LEVEL = "company"; private static final String LEVEL = "company";
private static final String EQUSTATE = "EQU_STATE"; private static final String EQUSTATE = "EQU_STATE";
private static final String USEPLACE = "USE_PLACE";
/** /**
* 保存电梯信息 * 保存电梯信息
* *
...@@ -333,6 +331,20 @@ public class ElevatorServiceImpl extends BaseService<ElevatorDto, Elevator, Elev ...@@ -333,6 +331,20 @@ public class ElevatorServiceImpl extends BaseService<ElevatorDto, Elevator, Elev
} }
@Override @Override
public Long esInsert() {
Page<Map<String, Object>> page = new Page<>(0, 1000);
page = elevatorMapper.selectElevatorOfIntoManage(page);
long allPages = page.getPages();
while (allPages > 0){
allPages --;
Page<Map<String, Object>> result = elevatorMapper.selectElevatorOfIntoManage(page);
List<Map<String, Object>> elevators = result.getRecords();
esElevatorService.saveEsElevator2ES(elevators);
}
return page.getTotal();
}
@Override
public Page<Map<String, Object>> selectElevators(Page<Map<String, Object>> page, ElevatorDto dto) { public Page<Map<String, Object>> selectElevators(Page<Map<String, Object>> page, ElevatorDto dto) {
List<CompanyModel> companyModels = FeignUtil.remoteCall(() -> Privilege.companyClient.queryListByChild(RequestContext.getExeUserId())); List<CompanyModel> companyModels = FeignUtil.remoteCall(() -> Privilege.companyClient.queryListByChild(RequestContext.getExeUserId()));
if (companyModels.isEmpty()) { if (companyModels.isEmpty()) {
......
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