Commit 7b79fbdf authored by chenhao's avatar chenhao

Merge branch 'developer' of http://172.16.10.76/moa/amos-boot-biz into developer

parents 83d8231d 24f28ee0
......@@ -32,6 +32,8 @@ public class RedisKey {
public static final String CTI_TOKEN = "cti_token";
/**微信公众平台 token */
public static final String WECHAT_TOKEN = "wechat_token";
/**微信公众平台 token */
public static final String WECHAT_JS_TOKEN = "wechat_js_token";
/** 驼峰转下划线(简单写法,效率低于 ) */
public static String humpToLine(String str) {
......
......@@ -57,51 +57,54 @@ public class FireExpertsDto extends BaseDto {
@ApiModelProperty(value = "民族")
private String nation;
// @ExplicitConstraint(indexNum = 7, sourceClass = RoleNameExplicitConstraint.class, method = "getAdministrativeDivisions") //固定下拉内容
@ExcelProperty(value = "籍贯", index = 7)
@ApiModelProperty(value = "籍贯")
private String nativePlace;
@ExplicitConstraint(indexNum = 8, sourceClass = CommonExplicitConstraint.class, method = "getPoliticalOutlook") //固定下拉内容
@ExcelProperty(value = "政治面貌", index = 8)
@ExplicitConstraint(indexNum = 7, sourceClass = CommonExplicitConstraint.class, method = "getPoliticalOutlook") //固定下拉内容
@ExcelProperty(value = "政治面貌", index = 7)
@ApiModelProperty(value = "政治面貌")
private String politicalOutlook;
// @ExplicitConstraint(indexNum = 9, sourceClass = RoleNameExplicitConstraint.class, method = "getAdministrativeDivisions") //固定下拉内容
@ExplicitConstraint(indexNum = 8, sourceClass = CommonExplicitConstraint.class, method = "getCitys") //固定下拉内容
@ExcelProperty(value = "籍贯", index = 8)
@ApiModelProperty(value = "籍贯")
private String nativePlace;
@ExplicitConstraint(indexNum = 9,sourceClass = CommonExplicitConstraint.class,method ="getCitys")
@ApiModelProperty(value = "现居住地")
@ExcelProperty(value = "现居住地", index = 9)
private String residence;
// @ExplicitConstraint(indexNum = 9, sourceClass = RoleNameExplicitConstraint.class, method = "getAdministrativeDivisions") //固定下拉内容
@ExcelProperty(value = "籍贯/户口所在地详细地址", index = 17)
@ExcelProperty(value = "籍贯/户口所在地详细地址", index = 9)
@ApiModelProperty(value = "籍贯/户口所在地详细地址")
private String nativePlaceVal;
@ExplicitConstraint(indexNum =10,sourceClass = CommonExplicitConstraint.class,method ="getCitys")
@ExplicitConstraint(indexNum = 10,sourceClass = CommonExplicitConstraint.class,method ="getCitys")
@ApiModelProperty(value = "现居住地")
@ExcelProperty(value = "现居住地", index = 10)
private String residence;
@ExplicitConstraint(indexNum =11,sourceClass = CommonExplicitConstraint.class,method ="getCitys")
@ExcelProperty(value = "现居住地", index = 11)
@ApiModelProperty(value = "居住地详情")
private String residenceDetails;
@ExcelProperty(value = "现居住地详细地址", index = 18)
@ExcelProperty(value = "现居住地详细地址", index = 12)
@ApiModelProperty(value = "现居住地详细地址")
private String residenceDetailVal;
@ExcelProperty(value = "办公电话", index = 11)
@ExcelProperty(value = "办公电话", index = 13)
@ApiModelProperty(value = "办公电话")
private String officePhone;
@ExcelProperty(value = "移动电话", index = 12)
@ExcelProperty(value = "移动电话", index = 14)
@ApiModelProperty(value = "移动电话")
private String mobilePhone;
@ExplicitConstraint(type = "XLLX", indexNum = 13, sourceClass = CommonExplicitConstraint.class) //动态下拉内容
@ExcelProperty(value = "最高学历", index = 13)
@ExplicitConstraint(type = "XLLX", indexNum = 15, sourceClass = CommonExplicitConstraint.class) //动态下拉内容
@ExcelProperty(value = "最高学历", index = 15)
@ApiModelProperty(value = "最高学历")
private String highestEducation;
@ExplicitConstraint(type = "GWMC", indexNum = 14, sourceClass = CommonExplicitConstraint.class) //动态下拉内容
@ExcelProperty(value = "岗位名称", index = 14)
@ExplicitConstraint(type = "GWMC", indexNum = 16, sourceClass = CommonExplicitConstraint.class) //动态下拉内容
@ExcelProperty(value = "岗位名称", index = 16)
@ApiModelProperty(value = "岗位名称")
private String jobs;
......@@ -109,8 +112,8 @@ public class FireExpertsDto extends BaseDto {
@ApiModelProperty(value = "岗位名称code")
private String jobsCode;
@ExplicitConstraint(type = "ZJLY", indexNum = 15, sourceClass = CommonExplicitConstraint.class) //动态下拉内容
@ExcelProperty(value = "消防专家领域", index = 15)
@ExplicitConstraint(type = "ZJLY", indexNum = 17, sourceClass = CommonExplicitConstraint.class) //动态下拉内容
@ExcelProperty(value = "消防专家领域", index = 17)
@ApiModelProperty(value = "消防专家领域")
private String expert;
......@@ -144,7 +147,7 @@ public class FireExpertsDto extends BaseDto {
@ApiModelProperty(value = "消防机构name")
private Long fireTeamName;
@ExcelProperty(value = "备注", index = 16)
@ExcelProperty(value = "备注", index = 18)
@ApiModelProperty(value = "备注")
private String note;
......
......@@ -306,6 +306,7 @@ public class WaterResourceDto extends BaseDto {
@ApiModelProperty("设施定义名称")
@ExcelProperty(value = "设施定义名称", index = 41)
@ExplicitConstraint(indexNum = 41, sourceClass = CommonExplicitConstraint.class, method = "getEquipDefinition")
private String equipName;
@ExcelIgnore
......@@ -313,8 +314,9 @@ public class WaterResourceDto extends BaseDto {
private Long equipCategoryId;
// BUG 2935 优化项 分类从93060000 取得字典数据 by kongfm 2021-09-17
@ApiModelProperty("设施分类名称")
@ExplicitConstraint(indexNum = 42, sourceClass = CommonExplicitConstraint.class, method = "getEquipCategory")
@ExcelProperty(value = "设施分类名称", index = 42)
@ExcelIgnore
// @ExplicitConstraint(indexNum = 42, sourceClass = CommonExplicitConstraint.class, method = "getEquipCategory")
// @ExcelProperty(value = "设施分类名称", index = 42)
private String equipCategoryName;
@ApiModelProperty("设施编码")
......@@ -322,15 +324,15 @@ public class WaterResourceDto extends BaseDto {
private String equipCode;
@ApiModelProperty("维保周期")
@ExcelProperty(value = "维保周期(月)", index = 43)
@ExcelProperty(value = "维保周期(月)", index = 42)
private String maintenancePeriod;
@ApiModelProperty(value = "经度")
@ExcelProperty(value = "经度", index = 44)
@ExcelProperty(value = "经度", index = 43)
private Double longitude;
@ApiModelProperty(value = "纬度")
@ExcelProperty(value = "纬度", index = 45)
@ExcelProperty(value = "纬度", index = 44)
private Double latitude;
}
......@@ -32,7 +32,7 @@ public class TemplateCellWriteHandlerDate implements SheetWriteHandler {
/**
* 避免生成的导入模板下拉值获取不到
*/
private static final Integer LIMIT_NUMBER = 1;
private static final Integer LIMIT_NUMBER = 0;
......
......@@ -220,4 +220,7 @@ public interface EquipFeignClient {
@RequestMapping(value = "equipment-category/tree/{type}", method = RequestMethod.GET)
ResponseModel<List<LinkedHashMap<String, Object>>> getEquipmentCategory(@PathVariable String type);
@RequestMapping(value = "/equipment/listLike/{code}", method = RequestMethod.GET)
ResponseModel<List<LinkedHashMap<String, Object>>> listLikePage(@PathVariable String code);
}
......@@ -38,6 +38,7 @@ public interface FailureDetailsMapper extends BaseMapper<FailureDetails> {
String startTime, String endTime, String submissionName, Long submissionBranchId,
Long sequenceNbr);
int selectAllCount();
/**
* 查询我发起的 分页
* current 当前页
......
......@@ -23,11 +23,11 @@ public interface FireStationMapper extends BaseMapper<FireStation> {
// 微型消防站按时间倒叙排列add order by cb_fire_station.rec_date desc 2021-09-08 by kongfm
@Select("<script>"
+ "select * from cb_fire_station where cb_fire_station.is_delete=0 "
+ "<if test='par.name!=null'> and cb_fire_station.name like CONCAT('%',#{par.name},'%') </if>"
+ "<if test='par.bizCompanyId!=null'> and cb_fire_station.biz_company_id = #{par.bizCompanyId} </if>"
+ "<if test='par.bizCompanyCode!=null'> and cb_fire_station.biz_company_code like CONCAT('',#{par.bizCompanyCode},'%') </if>"
+" order by cb_fire_station.rec_date desc limit #{pageNum},#{pageSize}"
+ "select * ,(SELECT COUNT(*)FROM jc_firestation_jacket WHERE firefighters_id = a.sequence_nbr and is_delete =0) AS eqNum from cb_fire_station a where a.is_delete=0 "
+ "<if test='par.name!=null'> and a.name like CONCAT('%',#{par.name},'%') </if>"
+ "<if test='par.bizCompanyId!=null'> and a.biz_company_id = #{par.bizCompanyId} </if>"
+ "<if test='par.bizCompanyCode!=null'> and a.biz_company_code like CONCAT('',#{par.bizCompanyCode},'%') </if>"
+" order by a.rec_date desc limit #{pageNum},#{pageSize}"
+ "</script>")
List<FireStationDto>getFireStation(@Param("pageNum")int pageNum,@Param("pageSize")int pageSize,@Param("par")FireStationDto par);
@Select("<script>"
......
......@@ -32,6 +32,10 @@
order by submission_time DESC limit #{current},#{size};
</select>
<select id="selectAllCount" resultType="int">
SELECT COUNT(*) FROM cb_failure_details
</select>
<select id="selectWebPage" resultType="com.yeejoin.amos.boot.module.common.api.dto.FailureDetailsDto">
SELECT
sequence_nbr,
......
......@@ -151,10 +151,10 @@ LEFT JOIN cb_firefighters_education fe ON f.sequence_nbr = fe.firefighters_id
LEFT JOIN cb_firefighters_post fp ON f.sequence_nbr = fp.firefighters_id
WHERE
f.is_delete = 0
AND fc.is_delete = 0
AND fw.is_delete = 0
AND fe.is_delete = 0
AND fp.is_delete = 0
-- AND fc.is_delete = 0
-- AND fw.is_delete = 0
-- AND fe.is_delete = 0
-- AND fp.is_delete = 0
</select>
<select id="getFirefightersName" resultType="string">
......
......@@ -46,91 +46,98 @@
a.longitude,
Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1)
AS distance,
case when csps.person_number is null then 0 else
csps.person_number end as userNum,
case when cre.vehicle_number is null then 0 else cre.vehicle_number end as
SUM(case when csps.person_number is null then 0 else
csps.person_number end) as userNum,
SUM(case when cre.vehicle_number is null then 0 else cre.vehicle_number end )as
carNum
FROM
cb_linkage_unit a
LEFT JOIN cb_special_position_staff csps ON a.sequence_nbr =
csps.company_id
LEFT JOIN cb_rescue_equipment cre on a.sequence_nbr = cre.company_id
<!--
case when csps.person_number is null then 0 else
csps.person_number end as userNum,
case when cre.vehicle_number is null then 0 else cre.vehicle_number end as
carNum-->
FROM
cb_linkage_unit a
LEFT JOIN cb_special_position_staff csps ON a.sequence_nbr =
csps.company_id
LEFT JOIN cb_rescue_equipment cre on a.sequence_nbr = cre.company_id
where a.longitude is not null and
a.latitude is not null
<if test='par.distance!=null'>
and
Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1)
&lt;=
#{par.distance}
</if>
ORDER BY distance limit #{pageNum},#{pageSize}
</select>
where a.is_delete=0 and a.longitude is not null and
a.latitude is not null GROUP BY a.sequence_nbr
<if test='par.distance!=null'>
and
Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1)
&lt;=
#{par.distance}
</if>
ORDER BY distance limit #{pageNum},#{pageSize}
</select>
<select id="listLinkageUnitZhDtoCount" resultType="Integer">
select
COUNT(a.sequence_nbr) num
FROM cb_linkage_unit a
where a.longitude
is not null and a.latitude is not null
<if test='par.distance!=null'>
and
Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1)
&lt;=
#{par.distance}
</if>
</select>
<select id="listLinkageUnitZhDtoCount" resultType="Integer">
select
COUNT(a.sequence_nbr) num
FROM cb_linkage_unit a
where a.longitude
is not null and a.latitude is not null
<if test='par.distance!=null'>
and
Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1)
&lt;=
#{par.distance}
</if>
</select>
<select id="getEmergencyLinkageUnitCodeGroupByAndCount"
resultType="java.util.Map">
SELECT
emergency_linkage_unit_code as
emergencyLinkageUnitCode,
COUNT(unit_code) AS count
FROM
cb_linkage_unit
WHERE
is_delete = 0
GROUP BY
emergency_linkage_unit_code
</select>
<select id="getEmergencyLinkageUnitCodeGroupByAndCount"
resultType="java.util.Map">
SELECT
emergency_linkage_unit_code as
emergencyLinkageUnitCode,
COUNT(unit_code) AS count
FROM
cb_linkage_unit
WHERE
is_delete = 0
GROUP BY
emergency_linkage_unit_code
</select>
<select id="exportToExcel"
resultType="com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto">
select
a.unit_name unitName,
a.linkage_unit_type
linkageUnitType,
a.address ,
a.latitude,
a.longitude,
a.agreement_start_date agreementStartDate,
a.agreement_end_date
agreementEndDate,
a.contact_user contactUser,
a.contact_phone
contactPhone,
b.*
from cb_linkage_unit a LEFT JOIN
(SELECT
m.instance_id,
max(case m.field_code when 'emergencyServiceContent' then
m.field_value end) emergencyServiceContent,
max(case m.field_code when
'fireRescueCapability' then m.field_value end) fireRescueCapability,
max(case m.field_code when 'responsibilitiesSituation' then
m.field_value end) responsibilitiesSituation,
max(case m.field_code
when 'unitSituation' then m.field_value end) unitSituation
FROM
cb_dynamic_form_instance m GROUP BY m.instance_id) b
<select id="exportToExcel"
resultType="com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto">
select
a.unit_name unitName,
a.linkage_unit_type
linkageUnitType,
a.address ,
a.latitude,
a.longitude,
a.agreement_start_date agreementStartDate,
a.agreement_end_date
agreementEndDate,
a.contact_user contactUser,
a.contact_phone
contactPhone,
b.*
from cb_linkage_unit a LEFT JOIN
(SELECT
m.instance_id,
max(case m.field_code when 'emergencyServiceContent' then
m.field_value end) emergencyServiceContent,
max(case m.field_code when
'fireRescueCapability' then m.field_value end) fireRescueCapability,
max(case m.field_code when 'responsibilitiesSituation' then
m.field_value end) responsibilitiesSituation,
max(case m.field_code
when 'unitSituation' then m.field_value end) unitSituation
FROM
cb_dynamic_form_instance m GROUP BY m.instance_id) b
on
b.instance_id=a.instance_id where a.unit_name is not null and a.is_delete=0
</select>
on
b.instance_id=a.instance_id where a.unit_name is not null and a.is_delete=0
</select>
<!--联动单位列表按时间倒叙排列add order by clu.rec_date desc 同时处理单位根节点-1时查询全部数据问题 2021-09-08 by kongfm -->
<!--联动单位列表按时间倒叙排列add order by clu.rec_date desc 同时处理单位根节点-1时查询全部数据问题 2021-09-08 by kongfm -->
<select id="getEmergencyLinkageUnitList"
resultType="java.util.Map">
SELECT
......
......@@ -245,10 +245,10 @@
Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1) AS distance,
case when cks_d.count is null then 0 else cks_d.count end as keySiteNum
FROM important_companys a left join (
SELECT cks.belong_id ,count(cks.belong_id) count from cb_key_site cks GROUP BY cks.belong_id
SELECT cks.belong_id ,count(cks.belong_id) count from cb_key_site cks where cks.is_delete=0 GROUP BY cks.belong_id
)cks_d
on a.id=cks_d.belong_id
where a.longitude is not null and a.latitude is not null
where a.longitude is not null and a.latitude is not null
<if test='par.distance!=null'>
and Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1) &lt;=
#{par.distance}
......
......@@ -26,7 +26,8 @@ public class EquipSpecificDto extends BaseEntity {
/**
* 装备分类code(人员装备【10000000】)
*/
private String categoryCode = "10000000";
//private String categoryCode = "10000000";
private String categoryCode;
/**
* 队伍ID
*/
......
......@@ -49,6 +49,11 @@ public interface AlertCalledMapper extends BaseMapper<AlertCalled> {
String data,
String lift);
int selectAllCount(Integer alertStatus,
String alertTypeCode ,
String alertSourceCode,
String startTime,
String endTime);
Integer AlertCalledcount(@Param("alertStatus")int alertStatus);
......
......@@ -146,6 +146,28 @@
</where>
</select>
<select id="selectAllCount" resultType="int">
SELECT
COUNT(*)
FROM
jc_alert_called
<where>
is_delete = 0
<if test="alertStatus!= null ">
and alert_status = #{alertStatus}
</if>
<if test="startTime!= null and endTime != null">
and call_time between #{startTime} and #{endTime}
</if>
<if test="alertTypeCode!= null ">
and alarm_type_code = #{alertTypeCode}
</if>
<if test="alertSourceCode!= null ">
and alert_source_code = #{alertSourceCode}
</if>
</where>
</select>
<select id="AlertCalledcountTime" resultType="Integer">
......
......@@ -12,7 +12,9 @@ public enum PlanStatusEnum {
EXAMINE_TWO("二级待审核",2, 3),
EXAMINE_THREE("三级待审核",3, 4),
EXAMINE_FORMULATE("已审核/检查内容未制定",4, 5),
EXAMINE_DEVELOPED("检查内容已制定/未执行",5, 5);
EXAMINE_DEVELOPED("检查内容已制定/未执行",5, 6),
IN_EXECUTION("执行中",6, 7),
COMPLETED("已完成",7, 7);
/**
* 名称
......
......@@ -171,6 +171,17 @@ public class Plan extends BasicEntity {
private String checkLevel;
/**
* 检查人单位id
*/
@Column(name="check_unit_id")
private String checkUnitId;
/**
* 检查人单位名称
*/
@Column(name="check_unit_name")
private String checkUnitName;
/**
* 备注
*/
private String remark;
......@@ -760,4 +771,20 @@ public class Plan extends BasicEntity {
public void setCheckLevel(String checkLevel) {
this.checkLevel = checkLevel;
}
public String getCheckUnitId() {
return checkUnitId;
}
public void setCheckUnitId(String checkUnitId) {
this.checkUnitId = checkUnitId;
}
public String getCheckUnitName() {
return checkUnitName;
}
public void setCheckUnitName(String checkUnitName) {
this.checkUnitName = checkUnitName;
}
}
\ No newline at end of file
......@@ -11,24 +11,24 @@ import lombok.Data;
public class AlertHandlerInfoDto {
@ApiModelProperty(value = "处置流程")
String process;
String abProcess;
@ApiModelProperty(value = "接警")
String answerThePolice;
String acAnswerThePolice;
@ApiModelProperty(value = "上报")
String report;
String acReport;
@ApiModelProperty(value = "派遣/通知")
String notice;
String adNotice;
@ApiModelProperty(value = "到达")
String arrive;
String aedArrive;
@ApiModelProperty(value = "完成")
String complete;
String afeComplete;
@ApiModelProperty(value = "回访")
String returnVisit;
String agReturnVisit;
}
package com.yeejoin.amos.boot.module.tzs.api.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author litw
* @date 2021-09-28.
*/
@Data
public class AlertPaperInfoDto {
@ApiModelProperty(value = "警情id")
private Long alertId;
@ApiModelProperty(value = "所属区域代码")
private String regionCode;
@ApiModelProperty(value = "电梯应急救援识别码")
private Integer rescueCode;
@ApiModelProperty(value = "警情类别code")
private String alarmTypeCode;
@ApiModelProperty(value = "所属区域")
private String area;
@ApiModelProperty(value = "地址")
private String address;
@ApiModelProperty(value = "报警时间")
private Date callTime;
@ApiModelProperty(value = "救援倒计时")
private String rescueTime;
@ApiModelProperty(value = "被困人数")
private String trappedNum;
@ApiModelProperty(value = "死亡人数")
private String dieNum;
@ApiModelProperty(value = "受伤人数")
private String injuredNum;
@ApiModelProperty(value = "经度")
private String longitude;
@ApiModelProperty(value = "纬度")
private String latitude;
@ApiModelProperty(value = "停留时间")
private String stopTime;
@ApiModelProperty(value = "状态信息")
private String alertStatus;
}
package com.yeejoin.amos.boot.module.tzs.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
*
*
* @author litw
* @date 2021-09-28
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="ElevatorAlarmDto", description="")
public class ElevatorAlarmDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "电梯注册码")
private String registerCode;
@ApiModelProperty(value = "原始故障编号")
private String faultId;
@ApiModelProperty(value = "故障发生时间")
private Date startDate;
@ApiModelProperty(value = "故障类型")
private String type;
@ApiModelProperty(value = "处置状态。0:处置完成。1:故障发生 2:发出通知 3:处置响应 4:处置到场 5:误报")
private Integer dealStatus;
@ApiModelProperty(value = "处置时间")
private Date dealDate;
@ApiModelProperty(value = "处置人")
private Integer dealPerson;
@ApiModelProperty(value = "现场确认是否困人。0:不困人,1:困人")
private Integer isTrap;
@ApiModelProperty(value = "是否自恢复 0:否1:是")
private Integer selfrepair;
@ApiModelProperty(value = "故障发生时的总接触器吸合或是断开。0:吸合,1:断开")
private Integer dealNote;
@ApiModelProperty(value = "是否自恢复 0:否1:是")
private Integer mainContactor;
@ApiModelProperty(value = "故障发生时的运行接触器吸合或是断开。0:吸合,1:断开")
private Integer runContactor;
@ApiModelProperty(value = "故障发生时的安全回路是否断开 0:正常,1:断开")
private Integer circuit;
@ApiModelProperty(value = "故障发生时的轿厢运行状态。1:停止,2:运行")
private Integer carStatus;
@ApiModelProperty(value = "故障发生时的方向。1:无方向 2:上行 3:下行")
private Integer direction;
@ApiModelProperty(value = "故障发生时的轿厢是否在门区。1:轿厢在门区 0:轿厢在非门区")
private Integer isZone;
@ApiModelProperty(value = "故障发生时的当前物理楼层")
private Integer floor;
@ApiModelProperty(value = "故障发生时的关门到位 1:关门到位,0:无关门到位信号")
private Integer doorStatus;
@ApiModelProperty(value = "故障发生时的上极限是否动作 0:否,1:是")
private Integer upLimit;
@ApiModelProperty(value = "故障发生时的下极限是否动作 0:否,1:是")
private Integer downLimit;
@ApiModelProperty(value = "故障发生时的轿厢报警按钮是否动作 0:否,1:是")
private Integer alarm;
@ApiModelProperty(value = "累计运行小时数,保留到小数点后两位")
private Double hours;
@ApiModelProperty(value = "累计运行次数")
private Integer runCount;
}
package com.yeejoin.amos.boot.module.tzs.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
*
*
* @author litw
* @date 2021-09-28
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="ElevatorStatusDto", description="")
public class ElevatorStatusDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "电梯注册码")
private String registerCode;
@ApiModelProperty(value = "原始状态编号")
private String statusId;
@ApiModelProperty(value = "是否在线。1:是,0:否")
private Integer isOnline;
@ApiModelProperty(value = "运行数据上传时间")
private Date uploadDate;
@ApiModelProperty(value = "总接触器吸合或是断开。0:吸合,1:断开")
private Integer mainContactor;
@ApiModelProperty(value = "运行接触器吸合或是断开。0:吸合,1:断开")
private Integer runContactor;
@ApiModelProperty(value = "安全回路是否断开,0:正常,1:断开")
private Integer circuit;
@ApiModelProperty(value = "当前电梯运行模式。1:停止服务 2:正常运行 3:检修 4:消防返回 5:消防员运行 6:应急电源运行 7:地震模式 8: 未知")
private Integer serviceModel;
@ApiModelProperty(value = "轿厢运行状态。1:停止,2:运行")
private Integer liftStatus;
@ApiModelProperty(value = "轿厢运行方向。1:无方向 2:上行 3:下行")
private Integer liftDirection;
@ApiModelProperty(value = "轿厢是否在门区。1:轿厢在门区 0:轿厢在非门区")
private Integer isZone;
@ApiModelProperty(value = "运行速度")
private Integer elevatorSpeed;
@ApiModelProperty(value = "当前物理楼层")
private Integer currFloor;
@ApiModelProperty(value = "关门到位 1:关门到位,0:无关门到位信号")
private Integer doorStatus;
@ApiModelProperty(value = "上极限是否动作 0:否,1:是")
private Integer upLimit;
@ApiModelProperty(value = "下极限是否动作 0:否,1:是")
private Integer downLimit;
@ApiModelProperty(value = "轿厢报警按钮是否动作 0:否,1:是")
private Integer alarm;
@ApiModelProperty(value = "轿厢内是否有人 0:无,1:有")
private Integer personFlag;
@ApiModelProperty(value = "累计运行小时数,保留到小数点后两位")
private Double hours;
@ApiModelProperty(value = "累计运行次数")
private Integer runCount;
}
package com.yeejoin.amos.boot.module.tzs.api.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author litw
* @date 2021-09-29.
*/
@Data
public class ElevatorStatusHandleDto {
@ApiModelProperty(value = "当前电梯运行模式。1:停止服务 2:正常运行 3:检修 4:消防返回 5:消防员运行 6:应急电源运行 7:地震模式 8: 未知")
private String serviceModel;
@ApiModelProperty(value = "轿厢运行状态。1:停止,2:运行")
private String liftStatus;
@ApiModelProperty(value = "轿厢运行方向。1:无方向 2:上行 3:下行")
private String liftDirection;
@ApiModelProperty(value = "轿厢是否在门区。1:轿厢在门区 0:轿厢在非门区")
private String isZone;
@ApiModelProperty(value = "关门到位 1:关门到位,0:无关门到位信号")
private String doorStatus;
@ApiModelProperty(value = "轿厢内是否有人 0:无,1:有")
private String personFlag;
@ApiModelProperty(value = "当前物理楼层")
private Integer currFloor;
}
package com.yeejoin.amos.boot.module.tzs.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author litw
* @date 2021-09-29.
*/
@Data
@ApiModel(value="ElevatorWlInfoDto", description="电梯物联信息")
public class ElevatorWlInfoDto {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* 电梯id
*/
@ApiModelProperty(value = "电梯id")
private Long sequenceNbr;
/**
* 注册编码
*/
@ApiModelProperty(value = "注册编码")
private String registerCode;
/**
* 电梯识别码
*/
@ApiModelProperty(value = "电梯识别码")
private Integer rescueCode;
/**
* 地址
*/
@ApiModelProperty(value = "地址")
private String address;
/**
* 发生时间
*/
@ApiModelProperty(value = "发生时间")
private Date happenTime ;
/**
* 故障类型
*/
@ApiModelProperty(value = "故障类型")
private String type ;
/**
* 物联服务提供商
*/
@ApiModelProperty(value = "物联服务提供商")
private String IotServiceProvider ;
/**
* 处置状态
*/
@ApiModelProperty(value = "处置状态")
private String dealStatus ;
/**
* 设备种类
*/
@ApiModelProperty(value = "设备种类")
private String category ;
/**
* 区域
*/
@ApiModelProperty(value = "区域")
private String area ;
/**
* 设备种类临时
*/
@ApiModelProperty(value = "设备种类临时")
private String categoryName ;
int page;
int size;
}
......@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author litw
* @date 2021-09-26.
......@@ -17,6 +19,13 @@ public class EsElevatorDto {
*
*/
private static final long serialVersionUID = 1L;
/**
* 电梯id
*/
@ApiModelProperty(value = "电梯id")
private Long sequenceNbr;
/**
* 注册编码
*/
......@@ -83,4 +92,40 @@ public class EsElevatorDto {
@ApiModelProperty(value = "警情id")
private String alertId;
/**
* 是否当天
*/
@ApiModelProperty(value = "是否当天")
private Boolean isToday ;
/**
* 发生时间
*/
@ApiModelProperty(value = "发生时间")
private Date happenTime ;
/**
* 故障类型
*/
@ApiModelProperty(value = "故障类型")
private String type ;
/**
* 物联服务提供商
*/
@ApiModelProperty(value = "物联服务提供商")
private String IOTServiceProvider ;
/**
* 处置状态
*/
@ApiModelProperty(value = "处置状态")
private String status ;
/**
* 设备种类
*/
@ApiModelProperty(value = "设备种类")
private String category ;
}
package com.yeejoin.amos.boot.module.tzs.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 维保人员DTO
*/
@Data
@ApiModel(value="MainPersonDto", description="维保人员DTO")
public class MainPersonDto {
@ApiModelProperty(value = "维保人员名称")
private String name;
@ApiModelProperty(value = "维保人员电话")
private String telephone;
@ApiModelProperty(value = "维保单位id")
private String orgId;
@ApiModelProperty(value = "警情id")
private String alertId;
@ApiModelProperty(value = "维保单位名称")
private String orgName;
@ApiModelProperty(value = "维保单位地址")
private String orgAddress;
@ApiModelProperty(value = "使用单位地址")
private String unitAddress;
}
package com.yeejoin.amos.boot.module.tzs.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 获取微信扫一扫签名信息
*/
@Data
@ApiModel(value="SignatureDto", description="获取微信扫一扫签名信息")
public class SignatureDto {
@ApiModelProperty(value = "时间戳")
private String timestamp;
@ApiModelProperty(value = "随机字符串")
private String noncestr;
@ApiModelProperty(value = "url地址")
private String url;
}
package com.yeejoin.amos.boot.module.tzs.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
*
*
* @author litw
* @date 2021-09-28
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tz_elevator_alarm")
public class ElevatorAlarm extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 电梯注册码
*/
@TableField("register_code")
private String registerCode;
/**
* 原始故障编号
*/
@TableField("fault_id")
private String faultId;
/**
* 故障发生时间
*/
@TableField("start_date")
private Date startDate;
/**
* 故障类型
*/
@TableField("type")
private String type;
/**
* 处置状态。0:处置完成。1:故障发生 2:发出通知 3:处置响应 4:处置到场 5:误报
*/
@TableField("deal_status")
private Integer dealStatus;
/**
* 处置时间
*/
@TableField("deal_date")
private Date dealDate;
/**
* 处置人
*/
@TableField("deal_person")
private Integer dealPerson;
/**
* 现场确认是否困人。0:不困人,1:困人
*/
@TableField("is_trap")
private Integer isTrap;
/**
* 是否自恢复 0:否1:是
*/
@TableField("selfrepair")
private Integer selfrepair;
/**
* 故障发生时的总接触器吸合或是断开。0:吸合,1:断开
*/
@TableField("deal_note")
private Integer dealNote;
/**
* 是否自恢复 0:否1:是
*/
@TableField("main_contactor")
private Integer mainContactor;
/**
* 故障发生时的运行接触器吸合或是断开。0:吸合,1:断开
*/
@TableField("run_contactor")
private Integer runContactor;
/**
* 故障发生时的安全回路是否断开 0:正常,1:断开
*/
@TableField("circuit")
private Integer circuit;
/**
* 故障发生时的轿厢运行状态。1:停止,2:运行
*/
@TableField("car_status")
private Integer carStatus;
/**
* 故障发生时的方向。1:无方向 2:上行 3:下行
*/
@TableField("direction")
private Integer direction;
/**
* 故障发生时的轿厢是否在门区。1:轿厢在门区 0:轿厢在非门区
*/
@TableField("is_zone")
private Integer isZone;
/**
* 故障发生时的当前物理楼层
*/
@TableField("floor")
private Integer floor;
/**
* 故障发生时的关门到位 1:关门到位,0:无关门到位信号
*/
@TableField("door_status")
private Integer doorStatus;
/**
* 故障发生时的上极限是否动作 0:否,1:是
*/
@TableField("up_limit")
private Integer upLimit;
/**
* 故障发生时的下极限是否动作 0:否,1:是
*/
@TableField("down_limit")
private Integer downLimit;
/**
* 故障发生时的轿厢报警按钮是否动作 0:否,1:是
*/
@TableField("alarm")
private Integer alarm;
/**
* 累计运行小时数,保留到小数点后两位
*/
@TableField("hours")
private Double hours;
/**
* 累计运行次数
*/
@TableField("run_count")
private Integer runCount;
}
package com.yeejoin.amos.boot.module.tzs.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
*
*
* @author litw
* @date 2021-09-28
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tz_elevator_status")
public class ElevatorStatus extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 电梯注册码
*/
@TableField("register_code")
private String registerCode;
/**
* 原始状态编号
*/
@TableField("status_id")
private String statusId;
/**
* 是否在线。1:是,0:否
*/
@TableField("is_online")
private Integer isOnline;
/**
* 运行数据上传时间
*/
@TableField("upload_date")
private Date uploadDate;
/**
* 总接触器吸合或是断开。0:吸合,1:断开
*/
@TableField("main_contactor")
private Integer mainContactor;
/**
* 运行接触器吸合或是断开。0:吸合,1:断开
*/
@TableField("run_contactor")
private Integer runContactor;
/**
* 安全回路是否断开,0:正常,1:断开
*/
@TableField("circuit")
private Integer circuit;
/**
* 当前电梯运行模式。1:停止服务 2:正常运行 3:检修 4:消防返回 5:消防员运行 6:应急电源运行 7:地震模式 8: 未知
*/
@TableField("service_model")
private Integer serviceModel;
/**
* 轿厢运行状态。1:停止,2:运行
*/
@TableField("lift_status")
private Integer liftStatus;
/**
* 轿厢运行方向。1:无方向 2:上行 3:下行
*/
@TableField("lift_direction")
private Integer liftDirection;
/**
* 轿厢是否在门区。1:轿厢在门区 0:轿厢在非门区
*/
@TableField("is_zone")
private Integer isZone;
/**
* 运行速度
*/
@TableField("elevator_speed")
private Integer elevatorSpeed;
/**
* 当前物理楼层
*/
@TableField("curr_floor")
private Integer currFloor;
/**
* 关门到位 1:关门到位,0:无关门到位信号
*/
@TableField("door_status")
private Integer doorStatus;
/**
* 上极限是否动作 0:否,1:是
*/
@TableField("up_limit")
private Integer upLimit;
/**
* 下极限是否动作 0:否,1:是
*/
@TableField("down_limit")
private Integer downLimit;
/**
* 轿厢报警按钮是否动作 0:否,1:是
*/
@TableField("alarm")
private Integer alarm;
/**
* 轿厢内是否有人 0:无,1:有
*/
@TableField("person_flag")
private Integer personFlag;
/**
* 累计运行小时数,保留到小数点后两位
*/
@TableField("hours")
private Double hours;
/**
* 累计运行次数
*/
@TableField("run_count")
private Integer runCount;
}
......@@ -48,7 +48,7 @@ public class EsElevator {
/**
* 所属区域代码
*/
@Field(type = FieldType.Text)
@Field(type = FieldType.Text, searchAnalyzer = "ik_max_word", analyzer = "ik_max_word")
private String regionCode;
/**
......
package com.yeejoin.amos.boot.module.tzs.api.enums;
/**
*
* <pre>
* 电梯故障处置状态枚举
* </pre>
*
* @author gwb
* @version $Id: LiftServiceModelEnum.java, v 0.1 2021年9月29日 上午9:24:15 gwb Exp $
*/
public enum LiftAlarmDealStatusEnum{
DISPOSAL_COMPLETED(0,"处置完成"),
FAULT_OCCURRENCE(1,"故障发生"),
GIVE_NOTICE(2,"发出通知"),
DISPOSAL_RESPONSE(3,"处置响应"),
DISPOSAL_SITE(4,"处置到场"),
FALSE_ALARM(5,"误报");
/**
* 编码
*/
private Integer code;
/**
* 名称
*/
private String name;
// 构造方法
private LiftAlarmDealStatusEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName()
{
return name;
}
public static LiftAlarmDealStatusEnum getEnum(Integer code)
{
for (LiftAlarmDealStatusEnum liftAlarmDealStatusEnum : LiftAlarmDealStatusEnum.values())
{
if (liftAlarmDealStatusEnum.getCode().equals(code))
{
return liftAlarmDealStatusEnum;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.tzs.api.enums;
/**
*
* <pre>
* 电梯安全回路状态枚举
* </pre>
*
* @author gwb
* @version $Id: LiftCircuitStatusEnum.java, v 0.1 2021年9月29日 上午9:23:00 gwb Exp $
*/
public enum LiftBitStatusEnum{
NO(1,"否"),
YES (2,"是");
/**
* 编码
*/
private Integer code;
/**
* 名称
*/
private String name;
// 构造方法
private LiftBitStatusEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName()
{
return name;
}
public static LiftBitStatusEnum getEnum(Integer code)
{
for (LiftBitStatusEnum liftBitStatusEnum : LiftBitStatusEnum.values())
{
if (liftBitStatusEnum.getCode().equals(code))
{
return liftBitStatusEnum;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.tzs.api.enums;
/**
*
* <pre>
* 电梯安全回路状态枚举
* </pre>
*
* @author gwb
* @version $Id: LiftCircuitStatusEnum.java, v 0.1 2021年9月29日 上午9:23:00 gwb Exp $
*/
public enum LiftCircuitStatusEnum{
NORMAL(0,"正常"),
BREAK (1,"断开");
/**
* 编码
*/
private Integer code;
/**
* 名称
*/
private String name;
// 构造方法
private LiftCircuitStatusEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName()
{
return name;
}
public static LiftCircuitStatusEnum getEnum(Integer code)
{
for (LiftCircuitStatusEnum liftCircuitStatusEnum : LiftCircuitStatusEnum.values())
{
if (liftCircuitStatusEnum.getCode().equals(code))
{
return liftCircuitStatusEnum;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.tzs.api.enums;
/**
*
* <pre>
* 电梯接触器状态枚举
* </pre>
*
* @author gwb
* @version $Id: LiftContactorStatusEnum.java, v 0.1 2021年9月29日 上午9:08:16 gwb Exp $
*/
public enum LiftContactorStatusEnum{
PULL(0,"吸合"),
BREAK (1,"断开");
/**
* 编码
*/
private Integer code;
/**
* 名称
*/
private String name;
// 构造方法
private LiftContactorStatusEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName()
{
return name;
}
public static LiftContactorStatusEnum getEnum(Integer code)
{
for (LiftContactorStatusEnum liftContactorStatusEnum : LiftContactorStatusEnum.values())
{
if (liftContactorStatusEnum.getCode().equals(code))
{
return liftContactorStatusEnum;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.tzs.api.enums;
/**
*
* <pre>
* 电梯轿厢运行方向枚举
* </pre>
*
* @author gwb
* @version $Id: LiftDirectionEnum.java, v 0.1 2021年9月29日 上午9:33:40 gwb Exp $
*/
public enum LiftDirectionEnum{
No (1,"无方向"),
Up (2,"上行"),
Down (3,"下行");
/**
* 编码
*/
private Integer code;
/**
* 名称
*/
private String name;
// 构造方法
private LiftDirectionEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName()
{
return name;
}
public static LiftDirectionEnum getEnum(Integer code)
{
for (LiftDirectionEnum liftDirectionEnum : LiftDirectionEnum.values())
{
if (liftDirectionEnum.getCode().equals(code))
{
return liftDirectionEnum;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.tzs.api.enums;
/**
*
* <pre>
* 电梯关门到位枚举
* </pre>
*
* @author gwb
* @version $Id: LiftDoorStatusEnum.java, v 0.1 2021年9月29日 上午9:39:52 gwb Exp $
*/
public enum LiftDoorStatusEnum{
NOT_CLOSED (1,"无关门到位信号"),
CLOSE (2,"关门到位");
/**
* 编码
*/
private Integer code;
/**
* 名称
*/
private String name;
// 构造方法
private LiftDoorStatusEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName()
{
return name;
}
public static LiftDoorStatusEnum getEnum(Integer code)
{
for (LiftDoorStatusEnum liftDoorStatusEnum : LiftDoorStatusEnum.values())
{
if (liftDoorStatusEnum.getCode().equals(code))
{
return liftDoorStatusEnum;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.tzs.api.enums;
/**
*
* <pre>
* 电梯是否在线枚举
* </pre>
*
* @author gwb
* @version $Id: IsOnlineEnum.java, v 0.1 2021年9月29日 上午9:08:16 gwb Exp $
*/
public enum LiftIsOnlineEnum{
OFF(0,"离线"),
ON(1,"在线");
/**
* 编码
*/
private Integer code;
/**
* 名称
*/
private String name;
// 构造方法
private LiftIsOnlineEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName()
{
return name;
}
public static LiftIsOnlineEnum getEnum(Integer code)
{
for (LiftIsOnlineEnum liftIsOnlineEnum : LiftIsOnlineEnum.values())
{
if (liftIsOnlineEnum.getCode().equals(code))
{
return liftIsOnlineEnum;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.tzs.api.enums;
/**
*
* <pre>
* 电梯轿厢是否在门区
* </pre>
*
* @author gwb
* @version $Id: LiftIszoneEnum.java, v 0.1 2021年9月29日 上午9:35:27 gwb Exp $
*/
public enum LiftIszoneEnum{
NON_DOOR_AREA(0,"轿厢在非门区"),
DOOR_AREA (1,"轿厢在门区");
/**
* 编码
*/
private Integer code;
/**
* 名称
*/
private String name;
// 构造方法
private LiftIszoneEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName()
{
return name;
}
public static LiftIszoneEnum getEnum(Integer code)
{
for (LiftIszoneEnum liftIszoneEnum : LiftIszoneEnum.values())
{
if (liftIszoneEnum.getCode().equals(code))
{
return liftIszoneEnum;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.tzs.api.enums;
/**
*
* <pre>
* 电梯运行模式枚举
* </pre>
*
* @author gwb
* @version $Id: LiftServiceModelEnum.java, v 0.1 2021年9月29日 上午9:24:15 gwb Exp $
*/
public enum LiftServiceModelEnum{
STOP_SERVICE(1,"停止服务"),
NORMAL_OPERATION(2,"正常运行"),
OVERHAUL(3,"检修"),
FIRE_RETURN(4,"消防返回"),
FIREFIGHTER_OPERATION(5,"消防员运行"),
EMERGENCY_POWER_OPERATION(6,"应急电源运行"),
SEISMIC_MODEL(7,"地震模式"),
UNKNOWN (8,"未知");
/**
* 编码
*/
private Integer code;
/**
* 名称
*/
private String name;
// 构造方法
private LiftServiceModelEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName()
{
return name;
}
public static LiftServiceModelEnum getEnum(Integer code)
{
for (LiftServiceModelEnum liftCircuitStatusEnum : LiftServiceModelEnum.values())
{
if (liftCircuitStatusEnum.getCode().equals(code))
{
return liftCircuitStatusEnum;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.tzs.api.enums;
/**
*
* <pre>
* 电梯运行状态枚举
* </pre>
*
* @author gwb
* @version $Id: LiftStatusEnum.java, v 0.1 2021年9月29日 上午9:32:16 gwb Exp $
*/
public enum LiftStatusEnum{
STOP (1,"停止"),
RUN (2,"运行");
/**
* 编码
*/
private Integer code;
/**
* 名称
*/
private String name;
// 构造方法
private LiftStatusEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName()
{
return name;
}
public static LiftStatusEnum getEnum(Integer code)
{
for (LiftStatusEnum liftStatusEnum : LiftStatusEnum.values())
{
if (liftStatusEnum.getCode().equals(code))
{
return liftStatusEnum;
}
}
return null;
}
}
......@@ -62,10 +62,13 @@ public interface AlertCalledMapper extends BaseMapper<AlertCalled> {
String alertStage,
String alertStatus,
String address);
Map<String, Integer> getTodayEmergencyCount();
Map<String, Integer> getTodayEmergencyCount(String regionCode);
Map<String, Integer> getImportantEventCount();
Map<String, Integer> getImportantEventDetail();
Map<String, Integer> getImportantEventCount(String regionCode);
List<Map<String, Object>> getImportantEventDetail(String type,String regionCode);
List<Map<String, Object>> getTodayEmergencyDetail(String rescueTotal,String rescueComplete, String regionCode);
}
package com.yeejoin.amos.boot.module.tzs.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.tzs.api.dto.MainPersonDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskListDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchTask;
......@@ -22,4 +23,6 @@ public interface DispatchTaskMapper extends BaseMapper<DispatchTask> {
WechatMyTaskDto getTaskInfoByTaskId(@Param("taskId") Long taskId);
List<WechatMyTaskListDto> getTaskListByPhonePager(@Param("phone") String phone,@Param("typeCode") String typeCode, @Param("current") Long current);
List<MainPersonDto> todayTaskPerson();
}
package com.yeejoin.amos.boot.module.tzs.api.mapper;
import com.yeejoin.amos.boot.module.tzs.api.entity.ElevatorAlarm;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* Mapper 接口
*
* @author litw
* @date 2021-09-28
*/
public interface ElevatorAlarmMapper extends BaseMapper<ElevatorAlarm> {
}
package com.yeejoin.amos.boot.module.tzs.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorWlInfoDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.Elevator;
import java.util.List;
/**
* Mapper 接口
*
......@@ -11,4 +14,21 @@ import com.yeejoin.amos.boot.module.tzs.api.entity.Elevator;
*/
public interface ElevatorMapper extends BaseMapper<Elevator> {
List<ElevatorWlInfoDto> queryElevatorList(String address,
String registerCode,
Integer rescueCode,
String type,
Integer dealStatus,
Long sequenceNbr,
int current, int size);
List<ElevatorWlInfoDto> queryElevatorListDetails(String address,
String registerCode,
Integer rescueCode,
String type,
Integer dealStatus,
Long sequenceNbr
);
int queryElevatorListCount();
}
package com.yeejoin.amos.boot.module.tzs.api.mapper;
import com.yeejoin.amos.boot.module.tzs.api.entity.ElevatorStatus;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* Mapper 接口
*
* @author litw
* @date 2021-09-28
*/
public interface ElevatorStatusMapper extends BaseMapper<ElevatorStatus> {
}
......@@ -63,4 +63,6 @@ public interface IAlertCalledService {
AlertHandlerDto getHandlerInfo(String alertId);
Object getCalledInfo();
}
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tzs.api.service;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchTaskDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.MainPersonDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatDispatchFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMessageDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskDto;
......@@ -42,4 +43,8 @@ public interface IDispatchTaskService {
* @return
*/
WechatMessageDto getWechatMessageDtoByDispatchTaskDto(DispatchTaskDto dispatchTaskDto);
List<MainPersonDto> todayTaskPerson();
}
package com.yeejoin.amos.boot.module.tzs.api.service;
/**
* 接口类
*
* @author litw
* @date 2021-09-28
*/
public interface IElevatorAlarmService {
}
package com.yeejoin.amos.boot.module.tzs.api.service;
/**
* 接口类
*
* @author litw
* @date 2021-09-28
*/
public interface IElevatorStatusService {
}
......@@ -260,12 +260,12 @@
<select id="getTodayEmergencyCount" resultType="java.util.Map">
SELECT
COUNT(alarm_type_code = '960') as sleepyTncidentTotal,
COUNT(tz.alarm_type_code = '960') as sleepyTncidentTotal,
sum(
CASE
WHEN
alarm_type_code = '960'
AND alert_stage_code IN ('861', '862')
tz.alarm_type_code = '960'
AND alert_stage_code IN ('860','861', '862')
THEN
1
ELSE
......@@ -274,9 +274,9 @@
) as rescueTotal ,
sum(
CASE
WHEN alarm_type_code = '960'
WHEN tz.alarm_type_code = '960'
AND
alert_stage_code in
tz.alert_stage_code in
('864','865','866') THEN
1
ELSE
......@@ -285,45 +285,147 @@
) as
rescueComplete
FROM
tz_alert_called where is_delete=0
tz_alert_called tz left join tcb_elevator el on tz.equipment_id = el.sequence_nbr where tz.is_delete=0
and tz.call_time >= (select current_date())
and (select date_add(current_date(), interval 1 day)) >= tz.call_time
<if test="regionCode != null and regionCode != ''">
AND el.region_code like CONCAT(CONCAT('%',#{regionCode}),'%')
</if>
</select>
<select id="getImportantEventCount" resultType="java.util.Map">
select count(1) as importantEventCount from (
SELECT
count(afv.alert_called_id) as importantEventCount
ac.*
FROM
tz_alert_called ac
LEFT JOIN (
INNER JOIN (
SELECT
*
alert_called_id
FROM
tz_alert_form_value
WHERE
tz_alert_form_value.field_value IS NOT NULL
AND tz_alert_form_value.field_value != ''
AND field_code IN ('injured_num', 'die_num')
AND tz_alert_form_value.field_value != '0'
AND field_code IN ('injured_num', 'die_num')
and tz_alert_form_value.is_delete=0
group by alert_called_id
) afv ON ac.sequence_nbr = afv.alert_called_id
WHERE
ac.alarm_type_code = '960' and ac.is_delete=0
) tzs left join tcb_elevator te on tzs.equipment_id = te.sequence_nbr
where 1=1
and tzs.call_time >= (select current_date())
and (select date_add(current_date(), interval 1 day)) >= tzs.call_time
<if test="regionCode != null and regionCode != ''">
AND te.region_code like CONCAT(CONCAT('%',#{regionCode}),'%')
</if>
</select>
<select id="getImportantEventDetail" resultType="java.util.Map">
select tzs.contact_phone,tzs.rec_user_name,
tzs.type,tzs.emergency_person,tzs.alarm_type,tzs.alert_source,tzs.address,
tzs.device_id,tzs.contact_user,tzs.alarm_type_code,tzs.sequence_nbr,date_format(tzs.call_time,"%Y-%m-%d %H:%i:%S") call_time,
tzs.rec_user_id,tzs.registration_code,tzs.emergency_call,tzs.type_code,tzs.equipment_id
,te.latitude ,te.region_code ,te.longitude,tzs.injured from (
SELECT
ac.*
ac.*,'有伤亡' as injured
FROM
tz_alert_called ac
LEFT JOIN (
INNER JOIN (
SELECT
*
alert_called_id
FROM
tz_alert_form_value
WHERE
tz_alert_form_value.field_value IS NOT NULL
AND tz_alert_form_value.field_value != ''
AND field_code IN ('injured_num', 'die_num')
AND tz_alert_form_value.field_value != '0'
AND field_code IN ('injured_num', 'die_num')
and tz_alert_form_value.is_delete=0
group by alert_called_id
) afv ON ac.sequence_nbr = afv.alert_called_id
WHERE
ac.alarm_type_code = '960' and ac.is_delete=0
) tzs left join tcb_elevator te on tzs.equipment_id = te.sequence_nbr
where 1=1
and tzs.call_time >= (select current_date())
and (select date_add(current_date(), interval 1 day)) >= tzs.call_time
<if test="regionCode != null and regionCode != ''">
AND te.region_code like CONCAT(CONCAT('%',#{regionCode}),'%')
</if>
</select>
<select id="getTodayEmergencyDetail" resultType="java.util.Map">
select tzs.contact_phone,tzs.rec_user_name,
tzs.type,tzs.emergency_person,tzs.alarm_type,tzs.alert_source,tzs.address,
tzs.device_id,tzs.contact_user,tzs.alarm_type_code,tzs.sequence_nbr,date_format(tzs.call_time,"%Y-%m-%d %H:%i:%S") call_time,
tzs.rec_user_id,tzs.registration_code,tzs.emergency_call,tzs.type_code,tzs.equipment_id
,te.latitude ,te.region_code ,te.longitude,tzs.injured from (
SELECT
ac.*,'有伤亡' as injured
FROM
tz_alert_called ac
INNER JOIN (
SELECT
alert_called_id
FROM
tz_alert_form_value
WHERE
tz_alert_form_value.field_value IS NOT NULL
AND tz_alert_form_value.field_value != ''
AND field_code IN ('injured_num', 'die_num')
and tz_alert_form_value.is_delete=0
group by alert_called_id
) afv ON ac.sequence_nbr = afv.alert_called_id
WHERE
ac.alarm_type_code = '960' and ac.is_delete=0
) tzs left join tcb_elevator te on tzs.equipment_id = te.sequence_nbr
where 1=1
and tzs.call_time >= (select current_date())
and (select date_add(current_date(), interval 1 day)) >= tzs.call_time
<if test="regionCode != null and regionCode != ''">
AND te.region_code like CONCAT(CONCAT('%',#{regionCode}),'%')
</if>
<if test="rescueTotal != null and rescueTotal != ''">
AND tzs.alert_stage_code in ('861','862')
</if>
<if test="rescueComplete != null and rescueComplete != ''">
AND tzs.alert_stage_code in ('864','865','866')
</if>
union all
select tzs.contact_phone,tzs.rec_user_name,
tzs.type,tzs.emergency_person,tzs.alarm_type,tzs.alert_source,tzs.address,
tzs.device_id,tzs.contact_user,tzs.alarm_type_code,tzs.sequence_nbr,date_format(tzs.call_time,"%Y-%m-%d %H:%i:%S") call_time,
tzs.rec_user_id,tzs.registration_code,tzs.emergency_call,tzs.type_code,tzs.equipment_id
,te.latitude ,te.region_code ,te.longitude,tzs.injured from (
select *,'无伤亡' as injured from tz_alert_called where sequence_nbr not in (
SELECT
alert_called_id
FROM
tz_alert_form_value
WHERE
tz_alert_form_value.field_value IS NOT NULL
AND tz_alert_form_value.field_value != ''
AND field_code IN ('injured_num', 'die_num')
and tz_alert_form_value.is_delete=0
group by alert_called_id
)
) tzs left join tcb_elevator te on tzs.equipment_id = te.sequence_nbr
where 1=1
and tzs.call_time >= (select current_date())
and (select date_add(current_date(), interval 1 day)) >= tzs.call_time
<if test="regionCode != null and regionCode != ''">
AND te.region_code like CONCAT(CONCAT('%',#{regionCode}),'%')
</if>
<if test="rescueTotal != null and rescueTotal != ''">
AND tzs.alert_stage_code in ('861','862')
</if>
<if test="rescueComplete != null and rescueComplete != ''">
AND tzs.alert_stage_code in ('864','865','866')
</if>
</select>
</mapper>
......
......@@ -86,5 +86,20 @@
limit #{current},5
</select>
<select id="todayTaskPerson" resultType="com.yeejoin.amos.boot.module.tzs.api.dto.MainPersonDto">
select
t.response_user_name as name,
t.response_user_tel as telephone,
t.response_org_id as orgId,
t.response_org_name as orgName,
t.alert_id as alertId,
m.address as orgAddress,
u.address as unitAddress
from tz_dispatch_task t
left JOIN cb_maintenance_unit m on m.sequence_nbr = t.response_org_id
left JOIN tcb_use_unit u on u.sequence_nbr = t.response_org_id
where to_days(t.dispatch_time) = TO_DAYS(now())
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.tzs.api.mapper.ElevatorAlarmMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.tzs.api.mapper.ElevatorMapper">
<select id="queryElevatorList" resultType="com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorWlInfoDto">
select
te.sequence_nbr sequenceNbr,
concat(te.province,te.city,te.district) area,
te.category,
te.register_code registerCode,
te.rescue_code rescueCode,
te.address ,
tea.start_date happenTime,
tea.type ,
case tea.deal_status
when '0' then '处置完成'
when '1' then '故障发生'
when '2' then '发出通知'
when '3' then '处置响应'
when '4' then '处置到场'
when '5' then '误报'
ELSE '' END dealStatus,
'电梯' categoryName,
'立信远大科技有限公司' IotServiceProvider
from tcb_elevator te inner join tz_elevator_alarm tea on
te.register_code = tea.register_code
where 1=1
<if test="address != null and address != ''">
and te.address like CONCAT(CONCAT('%',#{address}),'%')
</if>
<if test="registerCode != null and registerCode != ''">
and te.register_code like CONCAT(CONCAT('%',#{registerCode}),'%')
</if>
<if test="rescueCode != null and rescueCode != ''">
and te.rescue_code like CONCAT(CONCAT('%',#{rescueCode}),'%')
</if>
<if test="type != null and type != ''">
and tec.type = #{type}
</if>
<if test="dealStatus != null and dealStatus != ''">sequenceNbr
and tec.deal_status = #{dealStatus}
</if>
<if test="sequenceNbr != null and sequenceNbr != ''">
and te.sequence_nbr = #{sequenceNbr}
</if>
order by start_date DESC limit #{current},#{size}
</select>
<select id="queryElevatorListDetails" resultType="com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorWlInfoDto">
select
te.sequence_nbr sequenceNbr,
concat(te.province,te.city,te.district) area,
te.category,
te.register_code registerCode,
te.rescue_code rescueCode,
te.address ,
tea.start_date happenTime,
tea.type ,
case tea.deal_status
when '0' then '处置完成'
when '1' then '故障发生'
when '2' then '发出通知'
when '3' then '处置响应'
when '4' then '处置到场'
when '5' then '误报'
ELSE '' END dealStatus,
'电梯' categoryName,
'立信远大科技有限公司' IotServiceProvider
from tcb_elevator te inner join tz_elevator_alarm tea on
te.register_code = tea.register_code
where 1=1
<if test="sequenceNbr != null and sequenceNbr != ''">
and te.sequence_nbr = #{sequenceNbr}
</if>
</select>
<select id="queryElevatorListCount" resultType="int">
select count(1) from (
select
te.sequence_nbr
from tcb_elevator te inner join tz_elevator_alarm tea on
te.register_code = tea.register_code
where 1=1
) te
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.tzs.api.mapper.ElevatorStatusMapper">
</mapper>
......@@ -9,6 +9,8 @@
tcb_rescue_station.address,
tcb_rescue_station.rescue_leader_id,
tcb_rescue_station.rescue_leader,
tcb_rescue_station.longitude,
tcb_rescue_station.latitude,
tcb_rescue_station.rescue_leader_phone,
(
ACOS(
......
......@@ -61,7 +61,7 @@ import java.util.stream.Collectors;
* @date 2021-06-29
*/
@RestController
@Api(tags = "消防水源Api")
@Api(tags = "stationApi")
@RequestMapping(value = "/water-resource")
public class WaterResourceController extends BaseController {
......
......@@ -144,7 +144,7 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
IPage<FailureDetailsDto> iPage = new Page<>();
iPage.setRecords(list);
iPage.setTotal(list.size());
iPage.setTotal(baseMapper.selectAllCount());
return iPage;
}
......
......@@ -187,7 +187,10 @@ public class FailureMaintainServiceImpl extends BaseService<FailureMaintainDto,
FailureMaintainDto failureMaintainDto = new FailureMaintainDto();
BeanUtils.copyProperties(failureMaintain,failureMaintainDto);
List<SourceFile> attachment = sourceFileServiceImpl.findBySourceId(failureMaintain.getSequenceNbr());
failureMaintainDto.setAttachment(attachment);
if (attachment .size()>0){
failureMaintainDto.setAttachment(attachment);
}
failureMaintainDtos.add(failureMaintainDto);
}
return failureMaintainDtos;
......
......@@ -7,6 +7,7 @@ import java.util.stream.Collectors;
import com.yeejoin.amos.boot.module.common.biz.service.impl.FirefightersServiceImpl;
import com.yeejoin.amos.boot.module.common.biz.service.impl.KeySiteServiceImpl;
import com.yeejoin.amos.boot.module.jcs.api.entity.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
......@@ -45,11 +46,6 @@ import com.yeejoin.amos.boot.module.jcs.api.dto.ControllerDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.ControllerEquipDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.KeyValueLabel;
import com.yeejoin.amos.boot.module.jcs.api.dto.PowerData;
import com.yeejoin.amos.boot.module.jcs.api.entity.Aircraft;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertCalled;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertLocationLog;
import com.yeejoin.amos.boot.module.jcs.api.entity.Template;
import com.yeejoin.amos.boot.module.jcs.api.enums.AlertStageEnums;
import com.yeejoin.amos.boot.module.jcs.api.enums.ControllerTypeEnum;
import com.yeejoin.amos.boot.module.jcs.api.enums.DutyInfoEnum;
......@@ -95,6 +91,8 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto, AlertCal
FirefightersServiceImpl firefightersService;
@Autowired
KeySiteServiceImpl keySiteService;
@Autowired
AlertSubmittedServiceImpl alertSubmittedService;
@Autowired
private AlertLocationLogServiceImpl alertLocationLogService;
......@@ -171,12 +169,22 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto, AlertCal
String[] split = sort!=null? sort.split(","):null;
String data = split!=null? RedisKey.humpToLine(split[0]):null;
/*2407 【web】日常值班>警情记录>接警记录,表头排序功能失效 chenzhao 09-28 start*/
if (data != null ) {
if (data.equals("alertType") || data.equals("alertSource") || data.equals("alarmType")) {
data = data + "Code";
}
if (data.equals("alertStatusStr")){
data = "alert_status";
}
}
/*2407 【web】日常值班>警情记录>接警记录,表头排序功能失效 chenzhao 09-28 end*/
String lift =split!=null?split[1]:null;
List<AlertCalled> list = alertCalledMapper.selectAllPage(pageBean.getCurrent(), pageBean.getSize(), alertStatus, alertTypeCode, alertSourceCode, startTime, endTime,data,lift);
IPage<AlertCalled> iPage = new Page<>();
iPage.setRecords(list);
iPage.setTotal(list.size());
iPage.setTotal(alertCalledMapper.selectAllCount(alertStatus, alertTypeCode, alertSourceCode, startTime, endTime));
return iPage;
/* bug2407 表头筛选失效 补充条件方法 XML中添加了排序条件判断 data代表排序条件 lift 升降序 陈召 2021-09-03 结束*/
}
......@@ -244,6 +252,7 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto, AlertCal
alertFormValuelist.stream().forEach(alertFormValue -> {
if(alertFormValue.getFieldCode().equals("responseLevel")){
alertCalled.setResponseLevelCode(alertFormValue.getFieldValueCode());
alertCalled.setResponseLevel(alertFormValue.getFieldValue());
}
});
}
......
......@@ -159,6 +159,9 @@ public class DataSourcesImpl implements DataSources {
case "getEquipCategory":
str =getEquipCategory();
break;
case "getEquipDefinition":
str =getEquipDefinition();
break;
}
}
return str;
......@@ -424,4 +427,23 @@ public class DataSourcesImpl implements DataSources {
}
private String[] getEquipDefinition() {
String type = "9306";
ResponseModel<List<LinkedHashMap<String, Object>>> response = equipFeignClient.listLikePage(type);
List<LinkedHashMap<String, Object>> categoryList = response.getResult();
String[] str = null;
List<String> resultList = Lists.newArrayList();
if(categoryList!=null&&categoryList.size()>0){
categoryList.forEach(t -> {
resultList.add(t.get("name") + "@" + t.get("id")+ "@" +t.get("categoryId")+ "@" +t.get("unitName"));
});
str = resultList.toArray(new String[resultList.size()]);
}
return str;
}
}
......@@ -642,6 +642,11 @@ if (excelDtoList != null && excelDtoList.size() > 0) {
String[] employeeHierarchy = item.getHighestEducation().split("@");
firefightersEducation.setHighestEducation(employeeHierarchy[1]);
}
if (item.getAcademicDegree()!= null) {
String[] employeeHierarchy = item.getAcademicDegree().split("@");
firefightersEducation.setAcademicDegree(employeeHierarchy[1]);
}
iFirefightersPostService.save(firefightersPost);
ifirefightersEducationService.save(firefightersEducation);
ifirefightersWorkexperienceService.save(firefightersWorkexperience);
......@@ -826,6 +831,15 @@ if (excelDtoList != null && excelDtoList.size() > 0) {
item.setEquipCategoryName(equipCategory[0]);
item.setEquipCategoryId(Long.parseLong(equipCategory[1]));
}
if (item.getEquipName() != null) {
String[] equipCategory = item.getEquipName().split("@");
item.setEquipId(Long.parseLong(equipCategory[1]));
item.setEquipName(equipCategory[0]);
item.setEquipCategoryId(Long.parseLong(equipCategory[2]));
item.setEquipCategoryName(equipCategory[3]);
}
item = Bean.toPo(getCurrentInfo(), item);
waterResourceServiceImpl.importByExcel(item);
});
......
......@@ -10,6 +10,7 @@ import java.util.stream.Collectors;
import javax.annotation.Resource;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -262,8 +263,14 @@ public class FireTeamServiceImpl extends BaseService<FireTeamDto, FireTeam, Fire
*/
public void deleteById(Long parent) throws Exception {
// 查询是否有下属队伍
List<FireTeamDto> fireTeamList = queryForList(null, false, parent);
if (!ValidationUtil.isEmpty(fireTeamList) && fireTeamList.size() > 0) {
// List<FireTeamDto> fireTeamList = queryForList(null, false, parent);
/*3026 【web】日常管理>机场单位,删除有级联数据的部门时,应无法直接删除 chenzhao 2021-09-28 start*/
LambdaQueryWrapper<FireTeam> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(FireTeam::getParent,parent);
wrapper.eq(BaseEntity::getIsDelete,0);
List<FireTeam> fireTeams = baseMapper.selectList(wrapper);
/*3026 【web】日常管理>机场单位,删除有级联数据的部门时,应无法直接删除 chenzhao 2021-09-28 end*/
if (!ValidationUtil.isEmpty(fireTeams) && fireTeams.size() > 0) {
// 有下属队伍不能删除
throw new BaseException("该队伍下有下级队伍,不能删除", null, "该队伍下有下级队伍,不能删除");
}
......
......@@ -158,7 +158,7 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
// 3.消防队伍-监控大队
List<FireBrigadeResourceDto> monitorFireBrigadeList1 = fireTeamService.listMonitorFireBrigade(FireBrigadeTypeEnum.医疗救援队.getCode());
FireBrigadeResourceDto monitorResourceDto1 = new FireBrigadeResourceDto();
monitorResourceDto1.setId("0");
monitorResourceDto1.setId("-1");
monitorResourceDto1.setName(FireBrigadeTypeEnum.医疗救援队.getName());
monitorResourceDto1.setType(FireBrigadeTypeEnum.医疗救援队.getKey());
monitorResourceDto1.setChildren(monitorFireBrigadeList1);
......
......@@ -87,7 +87,7 @@ public class HiddenDangerController extends AbstractBaseController {
@RequestParam(value = "planId") Long planId,
@ApiParam(value = "导入数据文件", required = true) @RequestBody MultipartFile file) {
List<HiddenDangerImportDto> list = FileHelper.importExcel(file, 0, 1, HiddenDangerImportDto.class);
iHiddenDangerService.importDanger(getSelectedOrgInfo(),planId, list);
iHiddenDangerService.importDanger(getSelectedOrgInfo(), planId, list);
return ResponseHelper.buildResponse("导入成功");
}
......@@ -106,7 +106,7 @@ public class HiddenDangerController extends AbstractBaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "隐患删除")
@DeleteMapping("{latentDangerIds}")
public ResponseModel deleteByIds(@ApiParam(value = "隐患ids,隐患模块主键")@PathVariable String latentDangerIds){
public ResponseModel deleteByIds(@ApiParam(value = "隐患ids,隐患模块主键") @PathVariable String latentDangerIds) {
List<Long> ids = Arrays.stream(latentDangerIds.split(",")).mapToLong(Long::parseLong).boxed().collect(Collectors.toList());
Boolean b = iHiddenDangerService.deleteBatch(ids);
return ResponseHelper.buildResponse(b);
......
......@@ -33,7 +33,7 @@ public class PlanAuditController extends AbstractBaseController {
public ResponseModel auditWorkFlow(
@ApiParam(value = "工作流流水实例", required = true) @RequestBody PlanAuditLog planAuditLog,
@ApiParam(value = "当前计划状态", required = true) @RequestParam Integer status,
@ApiParam(value = "执行控制条件", required = true) @RequestParam String condition) {
@ApiParam(value = "执行控制条件", required = true) @RequestParam String condition) throws Exception {
ReginParams reginParams = getSelectedOrgInfo();
return ResponseHelper.buildResponse(planAuditService.auditWorkFlow(planAuditLog, status, condition, reginParams));
}
......
......@@ -9,6 +9,7 @@ import com.yeejoin.amos.supervision.common.enums.DangerCheckTypeLevelEnum;
import com.yeejoin.amos.supervision.common.enums.PlanStatusEnum;
import com.yeejoin.amos.supervision.core.common.request.AddPlanRequest;
import com.yeejoin.amos.supervision.core.common.response.PlanPointRespone;
import com.yeejoin.amos.supervision.core.framework.PersonIdentify;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -88,6 +89,7 @@ public class PlanController extends AbstractBaseController {
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PersonIdentify
@ApiOperation(value = "巡检计划新增及编辑", notes = "巡检计划新增及编辑")
@RequestMapping(value = "/addPlan", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
public CommonResponse checkPlanAdd(@ApiParam(value = "巡检计划", required = true) @RequestBody AddPlanRequest param) {
......
......@@ -89,15 +89,14 @@ public class RoutePointItemController extends AbstractBaseController {
/**
* 删除巡检路线点项关系
*
* @param ids
* @return CommonResponse
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "删除巡检路线点项关系", notes = "删除巡检路线点项关系")
@PostMapping(value = "/deleteByIdIn", produces = "application/json;charset=UTF-8")
public CommonResponse deleteByIdIn(@ApiParam(value = "ids", required = true) @RequestParam List<Long> ids) {
public CommonResponse deleteByIdIn(@ApiParam(value = "ids", required = true) @RequestParam List<String> itemIds, @RequestParam Long planId) {
try {
routePointItemService.deleteByIdIn(ids);
routePointItemService.deleteByIdIn(itemIds, planId);
return CommonResponseUtil.success();
} catch (Exception e) {
log.error(e.getMessage(), e);
......
......@@ -11,4 +11,10 @@ public interface PlanTaskDetailMapper extends BaseMapper {
Map findPlanTaskByTaskIdAndPointId(@Param(value="planTaskId") long planTaskId,@Param(value="pointId") long pointId);
int findPlanTaskDetailByTaskId( @Param(value="planTaskId") long planTaskId);
/**
* 更新隐患信息
* @param planTaskDetailId 主键id
*/
void updateDanger(@Param(value="planTaskDetailId") long planTaskDetailId);
}
......@@ -26,6 +26,11 @@ public interface IRoutePointItemDao extends BaseDao<RoutePointItem, Long> {
@Modifying
@Transactional
@Query(value = "delete from p_route_point_item WHERE input_item_id in (?1) and plan_id = (?2)", nativeQuery = true)
int deleteByRoutePointItemIdAndPlanId(List<String> itemIds, Long planId);
@Modifying
@Transactional
@Query(value = "delete from p_route_point_item WHERE plan_id = ?1", nativeQuery = true)
void deleteByPlanId(Long planId);
}
......@@ -1427,7 +1427,7 @@ public class CheckServiceImpl implements ICheckService {
List<CheckShot> checkShots = new ArrayList<>();
InputItem inputItem = inputItemDao.getOne(item.getInputItemId());
CheckInput checkInput = new CheckInput();
if (!ObjectUtils.isEmpty(item.getId())) {
if (!ObjectUtils.isEmpty(item.getId()) && item.getId() != 0) {
checkInput.setId(item.getId());
// 更新操作,将该点下所有图片删除,其余更新
checkShotDao.deleteByCheckInputId(item.getId());
......@@ -1559,6 +1559,9 @@ public class CheckServiceImpl implements ICheckService {
planTaskDetailMapper.finishTaskDetail(Long.parseLong(detail.get("planTaskDetailId").toString()), recordParam.getPointId(),
recordParam.getPlanTaskId(), mtUserSeq, userName, size, planTaskStatus);
// p_plan_task_detail更新隐患个数
planTaskDetailMapper.updateDanger(Long.parseLong(detail.get("planTaskDetailId").toString()));
// 隐患入库
if (!ObjectUtils.isEmpty(allDanger)) {
saveDanger(allDanger, planTask, check, recordParam);
......
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.supervision.business.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.base.Joiner;
......@@ -251,7 +252,10 @@ public class HiddenDangerServiceImpl implements IHiddenDangerService {
Map<String, Object> result = new HashMap<>(32);
Optional<Plan> op = iPlanDao.findById(hiddenDangerDto.getPlanId());
Plan plan = op.orElseThrow((() -> new RuntimeException("计划不存在")));
Point point = iPointDao.findById(hiddenDangerDto.getPointId()).orElseThrow(() -> new RuntimeException("单位不存在"));
Point point = new Point();
if (!ObjectUtils.isEmpty(hiddenDangerDto.getPointId())) {
point = iPointDao.findById(hiddenDangerDto.getPointId()).orElseThrow(() -> new RuntimeException("单位不存在"));
}
//检查级别
DangerCheckTypeLevelEnum dangerCheckTypeLevelEnum = DangerCheckTypeLevelEnum.getEumByCode(plan.getCheckLevel());
//检查类型
......@@ -267,6 +271,8 @@ public class HiddenDangerServiceImpl implements IHiddenDangerService {
result.put("bizName", hiddenDangerDto.getInputItemName());
result.put("accompanyingUserId", plan.getLeadPeopleIds());
result.put("accompanyingUserName", plan.getLeadPeopleNames());
result.put("checkUnitId",plan.getCheckUnitId());
result.put("checkUnitName",plan.getCheckUnitName());
this.buildCheckInfo(result, hiddenDangerDto.getCheckInputId());
return result;
}
......
package com.yeejoin.amos.supervision.business.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.service.IWorkflowExcuteService;
import com.yeejoin.amos.boot.biz.common.workflow.feign.WorkflowFeignService;
import com.yeejoin.amos.supervision.business.dao.repository.IPlanAuditDao;
import com.yeejoin.amos.supervision.business.dao.repository.IPlanAuditLogDao;
import com.yeejoin.amos.supervision.business.dao.repository.IPlanDao;
import com.yeejoin.amos.supervision.business.service.intfc.IPlanAuditService;
import com.yeejoin.amos.supervision.common.enums.CheckTypeSuEnum;
import com.yeejoin.amos.supervision.common.enums.DangerCheckTypeLevelEnum;
import com.yeejoin.amos.supervision.common.enums.PlanStatusEnum;
import com.yeejoin.amos.supervision.common.enums.WorkFlowBranchEnum;
import com.yeejoin.amos.supervision.dao.entity.Plan;
import com.yeejoin.amos.supervision.dao.entity.PlanAudit;
import com.yeejoin.amos.supervision.dao.entity.PlanAuditLog;
import org.apache.commons.lang3.ObjectUtils;
......@@ -16,6 +22,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -34,26 +41,28 @@ public class PlanAuditServiceImpl implements IPlanAuditService {
@Autowired
private IPlanDao planDao;
@Autowired
WorkflowFeignService workflowFeignService;
@Override
@Transactional
public Boolean auditWorkFlow(PlanAuditLog planAuditLog, Integer status, String condition, ReginParams reginParams) {
public Boolean auditWorkFlow(PlanAuditLog planAuditLog, Integer status, String condition, ReginParams reginParams) throws Exception {
PlanAudit planAudit = planAuditDao.findByPlanId(planAuditLog.getPlanId());
if (ObjectUtils.isNotEmpty(planAudit)) {
String instanceId = planAudit.getProcessInstanceId();
Map<String, Object> taskAuthMap = workflowExcuteService.checkTaskAuthMap(instanceId, reginParams);
if (taskAuthMap != null && !taskAuthMap.isEmpty()) {
// 获取当前计划
Plan plan = planDao.getOne(planAuditLog.getPlanId());
String taskId = taskAuthMap.get("taskId") == null ? null : taskAuthMap.get("taskId").toString();
String name = taskAuthMap.get("name") == null ? null : taskAuthMap.get("name").toString();
String roleName = reginParams.getRole().getRoleName();
boolean b = workflowExcuteService.CompleteTask(instanceId, condition, reginParams);
workflowExcuteService.CompleteTask(instanceId, condition, reginParams);
ReginParams.PersonIdentity personIdentity = reginParams.getPersonIdentity();
workflowExcuteService.setTaskAssign(instanceId, personIdentity.getPersonSeq());
if (b) {
PlanStatusEnum statusEnum = PlanStatusEnum.getEnum(status);
planDao.updatePlanStatus(statusEnum != null ? statusEnum.getNextStatus() : PlanStatusEnum.DRAFT.getValue(), planAuditLog.getPlanId());
} else {
planDao.updatePlanStatus(PlanStatusEnum.DRAFT.getValue(), planAuditLog.getPlanId());
}
String userId = reginParams.getUserModel().getUserId();
// 更新计划状态,指定执行人
updatePlanStatus(condition,plan,instanceId,userId);
// 更新流水表
planAuditLog.setPlanId(planAudit.getPlanId());
planAuditLog.setPlanAuditId(planAudit.getId());
planAuditLog.setExcuteUserId(personIdentity.getPersonSeq());
......@@ -63,12 +72,42 @@ public class PlanAuditServiceImpl implements IPlanAuditService {
planAuditLog.setFlowJson(condition);
planAuditLog.setRoleName(roleName);
planAuditLogDao.save(planAuditLog);
return b;
return Boolean.TRUE;
}
}
return Boolean.FALSE;
}
/**
* 更新计划id
* @param condition 同意0 不同意1
* @param plan 当前计划对象
*/
private void updatePlanStatus (String condition, Plan plan, String instanceId, String userId) throws Exception {
String fail = "1";
if (fail.equals(condition)) {
planDao.updatePlanStatus(PlanStatusEnum.DRAFT.getValue(), plan.getId());
} else {
//检查级别
DangerCheckTypeLevelEnum dangerCheckTypeLevelEnum = DangerCheckTypeLevelEnum.getEumByCode(plan.getCheckLevel());
//检查类型
CheckTypeSuEnum checkTypeSuEnum = CheckTypeSuEnum.getEumByCode(plan.getCheckTypeId());
String branch = PlanServiceImpl.workFlowExcuteBranch(dangerCheckTypeLevelEnum.getCondition(), checkTypeSuEnum.getCondition());
if (branch.equals(WorkFlowBranchEnum.DAILY.getWorkFlowBranch())) {
if (PlanStatusEnum.EXAMINE_THREE.getValue() == plan.getStatus()) {
workflowExcuteService.setTaskAssign(instanceId, plan.getLeadPeopleIds());
}
PlanStatusEnum statusEnum = PlanStatusEnum.getEnum(plan.getStatus());
planDao.updatePlanStatus(statusEnum != null ? statusEnum.getNextStatus() : PlanStatusEnum.DRAFT.getValue(), plan.getId());
} else {
if (PlanStatusEnum.EXAMINE_ONE.getValue() == plan.getStatus()) {
workflowExcuteService.setTaskAssign(instanceId, plan.getLeadPeopleIds());
}
planDao.updatePlanStatus(PlanStatusEnum.EXAMINE_FORMULATE.getValue(), plan.getId());
}
}
}
@Override
public List<PlanAuditLog> listByPlanId(Long planId) {
Sort.Order idOrder = new Sort.Order(Sort.Direction.ASC, "createDate");
......
......@@ -193,7 +193,7 @@ public class PlanServiceImpl implements IPlanService {
planAuditLog.setFlowTaskName("发起审核");
planAuditLog.setExcuteUserId(param.getCreateBy());
planAuditLog.setExcuteUserName(personIdentity.getPersonName());
planAuditLog.setExcuteState(1);
planAuditLog.setExcuteState(0);
planAuditLog.setRoleName(reginParams.getRole().getRoleName());
planAuditLogDao.save(planAuditLog);
}
......
package com.yeejoin.amos.supervision.business.service.impl;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.google.common.collect.Lists;
import com.yeejoin.amos.supervision.business.dao.mapper.InputItemMapper;
import com.yeejoin.amos.supervision.business.dao.mapper.RoutePointItemMapper;
......@@ -88,9 +89,9 @@ public class RoutePointItemServiceImpl implements IRoutePointItemService {
}
@Override
public Integer deleteByIdIn(List<Long> ids) {
if (CollectionUtils.isNotEmpty(ids)) {
return routePointItemDao.deleteByRoutePointItemId(ids);
public Integer deleteByIdIn(List<String> itemIds, Long planId) {
if (CollectionUtils.isNotEmpty(itemIds) && ObjectUtils.isNotEmpty(planId)) {
return routePointItemDao.deleteByRoutePointItemIdAndPlanId(itemIds, planId);
}
return 0;
}
......
......@@ -6,7 +6,7 @@ import com.yeejoin.amos.supervision.dao.entity.PlanAuditLog;
import java.util.List;
public interface IPlanAuditService {
Boolean auditWorkFlow(PlanAuditLog planAuditLog, Integer status, String condition, ReginParams reginParams);
Boolean auditWorkFlow(PlanAuditLog planAuditLog, Integer status, String condition, ReginParams reginParams) throws Exception;
/**
* 查询指定计划的审批日志
......
......@@ -14,5 +14,5 @@ public interface IRoutePointItemService {
Page<RoutePointItemVo> queryPage(InputItemPageParam criterias);
Integer deleteByIdIn(List<Long> ids);
Integer deleteByIdIn(List<String> itemIds, Long planId);
}
......@@ -17,6 +17,7 @@ import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCallInfoDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledObjsDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledQueryDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertPaperInfoDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ESAlertCalledDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ESAlertCalledRequestDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertCalled;
......@@ -92,6 +93,9 @@ public class AlertCalledController extends BaseController {
@Autowired
WechatRelationServiceImpl wechatRelationService;
@Autowired
ElevatorServiceImpl elevatorService;
/**
* 新增警情接警填报记录
*
......@@ -155,6 +159,40 @@ public class AlertCalledController extends BaseController {
return ResponseHelper.buildResponse(alertCalledDtoReturn);
}
/**
* 警情信息
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getAlertInfo")
@ApiOperation(httpMethod = "GET", value = "警情信息", notes = "警情信息")
public ResponseModel<AlertPaperInfoDto> getAlertInfo(@RequestParam Long alertId
) {
AlertCalled alertCalled = iAlertCalledService.getById(alertId);
AlertPaperInfoDto alertPaperInfoDto = new AlertPaperInfoDto();
alertPaperInfoDto.setAlertId(alertCalled.getSequenceNbr());
iAlertCalledService.selectAlertCalledByIdNew(alertPaperInfoDto);
LambdaQueryWrapper<Elevator> queryWrapper1= new LambdaQueryWrapper<>();
queryWrapper1.eq(Elevator::getSequenceNbr,alertCalled.getEquipmentId());
Elevator elevator = elevatorService.getOne(queryWrapper1);
alertPaperInfoDto.setArea(elevator.getProvince() + elevator.getCity() + elevator.getDistrict());
alertPaperInfoDto.setAddress(alertCalled.getAddress());
alertPaperInfoDto.setCallTime(alertCalled.getCallTime());
alertPaperInfoDto.setLatitude(elevator.getLatitude());
alertPaperInfoDto.setLongitude(elevator.getLongitude());
alertPaperInfoDto.setAlarmTypeCode(alertCalled.getAlarmTypeCode());
alertPaperInfoDto.setRegionCode(elevator.getRegionCode());
alertPaperInfoDto.setRescueCode(elevator.getRescueCode());
alertPaperInfoDto.setAlertStatus(alertCalled.getAlertStage());
return ResponseHelper.buildResponse(alertPaperInfoDto);
}
/**
*
* <pre>
......@@ -458,21 +496,21 @@ public class AlertCalledController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getTodayEmergencyCount")
@ApiOperation(httpMethod = "GET", value = "今日应急统计", notes = "今日应急统计")
public ResponseModel<Object> getTodayEmergencyCount() {
return ResponseHelper.buildResponse(iAlertCalledService.getTodayEmergencyCount());
}
/**
* 重大事件
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getImportantEventCount")
@ApiOperation(httpMethod = "GET", value = "重要大事件统计", notes = "重要大事件统计")
public ResponseModel<Object> getImportantEventCount() {
return ResponseHelper.buildResponse(iAlertCalledService.getImportantEventCount());
public ResponseModel<Object> getTodayEmergencyCount(@RequestParam String regionCode) {
return ResponseHelper.buildResponse(iAlertCalledService.getTodayEmergencyCount(regionCode));
}
//
// /**
// * 重大事件
// */
// @TycloudOperation(ApiLevel = UserType.AGENCY)
// @GetMapping(value = "/getImportantEventCount")
// @ApiOperation(httpMethod = "GET", value = "重要大事件统计", notes = "重要大事件统计")
// public ResponseModel<Object> getImportantEventCount() {
// return ResponseHelper.buildResponse(iAlertCalledService.getImportantEventCount());
//
// }
/**
* 获取重大事件或者今日应急的统计详情信息
......@@ -480,8 +518,8 @@ public class AlertCalledController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getImportantEventOrTodayEmergencyCount")
@ApiOperation(httpMethod = "GET", value = "重要大事件统计", notes = "重要大事件统计")
public ResponseModel<Object> getImportantEventOrTodayEmergencyCount(@RequestParam String type) {
return ResponseHelper.buildResponse(iAlertCalledService.getImportantEventOrTodayEmergencyCount(type));
public ResponseModel<Object> getImportantEventOrTodayEmergencyCount(@RequestParam String type,@RequestParam String regionCode) {
return ResponseHelper.buildResponse(iAlertCalledService.getImportantEventOrTodayEmergencyCount(type,regionCode));
}
......@@ -495,4 +533,15 @@ public class AlertCalledController extends BaseController {
public ResponseModel<Object> getHandlerInfo(@RequestParam String alertId) {
return ResponseHelper.buildResponse(iAlertCalledService.getHandlerInfo(alertId));
}
/**
* 获取接警未派遣事件
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getCalledInfo")
@ApiOperation(httpMethod = "GET", value = "获取接警未派遣事件", notes = "获取接警未派遣事件")
public ResponseModel<Object> getCalledInfo() {
return ResponseHelper.buildResponse(iAlertCalledService.getCalledInfo());
}
}
......@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.tzs.biz.controller;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.module.tzs.api.dto.MainPersonDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatDispatchFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskDto;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -98,4 +99,16 @@ public class DispatchTaskController extends BaseController {
public ResponseModel<WechatMyTaskDto> saveWechatFeedBack(@RequestBody WechatDispatchFeedbackDto model) {
return ResponseHelper.buildResponse(dispatchTaskServiceImpl.saveWechatFeedBack(model));
}
/**
* 查找当日派遣人员信息
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "查找当日派遣人员信息", notes = "查找当日派遣人员信息")
@GetMapping(value = "/list/todayTaskPerson")
public ResponseModel<List<MainPersonDto>> todayTaskPerson() {
List<MainPersonDto> list = dispatchTaskServiceImpl.todayTaskPerson();
return ResponseHelper.buildResponse(list);
}
}
package com.yeejoin.amos.boot.module.tzs.biz.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorAlarmDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.ElevatorAlarm;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.ElevatorAlarmServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.Bean;
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 javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
*
*
* @author litw
* @date 2021-09-28
*/
@RestController
@Api(tags = "Api")
@RequestMapping(value = "/elevator-alarm")
public class ElevatorAlarmController extends BaseController {
@Autowired
ElevatorAlarmServiceImpl elevatorAlarmServiceImpl;
/**
* 新增
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<ElevatorAlarmDto> save(@RequestBody ElevatorAlarmDto model) {
model = elevatorAlarmServiceImpl.createWithModel(model);
return ResponseHelper.buildResponse(model);
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新")
public ResponseModel<ElevatorAlarmDto> updateBySequenceNbrElevatorAlarm(@RequestBody ElevatorAlarmDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(elevatorAlarmServiceImpl.updateWithModel(model));
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr){
return ResponseHelper.buildResponse(elevatorAlarmServiceImpl.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<ElevatorAlarmDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(elevatorAlarmServiceImpl.queryBySeq(sequenceNbr));
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "分页查询", notes = "分页查询")
public ResponseModel<Page<ElevatorAlarmDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
(value = "size") int size) {
Page<ElevatorAlarmDto> page = new Page<ElevatorAlarmDto>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(elevatorAlarmServiceImpl.queryForElevatorAlarmPage(page));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<ElevatorAlarmDto>> selectForList() {
return ResponseHelper.buildResponse(elevatorAlarmServiceImpl.queryForElevatorAlarmList());
}
/**
* 根据电梯注册码查询物联信息
*
* @param registerCode 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getElevatorStatus")
@ApiOperation(httpMethod = "GET",value = "根据电梯注册码查询物联信息", notes = "根据电梯注册码查询物联信息")
public ResponseModel<ElevatorAlarmDto> selectOne(@RequestParam String registerCode) {
LambdaQueryWrapper<ElevatorAlarm> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ElevatorAlarm::getRegisterCode,registerCode);
queryWrapper.orderByDesc(ElevatorAlarm::getStartDate);
List<ElevatorAlarm> elevatorStatus = elevatorAlarmServiceImpl.list(queryWrapper);
if(null != elevatorStatus && elevatorStatus.size() > 0) {
ElevatorAlarmDto dto = new ElevatorAlarmDto();
Bean.toPo(elevatorStatus.get(0),dto);
return ResponseHelper.buildResponse(dto);
}
return ResponseHelper.buildResponse(null);
}
}
package com.yeejoin.amos.boot.module.tzs.biz.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......@@ -12,6 +13,7 @@ import com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorInfoDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorMaintenanceInfoDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorNewDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorTestInfoDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorWlInfoDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.EsElevatorDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.Elevator;
import com.yeejoin.amos.boot.module.tzs.api.entity.MaintainInfo;
......@@ -22,19 +24,23 @@ import com.yeejoin.amos.boot.module.tzs.biz.service.impl.ElevatorServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.MaintainInfoServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.TestInfoServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.utils.BeanDtoVoUtils;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
......@@ -42,6 +48,7 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
......@@ -77,6 +84,12 @@ public class ElevatorController extends BaseController {
@Autowired
ESElevatorServiceImpl esElevatorService;
@Autowired
private EmqKeeper emqKeeper;
@Value("${mqtt.topic.elevator.push}")
private String elevatorpushTopic;
/**
* 新增电梯
*
......@@ -356,7 +369,7 @@ public class ElevatorController extends BaseController {
public void init() {
IPage<Elevator> elevatorPage = new Page<>();
Integer count = elevatorService.count();
for(int i = 0; i <= count % 500 ; i ++ ) {
for(int i = 0; i <= 3 ; i ++ ) {
elevatorPage.setCurrent(i);
elevatorPage.setSize(500);
elevatorPage = elevatorService.page(elevatorPage);
......@@ -369,20 +382,96 @@ public class ElevatorController extends BaseController {
/**
* ES分页查询电梯信息
* ES查询电梯信息
*
* @param current 当前页
* @param size 每页大小
* @param elevatorDto 查询参数
* @return 查询结果
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/query_elevator_list_es", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "ES分页查询电梯信息", notes = "ES分页查询电梯信息")
public ResponseModel<IPage<EsElevatorDto>> queryElevatorListEs(@RequestParam(value = "current") int current, @RequestParam(value = "size") int size,
@ApiOperation(httpMethod = "POST", value = "ES查询电梯信息", notes = "ES查询电梯信息")
public ResponseModel<List<EsElevatorDto>> queryElevatorListEs(
@RequestBody EsElevatorDto elevatorDto){
Page<EsElevatorDto> page = esElevatorService.queryByKeys(elevatorDto,current,size);
List<EsElevatorDto> page = esElevatorService.queryByKeys(elevatorDto);
return ResponseHelper.buildResponse(page);
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr sequenceNbr
* @return 返回结果
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/pushInfo/{sequenceNbr}", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据电梯id 给主屏推送电梯信息", notes = "根据电梯id 给主屏推送电梯信息")
public ResponseModel<Boolean> pushElevatorInfo(@PathVariable Long sequenceNbr) {
ElevatorDto elevator = elevatorService.selectBySeq(sequenceNbr);
AgencyUserModel user =getUserInfo();
// 推送经纬度 人员姓名 电话 警情id
JSONObject jsonObject = new JSONObject();
jsonObject.put("userId",user.getUserId());
jsonObject.put("elevatorId",elevator.getSequenceNbr());
jsonObject.put("rescueCode",elevator.getRescueCode());
jsonObject.put("registerCode",elevator.getRegisterCode());
jsonObject.put("address",elevator.getAddress());
jsonObject.put("useUnit",elevator.getUseUnit());
jsonObject.put("useStatus",elevator.getUseStatus());
jsonObject.put("useSiteCategory",elevator.getUseSiteCategory());
jsonObject.put("city",elevator.getCity());
jsonObject.put("district",elevator.getDistrict());
try {
emqKeeper.getMqttClient().publish(elevatorpushTopic, jsonObject.toString().getBytes("UTF-8"), 1, false);
} catch (MqttException e) {
logger.error("mqtt发送失败" +jsonObject );
} catch (UnsupportedEncodingException e) {
logger.error("mqtt发送失败" +jsonObject );
}
return ResponseHelper.buildResponse(true);
}
/**
* 查询电梯物联信息
*
* @param elevatorDto 查询参数
* @return 查询结果
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/query_elevator_list_wl", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "查询电梯信息", notes = "查询电梯信息")
public ResponseModel<IPage<ElevatorWlInfoDto>> queryElevatorList(
ElevatorWlInfoDto elevatorDto){
IPage<ElevatorWlInfoDto> iPage = new Page<>();
iPage.setCurrent((elevatorDto.getPage()-1)*elevatorDto.getSize());
iPage.setSize(elevatorDto.getSize());
iPage.setRecords( elevatorService.queryElevatorList(elevatorDto));
iPage.setTotal(elevatorService.queryElevatorListCount());
return ResponseHelper.buildResponse(iPage);
}
/**
* 查询电梯物联信息详情
*
* @param elevatorDto 查询参数
* @return 查询结果
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/query_elevator_list_wl_details", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "查询电梯信息", notes = "查询电梯信息")
public ResponseModel<ElevatorWlInfoDto> queryElevato(
@RequestBody ElevatorWlInfoDto elevatorDto){
if(null == elevatorDto.getSequenceNbr()) {
throw new BadRequest("参数错误");
}
List<ElevatorWlInfoDto> page = elevatorService.queryElevatorListDetails(elevatorDto);
if(page.size()>0) {
return ResponseHelper.buildResponse(page.get(0));
}
return ResponseHelper.buildResponse(null);
}
}
package com.yeejoin.amos.boot.module.tzs.biz.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorStatusHandleDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.ElevatorStatus;
import com.yeejoin.amos.boot.module.tzs.api.enums.LiftBitStatusEnum;
import com.yeejoin.amos.boot.module.tzs.api.enums.LiftDirectionEnum;
import com.yeejoin.amos.boot.module.tzs.api.enums.LiftDoorStatusEnum;
import com.yeejoin.amos.boot.module.tzs.api.enums.LiftIszoneEnum;
import com.yeejoin.amos.boot.module.tzs.api.enums.LiftServiceModelEnum;
import com.yeejoin.amos.boot.module.tzs.api.enums.LiftStatusEnum;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.ElevatorStatusServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
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.List;
/**
*
*
* @author litw
* @date 2021-09-28
*/
@RestController
@Api(tags = "物联电梯状态Api")
@RequestMapping(value = "/elevator-status")
public class ElevatorStatusController extends BaseController {
@Autowired
ElevatorStatusServiceImpl elevatorStatusServiceImpl;
/**
* 根据电梯注册码查询物联信息
*
* @param registerCode 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getElevatorStatus")
@ApiOperation(httpMethod = "GET",value = "根据电梯注册码查询物联信息", notes = "根据电梯注册码查询物联信息")
public ResponseModel<ElevatorStatusHandleDto> selectOne(@RequestParam String registerCode) {
LambdaQueryWrapper<ElevatorStatus> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ElevatorStatus::getRegisterCode,registerCode);
queryWrapper.orderByDesc(ElevatorStatus::getUploadDate);
List<ElevatorStatus> elevatorStatus = elevatorStatusServiceImpl.list(queryWrapper);
if(null != elevatorStatus && elevatorStatus.size() > 0) {
ElevatorStatus el = elevatorStatus.get(0);
ElevatorStatusHandleDto dto = new ElevatorStatusHandleDto();
dto.setDoorStatus(LiftDoorStatusEnum.getEnum(el.getDoorStatus()).getName());
dto.setIsZone(LiftIszoneEnum.getEnum(el.getIsZone()).getName());
dto.setLiftDirection(LiftDirectionEnum.getEnum(el.getLiftDirection()).getName());
dto.setPersonFlag(LiftBitStatusEnum.getEnum(el.getPersonFlag()).getName());
dto.setServiceModel(LiftServiceModelEnum.getEnum(el.getServiceModel()).getName());
dto.setCurrFloor(el.getCurrFloor());
dto.setLiftStatus(LiftStatusEnum.getEnum(el.getLiftStatus()).getName());
return ResponseHelper.buildResponse(dto);
}
return ResponseHelper.buildResponse(null);
}
}
......@@ -30,6 +30,8 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.Arrays;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
/**
......@@ -241,5 +243,29 @@ public class RescueStationController extends BaseController {
return ResponseHelper.buildResponse(iRescueStationService.getListByLatLonDistance(latitude,longitude,distance));
}
/**
* 根据警情id和距离返回救援机构信息
* @param alertId
* @return
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/alert/{alertId}/distance", method = RequestMethod.GET)
@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();
// 根据经纬度和距离返回救援机构信息
List<RescueStationDto> rescueStationDtos = new LinkedList<>();
List<RescueStationDto> list = iRescueStationService.getListByLatLonDistance(latitude,longitude,1000);
if(list.size() > 5) {
for(int i = 0 ; i < 5 ; i ++ ) {
rescueStationDtos.add(list.get(i));
}
}
return ResponseHelper.buildResponse(list.size() > 5 ? rescueStationDtos: list);
}
}
......@@ -9,6 +9,7 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.common.api.service.ISourceFileService;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledFormDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.SignatureDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatAccessDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMessageDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskDto;
......@@ -37,6 +38,9 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.transaction.annotation.Transactional;
......@@ -48,6 +52,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
......@@ -62,8 +67,10 @@ import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
......@@ -77,6 +84,8 @@ import java.util.Map;
@RequestMapping(value = "/wechatBack")
public class WechatController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(WechatController.class);
private long time = 600l;
@Value("${tzs.wechat.token}")
......@@ -85,6 +94,10 @@ public class WechatController extends BaseController {
@Value("${tzs.wechat.ticketurl}")
private String WECHAT_TICKETURL;
@Autowired
private EmqKeeper emqKeeper;
@Value("${mqtt.topic.task.personinfo}")
private String personInfoTopic;
@Autowired
RedisUtils redisUtils;
......@@ -136,35 +149,65 @@ public class WechatController extends BaseController {
}
}
/**
* 获取微信签名
* @param timestamp
* @param noncestr
* @param url
* @return
*/
@TycloudOperation(ApiLevel = UserType.ANONYMOUS , needAuth = false)
@GetMapping(value = "/getSignature")
@ApiOperation(httpMethod = "GET", value = "获取微信签名", notes = "获取微信签名")
public String getSignature(@RequestParam String timestamp,@RequestParam String noncestr,@RequestParam String url) {
@PostMapping(value = "/getSignature")
@ApiOperation(httpMethod = "POST", value = "获取微信签名", notes = "获取微信签名")
public ResponseModel<String> getSignature(@RequestBody SignatureDto signatureDto) {
List<String> params = new ArrayList<String>();
try {
if(!redisUtils.hasKey(RedisKey.WECHAT_TOKEN)){
throw new BadRequest("token不存在或已失效");
}
String token = redisUtils.get(RedisKey.WECHAT_TOKEN).toString();
String result = HttpUtils.doGet(WECHAT_TICKETURL+token+"&type=jsapi");
JSONObject jsonObject = JSONObject.parseObject(result);
String ticket = jsonObject.get("ticket").toString();
String ticket = null;
if(redisUtils.hasKey(RedisKey.WECHAT_JS_TOKEN)) {
ticket = redisUtils.get(RedisKey.WECHAT_JS_TOKEN).toString();
} else {
if(!redisUtils.hasKey(RedisKey.WECHAT_TOKEN)){
this.getAccessToken();
}
String token = redisUtils.get(RedisKey.WECHAT_TOKEN).toString();
String result = HttpUtils.doGet(WECHAT_TICKETURL+token+"&type=jsapi");
JSONObject jsonObject = JSONObject.parseObject(result);
ticket = jsonObject.get("ticket").toString();
redisUtils.set(RedisKey.WECHAT_JS_TOKEN,ticket, 600l);
}
params.add("jsapi_ticket="+ticket);
params.add(noncestr);
params.add(timestamp);
params.add(url);
Collections.sort(params);
params.add("noncestr=" + signatureDto.getNoncestr());
params.add("timestamp=" + signatureDto.getTimestamp());
params.add("url=" + signatureDto.getUrl());
logger.error("jsapi_ticket="+ticket);
logger.error("noncestr=" + signatureDto.getNoncestr());
logger.error("timestamp=" + signatureDto.getTimestamp());
logger.error("url=" + signatureDto.getUrl());
Collections.sort(params, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
char[] chars1=o1.toCharArray();
char[] chars2=o2.toCharArray();
int i=0;
while(i<chars1.length && i<chars2.length){
if(chars1[i]>chars2[i]){
return 1;
}else if(chars1[i]<chars2[i]){
return -1;
}else{
i++;
}
}
if(i==chars1.length){ //o1到头
return -1;
}
if(i== chars2.length){ //o2到头
return 1;
}
return 0;
}
});
String tokenStr = StringUtils.join(params,"&");
logger.error(tokenStr);
tokenStr = DigestUtils.sha1Hex(tokenStr);
return tokenStr;
return ResponseHelper.buildResponse(tokenStr);
} catch (Exception e) {
throw new BadRequest(e.getMessage());
}
......@@ -359,6 +402,23 @@ public class WechatController extends BaseController {
|| ValidationUtil.isEmpty(dto.getLongitude())){
throw new BadRequest("参数校验失败.");
}
// 推送经纬度 人员姓名 电话 警情id
JSONObject jsonObject = new JSONObject();
DispatchTask task = dispatchTaskServiceImpl.getById(dto.getTaskId());
jsonObject.put("personName",task.getResponseUserName());
jsonObject.put("personTel",task.getResponseUserTel());
jsonObject.put("latitude",dto.getLatitude());
jsonObject.put("longitude",dto.getLongitude());
jsonObject.put("alertId",task.getAlertId());
try {
emqKeeper.getMqttClient().publish(personInfoTopic, jsonObject.toString().getBytes("UTF-8"), 1, false);
} catch (MqttException e) {
logger.error("mqtt发送失败" +jsonObject );
} catch (UnsupportedEncodingException e) {
logger.error("mqtt发送失败" +jsonObject );
}
String distance = dispatchTaskService.returnDistanceByTaskId(dto.getTaskId(),dto.getLongitude(),dto.getLatitude());
return ResponseHelper.buildResponse(distance);
}
......
......@@ -12,6 +12,7 @@ import com.yeejoin.amos.boot.module.common.api.service.ISourceFileService;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperFormDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchTaskDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.MainPersonDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.RescueProcessDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatDispatchFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMessageDto;
......@@ -449,26 +450,40 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
// 根据警情分类 封装MessageDto
AlertCalled alertCalled = alertCalledServiceImpl.getById(dispatchTaskDto.getAlertId());
Map<String,String> data = new HashMap<>();
data.put("address",alertCalled.getAddress());
data.put("dispatchTime", DateUtils.date2LongStr(dispatchTaskDto.getDispatchTime()));
if(AlertStageEnums.KRJY.getId().equals(dispatchTaskDto.getAlertCode())) {
temp.setTemplateId(KRJY_TEMPID);
temp.setUrl(KRJY_URL);
temp.setUrl(KRJY_URL+ "?id=" + dispatchTaskDto.getSequenceNbr());
data.put("first","电梯困人任务已派遣,请尽快前往救援!");
data.put("keyword1",alertCalled.getAddress());
data.put("keyword2", DateUtils.date2LongStr(dispatchTaskDto.getDispatchTime()));
data.put("keyword3", alertCalled.getEmergencyCall());
data.put("remark", "请在收到任务后30分钟内到达人员被困位置进行救援!");
temp.setData(data);
} else if(AlertStageEnums.GZWX.getId().equals(dispatchTaskDto.getAlertCode())) {
temp.setTemplateId(WX_TEMPID);
temp.setUrl(WX_URL);
temp.setUrl(WX_URL + "?id=" + dispatchTaskDto.getSequenceNbr());
data.put("first","故障维修任务已派遣,请尽快前往救援!");
data.put("keyword1","故障维修");
data.put("keyword2", "电梯故障");
data.put("keyword3", alertCalled.getEmergencyPerson());
data.put("keyword4", alertCalled.getEmergencyCall());
data.put("keyword5", DateUtils.date2LongStr(dispatchTaskDto.getDispatchTime()));
data.put("remark", "任务已派遣,请尽快前往处置!");
temp.setData(data);
} else if(AlertStageEnums.TSZX.getId().equals(dispatchTaskDto.getAlertCode())) {
temp.setTemplateId(TS_TEMPID);
temp.setUrl(TS_URL);
temp.setUrl(TS_URL+ "?id=" + dispatchTaskDto.getSequenceNbr());
temp.setData(data);
}
return temp;
}
@Override
public List<MainPersonDto> todayTaskPerson() {
return baseMapper.todayTaskPerson();
}
@Transactional
@Override
public Boolean createDispatchTask(DispatchTaskDto dispatchTaskDto, AgencyUserModel sendUser) {
......@@ -587,6 +602,7 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
// 发送任务单
WechatRelation temp = wechatRelationServiceImpl.getOne(new LambdaQueryWrapper<WechatRelation>().eq(WechatRelation::getPhone,dispatchTaskDto.getResponseUserTel()));
if(temp != null && temp.getOpenId() != null) {
dispatchTaskDto.setSequenceNbr(dispatchTask.getSequenceNbr());
WechatMessageDto dto = this.getWechatMessageDtoByDispatchTaskDto(dispatchTaskDto);
wechatService.sendWechatModelMessage(temp.getOpenId() , dto);
}
......
......@@ -2,18 +2,18 @@ package com.yeejoin.amos.boot.module.tzs.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.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.tzs.api.dto.EsElevatorDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertCalled;
import com.yeejoin.amos.boot.module.tzs.api.entity.Elevator;
import com.yeejoin.amos.boot.module.tzs.api.entity.ElevatorAlarm;
import com.yeejoin.amos.boot.module.tzs.api.entity.EsElevator;
import com.yeejoin.amos.boot.module.tzs.api.enums.LiftAlarmDealStatusEnum;
import com.yeejoin.amos.boot.module.tzs.biz.dao.ESElavtorRepository;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
import org.springframework.data.elasticsearch.core.SearchHit;
import org.springframework.data.elasticsearch.core.SearchHits;
......@@ -25,6 +25,7 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
/**
*
......@@ -47,6 +48,12 @@ public class ESElevatorServiceImpl {
@Autowired
AlertCalledServiceImpl iAlertCalledService;
@Autowired
ElevatorServiceImpl elevatorService;
@Autowired
ElevatorAlarmServiceImpl elevatorAlarmServiceImpl;
@Value("${alertcall.es.synchrony.time}")
private Long time;
......@@ -69,8 +76,10 @@ public class ESElevatorServiceImpl {
esElevator.setCity(elevator.getCity());
esElevator.setDistrict(elevator.getDistrict());
esElevator.setLatitude(elevator.getLatitude());
esElevator.setLongitude(elevator.getLongitude());
esElevator.setRegisterCode(elevator.getRegisterCode());
esElevator.setRegionCode(elevator.getRegionCode());
esElevator.setRescueCode(elevator.getRescueCode());
esElavtorRepository.save(esElevator);
return esElevator;
......@@ -81,35 +90,48 @@ public class ESElevatorServiceImpl {
* 根据关键字查询文档,关键字不为空时按相关性从大到小排序
*
* @param elevatorDto 关键字
* @param current 当前页码
* @param size 页面大小
* @return
*/
@SuppressWarnings({ "rawtypes" })
public Page<EsElevatorDto> queryByKeys(EsElevatorDto elevatorDto, int current, int size) {
Page<EsElevatorDto> result = new Page<>(current, size);
public List<EsElevatorDto> queryByKeys(EsElevatorDto elevatorDto) {
String alarmTypeCode = elevatorDto.getAlarmTypeCode();
String address = elevatorDto.getAddress();
String regionCode = elevatorDto.getRegionCode();
String alertId = elevatorDto.getAlertId();
/**
* 通用匹配规则,条件构建
*/
BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
BoolQueryBuilder qb0 = QueryBuilders.boolQuery();
LambdaQueryWrapper<AlertCalled> queryWrapper = new LambdaQueryWrapper();
if(!ValidationUtil.isEmpty(alarmTypeCode)) {
BoolQueryBuilder qb0 = QueryBuilders.boolQuery();
LambdaQueryWrapper<AlertCalled> queryWrapper = new LambdaQueryWrapper();
queryWrapper.eq(AlertCalled::getAlarmTypeCode,alarmTypeCode);
queryWrapper.ge(AlertCalled::getCallTime, DateUtils.stampToDate(System.currentTimeMillis(),DateUtils.DATE_PATTERN));
queryWrapper.le(AlertCalled::getCallTime, DateUtils.stampToDate(DateUtils.dateAddDays(new Date(),1).getTime(),DateUtils.DATE_PATTERN));
List<AlertCalled> alertCalleds = iAlertCalledService.list(queryWrapper);
}
AlertCalled alertCalled = null;
List<AlertCalled> alertCalleds = null;
if(!ValidationUtil.isEmpty(alertId)) {
alertCalled = iAlertCalledService.getById(elevatorDto.getAlertId());
BoolQueryBuilder qb4 = QueryBuilders.boolQuery();
qb4.must(QueryBuilders.termQuery("sequenceNbr", alertCalled.getEquipmentId()));
boolMust.must(qb4);
} else {
if(elevatorDto.getIsToday() != null && elevatorDto.getIsToday()) {
queryWrapper.ge(AlertCalled::getCallTime, DateUtils.stampToDate(System.currentTimeMillis(),DateUtils.DATE_PATTERN));
queryWrapper.le(AlertCalled::getCallTime, DateUtils.stampToDate(DateUtils.dateAddDays(new Date(),1).getTime(),DateUtils.DATE_PATTERN));
}
alertCalleds = iAlertCalledService.list(queryWrapper);
List<Long> stringList = new ArrayList<>();
for (AlertCalled al: alertCalleds
) {
) {
stringList.add(al.getEquipmentId());
}
qb0.must(QueryBuilders.termsQuery("sequenceNbr", stringList.toArray()));
List<Long> listL = stringList.stream().distinct().collect(Collectors.toList());
qb0.should(QueryBuilders.termsQuery("sequenceNbr", listL.toArray()));
boolMust.must(qb0);
}
......@@ -124,22 +146,20 @@ public class ESElevatorServiceImpl {
if(!ValidationUtil.isEmpty(regionCode)) {
BoolQueryBuilder qb2= QueryBuilders.boolQuery().
filter(QueryBuilders. termQuery("regionCode", regionCode));
filter(QueryBuilders. matchPhraseQuery("regionCode", regionCode));
boolMust.must(qb2);
}
// 创建查询构造器
NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder()
// 分页
.withPageable(PageRequest.of(current, size))
// .withPageable(PageRequest.of(current, size))
// 排序
// .withSort(SortBuilders.fieldSort("callTimeLong").order(SortOrder.DESC))
//过滤条件
.withQuery(boolMust);
List<EsElevatorDto> list = new LinkedList<>();
long totle = 0;
try
{
SearchHits<EsElevator> searchHits =elasticsearchTemplate.search(queryBuilder.build(), EsElevator.class);
......@@ -148,17 +168,41 @@ public class ESElevatorServiceImpl {
{
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(searchHit.getContent());
EsElevatorDto esElevatorDto =JSONObject.toJavaObject(jsonObject, EsElevatorDto.class);
if(null != alertCalled) {
// Elevator elevator = elevatorService.getById(esElevatorDto.getSequenceNbr());
LambdaQueryWrapper<ElevatorAlarm> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(ElevatorAlarm::getRegisterCode,esElevatorDto.getRegisterCode());
queryWrapper1.orderByDesc(ElevatorAlarm::getStartDate);
List<ElevatorAlarm> elevatorAlarms = elevatorAlarmServiceImpl.list(queryWrapper1);
if(null != elevatorAlarms && elevatorAlarms.size() > 0) {
esElevatorDto.setType(elevatorAlarms.get(0).getType());
esElevatorDto.setStatus(LiftAlarmDealStatusEnum.getEnum(elevatorAlarms.get(0).getDealStatus()).getName());
}
esElevatorDto.setHappenTime(alertCalled.getCallTime());
esElevatorDto.setAlertId(String.valueOf(alertCalled.getSequenceNbr()));
esElevatorDto.setAlarmTypeCode(alertCalled.getAlarmTypeCode());
} else {
for (AlertCalled al: alertCalleds
) {
if(al.getEquipmentId().equals(esElevatorDto.getSequenceNbr())) {
esElevatorDto.setHappenTime(al.getCallTime());
esElevatorDto.setAlertId(String.valueOf(al.getSequenceNbr()));
esElevatorDto.setAlarmTypeCode(al.getAlarmTypeCode());
break;
}
}
}
list.add(esElevatorDto);
}
totle =searchHits.getTotalHits();
}
catch (Exception e)
{
// TODO: handle exception
}
result.setRecords(list);
result.setTotal(totle);
return result;
return list;
}
}
package com.yeejoin.amos.boot.module.tzs.biz.service.impl;
import com.yeejoin.amos.boot.module.tzs.api.entity.ElevatorAlarm;
import com.yeejoin.amos.boot.module.tzs.api.mapper.ElevatorAlarmMapper;
import com.yeejoin.amos.boot.module.tzs.api.service.IElevatorAlarmService;
import com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorAlarmDto;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;
/**
* 服务实现类
*
* @author litw
* @date 2021-09-28
*/
@Service
public class ElevatorAlarmServiceImpl extends BaseService<ElevatorAlarmDto,ElevatorAlarm,ElevatorAlarmMapper> implements IElevatorAlarmService {
/**
* 分页查询
*/
public Page<ElevatorAlarmDto> queryForElevatorAlarmPage(Page<ElevatorAlarmDto> page) {
return this.queryForPage(page, null, false);
}
/**
* 列表查询 示例
*/
public List<ElevatorAlarmDto> queryForElevatorAlarmList() {
return this.queryForList("" , false);
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.tzs.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.module.common.biz.service.impl.SourceFileServiceImpl;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorWlInfoDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.Elevator;
import com.yeejoin.amos.boot.module.tzs.api.mapper.ElevatorMapper;
import com.yeejoin.amos.boot.module.tzs.api.service.IElevatorService;
......@@ -33,6 +33,9 @@ public class ElevatorServiceImpl extends BaseService<ElevatorDto, Elevator, Elev
@Autowired
AlertCalledServiceImpl alertCalledServiceImpl;
@Autowired
ElevatorMapper elevatorMapper;
/**
* 保存电梯信息
*
......@@ -109,4 +112,23 @@ public class ElevatorServiceImpl extends BaseService<ElevatorDto, Elevator, Elev
throw new BadRequest("设备未找到");
return elevator;
}
public List<ElevatorWlInfoDto> queryElevatorList(ElevatorWlInfoDto esElevatorDto) {
return elevatorMapper.queryElevatorList(esElevatorDto.getAddress(),
esElevatorDto.getRegisterCode(),esElevatorDto.getRescueCode(),
esElevatorDto.getType(), !ValidationUtil.isEmpty(esElevatorDto.getDealStatus()) ? Integer.parseInt(esElevatorDto.getDealStatus()) :null
, esElevatorDto.getSequenceNbr(),(esElevatorDto.getPage()-1)*esElevatorDto.getSize(), esElevatorDto.getSize());
}
public List<ElevatorWlInfoDto> queryElevatorListDetails(ElevatorWlInfoDto esElevatorDto) {
return elevatorMapper.queryElevatorListDetails(esElevatorDto.getAddress(),
esElevatorDto.getRegisterCode(),esElevatorDto.getRescueCode(),
esElevatorDto.getType(), esElevatorDto.getDealStatus() != null ? Integer.parseInt(esElevatorDto.getDealStatus()) :null
, esElevatorDto.getSequenceNbr());
}
public int queryElevatorListCount() {
return elevatorMapper.queryElevatorListCount();
}
}
package com.yeejoin.amos.boot.module.tzs.biz.service.impl;
import com.yeejoin.amos.boot.module.tzs.api.entity.ElevatorStatus;
import com.yeejoin.amos.boot.module.tzs.api.mapper.ElevatorStatusMapper;
import com.yeejoin.amos.boot.module.tzs.api.service.IElevatorStatusService;
import com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorStatusDto;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;
/**
* 服务实现类
*
* @author litw
* @date 2021-09-28
*/
@Service
public class ElevatorStatusServiceImpl extends BaseService<ElevatorStatusDto,ElevatorStatus,ElevatorStatusMapper> implements IElevatorStatusService {
/**
* 分页查询
*/
public Page<ElevatorStatusDto> queryForElevatorStatusPage(Page<ElevatorStatusDto> page) {
return this.queryForPage(page, null, false);
}
/**
* 列表查询 示例
*/
public List<ElevatorStatusDto> queryForElevatorStatusList() {
return this.queryForList("" , false);
}
}
\ No newline at end of file
......@@ -180,6 +180,7 @@
p.name taskName,
p.check_type_name checkTypeName,
P.check_type_id checkTypeId,
p.id planId,
pt.status,
pt.user_id userId,
date_format(
......
......@@ -18,4 +18,17 @@
where pp.id = #{pointId}
and pt.id = #{planTaskId}
</select>
<update id="updateDanger">
UPDATE p_plan_task_detail pptd,
(SELECT SUM(pci.safety_danger_num) saf, SUM(pci.major_danger_num) maj, ptd.id FROM p_check_input pci
LEFT JOIN p_check pc ON pc.id = pci.check_id
LEFT JOIN p_plan_task_detail ptd ON ptd.id = pc.plan_task_detail_id
WHERE ptd.id = #{planTaskDetailId}) a
set
pptd.safety_danger_num = a.saf,
pptd.major_danger_num = a.maj
WHERE
pptd.id = a.id
</update>
</mapper>
\ No newline at end of file
......@@ -1168,8 +1168,8 @@
LEFT JOIN p_check_input pci ON pci.route_point_item_id = ppi.id
LEFT JOIN p_check_shot pcs ON pci.id = pcs.check_input_id
WHERE
prp.route_id = #{routeId} AND pii.is_delete = 0
AND pci.input_value is NULL OR pci.input_value <![CDATA[<>]]> 'pass'
prp.route_id = #{routeId} AND prp.point_id = #{pointId} AND pii.is_delete = 0 AND
( pci.input_value is NULL OR pci.input_value <![CDATA[<>]]> 'pass')
GROUP BY ppi.id
</select>
......
......@@ -48,13 +48,18 @@
SELECT
COUNT(1)
FROM
(SELECT
COUNT(1)
FROM
p_route_point_item pi
LEFT JOIN p_input_item i ON i.id = pi.input_item_id
<where>
<if test="name!=null"> and i.name like concat(concat("%",#{name}),"%")</if>
<if test="planId!=null"> and pi.plan_id = #{planId} </if>
<!-- <if test="orgCode!=null"> and i.org_Code = #{orgCode}</if>-->
</where>
<where>
<if test="name!=null"> and i.name like concat(concat("%",#{name}),"%")</if>
<if test="planId!=null"> and pi.plan_id = #{planId} </if>
<!-- <if test="orgCode!=null"> and i.org_Code = #{orgCode}</if>-->
</where>
GROUP BY i.id
) a
</select>
<!--查询 -->
<select id="queryPage" resultType="com.yeejoin.amos.supervision.business.vo.RoutePointItemVo">
......@@ -75,6 +80,7 @@
<if test="planId!=null"> and pi.plan_id = #{planId} </if>
<!-- <if test="orgCode!=null"> and i.org_Code = #{orgCode}</if>-->
</where>
GROUP BY i.id
<choose>
<when test="pageSize==-1"></when>
<when test="pageSize!=-1">limit #{offset},#{pageSize}</when>
......
......@@ -42,9 +42,9 @@ tzs.cti.secretkey=7bd29115-99ee-4f7d-1fb1-7c4719d5f43a
tzs.cti.url=http://36.46.151.113:8000
tzs.wechat.url=https://api.weixin.qq.com
##wechatAPPID
tzs.wechat.appid=wx8918c1aaad956617
##wechatSECRET
##wechatAPPID wx79aca5bb1cb4af92 wx8918c1aaad956617
tzs.wechat.appid=wx79aca5bb1cb4af92
##wechatSECRET 337c3d8f3e749140d4f9aedc8311033b f3a12323ba731d282c3d4698c27c3e97
tzs.wechat.secret=337c3d8f3e749140d4f9aedc8311033b
##wechatToken
......@@ -52,9 +52,14 @@ tzs.wechat.token=yeejoin_2021
##wechatTicketUrl
tzs.wechat.ticketurl=https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=
tzs.wechat.tempId.kr=SLjmNJoCNLC3FBcYzWzR-u3el0kqXf8WMTmzw8dAQm4
tzs.wechat.url.kr=www.baidu.com
tzs.wechat.tempId.wx=SLjmNJoCNLC3FBcYzWzR-u3el0kqXf8WMTmzw8dAQm4
tzs.wechat.url.wx=www.baidu.com
tzs.wechat.tempId.kr=Hlu43OOCVTESzOtkP4we1AUZJoPfquZl2_DEn6U66Z4
tzs.wechat.url.kr=tzs.yeeamos.com/persondetail.html
tzs.wechat.tempId.wx=rags-expfNSBB-h2WenuBI2c6pCEndH4uwTtOqlHqDM
tzs.wechat.url.wx=tzs.yeeamos.com/repairPersondetail.html
tzs.wechat.tempId.ts=SLjmNJoCNLC3FBcYzWzR-u3el0kqXf8WMTmzw8dAQm4
tzs.wechat.url.ts=www.baidu.com
tzs.wechat.url.ts=tzs.yeeamos.com/persondetail.html
mqtt.topic.task.personinfo=tzs-task-personinfo
mqtt.topic.elevator.push=/tzs/tcb_elevator
\ No newline at end of file
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