Commit 1ca9865c authored by 李成龙's avatar 李成龙

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

parents f7e0b2d6 d2d35830
......@@ -64,7 +64,7 @@ public class ControllerAop {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = attributes.getRequest();
// 不需要添加请求头的接口
String[] url = new String[]{"/api/user/selectInfo", "/api/user/save/curCompany", "/jcs/command/lookHtmlText", "/jcs/common/duty-person/findByDutyAreaId", "/tzs/wechatBack", "/tzs/wechat-relation/save"};
String[] url = new String[]{"/api/user/selectInfo", "/api/user/save/curCompany", "/jcs/command/lookHtmlText", "/jcs/common/duty-person/findByDutyAreaId", "/tzs/wechatBack", "/tzs/wechat-relation/save","/tzs/alert-called/saveMobile"};
// 获取请求路径
for(String uri : url) {
if(request.getRequestURI().indexOf(uri) != -1) {
......
......@@ -26,6 +26,10 @@ public class FireBrigadeResourceDto extends BaseDto {
@ApiModelProperty(value = "资源图片")
private List<String> image;
/*2403 队伍未显示图片 陈召 2021-09-23*/
private String pic;
@ApiModelProperty(value = "资源类型")
private String type;
......
package com.yeejoin.amos.boot.module.common.api.dto;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 消防人员配装记录
*
* @author tb
* @date 2021-06-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="FirefightersJacketDto", description="消防人员配装记录")
public class FirestationJacketDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "消防队员")
private Long firefightersId;
@ApiModelProperty(value = "装备id")
private Long equipmentDetailId;
@ApiModelProperty(value = "装备数量")
private Double amount;
@ApiModelProperty(value = "装备计量单位")
private String unit;
@ApiModelProperty(value = "装备名称")
private String equipmentDetailName;
@ApiModelProperty(value = "装备分类名称")
private String equipmentTypeName;
@ApiModelProperty(value = "配发日期")
private Date allotmentTime;
@ApiModelProperty(value = "更新时间")
private Date updateTime;
@ApiModelProperty(value = "操作人名称")
private String recUserName;
}
......@@ -30,7 +30,10 @@ public class RequestData {
@ApiModelProperty(value = "是否只显示24小时内警情")
private Boolean whether24=false;
/*2547 增加灾情事件类型匹配规则 xml中同步增加模糊查询 54-56行 陈召 2021-09-24 开始*/
@ApiModelProperty(value = "灾情事件类型模糊匹配")
private String alertType;
/*2547 增加灾情事件类型匹配规则 xml中同步增加模糊查询 54-56行 陈召 2021-09-24 结束*/
@ApiModelProperty(value = "灾情地址模糊匹配")
private String address;
......
package com.yeejoin.amos.boot.module.common.api.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* 消防人员配装记录
*
* @author tb
* @date 2021-06-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("jc_firestation_jacket")
@ApiModel(value="FirestationJacket", description="微型消防站配装记录")
public class FirestationJacket extends BaseEntity {
/**
*
*/
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "消防队员")
private Long firefightersId;
@ApiModelProperty(value = "装备id")
private Long equipmentDetailId;
@ApiModelProperty(value = "装备数量")
private Double amount;
@ApiModelProperty(value = "装备计量单位")
private String unit;
@ApiModelProperty(value = "装备库存明细id")
private Long stockDetailId;
@ApiModelProperty(value = "装备名称")
private String equipmentDetailName;
@ApiModelProperty(value = "装备分类名称")
private String equipmentTypeName;
@ApiModelProperty(value = "配发日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@TableField(fill=FieldFill.INSERT_UPDATE)
private Date allotmentTime;
@ApiModelProperty(value = "更新时间")
@TableField(fill=FieldFill.UPDATE)
private Date updateTime;
}
......@@ -33,4 +33,6 @@ public interface FirefightersMapper extends BaseMapper<Firefighters> {
List<FirefightersTreeDto> getFirefightersJobTitleCount();
List<FirefightersExcelDto> exportToExcel(Boolean isDelete);
List<String> getFirefightersName(String contactName);
}
package com.yeejoin.amos.boot.module.common.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.common.api.entity.FirestationJacket;
/**
* 消防人员配装记录 Mapper 接口
*
* @author tb
* @date 2021-06-07
*/
public interface FirestationJacketMapper extends BaseMapper<FirestationJacket> {
}
......@@ -36,5 +36,6 @@ public KeySiteDto getSequenceNbr(Long sequenceNbr);
public List<KeySiteDateDto> getKeySiteDate(Long id);
public List<String> getAddress(String address);
}
......@@ -82,4 +82,6 @@ public interface OrgUsrMapper extends BaseMapper<OrgUsr> {
* @return
*/
List< OrgUsrExcelDto> exportPersonToExcelByParentId(Long parentId);
List<OrgUsr> amosIdExist(String amosId);
}
<?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.common.api.mapper.FailureDetailsMapper">
<select id="selectAllPage" resultType="com.yeejoin.amos.boot.module.common.api.entity.FailureDetails">
SELECT
sequence_nbr,
......@@ -28,7 +29,7 @@
and submission_pid = #{submissionPid}
</if>
</where>
order by submission_time DESC limit #{current},#{size}
order by submission_time DESC limit #{current},#{size};
</select>
<select id="selectWebPage" resultType="com.yeejoin.amos.boot.module.common.api.dto.FailureDetailsDto">
......@@ -359,7 +360,6 @@
AS currentStatusCount
FROM
cb_failure_details d
WHERE
<where>
d.sequence_nbr in
(SELECT
......
......@@ -5,7 +5,7 @@
<select id="listMonitorFireBrigade" resultType="com.yeejoin.amos.boot.module.common.api.dto.FireBrigadeResourceDto">
SELECT ft.sequence_nbr id,
ft.NAME,
ft.img,
ft.img AS pic,
COUNT(DISTINCT ff.sequence_nbr) personCount
FROM cb_fire_team ft
LEFT JOIN cb_firefighters ff ON ff.fire_team_id = ft.sequence_nbr
......@@ -99,12 +99,12 @@
a.name ,
a.contact_user contactUser,
a.contact_phone contactPhone,
( SELECT count( 1 ) FROM cb_firefighters WHERE fire_team_id = a.sequence_nbr AND is_delete = 0 ) userNum,
( SELECT count( 1 ) FROM cb_firefighters WHERE fire_team_id = a.sequence_n br AND is_delete = 0 ) userNum,
Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1) AS distance
FROM cb_fire_team a
where a.is_delete=0 and a.longitude is not null and a.latitude is not null
<if test='par.typeCode!=null and par.typeCode!=""'>
and a.type_code in (#{par.typeCode})
and a.type_code in (116,830,114)
</if>
<if test='par.distance!=null'>
and Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1) &lt;= #{par.distance}
......
......@@ -157,4 +157,15 @@ AND fe.is_delete = 0
AND fp.is_delete = 0
</select>
<select id="getFirefightersName" resultType="string">
SELECT
a.name
FROM
cb_firefighters a
WHERE
a.is_delete =0
and
a.name like concat ('%',#{contactName},'%')
</select>
</mapper>
......@@ -121,7 +121,6 @@
where c.is_delete = FALSE;
</select>
<select id="getKeySiteDate" resultType="com.yeejoin.amos.boot.module.common.api.dto.KeySiteDateDto">
SELECT
c.sequence_nbr AS `key`,
......@@ -137,4 +136,12 @@
</if>
</select>
<select id="getAddress" resultType="string">
SELECT
c.address_desc
FROM cb_key_site c
where c.is_delete = FALSE
and
c.address_desc like concat ('%',#{address},'%');
</select>
</mapper>
......@@ -561,4 +561,11 @@ GROUP BY
</select>
<select id="amosIdExist" resultType="com.yeejoin.amos.boot.module.common.api.entity.OrgUsr">
SELECT *
FROM cb_org_usr
WHERE is_delete = 0
amos_org_id = #{amosId}
</select>
</mapper>
......@@ -31,6 +31,8 @@ public class EquipSpecificDto extends BaseEntity {
* 队伍ID
*/
private Long teamId;
//单位id
private Long agencyId;
/**
* 分页
*/
......
......@@ -36,6 +36,10 @@ public interface AlertCalledMapper extends BaseMapper<AlertCalled> {
List<AlertCalledTodyDto> getTodayAlertCalled();
List<String> getContactName(String contactName);
List<String> getAddress(String address);
List<AlertCalled> selectAllPage(Long current, Long size,
Integer alertStatus,
String alertTypeCode ,
......
package com.yeejoin.amos.boot.module.jcs.api.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.entity.FirefightersJacket;
import com.yeejoin.amos.boot.module.common.api.entity.FirestationJacket;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipSpecificDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipmentOnCarDto;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.List;
/**
* 消防人员配装记录 服务类
*
* @author tb
* @date 2021-06-07
*/
public interface IFirestationJacketService {
ResponseModel<Page<Object>> getAirEquipSpecificPage(EquipSpecificDto equipSpecificDto, int current, int size);
boolean saveOrUpdateBatch(Long firefightersId, List<EquipmentOnCarDto> equipmentOnCarDtos);
boolean update(String type, FirestationJacket firestationJacket);
ResponseModel<Object> getEquipByStockDetailId(Long stockDetailId);
}
......@@ -51,6 +51,9 @@
<if test='par.address!=null and par.address!="" '>
and a.address like CONCAT('%',#{par.address},'%')
</if>
<if test='par.alertType!=null and par.alertType!="" '>
and a.alert_type like CONCAT('%',#{par.alertType},'%')
</if>
<if test='par.whether24!=false'>
and a.call_time &gt;= (NOW() - interval 24 hour)
</if>
......@@ -114,7 +117,7 @@
FROM
jc_alert_called a
<where>
1=1
a.is_delete = 0
<if test="alertStatus!= null ">
and alert_status = #{alertStatus}
</if>
......@@ -185,6 +188,27 @@
</select>
<select id="getContactName" resultType="string">
SELECT
a.contact_user
FROM
jc_alert_called a
WHERE
a.is_delete =0
and
a.contact_user like concat ('%',#{contactName},'%')
</select>
<select id="getAddress" resultType="string">
SELECT
a.address
FROM
jc_alert_called a
WHERE
a.is_delete =0
and
a.address like concat ('%',#{address},'%')
</select>
<!-- 未结束警情列表 -->
<select id="AlertCalledStatusPage" resultType="com.yeejoin.amos.boot.module.jcs.api.entity.AlertCalled">
......
......@@ -8,8 +8,8 @@ import java.util.stream.Collectors;
public enum CheckTypeSuEnum {
TIME_DESC("日常检查", "1"),
TIME_ASC("专项检查", "2");
SUPERVISED("日常检查", "1", "supervised"),
DAILY("专项检查", "2", "daily");
/**
* 名字
......@@ -20,9 +20,15 @@ public enum CheckTypeSuEnum {
*/
private String code;
CheckTypeSuEnum(String name, String code) {
/**
* 执行控制条件
*/
private String condition;
CheckTypeSuEnum(String name, String code, String condition) {
this.name = name;
this.code = code;
this.condition = condition;
}
public static List<Map<String, Object>> getEnumList() {
......@@ -48,4 +54,12 @@ public enum CheckTypeSuEnum {
public void setCode(String code) {
this.code = code;
}
public String getCondition() {
return condition;
}
public void setCondition(String condition) {
this.condition = condition;
}
}
......@@ -2,6 +2,9 @@ package com.yeejoin.amos.supervision.core.common.dto;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author xixinzhao
*/
......@@ -9,9 +12,19 @@ import lombok.Data;
public class DangerDto {
/**
* 隐患id
*/
private Long id;
/**
* 隐患名称
*/
private String name;
/**
* 检查项记录id
*/
private Long checkInputId;
private Long bizId;
/**
* 隐患级别
......@@ -19,24 +32,113 @@ public class DangerDto {
private String dangerLevel;
/**
* 隐患id
* 隐患等级名称
*/
private Long dangerId;
private String dangerLevelName;
/**
* 隐患名称
* 状态
*/
private String name;
private String dangerState;
/**
* 是否删除
* 0:未删除 1:已删除
*/
private Boolean deleted;
/**
* 治理方式
*/
private String governWay;
/**
* 业务类型(不同业务创建的隐患以此区分:巡检隐患、防火监督隐患、其他隐患。。。)
*/
private String bizType;
/**
* 整改期限
*/
private Date reformLimitDate;
/**
* 问题描述
*/
private String remark;
/**
* 检查类型:1-自行检查 ;2计划检查
*/
private String checkMode;
/**
* 隐患图片列表
*/
private List<String> photoUrl;
/**
* 检查项名称
*/
private String inputItemName;
/**
* 检查时间
*/
private String checkTime;
/**
* 2470 49 2052
* 检查人员名称
*/
private String checkUserName;
/**
* 责任单位
*/
private String pointName;
/**
* 状态
*/
private Long state;
private String dangerStateName;
/**
* 是否删除
* 0:未删除 1:已删除
* 建筑id
*/
private String deleted;
private Long structureId;
/**
* 建筑名称
*/
private String structureName;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
/**
* 隐患地址
*/
private String dangerPosition;
/**
* 治理方式
*/
private String reformType;
/**
* 治理方式名称
*/
private String reformTypeName;
}
package com.yeejoin.amos.supervision.dao.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
* @author xixinzhao
*/
@EqualsAndHashCode(callSuper = true)
@Data
@Entity
@Table(name="p_hidden_danger")
@Table(name = "p_hidden_danger")
public class HiddenDanger extends BasicEntity {
private static final long serialVersionUID = 1L;
/**
* 隐患id
*/
@Column(name="latent_danger_id")
@Column(name = "latent_danger_id")
private Long latentDangerId;
/**
* 检查记录id
*/
@Column(name="check_id")
@Column(name = "check_id")
private Long checkId;
/**
* 检查项记录id
*/
@Column(name="check_input_id")
@Column(name = "check_input_id")
private Long checkInputId;
/**
* 计划id
*/
@Column(name="plan_id")
@Column(name = "plan_id")
private Long planId;
/**
* 点id
*/
@Column(name="point_id")
@Column(name = "point_id")
private Long pointId;
/**
* 隐患类型(1-防火监督检查;2-自行检查)
*/
@Column(name="danger_type")
private Long dangerType;
@Column(name = "danger_type")
private String dangerType;
/**
* 隐患类型名称
*/
@Column(name="danger_type_name")
private Long dangerTypeName;
@Column(name = "danger_type_name")
private String dangerTypeName;
/**
* 创建者
*/
private String createBy;
/**
* 更新日期
*/
private Date updateDate;
}
package com.yeejoin.amos.supervision.dao.entity;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import java.util.Date;
/**
* @ProjectName: amos-biz-boot
* @Package: com.yeejoin.amos.supervision.dao.entity
* @ClassName: PlanAudit
* @Author: Jianqiang Gao
* @Description: 计划审核申请表
* @Date: 2021/9/23 9:52
* @Version: 1.0
*/
@Entity
@Table(name = "p_plan_audit")
@NamedQuery(name = "PlanAudit.findAll", query = "SELECT p FROM PlanAudit p")
@Data
public class PlanAudit extends BasicEntity {
private static final long serialVersionUID = 1L;
/**
* 计划id
*/
@Column(name = "plan_id")
private Long planId;
/**
* 业务唯一标识
*/
@Column(name = "business_key")
private String businessKey;
/**
* 工作流实例编号
*/
@Column(name = "process_instance_id")
private String processInstanceId;
/**
* 流程定义key
*/
@Column(name = "process_definition_key")
private String processDefinitionKey;
/**
* 启动者id
*/
@Column(name = "start_user_id")
private String startUserId;
/**
* 更新时间
*/
@Column(name = "update_date")
private Date updateDate;
}
\ No newline at end of file
package com.yeejoin.amos.supervision.dao.entity;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
/**
* @ProjectName: amos-biz-boot
* @Package: com.yeejoin.amos.supervision.dao.entity
* @ClassName: PlanAudit
* @Author: Jianqiang Gao
* @Description: 计划审核申请表
* @Date: 2021/9/23 9:52
* @Version: 1.0
*/
@Entity
@Table(name = "p_plan_audit_log")
@NamedQuery(name = "PlanAuditLog.findAll", query = "SELECT p FROM PlanAuditLog p")
@Data
public class PlanAuditLog extends BasicEntity {
private static final long serialVersionUID = 1L;
/**
* 计划id(冗余)
*/
@Column(name = "plan_id")
private Long planId;
/**
* 计划审核申请主表
*/
@Column(name = "plan_audit_id")
private Long planAuditId;
/**
* 当前节点编号
*/
@Column(name = "flow_task_id")
private String flowTaskId;
/**
* 当前节点名称
*/
@Column(name = "flow_task_name")
private String flowTaskName;
/**
* 实际执行人
*/
@Column(name = "excute_user_id")
private String excuteUserId;
/**
* 执行人用户名称(冗余)
*/
@Column(name = "excute_user_name")
private String excuteUserName;
/**
* 执行状态(1:不通过;2:通过)
*/
@Column(name = "excute_state")
private Integer excuteState;
/**
* 角色名称
*/
@Column(name = "role_name")
private String roleName;
/**
* 执行结果
*/
@Column(name = "excute_result")
private String excuteResult;
/**
* 提交工作流json数据
*/
@Column(name = "flow_json")
private String flowJson;
/**
* 备注
*/
@Column(name = "remark")
private String remark;
}
\ No newline at end of file
......@@ -124,6 +124,7 @@ public class AlertCalledDto extends BaseDto {
@ApiModelProperty(value = "电梯使用状态")
private Integer useStatus;
// 废弃
@ApiModelProperty(value = "警情地址")
private String alertAddress;
......
package com.yeejoin.amos.boot.module.tzs.api.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
......@@ -93,7 +94,22 @@ public class DispatchPaperDto extends BaseDto {
@ApiModelProperty(value = "到达时间")
private Date arriveTime;
@ApiModelProperty(value = "救援完成时间")
private Date saveTime;
@ApiModelProperty(value = "处置时间")
private Date dealTime;
@ApiModelProperty(value = "救援机构名称")
private String saveOrgName;
@ApiModelProperty(value = "维修单位名称")
private String repairOrgName;
@ApiModelProperty(value = "维修人")
private String repairUser;
@ApiModelProperty(value = "处置单位")
private String dealOrgName;
@ApiModelProperty(value = "处置人")
private String dealUser;
}
......@@ -19,4 +19,10 @@ public class WechatAccessDto {
@ApiModelProperty(value = "手机号")
private String tel;
@ApiModelProperty(value = "用户昵称")
private String nickname;
@ApiModelProperty(value = "用户性别")
private String sex;
}
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;
import java.util.List;
/**
* 微信公众号返回我的任务dto类
* kongfm
*/
@Data
@ApiModel(value="WechatMyTaskDto", description="微信公众号返回我的任务dto类")
public class WechatMyTaskDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键ID")
protected Long sequenceNbr;
@ApiModelProperty(value = "警情id")
private Long alertId;
@ApiModelProperty(value = "派遣单id")
private Long paperId;
@ApiModelProperty(value = "任务状态")
private String taskStatus;
@ApiModelProperty(value = "任务类别")
private String taskType;
@ApiModelProperty(value = "任务类别code")
private String taskTypeCode;
@ApiModelProperty(value = "地址")
private String address;
@ApiModelProperty(value = "电梯识别码")
private String rescueCode;
@ApiModelProperty(value = "被困楼层")
private String trappedFloorNum;
@ApiModelProperty(value = "被困人数")
private String trappedNum;
@ApiModelProperty(value = "派遣时间")
private Date dispatchTime;
@ApiModelProperty(value = "有无人员伤亡")
private String hasDeadHurt;
@ApiModelProperty(value = "使用单位")
private String useUnit;
@ApiModelProperty(value = "使用单位id")
private Long useUnitId;
@ApiModelProperty(value = "使用单位主管机构")
private String useUnitAuthority;
@ApiModelProperty(value = "求援人电话")
private String emergencyCall;
@ApiModelProperty(value = "求援时间/ 报修时间/ 投诉时间")
private Date recDate;
@ApiModelProperty(value = "到达时间")
private Date arriveTime;
@ApiModelProperty(value = "救援完成时间")
private Date saveTime;
@ApiModelProperty(value = "救援单位")
private String saveOrg;
@ApiModelProperty(value = "任务接收人")
private String taskResponseUser;
@ApiModelProperty(value = "维修完成时间")
private Date fixFinishTime;
@ApiModelProperty(value = "维修单位")
private String responseOrg;
@ApiModelProperty(value = "维修人")
private String responseUser;
@ApiModelProperty(value = "故障原因")
private String errorResult;
@ApiModelProperty(value = "维修结果")
private String fixResult;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "现场照片")
private List<String> fixImgs;
@ApiModelProperty(value = "故障描述")
private String errorContent;
@ApiModelProperty(value = "故障照片")
private List<String> errorImgs;
@ApiModelProperty(value = "反馈时间")
private Date responseTime;
@ApiModelProperty(value = "反馈人")
private String feedbackUname;
@ApiModelProperty(value = "结果评价")
private String feedbackResult;
@ApiModelProperty(value = "反馈备注")
private String feedbackRemark;
@ApiModelProperty(value = "反馈现场照片")
private List<String> feedBackImgs;
@ApiModelProperty(value = "处置时间")
private Date dealTime;
@ApiModelProperty(value = "处置单位")
private String dealOrg;
@ApiModelProperty(value = "处置人")
private String dealUser;
@ApiModelProperty(value = "处置结果")
private String actionResult;
}
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;
import java.util.List;
/**
* 微信公众号任务列表dto类
* kongfm
*/
@Data
@ApiModel(value="WechatMyTaskListDto", description="微信公众号任务列表dto类")
public class WechatMyTaskListDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键ID")
protected Long sequenceNbr;
@ApiModelProperty(value = "任务类型")
private String taskType;
@ApiModelProperty(value = "是否结案")
private Boolean taskStatus;
@ApiModelProperty(value = "地址")
private String address;
@ApiModelProperty(value = "派遣时间")
private Date dispatchTime;
}
......@@ -168,9 +168,41 @@ public class DispatchPaper extends BaseEntity {
private Date arriveTime;
/**
* 救援完成时间
* 处置时间
*/
@TableField("save_time")
private Date saveTime;
@TableField("deal_time")
private Date dealTime;
/**
* 救援机构名称
*/
@TableField("save_org_name")
private String saveOrgName;
/**
* 维修单位名称
*/
@TableField("repair_org_name")
private String repairOrgName;
/**
* 维修人
*/
@TableField("repair_user")
private String repairUser;
/**
* 处置单位
*/
@TableField("deal_org_name")
private String dealOrgName;
/**
* 处置人
*/
@TableField("deal_user")
private String dealUser;
}
......@@ -20,6 +20,8 @@ public enum AlertStageEnums {
// 来源类型JQLYLX
DHBJ("963","233","电话报警"),
// 来源类型JQLYLX
GZHSB("972","APPJJ","移动端上报"),
// 警情阶段 JQJD
JJ("964","JJ","接警"),
......
......@@ -34,6 +34,7 @@ public class TzsCommonParam {
public static final String CZJG = "CZJG";
public static final String FKJG = "FKJG";
public static final String WXFK_TS = "WXFK_TS";
public static final String APPJJ = "APPJJ";
public static final String DD = "DD";
public static final String JC = "JC";
}
package com.yeejoin.amos.boot.module.tzs.api.mapper;
import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchTask;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
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;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
/**
* 派遣任务 Mapper 接口
*
......@@ -14,4 +19,7 @@ public interface DispatchTaskMapper extends BaseMapper<DispatchTask> {
String returnDistanceByTaskId(@Param("taskId") Long taskId, @Param("lon")String lon, @Param("lat")String lat);
WechatMyTaskDto getTaskInfoByTaskId(@Param("taskId") Long taskId);
List<WechatMyTaskListDto> getTaskListByPhonePager(@Param("phone") String phone,@Param("typeCode") String typeCode, @Param("current") Long current);
}
......@@ -2,7 +2,12 @@ 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.WechatMyTaskDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskListDto;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 派遣任务接口类
......@@ -18,4 +23,12 @@ public interface IDispatchTaskService {
DispatchTaskDto getTaskInfo(String orgTypeCode, Long alertId);
String returnDistanceByTaskId(Long taskId, String longitude, String latitude);
WechatMyTaskDto getTaskInfoByTaskId(Long taskId);
Boolean taskArrive(Long taskId);
Boolean saveFinish(Long taskId);
List<WechatMyTaskListDto> getTaskListByPhonePager(String phone,String typeCode,Long current);
}
package com.yeejoin.amos.boot.module.tzs.api.service;
import com.alibaba.fastjson.JSONObject;
/**
* 微信公众号服务类
*/
......@@ -17,4 +19,11 @@ public interface IWechatService {
* @return
*/
String getOpenId(String code);
/**
* 获取微信昵称
* @param openId
* @return
*/
JSONObject getUserInfo(String openId);
}
......@@ -5,31 +5,86 @@
<select id="returnDistanceByTaskId" resultType="java.lang.String">
select
(
ACOS(
SIN(
(#{lat} * PI()) / 180
) * SIN(
(
el.latitude * PI()
) / 180
) + COS(
(#{lat} * PI()) / 180
) * COS(
(
el.latitude * PI()
) / 180
) * COS(
(#{lon} * PI()) / 180 - (
el.longitude * PI()
) / 180
)
) * 6371000
) AS distance
from tz_dispatch_task ta
left JOIN tz_alert_called al on al.sequence_nbr = ta.alert_id
left JOIN tcb_elevator el on el.sequence_nbr = al.equipment_id
where ta.sequence_nbr = #{taskId}
(
ACOS(
SIN(
(#{lat} * PI()) / 180
) * SIN(
(
el.latitude * PI()
) / 180
) + COS(
(#{lat} * PI()) / 180
) * COS(
(
el.latitude * PI()
) / 180
) * COS(
(#{lon} * PI()) / 180 - (
el.longitude * PI()
) / 180
)
) * 6371000
) AS distance
from tz_dispatch_task ta
left JOIN tz_alert_called al on al.sequence_nbr = ta.alert_id
left JOIN tcb_elevator el on el.sequence_nbr = al.equipment_id
where ta.sequence_nbr = #{taskId}
</select>
<select id="getTaskInfoByTaskId" resultType="com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskDto">
select
t.sequence_nbr
t.alert_id as alertId,
p.sequence_nbr as paperId,
a.alert_stage as taskStatus,
a.alarm_type as taskType,
a.alarm_type_code as taskTypeCode,
e.address,
e.rescue_code as rescueCode,
p.dispatch_time as dispatchTime,
e.use_unit as useUnit,
e.use_unit_id as useUnitId,
e.use_unit_authority as useUnitAuthority,
a.emergency_call as emergencyCall,
a.rec_date as recDate,
p.arrive_time as arriveTime,
p.save_org_name as saveOrg,
t.response_user_name as taskResponseUser,
p.feedback_finish_time as fixFinishTime,
p.repair_org_name as responseOrg,
p.repair_user as responseUser,
p.remark as feedbackRemark,
p.feedback_time as responseTime,
p.feedback_uname as feedbackUname,
p.feedback_finish_time as dealTime,
p.deal_org_name as dealOrg,
p.deal_user as dealUser
from tz_dispatch_task t
LEFT JOIN tz_alert_called a on a.sequence_nbr = t.alert_id
LEFT JOIN tcb_elevator e on e.sequence_nbr = a.equipment_id
LEFT JOIN tz_dispatch_paper p on p.sequence_nbr = t.paper_id
where t.sequence_nbr = #{taskId}
</select>
<select id="getTaskListByPhonePager" resultType="com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskListDto">
select
t.sequence_nbr,
a.alarm_type as taskType,
a.alert_status as taskStatus,
e.address,
p.dispatch_time as dispatch_time
from tz_dispatch_task t
LEFT JOIN tz_alert_called a on a.sequence_nbr = t.alert_id
LEFT JOIN tcb_elevator e on e.sequence_nbr = a.equipment_id
LEFT JOIN tz_dispatch_paper p on p.sequence_nbr = t.paper_id
where t.response_user_tel =#{phone}
and a.alarm_type_code = #{typeCode}
ORDER BY t.rec_date desc
limit #{current},5
</select>
</mapper>
......@@ -241,7 +241,11 @@ public class FailureDetailsController extends BaseController {
@RequestParam (required = false) Long submissionBranchId,
@RequestParam (required = false) Long sequenceNbr ) {
Page<FailureDetailsDto> page = new Page<>();
page.setCurrent(current * size);
if (current > 0) {
page.setCurrent((current - 1) * size);
}else {
page.setCurrent(0);
}
page.setSize(size);
ReginParams userInfo = getSelectedOrgInfo();
IPage<FailureDetailsDto> failureDetailDTOsIPage = new Page<>();
......
......@@ -456,4 +456,19 @@ public class OrgUsrController extends BaseController {
}
return equipjSONObject;
}
/**
* 判断关联账户是否已关联
*
* @param
* @return
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/getAmosId", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "判断关联账户是否已关联", notes = "判断关联账户是否已关联")
public Object getAmosId( String amosId) {
return iOrgUsrService.amosIdExist(amosId);
}
}
\ No newline at end of file
......@@ -103,4 +103,10 @@ public class FirefightersServiceImpl extends BaseService<FirefightersDto, Firefi
}
public List<String> getFirefightersName(String contactName) {
return firefightersMapper.getFirefightersName(contactName);
}
}
......@@ -311,4 +311,8 @@ public class KeySiteServiceImpl extends BaseService<KeySiteDto, KeySite, KeySite
}
public List<String> getAddress(String address){
return keySiteMapper.getAddress(address);
}
}
......@@ -62,6 +62,8 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
@Autowired
DynamicFormInstanceServiceImpl alertFormValueServiceImpl;
@Autowired
FirefightersServiceImpl firefightersService;
@Autowired
DynamicFormColumnServiceImpl alertFormServiceImpl;
@Resource
OrgUsrMapper orgUsrMapper;
......@@ -1522,6 +1524,14 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
}
return orgUser;
}
public Object amosIdExist(String amosId){
List<OrgUsr> orgUsrs = orgUsrMapper.amosIdExist(amosId);
if (orgUsrs.size() > 0){
return false;
}
return true;
}
}
......@@ -8,20 +8,13 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import com.yeejoin.amos.boot.module.common.api.dto.FailureDetailsDto;
import com.yeejoin.amos.boot.module.common.biz.service.impl.OrgUsrServiceImpl;
import com.yeejoin.amos.boot.module.jcs.api.enums.AlertStatusEnum;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.transaction.annotation.Transactional;
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.springframework.web.bind.annotation.*;
import org.typroject.tyboot.component.event.RestEventTrigger;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
......@@ -68,6 +61,9 @@ public class AlertCalledController extends BaseController {
private ESAlertCalledService eSAlertCalledService;
@Autowired
RedisUtils redisUtils;
@Autowired
OrgUsrServiceImpl iOrgUsrService;
@Value("${redis.cache.failure.time}")
private long time;
/**
......@@ -338,4 +334,34 @@ public class AlertCalledController extends BaseController {
@RequestParam String latitude) {
return ResponseHelper.buildResponse(iAlertCalledService.reLocate(alertCalled, longitude, latitude));
}
/*2304 地址 联系人模糊查询缺失 陈召 2021-09-23 开始*/
/**
* 警情填报联系人模糊查询
*
* @param
* @return
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/getAmosId", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "警情填报联系人模糊查询", notes = "警情填报联系人模糊查询")
public List<String> getContact (String contactName) {
return iAlertCalledService.getContactName(contactName);
}
/**
* 警情填报地址模糊查询
*
* @param
* @return
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/getAddress", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "警情填报地址模糊查询", notes = "警情填报地址模糊查询")
public List<String> getAddress (String address) {
return iAlertCalledService.getCalledAddress(address);
}
/*2304 地址 联系人模糊查询缺失 陈召 2021-09-23 结束*/
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jcs.biz.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import com.yeejoin.amos.boot.module.common.api.entity.FirestationJacket;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipSpecificDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipmentOnCarDto;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.FirestationJacketServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
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 javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
* 消防人员配装记录
*
* @author tb
* @date 2021-06-07
*/
@RestController
@Api(tags = "消防人员配装记录Api")
@RequestMapping(value = "/firestation-jacket")
public class FirestationJacketController extends BaseController {
@Autowired
FirestationJacketServiceImpl iFirestationJacketService;
/**
* 新增消防人员配装记录
*
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/save/{firestationId}", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "新增消防人员配装记录", notes = "新增消防人员配装记录")
@Transactional
public ResponseModel<Object> saveFirestationJacket(@ApiParam(value = "消防队员ID", required = true) @PathVariable Long firestationId, @RequestBody List<EquipmentOnCarDto> equipmentOnCarDtos) {
boolean flag = iFirestationJacketService.saveOrUpdateBatch(firestationId, equipmentOnCarDtos);
if (!flag) {
throw new BadRequest("保存失败.");
}
return ResponseHelper.buildResponse(null);
}
/**
* 删除数据(退装|回库)
*
* @param
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{type}", method = RequestMethod.DELETE)
@ApiOperation(httpMethod = "DELETE", value = "删除数据", notes = "删除数据")
public ResponseModel<Object> deleteById(@PathVariable String type, @RequestBody FirestationJacket firestationJacket) {
boolean flag = iFirestationJacketService.update(type, firestationJacket);
if (!flag) {
throw new BadRequest("删除失败.");
}
return ResponseHelper.buildResponse(null);
}
/**
* 修改消防人员配装记录
*
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/updateById", method = RequestMethod.PUT)
@ApiOperation(httpMethod = "PUT", value = "修改消防人员配装记录", notes = "修改消防人员配装记录")
public ResponseModel<FirestationJacket> updateByIdFirestationJacket(HttpServletRequest request,
@RequestBody FirestationJacket firestationJacket) {
iFirestationJacketService.updateById(firestationJacket);
return ResponseHelper.buildResponse(firestationJacket);
}
/**
* 根据id查询
*
* @param id
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据id查询", notes = "根据id查询")
public ResponseModel<FirestationJacket> selectById(HttpServletRequest request, @PathVariable Long id) {
QueryWrapper<FirestationJacket> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("firestation_id", id);
FirestationJacket firestationJacket = iFirestationJacketService.getOne(queryWrapper);
return ResponseHelper.buildResponse(firestationJacket);
}
/**
* 列表分页查询
*
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/list", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "列表分页查询", notes = "列表分页查询")
public ResponseModel<IPage<FirestationJacket>> listPage(String pageNum, String pageSize, FirestationJacket firestationJacket) {
Page<FirestationJacket> pageBean;
QueryWrapper<FirestationJacket> firestationJacketQueryWrapper = new QueryWrapper<>();
firestationJacketQueryWrapper.eq("is_delete", 0);
Class<? extends FirestationJacket> aClass = firestationJacket.getClass();
Arrays.stream(aClass.getDeclaredFields()).forEach(field -> {
try {
field.setAccessible(true);
Object o = field.get(firestationJacket);
if (o != null) {
Class<?> type = field.getType();
String name = NameUtils.camel2Underline(field.getName());
if (type.equals(Integer.class)) {
Integer fileValue = (Integer) field.get(firestationJacket);
firestationJacketQueryWrapper.eq(name, fileValue);
} else if (type.equals(Long.class)) {
Long fileValue = (Long) field.get(firestationJacket);
firestationJacketQueryWrapper.eq(name, fileValue);
} else if (type.equals(String.class)) {
if("EQUIPMENT_DETAIL_NAME".equals(name)){
String fileValue = (String) field.get(firestationJacket);
firestationJacketQueryWrapper.like(name, fileValue);
}else {
String fileValue = (String) field.get(firestationJacket);
firestationJacketQueryWrapper.eq(name, fileValue);
}
} else if (type.equals(Date.class)) {
Date fileValue = (Date) field.get(firestationJacket);
firestationJacketQueryWrapper.eq(name, fileValue);
} else {
if(!name.equals(NameUtils.camel2Underline("serialVersionUID"))) {
String fileValue = (String) field.get(firestationJacket);
firestationJacketQueryWrapper.eq(name, fileValue);
}
}
}
} catch (Exception e) {
throw new RuntimeException("系统异常");
}
});
IPage<FirestationJacket> page;
if (StringUtils.isBlank(pageNum) || StringUtils.isBlank(pageSize)) {
pageBean = new Page<>(0, Long.MAX_VALUE);
} else {
pageBean = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
}
page = iFirestationJacketService.page(pageBean, firestationJacketQueryWrapper);
return ResponseHelper.buildResponse(page);
}
/**
* 分页查询设备列表(调用装备接口)
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "人员装备列表")
@RequestMapping(value = "/airEquipSpecificPage", method = RequestMethod.GET)
public ResponseModel<Page<Object>> getAirEquipSpecificPage(int current, int size,
EquipSpecificDto equipSpecificDto) throws Exception {
return iFirestationJacketService.getAirEquipSpecificPage(equipSpecificDto, current, size);
}
/**
* 查询设备详情(调用装备接口)
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "人员装备详情")
@RequestMapping(value = "/getEquipByStockDetailId/{stockDetailId}", method = RequestMethod.GET)
public ResponseModel<Object> getEquipByStockDetailId(@PathVariable Long stockDetailId) throws Exception {
return iFirestationJacketService.getEquipByStockDetailId(stockDetailId);
}
}
......@@ -9,6 +9,8 @@ import java.util.Map;
import java.util.function.Function;
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 org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
......@@ -93,6 +95,10 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto, AlertCal
private ControllerServiceImpl controllerService;
@Autowired
private ControllerEquipServiceImpl controllerEquipService;
@Autowired
FirefightersServiceImpl firefightersService;
@Autowired
KeySiteServiceImpl keySiteService;
@Autowired
private AlertLocationLogServiceImpl alertLocationLogService;
......@@ -451,10 +457,12 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto, AlertCal
listdate.add(new KeyValueLabel("联系电话", "contactPhone", alertCalled.getContactPhone()));
// listdate.add(new KeyValueLabel("联系人电话", "contactPhone", alertCalled.getContactPhone()));
list.stream().forEach(alertFormValue -> {
String valueCode = alertFormValue.getFieldValueCode();
if(null == valueCode) {
/*2661 灾情详情中字典类数据错误显示为code 改为value值 2021-09-23 陈召 开始 */
String valueCode = alertFormValue.getFieldValue();
/*2661 灾情详情中字典类数据错误显示为code 改为value值 2021-09-23 陈召 结束 */
/*if(null == valueCode) {
valueCode = alertFormValue.getFieldValue();
}
}*/
listdate.add(new KeyValueLabel(alertFormValue.getFieldName(), alertFormValue.getFieldCode(), valueCode));
});
map.put("data", listdate);
......@@ -774,4 +782,19 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto, AlertCal
}
return resultList;
}
/*2304 地址 联系人模糊查询缺失 陈召 2021-09-23 开始*/
public List<String> getContactName(String contactName){
List<String> firefightersName = firefightersService.getFirefightersName(contactName);
List<String> contactNames = alertCalledMapper.getContactName(contactName);
firefightersName.addAll(contactNames);
return firefightersName;
}
public List<String> getCalledAddress(String address){
List<String> keyAddress = keySiteService.getAddress(address);
List<String> alertAddress = alertCalledMapper.getAddress(address);
keyAddress.addAll(alertAddress);
return keyAddress;
}
/*2304 地址 联系人模糊查询缺失 陈召 2021-09-23 结束*/
}
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.exception.BaseException;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
......@@ -28,18 +46,6 @@ import com.yeejoin.amos.boot.module.common.api.mapper.FireTeamMapper;
import com.yeejoin.amos.boot.module.common.api.service.IFireTeamService;
import com.yeejoin.amos.boot.module.common.biz.service.impl.OrgUsrServiceImpl;
import com.yeejoin.amos.boot.module.common.biz.service.impl.WaterResourceServiceImpl;
import io.swagger.models.auth.In;
import org.aspectj.weaver.ast.Var;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.exception.BaseException;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.apache.commons.lang3.StringUtils;
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
/**
* 消防队伍 服务实现类
......@@ -67,7 +73,7 @@ public class FireTeamServiceImpl extends BaseService<FireTeamDto, FireTeam, Fire
*
* @return
*/
public List<FireBrigadeResourceDto> listMonitorFireBrigade(String code ) {
public List<FireBrigadeResourceDto> listMonitorFireBrigade(String code) {
return fireTeamMapper.listMonitorFireBrigade(code);
}
......@@ -200,8 +206,8 @@ public class FireTeamServiceImpl extends BaseService<FireTeamDto, FireTeam, Fire
if(fireTeam.getAddress()!=null){
JSONObject address = WaterResourceServiceImpl.getLongLatFromAddress(fireTeam.getAddress());
fireTeam.setAddress(address.getString(BizConstant.ADDRESS));
// fireTeam.setLongitude(Double.valueOf(address.getString(BizConstant.LONGITUDE)));
// fireTeam.setLatitude(Double.valueOf(address.getString(BizConstant.LATITUDE)));
fireTeam.setLongitude(Double.valueOf(address.getString(BizConstant.LONGITUDE)));
fireTeam.setLatitude(Double.valueOf(address.getString(BizConstant.LATITUDE)));
}
if (ValidationUtil.isEmpty(fireTeam.getParent())) {
fireTeam.setTreeCode(TreeParser.genTreeCode());
......
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.common.api.dto.FirefightersJacketDto;
import com.yeejoin.amos.boot.module.common.api.dto.FirestationJacketDto;
import com.yeejoin.amos.boot.module.common.api.entity.FirefightersJacket;
import com.yeejoin.amos.boot.module.common.api.entity.FirestationJacket;
import com.yeejoin.amos.boot.module.common.api.feign.EquipFeignClient;
import com.yeejoin.amos.boot.module.common.api.mapper.FirefightersJacketMapper;
import com.yeejoin.amos.boot.module.common.api.mapper.FirestationJacketMapper;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipSpecificDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipmentOnCarDto;
import com.yeejoin.amos.boot.module.jcs.api.enums.EquipTypeEnum;
import com.yeejoin.amos.boot.module.jcs.api.service.IFirefightersJacketService;
import com.yeejoin.amos.boot.module.jcs.api.service.IFirestationJacketService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 消防人员配装记录 服务实现类
*
* @author tb
* @date 2021-06-07
*/
@Service
public class FirestationJacketServiceImpl extends BaseService<FirestationJacketDto, FirestationJacket, FirestationJacketMapper> implements IFirestationJacketService {
@Autowired
private EquipFeignClient equipFeignClient;
@Override
public ResponseModel<Page<Object>> getAirEquipSpecificPage(EquipSpecificDto equipSpecificDto, int current, int size) {
Page page = new Page(current, size);
equipSpecificDto.setPage(page);
ResponseModel<Page<Object>> airEquipSpecificPage = equipFeignClient.getAirEquipSpecificPage(equipSpecificDto);
return airEquipSpecificPage;
}
@Override
public boolean saveOrUpdateBatch(Long firefightersId, List<EquipmentOnCarDto> equipmentOnCarDtos) {
List<Long> ids = equipmentOnCarDtos.stream().map(EquipmentOnCarDto::getStockDetailId).collect(Collectors.toList());
List<Object> result = equipFeignClient.stockBindEquip(ids).getResult();
if (result.size() > 0) {
List<FirestationJacket> firefightersJackets = new ArrayList<>();
equipmentOnCarDtos.forEach(x -> {
FirestationJacket firefightersJacket = new FirestationJacket();
BeanUtils.copyProperties(x, firefightersJacket);
firefightersJacket.setEquipmentDetailId(x.getEquipmentSpecificId());
firefightersJacket.setEquipmentDetailName(x.getEquipmentSpecificName());
firefightersJacket.setEquipmentTypeName(x.getEquipDefinitionName());
firefightersJacket.setAllotmentTime(DateUtils.getDateNow());
firefightersJacket.setFirefightersId(firefightersId);
firefightersJackets.add(firefightersJacket);
});
saveOrUpdateBatch(firefightersJackets);
return true;
}
return false;
}
@Override
public boolean update(String type, FirestationJacket firestationJacket) {
ResponseModel<Object> objectResponseModel = null;
if (EquipTypeEnum.退装.getKey().equals(type)) {
objectResponseModel = equipFeignClient.scrapEquip(String.valueOf(firestationJacket.getStockDetailId()));
} else if (EquipTypeEnum.回库.getKey().equals(type)) {
Map<String, Object> map = new HashMap<>();
map.put("stockDetailId", firestationJacket.getStockDetailId());
objectResponseModel = equipFeignClient.stockEquip(map);
}
if (ValidationUtil.isEmpty(objectResponseModel)){
return false;
}
update(new UpdateWrapper<FirestationJacket>().eq("sequence_nbr", firestationJacket.getSequenceNbr()).set("is_delete", 1));
return true;
}
@Override
public ResponseModel<Object> getEquipByStockDetailId(Long stockDetailId) {
return equipFeignClient.getAirEquipSpecificDetail(stockDetailId);
}
}
......@@ -49,10 +49,7 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -147,7 +144,7 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
//通知实战指挥页面发送mqtt 默认发送 String 类型 0, 新警情 1 警情状态变化
emqKeeper.getMqttClient().publish(topic, "0".getBytes(), RuleConfig.DEFAULT_QOS, true);
} catch (MqttException e) {
throw new RuntimeException();
throw new RuntimeException();
}
return true;
......@@ -222,6 +219,21 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
// 3.消防队伍-监控大队
List<FireBrigadeResourceDto> monitorFireBrigadeList = fireTeamService.listMonitorFireBrigade(FireBrigadeTypeEnum.监控大队.getCode());
// List<FireBrigadeResourceDto> monitorFireBrigadeList = fireTeamService.listMonitorFireBrigade();
/*bug 2403 队伍未显示图片 2021-09-23 陈召开始 */
for (FireBrigadeResourceDto fireBrigadeResourceDto : monitorFireBrigadeList) {
if (fireBrigadeResourceDto.getPic() != null) {
String[] split = fireBrigadeResourceDto.getPic().split(",");
if (split.length > 1) {
fireBrigadeResourceDto.setImage(Arrays.asList(split));
} else {
List<String> objects = new ArrayList<>();
objects.add(fireBrigadeResourceDto.getPic());
fireBrigadeResourceDto.setImage(objects);
}
}
}
/*bug 2403 队伍未显示图片 2021-09-23 陈召结束 */
FireBrigadeResourceDto monitorResourceDto = new FireBrigadeResourceDto();
monitorResourceDto.setId("0");
monitorResourceDto.setName(FireBrigadeTypeEnum.监控大队.getName());
......@@ -239,7 +251,6 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
}
private List<PowerTransferCompanyResources> DtoEntityBatchConvert(List<PowerTransferCompanyResourcesDto> powerTransferCompanyResourcesDtoList, Long powerTransferCompanySequenceNbr) {
ArrayList<PowerTransferCompanyResources> powerTransferCompanyResourcesList = new ArrayList<>();
PowerTransferCompanyResources powerTransferCompanyResources;
......@@ -368,7 +379,7 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
transferDetail.deleteCharAt(transferDetail.length() - 1);
String transferDetails = templateContent.replace("departmentName-type-resourcesNum",
transferDetail.toString()).replace("rescueGrid", rescueGrid == null ? "" : rescueGrid).replace(
"taskStatus", "");
"taskStatus", "");
transferContent.add(transferDetails);
});
......@@ -379,10 +390,10 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
@Override
public List<PowerCompanyCountDto> getPowerCompanyCountDtocount(Long id) {
List<PowerCompanyCountDto> list= powerTransferMapper.getPowerCompanyCountDtocount(id);
if(list!=null&&list.size()>0){
list.stream().forEach(powerCompanyCountDto->{
List<PowerCarCountDto> li= powerTransferMapper.getPowerCarCountDtocount(id,powerCompanyCountDto.getCompanyId());
List<PowerCompanyCountDto> list = powerTransferMapper.getPowerCompanyCountDtocount(id);
if (list != null && list.size() > 0) {
list.stream().forEach(powerCompanyCountDto -> {
List<PowerCarCountDto> li = powerTransferMapper.getPowerCarCountDtocount(id, powerCompanyCountDto.getCompanyId());
powerCompanyCountDto.setPowerCarCountDto(li);
});
}
......
package com.yeejoin.amos.supervision.business.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.supervision.business.dto.HiddenDangerExportDto;
import com.yeejoin.amos.supervision.business.dto.HiddenDangerImportDto;
import com.yeejoin.amos.supervision.business.service.intfc.IHiddenDangerService;
import com.yeejoin.amos.supervision.business.util.FileHelper;
import com.yeejoin.amos.supervision.core.common.dto.DangerDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
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 javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* @author DELL
*/
@Slf4j
@RestController
@Api(tags = "隐患api")
@RequestMapping(value = "api/hidden/danger")
public class HiddenDangerController extends AbstractBaseController {
@Autowired
IHiddenDangerService iHiddenDangerService;
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "分页查询", notes = "分页查询")
@PostMapping(value = "/{planId}/page-list")
public ResponseModel pageList(
@PathVariable String planId,
@RequestParam(value = "pointId", required = false) Long pointId,
@RequestParam(value = "level", required = false) String level,
@RequestParam(value = "status", required = false) String status,
@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size) {
Page page = new Page<DangerDto>(current, size);
IPage<DangerDto> dtoList = iHiddenDangerService.pageList(page, planId, pointId, level, status);
return ResponseHelper.buildResponse(dtoList);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "查询隐患详情", notes = "查询隐患详情")
@GetMapping("/{latentDangerId}")
public ResponseModel getOne(@PathVariable Long latentDangerId) {
DangerDto dangerDto = iHiddenDangerService.getOne(latentDangerId);
return ResponseHelper.buildResponse(dangerDto);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "更新隐患", notes = "更新隐患")
@PutMapping(value = "/{latentDangerId}")
public ResponseModel updateDanger(
@RequestBody DangerDto dangerDto,
@PathVariable Long latentDangerId) {
dangerDto = iHiddenDangerService.updateDanger(latentDangerId, dangerDto);
return ResponseHelper.buildResponse(dangerDto);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "导入隐患", notes = "导入隐患")
@RequestMapping(value = "/import", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
public ResponseModel importDanger(
@RequestParam(value = "planId") Long planId,
@RequestParam(value = "pointId") Long pointId,
@ApiParam(value = "导入数据文件", required = true) @RequestBody MultipartFile file) {
String fileName = file.getOriginalFilename();
assert fileName != null;
if (!fileName.endsWith(".xls")) {
throw new RuntimeException("文件格式不正确");
}
List<HiddenDangerImportDto> list = FileHelper.importExcel(file, 0, 1, HiddenDangerImportDto.class);
iHiddenDangerService.importDanger(planId, pointId, list);
return ResponseHelper.buildResponse("导入成功");
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "导出指定计划的隐患", notes = "导出指定计划的隐患")
@PostMapping(value = "{planId}/export")
public void exportDangerList(
@PathVariable String planId,
@RequestParam(value = "pointId", required = false) Long pointId,
@RequestParam(value = "level", required = false) String level,
@RequestParam(value = "status", required = false) String status,
HttpServletResponse response) {
List<HiddenDangerExportDto> dtoList = iHiddenDangerService.listAll(planId, pointId, level, status);
String fileName = "隐患问题清单" + System.currentTimeMillis();
FileHelper.exportExcel(dtoList, "隐患问题清单", "隐患问题清单", HiddenDangerExportDto.class, fileName + ".xls", response);
}
}
package com.yeejoin.amos.supervision.business.controller;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.supervision.business.service.intfc.IPlanAuditService;
import com.yeejoin.amos.supervision.business.util.CommonResponse;
import com.yeejoin.amos.supervision.business.util.CommonResponseUtil;
import com.yeejoin.amos.supervision.dao.entity.PlanAuditLog;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
@RestController
@RequestMapping(value = "/api/planAudit")
@Api(tags = "计划审核api")
public class PlanAuditController extends AbstractBaseController {
private final Logger log = LoggerFactory.getLogger(PlanAuditController.class);
@Autowired
private IPlanAuditService planAuditService;
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "计划工作流审核", notes = "计划工作流审核")
@RequestMapping(value = "/auditWorkFlow", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
public CommonResponse auditWorkFlow(
@ApiParam(value = "工作流流水实例", required = true) @RequestBody PlanAuditLog planAuditLog,
@ApiParam(value = "执行控制条件", required = true) @RequestParam String condition) {
try {
AgencyUserModel userInfo = getUserInfo();
ReginParams reginParams = getSelectedOrgInfo();
return CommonResponseUtil.success(planAuditService.auditWorkFlow(planAuditLog, condition, reginParams));
} catch (Exception e) {
log.error(e.getMessage(), e);
return CommonResponseUtil.failure("计划工作流审核失败!");
}
}
}
package com.yeejoin.amos.supervision.business.controller;
import com.yeejoin.amos.supervision.business.service.intfc.IPlanAuditLogService;
import io.swagger.annotations.Api;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping(value = "/api/planAuditLog")
@Api(tags = "工作流流水api")
public class PlanAuditLogController extends AbstractBaseController {
private final Logger log = LoggerFactory.getLogger(PlanAuditLogController.class);
@Autowired
private IPlanAuditLogService planAuditLogService;
}
package com.yeejoin.amos.supervision.business.dao.mapper;
import com.yeejoin.amos.supervision.business.dto.HiddenDangerDto;
import com.yeejoin.amos.supervision.dao.entity.HiddenDanger;
import org.apache.ibatis.annotations.Param;
import sun.awt.SunHints;
import java.util.List;
/**
* @author DELL
*/
public interface HiddenDangerMapper extends BaseMapper {
/**
* 隐患业务关系表
* @param planId 计划id
* @param pointId 点id
* @return List<HiddenDanger>
*/
List<HiddenDangerDto> listByCondition(@Param(value = "planId") String planId, @Param(value = "pointId") Long pointId);
}
package com.yeejoin.amos.supervision.business.dao.repository;
import com.yeejoin.amos.supervision.dao.entity.HiddenDanger;
import org.springframework.stereotype.Repository;
@Repository("iHiddenDangerDao")
public interface IHiddenDangerDao extends BaseDao<HiddenDanger, Long> {
/**
* 按照唯一索引查询
*
* @param latentDangerId 隐患模块id
* @return HiddenDanger
*/
HiddenDanger findByLatentDangerId(Long latentDangerId);
}
package com.yeejoin.amos.supervision.business.dao.repository;
import com.yeejoin.amos.supervision.dao.entity.PlanAudit;
import org.springframework.stereotype.Repository;
@Repository("planAuditDao")
public interface IPlanAuditDao extends BaseDao<PlanAudit, Long> {
PlanAudit findByProcessInstanceId(String instanceId);
PlanAudit findByPlanId(Long planId);
}
\ No newline at end of file
package com.yeejoin.amos.supervision.business.dao.repository;
import com.yeejoin.amos.supervision.dao.entity.PlanAuditLog;
import org.springframework.stereotype.Repository;
@Repository("planAuditLogDao")
public interface IPlanAuditLogDao extends BaseDao<PlanAuditLog, Long> {
}
\ No newline at end of file
package com.yeejoin.amos.supervision.business.dto;
import lombok.Data;
import java.util.Date;
/**
* @author DELL
*/
@Data
public class HiddenDangerDto {
private Long id;
/**
* 隐患id
*/
private Long latentDangerId;
/**
* 检查记录id
*/
private Long checkId;
/**
* 检查项记录id
*/
private Long checkInputId;
/**
* 计划id
*/
private Long planId;
/**
* 点id
*/
private Long pointId;
/**
* 隐患类型(1-防火监督检查;2-自行检查)
*/
private String dangerType;
/**
* 隐患类型名称
*/
private String dangerTypeName;
/**
* 创建者
*/
private String createBy;
/**
* 更新日期
*/
private Date updateDate;
/**
* 检查时间
*/
private String checkTime;
/**
* 2470 49 2052
* 检查人员名称
*/
private String checkUserName;
/**
* 责任单位
*/
private String pointName;
/**
* 状态
*/
private String stateName;
/**
* 检查项名称
*/
private String inputItemName;
}
package com.yeejoin.amos.supervision.business.dto;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
@Data
public class HiddenDangerExportDto {
/**
* 隐患名称
*/
@Excel(name = "安全隐患", orderNum = "0")
private String name;
/**
* 检查项名称
*/
@Excel(name = "检查项", orderNum = "1")
private String inputItemName;
/**
* 隐患级别
*/
@Excel(name = "隐患级别", orderNum = "2")
private String dangerLevelName;
/**
* 治理方式
*/
@Excel(name = "治理方式", orderNum = "3")
private String governWayName;
/**
* 整改期限
*/
@Excel(name = "整改期限", orderNum = "4")
private Date reformLimitDate;
/**
* 检查时间
*/
@Excel(name = "检查时间", orderNum = "5")
private String checkTime;
/**2470 49 2052
* 检查人员名称
*/
@Excel(name = "检查人员名称", orderNum = "6")
private String checkUserName;
/**
* 责任单位
*/
@Excel(name = "责任单位", orderNum = "7")
private String pointName;
/**
* 状态
*/
@Excel(name = "状态", orderNum = "8")
private String stateName;
/**
* 隐患来源
*/
@Excel(name = "隐患来源", orderNum = "9")
private String dangerTypeName;
}
package com.yeejoin.amos.supervision.business.dto;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class HiddenDangerImportDto {
/**
* 隐患名称
*/
private String name;
/**
* 检查项记录id
*/
private Long bizId;
/**
* 隐患级别
*/
private String dangerLevel;
/**
* 治理方式
*/
private String governWay;
/**
* 业务类型(不同业务创建的隐患以此区分:巡检隐患、防火监督隐患、其他隐患。。。)
*/
private String bizType;
/**
* 整改期限
*/
private Date reformLimitDate;
/**
* 检查类型:1-自行检查 ;2计划检查
*/
private String checkMode;
}
package com.yeejoin.amos.supervision.business.feign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.supervision.core.common.dto.DangerDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author DELL
*/
@FeignClient(value = "API-DANGER-API", path = "danger")
public interface DangerFeignClient {
/**
* 隐患详情
*
* @param sequenceNbr 隐患主键
* @return FeignClientResult
*/
@GetMapping(value = "/{sequenceNbr}/detail")
FeignClientResult<DangerDto> getOne(@PathVariable Long sequenceNbr);
/**
* 隐患的创建或者更新
*
* @param danger 隐患对象数组
* @return FeignClientResult
*/
@PostMapping(value = "/saveOrUpdateBatch")
FeignClientResult<List<DangerDto>> saveOrUpdateBatch(@RequestBody List<DangerDto> danger);
/**
* 隐患分页查询
*
* @param page 分页信息
* @param ids 隐患ids
* @param dangerLevel 隐患级别
* @param dangerState 隐患状态
* @return FeignClientResult
*/
@GetMapping(value = "/page-list")
FeignClientResult<IPage<DangerDto>> pageList(Page page, @RequestParam String ids, @RequestParam(required = false) String dangerLevel, @RequestParam(required = false) String dangerState);
/**
* 查询所有的隐患
*
* @param ids 隐患ids
* @param dangerLevel 隐患级别
* @param dangerState 隐患状态
* @return FeignClientResult
*/
@GetMapping(value = "/list-all")
FeignClientResult<List<DangerDto>> listAll(@RequestParam String ids, @RequestParam(required = false) String dangerLevel, @RequestParam(required = false) String dangerState);
}
package com.yeejoin.amos.supervision.business.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.base.Joiner;
import com.google.common.collect.Lists;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.supervision.business.dao.mapper.HiddenDangerMapper;
import com.yeejoin.amos.supervision.business.dao.repository.IHiddenDangerDao;
import com.yeejoin.amos.supervision.business.dto.HiddenDangerDto;
import com.yeejoin.amos.supervision.business.dto.HiddenDangerExportDto;
import com.yeejoin.amos.supervision.business.dto.HiddenDangerImportDto;
import com.yeejoin.amos.supervision.business.feign.DangerFeignClient;
import com.yeejoin.amos.supervision.business.service.intfc.IHiddenDangerService;
import com.yeejoin.amos.supervision.core.common.dto.DangerDto;
import com.yeejoin.amos.supervision.dao.entity.HiddenDanger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.restful.exception.instance.DataNotFound;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @author DELL
*/
@Service
public class HiddenDangerServiceImpl implements IHiddenDangerService {
@Autowired
DangerFeignClient feignClient;
@Autowired
IHiddenDangerDao iHiddenDangerDao;
@Autowired
HiddenDangerMapper hiddenDangerMapper;
@Value("${spring.application.name}")
private String applicationName;
@Autowired
Sequence sequence;
@Override
public List<HiddenDangerExportDto> listAll(String planId, Long pointId, String level, String status) {
//1.查询指定计划和公司的关联隐患数据
List<HiddenDangerDto> hiddenDangers = hiddenDangerMapper.listByCondition(planId, pointId);
List<Long> dangerIds = Lists.transform(hiddenDangers, HiddenDangerDto::getLatentDangerId);
String dangerIdsStr = Joiner.on(",").join(dangerIds);
//2.调用隐患模块查询关联隐患的具体数据(业务系统直落关系,具体隐患数据再隐患服务进行储存)
FeignClientResult<List<DangerDto>> daResult = feignClient.listAll(dangerIdsStr, level, status);
List<DangerDto> allData = daResult.getResult();
Map<Long, HiddenDangerDto> keyMap = hiddenDangers.stream().collect(Collectors.toMap(HiddenDangerDto::getLatentDangerId, Function.identity()));
//3.将查询会来的数据与业务数据拼接,进行返回
return allData.stream().map(s -> {
HiddenDangerExportDto exportDto = new HiddenDangerExportDto();
Bean.copyExistPropertis(s, exportDto);
HiddenDangerDto hiddenDangerDto = keyMap.get(s.getId());
exportDto.setCheckTime(hiddenDangerDto != null ? hiddenDangerDto.getCheckTime() : "");
exportDto.setCheckUserName(hiddenDangerDto != null ? hiddenDangerDto.getCheckUserName() : "");
exportDto.setPointName(hiddenDangerDto != null ? hiddenDangerDto.getPointName() : "");
exportDto.setInputItemName(hiddenDangerDto != null ? hiddenDangerDto.getInputItemName() : "");
return exportDto;
}).collect(Collectors.toList());
}
@Override
public DangerDto getOne(Long latentDangerId) {
HiddenDanger hiddenDanger = iHiddenDangerDao.findByLatentDangerId(latentDangerId);
if (hiddenDanger == null) {
throw new DataNotFound("该隐患数据不存在");
}
FeignClientResult<DangerDto> feignClientResult = feignClient.getOne(latentDangerId);
return feignClientResult.getResult();
}
@Override
public DangerDto updateDanger(Long latentDangerId, DangerDto dangerDto) {
HiddenDanger hiddenDanger = iHiddenDangerDao.findByLatentDangerId(latentDangerId);
if (hiddenDanger == null) {
throw new DataNotFound("该隐患数据不存在");
}
FeignClientResult<List<DangerDto>> feignClientResult = feignClient.saveOrUpdateBatch(Collections.singletonList(dangerDto));
List<DangerDto> saveDangers = feignClientResult.getResult();
if (!saveDangers.isEmpty()) {
hiddenDanger.setUpdateDate(new Date());
iHiddenDangerDao.save(hiddenDanger);
return saveDangers.get(0);
} else {
throw new RuntimeException("更新失败");
}
}
@Override
public IPage pageList(Page page, String planId, Long pointId, String level, String status) {
List<HiddenDangerDto> dangers = hiddenDangerMapper.listByCondition(planId, pointId);
List<Long> dangerIds = Lists.transform(dangers, HiddenDangerDto::getLatentDangerId);
String dangerIdsStr = Joiner.on(",").join(dangerIds);
FeignClientResult<IPage<DangerDto>> feignClientResult = feignClient.pageList(page, dangerIdsStr, level, status);
IPage<DangerDto> dangerDtoIPage = feignClientResult.getResult();
Map<Long, HiddenDangerDto> keyMap = dangers.stream().collect(Collectors.toMap(HiddenDangerDto::getLatentDangerId, Function.identity()));
dangerDtoIPage.getRecords().forEach(r -> {
HiddenDangerDto hiddenDangerDto = keyMap.get(r.getId());
r.setCheckTime(hiddenDangerDto != null ? hiddenDangerDto.getCheckTime() : "");
r.setCheckUserName(hiddenDangerDto != null ? hiddenDangerDto.getCheckUserName() : "");
r.setPointName(hiddenDangerDto != null ? hiddenDangerDto.getPointName() : "");
r.setInputItemName(hiddenDangerDto != null ? hiddenDangerDto.getInputItemName() : "");
});
return dangerDtoIPage;
}
@Override
public void importDanger(Long planId, Long pointId, List<HiddenDangerImportDto> list) {
//1.调用创建隐患
List<DangerDto> dtoList = list.stream().map(s -> {
DangerDto dangerDto = new DangerDto();
Bean.copyExistPropertis(s, dangerDto);
dangerDto.setBizType(applicationName);
dangerDto.setBizId(sequence.nextId());
//自行检查
dangerDto.setCheckMode("1");
return dangerDto;
}).collect(Collectors.toList());
FeignClientResult<List<DangerDto>> feignClientResult = feignClient.saveOrUpdateBatch(dtoList);
List<DangerDto> dangerDbs = feignClientResult.getResult();
//2.保存隐患关系表
List<HiddenDanger> hiddenDangers = dangerDbs.stream().map(d -> {
HiddenDanger hiddenDanger = new HiddenDanger();
hiddenDanger.setCreateBy(RequestContext.getExeUserId());
hiddenDanger.setPlanId(planId);
hiddenDanger.setPointId(pointId);
hiddenDanger.setLatentDangerId(d.getId());
hiddenDanger.setCheckInputId(d.getBizId());
hiddenDanger.setDangerType("1");
hiddenDanger.setDangerTypeName("自行检查");
hiddenDanger.setCreateDate(new Date());
return hiddenDanger;
}).collect(Collectors.toList());
iHiddenDangerDao.saveAll(hiddenDangers);
}
}
package com.yeejoin.amos.supervision.business.service.impl;
import com.yeejoin.amos.supervision.business.service.intfc.IPlanAuditLogService;
import org.springframework.stereotype.Service;
@Service("planAuditLogService")
public class PlanAuditLogServiceImpl implements IPlanAuditLogService {
}
package com.yeejoin.amos.supervision.business.service.impl;
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.service.intfc.IPlanAuditService;
import com.yeejoin.amos.supervision.dao.entity.PlanAudit;
import com.yeejoin.amos.supervision.dao.entity.PlanAuditLog;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Map;
@Service("planAuditService")
public class PlanAuditServiceImpl implements IPlanAuditService {
@Autowired
private IWorkflowExcuteService workflowExcuteService;
@Autowired
private IPlanAuditDao planAuditDao;
@Autowired
private IPlanAuditLogDao planAuditLogDao;
@Autowired
private WorkflowFeignService workflowFeignService;
@Override
@Transactional
public Boolean auditWorkFlow(PlanAuditLog planAuditLog, String condition, ReginParams reginParams) {
PlanAudit planAudit = planAuditDao.findByPlanId(planAuditLog.getPlanId());
if (ObjectUtils.isNotEmpty(planAudit)) {
String instanceId = planAudit.getProcessInstanceId();
Map<String, Object> taskAuthMap = workflowExcuteService.checkTaskAuthMap(instanceId);
if (taskAuthMap != null && !taskAuthMap.isEmpty()) {
String taskId = taskAuthMap.get("taskId").toString();
String name = taskAuthMap.get("name").toString();
String roleName = reginParams.getRole().getRoleName();
boolean b = workflowExcuteService.CompleteTask(instanceId, condition);
if (b) {
ReginParams.PersonIdentity personIdentity = reginParams.getPersonIdentity();
workflowExcuteService.setTaskAssign(instanceId, personIdentity.getPersonSeq());
planAuditLog.setPlanId(planAudit.getPlanId());
planAuditLog.setPlanAuditId(planAudit.getId());
planAuditLog.setExcuteUserId(personIdentity.getPersonSeq());
planAuditLog.setExcuteUserName(personIdentity.getPersonName());
planAuditLog.setFlowTaskId(taskId);
planAuditLog.setFlowTaskName(name);
planAuditLog.setFlowJson(condition);
planAuditLog.setRoleName(roleName);
planAuditLogDao.save(planAuditLog);
}
return b;
}
}
return Boolean.FALSE;
}
// @Override
// @Transactional
// public Boolean auditWorkFlow(PlanAuditLog planAuditLog, String condition, ReginParams reginParams) {
// PlanAudit planAudit = planAuditDao.findByPlanId(planAuditLog.getPlanId());
// Map<String, Object> taskAuthMap = workflowExcuteService.checkTaskAuthMap(instanceId);
// if (taskAuthMap != null && !taskAuthMap.isEmpty()) {
// String taskId = taskAuthMap.get("taskId").toString();
// String name = taskAuthMap.get("name").toString();
// if (StringUtils.isNotBlank(taskId)) {
// String roleName = reginParams.getRole().getRoleName();
//// JSONObject taskGroupName = workflowFeignService.getTaskGroupName(taskId);
//// JSONArray taskGroupNameDetail = taskGroupName.getJSONArray("data");
////// JSONObject taskGroupNameDetail = JSONObject.parseObject(JSONObject.toJSONString(data.get(data.size() - 2)));
//// if (!ObjectUtils.isEmpty(taskGroupNameDetail)) {
//// String defaultExecutionRoleProcess = taskGroupNameDetail.getJSONObject(0).getString("groupId");
//// }
// boolean b = workflowExcuteService.CompleteTask(instanceId, condition);
// if (b) {
// ReginParams.PersonIdentity personIdentity = reginParams.getPersonIdentity();
// workflowExcuteService.setTaskAssign(instanceId, personIdentity.getPersonSeq());
//
// if (ObjectUtils.isNotEmpty(planAudit)) {
// planAuditLog.setPlanId(planAudit.getPlanId());
// planAuditLog.setPlanAuditId(planAudit.getId());
// planAuditLog.setExcuteUserId(personIdentity.getPersonSeq());
// planAuditLog.setExcuteUserName(personIdentity.getPersonName());
// planAuditLog.setFlowTaskId(taskId);
// planAuditLog.setFlowTaskName(name);
// planAuditLog.setFlowJson(condition);
// planAuditLog.setRoleName(roleName);
// planAuditLogDao.save(planAuditLog);
// }
// }
// return b;
// }
// }
// return Boolean.FALSE;
// }
}
package com.yeejoin.amos.supervision.business.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.google.common.base.Joiner;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.biz.common.service.IWorkflowExcuteService;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.supervision.business.constants.XJConstant;
import com.yeejoin.amos.supervision.business.dao.mapper.PlanMapper;
import com.yeejoin.amos.supervision.business.dao.mapper.PointMapper;
import com.yeejoin.amos.supervision.business.dao.mapper.RouteMapper;
import com.yeejoin.amos.supervision.business.dao.repository.*;
import com.yeejoin.amos.supervision.business.param.PlanInfoPageParam;
import com.yeejoin.amos.supervision.business.service.intfc.IPlanService;
import com.yeejoin.amos.supervision.common.enums.CheckTypeSuEnum;
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.util.DateUtil;
import com.yeejoin.amos.supervision.dao.entity.*;
import com.yeejoin.amos.supervision.dao.entity.Plan;
import com.yeejoin.amos.supervision.dao.entity.PlanAudit;
import com.yeejoin.amos.supervision.dao.entity.Route;
import com.yeejoin.amos.supervision.dao.entity.RoutePoint;
import com.yeejoin.amos.supervision.feign.RemoteSecurityService;
import org.apache.commons.lang.StringUtils;
import org.apache.velocity.util.ArrayListWrapper;
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.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.stereotype.Service;
......@@ -32,6 +36,9 @@ import java.util.stream.Collectors;
@Service("planService")
public class PlanServiceImpl implements IPlanService {
private final static Logger log = LoggerFactory.getLogger(PlanServiceImpl.class);
@Autowired
private IPlanDao planDao;
@Autowired
......@@ -67,6 +74,18 @@ public class PlanServiceImpl implements IPlanService {
@Autowired
private IPlanService planService;
@Autowired
private IWorkflowExcuteService workflowExcuteService;
@Autowired
private IPlanAuditDao planAuditDao;
@Autowired
private Sequence sequence;
@Value("${work.flow.processDefinitionKey}")
private String processDefinitionKey;
private static final Logger logger = LoggerFactory.getLogger(PlanServiceImpl.class);
@Override
......@@ -115,6 +134,28 @@ public class PlanServiceImpl implements IPlanService {
String orgCode = map.get("org_code") == null ? "" : map.get("org_code").toString();
String userId = map.get("user_id") == null ? "" : map.get("user_id").toString();
param.setOrgCode(orgCode);
Integer status = param.getStatus();
if (status != null && status == 1) {
String checkTypeId = param.getCheckTypeId();
try {
String processInstanceId = null;
if ("1".equals(checkTypeId)) {
processInstanceId = workflowExcuteService.startAndComplete(processDefinitionKey, CheckTypeSuEnum.SUPERVISED.getCondition());
} else if ("2".equals(checkTypeId)) {
processInstanceId = workflowExcuteService.startAndComplete(processDefinitionKey, CheckTypeSuEnum.SUPERVISED.getCondition());
}
PlanAudit audit = new PlanAudit();
audit.setPlanId(param.getId());
audit.setBusinessKey(String.valueOf(sequence.nextId()));
audit.setProcessDefinitionKey(processDefinitionKey);
audit.setProcessInstanceId(processInstanceId);
audit.setStartUserId(userId);
planAuditDao.save(audit);
} catch (Exception e) {
// e.printStackTrace();
log.error("=============防火监督,计划提交,工作流启动失败!!!=============");
}
}
// param.setStatus(Byte.parseByte(XJConstant.PLAN_STATUS_STOP));
param.setNextGenDate(DateUtil.getIntervalDate(new Date(), 0));
param.setCreateBy(userId);
......@@ -139,14 +180,14 @@ public class PlanServiceImpl implements IPlanService {
}
/**
* 默认新增路线
* 默认新增路线
*/
public Route save (AddPlanRequest addPlanRequest) {
public Route save(AddPlanRequest addPlanRequest) {
Route saveRoute = new Route();
Plan plan = addPlanRequest.getPlan();
// 判断是新增还是修改
if (plan.getId()>0) {
if (plan.getId() > 0) {
// 删除相关点项内容
iRoutePointDao.delRoutePointByRouteId(plan.getRouteId());
// iRoutePointItemDao.delRoutePointItem(plan.getRouteId());
......@@ -251,10 +292,10 @@ public class PlanServiceImpl implements IPlanService {
public Plan queryPlanById(Long id) {
Plan plan = null;
Optional<Plan> op = planDao.findById(id);
if(op.isPresent()){
if (op.isPresent()) {
plan = op.get();
Optional<Route> optionalRoute = iRouteDao.findById(plan.getRouteId());
plan.setOwnerId( optionalRoute.isPresent() ? optionalRoute.get().getOwnerId() : "" );
plan.setOwnerId(optionalRoute.isPresent() ? optionalRoute.get().getOwnerId() : "");
}
return plan;
}
......@@ -270,16 +311,16 @@ public class PlanServiceImpl implements IPlanService {
}
@Override
public void setplanstatus (Long id, Integer status) {
public void setplanstatus(Long id, Integer status) {
Plan oriPlan = planDao.findById(id).get();
oriPlan.setStatus(status);
planDao.save(oriPlan);
}
@Override
public PlanPointRespone getplandetails (Long id) {
public PlanPointRespone getplandetails(Long id) {
PlanPointRespone planRequest = new PlanPointRespone();
Plan plan = planService.queryPlanById(id);;
Plan plan = planService.queryPlanById(id);
if (!ObjectUtils.isEmpty(plan)) {
List<Long> ids = pointMapper.getPointoriginalidbyrouteid(plan.getRouteId());
planRequest.setPlan(plan);
......
package com.yeejoin.amos.supervision.business.service.intfc;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.supervision.business.dto.HiddenDangerExportDto;
import com.yeejoin.amos.supervision.business.dto.HiddenDangerImportDto;
import com.yeejoin.amos.supervision.core.common.dto.DangerDto;
import java.util.List;
/**
* @author DELL
*/
public interface IHiddenDangerService {
/**
* 重新指定的隐患数据
*
* @param planId 计划id
* @param pointId 点id
* @param level 隐患级别
* @param status 状态
* @return List<HiddenDangerExportDto>
*/
List<HiddenDangerExportDto> listAll(String planId, Long pointId, String level, String status);
/**
* 隐患详情
*
* @param dangerId 隐患id
* @return DangerDto
*/
DangerDto getOne(Long dangerId);
/**
* 隐患更新
*
* @param dangerId 隐患id
* @param dangerDto 隐患对象
* @return DangerDto
*/
DangerDto updateDanger(Long dangerId, DangerDto dangerDto);
/**
* 分页查询
*
* @param page 分页信息
* @param planId 计划id
* @param pointId 点id
* @param level 隐患级别
* @param status 状态
* @return
*/
IPage<DangerDto> pageList(Page page, String planId, Long pointId, String level, String status);
/**
* 导入
* @param planId 计划id
* @param pointId 点id
* @param list 数据
*/
void importDanger(Long planId, Long pointId, List<HiddenDangerImportDto> list);
}
package com.yeejoin.amos.supervision.business.service.intfc;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.supervision.dao.entity.PlanAuditLog;
public interface IPlanAuditService {
Boolean auditWorkFlow(PlanAuditLog planAuditLog, String condition, ReginParams reginParams);
}
package com.yeejoin.amos.boot.module.tzs.biz.controller;
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.baomidou.mybatisplus.core.metadata.IPage;
......@@ -19,11 +20,14 @@ import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledQueryDto;
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;
import com.yeejoin.amos.boot.module.tzs.api.entity.Elevator;
import com.yeejoin.amos.boot.module.tzs.api.entity.WechatRelation;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.AlertCalledServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.AlertFormValueServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.DispatchPaperServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.ESAlertCalledService;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.ElevatorServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.WechatRelationServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.utils.AlertBeanDtoVoUtils;
import com.yeejoin.amos.boot.module.tzs.biz.utils.BeanDtoVoUtils;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
......@@ -84,6 +88,9 @@ public class AlertCalledController extends BaseController {
@Autowired
MaintenanceCompanyServiceImpl maintenanceCompanyService;
@Autowired
WechatRelationServiceImpl wechatRelationService;
/**
* 新增警情接警填报记录
*
......@@ -107,22 +114,38 @@ public class AlertCalledController extends BaseController {
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@PostMapping(value = "/saveMobile")
@ApiOperation(httpMethod = "POST", value = "新增警情接警填报记录", notes = "新增警情接警填报记录")
public ResponseModel<AlertCalledDto> saveMobile(@RequestBody AlertCalledDto alertCalledDto, @RequestParam String openid) {
public ResponseModel<AlertCalledDto> saveMobile(@RequestBody AlertCalledDto alertCalledDto, @RequestParam String phone) {
if (ValidationUtil.isEmpty(alertCalledDto)){
throw new BadRequest("参数校验失败.");
}
// 校验openid 是否存在
// 校验电梯识别码是否正确
// 校验手机号 是否存在
LambdaQueryWrapper<WechatRelation> queryWrapper = new LambdaQueryWrapper();
queryWrapper.eq(WechatRelation::getPhone,phone);
WechatRelation wechatRelation = wechatRelationService.getOne(queryWrapper);
if(null == wechatRelation) {
throw new BadRequest("手机号未注册");
}
// alertCalledObjsDto =iAlertCalledService.createAlertCalled(alertCalledObjsDto,reginParams.getUserModel());
return ResponseHelper.buildResponse(alertCalledDto);
// 校验电梯id是否正确
LambdaQueryWrapper<Elevator> queryWrapper1 = new LambdaQueryWrapper();
queryWrapper1.eq(Elevator::getSequenceNbr,Long.valueOf(alertCalledDto.getEquipmentId()));
Elevator elevator = elevatorServiceImpl.getOne(queryWrapper1);
if(null == elevator) {
throw new BadRequest("电梯不存在");
}
// 将电梯地址设置到警情地址
alertCalledDto.setAddress(elevator.getAddress());
alertCalledDto.setRegistrationCode(elevator.getRegisterCode());
alertCalledDto.setDeviceId(String.valueOf(elevator.getRescueCode()));
alertCalledDto.setUseStatus(elevator.getUseStatus());
alertCalledDto.setUseSiteCategory(elevator.getUseSiteCategory());
AlertCalledDto alertCalledDtoReturn = iAlertCalledService.createAlertCalled(alertCalledDto);
return ResponseHelper.buildResponse(alertCalledDtoReturn);
}
/**
......
......@@ -20,6 +20,7 @@ import com.yeejoin.amos.boot.module.tzs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.tzs.api.entity.Elevator;
import com.yeejoin.amos.boot.module.tzs.api.enums.AlertStageEnums;
import com.yeejoin.amos.boot.module.tzs.api.enums.DispatchPaperEnums;
import com.yeejoin.amos.boot.module.tzs.api.enums.TzsCommonParam;
import com.yeejoin.amos.boot.module.tzs.api.mapper.AlertCalledMapper;
import com.yeejoin.amos.boot.module.tzs.api.service.IAlertCalledService;
import com.yeejoin.amos.boot.module.tzs.biz.utils.BeanDtoVoUtils;
......@@ -35,6 +36,7 @@ import org.typroject.tyboot.core.rdbms.annotation.Operator;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -298,6 +300,69 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
}
}
/**
*
* <pre>
* 保存警情信息 公众号
* </pre>
*
* @param alertCalledDto
* @return
*/
@Transactional(rollbackFor = RuntimeException.class)
public AlertCalledDto createAlertCalled(AlertCalledDto alertCalledDto) {
try {
// 警情基本信息
AlertCalled alertCalled = BeanDtoVoUtils.convert(alertCalledDto,AlertCalled.class);
alertCalled.setCallTime(new Date());
// 警情报送
alertCalled.setAlertStatus(false);
alertCalled.setAlertSource(AlertStageEnums.GZHSB.getValue());
alertCalled.setAlertSourceCode(AlertStageEnums.GZHSB.getCode());
alertCalled.setIsDelete(false);
alertCalled.setAlertStage(AlertStageEnums.JJ.getValue());
alertCalled.setAlertStageCode(AlertStageEnums.JJ.getId());
alertCalled.setType(AlertStageEnums.JQCB.getValue());
alertCalled.setTypeCode(AlertStageEnums.JQCB.getId());
this.save(alertCalled);
// 动态表单
AlertFormValue alertFormValue = new AlertFormValue();
// 填充警情主键
alertFormValue.setAlertCalledId(alertCalled.getSequenceNbr());
alertFormValue.setAlertTypeCode(alertCalled.getAlarmTypeCode());
if(AlertStageEnums.GZWX.getCode().equals(alertCalled.getAlarmTypeCode())) {
alertFormValue.setFieldName("故障报修描述");
alertFormValue.setFieldValue(alertCalledDto.getDescribe());
alertFormValue.setAlertFormId(8L);
alertFormValue.setFieldCode("fault_report");
} else {
alertFormValue.setFieldName("投诉咨询描述");
alertFormValue.setFieldValue(alertCalledDto.getDescribe());
alertFormValue.setFieldCode("complaint_consulttation");
alertFormValue.setAlertFormId(9L);
}
// 保存动态表单数据
iAlertFormValueService.save(alertFormValue);
//保存处置记录-接警 保存接警日志
repairConsultServiceImpl.saveRepairConsultByAlertIdType(alertCalled.getSequenceNbr(), TzsCommonParam.APPJJ,null, null);
/**
* 同步保存ES
*/
eSAlertCalledService.saveAlertCalledToES(alertCalled);
return alertCalledDto;
} catch (Exception e) {
logger.error("报送失败",e);
throw new RuntimeException("报送失败,系统异常!");
}
}
public Map<String, Object> getAlertInfoList(String beginDate, String endDate,String orgCode, String recUserId) {
Map<String, Object> result = Maps.newHashMap();
......
......@@ -9,12 +9,15 @@ 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.RescueProcessDto;
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.AlertCalled;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper;
import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchTask;
import com.yeejoin.amos.boot.module.tzs.api.entity.Elevator;
import com.yeejoin.amos.boot.module.tzs.api.entity.MaintenanceUnit;
import com.yeejoin.amos.boot.module.tzs.api.entity.RescueProcess;
import com.yeejoin.amos.boot.module.tzs.api.entity.RescueStation;
import com.yeejoin.amos.boot.module.tzs.api.entity.Template;
import com.yeejoin.amos.boot.module.tzs.api.entity.UseUnit;
......@@ -173,6 +176,73 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
return baseMapper.returnDistanceByTaskId(taskId, longitude, latitude);
}
@Override
public WechatMyTaskDto getTaskInfoByTaskId(Long taskId) {
return baseMapper.getTaskInfoByTaskId(taskId);
}
@Transactional
@Override
public Boolean taskArrive(Long taskId) {
Boolean flag = false;
Date now = new Date();
// 首先更新任务到达时间
DispatchTask task = this.getById(taskId);
this.update(new LambdaUpdateWrapper<DispatchTask>().set(DispatchTask::getDispatchTime,now).eq(DispatchTask::getSequenceNbr,taskId));
// 其次更新派遣单中相关信息
dispatchPaperServiceImpl.update(new LambdaUpdateWrapper<DispatchPaper>().
set(DispatchPaper::getArriveTime,now).
set(DispatchPaper::getSaveOrgName,task.getResponseOrgName()).
eq(DispatchPaper::getSequenceNbr,task.getPaperId()));
// 如果存在救援过程表更新救援过程表中信息
if(task.getIsSaveTask()) {
rescueProcessServiceImpl.update(new LambdaUpdateWrapper<RescueProcess>().
set(RescueProcess::getArriveTime,now).
set(RescueProcess::getArriveStatus,true).
set(RescueProcess::getArriveFeedbackType,"主动反馈").
set(RescueProcess::getArriveFeedbackCode,"856").
eq(RescueProcess::getAlertId,task.getAlertId()));
}
// 更新到达日志
repairConsultServiceImpl.saveRepairConsultByAlertIdType( task.getAlertId(),"DD",taskId,null);
flag = true;
return flag;
}
@Transactional
@Override
public Boolean saveFinish(Long taskId) {
Boolean flag = false;
Date now = new Date();
DispatchTask task = this.getById(taskId);
// 更新派遣单中相关信息 -- 动态字段
iAlertFormValueService.update(new LambdaUpdateWrapper<AlertFormValue>().
set(AlertFormValue::getFieldValue,DateUtils.date2LongStr(now)).
eq(AlertFormValue::getFieldCode,"save_time").
eq(AlertFormValue::getAlertCalledId,task.getPaperId()));
// 如果存在救援过程表更新救援过程表中信息
if(task.getIsSaveTask()) {
rescueProcessServiceImpl.update(new LambdaUpdateWrapper<RescueProcess>().
set(RescueProcess::getRescueTime,now).
set(RescueProcess::getRescueStatus,true).
set(RescueProcess::getRescueFeedbackType,"主动反馈").
set(RescueProcess::getRescueFeedbackCode,"856").
eq(RescueProcess::getAlertId,task.getAlertId()));
}
// 更新到达日志
repairConsultServiceImpl.saveRepairConsultByAlertIdType( task.getAlertId(),"JC",taskId,null);
flag = true;
return flag;
}
@Override
public List<WechatMyTaskListDto> getTaskListByPhonePager(String phone, String typeCode, Long current) {
return baseMapper.getTaskListByPhonePager(phone, typeCode, current*5);
}
@Transactional
@Override
public Boolean createDispatchTask(DispatchTaskDto dispatchTaskDto, AgencyUserModel sendUser) {
......
package com.yeejoin.amos.boot.module.tzs.biz.service.impl;
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.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledDto;
......@@ -87,6 +86,7 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
String content = template.getContent();
String createTime = DateUtils.getDateNowString();
DispatchPaperEnums CZHJ = null;
// 公众号生成接警记录
if(AlertStageEnums.JJ.getCode().equals(type)) {
// 接警的处置环节为已接警
CZHJ = DispatchPaperEnums.receivedAlert;
......@@ -104,6 +104,21 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
throw new BadRequest("警情类型缺失");
content = content.replace("$createTime",createTime).replace("$createUser",createUser).replace("$call",emergency_call);
content = content.replace("$area",area).replace("$alertType",alertType);
} else if(TzsCommonParam.APPJJ.equals(type)) {
// 接警的处置环节为已接警 公众号上报
CZHJ = DispatchPaperEnums.receivedAlert;
String emergency_call = alertCalledVo.getEmergencyCall();
String area = alertCalledVo.getAddress();
String alertType = alertCalledVo.getAlarmType();
if(emergency_call == null)
throw new BadRequest("求援人电话缺失");
if(area == null)
throw new BadRequest("区域缺失");
if(alertType == null)
throw new BadRequest("警情类型缺失");
content = content.replace("$createTime",createTime).replace("$call",emergency_call);
content = content.replace("$area",area).replace("$alertType",alertType);
} else if(TzsCommonParam.PQ.equals(type)) {
// 派遣的处置环节为已派遣
CZHJ = DispatchPaperEnums.dispatched;
......
......@@ -77,6 +77,8 @@ public class WechatServiceImpl implements IWechatService {
if(response.get("openid") != null) { // 获取token 成功
try {
String openid = response.getString("openid");
String token = response.getString("access_token");
redisUtils.set("accessToken_" + openid, token,time); // 设置用户accessToken
return openid;
} catch (Exception e) {
throw new BadRequest("获取openId 出错:" + e.getMessage());
......@@ -86,4 +88,29 @@ public class WechatServiceImpl implements IWechatService {
}
}
@Override
public JSONObject getUserInfo(String openId) {
String access_token = redisUtils.get("accessToken_" + openId) == null ? null : redisUtils.get("accessToken_" + openId).toString();
if(access_token == null) {
throw new BadRequest("用户access_token过期");
}
String nickNameUrl = wechatUrl+ "/sns/userinfo?access_token="+access_token+"&openid="+openId+"&lang=zh_CN";
String responseStr = HttpUtils.doGet(nickNameUrl);
JSONObject response = null;
try {
response = JSONObject.parseObject(responseStr);
} catch (Exception e) {
throw new BadRequest("获取nickName 出错:" + e.getMessage());
}
if(response.get("nickname") != null) { // 获取token 成功
try {
return response;
} catch (Exception e) {
throw new BadRequest("获取nickname 出错:" + e.getMessage());
}
} else {
throw new BadRequest("获取nickname 出错" + response);
}
}
}
\ No newline at end of file
......@@ -50,6 +50,10 @@ jcs.company.topic=jcs/company/topic/#
amos.flowWork.topic =/STATE_GRID/hazardManagement
amosRefresh.danger.topic =patrolDangerInsertOrUpdate
amosRefresh.patrol.topic =patrolCheckInsert
## 故障报修流程
work.flow.processDefinitionKey=fire_supervision
#停止通过WEB公开所有端点
management.endpoints.web.exposure.exclude=*
## redis失效时间
......
......@@ -3,4 +3,19 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.supervision.business.dao.mapper.HiddenDangerMapper">
<select id="listByCondition" resultType="com.yeejoin.amos.supervision.business.dto.HiddenDangerDto">
SELECT
phd.*,
ci.input_name as inputItemName,
ci.user_name as checkUserName,
ci.create_date as checkTime,
c.point_name
FROM `p_hidden_danger` phd
left join p_check_input ci on phd.check_input_id = ci.id
left join p_check c on c.id = phd.check_id
<where>
<if test="planId !=null and planId != ''">and phd.plan_id=#{planId}</if>
<if test="pointId !=null and pointId != ''">and phd.point_id=#{pointId}</if>
</where>
</select>
</mapper>
\ 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