Commit 2a85544d authored by tianyiming's avatar tianyiming

96333 地理信息部分接口数据源切换

parent 7d4eb2ad
......@@ -161,7 +161,7 @@ public class AlertCalledDto extends BaseDto {
// private String images;
@ApiModelProperty(value = "设备id")
private Long equipmentId;
private String equipmentId;
@ApiModelProperty(value = "现场照片")
private List<AttachmentDto> images;
......
......@@ -106,7 +106,7 @@ public class Elevator extends BaseEntity {
private String useUnit;
@ApiModelProperty(value = "使用单位id")
private Long useUnitId;
private String useUnitId;
@ApiModelProperty(value = "制造单位名称")
private String manufacturerName;
......@@ -124,7 +124,7 @@ public class Elevator extends BaseEntity {
private String maintainUnit;
@ApiModelProperty(value = "维保单位id")
private Long maintainUnitId;
private String maintainUnitId;
@ApiModelProperty(value = "维保负责人")
private String maintainLeader;
......
......@@ -21,7 +21,7 @@ public class EsElevator {
/** 主键 */
@Id
private Long sequenceNbr;
private String sequenceNbr;
/**
* 注册编码
......
......@@ -53,4 +53,12 @@ public interface ElevatorMapper extends BaseMapper<Elevator> {
Map<String, Object> selectMaintenanceInspectionFiles(@Param("record") String record);
Map<String,Object> selectElevatorList(@Param("elevator") Elevator elevator);
List<Map<String, Object>> selectElevatorEsList(int pageNum, int pageSize);
Integer selectUseInfoCount();
List<Map<String, Object>> selectMtByAlertId(String sequenceNbr);
Map<String, Object> selectUseUnitByAlertId(String sequenceNbr);
}
......@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorDtoNew;
import com.yeejoin.amos.boot.module.elevator.api.entity.Elevator;
import com.yeejoin.amos.boot.module.elevator.api.entity.MaintenanceUnit;
import java.util.List;
import java.util.Map;
......@@ -21,7 +22,7 @@ public interface IElevatorService extends IService<Elevator> {
* @param alertId
* @return
*/
Elevator selectByAlertId(Long alertId);
Map<String,Object> selectByAlertId(Long alertId);
/**
* 根据电梯id 生成电梯二维码
......@@ -38,4 +39,11 @@ public interface IElevatorService extends IService<Elevator> {
List<ElevatorDtoNew> selectExportDataNew(ElevatorDto dto);
List<Map<String, Object>> selectElevatorEsList(int pageNum,int pageSize);
Integer selectUseInfoCount();
List<Map<String,Object>> selectMtByAlertId(String sequenceNbr);
Map<String, Object> selectUseUnitByAlertId(String sequenceNbr);
}
......@@ -526,19 +526,22 @@
SELECT
a.sequence_nbr AS alertId,
a.region_code AS regionCode,
e.rescue_code AS rescueCode,
ibjoi.CODE96333 AS rescueCode,
a.alarm_type_code AS alarmTypeCode,
a.alarm_type AS alarmType,
CONCAT(e.province ,e.city ,e.district) AS area,
CONCAT(ibjui.PROVINCE_NAME ,ibjui.CITY_NAME ,ibjui.COUNTY_NAME) AS area,
a.address AS address,
a.call_time AS callTime,
e.longitude AS longitude,
e.latitude AS latitude,
ifnull ( ibjui."LONGITUDE_LATITUDE"::json->> 'latitude', null ) AS latitude,
ifnull ( ibjui."LONGITUDE_LATITUDE"::json->> 'longitude', null ) AS longitude,
a.alert_stage AS alertStatus,
e.sequence_nbr AS elevatorId,
e.register_code AS elevatorCode
ibjui.RECORD AS elevatorId,
ibjri.SUPERVISORY_CODE AS elevatorCode
FROM tz_alert_called a
LEFT JOIN tcb_elevator e ON e.sequence_nbr = a.equipment_id
LEFT JOIN idx_biz_jg_other_info ibjoi ON ibjoi.RECORD = a.equipment_id
LEFT JOIN idx_biz_jg_use_info ibjui ON ibjui.RECORD = ibjoi.RECORD
LEFT JOIN idx_biz_jg_register_info ibjri ON ibjri.RECORD = ibjoi.RECORD
WHERE a.is_delete = 0
<choose>
<when test="isHistory == true">
......
......@@ -242,14 +242,14 @@
FROM idx_biz_jg_construction_info
WHERE RECORD = jui.RECORD
and CONSTRUCTION_TYPE = '6030') AS installationUnit,
ifnull ( CAST(jfi.PRODUCE_DATE as VARCHAR ), '' ) AS factoryDate,
ifnull ( CAST(jfi.PRODUCE_DATE as VARCHAR ), null ) AS factoryDate,
ifnull ((SELECT CAST(USC_DATE as VARCHAR )
FROM idx_biz_jg_construction_info
WHERE RECORD = jui.RECORD
and CONSTRUCTION_TYPE = '6031'
ORDER BY USC_DATE DESC LIMIT 1 ), '' ) AS overhaulDate,
ORDER BY USC_DATE DESC LIMIT 1 ), null ) AS overhaulDate,
ifnull ( CAST(jui.USE_DATE as VARCHAR ), '' ) AS startUseDate,
ifnull ( CAST(jui.USE_DATE as VARCHAR ), null ) AS startUseDate,
(SELECT name from tz_equipment_category WHERE code = jri.EQU_LIST) AS categoryName,
(SELECT name from cb_data_dictionary WHERE code = jui.USE_PLACE and type = 'ADDRESS' ) AS useSiteCategory,
jri.EQU_TYPE AS model,
......@@ -294,8 +294,8 @@
'' AS runningMode,
'' AS runningVibration,
'' AS power,
ifnull ( jui."LONGITUDE_LATITUDE"::json->> 'latitude', '' ) AS latitude,
ifnull ( jui."LONGITUDE_LATITUDE"::json->> 'longitude', '' ) AS longitude,
ifnull ( jui."LONGITUDE_LATITUDE"::json->> 'latitude', null ) AS latitude,
ifnull ( jui."LONGITUDE_LATITUDE"::json->> 'longitude', null ) AS longitude,
(SELECT ME_CYCLE FROM idx_biz_jg_maintenance_record_info WHERE RECORD = jui.RECORD ORDER BY REC_DATE DESC limit
1) as maintainPeriodName,
(SELECT ME_UNIT_NAME FROM idx_biz_jg_maintenance_record_info WHERE RECORD = jui.RECORD ORDER BY REC_DATE DESC
......@@ -332,15 +332,18 @@
<select id="selectElevatorList" resultType="java.util.Map">
SELECT
jui.RECORD AS sequenceNbr,
ifnull ( joi.CODE96333, '' ) AS rescueCode,
ifnull ( jri.EQU_CODE, '' ) AS registerCode,
ifnull ( jui.USE_UNIT_NAME, '' ) AS useUnit,
jui.USE_UNIT_NAME AS useUnit,
ifnull ( joi.CODE96333, null ) AS rescueCode,
ifnull ( joi.SUPERVISORY_CODE, null ) AS registerCode,
ifnull ( jui.USE_UNIT_NAME, null ) AS useUnit,
ifnull ( jui.EQU_STATE,'')AS useStatus,
ifnull ( ( SELECT NAME FROM cb_data_dictionary WHERE code = jui.USE_PLACE and type = 'ADDRESS' ), '' ) AS useSiteCategory,
ifnull ( jui.ADDRESS, '' ) AS address,
ifnull ( jui.PROVINCE_NAME, '' ) AS province,
ifnull ( jui.CITY_NAME, '' ) AS city,
ifnull ( jui.COUNTY_NAME, '' ) AS district,
ifnull ( ( SELECT NAME FROM cb_data_dictionary WHERE code = jui.USE_PLACE and type = 'ADDRESS' ), null ) AS useSiteCategory,
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
......@@ -352,7 +355,10 @@
AND joi.CODE96333 = #{elevator.rescueCode}
</if>
<if test="elevator.registerCode!=null and elevator.registerCode!='' ">
AND jri.EQU_CODE = #{elevator.registerCode}
AND joi.SUPERVISORY_CODE = #{elevator.registerCode}
</if>
<if test="elevator.originalId!=null and elevator.originalId!='' ">
AND jui.RECORD = #{elevator.originalId}
</if>
</select>
<select id="selectRegisterFiles" resultType="java.util.Map">
......@@ -421,4 +427,70 @@
</where>
limit 10
</select>
<select id="selectElevatorEsList" 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
ORDER BY jui.REC_DATE
limit #{pageNum},#{pageSize}
</select>
<select id="selectUseInfoCount" resultType="java.lang.Integer">
select
count(*)
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
</select>
<select id="selectMtByAlertId" resultType="java.util.Map">
SELECT
ME_MASTER AS userName,
EMERGENCYCALL AS phone,
tbei.address AS address,
tbei.use_unit AS unitName,
ibjui."USE_UNIT_CREDIT_CODE" AS useCode
FROM
idx_biz_jg_maintenance_record_info ibjmri
LEFT JOIN idx_biz_jg_use_info ibjui ON ibjmri."RECORD" = ibjui."RECORD"
LEFT JOIN tz_base_enterprise_info tbei ON ibjui."USE_UNIT_CREDIT_CODE" = tbei.use_code
where
RECORD = #{sequenceNbr}
order by REC_DATE
limit 2
</select>
<select id="selectUseUnitByAlertId" resultType="java.util.Map">
SELECT
ibjui.SAFETY_MANAGER AS manager,
ibjui.PHONE AS managerPhone,
ibjui.USE_UNIT_NAME as useUnitName,
tbei.address AS address
FROM
idx_biz_jg_use_info ibjui
LEFT JOIN tz_base_enterprise_info tbei ON ibjui.USE_UNIT_CREDIT_CODE = tbei.use_code
WHERE
RECORD = #{sequenceNbr}
</select>
</mapper>
......@@ -3,7 +3,7 @@
<mapper namespace="com.yeejoin.amos.boot.module.elevator.api.mapper.SuperviseInfoMapper">
<update id="updateRecordBatch">
UPDATE idx_biz_jg_use_info SET "IS_NOT_ES" = 1 WHERE "RECORD" IN
UPDATE idx_biz_jg_use_info SET "IS_NOT_ELEV" = 1 WHERE "RECORD" IN
<foreach collection="recordList" separator="," item="record" open="(" close=")">
#{record}
</foreach>
......
......@@ -223,22 +223,26 @@ public class AlertCalledController extends BaseController {
alertPaperInfoDto.setAlertId(alertCalled.getSequenceNbr());
iAlertCalledService.selectAlertCalledByIdNew(alertPaperInfoDto);
// 数据源切换
// LambdaQueryWrapper<Elevator> queryWrapper1= new LambdaQueryWrapper<>();
// queryWrapper1.eq(Elevator::getSequenceNbr,alertCalled.getEquipmentId());
// Elevator elevator = elevatorService.getOne(queryWrapper1);
LambdaQueryWrapper<Elevator> queryWrapper1= new LambdaQueryWrapper<>();
queryWrapper1.eq(Elevator::getSequenceNbr,alertCalled.getEquipmentId());
Elevator elevator = elevatorService.getOne(queryWrapper1);
Elevator elevator = new Elevator();
elevator.setOriginalId(alertCalled.getEquipmentId());
Map<String,Object> map = iElevatorService.selectElevatorList(elevator);
alertPaperInfoDto.setArea(elevator.getProvince() + elevator.getCity() + elevator.getDistrict());
alertPaperInfoDto.setArea(map.get("province") + "" + map.get("city") + map.get("district"));
alertPaperInfoDto.setAddress(alertCalled.getAddress());
alertPaperInfoDto.setCallTime(alertCalled.getCallTime());
alertPaperInfoDto.setLatitude(elevator.getLatitude());
alertPaperInfoDto.setLongitude(elevator.getLongitude());
alertPaperInfoDto.setLatitude(String.valueOf(map.get("latitude")));
alertPaperInfoDto.setLongitude(String.valueOf(map.get("longitude")));
alertPaperInfoDto.setAlarmTypeCode(alertCalled.getAlarmTypeCode());
alertPaperInfoDto.setRegionCode(elevator.getRegionCode());
alertPaperInfoDto.setRescueCode(elevator.getRescueCode());
alertPaperInfoDto.setRegionCode(String.valueOf(map.get("regionCode")));
alertPaperInfoDto.setRescueCode(Integer.valueOf(String.valueOf(map.get("rescueCode"))));
alertPaperInfoDto.setAlertStatus(alertCalled.getAlertStage());
alertPaperInfoDto.setElevatorId(elevator.getSequenceNbr() +"");
alertPaperInfoDto.setElevatorCode(elevator.getRegisterCode());
alertPaperInfoDto.setElevatorId(String.valueOf(map.get("sequenceNbr")));
alertPaperInfoDto.setElevatorCode(String.valueOf(map.get("registerCode")));
DispatchPaper paper = dispatchPaperServiceImpl.getOne(new LambdaQueryWrapper<DispatchPaper>().eq(DispatchPaper::getIsDelete,false).eq(DispatchPaper::getAlertId,alertId));
if(paper != null) {
......
......@@ -427,28 +427,26 @@ public class ElevatorController extends BaseController {
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/init", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "电梯信息放入es", notes = "电梯信息放入es")
public void init(Integer num) {
IPage<Elevator> elevatorPage = new Page<>();
Integer count = elevatorService.count();
public void init(@RequestParam(value = "num",required = false) Integer num) {
Integer count = iElevatorService.selectUseInfoCount();
Integer times = 0;
if(ValidationUtil.isEmpty(num) && count != 0) {
times = count/500;
int last = count%500;
if(last > 0 ) {
times ++;
if (ValidationUtil.isEmpty(num) && count != 0) {
times = count / 1000;
int last = count % 1000;
if (last > 0) {
times++;
}
} else if(count != 0) {
} else if (count != 0) {
times = num;
}
for(int i = 0; i <= times ; i ++ ) {
elevatorPage.setCurrent(i);
elevatorPage.setSize(500);
elevatorPage = elevatorService.page(elevatorPage);
for (Elevator el:elevatorPage.getRecords()
) {
esElevatorService.saveEsElevatorToES(el);
}
List<Map<String,Object>> mapList = iElevatorService.selectElevatorEsList(1,1000);
esElevatorService.saveEsElevator2ES(mapList);
// for (Elevator el:elevatorPage.getRecords()
// ) {
// esElevatorService.saveEsElevatorToES(el);
// }
}
}
......
......@@ -368,28 +368,30 @@ public class MaintenanceUnitController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "根据警情id 查找设备维保单位信息", notes = "根据警情id 查找设备维保单位信息")
public ResponseModel<MaintenanceUnitDto> selectByAlertId(@PathVariable Long alertId) {
// 获取根据警情获取电梯信息
Elevator elevator = elevatorServiceImpl.selectByAlertId(alertId);
if (ValidationUtil.isEmpty(elevator)) {
Map<String,Object> map = elevatorServiceImpl.selectByAlertId(alertId);
if (ObjectUtils.isEmpty(map)) {
throw new BadRequest("设备未找到");
}
// 根据设备使用单位id 获取使用单位信息
MaintenanceUnit maintenanceUnit = iMaintenanceUnitService.getById(elevator.getMaintainUnitId());
if (ValidationUtil.isEmpty(maintenanceUnit)) {
// 根据设备使用id 获取维保单位信息
List<Map<String,Object>> list = elevatorServiceImpl.selectMtByAlertId(String.valueOf(map.get("sequenceNbr")));
if (ObjectUtils.isEmpty(list)) {
throw new BadRequest("维保单位未找到");
}
MaintenanceUnitDto maintenanceUnitVo = BeanDtoVoUtils.convert(maintenanceUnit, MaintenanceUnitDto.class);
MaintenanceUnitDto maintenanceUnitVo = new MaintenanceUnitDto();
maintenanceUnitVo.setUnitName(ObjectUtils.isEmpty(list.get(0).get("unitName")) ? null :String.valueOf(list.get(0).get("unitName")));
maintenanceUnitVo.setAddress(ObjectUtils.isEmpty(list.get(0).get("address")) ? null :String.valueOf(list.get(0).get("address")));
List<DutyPersonDto> dutyPersonList = new ArrayList<DutyPersonDto>();
DutyPersonDto principal = new DutyPersonDto();
principal.setDeptName("主要负责人1");
principal.setPhone(maintenanceUnitVo.getPrincipalFirstPhone());
principal.setUserId(maintenanceUnitVo.getPrincipalFirstId()+"");
principal.setUserName(maintenanceUnitVo.getPrincipalFirst());
principal.setPhone(String.valueOf(list.get(0).get("phone")));
principal.setUserId(null);
principal.setUserName(String.valueOf(list.get(0).get("userName")));
dutyPersonList.add(principal);
DutyPersonDto manager = new DutyPersonDto();
manager.setDeptName("主要负责人2");
manager.setPhone(maintenanceUnitVo.getPrincipalSecondPhone());
manager.setUserId(maintenanceUnitVo.getPrincipalSecondId()+"");
manager.setUserName(maintenanceUnitVo.getPrincipalSecond());
manager.setPhone(list.size() == 2 ? String.valueOf(list.get(0).get("phone")) : null);
manager.setUserId(null);
manager.setUserName(list.size() == 2 ? String.valueOf(list.get(0).get("userName")) : null);
dutyPersonList.add(manager);
maintenanceUnitVo.setDutyPersonList(dutyPersonList);
......
......@@ -32,10 +32,7 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.Arrays;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.*;
/**
......@@ -251,9 +248,9 @@ public class RescueStationController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "根据警情id和距离返回救援机构信息", notes = "根据警情id和距离返回救援机构信息")
public ResponseModel<Object> selectByAlertIdDistance(@PathVariable Long alertId, @PathVariable Integer distance) {
// 获取根据警情获取电梯信息
Elevator elevator = elevatorServiceImpl.selectByAlertId(alertId);
String longitude = elevator.getLongitude();
String latitude = elevator.getLatitude();
Map<String,Object> map = elevatorServiceImpl.selectByAlertId(alertId);
String longitude = String.valueOf(map.get("longitude"));
String latitude = String.valueOf(map.get("latitude"));
// 根据经纬度和距离返回救援机构信息
return ResponseHelper.buildResponse(iRescueStationService.getListByLatLonDistance(latitude,longitude,distance));
}
......@@ -268,9 +265,9 @@ public class RescueStationController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "根据警情id和距离返回5个救援机构信息", notes = "根据警情id和距离返回5个救援机构信息")
public ResponseModel<Object> selectByAlertIdDistance(@PathVariable Long alertId) {
// 获取根据警情获取电梯信息
Elevator elevator = elevatorServiceImpl.selectByAlertId(alertId);
String longitude = elevator.getLongitude();
String latitude = elevator.getLatitude();
Map<String,Object> map = elevatorServiceImpl.selectByAlertId(alertId);
String longitude = String.valueOf(map.get("longitude"));
String latitude = String.valueOf(map.get("latitude"));
// 根据经纬度和距离返回救援机构信息
List<RescueStationDto> rescueStationDtos = new LinkedList<>();
List<RescueStationDto> list = iRescueStationService.getListByLatLonDistance(latitude,longitude,1000);
......
......@@ -16,6 +16,7 @@ import com.yeejoin.amos.boot.module.elevator.biz.service.impl.ElevatorServiceImp
import com.yeejoin.amos.boot.module.elevator.biz.utils.BeanDtoVoUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -222,25 +223,27 @@ public class UseUnitController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "根据警情id 查找设备使用单位信息", notes = "根据警情id 查找设备使用单位信息")
public ResponseModel<UseUnitDto> selectByAlertId(@PathVariable Long alertId) {
// 获取根据警情获取电梯信息
Elevator elevator = elevatorServiceImpl.selectByAlertId(alertId);
// 根据设备使用单位id 获取使用单位信息
UseUnit useUnit = iUseUnitService.getById(elevator.getUseUnitId());
if (ValidationUtil.isEmpty(useUnit)) {
Map<String,Object> map = elevatorServiceImpl.selectByAlertId(alertId);
// 根据设备id 获取使用单位信息
Map<String,Object> useUnitMap = elevatorServiceImpl.selectUseUnitByAlertId(String.valueOf(map.get("sequenceNbr")));
if (ObjectUtils.isEmpty(useUnitMap)) {
throw new BadRequest("使用单位未找到");
}
UseUnitDto useUnitVo = BeanDtoVoUtils.convert(useUnit, UseUnitDto.class);
UseUnitDto useUnitVo = new UseUnitDto();
useUnitVo.setUseUnitName(ObjectUtils.isEmpty(useUnitMap.get("useUnitName")) ? null : String.valueOf(useUnitMap.get("useUnitName")));
useUnitVo.setAddress(ObjectUtils.isEmpty(useUnitMap.get("address")) ? null : String.valueOf(useUnitMap.get("address")));
List<DutyPersonDto> dutyPersonList = new ArrayList<DutyPersonDto>();
DutyPersonDto principal = new DutyPersonDto();
principal.setDeptName("主要负责人");
principal.setPhone(useUnitVo.getPrincipalPhone());
principal.setUserId(useUnitVo.getPrincipalId()+"");
principal.setUserName(useUnitVo.getPrincipal());
// todo 暂时置空
principal.setPhone(null);
principal.setUserId(null);
principal.setUserName(null);
dutyPersonList.add(principal);
DutyPersonDto manager = new DutyPersonDto();
manager.setDeptName("电梯安全管理员");
manager.setPhone(useUnitVo.getManagerPhone());
manager.setUserId(useUnitVo.getManagerId()+"");
manager.setUserName(useUnitVo.getManager());
manager.setPhone(String.valueOf(useUnitMap.get("managerPhone")));
manager.setUserName(String.valueOf(useUnitMap.get("manager")));
dutyPersonList.add(manager);
useUnitVo.setDutyPersonList(dutyPersonList);
return ResponseHelper.buildResponse(useUnitVo);
......
......@@ -24,9 +24,11 @@ import com.yeejoin.amos.boot.module.elevator.api.enums.AlertStageEnums;
import com.yeejoin.amos.boot.module.elevator.api.enums.DispatchPaperEnums;
import com.yeejoin.amos.boot.module.elevator.api.enums.TzsCommonParam;
import com.yeejoin.amos.boot.module.elevator.api.mapper.DispatchPaperMapper;
import com.yeejoin.amos.boot.module.elevator.api.mapper.ElevatorMapper;
import com.yeejoin.amos.boot.module.elevator.api.service.IDispatchPaperService;
import com.yeejoin.amos.boot.module.elevator.api.service.IMaintenanceUnitService;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -60,6 +62,9 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
private ElevatorServiceImpl elevatorServiceImpl;
@Autowired
ElevatorMapper elevatorMapper;
@Autowired
private IMaintenanceUnitService iMaintenanceUnitService;
@Autowired
......@@ -173,10 +178,12 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
dispatchPaper.setSendUserName(sendUser.getRealName());
// 电梯维保单位统一信用代码
Elevator elevator = elevatorServiceImpl.selectByAlertId(alertId);
MaintenanceUnit maintenanceUnit = iMaintenanceUnitService.getById(elevator.getMaintainUnitId());
if(!ValidationUtil.isEmpty(maintenanceUnit)) {
dispatchPaper.setRepairOrgCreditCode(maintenanceUnit.getSocialCreditCode());
Map<String,Object> map = elevatorServiceImpl.selectByAlertId(alertId);
if(!ObjectUtils.isEmpty(map.get("sequenceNbr"))) {
List<Map<String,Object>> mapList = elevatorMapper.selectMtByAlertId(String.valueOf(map.get("sequenceNbr")));
if(ObjectUtils.isEmpty(mapList)){
dispatchPaper.setRepairOrgCreditCode(String.valueOf(mapList.get(0).get("useCode")));
}
}
this.save(dispatchPaper);
......
......@@ -182,15 +182,16 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
String contactPhone = alertCalledDto.getContactPhone() == null ? "" : alertCalledDto.getContactPhone();
// 电梯数据
Elevator elevator = elevatorServiceImpl.selectByAlertId(alertId);
String address = elevator.getAddress() == null ? "" : elevator.getAddress();
// Elevator elevator = elevatorServiceImpl.selectByAlertId(alertId);
Map<String,Object> map = elevatorServiceImpl.selectByAlertId(alertId);
String address = map.get("address") == null ? "" : String.valueOf(map.get("address"));
String useSiteCategory = "";
if (!ValidationUtil.isEmpty(elevator.getUseSiteCategory())) {
String categoryCode = elevator.getUseSiteCategory();
if (!ValidationUtil.isEmpty(String.valueOf(map.get("useSiteCategory")))) {
String categoryCode = String.valueOf(map.get("useSiteCategory"));
DataDictionary categoryDict = iDataDictionaryService.getByCode(categoryCode, "USE_SITE_CATEGORY");
useSiteCategory = ValidationUtil.isEmpty(categoryDict) ? "" : categoryDict.getName();
}
String useUnit = elevator.getUseUnit();
String useUnit = String.valueOf(map.get("useUnit"));
content = content.replace("$call_time",createTime).replace("$address",address).replace("$rescue_code",rescueCode).replace("$use_site_category",useSiteCategory);
String typeCode = "";
if(AlertStageEnums.KRJY.toString().equals(alertTypeCode)) {
......
......@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.elevator.biz.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.elevator.api.dto.ESAlertCalledDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.EsElevatorDto;
......@@ -12,8 +13,11 @@ import com.yeejoin.amos.boot.module.elevator.api.dto.SpecialEquipmentDto;
import com.yeejoin.amos.boot.module.elevator.api.entity.AlertCalled;
import com.yeejoin.amos.boot.module.elevator.api.entity.Elevator;
import com.yeejoin.amos.boot.module.elevator.api.entity.EsElevator;
import com.yeejoin.amos.boot.module.elevator.api.mapper.SuperviseInfoMapper;
import com.yeejoin.amos.boot.module.elevator.biz.dao.ESElavtorRepository;
import com.yeejoin.amos.feign.systemctl.model.RegionModel;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.elasticsearch.common.geo.GeoBoundingBox;
import org.elasticsearch.common.geo.GeoPoint;
......@@ -62,6 +66,7 @@ import java.util.stream.Collectors;
* @version 2021年9月26日
*/
@Service
@Slf4j
public class ESElevatorServiceImpl {
@Autowired
......@@ -79,45 +84,48 @@ public class ESElevatorServiceImpl {
@Autowired
ElevatorAlarmServiceImpl elevatorAlarmServiceImpl;
@Autowired
private SuperviseInfoMapper superviseInfoMapper;
@Value("${alertcall.es.synchrony.time}")
private Long time;
/**
*
* <pre>
* 电梯信息
* </pre>
*
* @param elevator 电梯信息
*/
public EsElevator saveEsElevatorToES(Elevator elevator)
{
EsElevator esElevator = new EsElevator();
if(StringUtils.isNotEmpty(elevator.getLongitude())) {
esElevator.setLongitude(Double.parseDouble(elevator.getLongitude()));
}
if(StringUtils.isNotEmpty(elevator.getLatitude())) {
esElevator.setLatitude(Double.parseDouble(elevator.getLatitude()));
}
esElevator.setAddress(elevator.getAddress());
esElevator.setCity(elevator.getCity());
esElevator.setDistrict(elevator.getDistrict());
esElevator.setProvince(elevator.getProvince());
esElevator.setRegionCode(elevator.getRegionCode());
esElevator.setRescueCode(elevator.getRescueCode().toString());
esElevator.setRegisterCode(elevator.getRegisterCode());
esElevator.setSequenceNbr(elevator.getSequenceNbr());
esElevator.setInnerNum(elevator.getInnerNum());
if(StringUtils.isNotBlank(elevator.getLatitude()) && StringUtils.isNotBlank(elevator.getLongitude())) {
Double lat = Double.parseDouble(elevator.getLatitude());
Double lon = Double.parseDouble(elevator.getLongitude());
esElevator.setLocation(new GeoPoint(lat,lon));
}
esElavtorRepository.save(esElevator);
return esElevator;
}
// 数据源切换
// /**
// *
// * <pre>
// * 电梯信息
// * </pre>
// *
// * @param elevator 电梯信息
// */
// public EsElevator saveEsElevatorToES(Elevator elevator)
// {
// EsElevator esElevator = new EsElevator();
// if(StringUtils.isNotEmpty(elevator.getLongitude())) {
// esElevator.setLongitude(Double.parseDouble(elevator.getLongitude()));
// }
// if(StringUtils.isNotEmpty(elevator.getLatitude())) {
// esElevator.setLatitude(Double.parseDouble(elevator.getLatitude()));
// }
// esElevator.setAddress(elevator.getAddress());
// esElevator.setCity(elevator.getCity());
// esElevator.setDistrict(elevator.getDistrict());
// esElevator.setProvince(elevator.getProvince());
// esElevator.setRegionCode(elevator.getRegionCode());
// esElevator.setRescueCode(elevator.getRescueCode().toString());
// esElevator.setRegisterCode(elevator.getRegisterCode());
// esElevator.setSequenceNbr(elevator.getSequenceNbr());
// esElevator.setInnerNum(elevator.getInnerNum());
// if(StringUtils.isNotBlank(elevator.getLatitude()) && StringUtils.isNotBlank(elevator.getLongitude())) {
// Double lat = Double.parseDouble(elevator.getLatitude());
// Double lon = Double.parseDouble(elevator.getLongitude());
// esElevator.setLocation(new GeoPoint(lat,lon));
// }
// esElavtorRepository.save(esElevator);
// return esElevator;
// }
/**
......@@ -578,4 +586,47 @@ public class ESElevatorServiceImpl {
}
return result;
}
public void saveEsElevator2ES(List<Map<String, Object>> elevatorList) {
List<EsElevator> esElevatorList = new ArrayList<>();
List<String> recordList = new ArrayList<>();
for (Map<String, Object> map : elevatorList) {
EsElevator esElevator = new EsElevator();
if (!ObjectUtils.isEmpty(map.get("longitude"))) {
esElevator.setLongitude(Double.parseDouble(String.valueOf(map.get("longitude"))));
}
if (!ObjectUtils.isEmpty(map.get("latitude"))) {
esElevator.setLatitude(Double.parseDouble(String.valueOf(map.get("latitude"))));
}
esElevator.setAddress(String.valueOf(map.get("address")));
esElevator.setCity(String.valueOf(map.get("city")));
esElevator.setDistrict(String.valueOf(map.get("district")));
esElevator.setProvince(String.valueOf(map.get("province")));
esElevator.setRegionCode(String.valueOf(map.get("regionCode")));
esElevator.setRescueCode(String.valueOf(map.get("rescueCode")));
esElevator.setRegisterCode(String.valueOf(map.get("registerCode")));
esElevator.setSequenceNbr(String.valueOf(map.get("sequenceNbr")));
esElevator.setInnerNum(String.valueOf(map.get("latitude")));
if (!ObjectUtils.isEmpty(map.get("longitude")) && !ObjectUtils.isEmpty(map.get("latitude"))) {
Double lat = Double.parseDouble(String.valueOf(map.get("latitude")));
Double lon = Double.parseDouble(String.valueOf(map.get("latitude")));
esElevator.setLocation(new GeoPoint(lat, lon));
}
esElevatorList.add(esElevator);
recordList.add(String.valueOf(map.get("sequenceNbr")));
}
long start = System.currentTimeMillis();
esElavtorRepository.saveAll(esElevatorList);
long end = System.currentTimeMillis();
long cost = end - start;
System.out.println("批量存入es1000条数据耗时:" + cost);
log.info("批量存入es:【" + elevatorList.size() + "】条,耗时:" + (end - start) + " 毫秒");
long start1 = System.currentTimeMillis();
superviseInfoMapper.updateRecordBatch(recordList);
long end1 = System.currentTimeMillis();
long cost1 = end1 - start1;
log.info("批量更新:【" + elevatorList.size() + "】条业务数据,耗时:" + (end - start) + " 毫秒");
}
}
......@@ -14,10 +14,7 @@ import com.yeejoin.amos.boot.biz.common.utils.QRCodeUtil;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.common.biz.service.impl.SourceFileServiceImpl;
import com.yeejoin.amos.boot.module.elevator.api.dto.*;
import com.yeejoin.amos.boot.module.elevator.api.entity.Elevator;
import com.yeejoin.amos.boot.module.elevator.api.entity.ElevatorInsure;
import com.yeejoin.amos.boot.module.elevator.api.entity.ElevatorInsureRelation;
import com.yeejoin.amos.boot.module.elevator.api.entity.EquipmentCategory;
import com.yeejoin.amos.boot.module.elevator.api.entity.*;
import com.yeejoin.amos.boot.module.elevator.api.enums.EquimentEnum;
import com.yeejoin.amos.boot.module.elevator.api.enums.TzsCommonParam;
import com.yeejoin.amos.boot.module.elevator.api.mapper.ElevatorMapper;
......@@ -65,6 +62,9 @@ public class ElevatorServiceImpl extends BaseService<ElevatorDto, Elevator, Elev
ElevatorMapper elevatorMapper;
@Autowired
private ElevatorServiceImpl iElevatorService;
@Autowired
EquipmentCategoryServiceImpl equipmentCategoryServiceImpl;
@Autowired
......@@ -209,21 +209,24 @@ public class ElevatorServiceImpl extends BaseService<ElevatorDto, Elevator, Elev
}
@Override
public Elevator selectByAlertId(Long alertId) {
public Map<String,Object> selectByAlertId(Long alertId) {
AlertCalledDto alertCalledDto = alertCalledServiceImpl.queryBySeq(alertId);
if (ValidationUtil.isEmpty(alertCalledDto)
|| ValidationUtil.isEmpty(alertCalledDto.getDeviceId()))
throw new BadRequest("警情不存在或者设备编码不存在");
// 设备类型 和 编码 确定设备的使用单位或者维保单位
String equipmentClassificationCode = alertCalledDto.getEquipmentClassificationCode();
Long deviceId = alertCalledDto.getEquipmentId();
String deviceId = alertCalledDto.getEquipmentId();
// 目前只有电梯类型
LambdaQueryWrapper<Elevator> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Elevator::getSequenceNbr, deviceId);
Elevator elevator = this.getOne(queryWrapper);
if (ValidationUtil.isEmpty(elevator))
Elevator elevator = new Elevator();
elevator.setOriginalId(deviceId);
Map<String,Object> map = iElevatorService.selectElevatorList(elevator);
// LambdaQueryWrapper<Elevator> queryWrapper = new LambdaQueryWrapper<>();
// queryWrapper.eq(Elevator::getSequenceNbr, deviceId);
// Elevator elevator = this.getOne(queryWrapper);
if (ValidationUtil.isEmpty(map))
throw new BadRequest("设备未找到");
return elevator;
return map;
}
@Override
......@@ -277,6 +280,27 @@ public class ElevatorServiceImpl extends BaseService<ElevatorDto, Elevator, Elev
return elevatorMapper.selectElevatorList(elevator);
}
@Override
public List<Map<String, Object>> selectElevatorEsList(int pageNum,int pageSize) {
return elevatorMapper.selectElevatorEsList(pageNum,pageSize);
}
@Override
public Integer selectUseInfoCount() {
return elevatorMapper.selectUseInfoCount();
}
@Override
public List<Map<String,Object>> selectMtByAlertId(String sequenceNbr) {
return elevatorMapper.selectMtByAlertId(sequenceNbr);
}
@Override
public Map<String, Object> selectUseUnitByAlertId(String sequenceNbr) {
return elevatorMapper.selectUseUnitByAlertId(sequenceNbr);
}
@Override
public Page<Map<String, Object>> selectElevators(Page<Map<String, Object>> page, ElevatorDto dto) {
return elevatorMapper.selectElevators(page, dto);
......
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